ドリフト補正を比較(カルマン、Madgwick、相補フィルター)

 6軸センサーなどから回転角度算出する際に発生するドリフトを補正する方法にカルマン、Madgwick、相補フィルターなどがありますが、今回はその3つの方法でドリフト補正した回転角度を比較してみました。

▼ビジュアルで比較▼

 Madgwick、カルマンフィルターはライブラリをデフォルトのまま使用。相補フィルターは自前でプログラム組んでます。マイコンはRaspberry Pi Picoを使用、センサーはMPU6050(加速度、ジャイロ)です。真ん中のが自前でプログラムを組んだ物。

 一応補足しておくと、カルマンフィルターが悪いわけではなく、使用したライブラリがイマイチだっただけです。ライブラリの中身確認するとジャイロ値は各軸を単純に積算しているだけでベクトルを合わせにいってない処理でした。この処理になってるのは気付いてたのでが、違うライブラリが見つけられませんでした。。。

 過去に似たような検証を何度もしているのですが、今回自前の相補フィルターに関して、加速度やジャイロの処理、補正についても新しく処理を構築し直したため、既存のフィルターライブラリと比べてみての動作チェックをしてみました。結果、ちょっと処理が遅くなって、z軸廻りのズレが減った感じです。

コメント