Определение ориентации прибора по акселерометру и гироскопу

stm2383383

Здравствуй, Доброфорум!
Возникла необходимость изучить вращение одного девайса в пространстве (вокруг всех 3 осей). Приспособил для этих целей телефон с софтиной, которая пишет лог с акселерометра и гироскопа.
На выходе csv-файлик с тремя колонками данных с акселерометра (м/сек2 тремя колонками данных с гироскопа (угол/сек) и временем записи каждой строки данных (сек).
Девайс периодически (раз секунд в 10) останавливается, поэтому по акселерометру я могу без проблем определить его ориентацию в пространстве относительно горизонта. Однако акселерометр не может дать мне угол вращения относительно вертикальной оси. Предполагаю использовать для этого гироскоп. Но тут начинает сказываться недостаток знаний в этой области.
Гугление показало, что очень удобно использовать для этих целей кватернионы. Но об этом звере я узнал только что, и не имею никакого опыта его использования.
Кто-нибудь может подсказать, как мне вытащить угол поворота девайса относительно вертикали? Может быть, у кого-то есть готовый скрипт в матлабе, или можете его там накидать. Буду очень благодарен.
В принципе, задача имеет небольшой коммерческий выхлоп, поэтому могу даже предложить разумное финансовое вознаграждение.
Спасибо.

elenakozl

Телефон? А чего не ардуину какую-нибудь с соответствующим датчиком?

stm2383383

Это следующий этап. Телефон условно бесплатный, так как все равно есть. Надо понять, что и как работает. Телефона вполне достаточно.

natastream

как мне вытащить угол поворота девайса относительно вертикали?
угловые координаты можно вычислить численно проинтегрировав угловые скорости, которые выдает гироскоп.

langame

Там будет еще ошибка накапливаться из-за дрейфа гироскопа. Надо ботать фильтр Калмана например.

tester1

Для увеличения точности можно попробовать взять два телефона, по-разному равсположенных относительно устройства.

natastream

кстати, можно этот угол вращения относительно вектора g определять по магнитометру.

stm2383383

Магнитометр не катит из-за большого количества электромагнитных помех.

LENA-AKULA

Угол поворота, как ты и предполагал и как тут справедливо заметили, действительно можно получить интегрированием угловых скоростей. Для этого не обязательно использовать кватернионы - сгодятся и матрицы ориентации: вычислительно это несколько затратнее, зато сами соотношения более наглядны. В матрицах соответствующее уравнение (уравнение Пуассона) имеет вид
dD/dt = [omega]*D-D*[u],
где:
D - матрица ориентации приборной СК (по существу, твоего прибора) относительно географической СК (т.е. относительно Земли которая тебе и нужна,
omega - вектор угловых скоростей прибора в проекциях на оси приборной СК (его тебе как раз и сообщают гироскопы
u - вектор угловой скорости Земли в проекциях на оси географической СК (у нее две оси в плоскости горизонта, третья по вертикали он вычисляется аналитически, так как направление и модуль угловой скорости вращения Земли известны,
а через [a] обозначена матрица, которая строится по трёхмерному вектору a=(a1, a2, a3)' следующим образом:
[a]=
(0 a3 -a2;
-a3 0 a1;
a2 -a1 0)
В кватернионах уравнение будет похожее.
Можно взять любую книжку по инерциальной навигации, там всё это будет. В принципе, если этой информации недостаточно, чтоб вы сами справились, могу попробовать взяться за вашу задачу, если ещё актуально.

stm7543347

Приспособил для этих целей телефон с софтиной, которая пишет лог с акселерометра и гироскопа.
Ы. А если камера на телефоне есть, можно еще по звездам же.

stm2383383

А если камера на телефоне есть, можно еще по звездам же.
А в дождь? :)

langame

А в дождь?
С магнитометром и гироскопом даже под крышей можно звезды видеть на телефоне. :grin:
Осталось только решить обратную задачу. :)

stm2383383

магнитометром
Магнетометр нельзя.
Есть только акселерометр и гироскоп.

hat_

как раз занят схожей проблемой :)
можно в личку потенциал коммерциализации, может синергия какая получится.

broroman

мой знакомый цеплял (в натурном эксперименте) к самолету на гироскоп (не измеритель угловых скоростей, а стабилизатор ориентации акселерометров) _три_ (по числу осей) им же изобретенных компактных (в размер флешки) линейных абсолютных акселерометра и интегрировал каждую координату отдельно, точность в определении смещения лучше коммерческих аналогов по его словам.
Поскольку все координаты известны, так же и углы считаются. Пишите если интересно
Оставить комментарий
Имя или ник:
Комментарий: