Объединить данные гироскопа и акселерометра

Я строю балансировочный робот, используя Lego Mindstorm 'Система NXT. Я использую два датчика от HiTechnic, первый - акселерометр, а второй - гироскоп. Я'мы успешно отфильтровали шум от обоих датчиков и производные углы для обоих диапазонов от -90 до 90 градусов, при этом 0 градусов были идеально сбалансированы.

Моя следующая задача состоит в том, чтобы объединить оба значения датчика для коррекции для гироскопа ».с течением времени. Ниже приведен пример графика, который я создал из реальных данных, чтобы продемонстрировать отклонение от гироскопа:

Наиболее часто используемый подход, который яМы видели, как объединить эти датчики, используя фильтр Калмана. Однако я'Я не эксперт в исчислении, и я действительно неЯ не понимаю математические символы, я понимаю математику в исходном коде.

Я использую RobotC (который похож на любую другую производную от C) и был бы очень признателен, если бы кто-нибудь дал мне примеры того, как это сделать в C.

Спасибо за помощь!

РЕЗУЛЬТАТЫ РЕШЕНИЯ:

Хорошо, kersny решил мою проблему, познакомив меня с дополнительными фильтрами. Это график, иллюстрирующий мои результаты:

Результат № 1

Результат № 2

Как видите, фильтр корректирует гироскопический дрейф и объединяет оба сигнала в один плавный сигнал.

Редактировать: Так как я все равно исправлял поврежденные изображения, я подумал, что было бы интересно показать установку, которую я использовал для генерации этих данных:

Ответы на вопрос(2)

Ваш ответ на вопрос