Автор работы: Пользователь скрыл имя, 07 Декабря 2014 в 12:36, дипломная работа
Одним из перспективных направлений развития органов управления и ввода информации является ввод информации с помощью пространственных жестов руки, удерживающей КПК. Однако данный метод ввода информации ещё не реализован, нет информации как по сенсорам, с помощью которых можно реагировать на изменение угловой ориентации КПК, так и по организации взаимодействия этих сенсоров с программным обеспечением КПК. В рамках данного дипломного проекта реализована идея управления программным обеспечением КПК фирмы Palm Inc. с помощью инерционных сенсоров и специального программного обеспечения, позволяющего по показаниям этих сенсоров судить о выполнении определённых жестов.
ВВЕДЕНИЕ И ПОСТАНОВКА ЗАДАЧИ 3
1.1 ВВЕДЕНИЕ 3
1.2 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ДИПЛОМНЫЙ ПРОЕКТ 4
2 РАЗРАБОТКА МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 8
2.1 ПРЕДЛОЖЕНИЕ И ОБОСНОВАНИЕ ПОДХОДА К СОЗДАНИЮ СЕНСОРА 8
2.2 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 9
2.3 ОБОСНОВАНИЕ ВЫБОРА ЭЛЕМЕНТНОЙ БАЗЫ 12
2.3.1 Акселерометр 12
2.3.2 Магниторезистивный сенсор 14
2.3.3 АЦП 17
2.3.4 ЦАП 21
2.3.5 Температурный датчик 23
2.3.6 Операционный усилитель 25
2.3.7 Мультиплексор 29
2.3.8 Схема сброса 31
2.3.9 ПЛИС 32
2.3.10 Микроконтроллер 34
2.4 ПРИНЦИП РАБОТЫ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 37
2.5 РАСЧЕТ ПОТРЕБЛЯЕМОЙ МОЩНОСТИ 39
3 РАЗРАБОТКА ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА НАЧАЛЬНОЙ КАЛИБРОВКИ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 41
3.1 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ НАЧАЛЬНОЙ КАЛИБРОВКИ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 41
3.2 РАЗРАБОТКА АЛГОРИТМА ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА НАЧАЛЬНОЙ КАЛИБРОВКИ ИНЕРЦИОННОГО СЕНСОРА 41
3.3 РЕЗУЛЬТАТЫ ИСПЫТАНИЯ РАЗРАБОТАННОГО ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА НАЧАЛЬНОЙ КАЛИБРОВКИ ИНЕРЦИОННОГО СЕНСОРА 55
4 РАЗРАБОТКА АЛГОРИТМОВ УПРАВЛЕНИЯ ИНЕРЦИАЛЬНЫМИ ПРИЛОЖЕНИЯМИ 58
4.1 РАЗРАБОТКА АЛГОРИТМА ОПРОСА МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА И ФИЛЬТРАЦИИ ПОЛУЧЕННЫХ ПОКАЗАНИЙ 58
4.2 РАЗРАБОТКА АЛГОРИТМА РАСПОЗНАВАНИЯ БАЗОВЫХ ДВИЖЕНИЙ FLIP 61
4.3 РАЗРАБОТКА АЛГОРИТМА ВЫДЕЛЕНИЯ БАЗОВЫХ ДВИЖЕНИЙ PUSH 65
5 РАЗРАБОТКА МЕТОДИКИ НАПИСАНИЯ ИНЕРЦИАЛЬНЫХ ПРИЛОЖЕНИЙ 68
5.1 СПЕЦИФИКА РАЗРАБОТКИ ПРИЛОЖЕНИЙ ДЛЯ ОПЕРАЦИОННОЙ СИСТЕМЫ PALM OS 4.0 68
5.2 РАЗРАБОТКА РАЗДЕЛЯЕМОГО РЕСУРСА БАЗЫ ДАННЫХ ИНЕРЦИОННОГО СЕНСОРА 72
5.3 РАЗРАБОТКА ДЕМОНСТРАЦИОННОГО ИНЕРЦИАЛЬНОГО ПРИЛОЖЕНИЯ 74
6 ПЛАНИРОВАНИЕ И ОЦЕНКА ЗАТРАТ СОЗДАНИЯ ПРОГРАММНОГО ПРОДУКТА 81
6.1 СМОЛЯНАЯ ЯМА ПРОГРАММИРОВАНИЯ 81
6.2 СЕТЕВОЕ ПЛАНИРОВАНИЕ 82
6.3 СОЗДАНИЕ СТРУКТУРНОЙ ТАБЛИЦЫ РАБОТ 83
6.4 РАСЧЕТ ЗАТРАТ НА СОЗДАНИЕ ПРОГРАММНОГО ПРОДУКТА 87
6.4.1 Расчет затрат на непосредственную разработку программного комплекса 87
6.4.2 Расчет затрат на изготовление опытного образца программного продукта 89
6.4.3 Расчет затрат на технологию 90
6.4.4 Затраты на ЭВМ 90
6.4.5 Общие затраты на создание программного продукта 91
7 ПРОИЗВОДСТВЕННАЯ И ЭКОЛОГИЧЕСКАЯ БЕЗОПАСНОСТЬ 93
7.1 ВВЕДЕНИЕ В ПРОИЗВОДСТВЕННУЮ И ЭКОЛОГИЧЕСКУЮ БЕЗОПАСНОСТЬ 93
7.2 ОБЕСПЕЧЕНИЕ ПРОИЗВОДСТВЕННОЙ БЕЗОПАСНОСТИ ПРИ РАЗРАБОТКЕ, ПРОИЗВОДСТВЕ И ЭКСПЛУАТАЦИИ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ 94
7.2.1 Микроклимат лаборатории 94
7.2.2 Требования к уровням шума и вибрации 96
7.2.3 Электробезопасность 97
7.2.4 Требование к защите от статического электричества и излучений при работе за компьютером. 98
7.2.5 Требования к освещению на рабочем месте 100
7.2.6 Воздействие вредных веществ при пайке 102
7.2.7 Психофизические факторы 103
7.2.8 Эргономика рабочего места 103
7.3 РАСЧЕТ ИСКУССТВЕННОГО ОСВЕЩЕНИЯ НА РАБОЧЕМ МЕСТЕ 104
7.4 ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ 106
8 ЗАКЛЮЧЕНИЕ 108
9 СПИСОК ЛИТЕРАТУРЫ 109
Управление игрой Cosmicon
Действие |
Значение |
Наклоны в разные стороны |
Передвижение главного героя по карте |
Push Forward |
Прыжок вперёд |
Push Backward |
Прыжок назад |
Push Left |
Прыжок влево |
Push Right |
Прыжок вправо |
Push Down |
Подкат |
Push Up |
Бросок гранаты |
Flip Left |
Предыдущий предмет из инвентаря |
Flip Right |
Следующий предмет из инвентаря |
Flip Forward |
Осмотреться |
Flip Backward |
Использовать предмет |
Flip Clockwise |
Следующее оружие |
Flip Anticlockwise |
Предыдущее оружие |
Hard Key 1 |
Выстрел |
Hard Key 2 |
Toggle Control |
Hard Key 3 |
Пауза |
На основе данного проектирования было написано инерциальное приложение Cosmicon для Palm OS 4.0. Объём исходного кода на языке C++ составил 64кБайт, объём бинарного prc-файла составил 192кБайт. Несколько скриншотов игры представлены на рис. 5.5.
Рис. 5.5 Скриншоты игры Cosmicon
Результаты проведенного тестирования инерциального приложения Cosmicon показали, что предложенный подход управления приложениями КПК с помощью пространственных жестов руки оказался интуитивно понятным, простым и удобным. Управлять игрой достаточно легко и научиться использовать базовые движения совсем не сложно.
Самая яркая сцена доисторических времён - борьба огромных животных со смертью в смоляных ямах. Воображение представляет динозавров, мамонтов и саблезубых тигров, пытающихся высвободиться из смолы. Чем отчаянней борьба, тем сильнее затягивает смола, и как бы ни был силён или ловок зверь, в конечном итоге ему уготована гибель.
Такой смоляной ямой в последние десятилетия было программирование больших систем: в ней сгинул не один большой и сильный зверь. По большей части это происходило в области систем, где мало кому удалось реализовать спецификации, уложиться в график и бюджет. Большие и малые, массивные и жилистые – одна за другой команды программистов увязли в смоле. Казалось ничто в отдельности не вызывает трудностей – одну лапу всегда можно вытащить. Но накопление действующих одновременно и взаимно влияющих факторов всё более и более замедляет движение. Вызывает удивление неприятность возникшей проблемы, и распознать её сущность нелегко. Выделим несколько факторов могущих привести к гибели проекта:
При планировании проведения работ по созданию программных продуктов целесообразно планировать работы так, чтобы некоторые сроки выполнения были не строго фиксированными числами и позволяли скомпенсировать отставание по каким-либо другим работам. Одним из методов планирования позволяющим определить и умно использовать такие сроки является сетевое планирование.
Задачей сетевого планирования является построение рационального плана проведения сложного комплекса работ, состоящего из отдельных, элементарных взаимно обусловленных работ. Взаимная обусловленность работ определяется тем, что выполнение некоторых работ нельзя начать раньше, чем будут завершены некоторые другие, опорные работы. Основным материалом для сетевого планирования является структурная таблица комплекса работ, содержащая:
Перечень элементарных работ комплекса.
Перечень работ, на которые опираются элементарные работы.
Время выполнения каждой работы.
Метод сетевого планирования позволяет на основе этой информации узнать сроки начала каждой работы комплекса, вычислить время, необходимое на выполнение всего комплекса работ, выявить критические работы, несвоевременное выполнение которых влечет за собой изменение общего времени выполнения всего комплекса, а также некритические работы, некоторые задержки в выполнении которых не сказывается на общей продолжительности комплекса. Кроме того, метод сетевого планирования даёт некоторые подходы к решению задач оптимизации выполнения комплекса, позволяющим проводить работы максимально эффективно, в частности за счет использования временных ресурсов, содержащихся в некритических работах.
Первым шагом проведения сетевого планирования является создание и оптимизация структурной таблицы работ. Работу по созданию инерциального приложения Cosmicon мы разобьём на следующие части:
Каждая из этих частей является элементарной частицей комплекса работ по созданию инерциального приложения Cosmicon. Обозначим их буквой “A” с добавлением номера работы в соответствии со списком приведенным выше.
Таблица 6.1
Структурная таблица работ
№ |
Работа |
Опорные работы |
Время |
1 |
A1 |
- |
7 |
2 |
A2 |
- |
3 |
3 |
A3 |
A1,A2 |
12 |
4 |
A4 |
A3 |
5 |
5 |
A5 |
A3 |
3 |
6 |
A6 |
A1,A2 |
6 |
7 |
A7 |
A6 |
2 |
8 |
A8 |
A1,А2 |
10 |
9 |
A9 |
А8 |
14 |
10 |
A10 |
A9 |
5 |
11 |
A11 |
A9 |
3 |
12 |
A12 |
A4,A5,A7,A10,A11 |
12 |
13 |
A13 |
12 |
5 |
Пронумеруем работы по рангам:
Таблица 6.2
Проанализированная структурная таблица работ
№ |
Работа |
Опорные работы |
Время |
Ранг |
Новый номер |
1 |
A1 |
- |
7 |
1 |
B1 |
2 |
A2 |
- |
3 |
1 |
B2 |
3 |
A3 |
A1,A2 |
12 |
2 |
B3 |
4 |
A4 |
A3 |
5 |
3 |
B6 |
5 |
A5 |
A3 |
3 |
3 |
B7 |
6 |
A6 |
A1,A2 |
6 |
2 |
B4 |
7 |
A7 |
A6 |
2 |
3 |
B8 |
8 |
A8 |
A1,А2 |
10 |
2 |
B5 |
9 |
A9 |
А8 |
14 |
3 |
B9 |
10 |
A10 |
A9 |
5 |
4 |
B10 |
11 |
A11 |
A9 |
3 |
4 |
B11 |
12 |
A12 |
A4,A5,A7,A10,A11 |
12 |
5 |
B12 |
13 |
A13 |
A12 |
5 |
6 |
B13 |
Упорядочена структурная таблица работ будет иметь вид:
Таблица 6.3
Упорядоченная структурная таблица работ
№ |
Работа |
Опорные работы |
Время |
1 |
B1 |
- |
7 |
2 |
B2 |
- |
3 |
3 |
B3 |
B1,B2 |
12 |
4 |
B4 |
B1,B2 |
6 |
5 |
B5 |
B1,B2 |
10 |
6 |
B6 |
B3 |
5 |
7 |
B7 |
B3 |
3 |
8 |
B8 |
B4 |
2 |
9 |
B9 |
B5 |
14 |
10 |
B10 |
B9 |
5 |
11 |
B11 |
B9 |
3 |
12 |
B12 |
B6,B7,B8,B10,B11 |
12 |
13 |
B13 |
B12 |
5 |
Сетевой график составленный по упорядоченной структурной таблице изображен на рис. 6.1
Рис. 6.1 Сетевой график
На сетевом графике жирной линией выделен критический путь Т=53 дням.
По сетевому графику составим календарный график выполнения проекта.