close

http://blog.yam.com/tim77726/trackback/41246701

引用自上面部落格

 

恩...這幾天有點忙,所以富奸到今天才發這篇文章,敬請見諒。 
RM-G146九軸感測器-電子羅盤 方位角計算教學

要使用RM-G146的電子羅盤,
首先要了解其原理,
以下將簡單敘述。
地球南北極有分地理南北極與地磁南北極,
地磁南北極會隨時間改變,
不可與地理南北極混淆;
而RM-G146以X、Y、Z三軸磁力感測取得並計算後所得到的值為目前Y軸與地磁北極的夾角(順時針),
也可以把Y軸看成是指北針的指針。
另外要注意的是,
當RM-G146平放時Compass的座標系與G-sensor的座標系是相反的,
以下為RM-G144的圖來示意。


若RM-G146保持水平,則計算方式如下。

azimuth=arctan(-x/y)

注意,由於我們是以順時針表示,所以上述公式x前面加負號。

但若是RM-G146不是平放,
那我們必須先計算出其傾角,
在此我們用"歐拉角"來計算pitch與roll角。
角度示意圖如下所示。



我們可以由G-sensor讀取其X、Y、Z軸的重力分量來計算pitch角,
由於Compass的座標系與G-sensor的座標系是相反的,
所以我們由G-sensor讀取到的重力分量都應該先取負數值,
pitch與roll計算公式如下所示(已加負號)。


在取得pitch與roll角後,
我們便可以由RM-G146的X、Y、Z三軸所取得的磁力計算出投影在水平面的X、Y軸分量,
並以下面公式計算出實際的方位角。



要注意的是,
由於RM-G146是以3軸磁力感測,
如果放在磁鐵旁邊或是有磁力影響的場合,
所取得的數值不能做為方向角定位用途。

以下為程式實際已RB-110執行的結果。

arrow
arrow
    全站熱搜

    Shin開發日記 發表在 痞客邦 留言(0) 人氣()