DummyTrack: 6DOF симулятор трекера и 6DOF индикатор позы.

DummyTrack - это совсем небольшая утилита, и это отличный инструмент для проверки настроек OpenTrack, а также для выяснения предельных границ координат обзора в авиасимуляторах.


Ключевые особенности DummyTrack.

Возможна работа в двух режимах:

1. Cимулятор 6DOF трекера с выходным протоколом "UDP over network"

  • В режиме симулятора поза задается шестью слайдерами с шагом 1 градус и 1 сантиметр.

  • В режиме симулятора полностью отсутствует шум выходных координат. Это позволяет идеально точно установить желаемую позу, что недостижимо при использовании реальных трекеров.

  • В режиме симулятора углы Yaw, Pitch, Roll могут быть заданы в диапазоне +/-180 градусов. Это обеспечивает двойное перекрытие всех возможных комбинаций поворотов (если изменить все три координаты на 180 градусов, то получим ту же самую позу). Ни один реальный трекер таким широким диапазоном углов поворотов не обладает (и не должен).

  • В режиме симулятора выходные данные передаются 50 раз в секунду по протоколу "UDP over network" на локальный IP этого же компьютера.

2. 6DOF индикатор позы по входным протоколам "Hatire Arduino" или "UDP over network"

  • В режиме индикатора входные данные, полученные по протоколам "Hatire Arduino" или "UDP over network" выводятся на экран, по этим шести координатам позиционируется 3D модель Осьминожки. Если выходной протокол Opentrack установить в "UDP over network" и подключить к нему DummyTrack, то это позволит увидеть реальное действие настроек Opentrack (имеющийся в Opentrack виджет "pose-widget" так до сих пор и не умеет правильно показывать позу Осьминожки, даже в крайней версии Opentrack 2.3.12 ).

  • В режиме индикатора есть возможность транслировать на выход полученные данные по протоколу "UDP over network". Это даёт возможность включить DummyTrack в режиме индикатора между реальным трекером (например, 5DOF инерционником ), и Opentrack. В этом случае мы сможем наблюдать позу, полученную из трекера перед обработкой в Opentrrack.

Надеюсь, я вас уже заинтриговал?! Тогда скачаем архив с DummyTrack и распакуем его в любую папку. Нам потребуется запускать сразу две копии DummyTrack, поэтому разумно прямо сейчас распаковать скачанный архив в две разных папки, например DummyTrack1 и DummyTrack2. Тогда настройки одной копии DummyTrack не будут влиять на другую копию.


DummyTrack в режиме 6DOF симулятора трекера.

Откроем DummyTrack. Брандмауер Windows предложит заблокировать сетевые возможности программы. Конечно же, нужно разрешить сетевые возможности утилиты DummyTrack. Независимо от того, какой брандмауер (firewall) у вас используется, нужно проверить, чтобы был разрешён обмен данными через используемые UDP порты в DummyTrack и в Opentrack. Я в этой статье буду использовать UDP порты 4242 и 5550.

После запуска DummyTrack увидим такое окно:

DummyTrack в режиме 6DOF симулятора трекера.

Управление.

  • Текущий режим и используемые порты DummyTrack выведены в заголовке окна.

  • Окно DummyTrack может изменять размер. Установите удобный для вас размер окна.

  • Колёсиком мыши можно изменять увеличение картинки (масштабирование).

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

  • Кнопками [Z], [Y], [X] можно центрировать камеру по соответствующей оси. Повторный клик центрирует камеру по той же оси в обратном направлении (вид с противоположной стороны).

  • Двойной клик мышью по Осьминожке вернёт камеру на вид спереди, как в Opentrack.

  • В нижней части окна в режиме 6DOF симулятора трекера видим шесть слайдеров. Ими мы можем управлять позой Осьминожки и выходными координатами трекера.

  • Любой из шести слайдеров можно вернуть в центральное положение кликом правой кнопкой мыши.

  • Клик правой кнопкой мыши на Осьминожке вернёт в центр сразу все шесть слайдеров.

  • Установленная галка [Mirror] отзеркалит позу Осьминожки. Часто бывает, что так удобнее для наблюдения. На выходные координаты эта кнопка не влияет.

