Как рассчитать курс с помощью гироскопа и магнитометра
У меня есть необработанные данные гироскопа и магнитометра. на основе этих данных я должен рассчитать информацию о курсе с точностью до 1 град.
Я хотел бы знать, есть ли алгоритм, который может помочь мне получить информацию о курсе, используя доступную информацию с указанной точностью?
Любая статья или любая ссылка также будут полезны.
Спасибо
1 ответ
Я предполагаю, что вы используете телефон для сбора gyroscope+magnetometer
данные.
Вы не можете рассчитать заголовок с Gyro+Magnetometer
если вы не знаете начальное состояние устройства. Ты должен попробовать Accelerometer+Magnetometer
, Вы можете получить значения заголовков от rotation-matrix' or
yaw` компонент из API датчика движения устройства Android/IOS.
Если вы хотите реализовать свой собственный, попробуйте алгоритм компенсации наклона. Все, что вам нужно сделать, это внедрить компенсатор с компенсацией наклона, используя accelerometer
а также magnetometer
, Ты получаешь accelerometer
а также magnetometer
показания в кадре устройства. Accelerometer
а также Magnetometer
дает показания в зависимости от вращения устройства. Этот поворот содержит информацию о крене, тангаже и направлении движения устройства. Ниже приведено объяснение и вывод оценки заголовка с использованием accelerometer+magnetometer
,
Позволять accelerometer
а также magnetometer
дать вам
показания соответственно. Они находятся в рамке устройства, а устройство вращается через
,
куда катится, что вы ищете. Таким образом, матрица вращения устройства будет
Мы должны решить для , Так что пошаговое решение для ,
Сверху, приравнивая к нулю, получаем
имеющий сверху
Это основной метод получения значения заголовка из accelerometer+magentomete
, Значение рыскания / курса обеспечивается API-интерфейсами датчиков движения, присутствующими в мобильных телефонах.
Вы должны смотреть на несколько вещей при реализации sensor-fusion
алгоритмы. Accelerometers
не всегда направление силы тяжести, оно дает направление ускорения яичника, испытываемого датчиком, например, устройства с линейными ускорениями. Magnetometer
показания подвергаются искажению из-за ферромагнитных веществ в непосредственной близости. Точность зависит от систематического компонента смещения в gyroscope
датчик тоже.
Существует множество алгоритмов для оценки точных значений курса. Некоторые из них
- Madgwick AHRS
- Дополнительный фильтр
- Фильтр Калмана
- Компенсация магнитных возмущений, этот алгоритм дал лучшие результаты среди всех.