私はいくつかのアルゴリズムを試して、連続的な線形加速度と振動(0.4g未満、周波数が10HZ未満)でピッチ、ロール、ヨーを取得しました。読み取り値がドリフトするか、線形加速度の影響を大きく受けるため、どちらも良い結果をもたらしません。私が達成したいのは、外部加速度が+ -0.4g未満の場合、ピッチとロールの誤差は+ -1deg未満でなければなりません。
私はこれらのアルゴリズムを試しました:
マジウィックのアルゴリズム。ベータゲインを非常に高く設定すると、収束は速くなりますが、角度は線形加速度の影響を受けやすくなります。私はそれを調整し、線形加速度の下での誤差を+ -0.5degに減らしました。ただし、振動が連続的である場合、測定値はドリフトし、真の値に収束するのに永遠にかかります。線形加速度の下では、ジャイロがより信頼され、計算された角度がジャイロ積分がドリフトするにつれてドリフトするため、それは理にかなっています。
マホニーのアルゴリズム。マジウィックとは異なり、KiとKpにどの値を使用しても、ドリフトしません。ただし、常に線形加速度の影響を受けます。(+ -6degより大きいエラー)
従来のカルマンフィルター。これらの巨大なRおよびQベクトルの調整には、多くの時間が費やされています。これまでのところ、それはマホニーのと同じパフォーマンスを持っています。
カミソリIMUを使用しています。安価なセンサーでは、これと同じ結果を達成することは不可能です。
UKFのようないくつかのオプションがありますが、理解したり実装したりするのは面倒です。
どんな提案も歓迎します。