GO63

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

Razor_AHRS_5DOF [20180715] - это самодельный трекер с пятью степенями свободы
Этот проект является дальнейшим развитием проекта Razor AHRS [20180306].

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

  • Впервые для инерционников реализован режим 5DOF без дрейфа. Обеспечивается независимый обзор по 5 осям
  • Возможна работа в любом из двух режимов 3DOF или 5DOF.
  • В целях оптимизации алгоритма изменён масштаб выходных данных Магнитометра и Гироскопов.

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

Спасибо пользователю Ufopter за помощь в тестировании.

Подробнее смотрите здесь:  https://goo.gl/b1Ausg

 

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


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

Данный вариант позволяет получить смещения, а не только повороты головы, за счет крепления дополнительного датчика на шее или туловище.
Большое спасибо GO63 за проделанную работу!:good::good::good:

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

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


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

Razor_AHRS_5DOF [20180715] - это самодельный трекер с пятью степенями свободы
Этот проект является дальнейшим развитием проекта Razor AHRS [20180306].

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

  • Впервые для инерционников реализован режим 5DOF без дрейфа. Обеспечивается независимый обзор по 5 осям
  • Возможна работа в любом из двух режимов 3DOF или 5DOF.
  • В целях оптимизации алгоритма изменён масштаб выходных данных Магнитометра и Гироскопов.

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

Спасибо пользователю Ufopter за помощь в тестировании.

Подробнее смотрите здесь:  https://goo.gl/b1Ausg

 

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

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


Ссылка на сообщение
Поделиться на других сайтах
В 07.08.2018 в 07:38, _MycJIuM_ сказал:

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

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

Есть решение проще - использовать для этого FreePIE. Например, можно использовать хатку, поскольку с использованием этого трекера она освобождается от функций по обзору или сдвигу в горизонтальной плоскости.

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

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


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

Теперь в качестве верхнего модуля поддерживаются уже 12 вариантов модулей.

В варианте 12 добавлен датчик в виде связки из двух модулей: GY521+GY271, как в варианте 7, но в модуле GY271 установлен магнитометр QMC5883 вместо применявшегося в варианте 7 магнитометра HMC5883L.

Дополнение для Razor AHRS [20180715]: SensorVariant 12

Спасибо помощь в тестировании пользователю Renamed76287.

Не хватает варианта GY521+GY273 с магнитометром QMC5883.
Если кому попадётся такой модуль (GY273 с магнитометром QMC5883), обращайтесь, помогу.

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


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

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

medal

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


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

Ардуино Нано разместил в корпусе телефонной розетки с винтовым креплением проводов. Клеммы от телефонного разъема отрезал и припаял вместе с проводами от верхнего датчика к Ардуино. Закрепил Ардуино в корпусе, правда, часть платы с USB разъемом торчит наружу. Купил 4-х проводной телефонный патчкорд, отрезал нужный кусок и припаял к шейному датчику. Теперь нижний датчик  можно подключать к Ардуино с помощью телефонного разъема с фиксатором и без риска переполюсовки. Верхний датчик тоже в коробке от розетки, но отдельной.

В идеале, напечатать бы корпуса на 3Д принтере, но, увы, возможности нет.

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

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


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

Ардуино Нано разместил в корпусе телефонной розетки с винтовым креплением проводов. Клеммы от телефонного разъема отрезал и припаял вместе с проводами от верхнего датчика к Ардуино. Закрепил Ардуино в корпусе, правда, часть платы с USB разъемом торчит наружу. Купил 4-х проводной телефонный патчкорд, отрезал нужный кусок и припаял к шейному датчику. Теперь нижний датчик  можно подключать к Ардуино с помощью телефонного разъема с фиксатором и без риска переполюсовки. Верхний датчик тоже в коробке от розетки, но отдельной.

В идеале, напечатать бы корпуса на 3Д принтере, но, увы, возможности нет.

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

medal

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


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

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

 

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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
В 30.08.2018 в 13:55, Ufopter сказал:

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

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

Про третий датчик не думали ?

 

medal

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


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

Про третий датчик не думали ?

 

Думал, но с ним все гораздо сложнее. Чтобы иметь возможность его использования, придется сидеть ссутулившись, что не хорошо. Кроме того, если игрок играет, прислонившись к спинке кресла, то отклоняться назад он не сможет, то есть, функционал будет ограниченным. "Привставать" или "пригибаться" можно при помощи FreePIE и, например, кнопок хатки джойстика.

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

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


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

Думал, но с ним все гораздо сложнее. Чтобы иметь возможность его использования, придется сидеть ссутулившись, что не хорошо. Кроме того, если игрок играет, прислонившись к спинке кресла, то отклоняться назад он не сможет, то есть, функционал будет ограниченным. "Привставать" или "пригибаться" можно при помощи FreePIE и, например, кнопок хатки джойстика.

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

medal

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


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

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

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

