GO63

5DOF инерционник со смещениями.

2 часа назад, SkyGin сказал:
13 минуты назад, Ufopter сказал:

1. Связка OT -> WT прекрасно работает. В качестве источника данных выбирается плагин Hatire Arduino, в его настройках устанавливается нужный COM порт и его параметры, соответствующие параметрам этого порта в диспетчере устройств Windows.

В качестве выходного интерфейса используется протокол FreeTrack 2.0 Enhanced. В его настройках надо указать путь до файла npclient.dll, находящегося в папке modules программы OpenTrack. В пути до этого файла не должно быть русских букв.

2. Может быть пропадает контакт? Можно попробовать переткнуть в другой порт, попробовать подключить через USB hub, может быть и с отдельным питанием хаба (это в случае, если в соседнем порту есть устройство с высоким потреблением тока). Какой порт USB - 2.0 или 3.0? Желательно втыкать в 2.0.

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

3. В калибраторе есть возможность указать нужный вариант ориентации каждого датчика индивидуально, как для верхнего датчика, так и для нижнего.

Ufopter, да, спасибо, со всем разобрался. Крутая штука!

Сейчас с кривыми мучаюсь, настроек жуть конечно в опентреке.

Делал без разъемов, а контакты все пропаяны намертво. И по ощущениям вылетало именно из-за заграничных смещений датчиков. Насчет USB 2.0 спасибо за подсказку, попробую, отпишусь. Втыкал в 3.0 конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

так и не понял...про 5 степеней...оба датчика можно разместить в одной коробочке сверху на наушниках или на шею второй вешать обязательно?

medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Korch_ сказал:

так и не понял...про 5 степеней...оба датчика можно разместить в одной коробочке сверху на наушниках или на шею второй вешать обязательно?

Верхний датчик отслеживает углы поворота головы. Желательно, чтобы это был датчик с гироскопом, акселерометром и магнитометром. Второй датчик (можно использовать датчик без магнитометра) вешается не на саму шею, а крепится в районе выступающего позвонка. Вешать на шею выше нет смысла, так как угол наклона нижнего датчика будет соответствовать наклонам головы, то есть, датчик будет дублировать измерение того, что мы уже и так знаем.

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

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

 

 

 

Изменено пользователем Ufopter
medal medal medal medal medal medal medal medal medal medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спс, а если с одного датчика брать вращение, а с другого перемещение, прошивка не позволяет так делать?

medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 05.06.2019 в 15:31, Korch_ сказал:

спс, а если с одного датчика брать вращение, а с другого перемещение, прошивка не позволяет так делать?

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

Изменено пользователем Ufopter
medal medal medal medal medal medal medal medal medal medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Ufopter сказал:

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

Спс за разъяснение, взвесив все за и против, собрал 3dof, настроил авто смещение в опентреке, и так весь в проводах))

medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
27 минут назад, Korch_ сказал:

Спс за разъяснение, взвесив все за и против, собрал 3dof, настроил авто смещение в опентреке, и так весь в проводах))

Ну что же, поздравляю! А добавить в случае необходимости датчик будет несложно.

medal medal medal medal medal medal medal medal medal medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приветствую!
такой вопрос: датчик с магнитомером (gy85) в помещении, обшитом металлом, работать будет глючно? почему спрашиваю - вроде откалибровал, но есть как "шумы", так и один четкий баг: по горизонтальной оси (yaw) датчик не держит положение, постоянно плывет к центру. по остальным осям худо-бедно держит позиции. То есть как выглядит: если голову наклоняю вперед и зраю - он так висит как прибитый. только подёргивается. То де самое с наклонами головы влево-вправо. Но если поворачиваю голову, к примеру, влево до упора и замираю - "картинка" начинает плавно плыть вправо к центру. При этом если начинаю поворачивать голову вправо - то логика доходит в рассчетах од упора вправо (голова при этом еще к центру не вернулась) и вся система впадает в маразм. 

Вот и думаю, это у меня датчик глючный (читал, что у китайцев такое не редкость), или виновато помещение? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет! Теперь крайняя версия - Razor AHRS 5DOF [20191019]:

Версия Razor AHRS 5DOF [20191019] является дальнейшим развитием версии [20190111].
Также в ней использованы идеи из WiFi версии трекера товарища (aka Debarole): http://zakamik-ru.blogspot.com/2017/08/blog-post.html за которую ему огромное спасибо!
Также спасибо товарищу HABEPHO (ака _HABEPHO_ (ака BY HABEPHO)) за помощь в тестировании WiFi версии трекера на Wemos D1 Mini.

