Инерционный трекер на базе Arduino, своими руками

Привет пикабу. Представляю мой новый ролик по теме как сделать инерционный трекер (по буржуйски Head tracker) на базе  Arduino Nano v3.0 и GY-85.


GY-85 - крутой датчик, это трех осевой гироскоп MPU3200, акселерометр ADXL345 и магнитометр HMC5883L, и всё это на одной плате, поэтому я и остановился на нём. К тому же он не требует калибровки, и работает сразу после прошивки ардуинки.


Arduino Nano V3.0 - пожалуй самая распространённая и дешёвая ардуинка (особенно если брать из Китая).

У меня на YouTube канале есть обзор этой платы, если кому будет интересно:

https://www.youtube.com/watch?v=vpiHYmzboRA


Архив к видео:

https://drive.google.com/open?id=0B3jRYZMczSQsV2M4d2U2dU5veU...


Там Вы можете найти схему подключения Arduino Nano и GY-85, мои скрины настроек программы OpenTrack, саму программу OpenTrack, которую использовал в ролике, Arduino IDE и драйвера для чипов CH340/341, что стоял на моей ардуинке.


Для создания видео использовал:

Последнюю версию Arduino IDE(на данный момент это 1.6.7):

https://www.arduino.cc/en/Main/Software


Последнюю версию OpenTrack(opentrack-2.3 rc21p11):

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


Кастомную прошивку проекта "AHRS Firmware for the SparkFun 9DOF Razor IMU and SparkFun 9DOF Sensor Stick":

http://forums.eagle.ru/showpost.php?p=2721469&postcount=2272

Кастомная, потому что заточена под программу OpenTrack.


Сам проект:

https://github.com/ptrbrtz/razor-9dof-ahrs

8
Автор поста оценил этот комментарий

Целевая аудитория у этого устройства, как я это вижу в данный момент, примерно будет такая:

Геймеры, это решение отлично подходит для всякого рода авиасимуляторов, будь то War Thunder или космических симуляторов, как например Elite Dangerous(чуть ниже будет пример использования), да и симуляторов вообще, где мышь по большей части используется для обзора, хотя говорят, что в Arma 2 тоже неплохо играется. Я же в начале ролика продемонстрировал работу в GTA5 с включённым видом от третьего лица, и скажу вам, что это совсем другие ощущения от игры, хотя и целится сложно, и есть ещё кое какие нюансы конкретно в этой игре, как например — всё же приходится немного «подруливать» мышкой;


Люди с ограниченными возможностями, я думаю если серьёзно развить эту тему, то можно облегчить пользование компьютером для людей, которым пользоваться им затруднительно;


Разработчики устройство VR(виртуальной реальности);


RC моделисты и коптероводы;


Такие же технологические гики, как и я.

показать ответы
1
Автор поста оценил этот комментарий

ДРУЖИЩЕ ОГРОМНОЕ СПАСИБО!!!))) с теми версиями программ, что ты скинул, все заработало!

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@sertenus Пожалуйста. Летайте на здоровье.

1
Автор поста оценил этот комментарий

еще один момент такой, и наверное последний) Когда поворачиваешь голову вправо или влево, мышь начинает возвращаться к центру после остановки головы. Как это исправить?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@sertenus а вот это я толком не решил, отчасти потому, что у меня вроде бы всё нормально. Можно попробовать калибровать, или перевернуть датчик на бок или верх-дном, поэкспериментируйте.

Вот тут есть как калибровать датчик:

https://forum.warthunder.ru/index.php?%2Ftopic%2F115548-iner...


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

показать ответы
Автор поста оценил этот комментарий

пришло все, изучал по рекомендации статью, и статью под видео на ютуб прочел не раз, паял все по схеме и триста раз перепроверил и тд. Но ни на одном компе не заработало... просто по нулям все в опентрэке. Может быть такое, что датчик неисправен? Или может я что-то где-то упустил? Заранее спасибо

Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий

заказал на али уже запчасти ))) Буду собирать такую же! Спасибо за пост и идею!)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@sertenus пока едет советую потихоньку почитывать ветку форума по игре warthunder:


https://forum.warthunder.ru/index.php?%2Ftopic%2F115548-iner...

Именно оттуда я и черпал информацию для ролика, и сейчас всё ещё читаю.

показать ответы
Автор поста оценил этот комментарий

Интересная штука, подпишусь на комменты

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@SredstvoOtKlopov Конечно же интересная. Представьте как с этим играть в разного рода авиасимуляторы или космические симуляторы?

показать ответы
1
Автор поста оценил этот комментарий

отличное видео и очень интересная тема! продолжай в том же духе)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@vegeta Спасибо. Следующая тема будет про простой лабораторный блок питания.

1
Автор поста оценил этот комментарий

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

Иллюстрация к комментарию
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@kasym А как насчёт моего видео? Я постарался объяснить для всех, думаете у меня это не получилось?

показать ответы
1
Автор поста оценил этот комментарий
кстати ардуино вещь афигенная. я и мой друг намутили сигнализацию. вообще топ тема
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

@ArsenySenka Для старта в мире микроконтроллеров самое оно. Но главное потом не зависнуть на этом, как это делаю я.

