Сборка
Собрал трекер из следующих комплектующих:
— датчика GY-85 (3 гироскопа, 3 акселерометра, 3 магнитометра);
— платы Arduino Nano V3.0 (микроконтроллер ATmega328P, порт CH340G)
Разместил их на однорядной штыревой розетке PBS, соединив проводниками по схеме:
Датчик -> Arduino
VCC_IN -> 3v3
SCL -> A5
SDA -> A4
GND -> GND
Программное обеспечение установил в соответствии с рекомендациями изложенными тут.
После того как определился порт, запрограммировал Ардуину — рамка отклика в программе FaceTrackNoIR закрутилась!
vk.com/video103034838_171165084?hd=1&t=3s
Настройка
Пришлось создать две различных настройки кривых отклика в программе FaceTrackNoIR:
— для работы с обычным монитором задал непропорциональную прогрессивную зависимость между углами ввода-вывода
-для работы с 3D-очками задал прямую линейную зависимость углов ввода-вывода
Железки
Датчики с платой после предварительного тестирования смонтировал на алюминиевом кронштейне, установленном на звукозащитных наушниках.
И сразу же столкнулся с проблемой возврата в нейтральное положение азимутальной оси (yaw), которая как бы «пружинила».
Пришлось заменить железный крепёж на немагнитные алюминиевые вытяжные заклёпки, выбив из них шарики. Всё сразу пришло в норму. В овале злополучные железки.
Вообще любая железяка вблизи датчиков понижает чувствительность азимутальной оси. Вероятно это действие магнитометра датчика. Ось начинает «пружинить», стремиться к нейтрали после любого поворота.
Вот первый тест трекера с моими 3D-очками.
vk.com/video103034838_171177959?hd=1&t=
Выводы
Такой трекер отличное решения для приложений, в которых необходимо обозревать окружающее вас виртуальное пространство.
Потребность в ресурсах системы у программы FaceTrackNoIR — 0,39 % мощности процессора и около 73 МБ оперативной памяти. Это так сказать на холостом ходу, вне игры.
Размещение трекера на наушниках позволяет использовать его как с 3D-очками так и отдельно.
С обычным монитором движение изображения на экране происходит навстречу повороту головы.
С 3D-очками нет этого противоречия — всё пропорционально и сонаправленно.
Что с монитором, что с очками быстрые движения головы неизбежно вызывают смазывание картинки. При плавных же поворотах с фиксациями направления взгляда восприятие виртуального мира довольно комфортно и естественно. Но требует тщательной настройки кривых отклика, задержек и демпфирования в программе. Это как мне кажется строго индивидуально.
Трекер субъективно лучше клавиш или хатки джойстика.
3D-очки + Трекер = Виртуальный Шлем !
Тестировал в авиасимуляторах LockOn 2 и Ка-50, а также в космическом симуляторе Орбитер 2010.
При совместном использовании трекера с 3D-очками ощущение — как будто «сняли шоры».Наконец появилась возможность осматриваться по сторонам!
Интересные ощущения, трудно с чем сравнимые. После его использования в голове крутится вопрос: «Что это было ?!».
Вообще результатом симбиоза очков и трекера доволен. Но эта штуковина требует привыкания. Поэтому использую свой «виртуальный шлем» дозированно.
Возвращение к реальности после виртуальности тоже радует…
Картина окружающего нас мира всё же не так и плоха…
Шлем с его картонно-мультяшным содержимым только это подтверждает! Но штука забавная… Так что буду использовать!
Комментарии (15)
Rockerman
12.09.2015 05:46У нас VRD есть готовое решение для подобных проектов
Плата имеет на борту акселлерометр, гироскоп, магнитометр, аппаратную конус сброса позиции.
Габариты платы такие поскольку есть USB 2.0 хаб, один порт USB внешний + 2 дополнительных под планируемую периферию.
Трекер распознаётся как Oculus DK1, но есть возможность транслировать полученные данные в протоколы TrackIR, FreeTrack, мышь и компоновать из одних другие. Сейчас работаем над совместимостью с DK2 и обновлённой платой трекера.
Кстати, его можно использовать и как средство обзора с обычным монитором, проверялось на леталках.
В ближайшее время планируем сделать наборы для самостоятельной сборки, то бишь экран + трекер, экран + трекер + корпус или всё в уже собранном виде.
Кому интересно, наша группа в ВК vk.com/vrdevice
Автору респект, всегда радовали подобные проекты!SergeNovo
12.09.2015 13:37Спасибо! С интересом слежу за Вашим проектом.
Хорошо что планируются наборы для самостоятельной сборки.
Foror
12.09.2015 11:25Пользуясь случаем, можете подсказать, почему не делают перчатки отображащие координаты пальцев и положение рук? А вместо этого пилят leap motion и подобные технологии? Какие-то технические сложности?
Rockerman
12.09.2015 18:59Разработать девайс — это один вопрос. Другой как его популяризировать, ведь каждое устройство должно иметь свой SDK. Соответственно, разработчикам внедрять SDK под каждый девайс очень утомительно. И вообще, мало игровых студий, которые работают с VR, поскольку их доход не особо зависит от этой отрасли.
Полагаю, что основная проблема — в отсутствие общего стандарта VR устройств ввода/вывода.
Пока этот рынок ещё не полностью поделен производители железа тянут одеяло на себя кто как может.Rockerman
12.09.2015 19:02Соответственно, Leap Motion имеет большую поддержку, в том числе как плагин в Unity. Стоимость перчаток, как правило, в несколько раз выше…
antage
12.09.2015 21:11Насколько я читал про другие подобные проекты, главная проблема с которой сталкиваются разработчики — дрейф гироскопов. За пару часов (вполне реальная длительность игровой сессии) гироскопы «уплывают» и требуют повторной калибровки.
Вы эту проблему как нибудь решили?SergeNovo
14.09.2015 09:51По азимуту коррекция осуществляется по видимому магнитометром. Влияют любые железные предметы поднесённые к датчикам — начинается сильно уводить азимутальную ось.
В прошивке, что я использую, по видимому вообще не задействованы акселерометры, т.к. нет параллельных смещений. Может они могли бы строить местную гировертикаль? :)
Играл максимум по 10 -15 минут — не заметил существенного дрейфа.
Да и есть возможность быстро перекалиброваться. Остановить FaceTrackNoIR и запустить его вновь…
Продолжаю корпеть над настройками чтобы было комфортнее.
SergeNovo
15.09.2015 13:51Задержка есть, но довольно маленькая — какие-то доли секунды.
Именно на глазок чувствуется. Если не форсировать повороты и фиксировать обзор то вполне приемлемо.
MaximChistov
сделайте кат повыше, пожалуйста
SergeNovo
А как? Я тут новичок
MaximChistov
уже нормально :)
SergeNovo
:)