Что нового в этой версии:

  • Исправлены баги предыдущей версии [20190111]:
    • Неверное определение типа модуля сенсоров и версии прошивки в режиме 3DOF под Windows 10.
    • Запись пустых файлов результатов измерений для акселерометра и гироскопа в режиме 3DOF (в файлы *.fltA, *.fltG в папке Measurements).
    • Ошибки сканирования в Razor_I2C_scanner под Windows 10.
    • И другие баги.
  • Оптимизирован алгоритм коррекции угла Yaw по магнитометру, без использования тригонометрических функций, что увеличило точность и уменьшило время вычислений (на 750 мксек или 3,75% от интервала опроса).
  • Добавлена возможность калибровки магнитометра прямо на голове, без снятия наушников, что позволяет правильно учесть влияние магнитов в наушниках на магнитометр, и осуществить калибровку магнитометра точно в той точке комнаты, где будет находиться магнитометр во время игры.
  • Добавлена возможность отключения / включения любого из пяти 3D сенсоров трекера, для удовлетворения любознательности пользователя «а что будет, если…» (Да, часто спрашивают!).
  • Улучшена светодиодная индикация режимов работы. Светодиод в рабочем режиме в этой версии не включен постоянно в режиме 5DOF, теперь светодиод делает одиночные (3DOF) или двойные (5DOF) вспышки с периодом 4 сек. Это уменьшило потребляемый ток от батареи. Для  Arduino Pro Micro индикация режимов выведена на светодиод RX.
  • Коррекция измеренного напряжения [Unew] и порога [Umin] теперь задаётся не в скетче, а в калибраторе, в окне [Arduino…]. Также в окно [Arduino…] добавлены кнопки чтения матриц центровки, напряжения, температуры гироскопа и атмосферного давления.
  • Добавлена поддержка ESP8266 (испытано на Wemos D1 Mini) и поэтому у трекера появился режим работы WiFi UDP.
  • В пакет программ добавлена утилита Razor_WiFi_Config для настройки параметров подключения к WiFi сети. Настройки сети запоминаются в EEPROM. Это единственная утилита в пакете из шести программ, которая не может работать через сеть WiFi, а только через виртуальный COM-порт (USB).
  • В файле Connect.ini появились дополнительные настройки, связанные с возможностью связи по WiFi.

Вариант Razor AHRS 5DOF [20191019] подходит для любых вариантов исполнения трекера, 3DOF или 5DOF:

  • Проводной версии трекера,
  • Bluetooth версии на Arduino и модуле HC-05/06
  • WiFi версии трекера на ESP8266 (Wemos D1 Mini)

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прочитал статью на сайте. Буду строить себе. Ардуино есть, нужно только сенсор выбрать. Возникает вопрос. @GO63 и @Все, какой сенсор или связка серсоров - лучшие? Если уже мастерить, то лучшее решение из доступных. Я понимаю, что на сайте написано, что они хорошо работают. Меня интересует задержка в управлении, а также точность, как и всех. И, наверняка, какие-то сенсоры работают быстрее и точнее, чем другие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Практически любой вариант работает в трекере одинаково хорошо.

Кроме варианта 6 - в модуле GY521 нет магнитометра. Без магнитометра неизбежен дрейф по Yaw (не "пружина по Yaw"), скорость дрейфа будет зависеть от температуры гироскопа.

Гироскопы и акселерометры во всех модулях достаточно хорошего качества. Акселерометры мне даже ни разу не потребовалось калибровать - у всех величина вектора в покое находится в диапазоне 0,95...1,05.

Небольшая разница есть у магнитометров:
AK8963 немного шумноват, HMC5883L - чуть лучше, QMC5883 - ещё лучше.
Самым малошумящим оказался магнитометр HMC5983 из модуля GY282. GY282 можно использовать вместо GY271 в варианте 7. Сообщил товарищ @Korch_ :

Но с практической точки зрения нет разницы - все магнитометры достаточно хороши для управления обзором. Фильтра Accela в Опентреке уберет любые незначительные шумы.

Я считаю, выбирать модуль сенсоров нужно по другим критериям:

  • габариты
  • цена
  • доступность в вашем городе
  • наличие / отсутствие светодиода

Для проводного варианта лишняя иллюминация не помешает, а для беспроводного - это лишний потребляемый ток от батареи и уменьшение времени работы.

Я последнее время сделал выбор в пользу модуля Head GY9250 ( SensorVariant 8 ), несмотря на то, что в нём используется магнитометр AK8963, по следующим соображениям:

  • Все три сенсора (гироскоп, акселерометр, магнитометр) находятся на одной подложке, в одной микросхеме. Это гарантирует параллельность осей сенсоров. Я думаю, именно за такими датчиками (три в одном) будущее.
  • Небольшая цена
  • Отсутствие светодиода
  • Доступность

В качестве нижнего модуля альтернативы нет - только GY521. Этот датчик дешёв, доступен и очень хорош.

Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 13.01.2020 в 21:11, GO63 сказал:

Я последнее время сделал выбор в пользу модуля Head GY9250 ( SensorVariant 8 ), несмотря на то, что в нём используется магнитометр AK8963, по следующим соображениям:

  • Все три сенсора (гироскоп, акселерометр, магнитометр) находятся на одной подложке, в одной микросхеме. Это гарантирует параллельность осей сенсоров. Я думаю, именно за такими датчиками (три в одном) будущее.

А то что оси у датчиков параллельные, это как-то влияет на точность определения векторов направления взгяда и позиции головы?
Я пока, наверное, возьму GY-521 + GT-271 из-за того что они самые дешевые. А светодиоды всегда выпаять можно, если захочется на батарейках bs.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если оси датчиков не параллельны, то могут быть небольшие "заносы" обзора после поворота, когда голова уже остановилась.

(GY-521 + GY-271) как датчик Head, и к ним ещё GY-521 как датчик Neck - хороший выбор!

GY-271 бывает с магнитометром HMC5883L и с магнитометром QMC5883 (SensorVariant 7 или SensorVariant 12), оба работают хорошо. Для нижнего модуля GY-521 нужен ещё маломощный резистор 3 кОм

Светодиоды очень мелкие, их выпаивать без опыта небезопасно для модуля. Лучше оставить как есть.

Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мой опыт сборки данного устройства и огромная благодарность автору

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за видео!

Это отличная видеоинструкция по сборке и настройке проводного инерционника!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу