2019年3月6日水曜日

9軸の最大値

 センサ100Hz、表示40Hzで、生データの絶対値の最大値をグラフ化してみた。ピークホールドで最大値を保持しているので、表示間隔未満の時間分解能で発生した最大値も表示できる。




 上から角速度、加速度、地磁気。
 3軸に3回ずつ衝撃が加わるような動きをし、最後に放り投げて若干の無重力状態を作っている。
 地磁気はy軸のオフセットが凄まじいけど、計測中はそれほどでもない。外来ノイズに反応してるだけな気がする。



 角速度と加速度の拡大。
 角速度は245/2000dps、加速度は2/8gのレンジに設定してある。
 角速度はレンジに対して余裕があるが、加速度はレンジでスパッと切れてる。実際には、2gレンジでも2g未満で2^15-1に達するようだ。加速度のサチ判断はレンジの90%で行うように設定してある。

 14秒以降の加速度は、Z軸を除いて付かず離れずな感じ。加速度センサの原点ズレも結構ありそうな感じ。コンソールで数値を見るだけでも、表と裏で数値が目に見えて違う。
 Z軸だけほぼ同じ値が出ているのは、偶然か、何らかの要因があるのか。全期間で同様な傾向が見える。XYはチップの平面方向、Zはチップの上下方向の軸だから、XYとZでは計測方法が違う(から精度も違う)、というのはありそうな気がする。
 別メーカーのチップでは、チップ上下軸方向は精度が悪い、といったものもあるらしい。このあたりは構造の違いで決まるはずなので、メーカーによって違いがあるだろうけど。
 このセンサの場合、Z軸が特に高精度、ということであれば、3軸各2個ずつ6個、みたいな感じで配置して、それぞれのZに重みを付けて合成する、といった感じで高精度化ができるかもしれない。
 Int-Ballも6個くらいのセンサを組み合わせてた気がするけど、今どきのMEMSセンサなら1チップで3軸測れるだろうし、基板3面でそれぞれにチップを載せてるということは、軸によって精度が違うのを、高精度に計測しようということなのかもしれない。
 もっとも、高精度2軸+低精度4軸を合成した場合、低精度4平均のほうが精度高いのではないか、という気もする。とはいえ、すべて同じ軸で載せてしまっては合成結果に軸ごとの精度の差が出るから、やはり3軸に分散して配置する意味はあるんだろうな。

***

 角速度は、角速度を与えなければ原点ズレが出てくるけど、加速度はそういうわけにもいかない。筐体の6面がしっかり直行していれば、その面を基準にしてオフセットやゲインを計測できるけど、基板むき出しでは望むべくもない。

 地磁気のオフセットも、加速度のオフセットも、あちこち向きを変えて推定するしかなさそう。そういう意味では同じアルゴリズムで両方を推定できそう。


 地磁気は外来ノイズの影響がかなり大きい気がする。テーブルタップに近づけると明らかにベクトルが大きくなるし。
 どれくらいの電流が影響を受けるんだろうか? スペースプローブのミッションではモーターを使うような物も多いから、磁気はあまり信頼性が無いかもしれない。ミッション中は加速度の変動が大きいから姿勢推定はできないだろうし、ランチャー上にいるときはランチャーの鉄の影響が大きいだろうし。ミッション1個のためにランチャーまるごと消磁してくれ、とも言えないし。

 うまいこと姿勢を推定できる方法があればいいんだけど。RTK GPSが使えるようになる、みたいな噂もあるので、半径20mの3箇所くらいのマーカーをGPSで精密に測位して、それに対する姿勢を推定する、みたいなことができればいいんだけど。GPSレシーバーを目立つ色の球体に収めて、オンボードカメラの位置から方向を推定する、みたいな。スタートラッカー的な感じで。

***

 加速度・地磁気はサチ判定と平均計算だけ行っているが、角速度の姿勢推定と含めて19マイクロ秒程度かかっている。姿勢推定だけで12マイクロ秒だったので、6軸増えて7マイクロ秒、1軸の処理に170クロック、くらいか。

***

 とりあえず、次は加速度から姿勢を求めて、スタティックで角速度のオフセット量の計算まで、あたりが目標か。
 加速度だけだとピッチ・ロールの2軸しか取れないけど、角速度3軸から斜めに加速度ベクトルが向くような姿勢で保持しておけば、3軸すべての補正ができそう。
 さて、どういうアルゴリズムでやるか。スタートラッカほしいなぁ……


***
追記
 スタティックでやるなら加速度は不要だよな。
 加速度や地磁気を使えば姿勢が変わった時の応答を補正できる。しっかり処理していけば非線形エラーとかも補正できるんだろうけども。
 加速度・地磁気とフュージョンさせるのは角速度の校正が目的ではなく、補正が目的であって、そのためにはやはり地磁気が必要。地磁気(水平面上下軸)だけを固定しない四元数のフュージョン、とかできるんだろうか。

0 件のコメント:

コメントを投稿