Назад в библиотеку

Разработка подсистемы интерактивного взаимодействия в составе тренажерной системы с использованием платформы Microsoft Kinect

Авторы: Бабков В.С., Соболев Е.Г.
Источник: Информационные управляющие системы и технологии и компьютерный мониторинг (ИУС и КМ 2012) / Материалы III Всеукраинской научно-технической конференции студентов, аспирантов и молодых ученых — Донецк, ДонНТУ — 2012, с. 685-689.

Аннотация

Бабков В.С., Соболев Е.Г. Разработка подсистемы интерактивного взаимодействия в составе тренажерной системы с использованием платформы Microsoft Kinect. Статья описывает подсистему интерактивного взаимодействия пользователя с виртуальной средой в составе тренажерного обучающего комплекса «Виртуальная шахта» с использованием платформы Microsoft Kinect. Рассмотрены существующие системы интерактивного взаимодействия реального и виртуального пространств. Разработана независимая система распознавания жестов на основе платформы Microsoft Kinect.

Введение

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

Существует два принципиально разных способов построения таких систем. Первый – это воссоздание рабочей обстановки персонала в реальности (различные управляемые механизмы, пульты и пр.). Данный подход далеко не всегда является успешным, так как весьма трудно точно воссоздать реальное рабочее место сотрудника. Также данный подход зачастую необоснованно финансово-затратный и неэффективный в плане результатов обучения. Второй способ – создание рабочей обстановки персонала в виртуальной реальности является более эффективным, так как позволяет при меньших затратах получать более детальную рабочую обстановку и большую свободу для отработки различных действий.

Таким образом, применение современных платформ виртуальной реальности является перспективным и актуальным направлением в области построения тренажерных обучающих комплексов, в частности для горнодобывающей отрасли. В данной работе описывается разработанная подсистема интерактивного взаимодействия пользователя с виртуальной средой в составе тренажерного комплекса «Виртуальная шахта» с использованием платформы Microsoft Kinect.

Общая постановка проблемы

На сегодняшний день основной проблемой при построении систем виртуальной реальности является создание интерфейса интерактивного взаимодействия человека и виртуальной среды. До появления платформы Microsoft Kinect [1] данная проблема решалась путем облачения пользователя во всевозможные сенсоры (специальные костюмы, очки, перчатки и т.п.), что не всегда является удобным. Именно избавление от данной необходимости и стало главной особенностью Kinect (рисунок 1).

Microsoft Kinect

Рисунок 1 – Контроллер Microsoft Kinect

Microsoft Kinect - игровой «контроллер без контроллера» первоначально был представлен для консоли Xbox 360 в ноябре 2010 года. Устройство оказалось настолько удачным (в течение первых трёх месяцев после запуска Kinect стал «самым продаваемым потребительским устройством» - было продано более 10 миллионов систем Kinect для Xbox 360 [2])

Kinect позволяет пользователю взаимодействовать с виртуальной средой без помощи игрового контроллера через устные команды, позы тела и показываемые объекты или рисунки.

Возможности контроллера с использованием программных библиотек Microsoft Kinect for Windows SDK [3] [4]:

Распознаваемые части тела

Рисунок 2 – Распознаваемые части тела

Результат построения скелета

Рисунок 3 – Результат построения скелета

Однако в то же время главной проблемой Kinect – является отсутствие тактильной отдачи.

Архитектура тренажерной системы

На данный момент тренажерная система состоит из следующих разработанных подсистем:

Структура система приведена на рисунке 4.

Структура тренажерной системы

Рисунок 4 – Структура тренажерной системы

Работа системы выглядит следующим образом:

Подсистема интерактивного взаимодействия

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

На данный момент система реализует такой набор команд управления:

Стоит отметить, что система позволяет осуществлять повороты и перемещения как поэтапно (на определенное значение), так и постоянно (пока пользователь не вернется в исходную позицию).

Основной проблемой при разработке подсистемы являлось преобразование данных получаемых с Kinect в высокоуровневые команды для управления аватаром в виртуальном мире. Специфика работы контроллера представлена на рисунке 5.

Принцип работы контроллера Kinect

Рисунок 5 – Принцип работы контроллера Kinect

Как видно из рисунка ключевым элементом взаимодействия является модуль NUI (Natural User Interface) в составе библиотеки Microsft Kinect for Windows SDK. Для преобразования были использованы потоки глубины (depth stream) и скелета (skeleton stream).

Принцип работы подсистемы приведен на рисунке 6.

Структура подсистемы интерактивного взаимодействия

Рисунок 6 – Структура подсистемы интерактивного взаимодействия

При любом перемещении пользователя Kinect генерирует новый фрейм с указанием текущих координат отслеживаемых частей тела. Разработанная подсистема на основе этих данных вычисляет углы наклона рук, ног, туловища и далее, сопоставляя текущие значения со значениями на предыдущем фрейме, либо генерирует событие о том, что произошло одно из определенных движений либо нет. Также, стоит заметить, что пороговые значения срабатывания движений являются настраиваемыми, что делают систему комфортной для любого пользователя.

При запуске программы создается слушатель, который обрабатывает сгенерированные события: в зависимости от типа события в систему посылаются соответствующие команды (нажатие клавиш клавиатуры, перемещения мыши) с помощью метода SendInput(). Данный подход является очень гибким и универсальным, так как позволяет передавать команды в любое активное приложение. Иными словами разработанную подсистему интерактивного взаимодействия можно использовать для управления любым приложением всего лишь изменяя положение частей тела пользователя.

Выводы

В статье рассмотрена подсистема интерактивного взаимодействия пользователя в составе тренажерной обучающей системы «Виртуальная шахта». Для реализации данной подсистемы была выбрана платформа Microsft Kinect. Разработанная версия предоставляет интерактивное бесконтактное взаимодействие и визуализацию исполняемых жестов. В процессе проектирования и разработки была изучена библиотека Microsoft Kinect for Windows SDK для взаимодействия с контроллером. В дальнейшем предполагается увеличение числа распознаваемых жестов, улучшение их качества и усложнением сценариев симуляции.

Литература

  1. Kinect for Windows [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.microsoft.com/en-us/kinectforwindows/
  2. http://www.xbox.com/en-US/Press/archive/2011/0308-Ten-Million-Kinects
  3. Kinect for Windows SDK [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx
  4. Kinect for Windows Programming Guide [Electronic resourse] / Интернет-ресурс. - Режим доступа : http://msdn.microsoft.com/en-us/library/hh855348.aspx
  5. В.С. Бабков, Н. В. Гузий, А.С. Подлинный. Разработка тренажерного комплекса «виртуальная шахта» на базе платформы Microsoft Kinect Материалы 4-й международной научно-технической конференции "Моделирование и компьютерная графика - 2011". Донецк, 5-8 октября 2011 г. Стр. 30-34.
  6. Kinect for Windows Blog [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://blogs.msdn.com/b/kinectforwindows/
  7. OpenSimulator platform – [Electronic resourse] / Интернет-ресурс. - Режим доступа: http:// opensimulator.org/
  8. Imprudence viewer [Electronic resourse] / Интернет-ресурс. - Режим доступа: http://blog.kokuaviewer.org/