гироскоп, акселерометр, магнитометр и фильтр Калмана

Я хочу использовать гироскоп, акселерометр и магнитометр, чтобы получить полное плавное вращение по 3 осям.

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

Вторая проблема — это дрейф гироскопа, который, я думаю, должен решить фильтр Калмана.

Третья проблема — акселерометр. Если я комбинирую гироскоп и акселерометр, когда я перемещаю устройство, не вращая его, выходной сигнал изменится. Может ли фильтр Калмана удалить движущийся эффект с вывода?


person khatarat    schedule 15.03.2011    source источник


Ответы (1)


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

Да, это естественно, не переживайте, шум убрать можно.

Вторая проблема — это дрейф гироскопа, который, я думаю, должен решить фильтр Калмана.

Да, фильтр Калмана — один из способов. Вы можете найти эти ответы полезными:

Слияние датчиков с фильтром Калмана
Объединение данных гироскопа и акселерометра

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

Я не уверен, что понимаю это правильно. Если у вас есть магнитометр, фильтр Калмана может устранить дрейф гироскопа, даже если вы не вращаете устройство. Это то, что вы спрашиваете?

EDIT: В зависимости от вашего приложения вы можете предположить, что ускорение в среднем равно нулю. Прочтите это, особенно страницу 24:

http://gentlenav.googlecode.com/files/DCMDraft2.pdf

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

person Ali    schedule 15.03.2011
comment
Вы сказали, что фильтр Калмана может удалить дрейф. в порядке. но влияние движущегося устройства на выходной сигнал акселерометра. Это означает, что когда устройство движется и не вращается, выход показывает, что устройство вращается из-за акселерометра. Может ли фильтр Калмана удалить эту ошибку? - person khatarat; 15.03.2011
comment
Если я правильно понял ваш вопрос, то ответ да. Я добавил ссылку, см. выше. - person Ali; 16.03.2011
comment
о первой проблеме. как убрать шум? на этой странице кажется, что шумы удалены, но как я могу удалить такие шумы? stackoverflow.com/questions/1586658/ - person khatarat; 16.03.2011
comment
Шум удалялся фильтром Калмана. Если вы хотите узнать, КАК реализовать фильтр Калмана, прочитайте ответы на те ссылки, которые я дал. Однако дополнительные фильтры кажутся намного более простыми для понимания и реализации, чем фильтр Калмана, опять же: прочитайте эти ответы по ссылкам. - person Ali; 16.03.2011
comment
эта ссылка использовала алгоритм DCM. Могу ли я использовать фильтр Калмана для удаления ускорения от силы тяжести в акселерометре? - person khatarat; 16.03.2011
comment
да. Вам нужно предположение на странице 24, то есть ускорение устройства в среднем равно нулю. Другими словами, вы измеряете гравитацию в среднем. - person Ali; 16.03.2011
comment
можете ли вы объяснить это больше для меня? - person khatarat; 04.04.2011
comment
Пожалуйста, задайте свой вопрос. Кстати, а почему вы настаиваете на фильтре Калмана? Дополнительный фильтр намного проще понять и внедрить, как и цикл обратной связи PI в проекте DCM, и они дают такие же хорошие результаты, как и фильтр Калмана. - person Ali; 04.04.2011
comment
Я протестировал некоторые дополнительные фильтры, но они не дали хороших результатов, и еще одна проблема заключается в том, что перемещение устройства влияет на результат вращения из-за акселерометра. Фильтр Калмана удаляет эту ошибку, или мне нужно использовать GPS, чтобы удалить переход от вращения (как я уже спрашивал об этом раньше). - person khatarat; 06.04.2011
comment
Я только что закончил реализацию цикла обратной связи PI, описанную в DCMDraft2.pdf, и она прекрасно работает. Если вы перемещаете устройство, вы можете захотеть использовать фильтр верхних частот для обнаружения внезапных движений и временно установить TotalCorrection на ноль (см. стр. 27), эффективно используя только сигналы гироскопа при обнаружении внезапных движений. Отлично работает для моего приложения, выдерживает тряску 20-60 м/с^2 в течение 2 секунд. - person Ali; 08.04.2011