Идея построения трекера

Alex_the_first

Видел в блоге у Андрея Прикупца разработанную им схему трэкера движений головы для упарвления движением камеры, установленной на модели, при полете по камере. Замечательная штука! Бюджетная и несложная, основана на 2-х осевом акселерометре.
Единственное, как мне представляется, неудобство данной схемы - это необходимость для поворота камеры вправо-влево не поворачивать голову вправо-влево, а наклонять голову к правому или левому плечу, что снижает “эффект присутствия” в силу непривычности. От такой особенности управления, я так понимаю, не избавиться при использовании в качестве датчика 2-х осевого акселерометра, так как он может мерять только направление к центру земли (я имею в виду только статику, не рассматриваю ускорения, возникающие при болтании головой - строить трекер на основании их двойного интегрирования, по-моему, слишком сложно и неточно).
Собственно, моя идея - для определения наклона головы использовать акселерометр, также как у Андрея Прикупца, а для определения поворота головы вправо-влево использовать электронный компас, построенный на 2-х осевом магниторезистивном датчике, например, типа HMC1052 (HONEYWELL, 300 с чем-то рублей). Схема компаса здесь: www.compel.ru/images/catalog/364/an214.pdf.
При использовании такого тэекера выбрать направление “нулевого” поворота и наклона головы и нажать предусмотренную в устройстве кнопку “установка нуля”. Если во время полета что-то начнет искажать показания магниторезистора - можно установить нуль повторно.
Покритикуйте, пожалуйста, такую идею.

Антоний

Скорее всего, сильно врать будет из-за э/м излучения близко расположенного передатчика… 😕
Выходом может быть присутствие рядом предмета с сильным постоянным магнитным полем, например, баальшой звуковой колонкой, поставленной на штативе рядом с головой пилота 😛

Alex_the_first
Антоний:

Скорее всего, сильно врать будет из-за э/м излучения близко расположенного передатчика… 😕
Выходом может быть присутствие рядом предмета с сильным постоянным магнитным полем, например, баальшой звуковой колонкой, поставленной на штативе рядом с головой пилота 😛

Думал про такую засаду.
Но передатчик дует свое излучение достаточно постоянно, а задача - не определять точное расположение сторон света, а узнать поворот головы относительно условно выбранной в начале полета “нулевой точки”. Так что, если интегрировать показания магниторезистивного датчика за кванты времени, сравнимые с временем посылки передатчика, я рассчитываю на устранения последствий помехи от него. Как, кстати, и помех от близко расположенных ферромагнитнымных предметов и т.д.

Prikupets
Alex_the_first:

Покритикуйте, пожалуйста, такую идею.

😃 Сам вынашиваю то же уже полгода. Даже HMC приобрел. Времени нет делать 😦 . Итальянцы на rcgroups уже сделали и продают кстати 😠

Vad64
Alex_the_first:

Покритикуйте, пожалуйста, такую идею.

Я в свое время занимался разработкой электронного компаса.
Компас на двухосевом магнитометре будет корректно работать только при горизонтальном положении датчика. При наклоне он будет в той или иной степени врать в показаниях азимута. Совсем честно можно вычислить азимут, если добавить 3ю ось и учитывать крен и тангаж по данным из акселерометра.
Азимут будет абсолютной величиной, так что обнулять и интегрировать ничего не надо.
Что касается металла в окружении, все не так страшно. Присутствие небольших ферромагнетиков в самой конструкции девайса можно компенсировать калибровкой. А на расстоянии больше 30-40см даже сильные магниты на показания практически не повлияют.

Alex_the_first
Vad64:

Я в свое время занимался разработкой электронного компаса.
Компас на двухосевом магнитометре будет корректно работать только при горизонтальном положении датчика. При наклоне он будет в той или иной степени врать в показаниях азимута. Совсем честно можно вычислить азимут, если добавить 3ю ось и учитывать крен и тангаж по данным из акселерометра.
Азимут будет абсолютной величиной, так что обнулять и интегрировать ничего не надо.
Что касается металла в окружении, все не так страшно. Присутствие небольших ферромагнетиков в самой конструкции девайса можно компенсировать калибровкой. А на расстоянии больше 30-40см даже сильные магниты на показания практически не повлияют.

Спасибо за замечание. Понял, принял.
Кстати, даже уже читал про искажения показаний при негоризонтальном положении 2х осевого датчика. Тоже думал про учет крена и тангажа за счет акселерометра на уровне обрабатывающего микроконтроллера.
Правильно я Вас понял, что нет нужды добавлять в схему 3-й магнитометр, а достаточно задействовать 2х осевой акселерометр и 2х осевой магнитометр?

Vad64
Alex_the_first:

Правильно я Вас понял, что нет нужды добавлять в схему 3-й магнитометр, а достаточно задействовать 2х осевой акселерометр и 2х осевой магнитометр?

Нет, для полного компаса нужен 2х осевой акселерометр и 3х осевой магнитометр. Посмотрите аппноут к HMC1055 или AN00022 Philips

Alex_the_first
Vad64:

Нет, для полного компаса нужен 2х осевой акселерометр и 3х осевой магнитометр. Посмотрите аппноут к HMC1055 или AN00022 Philips

Даже если стоит задача не выяснять точное положение сторон света, а определить угол поворота вправо-влево и наклона вперед-назад головы относительно выбранной вначале нулевой точки? Если не сложно, не могли бы в 2 словах объяснить, почему?

Vad64
Alex_the_first:

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

Я рассматриваю задачу в общем случае. Угол поворота - это изменение азимута. Азимут - это проекция угла магнитного поля в горизонтальную плоскость. Значит, чтобы найти азимут, нужно знать направление вектора поля в 3-мерной системе координат прибора и крен-тангаж системы координат прибора относительно горизонта. Всего 5 датчиков. Может быть, частные задачи (типа ограничения углов измерения и наклонов) с той или иной точностью позволяют отказаться от 5го датчика. Думаю, что не так уж трудно это посчитать аналитически или просто смоделировать при разных условиях. При желании попробуйте, результаты интересны. Также есть ненулевая вероятность, что можно обойтись 4мя датчиками, если ввести в расчеты заранее известный угол наклона вектора поля к горизонту. В наших широтах он около 70 градусов.

Alex_the_first
Vad64:

Я рассматриваю задачу в общем случае. Угол поворота - это изменение азимута. Азимут - это проекция угла магнитного поля в горизонтальную плоскость. Значит, чтобы найти азимут, нужно знать направление вектора поля в 3-мерной системе координат прибора и крен-тангаж системы координат прибора относительно горизонта. Всего 5 датчиков. Может быть, частные задачи (типа ограничения углов измерения и наклонов) с той или иной точностью позволяют отказаться от 5го датчика. Думаю, это не так уж трудно посчитать аналитически или просто смоделировать при разных условиях. При желании попробуйте, результаты интересны. Также есть ненулевая вероятность, что можно обойтись 4мя датчиками, если ввести в расчеты заранее известный угол наклона вектора поля к горизонту. В наших широтах он около 70 градусов.

Спасибо большое за подробное и понятное описание!
Так как я буду решать частную задачу, то я могу считать мою идею предварительно одобренной Вами.
Да вроде и Андрей Прикупец о том же думал и даже говорил, что есть уже готовые решения.
Собирать схему думаю, когда дострою самолет, пригодный для полетов по камере (имеющийся сейчас первый построенный мной RC самолет больше похож на летающий топор, и при дальнейшем утяжелении управлять им станет совсем тяжко) и получу очки от deNick.
Обязательно расскажу о результате.