(57)【要約】【課題】  ２軸磁気センサを用いた場合であっても、３軸磁気センサを用いて計測した場合と同等な性能が得られる姿勢検知方法を提供すること。【解決手段】  コンピュータ１０１が、２軸磁気センサ１０８で計測された磁気ベクトルの２つの軸方向の成分と、予め計測された磁気ベクトルの所定ベクトル長とから、磁気ベクトルの２つの軸のなす平面の法線方向の成分を計算する手順と、加速度センサ１０９で計測された重力ベクトルから鉛直方向に対するピッチ角およびロール角を計算し、計測された磁気ベクトルの２つの軸方向の成分および計算された法線方向の成分を合成した磁気ベクトルを、重力ベクトルから定義される水平面に投影してその射影から方位を計算する手順とからなる姿勢検知方法。【選択図】      図１
2006194725.tif 000002
【特許請求の範囲】
【請求項１】
２軸磁気センサと加速度センサとが接続されたコンピュータにおける姿勢検知方法であって、
前記コンピュータが、
前記２軸磁気センサで計測された磁気ベクトルの２つの軸方向の成分と、予め計測された前記磁気ベクトルの所定ベクトル長とから、前記磁気ベクトルの前記２つの軸のなす平面の法線方向の成分を計算する手順と、
前記加速度センサで計測された重力ベクトルから鉛直方向に対するピッチ角およびロール角を計算し、計測された前記磁気ベクトルの２つの軸方向の成分および計算された前記法線方向の成分を合成した磁気ベクトルを、前記重力ベクトルから定義される水平面に投影してその射影から方位を計算する手順と、
を実行することを特徴とする姿勢検知方法。
【請求項２】
前記コンピュータは、
前記法線方向の成分を計算する手順において、
前記法線方向の成分を、次に示す数式１により計算すること、
を特徴とする請求項１に記載の姿勢検知方法。
【数１】
2006194725.tif 000014
ただし、式１において、Ｚは磁気ベクトルの法線方向の成分、ＸおよびＹは磁気ベクトルの計測された２つの軸方向の成分、Ｍは所定ベクトル長をそれぞれ示す。
【請求項３】
前記コンピュータは、
前記法線方向の成分を計算する手順の前に、
所定時間内に前記２軸磁気センサで計測された前記磁気ベクトルの２つの軸方向の成分を合成し、その最大値を前記所定ベクトル長として記憶する手順、
をさらに含んで実行することを特徴とする請求項１または請求項２に記載の姿勢検知方法。
【請求項４】
前記コンピュータは、
前記法線方向の成分を計算する手順において、
前記法線方向の成分を正であると仮定した場合および負であると仮定した場合に、計測された前記磁気ベクトルの２つの軸方向の成分および計算された前記法線方向の成分を合成し、この合成した磁気ベクトルと、前記重力ベクトルとのなす角度を計算し、この計算結果が当該地点の伏角に近い方の仮定を正しいとして、前記法線方向の成分の符号を決めること、
を特徴とする請求項１ないし請求項３のいずれか１項に記載の姿勢検知方法。
【請求項５】
コンピュータに、請求項１ないし請求項４のいずれか１項に記載の姿勢検知方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気センサと加速度センサとを用いた姿勢検知方法およびそのプログラムに係り、特に、２軸磁気センサを用いた姿勢検知方法およびそのプログラムに関する。
【背景技術】
【０００２】
携帯電話や携帯情報端末などの移動端末に磁気センサを組込み、その磁気センサにより方位を計測することが実現されている。また、このような移動端末において、正確な姿勢を検知することができれば、その姿勢情報を地図情報の直感的な表示などに利用することができる。しかしながら、このような移動端末においてはユーザの姿勢や保持の仕方により、磁気センサが傾斜し、正確な計測が困難となる場合がある。
このような問題点を考慮した方位を計測する技術として、例えば、特許文献１には、磁気センサと加速度センサなどの傾斜センサを組み合わせて得られる情報を用いて、利用者の姿勢や持ち方による磁気センサの傾斜の影響（ピッチ角、ロール角）を補正し、正確な方位を算出する方位測定方法が開示されている。
【特許文献１】特開２００２−１９６０５５号公報（段落００１８〜００２６、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載された方位測定方法では、３軸磁気センサを用いることで、磁気ベクトルを直接計測しているが、３軸磁気センサよりも２軸磁気センサの方が安価であり、磁気センサに２軸磁気センサを用いた場合でも、３軸磁気センサと同等の正確さで、携帯電話や携帯情報端末の正確な姿勢検知が可能となれば、システムを従来技術より安価に構成することが可能となる。しかしながら、安価な２軸磁気センサと加速度センサとを組み合わせて、移動体の姿勢検知、方位を計測する技術は、従来開示されていない。
【０００４】
したがって、本発明が解決しようとする課題は、２軸磁気センサを用いて、３軸磁気センサを用いた場合と同等な性能が得られる姿勢検知方法およびこの姿勢検知方法をコンピュータに実行させるプログラムを提供することである。
【課題を解決するための手段】
【０００５】
前記の課題を解決するためになされ本発明に係る姿勢検知方法は、コンピュータが、２軸磁気センサで計測された磁気ベクトルの２つの軸方向の成分と、予め計測された磁気ベクトルの所定ベクトル長とから、磁気ベクトルの２つの軸のなす平面の法線方向の成分を計算する手順と、加速度センサで計測された重力ベクトルから鉛直方向に対するピッチ角およびロール角を計算し、計測された磁気ベクトルの２つの軸方向の成分および計算された法線方向の成分を合成した磁気ベクトルを、重力ベクトルから定義される水平面に投影してその射影から方位を計算する手順を実行する。
また、本発明に係る姿勢制御方法は、コンピュータに実行させるプログラムの形態で具現することができる。
【発明の効果】
【０００６】
本発明によると、加速度センサと組み合わせる磁気センサに、２軸磁気センサを用いて、３軸磁気センサを用いた場合と同等な姿勢検知を行なうことができる。
【発明を実施するための最良の形態】
【０００７】
以下、添付した図面を参照しつつ、本発明の実施の形態を詳細に説明する。
【０００８】
（姿勢検知ユニット）
図１は、本実施の形態の姿勢検知ユニット１０１と、これを内蔵する携帯電話や携帯情報端末などの移動端末１との関係を示す図である。姿勢検知ユニット１０１は、移動端末１に内蔵されるユニットであり、インターフェイス１０２および通信線１１０を介して移動端末１に検知した姿勢に関する情報などを送信することができる。
【０００９】
図１の下部には、本実施の形態の姿勢検知ユニット１０１の機能ブロックが示されており、本実施の形態の姿勢検知ユニット１０１は、インターフェイス１０２、ＣＰＵ（Central Processing Unit）１０３、Ａ／Ｄ変換装置１０４、ＲＯＭ（Read Only Memory）１０５およびＲＡＭ（Random Access Memory）１０６が内部バス１０７により相互に接続され、Ａ／Ｄ変換装置１０４には磁気センサ１０８および加速度センサ１０９が接続されて構成されている。また、インターフェイス１０２は、通信線１１０を介して移動端末１と情報を送受信することができる。
【００１０】
インターフェイス１０２は、姿勢検知ユニット１０１を内蔵する移動端末１との情報のやりとりを仲介する回路である。また、ＣＰＵ１０３は、内部バス１０７を介して、ＲＯＭ１０５に格納されたプログラムをＲＡＭ１０６に展開して実行し、さらに演算途中の一時データをＲＡＭ１０６に格納する。さらに、ＣＰＵ１０３は、Ａ／Ｄ変換装置１０４に磁気センサ１０８および加速度センサ１０９からのアナログ値のサンプリングを指示するとともに、Ａ／Ｄ変換装置１０４が内蔵するレジスタに保存されたディジタル値を読み出し、インターフェイス１０２を介して移動端末１と演算結果である姿勢情報などの情報のやりとりの指示を行う。
【００１１】
また、ＲＡＭ１０６は、演算途中の結果の一時保存や、ＲＯＭ１０５に格納されたプログラムをＣＰＵ１０３が展開する際に利用され、ＲＯＭ１０５は、後記する姿勢検知プログラムおよび緯度経度に対応する地磁気の伏角の情報が格納されたテーブルが記憶されている。Ａ／Ｄ変換装置１０４は、ＣＰＵ１０３からの指示により、磁気センサ１０８、加速度センサ１０９が出力するアナログ値をサンプリングし、ディジタル化し、Ａ／Ｄ変換装置１０４に内蔵されたレジスタに、ディジタル化した値を保存する。
【００１２】
さらに、磁気センサ１０８は、計測した磁気を、Ｘ軸成分およびＹ軸成分のそれぞれについて、アナログ値で出力することが可能な２軸磁気センサであり、加速度センサ１０９は、計測した加速度を、Ｘ軸成分、Ｙ軸成分およびＺ軸成分のそれぞれについて、アナログ値で出力することが可能な３軸加速度センサである。
【００１３】
図１には、姿勢検知ユニット１０１と移動端末１との座標系の関係も示されており、姿勢検知ユニット１０１に内蔵された磁気センサ１０８および加速度センサ１０９の座標系は一致して姿勢検知ユニット１０１としての座標系をなし、さらに、この姿勢検知ユニット１０１の座標系と、移動端末１の座標系とは一致している。
【００１４】
本実施の形態において、姿勢検知ユニット１０１が静止状態にある場合には、磁気センサ１０８は地磁気ベクトルを出力し、加速度センサ１０９は重力ベクトルを示すものとする。また、本実施の形態の姿勢検知ユニット１０１では、磁気センサ１０８および加速度センサ１０９の計測に先立って、静止状態においてキャリブレーション処理の必要があり、これについては後記する。
【００１５】
（姿勢検知方法）
次に、図２は、図１に示した姿勢検知ユニット１０１において、ＲＯＭ１０５に記憶された姿勢検知プログラムを実行したときの姿勢検知方法を説明する図面である。図２に示すように、本実施の形態の姿勢検知方法は、キャリブレーション処理である磁気ベクトル長取得手順（ステップＳ２０１）、磁気センサ１０８で計測される磁気ベクトルのＸ軸成分およびＹ軸成分からＺ軸成分を計算する磁気Ｚ軸成分計算手順（ステップＳ２０２）、磁気センサ１０８および加速度センサ１０９で計測される情報から姿勢検知ユニット１０１（移動端末１）の姿勢を計算する姿勢検知手順（ステップＳ２０３）、および姿勢検知の結果から姿勢検知ユニット１０１（移動端末１）の方位を計算する方位計算手順（ステップＳ２０４）からなる。
以下、図２を参照しつつ、本実施の形態の姿勢検知方法の各手順を詳細に説明する（適宜、図１参照）。
【００１６】
まず、移動端末１の電源を投入して移動端末１の姿勢検知を行う前、または、移動端末１の位置が大きく変わるなどして、周囲の磁気ベクトル長が変化した場合には、キャリブレーション処理である磁気ベクトル長取得手順（ステップＳ２０１）が必要となる。これは、本実施の形態の姿勢検知ユニット１０１は、２軸の磁気センサ１０８を用いるため、ＸＹ平面と磁気ベクトルとが平行になったときのＸＹ平面上における磁気ベクトル長を取得する必要があるためである。
【００１７】
この磁気ベクトル長取得手順（ステップＳ２０１）において、ユーザなどは、例えば、図３（ａ）または図３（ｂ）に示すように、移動端末１を、地面に垂直な軸を中心に回転させるキャリブレーション動作を行なう必要がある。このキャリブレーション動作では、移動端末１のＸＹ平面、つまり、姿勢検知ユニット１０１のＸＹ平面を地面と垂直に保持し、その垂直を保ったまま３６０度以上回転させる。このキャリブレーション動作において、磁気ベクトル長取得手順（ステップＳ２０１）として、姿勢検知ユニット１０１は、磁気センサ１０８で計測される最も長い磁気ベクトル長を取得する。
【００１８】
この磁気ベクトル長取得手順（ステップＳ２０１）は、電源投入時など磁気ベクトル長取得が必要なときに、ユーザなどに、キャリブレーション動作の実行を促すメッセージを移動端末１の表示画面に表示する構成としてもよい。また、ユーザなどが特にキャリブレーションを実施したい場合には、移動端末１の表示画面にキャリブレーションを行なうメニューを表示し、これを選択することにより磁気ベクトル長取得手順（ステップＳ２０１）を実行する構成としてもよい。
【００１９】
ここで、図４は、磁気ベクトル長取得手順（ステップＳ２０１）を詳しく説明するフローチャートである。ここでは、所定時間に、例えば、１０秒の間に、ユーザが、図３（ａ）または図３（ｂ）に示すように、移動端末１を３６０度以上回転させるキャリブレーション動作を行なうこととする。この１０秒間のキャリブレーション動作において、移動端末１の画面には、例えば、「磁気ベクトル長取得中」という表示が行われ、同時に断続的なブザー音が出力されることで、ユーザに、移動端末１が磁気ベクトル長取得手順（ステップＳ２０１）を実行中であることを知らせる。
【００２０】
磁気ベクトル長取得手順（ステップＳ２０１）が開始されると、姿勢検知ユニット１０１は、磁気ベクトル長を格納する変数Ｍおよび一時的な磁気ベクトル長の計測結果を代入する変数である変数ＭXY#MAXを'０'に設定する初期化を行なう（ステップＳ２０１１）。次に、キャリブレーション動作の動作時間が格納される時間変数ｔを'０'に設定する初期化を行なう（ステップＳ２０１２）。これ以降、時間変数ｔには、移動端末１のクロックから取得したステップＳ２０１２からの経過時間が格納される。
【００２１】
次に、姿勢検知ユニット１０１は、磁気センサ１０８が計測した現在の磁気ベクトルのＸ軸成分を取得して変数Ｘに代入し、Ｙ軸成分を取得して変数Ｙに代入する（ステップＳ２０１３）。そして、ＸＹ平面上の現在の磁気ベクトル長ＭXYを次に示す式により算出する（ステップＳ２０１４）。
【数２】
2006194725.tif 000003
【００２２】
次に、変数ＭXY#MAXの値と、ステップＳ２０１４で算出されたＸＹ平面上の現在の磁気ベクトル長ＭXYとを比較して（ステップＳ２０１５）、ＸＹ平面上の現在の磁気ベクトル長ＭXYの方が大きい場合は（ステップＳ２０１５で'Ｙｅｓ'の場合）、変数ＭXY#MAXにＸＹ平面上の現在の磁気ベクトル長ＭXYを代入し（ステップＳ２０１６）、ＸＹ平面上の現在の磁気ベクトル長ＭXYの方が大きくない場合は（ステップＳ２０１５で'Ｎｏ'の場合）、そのまま、次のステップＳ２０１７に進む。
【００２３】
そして、時間変数ｔが１０秒に達したか否かを判定して（ステップＳ２０１７）、１０秒以内の場合は（ステップＳ２０１７で'Ｎｏ'の場合）、ステップＳ２０１３に戻って磁気ベクトル長の取得を繰り返し、１０秒を過ぎていた場合は（ステップＳ２０１７で'Ｙｅｓ'の場合）、磁気ベクトル長取得手順（ステップＳ２０１）において取得すべき最大の磁気ベクトル長Ｍを、一連のキャリブレーション動作で取得した磁気ベクトル長ＭXY#MAXとして（ステップＳ２０１８）、処理を終了する。
これにより、この１０秒の間に、ユーザなどにより移動端末１は、３６０度以上回転させられ、移動端末１の姿勢検知ユニット１１０は、その間に計測した磁気ベクトル長ＭXYの最大値を、磁気ベクトル長取得手順（ステップＳ２０１）において求める磁気ベクトル長ＭXY#MAXとして取得する。
【００２４】
以上、説明したキャリブレーション処理である磁気ベクトル長取得手順（ステップＳ２０１）が終了すると、姿勢検知ユニット１０１は、姿勢検知が可能な状態となる。
【００２５】
次に、図２に戻って、姿勢検知ユニット１０１は、磁気ベクトル長取得手順（ステップＳ２０１）で取得した磁気ベクトル長Ｍを用いて、移動端末１の２軸の磁気センサ１０８で計測しているＸＹ平面上の現在の磁気ベクトル長を差し引くことで、２軸の磁気センサ１０８では計測できない現在の磁気ベクトルのＺ軸成分を計算する磁気Ｚ軸成分計算手順（ステップＳ２０２）を実行する。
【００２６】
ここで、図５は、磁気Ｚ軸成分計算手順（ステップＳ２０２）を詳しく説明するフローチャートである。図５に示したフローチャートを参照しつつ、磁気Ｚ軸成分計算手順を詳しく説明する（適宜、図１参照）。
なお、図５に示したフローチャートにおいて、磁気ベクトル長取得手順（ステップＳ２０１）で取得した磁気ベクトル長を定数Ｍ、２軸の磁気センサ１０８で計測している現在の磁気ベクトルのＸ軸成分およびＹ軸成分をそれぞれ、変数Ｘおよび変数Ｙとし、求めるＺ軸成分を変数Ｚとする。
【００２７】
まず、姿勢検知ユニット１０１は、磁気センサ１０８が計測した、現在の磁気ベクトルのＸ軸成分、Ｙ軸成分を取得して、Ｘ軸成分を変数Ｘに代入し、Ｙ軸成分を変数Ｙにそれぞれ代入する（ステップＳ２０２１）。
【００２８】
次に、ステップＳ２０２１で代入された結果に基づいて、ＸＹ平面上の現在の磁気ベクトル長を示す変数ＭXYを次に示す式により算出する（ステップＳ２０２２）。
【数３】
2006194725.tif 000004
【００２９】
次に、磁気ベクトル長取得手順（ステップＳ２０１）で取得した磁気ベクトル長Ｍと、数式３により算出されたＸＹ平面上の現在の磁気ベクトル長ＭXYとを比較して（ステップＳ２０２３）、ＭXYの方が大きい場合は（ステップＳ２０２３で'Ｙｅｓ'の場合）、磁気ベクトル長取得手順（ステップＳ２０１）に戻り、ＭXYの方が大きくない場合は（ステップＳ２０２３で'Ｎｏ'の場合）、後段側の手順に進む。
【００３０】
ここで、磁気ベクトル取得手順（ステップＳ２０１）に戻る理由は次のとおりである。本来磁気ベクトル長の最大値は、移動端末１の電源投入直後などのタイミングで実行された磁気ベクトル長取得手順（ステップＳ２０１）で取得され、磁気ベクトル長Ｍとして格納されているはずである。しかし、磁気ベクトル長Ｍの値と比較して等しいかまたは小さいはずのＸＹ平面上の現在の磁気ベクトル長ＭXYの値が、磁気ベクトル長Ｍの値よりも大きいということは、移動端末１の周囲の磁気ベクトル長が変化したということを示している。よって磁気ベクトル長取得手順（ステップＳ２０１）を再度行うことにより、正しい現在の磁気ベクトル長Ｍを取得する必要があるためである。
【００３１】
次に、磁気ベクトル長ＭおよびＸＹ平面上の現在の磁気ベクトル長ＭXYから、現在の磁気ベクトルのＺ軸成分Ｚを次に示す式により算出する（ステップＳ２０２２）。
【数４】
2006194725.tif 000005
【００３２】
次に、Ｚ軸が正であると仮定した場合に、計測されたＸ軸成分およびＹ軸成分と、計算されたＺ軸成分を合成した現在の磁気ベクトルと加速度ベクトル（重力ベクトル）のなす角と、Ｚ軸が負であると仮定した場合に磁気ベクトルと加速度ベクトル（重力ベクトル）のなす角度とをそれぞれ計算しどちらが現在位置（緯度経度）における地磁気の伏角に近いかを判定し、現在位置（緯度経度）の地磁気の伏角に近い方を仮定が正しいとして、磁気ベクトルのＺ軸成分の符号を決定する（ステップＳ２０２５）。
【００３３】
ステップＳ２０２５において、現
在位置（緯度経度）の情報は、例えば、移動端末１に内蔵されたＧＰＳ（Global Positioning System）により入手することができる。また、この現在地の情報から、地磁気の伏角を求める方法は、姿勢検知ユニット１０１のＲＯＭに記憶された緯度経度とそれに対応する伏角を格納したデータベースから取得する、または移動端末１から図示しない外部のサーバなどに問い合わせして、当該緯度経度に対応する伏角の情報を取得することもできる。
【００３４】
以上、説明した磁気Ｚ軸成分計算手順（ステップＳ２０２）によって、２軸の磁気センサを用いた場合であっても、３軸の磁気センサを用いて取得したのと同等な磁気ベクトルの３軸成分を得ることができる。
【００３５】
次に、図２に戻って、姿勢検知ユニット１０１は、磁気センサ１０８で計測される現在の磁気ベクトルのＸ軸成分およびＹ軸成分と、加速度センサ１０９で計測される加速度ベクトルと、磁気Ｚ軸成分計算手順（ステップＳ２０２）で求めた現在の磁気ベクトルのＺ軸成分とから、姿勢検知ユニット１０１（移動端末１）の姿勢検知を行う姿勢検知手順（ステップＳ２０３）を行う。
【００３６】
この姿勢検知手順（ステップＳ２０３）について、図６の（ａ）ないし（ｄ）に示した姿勢検知手順を説明する図面を用いて、詳しく説明する。
なお、本実施の形態において、姿勢検知とは、Ｘ軸、Ｙ軸、Ｚ軸それぞれについての回転角（オイラー角）を求めることを指している。また、姿勢検知は、姿勢検知ユニット１０１（移動端末１）の姿勢を一意に定めることができればよいため、例えば、回転の中心軸（回転の中心となるベクトル）および回転角度を求めることや、クォータニオン（四元数）などを用いることなど、公知の様々な姿勢検知手法を用いることができる。
【００３７】
はじめに、図６（ａ）は、姿勢検知ユニット１０１で計測された磁気ベクトルのＸ軸成分およびＹ軸成分と、磁気Ｚ軸成分計算手順（ステップＳ２０２）において算出された磁気ベクトルのＺ軸成分とを合成した磁気ベクトルｍと、加速度センサ１０９で計測された加速度ベクトルｇとを姿勢検知ユニット１０１の座標系に示したものである。ここで、磁気ベクトルｍおよび加速度ベクトルｇを成分表示すると、次のように示される。
【数５】
2006194725.tif 000006
【００３８】
図６（ｂ）は、ロール角であるオイラー角θyを求めるために、図６（ａ）に示した磁気ベクトルｍおよび加速度ベクトルｇをＹ軸まわりに回転させ、加速度ベクトルｇをｚｙ平面上に移動させて、それぞれ磁気ベクトルｍ'と、加速度ベクトルｇ'としたことを示す図である。このとき、磁気ベクトルｍ'、加速度ベクトルｇ'を示す式は次のように示される。
【数６】
2006194725.tif 000007
【００３９】
また、このときのオイラー角θyは、加速度ベクトルｇのＸ軸成分とＺ軸成分とから次の式で求められる。
【数７】
2006194725.tif 000008
【００４０】
図６（ｃ）は、ピッチ角であるオイラー角θxを求めるために、図６（ｂ）の磁気ベクトルｍ'と加速度ベクトルｇ'とをＸ軸のまわりに回転させ、加速度ベクトルｇ'をｚｘ平面上に移動させて、それぞれ磁気ベクトルｍ''と、加速度ベクトルｇ''としたことを示す図である。このとき、磁気ベクトルｍ''、加速度ベクトルｇ''を示す式は次のように示される。
【数８】
2006194725.tif 000009
【００４１】
また、このときのオイラー角θxは、加速度ベクトルｇ'のＺ軸成分とＹ軸成分とから次の式で求められる。
【数９】
2006194725.tif 000010
【００４２】
図６（ｄ）は、ヨー角であるオイラー角θzを求めるために、図６（ｃ）の磁気ベクトルｍ''をＺ軸のまわりに回転させ、磁気ベクトルｍ''をｚｘ平面上に移動させて、磁気ベクトルｍ'''としたことを示す図である。このとき、磁気ベクトルｍ'''を示す式は次のように示される。
【数１０】
2006194725.tif 000011
【００４３】
また、このときのオイラー角θZは、磁気ベクトルｍ''のＹ軸成分とＸ軸成分とから次の式で求められる。
【数１１】
2006194725.tif 000012
【００４４】
以上の手順で得られた、各オイラー角θx、θyおよびθzが、姿勢検知ユニット１０１の姿勢を示す情報となる。
【００４５】
次に、図２に戻って、姿勢検知ユニット１０１は、姿勢検知手順（ステップＳ２０３）で得られた姿勢検知ユニット１０１の姿勢（θx，θy，θz）、つまり加速度ベクトルｇ（重力ベクトル）の方位から水平面を得て、この水平面に磁気ベクトルを投影した場合の方位角を計算する方位計算手順（ステップＳ２０４）を行なう。
【００４６】
例えば、図６を参照して、図６（ｃ）では、加速度ベクトルｇ''と、姿勢検知ユニット１０１の座標系のＺ軸とが重なるように回転移動したため、図６（ｃ）のＸＹ平面は、水平面となる。したがって、磁気ベクトルｍ''を水平面であるＸＹ平面に投影し、この磁気ベクトルｍ''の射影とＸ軸とのなす角が方位角となる。これは、つまり前記したヨー角であるオイラー角θzであり、北を示す方位角θNは、数式１０と同様に次の式で求められる。
【数１２】
2006194725.tif 000013
【００４７】
なお、この方位計算手順（ステップＳ２０３）では、回転の中心軸および回転角度により姿勢を表した場合や、クォータニオンを用いて姿勢を表した場合であっても、同様に水平面に磁気ベクトルを投影することで方位角を求めることができる。
【００４８】
以上の手順により、姿勢検知ユニット１０１の姿勢検知がなされ、姿勢検知ユニット１０１は、計算した自身の姿勢および方位の情報を、通信線１１０を介して移動端末１側に受け渡し、移動端末１は、この取得した計算結果に基づいて、ナビゲーションなどの表示を行うことができる。
【００４９】
（移動端末）
次に、図７は、姿勢検知ユニット１０１を内蔵する移動端末１のブロック構成図である。図７に示すように、移動端末１は、通信端末ユニット７０１、表示制御部７０２、スイッチ入力部７０３、通信端末制御部７０４、ＧＰＳ処理部７０５および通信処理部７０６を含んで構成される。
【００５０】
本実施の形態では、移動端末１は、コンピュータを内蔵した携帯電話で具現され、例えば、表示画面および操作ボタンを備えた端末である。
通信端末ユニット７０１は、通信線１１０を介して姿勢検知ユニット１０１と接続されており、表示制御部７０２、スイッチ入力部７０３、通信端末制御部７０４、ＧＰＳ処理部７０５、通信処理部７０６から構成されている。
表示制御部７０２は、通信端末制御部７０４の指示を受け、表示画面に姿勢検知結果や、姿勢検知結果を利用した地図表示、方位表示などの表示を行う。
スイッチ入力部７０３は、移動端末１の表面にある操作ボタンからの入力を受け取り、通信端末制御部７０４に信号を送る。
通信端末制御部７０４は、通信線１１０を介して姿勢検知結果や方位計算の結果を受け取り、通信端末ユニット７０１全体の制御を行う。
また、通信端末制御部７０４は、図示しないＲＡＭおよびＲＯＭが内蔵されており、そのＲＡＭには、サーバからダウンロードした地図情報データなどが格納されている。さらに、ＲＯＭには地図を３次元表示するための計算プログラム、方位計算結果を表示するためのプログラムなどが格納されている。
ＧＰＳ処理部７０５は、ＧＰＳ衛星からの電波を受け取り、通信端末制御部７０４に対して現在位置の緯度経度情報を伝える。通信処理部７０６は、電波の送受信に必要なアナログ回路を内蔵しており、通信端末制御部７０４の指示を受け、通信に必要な処理を行う。
【００５１】
図８（ａ）ないし（ｃ）は、移動端末１における姿勢検知結果を利用した３次元地図の表示例である。図８において、参照符号９０１および参照符号９０２は、地図上の建造物ａおよび建造物ｂをそれぞれ示している。図８（ａ）は、移動端末１を立てて持った場合の表示例であり、図８（ｂ）は、移動端末１を横に持った場合の表示例であり、図８（ｃ）は、移動端末１の表示画面が上向きとなるように持った場合の表示例である。
図８（ｂ）および図８（ｃ）の場合、表示画面の縦横比の関係から、図８（ａ）のときには表示されていなかった、建造物ｂ９０２が表示されることがわかる。また、図８（ｃ）のように移動端末１を持つと、表示画面に表示される地図が、２次元地図（平面地図）となっており、建造物ａ９０１、建造物ｂ９０２がそれぞれ方形で示され、移動端末１の利用者が、周囲をある程度の高さから見下ろした地図となって表示される。
【００５２】
このように、本実施の形態にかかる姿勢検知ユニット１０１を、移動端末１に内蔵することにより、移動端末１の姿勢検知が可能となり、ユーザが直感的にわかり易い地図情報の表示など、姿勢検知結果を元にした情報処理が可能となる。
【図面の簡単な説明】
【００５３】
【図１】姿勢検知ユニットと、これを内蔵する移動端末との関係を示す図面である。
【図２】姿勢検知方法を説明するフローチャートである。
【図３】移動端末のキャリブレーション動作を説明する図面である。
【図４】磁気ベクトル長取得手順のフローチャートである。
【図５】磁気Ｚ軸成分計算手順のフローチャートである。
【図６】姿勢検知手順を説明する図
【図７】姿勢検知ユニットを内蔵する移動端末のブロック構成図である。
【図８】姿勢検知結果を利用した３次元地図の表示例である。
【符号の説明】
【００５４】
１０１  姿勢検知ユニット
１０２  インターフェイス
１０３  ＣＰＵ
１０４  Ａ／Ｄ変換装置
１０５  ＲＯＭ
１０６  ＲＡＭ
１０８  磁気センサ
１０９  加速度センサ
【図１】
2006194725.tif 000015
【図２】
2006194725.tif 000016
【図３】
2006194725.tif 000017
【図４】
2006194725.tif 000018
【図５】
2006194725.tif 000019
【図６】
2006194725.tif 000020
【図７】
2006194725.tif 000021
【図８】
2006194725.tif 000022