Разработка open-source Head Tracker'а - уже работает :-)
Мой блог 😃
Если кто-то хочет поучаствовать в разработке или обсудить, прошу комментрировать в этой теме, а не в комментах к в блоге.
Класс!!!
Пара вопросиков:
- для какого передатчика система заточена?
- подключение через тренерский разъем, или чет еще поковырять надо в передатчике?
- для какого передатчика система заточена?
- подключение через тренерский разъем, или чет еще поковырять надо в передатчике?
- Hitec Flash 5.
- Надо резинкой оттянуть тренерский переключатель, чтобы он был все время включен. Вроде все 😛
Я сильно расширил статью в блоге, так что если кто заинтересован, лучше почитать снова.
А возможно ли воткнуть сей девайс в 6-8 канальный передатчик, и как при этом можно будет назначить каналы для него?
ПС Насколько я понял, для каждой оси используется свой канал, т.е. 2 канала на две оси?
Должен вам сказать, что дрейф нуля - нормальное явления для гироскопов. Лечится термокомпенсацией (плохо) или термостабилизацией (хорошо). Если серьезно хотите добитьсястабильности, просто разогрейте гироскоп градусов до 50 и держите эту температуру, ноль плыть станет гораздо меньше.
Дело в том, что эта штука питается от передатчика. Разогрев будет брать слишком много энергии из его батареи.
А мерять температуру ядра гироскопа наверное будет проще - поставить DS18xx плоский датчик и в покое снять характеристику дрифта от температуры. Но надо будет учитывать запаздывание - когда ядро уже нагрелось и дрифтует, а термометр еще нет. Есть у кого-нибудь какие-нибудь application notes для этого? Буду очень благодарен 😒
Схема добавляет после 3-его канала 4-ый (Pan), 5-ый (Tilt) и 6-ой (Фото-кнопка). На пульте тоже есть 4-й и 5-й, но они отрезаются. В принципе, ничего не стоит добавлять не после 3-его, а любого другого.
Дело в том, что эта штука питается от передатчика. Разогрев будет брать слишком много энергии из его батареи. А мерять температуру ядра гироскопа наверное будет проще - поставить DS18xx плоский датчик и в покое снять характеристику дрифта от температуры.
Термостабилизация - энергоемкий процесс, но при достаточной термоизоляции, не сильно. Термокомпенсация, не даст такого хорошего результата, хотя на порядок улучшить удержание может быть удастся. Более того, если удастся загнать дрейф в маленькие скорости, которые мышцам не подвластны, то можно ввести гистерезис и считать их тоже нулем.
Кстати, еще один гироскоп на тушку человека предполагается? Что бы вертеть камерой от поворота голова, а не всего тела?
Термостабилизация - энергоемкий процесс, но при достаточной термоизоляции, не сильно. Термокомпенсация, не даст такого хорошего результата, хотя на порядок улучшить удержание может быть удастся. Более того, если удастся загнать дрейф в маленькие скорости, которые мышцам не подвластны, то можно ввести гистерезис и считать их тоже нулем.
Кстати, еще один гироскоп на тушку человека предполагается? Что бы вертеть камерой от поворота голова, а не всего тела?
На порядок - тоже отличный результат. При термостабилизации мне кажется долго будет готовиться к полетам, да и если перегрел - охлаждать сложно. Что посоветуете использовать в качестве датчика температуры - надо наверное что-то очень точное, 0.5 градуса или выше точность?
Насчет еще одного гиро - не понял вопроса - у меня двухосевой гиро на голове. Вертим головой или телом - без разницы.
Я по камере летать пока не пробовал и, возможно, не знаю специфики требований к Хэдтрекеру. Но у меня вот какие мысли.
- Имеет смысл реализовать мертвую зону по минимальной угловой скорости. Трудно представить, что человек будет поворачивать голову на 60-90 градусов дольше минуты. Поэтому, если сигнал с датчика меньше 1-2 град/сек, можно считать это покоем и калибровать в это время ноль датчика.
- Возможно, следует ввести мертвую зону по углу. Т.е. если скорость нулевая и интеграл скорости (угол) близок к центру, то дополнительно нулить интеграл (угол).
- Весьма полезной будет кнопка, с помощью к-рой можно будет изменить центр углов. Т.е. типа выставил поворотом головы центр поля зрения, зажал кнопку, повернул голову в удобное положение (при этом скорости не интегрируются и сервы не отрабатывают) и отпустил кнопку. После чего слежение начинается с этой точки.
Думаю, это позволит комфортно работать и без сложной системы компенсации дрейфа (если только он не больше 1-2 град/сек). А кнопка, видимо, нужна в любом случае, т.к. неизбежна ошибка, связанная с отсутствием 3й оси гироскопа.
- Имеет смысл реализовать мертвую зону по минимальной угловой скорости.
- Возможно, следует ввести мертвую зону по углу. Т.е. если скорость нулевая и интеграл скорости (угол) близок к центру, то дополнительно нулить интеграл (угол).
- Весьма полезной будет кнопка, с помощью к-рой можно будет изменить центр углов.
- Это есть, но в неявном виде. Если отсчет ADC ±1 от нуля, то он считается 0.
- Не стоит делать, потому что потом скачок угла будет и не заметно куда дрифтует.
- Есть такая кнопка изначально.
Насчет еще одного гиро - не понял вопроса - у меня двухосевой гиро на голове. Вертим головой или телом - без разницы.
Вот именно, а надо бы только поворот головы относительно тела, а не вообще, как мне кажется.
Абсолютная точность измерения температуры - не важна. Важна повторяемость. Вы же все равно калиброваться будете. Чем хуже линейность, тем больше точек калибровки придется снимать. Но это вобщем-то не сложно. Прижимаете гироскоп и термодатчик к тяжелой железяке и начинаете ее греть, т.к. прогреть ее сложно то температура будет меняться не быстро, сможете получить много точек калибровки.
- Не стоит делать, потому что потом скачок угла будет и не заметно куда дрифтует.
Почему? Идея хорошая. Только надо не сбрасывать интеграл сразу, а неспешно его уменьшать. Тогда все будеп плавно и незаметно.