Как работает система отслеживания положения в пространстве от Valve – Lighthouse

Vive – девайс виртуальной реальности от Valve и HTC, который по своим характеристикам не только на уровне с конкурентами, но даже обходит их в чем-то. В чем же именно самый значительный отрыв Valve от Oculus Rift и Project Morpheus? Это невероятно точная система отслеживания позиции пользователя в пространстве, позволяя ему свободно передвигаться в пространстве комнаты, при этом находясь в другом мире, в то же время получая предупреждения о возможном столкновении со стеной. Данная система называется Lighthouse. Она состоит их двух ключевых элементов – сенсоров на самом Vive + контроллерах, и двух эмиттеров, которые устанавливаются в разных концах комнаты.

И вот как работает данная система.

Эмиттеры Lighthouse состоят из двух компонентов: горсти инфракрасных LED и двух вращающихся инфракрасных лазеров – один по оси X, другой по оси Y. Эти лазеры отличаются от обычных точечных – каждый лазер Lighthouse – это линейный лазер. Они настроены так, чтобы охватывать примерно 180 градусов. 

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

Инфракрасные LED задают старт временного отсчета. Микроконтроллер начинает отсчет когда получает изначальный синхронизационный сигнал, после чего ждет когда X и Y лазеры осветят диод. В зависимости от времени, микроконтроллер напрямую указывает время задержки к X и Y подсчетам. При помощи нескольких фотодиодов, а также зная структуру их расположения, микроконтроллер может вычислить точную позицию ресивера.

Что это значит для тех, кто ничего не понял: 
LED-диоды дают команду – начинаем вычислять позицию. Фотодиод получает команду и начинает следить за сигналами линейных лазеров. Проходит ось X – он делает пометку о времени. Проходит ось Y – он снова делает пометку. После этого он смотрит на разницу по времени с начала отсчета – зная сколько времени нужно линейному лазеру на проход по оси, он определяет точку по оси X и по оси Y, указывая ее в виртуальном пространстве комнаты. Так как лазерных эмиттера два и они находятся в разных углах комнаты под разным углом, микроконтроллер отвечающий за определение позиции, может использовать данные сразу от 4 лазеров, что позволяет ему точно определить свое положение в трехмерном пространстве. А зная форму расположения фотодиодов, он может вычислить угол, под которым они расположены. 

И такое решение очень элегантно по ряду причин:

  • Требуемые вычисления минимальны, особенно в сравнении с системой отслеживания на основе видео-фида
  • Невероятно низкая задержка. В отличие от других методик, системе не нужно ждать пока она получит тяжелые изображения, обработает и проанализирует их. Вычисления микроконтроллеров могут быть очень быстрыми и точно передавать углы наклона. Это критически важный аспект виртуальной и расширенной реальности, где ошибки вычислений и время задержки создают массу проблем и разрушают эффект VR
  • Система полагается на высокие временные разрешения на ресивере для определения углов – что превосходит все другие техники
  • Устройство ресиверов преступно дешево – один фотодиод стоит один цент. Они очень легкие и маленькие, что позволяет использовать их на практически любом объекте. Не зря Valve говорили, что предоставят всем желающим возможность внедрять трэкеры во что угодно. 

Все это упрощенное объяснение, больше деталей можно найти тут.

Следите за новостями в нашем сообществе vk или twitter.

Больше статей на Shazoo
Тэги: