В настоящее время в развитии портативных карманных персональных компьютеров наметился явный дисбаланс: с одной стороны наблюдается тенденция к увеличению вычислительных мощностей, а с другой стороны размеры КПК становятся всё меньше и меньше, что в свою очередь вызывает острую нехватку количества органов управления, которые можно разместить на лицевой панели. Актуальным становится реализация «нетрадиционных» методов ввода-вывода информации. Одним из наиболее перспективных методов управления, является управление с помощью пространственных жестов руки, удерживающей карманный персональный компьютер. Достоинством данного подхода является возможность управления одной рукой и резкое увеличение количества виртуальных органов управления. В качестве датчиков, на основе показаний которых «выделяют» данные движения, предложено использование инерционных сенсоров способных определить свою угловую ориентацию в трёхмерном пространстве. Приложения, которые управляются с помощью данного типа сенсоров, получили название «инерциальных». Однако такой методики ввода информации пока не существует, поэтому данный дипломный проект посвящен разработке модуля, содержащий малогабаритные полупроводниковые сенсоры (3 акселерометра и 3 магнитных сенсора). Разработке алгоритмов и программного обеспечения, позволяющего распознавать определённый набор жестов руки, удерживающей модуль, на основе данных, снимаемых с сенсоров.

По результатам анализа технического задания на дипломное проектирование была составлена структурная схема модуля инерционного сенсора. Модуль работает следующим образом: ПЛИС циклически, с частотой 2кГц, опрашивает магниторезистивные сенсоры, предварительно размагничивая их через схему сброса, акселерометры и температурный сенсор, и записывает результаты опроса в 7 внутренних регистров. Микроконтроллер, с той же частотой, проводит считывание данных из этих семи регистров, проводит первичную фильтрацию показаний акселерометров и магниторезистивных сенсоров методом скользящего среднего, проводит температурную, масштабную и линейную коррекцию. По поступлению сигнала через интерфейс RS-232C Микроконтроллер начинает последовательно передавать фильтрованные и подкорректированные показания акселерометров и магниторезистивных сенсоров по интерфейсу RS-232С устройству инициировавшему передачу.

По результатам анализа структурной схемы был проведён подбор элементной базы и разработана схема электрическая принципиальная. Был проведён расчет потребляемой мощности модуля.

Плата 1.

D1 – HMC1023 – магниторезистивный сенсор.

D2 – ADXL202AE – акселерометр.

D3..D9 – AD623BR – операционник.

D10 – AD7305BRU – ЦАП

D11,D12 – ADG143BR – мультиплексор.

D13,D14 – AD8534AR – Операционник.

D15 – AD7864AS-2 – АЦП

D16 – IRF7105 – полевик.

D17 – EPM7160STI100-10 - ПЛИС

D18 – TMP03 – темпер. датчик

Плата2

D2 – ADXL202AE – акселерометр.

Плата3

D1 - AT89S8252 – микроконтроллер.

D2 – SP202EEN – преобразователь уровня.

Далее в соответствии с разработанной схемой электрической принципиальной был сделан сборочный чертеж плат модуля. Платы довольно компактны и собранный на их основе модуль легко помещается в руке.

Достоверность показаний модуля инерционного сенсора, собранного на основе сборочных чертежей, будет зависеть от точности ориентации чувствительных осей акселерометров и магниторезистивных сенсоров, а также от точности определения их индивидуальных электрических характеристик: начального смещения и коэффициента чувствительности. Эти коэффициенты следует получить в едином технологическом процессе, названном: Технологическим процессом начальной калибровки модуля инерционного сенсора, выполняемом один раз после сборки модуля. Суть данного процесса состоит в установке модуля в 6 различных положений, для которых заранее известны эталонные значения вектора гравитации и магнитного вектора. Последующего снятия показаний датчиков в этих 6-и положениях и расчете калибровочных коэффициентов k0 и k1 для акселерометров и l0 и l1 для магнитных сенсоров. Схема алгоритма технологического процесса показана на плакате 9. Для проведения начальной калибровки было написано приложение для ПК, которое опрашивает модуль сенсора и рассчитывает калибровочные коэффициенты. После проведения технологического процесса калибровочные коэффициенты акселерометров прошиваются в микроконтроллер, а калибровочные коэффициенты магнитных сенсоров прошиваются в ПЛИС.

В соответствии с техническим заданием и конструкцией модуля инерционного сенсора была разработан алгоритм выделения базовых движений. Условно его можно разбить на три части:

  • Алгоритма опроса и фильтрации показаний модуля инерционного сенсора

  • Алгоритма выделения Flip движений

  • Алгоритма выделения Push движений

В соответствии с разработанным модулем инерционного сенсора и применением стандартного алгоритма фильтрации – метода скользящего среднего был разработан алгоритм опроса и фильтрации показаний модуля инерционного сенсора.

В соответствии с техническим заданием и алгоритмом опроса и фильтрации был разработан алгоритм выделения Flip движений. Алгоритм не теряет работоспособность при изменении модуля суперпозиции вектора гравитации и линейного ускорения и модуля магнитного поля, и при изменении направления суперпозиции вектора гравитации и линейного ускорения за счёт центробежного ускорения возникающего при Flip движении.

Также, в соответствии с техническим заданием и алгоритмом опроса и фильтрации был разработан алгоритм выделения Push движений.

На основе разработанного алгоритма выделения базовых движений и специфики операционной системы Palm OS, данные алгоритмы были реализованы в виде разделяемого ресурса базы данных инерционного сенсора. Этот ресурс представляет собой бинарный файл объемом 7кБайт и загружается в КПК всего один раз, далее любое инерциальное приложение может свободно им пользоваться.

Для апробации предложенного подхода управления программным обеспечением КПК с помощью пространственных жестов руки была создана компьютерная игра Cosmicon, т.к. игры наиболее полно удовлетворяют требованиям, предъявляемым к приложениям демонстрирующим возможности новых органов управления. Объем исходного кода Cosmicon составил 64кБайт, а объём откомпилированного исполняемого файла 192кБайта. Демонстрация игры Cosmicon показала эффективность предложенного подхода. Реализация такой игры без модуля инерционного сенсора будет невозможна или потребует дополнения передней панели КПК десятью кнопками.

В экономической части дипломного проекта было проведено планирование проведения работ по созданию модулей игры с использованием метода сетевых графиков. Анализ сетевого графика проведения работ позволил составить календарный график выполнения проекта, а также была составлена смета затрат на создание этого программного продукта.

Для предотвращения травм при разработке программно-аппаратного комплекса управления программным обеспечением КПК с помощью пространственных жестов руки в рамках дипломного проекта были рассмотрены многие аспекты обеспечения безопасности на рабочем месте и проведён расчет искусственного освещения.

Многочисленные тестирования программно-аппаратного комплекса показали, что управление жестами руки является удобным, простым и интуитивно понятным, а сам разработанный программно-аппаратный комплекс полностью удовлетворяет техническому заданию на дипломный проект.

Соседние файлы в папке Skyn (дата сдачи 19.06.02, оценка отлично)