Настройка режима Simulator.

Нажмём кнопку с шестерёнкой [Настройки../Settings..]. Появится окно настроек Connection options:

Во входных настройках "Input":

  • Выбираем режим Simulator

  • Максимальное значение для смещений "Max positions" 75

В выходных настройках "Output (UDP over network)":

  • Разрешаем передачу данных установкой галки "Output enable"

  • Задаём выходной UDP порт "Output UDP port" 4242.

Чтобы настройки сохранились, обязательно нужно нажать кнопку [OK].



Теперь запустим симулятор 6DOF трекера кнопкой [Start].

В левом верхнем углу окна видим данные:

  • FPS - текущее число переданных кадров в секунду

  • YPR - текущие значения переданных углов Yaw, Pitch и Roll, в градусах.

  • XYZ - текущие значения переданных смещений X, Y, Z, в сантиметрах.

Откроем Opentrack. Я использовал Opentrack 2.3.12.

  • Во входных настройках выберем UDP over network и зададим тот же номер UDP порта 4242:

  • Отключим все фильтры для чистоты эксперимента.

  • Сбросим все настройки в Options (уберём галку Центровка при старте Center at startup и отключим Относительное смещение Relative translation ):

( animated gif )

  • В Mapping отклик Yaw, Pitch и Roll устанавливаем по диагонали, а для осей X,Y и Z выбираем Max translation 100 cm и отклик диагональный в точку value:75,00x75,00. Это даст отображение входных координат один в один. Выходные координаты Opentrack будут точно повторять входные координаты.

( animated gif )

Сохраним настройки кнопкой [OK]. Указанные настройки Opentrack также можно загрузить из моего файла профиля: Test.ini

Запустим Opentrack кнопкой [Start].

Теперь, перемещая слайдеры в DummyTrack, мы можем управлять Осьминожкой в Opentrack:

DummyTrack в режиме симулятора 6DOF трекера работает!



DummyTrack в режиме 6DOF индикатора позы.

Остановим Opentrack кнопкой [Stop] и изменим его выход на "UDP over network":

В настройках зададим:

  • В Remote IP address указываем локальный IP адрес этого же компьютера. Локальный IP адрес можно определить с помощью команды ipconfig . У меня сегодня он равен 192.168.0.100.

  • номер UDP порта 5550.

Сохраним настройки кнопкой [OK].

Запустим вторую копию DummyTrack. Настроим его так:

Во входных настройках "Input":

  • Выберем режим UDP over network

  • Максимальное значение для смещений "Max positions" 75

  • Зададим номер входного UDP порта Input UDP port 5550.

В выходных настройках "Output (UDP over network)":

  • Отключаем передачу данных сбросом галки "Output enable"

  • Выходной UDP порт "Output UDP port" не используется, поэтому может иметь любое значение.


Чтобы настройки сохранились, обязательно нужно нажать кнопку [OK]. DummyTrack примет такой вид:

Теперь запустим Opentrack и вторую копию DummyTrack кнопками [Start]:

Перемещая слайдеры в первом DummyTrack управляем позой Осьминожки в Opentrack. Из Opentrack данные поступают во второй DummyTrack и управляют позой Осьминожки. Позы Осьминожек в первом и втором DummyTrack идентичны.

Так работает DummyTrack в режиме 6DOF индикатора позы.


Определение с помощью DummyTrack границ обзора в авиасимуляторе.

Закроем вторую копию DummyTrack и остановим Opentrack кнопкой [Stop]. Переключим выход Opentrack в режим "freetrack 2.0 Enhanced".

Теперь запустим Opentrack кнопкой [Start] и запустим авиасимулятор в оконном режиме. Переключимся с помощью [Alt+Tab] на окно первого DummyTrack, так, чтобы были видны окна авиасимулятора и DummyTrack:

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


Всё, что я рассказал, можно увидеть в этом видео:

Скачать DummyTrack: DummyTrack

Скачать файл настроек для Opentrack 2.3.12: Test.ini

(Продолжение следует...)


Удачи!

Opentrack