- •2 Разработка модуля инерционного сенсора 8
- •3 Разработка технологического процесса начальной калибровки модуля инерционного сенсора 38
- •8 Заключение 104
- •9 Список литературы 105 Введение и постановка задачи
- •Введение
- •Техническое задание на дипломный проект
- •Разработка модуля инерционного сенсора
- •Предложение и обоснование подхода к созданию сенсора
- •Разработка структурной схемы модуля инерционного сенсора
- •Обоснование выбора элементной базы
- •Акселерометр
- •Магниторезистивный сенсор
- •Температурный датчик
- •Операционный усилитель
- •Мультиплексор
- •Микроконтроллер
- •Принцип работы модуля инерционного сенсора
- •Расчет потребляемой мощности
- •Разработка технологического процесса начальной калибровки модуля инерционного сенсора
- •Обоснование необходимости начальной калибровки модуля инерционного сенсора
- •Разработка алгоритма технологического процесса начальной калибровки инерционного сенсора
- •Результаты испытания разработанного технологического процесса начальной калибровки инерционного сенсора
- •Разработка алгоритмов управления инерциальными приложениями
- •Разработка алгоритма опроса модуля инерционного сенсора и фильтрации полученных показаний
- •Разработка алгоритма распознавания базовых движенийFlip
- •Разработка алгоритма выделения базовых движенийPush
- •Разработка методики написания инерциальных приложений
- •Специфика разработки приложений для операционной системыPalmOs4.0
- •Разработка разделяемого ресурса базы данных инерционного сенсора
- •Разработка демонстрационного инерциального приложения
- •Планирование и оценка затрат создания программного продукта
- •Смоляная яма программирования
- •Сетевое планирование
- •Создание структурной таблицы работ
- •Расчет затрат на создание программного продукта
- •Расчет затрат на непосредственную разработку программного комплекса
- •Расчет затрат на изготовление опытного образца программного продукта
- •Расчет затрат на технологию
- •Затраты на эвм
- •Общие затраты на создание программного продукта
- •Производственная и экологическая безопасность
- •Введение в производственную и экологическую безопасность
- •Обеспечение производственной безопасности при разработке, производстве и эксплуатации микропроцессорных устройств
- •Микроклимат лаборатории
- •Требования к уровням шума и вибрации
- •Электробезопасность
- •Требование к защите от статического электричества и излучений при работе за компьютером.
- •Требования к освещению на рабочем месте
- •Воздействие вредных веществ при пайке
- •Психофизические факторы
- •Эргономика рабочего места
- •Расчет искусственного освещения на рабочем месте
- •Охрана окружающей среды
- •Заключение
- •Список литературы
Разработка алгоритма распознавания базовых движенийFlip
При разработке алгоритма распознавания базовых движений типа Flip следует привязываться к неким величинам, которые независимы от модуля суперпозиции вектора гравитации и линейного ускорения, и модуля магнитного поля, так как эти величины изменяемы во времени из-за наличия линейных ускорений и перемещения тел с большой собственной магнитной массой. Такими величинами будут являться углы поворота проекций модуля вектора гравитации и линейного ускорения, и модуля магнитного поля на плоскости XY, XZ и YZ относительно осей Y,X и Z соответственно.
Введём несколько обозначений:
|A| - модуль суперпозиции вектора гравитации и линейного ускорения
|M| - модуль вектора магнитного поля
|Ax| - проекция суперпозиции вектора гравитации и линейного ускорения на ось XZ
|Ay| - проекция суперпозиции вектора гравитации и линейного ускорения на ось XY
|Az| - проекция вектора магнитного поля на ось XZ
|Mx| - проекция вектора магнитного поля на ось XZ
|My| - проекция вектора магнитного поля на ось XY
|Mz| - проекция вектора магнитного поля на ось XZ
Пусть ax, ay, иaz – углы отклонения проекций вектора A и mx, my, и mz – углы отклонения проекций вектора М.
Основу алгоритма распознавания базовых движений типа Flip составляет - вычисление площадей отдельных участков осциллограмм углов отклонения между двумя ближайшими пересечениями нулевой отметки, и сравнения их с эталонными. При пересечении осциллограммой нулевой точки начинается суммирование углов отклонения и подсчёт времени суммирования углов осциллограммы, которые принадлежат данной сумме. Время подсчёта измеряется в количестве опросов модуля ИС. Суммы считаются отдельно для каждого из 6 сенсоров. Как только осциллограмма ещё раз пересекает нулевую точку, то все текущие показания площадей и времён подсчёта сверяются с эталонными. Сравнение производится отдельно для показаний акселерометров и показаний магнитных сенсоров. Если обнаруживается совпадение с определёнными допусками, то генерируется событие, и обнуляются все показатели площади и времени. Иначе обнуляется только показатель той площади, где было пересечение нуля. Построенный на такой методике алгоритм действует следующим образом:
Снимаются показания с модуля.
Если timeout не равен нулю, то уменьшаем его на единицу и переходим к пункту 9. Иначе переходим к пункту 3
Вычисляются углы отклонения ax, ay, az , mx, my, и mz
Прибавляются значения углов к площадям Sax, Say, Saz, Smx, Smy и Smz соответственно.
Проверяется наличие пересечений по каждому из углов, и если пересечения есть, переходим к пункту 6 иначе к пункту 9.
Проверяем текущие показания площадей и времени их замера с эталонными, отдельно для акселерометров и отдельно для магнитных сенсоров и если есть совпадения переходим к пункту 7, иначе к пункту 9.
Генерируем событие совершения базового движения.
Обнуляем площадь и время всех показателей и переходим к пункту 10.
Обнуляем площадь и время показателя, который перешел через ноль. И выставляем timeout выделения базовых движений.
Передаём управление вызвавшей алгоритм программе.
Данный алгоритм выполняется циклически при опросе инерционным приложением модуля ИС. Схема алгоритма выделения базовых движений приведена на Рис. 4 .24.
Рис. 4.24 Схема алгоритма выделения базовых движений Flip