1
Автор поста оценил этот комментарий
Очень интересно.
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

@k04r На видео, чувак играет в культовую игру Elite Dangerous, используя свой Android смартфон в качестве мыши:
https://www.youtube.com/watch?v=6Pts_sotjMA

Тема почти та же, но смарт тяжелее и больше. К тому же вай фай прередатчик не лупит в голову.

Автор поста оценил этот комментарий

О как, оказывается на пикабу есть ардуинщики, круто)

Задам пожалуй тут вопрос, авось повезет.


А можно ли считать данные с SCL и SDA пинов простым analogRead? У меня на ADXL345ой значения не меняются, означает ли это, что датчик мертв?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Нет. I2C и аналоговые измерения - совсем разные вещи.

1
Автор поста оценил этот комментарий
Я от него уйти как раз хочу, и не уверен что иначе никак https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B5%D1%80%D1%86...
раскрыть ветку (1)
Автор поста оценил этот комментарий

Я тут хз.

Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Для Ваших целей нужен GPS модуль, никак иначе.

https://www.youtube.com/user/0arduinoLab/search?query=GPS%20

показать ответы
Автор поста оценил этот комментарий

https://youtu.be/HkD17MWOSjs

1
Автор поста оценил этот комментарий

Хм, надо попробовать, как раз валяется дома ардуинка, 2 гироскопа GY-85 и магнитный датчик TLE5011.

Хотел себе джойстик запилить (https://sites.google.com/site/mmjoyproject/o-proekte) но пока всё остановилось на механике, времени нет. Делаю реплику РУСа СУ-27 из говна и палок ))

Хотел хедтрекер на ардуинке сделать, но пока вместо него юзаю китайский аирмаус http://ru.aliexpress.com/item/2-4G-Wireless-Fly-Air-Mouse-T31/1440129014.html Крепится канцелярской резинкой за дужку наушников, работает неплохо только имеет тенденцию к накоплению ошибок, поэтому обзор головой в симуляторах включен не постоянно, а включается нажатием определенной клавиши на клавиатуре.

Как кстати у GY-85 с накоплением ошибок, центр теряется?

З.Ы. Ссылки не в рекламных целях!

раскрыть ветку (1)
Автор поста оценил этот комментарий

@alexsp.fme лично я, особо ничего такого не заметил.

показать ответы
1
Автор поста оценил этот комментарий

Это правда, отчасти из-за того, что магнитометр берет на себя часть с определением/корректировкой поворота относительно оси Z, однако для хэдтрекинга и MPU6050 достаточно. Вечером-завтра займусь написанием нормального кода, а не тестового.

раскрыть ветку (1)
Автор поста оценил этот комментарий

@test0012 Крайне интересно... Держите в курсе.

1
Автор поста оценил этот комментарий

Вот и я: https://www.youtube.com/watch?v=RuYFSDSEWyU

Леонардо с Китая приехала.

Еще, правда не отладил ничего, за час набросал, чтоб только работало =)

Без лишнего софта, все зашито в ардуинку. Правда, на счет дров не уверен, IDE с собой какие-то установила, возможно и на Леонардо тоже, так, что на счет Plug and Play не уверен.

раскрыть ветку (1)
Автор поста оценил этот комментарий

@test00129 как себя проявил GY-521? Говорят что отсутствие магнитометра негативно сказывается на адекватности показаний... Интересно правда ли это?

показать ответы
Автор поста оценил этот комментарий

@test00127 оу, самодельный джойстик это хорошая мысль.

Автор поста оценил этот комментарий
Геймеры могут и ведрофон с Trinus VR использовать. А вообще, с такой идеей можно завалиться на ImagineCup, благо что с нормальной реализацией headtrack-технологий в этом году все было плохо.
раскрыть ветку (1)
Автор поста оценил этот комментарий

@ShadF0x Прошивка не моя, потому чужие заслуги себе присваивать не буду.

1
Автор поста оценил этот комментарий

на хабре твоя статья "Инерционный трекер на базе Arduino и GY-85"?

раскрыть ветку (1)
Автор поста оценил этот комментарий

@kasym точнее на ГТ. Да, моя.

3
Автор поста оценил этот комментарий
Я прежде всего увидел потенциал для парализованных инвалидов, так называемых спинальников.

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

Сугубо имхо

раскрыть ветку (1)
Автор поста оценил этот комментарий

На реализацию данного проекта я потратил ~12 долларов. Правда пока что ПКМ ЛКМ не реализовано.

показать ответы
1
Автор поста оценил этот комментарий

Еще бы передачу данных по BT замутить, было бы здорово

раскрыть ветку (1)
Автор поста оценил этот комментарий

@Enizz, прошивка это поддерживает.

33
Автор поста оценил этот комментарий

Точно! Инерционные трекеры!!! Их все знают. Зачем писать что это за хуйня.

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

Всё? Я только недавно открыл для себя эту тему, и то подсказали.

показать ответы
18
Автор поста оценил этот комментарий
"Мне что, каждый раз показывать табличку "сарказм"?" (с)Теория Большого Взрыва
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

@sav05k А это был сарказм?


(с) Шелдон Купер

Иллюстрация к комментарию