Razor_AHRS_5DOF [20180715]: Настройка OpenTrack

Разберём настройку OpenTrack на примере версии 2.3.0. Я использую эту версию, потому что более новые версии не запускаются под Windows XP. Настройка новых версий Опентрека аналогична описанной в этой статье.

Крайнюю версию OpenTrack можно скачать здесь:

https://github.com/opentrack/opentrack/releases/

Версию OpenTrack 2.3.0 можно скачать здесь:

https://github.com/opentrack/opentrack/releases/tag/opentrack-2.3.0

Запустите OpenTrack.

Нам предстоит сделать следующее:

A. Выбрать входной интерфейс [ Hatire Arduino ] и настроить его.

B. Выбрать выходной интерфейс [ freetrack 2.0 Enhanced ] и настроить его.

C. Выбрать тип фильтра [ Accela ] и настроить его.

D. Выполнить настройки [ Options ].

E. Задать кривые отклика в окне [ Mapping ].

Пункты A и B должны быть выполнены точно по описанию, иначе обзор в авиасимуляторе может не работать.

В пунктах C, D, E – почти полная свобода, кому как нравится. Как говорится, на вкус и цвет – товарищей нет!


A. Настройка входного интерфейса [ Hatire Arduino ].

На странице [ General ]:

1. Выберите номер COM-порта, с которым определился Razor_AHRS_5DOF - Serial port: [COMx].

2. Поставьте галку в чекбоксе Workaround [V]-Buggy serial port uses too mach CPU.

3. На панели Axis Configuration установите галки и оси, как на рисунке:

Теперь откройте страницу [ Command ]:

1. Задайте стартовую последовательность команд для Ардуино. Она будет отсылаться в Ардуино при нажатии кнопки, назначенной на [ Start ]. В поле Start впишите:

#of#o1

Здесь мы задали две команды при старте:

        • #of - Вывод углов Yaw, Pitch, Roll и смещений X, Y, Z в формате "Hatire/FaceTrack".

        • #o1 - Включает циклический вывод данных, с частотой 50 раз в секунду.

Эти команды можно не вписывать и оставить поле "Start" пустым, так как Ардуино, при подключении к USB, находится именно в этом режиме.

2. На панели [Serial Parameters] установите параметры обмена с COM портом как на рисунке:

        • BaudRate 115200

        • Data Bits 8

        • Parity None

        • Stop Bits 1

        • Flow Control RTS/CTS

Теперь нажмите кнопку [ OK ], чтобы сохранить настройки входного интерфейса Hatire Arduino.

Замечание:

При выборе “Flow Control RTS/CTS” подключение к Ардуино по кнопке Start занимает около 3 секунд.

При выборе “Flow Control None” подключение к Ардуино по кнопке Start происходит намного быстрее, но почему-то не у всех работает этот способ.


B. Настройка выходного интерфейса [ freetrack 2.0 Enhanced ].

Настройка заключается в регистрации библиотеки NPclient.dll или NPclient64.dll, в случае 64-битной ОС. Для этого нажмите кнопку [Locate DLL] и выберите NPclient.dll или NPclient64.dll из папки %OpenTrack% \ modules:

Библиотека NPclient.dll (или NPclient64.dll) будет при этом зарегистрирована в реестре Windows, и авиасимулятор будет использовать для управления обзором именно её, а не какую-либо другую одноимённую библиотеку. При этом, авиасимулятор будет “думать”, что принимает данные от TrackIR, ведь он ничего не “знает” о существовании инерционников.

Обязательно нажмите кнопку [ Открыть ], затем, в предыдущем окне, нажмите [ OK ].

Обязательные пункты настроек мы выполнили. Дальше начинаются настройки типа “а мне так нравится!”. Чтобы не спорить, я просто расскажу о своих настройках пунктов C, D, E на сегодняшний день.

Я уверен, вы измените мои настройки в лучшую, для вас, сторону!

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


C. Настройка фильтра [ Accela ].

В OpenTrack реализованы несколько фильтров для сглаживания обзора: Accela, EWMA, Kalman. Наилучшим для обзора, на сегодняшний день, является фильтр Accela. Рассмотрим его настройку.

Stanislaw Halik описал настройки фильтра Accela здесь:

https://github.com/opentrack/opentrack/wiki/Accela-in-opentrack-2.3

Accela в opentrack 2.3 больше не содержит сложных настроек.

Есть два сглаживающих слайдера “Smoothing”, один для поворота, другой для перемещения. Они выражены в разных единицах.

Smoothing (Сглаживание) делает небольшие движения более медленными. Это полезно для предотвращения естественного дрожания головы, приводящего к тому, что обзор плавает по всему виртуальному кокпиту. Как и естественная неточность трекера, вызывающая дрожание в каждом кадре, потому что каждый раз из трекера поступает немного другая поза.

Deadzone (Мёртвая Зона) полностью игнорирует незначительное движение. Это может быть полезно для чрезвычайно шумного ввода. Старайтесь не использовать его чрезмерно, чтобы избежать потери точности. Для камерных трекеров, мертвая зона вращения 0,1 градуса уже довольно высока. “

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

У меня фильтр Accela на сегодняшний день настроен так:


D. Настройки [ Options ].

Нажмите кнопку [ Options ] и в появившемся окне откройте страницу [ ShortCuts ]:

Здесь я назначил управление на кнопки:

  • Toggle tracking - на кнопку [ScrollLock]. Этой кнопкой я подключаюсь к трекеру и отключаюсь от трекера.

  • Center - на кнопку [Num+5]. Этой кнопкой я центрую обзор в OpenTrack. (На центровку в Arduino эта кнопка не влияет.)


Перейдите на страницу [ Camera ]:

Здесь я выбрал:

1. [V] Use camera center as translation offset – При установленной галке смещения вычисляются относительно виртуальной головы пилота. При снятой галке смещения вычисляются относительно самого самолёта, то есть сиденья пилота. Оба варианта интересны. Выберите наиболее для вас подходящий вариант.

2. Centering method – [ Relative (inertial device) ]. В задней зоне, в районе 6 часов этот метод работает лучше, чем Absolute.


Перейдите на страницу [ Output ]:

Здесь:

1. Галка Relative translation – [ ] Enable вызывает влияние осей друг на друга. Я снял эту галку.

2. На панели [Output Remap] все оси соответствуют входным осям, без инверсии. Ось Yвверх-вниз” у нас не используется, поэтому она отключена.

E. Кривые отклика в окне [ Mapping ].

Здесь все настройки сугубо индивидуальны. Что хорошо для одного, совершенно не подходит для другого. У всех разная гибкость, зрение и манера двигаться. Поэтому посмотрите мои настройки и измените их под себя:

Все мои настройки я сохранил в профиль GO63_5DOF.ini. Можете использовать его, как исходный профиль для своих опытов по настройке Opentrack:

GO63_5DOF.rar

Для этого в выпадающем списке [Profile] выберите "Open configuration directory" и скопируйте в открывшуюся папку файл GO63_5DOF.ini. Закройте эту папку. Теперь выберите профиль GO63_5DOF.ini:

Сразу измените номер COM-порта на свой: Hatire Arduino -> General -> Serial Port.

Типичные ошибки настройки Opentrack.

1. После нажатия кнопки [Start] Осьминожка не оживает. Причина - во входных настройках интерфейса [Hatire Arduino] (см. Раздел A). Проверьте:

  • Верно ли задан номер COM-порта

  • Flow Control RTS/CTS

  • Возможно, выбранный COM-port занят другим приложением. (Не забыли ли вы закрыть Razor_AHRS_5DOF_Calibrator ?)

2. После нажатия кнопки [Start] Осьминожка оживает, но в авиасимуляторе обзор не работает. Причина - в выходных настройках интерфейса [freetrack 2.0 Enhanced] (см. Раздел B). Проверьте:

  • Зарегистрирована ли библиотека NPclient.dll из папки Опентрека Modules кнопкой [Locate DLL].

3. После нажатия кнопки [Start] Осьминожка оживает, есть повороты и сдвиги, но в авиасимуляторе обзор работает только по трём осям, а сдвигов нет. Причина - в настройках авиасимулятора. Проверьте:

  • Возможно, вы находитесь в режиме "Прильнуть к прицелу"

  • Возможно, ваш авиасимулятор не поддерживает сдвиги.

4. В авиасимуляторе обзор работает, но сильно дрожит или двоится. Причина:

  • Возможно вы запустили несколько копий Opentrack. (Проверьте количество Осьминожек в трее, рядом с "часиками".)


После правильной настройки можно управлять обзором по независимым друг от друга пяти осям,

как вы уже видели это в видео в начале проекта:

Теперь вы знаете о настройке OpenTrack не меньше меня.

Противник теперь не спрячется за переплётом фонаря или за бронеспинкой!

Ура, товарищи!

Можно приступать к полётам.

Удачи!

Razor AHRS 5DOF [20180715]: Самодельный инерционный 5DOF трекер