• ベストアンサー

3軸地磁気センサーによる方位角の計算方法

互いに直行する3軸方向の地磁気値を取得するセンサーがあります。 ある時点でのX、Y、Zそれぞれの地磁気データを取得したとき、センサがどの方角を向いているのかを知るには、どう計算すれば良いのでしょうか? 2軸(X、Y)の場合だと、 方位 = arctan( Yout - Ref)/( Xout - Ref ) )      Xout, Yout : 磁気のX成分, Y成分      Ref     :基準電圧 だということを知りましたが、3軸の場合が想像できません。 何卒よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#77472
noname#77472
回答No.2

ごめん。 ちがーわ。^○^; X,Y、角度から(斜辺L)を求めて arctan( Zout - Ref)/( Lout - Ref) が3軸角度。 2軸値を基準にし、高度hを追計算しているだけです。

yellmarch
質問者

お礼

ありがとうございます。 参考になりました!

その他の回答 (1)

noname#77472
noname#77472
回答No.1

この方法ですと、 座標、X,Y X(+2) Y(+1) Xに2行って、Yに1行った所の座標は、タンジェントで出せます。 角度はアークで出せます。 となります。 3軸で斜めになれば、X、Yの値は変わりますが、 2軸方位のtan値、 ( Yout - Ref)/( Xout - Ref )これをXとし 3軸方位 = arctan( Zout - Ref)/(( Yout - Ref)/( Xout - Ref ) ) で出せるのではないでしょうか?

