RTK MovingBaseのサンプリング200msec区間内を加速度センサで補間する方法を検討してます。
※2024年2月追記 SLIMにみるIMU補正
SLIMの月面ピンポイント着陸を実現させたキーテクノロジーが位置検出技術です。
https://www.isas.jaxa.jp/feature/forefront/220928.html
IMUだけでは誤差がでるので、月面の画像から自己位置を高速演算してIMUを補正する
画像照合航法が世界初の高精度着陸を達成させました。
このようにIMUだけでは、位置精度がでないのは公知の事実ですので、本記事でやろうとしている
IMUを積分して位置を出す方法は、精度がでない方法です。何等かの方法で、補正しないとIMUは使えないというのが技術開発の方向性です。
●ADXLをNucleo L432KCでAD変換して加速度測定
600mv/gと仕様より大きめの校正値でした。
アナログ出力なので、ノイズがケーブルに載るので、同軸シールド線がいいのですが
手持ちがなかったので、カラーケーブルで配線してます。
●加速からの2回積分位置推定は精度がでない
航空機用のレーザーリングジャイロを使ったINSでさえ1時間に1.9kmの位置誤差がでるそうです。
https://www.jstage.jst.go.jp/article/jrsj/37/7/37_37_579/_pdf
ここで使おうとしている加速度センサにしても1分間で1-2km誤差がでるレベルですので、良い結果はでないのがわかります。
●加速度から距離測定実験
振り子とか3Dプリンタのベッド移動に載せて距離を測定しようとしたのですが、
振り子の糸の縦振動やベッドのプーリーなど伝達機構の振動を拾ってしまって、加速度にノイズが大きくのって積分が出鱈目になってしまってダメでした。そこで、単純に手でもって一定距離を動して測定してました。
●測定結果
X軸方向移動なのでAxを積分します。300mmの往復動作です。
EXCELで台形積分しました。
①速度は 加速度(g)x9800(mm/sec2) x 時間(sec)=mm/sec
台形1個分の速度を累積足し算していけば加速度波形を速度波形に変換できます。
axが実測加速度で静止姿勢の平均値を引いてaxsとして静止時ゼロに補正してます。
➁距離 速度(mm/sec)x時間(sec)=mm
台形積分します
●積分結果
300mm左右移動を積分しました
グラフで速度xがゼロから逆転するタイミングで積分をReset
=>上の行を足さないで(1個前の値をゼロ)にしてResetして、再度、累積台形面積を足し算していきます。
Resetで計算しなおすほうが
加速度から速度積分誤差が累積しないので距離精度がよくなります
点線はreset無で計算した場合ですが、戻りの移動距離が200mmしかでません。
resetをいれた赤実線だと280mmと300mmに対して10%以内誤差で収まってました。
※2022年6月追記 MEMSIMUが全然精度が出ないので、高レートGPSの速度ベクトルを積分する方法を思いついて、確認実験してみました。なんと数cmレベルの精度がでそうです。屋外用途では、IMUより安物のGPSのほうが精度よく位置が測定できることが判りました。私の用途では、IMUは、重力方向の傾きを測定するのに使うだけで、位置測定なDeadReckoning用途では使わないことにしました。下記記事で、GPSドップラー速度ベクトルの精度の良さをご覧ください。
●考察
IMUを歩行解析に使った論文がたくさんあるのですが積分誤差にたいして一歩ずつ積分リセットして精度向上する論文があったので、参考にしたのですが、やはり、resetをいれて積分区間を短くして誤差を減らす方法なら10%以内で使える可能性があると見ました。https://www.kochi-tech.ac.jp/library/ron/pdf/2014/03/11/a1150114.pdf
歩行関係では、足圧力を検出して速度ゼロを感知して積分をリセットする方式をもちいている例が多いですが、MBとIMUの組合わせの場合はMBのタイミング信号で
resetしてやればその瞬間の速度と位置が正確なのでできるのではないかと思います。
●以後
ヘリカルアンテナマウントにIMUを仕込んで歩行実験する準備します。