Alt

Alt

Оптико-инерциальный модуль трекинга небольшого размера. С его помощью можно отслеживать положение физических объектов.

В этой статье

  1. Общая информация
Alt — это маленький и лёгкий модуль для позиционного 6DoF-трекинга. Трекер может определять своё положение в пространстве с субмиллиметровой точностью и низкой задержкой.
Для отслеживания Alt формирует объединённый поток данных: берёт за основу измерения, полученные с инерциальных датчиков, а затем корректирует их за счёт оптических данных.

Корректировка данных происходит по зоне трекинга, состоящей из опорных точек — ИК-маркеров. Кастомная линза с широкими углами обзора в 230 градусов позволяет обнаруживать маркеры, даже когда трекер не направлен напрямую на них.
В некоторых случаях трекеру не удаётся обнаружить маркеры, например, когда во время игры пользователь случайно перекрывает оптический сенсор на непродолжительное время. Это не приводит к сбою в работе трекинга — система может продолжать отслеживание за счёт одних инерциальных данных.

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

Ещё один способ сократить задержки обработки данных — это освобождение хоста (VR-шлема, компьютера и т.д.) от части вычислений. Для этого данные трекинга обрабатываются непосредственно в модуле Alt. Благодаря такой предобработке снижается нагрузка на канал связи, а ресурсы хоста освобождаются для других задач.

Отслеживание физических объектов

Alt может отслеживать разные физические объекты: части тела пользователя, инвентарь, камеру.
Небольшой размер позволяет установить Alt практически в любое место отслеживаемого объекта. Для подключения и закрепления трекера на объекте требуется Socket. Каждый сокет расширяет функциональные возможности и адаптируют устройство для конкретных случаев использования (например, Bracer удобно использовать для отслеживания рук).

Совместимость с VR-гарнитурой

В сочетании с различными сокетами, Alt может использоваться с широким спектром VR-оборудования, в частности, с большинством VR-шлемов.
Для совместного использования нужно настроить Placement трекера на шлеме (или другом VR-оборудовании) в AntilatencyService. Вы можете выбрать местоположение по умолчанию, доступное для большинства HMD, либо настроить своё расположение.
Мы разработали специализированные решения для некоторых девайсов, например Pico Native Socket.
Трекинг Antilatency может быть интегрирован с собственной системой трекинга VR-шлема. Для этого используется библиотека Antilatency Tracking Alignment Library.

Надёжность трекинга

Системе трекинга необходимо обнаружить, по меньшей мере, один уникальный оптический паттерн, чтобы определить положение трекера и начать отслеживание подвижного объекта.
Иногда обнаружить паттерны с оптического датчика невозможно, например, из-за перекрытия маркеров пользователем в процессе игры. В таком случае сбоя в работе трекинга не произойдёт, потому что система способна определять позицию трекера за счёт инерциальных датчиков.
Инерциальные данные обеспечивают отслеживание в течение времени, достаточного для получения нового изображения с оптического датчика и возобновления оптического трекинга.

Датчики трекера

В состав оптико-инерциального модуля Alt входят:
Объединение всех датчиков в одном устройстве обеспечивает их синхронизацию.

Низкая задержка обновления данных

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

Объединённый поток данных

В трекере Alt используется подход синхронизации датчиков ("sensor fusion") для формирования объединённого потока данных. Поток образуется путём слияния данных с сенсоров: за основу берутся инерциальные данные, которые корректируются при поступлении очередных оптических измерений.
За счёт такой коррекции зашумлённость, присущая инерциальному трекингу, не накапливается. Корректировка производится не отдельно для каждого обновления оптических данных, а с учётом предыдущих измерений. Иными словами, происходит сглаживание определённого объёма исторических данных, где свежие наблюдения имеют больший вес, чем более старые.
Для корректировки состояния используется метод getState, в который в качестве параметра передаётся временной промежуток для выборки исторических данных. Стандартным значением для этой величины является константа DefaultAngularVelocityAvgTime.
Таким образом, данные трекинга, с одной стороны, имеют низкую задержку за счёт инерциальных измерений, с другой — высокую точность за счёт информации с оптического сенсора.

Экстраполяция данных

Объединённый поток данных трекинга может не только содержать текущие данные позиционирования, но и предсказывать (экстраполировать) положение, ориентацию и параметры движения отслеживаемого объекта. Экстраполяция данных позволяет компенсировать задержки, которые неизбежно возникают при рендеринге.
Для получения экстраполированного состояния используется метод getExtrapolatedState.
Следует помнить, что чем больше временной отрезок экстраполяции, тем менее точный результат она даёт. Поэтому мы советуем экстраполировать не более чем на 1 секунду.

Предобработка данных

Для передачи данных трекинга с Alt на Host вам потребуется Socket.
Передача целого изображения с оптического датчика требует высокой пропускной способности канала связи между трекером и хостом и вносит дополнительную задержку.
Чтобы свести задержки к минимуму, изображение с оптического датчика обрабатывается непосредственно в Alt. На хост передаются вычисленные координаты и размеры маркеров, обнаруженных на изображении.
Благодаря этой предобработке данных снижается нагрузка на хост-устройство и на канал связи.
Кроме того, полученное оптическое изображение обрабатывается параллельными алгоритмами. Они распознают группы пикселей, которые предположительно соответствуют маркерам. Обработка изображения производится при считывании данных с оптического датчика, поэтому не нужно хранить весь кадр в памяти трекера.
Такой подход существенно уменьшает вычислительную сложность последующей обработки данных трекинга. Также это позволяет снизить требования к объёму памяти запоминающего устройства трекера.

Кастомная оптика

Оптический сенсор получает информацию через проприетарную линзу с широкими углами обзора до 230 градусов. Хорошая видимость маркеров обеспечивает стабильный и точный трекинг.
Будьте аккуратны при обращении с Alt — небольшие царапины и сколы на стекле могут привести к ухудшению видимости сенсора.
Схема углов обзора линзы:

Координатная система

Система координат Alt устроена следующим образом:
Обратите внимание на расположение начала координат — оно имеет смещение относительно задней части трекера. Подробнее смотрите в Placement.

Техническая спецификация

Оптический датчик, акселерометр, гироскоп
Частота обновления данных трекинга
Оптический датчик: 60-400 fps
Инерциальные датчики: 2000 Гц
2 мс
Угол обзора
230°
Потребление энергии
В режиме трекинга: 175 мA @ 3 В
В режиме ожидания: 130 мA @ 3 В
Интерфейс связи
Передача данных через Socket
Рабочая температура
+5°C — +50°C
Влажность
≤75% (+25°C)
Габариты
16 × 16 × 21 мм
Вес
10.5 г

3D модель

Скачать 3D модель Alt можно, нажав кнопку Download ниже:

LED-индикация

При наличии питания Alt, светодиод отображает его текущее состояние.
Нормальные состояния:
ОтображениеОписание
Loading — первое состояние Alt при подаче питания или перезагрузке, происходит инициализация периферии и применение настроек.
Idle — ожидание таска (задачи).
Task running — Alt выполняет таск (задачу). Это может быть таск трекинга, обращение к свойствам или любой другой доступный таск.
Состояние загрузчика
Alt входит в режим загрузчика во время обновления прошивки, а также если прошивка отсутствует или повреждена.
ОтображениеОписание
Normal — загрузчик готов к работе.
О других индикациях трекера Alt (в состоянии ошибки) читайте тут: Alt: цветовые коды ошибок.

Дополнительные программные свойства

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