Я спробував декілька алгоритмів, щоб дістати крок, котитися і постукувати при безперервних лінійних прискореннях і коливаннях (менше 0,4 г, частота нижче 10 Гц). Жоден з них не дає хороших результатів, оскільки показання або зменшуються, або надто сильно впливають на лінійні прискорення. Я хочу досягти, коли зовнішнє прискорення менше + -0,4 г, похибка нахилу та нахилу повинна бути меншою за + -1 дег.
Я спробував такі алгоритми:
Алгоритм Мадгвіка . Коли коефіцієнт підсилення бета-версії задається дуже високим, конвергенція швидка, але кути більш чутливі до лінійних прискорень. Я налаштував його і зменшив помилку при лінійних прискореннях до + -0,5дег. Однак якщо вібрація буде безперервною, показання будуть дрейфувати, і для вірогідних значень потрібно назавжди. Це має сенс, тому що при лінійних прискореннях гіроскопам довіряють більше, і обчислені кути відхиляються як відхилення гіроскопа.
Алгоритм Махоні . Навпаки, з Madgwick's, це зовсім не дрейфує, незалежно від того, які значення я використовую для Ki та Kp. Однак на нього завжди впливають лінійні прискорення. (Помилки більше + -6deg)
Традиційний фільтр Кальмана . Багато часу було витрачено на налаштування цих величезних векторів R та Q. Поки що вона має таку саму виставу, як і у Mahony.
Я використовую бритва IMU . Я знаю, що з дешевими датчиками досягти такого ж результату, як і цей , неможливо .
Є ще кілька варіантів, таких як UKF, але це зрозуміти чи реалізовувати.
Будь-яка пропозиція вітається.