小型学生ロケットの地磁気センサデータの所見

 

はじめに

こんにちは。某大学の学生ロケットサークルで電装をしていた、と-ご-かいはつかんきょ-です。

今回は、以前試した地磁気センサのデータ処理結果について軽く書きます。「球面フィッティングの結果」以降が本題です。

加速度と地磁気による角度の補正

角速度を積分すると角度が得られます。しかし、それだけでは時間経過と共に誤差が蓄積するため、何らかの方法で補正する必要があります。

小型無人機では一般的に、加速度と地磁気を用いて補正します。詳細はこちらの記事が大変参考になります。

qiita.com

しかし、ロケットでは加速度を用いることは基本的にできません。加速度ベクトルがおおよそ鉛直方向を向いていないといけないので、打ち上げ前, パラシュート開放後で終端速度に達しているとき, 着地後にしか使えません。

なので、地磁気センサが重要です。地磁気ベクトル周りの誤差は修正できずに蓄積していくけど仕方ないね。

地磁気データの零点補正の方法

センサの特性, 温度, 周辺の物体などの影響で値がずれるので、姿勢の補正に地磁気データを用いる前に、零点補正をする必要があります。

この記事を参考にMATLABで実装しました。最小二乗法で球面フィッティングし、球の中心を求めます。中心の座標を差し引くことで零点補正をします。

www.slideshare.net

球面フィッティングの結果

ここから本題です。

このグラフが、以前サークルで打ち上げたロケットの、飛行中の地磁気データを用いて球面フィッティングを行った結果です。f:id:tgkhtknk:20201025205550p:plain

赤色が離床直前~離床1.7秒後までのデータ, 青色が離床1.7秒後~12秒後までのデータ, 虹色のメッシュが求めた球です。

離床前にロケットを固定するランチャーが鉄製なので、赤色のデータは球から離れています。一方、青色のデータは球にまとわり付くように並んでいて、ロケットがロールしている様子がはっきりと分かります。

地磁気のノルム

上の球面フィッティングの結果を用いて零点補正をし、地磁気のノルム(大きさ)の時間変化を求めました。その結果がこのグラフです。

f:id:tgkhtknk:20201025210546p:plain

誤差がなければ、センサの方向に関わらず一定のノルムになるはずです。

離床前は金属製ランチャーの近くにいるため、ノルムが大きいです。 離床直後は、ノルムが激しく変化しています。
その後、ノルムはだんだんと小さくなり, 離床1.5 秒後∼12 秒後は概ね一定のノルムで推移しています。

ランチャーから十分に離れた後の地磁気データは、姿勢の補正に使えそうです。

結論

2つのグラフから、最小二乗法を用いた球面フィッティングによる零点補正は適切に行えたと考えられます。

よって、機体が激しくロールすれば、事前にくるくる回して零点補正用のデータを取得しなくても、機体回収後の姿勢推定に地磁気データを用いることができると言えます。

意外と地磁気による姿勢の補正のハードルが低いことが分かったので、どしどし活用しよう!