MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

ロボティクスにおける地磁気センサの基礎知識

目次

 

はじめに

これまで

様々なロボット用センサの基礎情報をまとめてきましたが、

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

今回は、

ロボットや車両の方位推定にしばしば利用される、

地磁気センサの基礎的知識についてまとめたいと思います。

 

地磁気センサとは

地磁気センサは、

地球の地磁気を検知するセンサです。

地磁気センサの基本的な内容に関しては、

上記のリンクが非常にわかりやすいと思います。

 

地磁気センサにより、

地磁気を検知することにより、

地球の磁力線が南から北の方に向いていることを利用して、

北の方向を検知することができます。

 

飛行機や、携帯電話、ロボティクスでは、

この磁気センサの情報を利用して、

方位を検知するのに利用されます。

 

地磁気センサのデータの単位

地磁気センサで取得できるデータは

磁束密度という値で、

一般的にT(テスラ)か、G(ガウス)という値で取得できます。

 

TはSI単位系で、GはCGS単位系という単位系です。

また、1T=104Gでそれぞれ変換できます。

 

地磁気センサの種類

一般的に、

地磁気センサは2軸のものと、

3軸のものがあります。

 

2軸の地磁気センサは、

センサが地面に水平であることを仮定することで、

方位を計算することができます。

つまり、センサそのものがrollやpitch方向に傾くと、

上下方向の地磁気の影響で

方位の精度が低下するという問題があります。

 

一方、3軸の地磁気センサは、

rollやpitchの情報が分かる場合は、

その姿勢情報を利用して

地磁気情報を補正することにより、

センサの姿勢が変化した場合にも、

方位を推定することができます。

 

具体的な方位の計算に関しては、

下記で説明したいと思います。

 

2軸地磁気センサにおける方位計算の方法

下記の記事のように、

2軸地磁気センサを地面に水平にし、

360度回転させると、X,Y軸方向の地磁気データは、

円を描くような形でプロットされます。

  

周囲に磁気物体などが無い場合、

この円は原点中心になるので、

北を0度とした場合、センサの方位は、

センサのx軸の磁束密度をGx,

y軸の磁束密度をGyとすると、

で計算することができます。

 

しかし、一般的にセンサの付近には

少なからず磁気を持つ物体が存在しているため、

先ほどの地磁気の計測値の円は、

オフセットするになります。

ですので、この円のオフセット量を事前に

Gx,off, Gy,offと計算(キャリブレーション)しておくことで、

磁気物体が周囲にある状態においても、

下記の式で方位を計算することができます。

 

ちなみに上記の地磁気のオフセット量を

Hard Ironオフセット値といいます。 

一方、

円中心のオフセットではなく、

円の形が歪むような減少が起きることがあります。

これは透磁率の高い金属が周囲にあることによる

磁気の歪みによるものであり、

これのことをSoft Ironオフセットと呼びます。

こちらのSoft Ironオフセットもキャリブレーションで事前計算することで、

磁気データを補正することが多いようです。

 

3軸地磁気センサにおける方位計算の方法

先ほどの二軸の地磁気センサの方位計算は、

センサの姿勢を考慮していないため、

センサの姿勢が変化すると上下方向の地磁気の影響が

X-Y軸の地磁気に影響を与えて、

その結果として推定方位に誤差が発生してしまいます。

 

この問題を解決するために、

3軸の地磁気センサに

3軸の加速度センサを取り付け、

その加速度センサの情報から、

センサのRoll, Pitchの角度を推定し、

その値を元に地磁気を補正する方法が一般的です。

 

下記の記事で説明した通り、

myenigma.hatenablog.com

3軸加速度センサの情報, ax, ay, azを利用することにより、

roll角は

で計算でき、

pitch角は

で計算できます。

 

上記の方法で計算された姿勢情報と

3軸地磁気センサの値を利用して、

方位を推定する式は下記になります。

 

詳しい計算導出は

下記の記事がわかりやすいと思います。

 

ちなみに3軸地磁気センサの場合、

三次元での円のオフセットを計算する必要があるため、

球としてオフセット量をキャリブレーションする必要があるので、

注意しましょう。

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com