О возможности реализации фильтра Калмана на atmega32

avr

Я искал в Интернете, как получить ангелов Эйлера из измерений IMU, я обнаружил, что используются фильтр Калмана и фильтр Махони... У фильтра Калмана есть недостаток сложных вычислений, но у Махони меньше вычислений, поэтому Махони предпочтительнее для 8-битного микроконтроллера, но точность Калмана лучше, чем у Махани, поэтому мой вопрос: можем ли мы реализовать фильтр Калмана с его сложными вычислениями на 8-битном микроконтроллере, таком как atmega32

, 👍0

Обсуждение

Это очень интересная тема, но по написанному вопросу сложно понять, какой ответ вы ищете. Можете ли вы предоставить дополнительную информацию?, @MichaelT

@MichaelT спасибо за ваш интерес... Я искал в Интернете, как получить ангелов Эйлера на основе измерений IMU, я обнаружил, что используются фильтр Калмана и фильтр Махони... У фильтра Калмана есть недостаток сложных вычислений, но у Махони есть недостаток. меньше вычислений, поэтому Махони предпочтительнее для 8-битного микроконтроллера, но точность Калмана лучше, чем Махони, поэтому мой вопрос: можем ли мы реализовать фильтр Калмана с его сложными вычислениями на 8-битном микроконтроллере, таком как atmega32, @Mohamed Mohamed


1 ответ


1

Конечно, это можно сделать, и достаточно просто. Вот реализация на C, которую можно легко адаптировать.

Конечно, это будет не так быстро, как Махони, но расчеты возможны. Вопрос в том, достаточно ли он быстр для вашего использования?

,

Спасибо за ваш интерес....означает ли ваш ответ, что если я получаю данные от IMU (акселерометр, гироскоп, магнитометр) на высоких частотах и с использованием atmega 32, могут ли некоторые рассчитанные ангелы Эйлера с использованием ng kalman быть потеряны, поскольку его скорость равна меньше, чем махони?, @Mohamed Mohamed

Это верно. Это снижает максимальную скорость, с которой вы можете обрабатывать углы., @Majenko

Итак, при использовании Калмана частота IMU должна быть низкой?, @Mohamed Mohamed

Arduino не может делать ничего другого одновременно с вычислениями. Это означает, что вы можете выполнять чтение из IMU только на более низкой скорости, поскольку Arduino занят вычислениями., @Majenko

Я очень благодарен за ваше...уважаемый сэр, если мы будем использовать Калман, какую максимальную частоту IMU можно использовать?, @Mohamed Mohamed

Это зависит от того, сколько времени потребуется для выполнения вычислений. Частота будет примерно равна 1/t, где t — время, необходимое для выполнения вычислений., @Majenko

Я очень благодарен....ваши ответы очень замечательны и очевидны.....спасибо, @Mohamed Mohamed