Skip to content

Theory:Stabilization:Angle

Sergey edited this page Jun 26, 2013 · 4 revisions

Под углом понимается угол между СО, связанной с Землей и движущейся XYZ.

Проблемы и их решение

Очевидным способом получения угла является интегрирование угловой скорости. Но поскольку гироскоп не идеален, простое интегрирование приведет к тому, что полученный угол будет довольно далек от реального. Например, если вращать устройство по одной из осей с достаточно малой угловой скоростью (которую гироскоп не фиксирует), то интеграл будет равен нулю, а настоящий угол — нет.

Также из довольно простых соображений можно было бы получить угол поворота, если бы ускорение a было равно нулю. В таком случае акселерометр показывал бы просто проекции g на оси.

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

Решением является совместное использование двух датчиков.

Релизация

Простейшей реализацией является фильтр высоких частот. В итоговое значение «проходят» высокочастотные изменения с гироскопа и низкочастотные с акселерометра. Подробнее в статье про RC-фильтр

Более сложным и точным решением является Фильтр Калмана.

Clone this wiki locally