Насколько я понимаю, вопрос касается управления перемещением камеры по вертикали. На мой взгляд, для авиасимов, где управление осуществляется сидя в кресле, отслеживание положения разных отделов позвоночника является избыточной задачей, тем более, что само кресло, по сути, ограничивало ИРЛ, да и ограничивает для игрока возможность привставать. Для того, чтобы иметь возможность выглянуть за капот, игрок должен настроить трекер, сидя ссутулившись, да и большую часть боя провести в таком же положении, что отнюдь не физиологично. Поэтому для Тундры я не вижу необходимости отслеживать положение дополнительных отделов позвоночника, а функцию привставания можно реализовать через FreePIE, установленный на компьютере, о чем я уже писал выше. По моему, достаточно трех положений - центральное, соответствующее оси прицела, и два крайних - вверху и внизу. Или этого не достаточно?

Другое дело, если речь идет о применении шлема ВР в других играх, с другими контроллерами. Это уже другая ситуация.

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

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


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

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

Насколько я понимаю, вопрос касается управления перемещением камеры по вертикали. На мой взгляд, для авиасимов, где управление осуществляется сидя в кресле, отслеживание положения разных отделов позвоночника является избыточной задачей, тем более, что само кресло, по сути, ограничивало ИРЛ, да и ограничивает для игрока возможность привставать. Для того, чтобы иметь возможность выглянуть за капот, игрок должен настроить трекер, сидя ссутулившись, да и большую часть боя провести в таком же положении, что отнюдь не физиологично. Поэтому для Тундры я не вижу необходимости отслеживать положение дополнительных отделов позвоночника, а функцию привставания можно реализовать через FreePIE, установленный на компьютере, о чем я уже писал выше. По моему, достаточно трех положений - центральное, соответствующее оси прицела, и два крайних - вверху и внизу. Или этого не достаточно?

Другое дело, если речь идет о применении шлема ВР в других играх, с другими контроллерами. Это уже другая ситуация.

 

Ну, это как бы спорный вопрос. За капот удобно смотреть - когда бъешь с упреждением, а смотреть слева или справа удобно при взлёте и посадке, чтобы полосу было видно. Вы же понимаете что ограничивание возможностей ограничивает результат. Вот живой пример - представьте что у Вас например нет двух пальцев на левой руке?! Конечно за две недели к этому можно привыкнуть, но это сильно ограничит ваши возможности.

medal

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


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

Всем здрасте, собрал Razor_AHRS_5DOF по мануалу в шапке, верхний головной модуль GY-9250, нижний шейный (Neck) модуль GY-521, все работает, спасибо, есть вопросы.

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

Так же перестало работать привставание вообще, ни с клавиатуры ни с джоя , FreePIE единственный способ или есть вариант по проще?

 

medal

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


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

 

Ну, это как бы спорный вопрос. За капот удобно смотреть - когда бъешь с упреждением, а смотреть слева или справа удобно при взлёте и посадке, чтобы полосу было видно. Вы же понимаете что ограничивание возможностей ограничивает результат. Вот живой пример - представьте что у Вас например нет двух пальцев на левой руке?! Конечно за две недели к этому можно привыкнуть, но это сильно ограничит ваши возможности.

С помощью относительного управления можно сделать плавное перемещение по вертикальной оси, но потребуется лишняя кнопка для сброса оси в центральное положение. А так можно обойтись двумя, работающими по алгоритму: кнопка вверх -> камера вверх до упора, кнопка вниз -> камера в центр оси, кнопка вниз -> камера  вниз до упора, кнопка вверх ->камера в центр и т.д.

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

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

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


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

Всем добрый вечер ! Ребята , может кто подскажет , куда мне обратиться за помощью по стримингу через Geforce Experience и Moonligt на андроид ? В связи с последними обновлениями Nvidia появились серьёзные проблемы по передачи по Wifi картинки на андроид , в связи с чем все мои старания за последние два года по созданию виртуальной реальности на базе вартандера коту под хвост ! Месяц уже мучаюсь и ничего не могу сделать ! Если кто знает подскажите .

medal

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


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

Ошибку выдает

'Vector_Cross_Product' was not declared in this scope

в файле Dcm, строка

  Vector_Cross_Product(errorRollPitch, acc, DCM[2]);

 

medal medal medal medal medal

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


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

Ответил GO63 через местную почту.

Цитата

 

Не могу писать в теме, на этой неделе не летал.

Вам нужно использовать Arduino IDE версии 1.8.3 или 1.8.5

Ошибки при компиляции есть в более поздних и более ранних версиях Arduino IDE.

Прошу это сообщение опубликовать в ветке.

 

Снес 1.8.7, поставил 1.8.5 - трекер заработал. Программу в Arduino загрузил - датчик "ожил". Даже успел сделать вылет с ним.

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

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


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

А кстати пааадтверждаю, допаивал с 3dof до 5 второй датчик. качал новую ардуину 187, не прошивало, давало ошибку, поставил старую 1.612 фсе прекрасно прошилось и лежит теперь в уголке))) ждет, пока я резинщик джойстик доделаю и уши с трекером откалибрую)

medal medal medal medal medal

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


Ссылка на сообщение
Поделиться на других сайтах
В 27.11.2018 в 18:08, Zhavoronok сказал:

А кстати пааадтверждаю, допаивал с 3dof до 5 второй датчик. качал новую ардуину 187, не прошивало, давало ошибку, поставил старую 1.612 фсе прекрасно прошилось и лежит теперь в уголке))) ждет, пока я резинщик джойстик доделаю и уши с трекером откалибрую)

Там же написано - не ниже 183. Вот на этой странице доступна версия 185. У меня она сработала без ошибок.

Вчера подключил второй датчик (GY-521 приближение, смещение головы влево-вправо). Внимание: там на фотографии надпись закрывает крайний контакт. Я вчера ошибку сделал - подумал что резистор надо паять на крайний (справа) контакт, а нужно на предпоследний.

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

Грубо тут изобразил как это выглядит

image.png.1114e2fed430f15e68ce2623043dd2

 

Честно говоря, не заметил преимуществ управления зуммом с инерционника. При активном маневрировании у меня зум меняется не в тему. Видимо, усилие на джойстик идет "с плеча" а тут надо сидеть смирненько как истукан.

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

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


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

Честно говоря, не заметил преимуществ управления зуммом с инерционника. При активном маневрировании у меня зум меняется не в тему. Видимо, усилие на джойстик идет "с плеча" а тут надо сидеть смирненько как истукан.

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
В 29.11.2018 в 00:17, Ufopter сказал:

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

Так вроде же тундра так не умеет. Насколько я помню в тундре ось z фритрека вешается только на зум. При этом есть возможность средствами тундры ее игнорировать и зумить чем-то другим. В бзх есть отдельно зум, отдельно приближение головы. Вот там да, такая схема реальна. Или я что-то пропустил и в тундре тоже есть отдельная ось приближения головы (не зум)?

И кстати по-хорошему в прошивке или тем же freepie нужно пересчитывать оси xyz зависимости от угла поворота. Т.е. считать что система координат из ардуины поворачивается за угол поворота головы и пересчитывать в игровую неподвижную систему координат. Например если смотреть вправо и наклониться вперед то виртуальная голова должна приблизится к правой стенке фонаря, а не сместиться к прицелу. Если смотреть назад и наклонится вправо - то виртуальная голова тоже должна наклонится в свое виртуальное право (т.е. тут вообще инверсия произойдет).

Эх, боюсь без рисунка будет сложновато понять.

 

 

medal medal medal

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


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

Так вроде же тундра так не умеет. Насколько я помню в тундре ось z фритрека вешается только на зум. При этом есть возможность средствами тундры ее игнорировать и зумить чем-то другим. В бзх есть отдельно зум, отдельно приближение головы. Вот там да, такая схема реальна. Или я что-то пропустил и в тундре тоже есть отдельная ось приближения головы (не зум)?

И кстати по-хорошему в прошивке или тем же freepie нужно пересчитывать оси xyz зависимости от угла поворота. Т.е. считать что система координат из ардуины поворачивается за угол поворота головы и пересчитывать в игровую неподвижную систему координат. Например если смотреть вправо и наклониться вперед то виртуальная голова должна приблизится к правой стенке фонаря, а не сместиться к прицелу. Если смотреть назад и наклонится вправо - то виртуальная голова тоже должна наклонится в свое виртуальное право (т.е. тут вообще инверсия произойдет).

Эх, боюсь без рисунка будет сложновато понять.

 

 

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

При использовании системы с 3DOF некоторые игроки не пользуются осью roll по ее прямому назначению, предпочитая использовать наклоны головы влево-вправо для управления другими осями, например, для выглядывания за капот или для оси приближения. Что касается инерционных датчиков, то они плохо могут отслеживать перемещения по вертикали, поэтому, собственно, данный трекер и является системой с 5DOF.

Наклоны корпуса Тундра отрабатывает. Ось приближения я повесил на кнопку правой хатки джойстика (Cobra M5) и продублировал приближение (аналог ПКМ) кнопкой другой "псевдо-хатки". Тут кстати, получается не очень удобная ситуация с телескопическими прицелами, поскольку надо сначала "поймать" положение по оси приближения, а потом уже второй кнопкой на левой хатке войти в режим приближения в таком прицеле. По идее, кнопки левой хатки на Кобре надо использовать для работы с управляемыми ракетами, поэтому, скорее всего, придется делать два конфигурационных файла под эти разные типы самолетов.

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

Что касается того, где должна быть реализована программная модель, то, на мой взгляд, это должно быть реализовано в программе типа OpenTrack. С двух каналов датчиков соответствующим образом обработанные данные должны поступать на вход двух каналов ОТ, а там уже эти данные обрабатываются по полной программе, с кривыми отклика, с различными фильтрами и т.д. На мой взгляд, сделать все это на Ардуино, чтобы отказаться от промежуточных программ типа OT или FP, слишком сложная задача, да и потянет ли сама платка?

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

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


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

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

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