Понедельник, 07 января 2019 14:39

ВР ОЧКИ С ОТСЛЕЖИВАНИЕМ ПОЛОЖЕНИЯ ГОЛОВЫ СВОИМИ РУКАМИ.

Оцените материал
(1 Голосовать)

Общее

Этот проект задумывался как воплощение желания, создать систему трехмерной виртуальной реальности, которая даст захватывающий опыт, как и коммерческие решения. Система, которую я построил, состоит из дисплея, устанавливаемого в Google cardboard (HMD), который может отслеживать 3D-положения головы. 

Эта система, которую я построил, состоит из дисплея который крепиться в Google Cardboard, которые крепятсья на голове с помощью крепеления для экшн камеры, который способен отслеживать 3D-ориентации головы, такие как направление, наклона вперед/назад и вправо/влево, и отдельного ручного контроллера 2D VR (вперед/назад и вправо/влево), который используется для независимого управления другими объектами в виртуальной реальности (например, оружие).

Проект строился так что бы любое оборудование, купленное для проекта (например, микроконтроллеры), имели максимально маленькую цены и были доступны для покупки из крупного онлайн-магазина.

собранный ВР шлем

Введение

В течение многих лет я интересовался 3D-виртуальной реальностью и всегда хотел создать собственную систему отслеживания. Я хотел участвовать в создании всех частей системы ВР, включая оборудовании, электронные компоненты, микроконтроллеры, поток данных (последовательный) и программирование самой трехмерной визуальной системы. Я хотел понять все систему целиком, чтобы создать продукт, который подарит впечатления, похожее на первый аркадный автомат Dactyl Nightmare (от Virtuality Group), которым я был очарован еще в 90-х.

Недавно я нашел время, чтобы воплотить этот проект в реальность, и, наконец, мне удалось создать устройство используя достаточно хороший дисплей с головным креплением (HMD) с отдельным контроллером VR. HMD позволяет мне осматриваться внутри трехмерной сцены, а дополнительный контроллер VR позволяет мне поворачиваться, перемещаться или прицеливаться. Так же я могу передвигаться, используя клавиши курсора клавиатуры и клавиши A-Z.

Части

Запчасти для шлема виртуально реальности

  1. BBC Microbits модулем для батареек - 2 шт.
  2. 5” сенсорный экран Pi XPT2046 IL для Raspberry - 1 шт.
  3. Очки Google Cardboard (используется в качестве корпуса для линз и ЖК-дисплея) - 1 шт.
  4. Крепление экшен камеры на голову
  5. Micro кабель 3 метра - 1 шт.
  6. HDMI кабель 2 метра - 1 шт.

 

Софт

Mu (Python)

Используется для программирования микроконтроллеров. Все данные записывается с каждого микроконтроллера и отправляется на ПК как последовательные данные через USB в реальном времени.

Скачать

Visual Basic 6 (VB6)

Сделал утилиту для захвата последовательных данных с обоих микроконтроллеров. VB6 преобразует захваченные последовательные данные и превращает их в формат, который Blitz3D может использовать для ориентации камер, изображения и объектов в виртуальной сцене.

Blitz3D (полностью бесплатный 3д игровой движок)

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

Скачать

 

Microbits

BBC Microbits

В проекте используются 2 Microbits для отслеживания ориентации головы и рук. Один Microbit подключен к моему ноутбуку с помощью USB-кабеля. Это нужно для двух целей: 1) для питания Microbit 2) Отправки объединенные данных отслеживания с обоих Microbits на ноутбук для обработки через USB (через виртуальный последовательный драйвер Mbed).

Драйвер виртуального последовательного порта Mbed

Второй Microbit работает от батареи. Он отправляет данные компаса, и наклона (вперед/назад и вправо/влево) в Microbit 1, используя функцию радио. Эти данные добавляются к данным, полученным на Microbit 1.

Данные, отправляемые с каждого микробита, представляют собой последовательность чисел, относящихся к каждому навзанию компаса, наклону. Пример строки данных Microbit 1, отправленных из Visual Basic в Blitz3D.

Вывод:

X120Y34.6Z-24A43B-32C13X121Y34.6Z-27A41B-37C14

XYZ это компас и наклон для Microbit 1

ABC - это компас и наклон для Microbit 2 (компас не используется)

Утилита Visual Basic считывает этот поток данных и разделяет строки XYZABC на отдельные фрагменты.

Текстовый файл выводится на Blitz3D, как показано ниже:

Вывод:

X120

Y34.6

Z-24

A43

B-32

C13

Blitz3D читает каждую строку и интерпретирует каждое значение как ориентацию на 3D-камеры или объект оружия на сцене. Поскольку поток постоянен, обновление экрана происходит в реальном времени.

 

HMD установка

HMD

Я использую недорогой Google Cardboard в качестве корпуса для ЖК-дисплея. Я сделал дополнительно несколько вырезов для разъемов кабеля и разъема на задней панели дисплея.

Дублирование экрана ноутбука

3D-сцена была создана в Blitz 3D и превращена в стереопару. Экран ноутбука дублируется и проецируется на 5-дюймовый дисплей. Размер дисплея аналогичен мобильному телефону, который помещается в картонный корпус.

Доработка Google Cardboard

Дисплей LCD идеально вписывается в корпус Google Cardboard.

Примерка шлема ВР

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

Основное фото

Когда питание подключено к ЖК-дисплею, он готово к просмотру стереокартинки.

IMG 0013IMG 0012

Крепления для головы прикреплены вокруг корпуса и готово к использованию!

Просмотр 3D-сцены через один из объективов!

 

Постоянна обработка

Microbit on head strap

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

Тестирование оружия в ВР

Тестирование кода оружия и отслеживание рук в Blitz3D. Использование длинного кубоида в качестве оружия.

Источник

Author

Bender

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

Комментарии (0)

There are no comments posted here yet

Оставьте свой комментарий

  1. Posting comment as a guest. Sign up or login to your account.
Вложения (0 / 3)
Share Your Location

О нас

Основой деятельностью портала является показ и объяснение что представляет собой выражени "Робот", "Робототехника", "Законы робототехники", "Мехатроника", "Искусственный интеллект(ИИ)". 

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