関連するQ&A

  • 地磁気センサ出力から方位角計算

    地磁気センサ出力から方位角を計算する方法を教えてください. 地磁気センサはハネウェルのHMC2003というのを使っています. 3軸のアナログ電圧出力で,データシートにNull Field Voltage = 2.5V とあったので,これを基準電圧Refとして,調べた限りでは (方角)= arctan{(Yout-Ref)/(Xout-Ref)} で計算できるということなんですが,センサを自分である程度回転させて(例えば+45°)計算してみたんですが,どうも回転させた角度とは検討違いの角度が出てきてしまいます. 基準電圧と方位角計算の式は上記で合ってるんでしょうか?? よろしくお願いします.

  • 地磁気センサーについて

    地磁気センサーについて質問です。 地磁気センサーってスマホを水平にした状態で方位を取得できるものだと勝手に思っていたのですが、 1.スマホを縦に持った状態でも方位は取得できる? 2.アンドロイドとアイフォンでも仕様は同じ? 3.地磁気センサー単体では上向きや下向きは判別できないと思いますが、加速度センサーと組み合わせれば判別は可能?(加速度センサーは2つの位置で同じ値になると思うので、地磁気と組み合わせても識別できないような気がしたので確認のための質問です)

  • 3点地磁気センサーの値から方角に直したいです。

    物理の事は全く判らない素人なのですが、ご容赦下さい・・・ 仕事で3点地磁気センサーを使用したアプリを作成する事になったのですが・・・・ 地磁気センサーから前後・左右・上下方向の地磁気の値が得られる事は判ったのですが、その値をどう扱えば方角になるのか判りません。 センサーが向いている方向を北を基準として360度で表したいのですが、過去に似たような質問はあったものの、360度に直す物がなかったので、素人の質問で申し訳ないのですが、ご教授お願い致します。

  • 3軸加速度センサによる傾き計算

    加速度センサを使った傾き(重力方向に対して何度傾いたか?)の求め方を教えてください。 3軸加速度センサがあります。 3軸(=直交座標x、y、z)の値は重力の分力で、3軸合成値の絶対値(√x^2+y^2+z^2)=1です。 つまり、完全に静止状態でしか測定しないものとします。 ある時点(初期値)の加速度センサの値をZa=(x1,y1,z1)とします。 N時間経過後の加速度センサの値をZb=(x2,y2,z2)とします。 この両者の値より、N時間後に重力方向に対して傾いた角度を求めるには、どうすれば良いのでしょうか? 便宜上x、y、zとしましたが、どの軸が重力方向で、どの軸が水平線方向かは不定です。 考え方だけでも良いのでお教え頂けると幸いです。 よろしくお願いします。

  • 3軸加速センサーのオフセット値について

    3軸加速センサーのオフセット値について 秋葉原でKXM52-1050型番の3軸加速センサーを購入しPICのA/D変換にてとりあえず電圧に変換しましたがオフセット値設定の方法(プログラムの処理又は物理的に?)がわかりません。よろしくお願いします。 ハード: センサー名:XM52-1050 pic:pic16f88 電圧:+5V ソフト:CCS社 Cコンパイラ 測定値: X最大 3.612 X最小 1.455 Y最大 3.632 Y最小 1.497 Z最大 3.7  Z最小 1.78 単位V オフセット値:0gの時と思っています、この辺もアドバイス願えたらと思っています。

  • 3軸加速度センサの値の出力値について

    三軸加速度センサの出力値についての質問です。 電圧は3.3V 感度は660mV/g 0G出力が1.65V 測定レンジが+-2gとなっています。 加速度センサのz軸を下に置いた状態で値を出力すると x:320 y:330 z:430  と出力されます。 加速度センサのx軸を下においた状態で値を出力すると x:435: y:328 z:327 と出力されます そこで質問なのですが上のx:320 y:330 z:490 、x:485: y:328 z:327 の出力値の単位が(mV/g)ということ、下向きにするとその軸にGがかかる、ということはなんとなくわかるのですがこれらの値の意味(導出方法)がよくわかりません。一通り調べたのですが見つかりませんでした どなたか詳しく説明していただける方はいらっしゃいませんか?

  • 飛行船の軌跡

     飛行船の移動経路(軌跡)を調べたいです。使用するセンサーは3Dセンサー(TDS01V)モジュールを検討しています。このセンサーは3軸加速度と3軸地磁気などが測定できます。地磁気で方位(東西南北)を算出することもできる様です。  このセンサーを使って加速度と方位だけで時間当たりの移動距離(軌跡) を計算することは可能でしょうか。  加速度と角速度を使うのが普通のようですが自分は上の方法で出来ると思っているのですが、、、 

  • 俯角のあるベクトル強度の求め方

    ご質問いたします。 X-Y平面上のベクトル(原点を始点とします)の角度θを計測するセンサーがあります。 それは、X軸とY軸に投影された値DX、DYから、θ=arctan(DY/DX)で求まります。 今ここで、Z軸を導入して、センサーのXY平面が傾いた場合にどれほどの誤差が出るかを求めたいのです。 ここで、XY平面がX軸を中心に角度φで回転した場合、DYの強度にcosφをかけて、 θ=arctan(DY*cosφ/DX)となると思いますが、 たとえば(-1,1)と(1,-1)を通る直線を軸としてφ回転した場合のθはそのように考えればいいのでしょうか? また、たとえばθの最大誤差に対する俯角φの寄与を考えた場合、 上記二つの場合を考えて、そのうちの最大をとればよいのでしょうか? それとも、X軸を中心に回転させた場合だけ考えればたりるのでしょうか? よろしくご教授願います。

  • 地磁気と地震の関係はどう結びつくのでしょうか

    本日も茨城県で地震がありました。 東日本大震災後、地磁気と地震の関係がどう結びつくのか、??わからないままですが、・・・ 京都大学大学院理学研究科附属地磁気世界資料解析センターのHP内にある地磁気データサービスで、グラフを見ると、あるグラフでは磁気の増減が見受けられます。 東日本大震災後、マグニチュード5.0以上の地震の場合、あるグラフを(複数)みると変動があります。 磁気の変動は自分、物理学や数学が苦手ですが、グラフのX・Y・Z・T・Fなどの記号や変動の差の最低限の基礎がわかればありがたいです。 初質問ですがよろしくお願いいたします。

  • C言語でPBYTE型からDOUBLE型へ変換

    以下、角速度、加速度、地磁気をセンシング可能なセンサが3種類あります。 ・ジャイロセンサー(3軸) 検出範囲:±1000 dps、 ・加速度センサー (3軸) 検出範囲:±6G、 ・地磁気センサー (3軸) 検出範囲:0.6 mT、感度:0.3 uT/LSB 今、センサからそれぞれ、1サンプルあたり16バイトの諧調値を表す データがサンプリング周波数毎に送られてきます。 私が実装したのはセンサデータをサンプリング毎に 以下の配列dataに格納するところまでです。 この配列dataに -?~+?のデータが格納されます。 //X軸だけの例 PBYTE data[6]; data[0]→加速度センサX軸の上位バイト data[1]→加速度センサX軸の下位バイト data[2]→角速度センサX軸の上位バイト data[3]→角速度センサX軸の下位バイト data[4]→地磁気センサX軸の上位バイト data[5]→地磁気センサX軸の下位バイト //ここで、質問になります。 この諧調値が入っている配列dataをdouble型配列 に変換したいのです。言語はC言語になります。 固定長から変換するので当然誤差が入って構いません。 おそらく、最上位ビットは符号ビットと思われます。 センサの静止状態で取得してみたデータ例があります。 //取得データ例(すべてX軸) data[0]→128'・' data[1]→162'l' data[2]→0 data[3]→28'' data[4]→255'・' data[5]→190'セ' 私のポンコツ頭では難しいです。 どうか助けてください。よろしくお願いします。