Если коротко:

IMU быстро измеряет ускорение и вращение VR-гарнитуры, поэтому система сразу реагирует на движение головы. Накопление ошибок вызывает дрейф, который корректируют данные камер или внешней системы трекинга. Одного инерциального модуля недостаточно для устойчивого определения положения в пространстве.

IMU VR измеряет ускорение и вращение гарнитуры, контроллера или носимого трекера. Благодаря высокой частоте измерений система быстро реагирует на движение головы и рук. Одних инерциальных данных недостаточно для устойчивого определения положения в комнате: ошибки накапливаются, поэтому устройство сверяет результат с камерами, маяками или другой внешней опорой.

Что входит в IMU

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

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

Почему акселерометр не даёт точную позицию сам по себе

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

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

Откуда берётся дрейф ориентации

Гироскоп также имеет шум и смещение. Если постоянно суммировать его показания, расчётная ориентация медленно расходится с фактической. Такой дрейф заметен у автономных IMU-трекеров: виртуальное колено или стопа постепенно поворачивается в сторону, хотя положение тела не изменилось.

Калибровка оценивает смещение датчика в известном состоянии. Она уменьшает ошибку, но не устраняет её навсегда. Температура корпуса, вибрация и особенности конкретного сенсора меняют показания во время работы.

Слияние инерциальных и оптических данных

VR-система использует разные датчики для разных временных масштабов. IMU быстро отслеживает кратковременное движение. Камеры гарнитуры, внешние станции или маркеры дают абсолютную геометрическую опору и исправляют накопившееся расхождение.

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

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

IMU в трекерах тела

Носимые комплекты полного трекинга закрепляют модули на ногах и корпусе. Каждый датчик хорошо отслеживает поворот своего сегмента, но не знает точной координаты в комнате. Программа восстанавливает позу по ориентациям, пропорциям скелета и ограничениям суставов.

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

Что влияет на качество

На качество влияют модель сенсора, жёсткость крепления и синхронизация времени. Фильтрация подавляет часть шума. Если трекер люфтит на ремне, датчик измеряет движение его корпуса вместо движения кости пользователя. Задержка между несколькими модулями искажает общую позу.

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

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

Поделиться:TelegramВКонтакте

Источники

  1. Bosch Sensortec — Inertial Measurement Units
  2. SlimeVR documentation — tracking and calibration
  3. SteamVR — Tracking HDK