(57)【要約】【課題】特定条件下において加速度センサの出力を用いずに磁気センサの出力に基づいて鉛直方向を導出する。【解決手段】基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力する入力手段と、前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する鉛直方向導出手段と、を備える磁気データ処理装置。【選択図】図３
2008215915.tif 000002
【特許請求の範囲】
【請求項１】
基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力する入力手段と、
前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する鉛直方向導出手段と、
を備える磁気データ処理装置。
【請求項２】
前記鉛直方向導出手段は、前記母集団データ群の分布の最小の主値に対応する固有ベクトルの方向を前記鉛直方向データとして導出する、
請求項１に記載の磁気データ処理装置。
【請求項３】
前記鉛直方向導出手段は、前記母集団データ群をｑｉＴ=(qix,qiy,qiz) (i=0,1,2・・・,N-1)、ベクトルＱをｑｉの重心とするとき、次式（１）で定義される行列Ｂの最小の固有値に対応する固有ベクトルの方向を前記鉛直方向データとして導出する、
請求項２に記載の磁気データ処理装置。
【数１】
2008215915.tif 000016
【請求項４】
前記鉛直方向導出手段は、前記行列Ｂの最大の固有値λ１と最小の固有値λ３とについて、λ３／λ１＜ｒ（ｒは定数）が満たされるとき、最小の固有値λ３に対応する固有ベクトルの方向を前記鉛直方向データとして導出する、
請求項３に記載の磁気データ処理装置。
【請求項５】
前記鉛直方向導出手段は、前記行列Ｂの最大の固有値λ１について、λ１＞ｓ（ｓは定数）が満たされるとき、最小の固有値λ３に対応する固有ベクトルの方向を前記鉛直方向データとして導出する、
請求項３に記載の磁気データ処理装置。
【請求項６】
前記磁気データと前記鉛直方向データとに基づいて方位を基準とする前記３次元磁気センサの姿勢を示す３次元の姿勢データを導出する姿勢導出手段をさらに備える、
請求項１に記載の磁気データ処理装置。
【請求項７】
前記姿勢データに基づいて画面上で方位を示すための一次元の方位データを導出する方位導出手段をさらに備える、
請求項６に記載の磁気データ処理装置。
【請求項８】
請求項１から７のいずれか一項に記載の磁気データ処理装置と、
前記３次元磁気センサと、
を備える磁気処理システム。
【請求項９】
基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力し、
前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する、
ことを含む磁気データ処理方法。
【請求項１０】
基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力する入力手段と、
前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する鉛直方向導出手段と、
してコンピュータを機能させる磁気データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気データ処理装置、方法およびプログラムならびに磁気処理システムに関し、特に加速度センサを用いずに姿勢や方位を導出する技術に関する。
【背景技術】
【０００２】
近年、ＰＤＡ（Personal Digital Assistant）、携帯型電話機、車両等の移動体への磁気センサと加速度センサの搭載が進んでいる。磁気センサは、磁界のベクトルを互いに直交する成分に分解して検出するための磁気センサモジュールを備えている。磁気センサの出力である磁気データは、そのような磁気センサモジュールのそれぞれの出力の組み合わせからなり、互いに直行する基本ベクトルの一次結合であるベクトルデータである。磁気データの方向と大きさが磁気センサが検出している磁界の方向と大きさである。加速度センサは、静止状態において重力加速度を検出するため、鉛直方向を基準とする移動体の傾きを検出することもできる。移動体を基準とする地磁気の方向と鉛直方向を基準とする移動体の傾きが特定されると、方位を基準とする移動体の姿勢を導出することができる。
【０００３】
【特許文献１】国際公開第ＷＯ／２００６−００９２４７号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、方位を基準とする移動体の姿勢を導出するためには、従来、磁気センサと加速度センサの両方が必要であった。
【０００５】
本発明は、特定条件下において加速度センサの出力を用いずに磁気センサの出力に基づいて移動体の姿勢を導出することを目的とする。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するための磁気データ処理装置は、基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力する入力手段と、前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する鉛直方向導出手段と、を備える。
【０００７】
この磁気データ処理装置によると、およそ鉛直方向軸を中心にして移動体が回転する条件下において、加速度センサの出力を用いずに、磁気センサの姿勢を基準とする鉛直方向を導出することができる。その理由は次の通りである。鉛直方向軸を中心にして三次元磁気センサを搭載した移動体が回転するとき、３次元磁気センサから出力される磁気データは平面上に分布する。したがって、およそ鉛直方向軸を中心にして移動体が回転するとき３次元磁気センサから出力される磁気データの分布は偏平になるため、その分布を平面で近似することができる。そして、その近似平面の垂線は鉛直方向軸に一致するため、この磁気データ処理装置は、およそ鉛直方向軸を中心にして移動体が回転する条件下において、加速度センサの出力を用いずに磁気センサの姿勢を基準とする鉛直方向を導出することができる。およそ鉛直方向軸を中心にして移動体が回転する条件は、例えばおよそ水平面を平行移動する自動車や列車や船舶などの地上輸送機械・海上輸送機械や、そのような輸送機械に固定されるＰＤＡやノート型パーソナルコンピュータなどの情報機器などの移動体の運動において成立する。そして、このような条件下で鉛直方向を導出できる効果は、使用時にはほぼ一定の姿勢が保たれるが、常に特定の姿勢では使用されない移動体について有意である。すなわち例えば、任意の姿勢で車載されるＰＤＡがどのような姿勢で車両に取り付けられたかは、この磁気データ処理装置を用いることにより特定可能になる。なお、「規定範囲」とは１つ以上の閾値によって定まる範囲である。また、鉛直方向データは、鉛直方向を特定可能なデータであればよく、行列を示す配列、複数の角度の配列などによって表現される。
【０００８】
（２）上記目的を達成するための磁気データ処理装置において、前記鉛直方向導出手段は、前記母集団データ群の分布の最小の主値に対応する固有ベクトルの方向を前記鉛直方向データとして導出してもよい。
【０００９】
分布の固有値は比較的効率よくコンピュータによって導出できるため、この場合、効率よく鉛直方向を導出することができる。
【００１０】
（３）上記目的を達成するための磁気データ処理装置において、前記鉛直方向導出手段は、前記母集団データ群をｑｉＴ=(qix,qiy,qiz) (i=0,1,2・・・,N-1)、ベクトルＱをｑｉの重心とするとき、次式（１）で定義される行列Ｂの最小の固有値に対応する固有ベクトルの方向を前記鉛直方向データとして導出することが好ましい。
【数１】
2008215915.tif 000003
【００１１】
本明細書において、ベクトルは全て列ベクトルとし、行ベクトルは列ベクトルの転置行列として表現される。
【００１２】
（４）上記目的を達成するための磁気データ処理装置において、前記鉛直方向導出手段は、前記行列Ｂの最大の固有値λ１と最小の固有値λ３とについて、λ３／λ１＜ｒ（ｒは定数）が満たされるとき、最小の固有値λ３に対応する固有ベクトルの方向を前記鉛直方向データとして導出してもよい。
【００１３】
この場合、分布の扁平率であるλ３／λ１が０に近いある程度小さい値であるときにのみ、すなわち、移動体の回転軸のぶれが小さいときにのみ、鉛直方向データを導出できるため、鉛直方向の推定精度が向上する。
【００１４】
（５）上記目的を達成するための磁気データ処理装置において、前記鉛直方向導出手段は、前記行列Ｂの最大の固有値λ１について、λ１＞ｓ（ｓは定数）が満たされるとき、最小の固有値λ３に対応する固有ベクトルの方向を前記鉛直方向データとして導出してもよい。
【００１５】
この場合、分布がある程度の広さを持つときにのみ、すなわち、磁気センサの回転角がある程度大きいときにのみ、鉛直方向データを導出できるため、鉛直方向の推定精度が向上する。
【００１６】
（６）上記目的を達成するための磁気データ処理装置において、前記磁気データと前記鉛直方向データとに基づいて方位を基準とする前記３次元磁気センサの姿勢を示す３次元の姿勢データを導出する姿勢導出手段をさらに備えてもよい。
【００１７】
この場合、磁気センサが搭載されている方位を基準とする自由度３の姿勢を導出することができる。
【００１８】
（７）上記目的を達成するための磁気データ処理装置において、前記姿勢データに基づいて画面上で方位を示すための一次元の方位データを導出する方位導出手段をさらに備えてもよい。
【００１９】
３次元情報として方位が表示されるよりも、画面上で一次元情報として方位が表示された方が人間にとっては直感的に方位を理解しやすい状況も多い。この場合、そのような状況において直感的に理解しやすい方位を画面上に表示することを可能にする方位データを導出することができる。
【００２０】
（８）上記目的を達成するための磁気データ処理システムは、上記（１）から（７）のいずれかに記載の磁気データ処理装置と、前記３次元磁気センサと、を備える。
【００２１】
この磁気データ処理システムによると、およそ鉛直方向軸を中心にして移動体が回転する条件下において、加速度センサの出力を用いずに鉛直方向を検出することができる。
【００２２】
（９）上記目的を達成するための磁気データ処理方法は、基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力し、前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する、ことを含む。
【００２３】
この磁気データ処理方法によると、およそ鉛直方向軸を中心にして移動体が回転する条件下において、加速度センサの出力を用いずに鉛直方向を導出することができる。
【００２４】
（１０）上記目的を達成するための磁気データ処理プログラムは、基本ベクトルの一次結合である３次元ベクトルデータであって３次元磁気センサから出力される磁気データを順次入力する入力手段と、前記３次元磁気センサの規定範囲内の回転を示す複数の前記磁気データからなる母集団データ群の分布が偏平であるとき、前記母集団データ群の分布を示す近似平面の垂線方向を鉛直方向を示す鉛直方向データとして導出する鉛直方向導出手段と、してコンピュータを機能させる。
【００２５】
この磁気データ処理プログラムをコンピュータで実行することにより、およそ鉛直方向軸を中心にして移動体が回転する条件下において、加速度センサの出力を用いずに鉛直方向を導出することができる。
【発明を実施するための最良の形態】
【００２６】
以下、ＰＤＡが車両などの輸送機械に取り付けられた状態においてＰＤＡを電子コンパスとして機能させる用途を想定して本発明の一実施形態を以下の順に説明する。
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
［１．全体説明］
１−１．原理説明
１−２．ハードウェア構成
１−３．ソフトウェア構成
［２．処理の流れ］
［３．他の実施形態］
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
【００２７】
［１．全体説明］
１−１．原理説明
図１に示すようにヒンジ３１を備えるベース３３が自動車２のダッシュボードなどに固定されており、ＰＤＡ３がベース３３を介して自動車２に固定される場合、ドライバーはＰＤＡ３の画面を目視しやすいようにＰＤＡ３の取り付け角度を任意に調整することができる。例えば画面と水平面とのなす角度を調整したり、画面を鉛直軸を中心に回転させ、視線が画面の垂線と平行になるように調整することにより、ＰＤＡ３の画面を見やすく調整することができる。本実施形態では、このような状況においてＰＤＡ３の画面上で方位を示すための一次元の方位データを導出する磁気データ処理システムについて説明される。
【００２８】
図２は本実施形態において用いられる座標系を示す模式図である。
ＰＤＡ３に内蔵されている磁気センサ４はＰＤＡ３と一体に運動するため、磁気センサ４とＰＤＡ３とは同一の座標系でその運動や姿勢を一意に表現可能である。そこで、鉛直上向きのベクトルｃ、水平北向きのベクトルｂ、水平東向きのベクトルａを基底とする座標系でＰＤＡ３および磁気センサ４の姿勢を表現するものとする。これらのベクトルが標準基底となるように、ベクトルａ，ｂ，ｃをそれぞれ次式（２）のように定義する。
【数２】
2008215915.tif 000004
【００２９】
ＰＤＡ３に固定された互いに直交する３つの基準軸ｘ，ｙ，ｚの方向を向きとし、大きさが１であるベクトルｘ，ｙ，ｚを標準基底｛ａ，ｂ，ｃ｝の一次結合として表すことはＰＤＡ３の姿勢を表すことに等しい。そこで、ベクトルｘ，ｙ，ｚを次式（３）、（４）、（５）のように基準基底｛ａ，ｂ，ｃ｝の線形結合として係数ｘａ，ｘｂ，ｘｃ，ｙａ，ｙｂ，ｙｃ，ｚａ，ｚｂ，ｚｃを用いて表現するとする。ベクトルｘ，ｙ，ｚは、ベクトルｙの方向とＰＤＡ３の画面の下から上に向かう方向が一致し、ベクトルｚの方向とＰＤＡ３の画面の裏から表に向かう方向が一致しているものとする。
【数３】
2008215915.tif 000005
【００３０】
式（３）、（４）、（５）の関係は次式（６）のように書き換えることができる。
【数４】
2008215915.tif 000006
【００３１】
基準基底を式（２）のように定義しているため、式（６）は次式（７）に変形される。
【数５】
2008215915.tif 000007
【００３２】
ベクトルｘ，ｙ，ｚを１つの行列にまとめて表現した次式（８）の行列Ａを姿勢行列というものとする。行列Ａは直交行列である。直交行列の行列式は一般に１または−１となるが、本実施形態では行列Ａの行列式が１となるようにＰＤＡ３に基準軸を設定している。このように定義された正格直交行列ＡはＰＤＡ３の姿勢と一対一に対応する。
【数６】
2008215915.tif 000008
【００３３】
磁気センサ４から出力される磁気データによって表現される北向きを示す３次元ベクトルをＨとし、鉛直上向きを示す３次元ベクトルをＧと定義する。Ｈ、ＧはＰＤＡ３に固定された座標系で表現されているベクトルデータであり、Ｈは磁気データそのものであり、Ｇは後述する鉛直方向データそのものである。
Ｇ×Ｈ≠０（「×」は外積を表す記号とする。）であるときには姿勢行列Ａを導出することができる。ＧとＨが平行であるときＧ×Ｈ＝０となるが、ＧとＨが平行になることはまずない。
【００３４】
Ｆ＝Ｇ×ＨとなるベクトルＦを定義すると、ベクトルＦはＰＤＡ３に固定された座標系において水平東向きを示すことになる。北方向と鉛直上方向の両方に垂直な方向は水平面上で示される東または西の方向だからである。なお、本実施形態では基準軸ｘ，ｙ，ｚとベクトルＦを定義する外積の順序とからベクトルＦは水平東向きになるが、基準軸ｘ，ｙ，ｚの定義とベクトルＦを定義する外積の順序によってはベクトルＦは水平西向きになる。
【００３５】
また、Ｋ＝Ｆ×ＧとなるベクトルＫを定義すると、ベクトルＫはＰＤＡ３に固定された座標系おいて水平北向きを示すことになる。水平東方向と鉛直方向の両方に垂直な方向は南または北の方向だからである。なお、本実施形態では基準軸ｘ，ｙ，ｚの定義とベクトルＫを定義する外積の順序とからベクトルＫは水平北向きになるが、基準軸ｘ，ｙ，ｚの定義とベクトルＫを定義する外積の順序によってはベクトルＫは水平南向きになる。
【００３６】
このとき、Ｆ，Ｋ，−Ｇをそれぞれ大きさ１に正規化して行ベクトルとして並べた次式（９）の行列は姿勢行列Ａになんらかの回転操作を施したものになる。特にＨおよびＧの基底が基準軸ｘ，ｙ，ｚの方向を向いているときには次式（９）の行列は姿勢行列Ａそのものとなる。
【数７】
2008215915.tif 000009
【００３７】
したがって、磁気センサ４から出力される磁気データと鉛直下向きを示す鉛直方向データとに基づいて方位を基準とするＰＤＡ３の自由度３の姿勢を導出することができる。
【００３８】
次に鉛直方向を示す鉛直方向データを磁気データから導出する原理について説明する。
自動車２などの地上輸送機械や海上輸送機械の運動はほぼ水平面上で行われる。自動車２が旋回するとき、自動車２とともにＰＤＡ３はほぼ鉛直軸を中心に回転運動する。自動車２が坂道で旋回する場合には回転軸が鉛直軸とずれることになるが、この場合であっても、本実施形態においてそのずれによって生ずる鉛直方向の導出誤差は無視できる程度である。
【００３９】
自動車２が３６０度旋回する期間中に、磁気センサ４から離散時間に順次出力される磁気データをＰＤＡ３に固定されている座標系（磁気センサに固定されている座標系でもある。）にプロットすると、図３においてハッチングで示すドーナツ状の領域に分布する。前述したとおり、自動車２はほぼ水平面上を運動しているため回転軸のぶれは小さい。したがって、磁気データの分布は偏平であるため平面に近似することができる。ＰＤＡ３に固定された座標系における鉛直方向軸はその近似平面の垂線にほぼ一致する。したがって、自動車２が回転運動をしているときには、磁気データに基づいてＰＤＡ３に固定された座標系において鉛直方向を推定することができる。本実施形態では、磁気データの分布の主値を利用して分布の近似平面の垂線方向を導出する。
【００４０】
１−２．ハードウェア構成
図４は、磁気センサ４と磁気データ処理装置１とを備える磁気処理システムを示すブロック図である。磁気センサ４は、地磁気による磁界ベクトルのｘ方向成分、ｙ方向成分、ｚ方向成分をそれぞれ検出するｘ軸センサ３０とｙ軸センサ３２とｚ軸センサ３４とを備えている。ｘ軸センサ３０、ｙ軸センサ３２、ｙ軸センサ３４は、いずれも磁気抵抗素子、ホール素子、ＭＩ（Magneto Impedance）素子等で構成され、指向性のある１次元磁気センサであればどのようなものであってもよい。ｘ軸センサ３０、ｙ軸センサ３２、ｚ軸センサ３４は、それぞれの感度軸が互いに直交するように固定されている。ｘ軸センサ３０、ｙ軸センサ３２およびｚ軸センサ３４の出力は、時分割して磁気センサＩ／Ｆ（Inter face）２２に入力される。磁気センサＩ／Ｆ２２では、ｘ軸センサ３０、ｙ軸センサ３２およびｚ軸センサ３４からの入力が増幅された後にＡＤ変換される。磁気センサＩ／Ｆ２２から出力されるディジタルの磁気データは、バス５を介して磁気データ処理装置１に入力される。
【００４１】
磁気データ処理装置１は、ＣＰＵ４０とＲＯＭ４２とＲＡＭ４４とを備えている所謂コンピュータである。ＣＰＵ４０は、例えばＰＤＡ３の全体制御を司るメインプロセッサである。ＲＯＭ４２は、ＣＰＵ４０によって実行される磁気データ処理プログラムや、ＰＤＡ３の機能を実現するための種々のプログラムが格納されている、不揮発性の記憶媒体である。ＲＡＭ４４はＣＰＵ４０の処理対象となるデータを一時的に保持する揮発性の記憶媒体である。尚、磁気データ処理装置１と磁気センサ４とを１チップの磁気処理システムとして構成することもできる。
【００４２】
１−３．ソフトウェア構成
図５は、磁気データ処理プログラム９０の構成を示すブロック図である。磁気データ処理プログラム９０は、方位表示モジュール９８に方位データを提供するためのプログラムであって、ＲＯＭ４２に格納されている。方位データは北の方位を画面上でわかりやすく示すための１次元データである。磁気データ処理プログラム９０は、バッファ管理モジュール９２、鉛直方向導出モジュール９４、方位導出モジュール９６等のモジュール群で構成されている。
【００４３】
バッファ管理モジュール９２は、磁気センサ４から一定時間間隔で磁気データを入力し、入力した磁気データをＦＩＦＯでバッファに蓄積するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２を入力手段として機能させる。このバッファに蓄積される磁気データ群を母集団データ群というものとする。磁気センサ４から一定時間間隔で磁気データ処理装置１に入力されバッファに蓄積されるＮ個の磁気データからなる母集団データ群をｑ０，ｑ１，・・・，ｑＮ−１とする。
【００４４】
鉛直方向導出モジュール９４は、バッファ管理モジュール９２によって保持されている母集団データ群に基づいてＰＤＡ３の回転を検出し、回転を検出すると母集団データ群に基づいて鉛直方向を示す前述の鉛直方向データＧを導出するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２を鉛直方向導出手段として機能させる。
【００４５】
方位導出モジュール９６は、磁気センサ４から順次入力される磁気データと鉛直方向導出モジュール９４が保持している鉛直方向データＧとに基づいて方位データを生成するプログラム部品であって、ＣＰＵ４０、ＲＡＭ４４及びＲＯＭ４２を姿勢導出手段および方位導出手段として機能させる。
【００４６】
方位表示モジュール９８は方位データに基づいて北の方位を示す一次元情報をＰＤＡ３３の画面に表示する。尚、方位データは、単に方位を文字や矢印で画面表示するためにのみ用いられてもよいし、画面上に表示される地図のヘディングアップ処理に用いられてもよい。
【００４７】
［２．処理の流れ］
図６は、ＰＤＡ３の画面に方位を表示する処理の流れを示すフローチャートである。図６に示す処理は、ＰＤＡ３において電子コンパス機能が呼び出されることによりＣＰＵ４０がバッファ管理モジュール９２、鉛直方向導出モジュール９４、方位導出モジュール９６および方位表示モジュール９８を実行することによって進行する。
【００４８】
ステップＳ１００では、鉛直方向導出モジュール９４が保持している鉛直方向データが初期値にリセットされる。初期値は例えばベクトル−ｙ（ベクトルｙの定義は前述したとおりである。）とする。このとき、母集団データ群を蓄積するためのバッファに蓄積されている全ての磁気データが消去される。
【００４９】
ステップＳ１０２では、磁気データが入力されバッファへ格納される。あまりに短い時間間隔で順次磁気センサ４から磁気データを入力すると、限られた容量のバッファに蓄積される磁気データの分布が狭くなるため、自動車２が急旋回するときにしか回転が検出されないことになる。したがって、バッファの更新間隔（すなわち磁気データの入力間隔）は適切に設定されなければならない。
【００５０】
ステップＳ１０４では、方位導出モジュール９６によって方位データが導出される。具体的には、鉛直方向導出モジュール９４が保持している鉛直方向データＧと磁気データとに基づいて前述の姿勢行列Ａの各成分が姿勢データとして導出され、さらに姿勢行列Ａから方位データが導出される。
【００５１】
自動車２とともに３次元運動するＰＤＡ３の姿勢の自由度は３である。３行３列の姿勢行列Ａの成分は９個あるが、直交行列であるため姿勢行列Ａの自由度も３である。直感的に方位を分かりやすくするには、１次元情報として方位を表示することが有用である。例えば角度の大きさで方位を表示したり、画面の４辺のそれぞれに東西南北の文字を表示することにより、直感的に方位を認識可能な表示になる。自由度が３の情報から１次元の情報への写像を定義することにより姿勢行列Ａから一次元の方位データを導出することができる。すなわち、任意の姿勢行列Ａに対して一価関数ｆ（Ａ）が定義されていれば、任意の姿勢行列Ａから一次元の方位データを導出することができる。以下、この一価関数ｆ（Ａ）について説明する。
【００５２】
上述したとおり本実施形態では、ベクトルａ、ベクトルｂ、ベクトルｃを基底として表現されるベクトルｘ，ｙ，ｚについて、ベクトルｙの方向と画面の下から上に向かう方向が一致し、ベクトルｚの方向と画面の裏から表に向かう方向が一致していると仮定されている。このとき、ベクトルｙと水平面とのなす角が９０度よりも十分小さいときには水平面への射影がどの方位を示しているかを表示するための方位データを導出する。ベクトルｙと水平面とのなす角が９０度に近い場合には、ベクトル−ｚの水平面への射影がどの方位を示しているかを表示するための方位データを導出する。このように導出される方位データに基づいて方位を表示することにより、観者は直感的に方位を認識することができる。
【００５３】
姿勢行列Ａのｉ行ｊ列成分をａｉｊとするとａｉｊの大きさはＰＤＡ３の画面と水平面とのなす角度に相関する。したがって閾値ｔについて次式（１０）が成立するときはＰＤＡ３の画面が水平に近いと考える。ｔの値は例えば１／２１／２とする。
【数８】
2008215915.tif 000010
【００５４】
このときベクトルｙの水平面への射影は次式（１１）となるので、２つの値ａ１２、ａ２２の比を逆正接関数に適用することで一次元の方位データを導出することができる。
【数９】
2008215915.tif 000011
【００５５】
閾値ｔについて次式（１２）が成立するときはＰＤＡの画面が垂直に近いと考える。
【数１０】
2008215915.tif 000012
【００５６】
このときベクトル−ｚの水平面への射影は次式（１３）となるので、２つの値−ａ１３，−ａ２３の比を逆正接関数に適用することで一次元の方位データを導出することができる。
【数１１】
2008215915.tif 000013
【００５７】
閾値ｔを境にして計算手法が切り替わるときであっても、以上説明した一価関数ｆ（Ａ）によって導出される方位データに基づいて違和感のない方位表示が可能である。また、姿勢行列Ａから方位データへのこの変換方法は特異点を持たないため、プログラムコードを短縮することができる。
【００５８】
ステップＳ１０６では、方位表示モジュール９８によって方位データに基づいて方位がＰＤＡ３の画面に表示される。具体的には例えば図２に示すように矢印ＤがＰＤＡ３の画面に表示される。
【００５９】
ステップＳ１０８では、鉛直方向導出モジュール９４によってバッファに蓄積されている母集団データ群に基づいてＰＤＡ３が規定範囲の回転運動をしたか否かが判定される。具体的には以下の通りである。
【００６０】
まず次式（１４）で定義される行列Ｂを考える。行列Ｂの１／Ｎは母集団データ群ｑｉの分散共分散行列である。ただしＱは次式（１５）で定義され、ｑｉの重心に相当する。
【数１２】
2008215915.tif 000014
【００６１】
なお、ステップＳ１０８の実行順序は図６に示す順序に限定されない。行列Ｂは磁気センサ４のオフセット計算に用いることができるため、磁気センサ４のキャリブレーションと同時に鉛直方向を導出すると計算効率が高くなる。
【００６２】
行列Ｂの最大の固有値をλ１、最小の固有値をλ３とし、それらの比をλ３／λ１とすると、その比がｒより小さく（すなわち０に近く）、λ１がある規定の閾値ｓより大きいときには、ＰＤＡ３が規定の角度以上回転したとみなすことができる。ＰＤＡ３の回転軸のぶれが小さい場合、ｒがある程度小さな値になり、母集団データ群の分布は平面に近似できる偏平な形状になる。なお、閾値ｓが適度に大きい値である場合において、λ１が適切に設定されるｓより大きいときに母集団データ群の分布が直線的であることは想定できない。また上述したようにＰＤＡ３が自動車２とともに回転するときには母集団データ群の分布は平面的になる。すなわち、λ１がｓより大きいときにはλ２も必然的にある程度大きくなり、母集団データ群は直線的な分布を示さず、平面的なある程度広い分布を示す。
【００６３】
したがって、ステップＳ１０８では、行列Ｂの各成分が導出され、行列Ｂの最大の固有値λ１と最小の固有値λ３が導出され、さらにλ３／λ１−ｒとλ１−ｓの計算が実行される。この計算の結果、ＰＤＡ３が規定の角度以上回転したとみなされると、ステップＳ１１０の処理に進み、そうでない場合にはステップＳ１０２の処理に進む。
【００６４】
ステップＳ１１０では、鉛直方向導出モジュール９４によって母集団データ群の分布を示す近似平面の垂線方向が鉛直方向を示す鉛直方向データとして導出される。本実施形態では母集団データ群の分布の主値を利用して分布の近似平面の垂線方向を導出する。具体的には、上述のλ３に対応する行列Ｂの固有ベクトルｌ３が鉛直方向データとして導出される。行列Ｂの最小の固有値に対応する固有ベクトルｌ３の方向は分布の近似平面の垂線と平行だからである。なお、固有ベクトルｌ３がλ３に対応する固有ベクトルであるとすればベクトル−ｌ３もλ３に対応する固有ベクトルであり、いずれの方向も鉛直軸に平行である。ＰＤＡ３を自動車２に取り付ける形態からＰＤＡ３の取り得る姿勢の範囲は限定されるため、ベクトルｌ３、−ｌ３のいずれか一方を鉛直下向きを示す鉛直方向データとして特定可能である。例えば、定数ベクトルＧｃを設定しておき、鉛直方向データＧは必ず次式（１６）を満たすという条件をつければＧ＝ｌ３、Ｇ＝−ｌ３のいずれか一方にＧを定めることができる。
【数１３】
2008215915.tif 000015
以上説明したように、本実施形態によると、加速度センサの出力を用いずに磁気センサ４の出力に基づいて移動体であるＰＤＡ３の姿勢を導出することができる。したがって本実施形態によると移動体であるＰＤＡ３の姿勢導出に必要な消費電力を従来に比べて低減したり、ＰＤＡ３の姿勢導出に必要な計算時間を従来に比べて短縮することができる。また本実施形態によると行列Ｂの固有値を用いて鉛直方向、姿勢および方位を導出するため、効率よくこれらを導出することができる。
【００６５】
［Ｃ．他の実施形態］
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の形態で実施可能である。例えば、本発明がディスプレイ側に磁気センサが内蔵されたノート型パーソナルコンピュータや、携帯型電話機や、ディスプレイの角度を調整可能な一体型ナビゲーション装置などに搭載される磁気データ処理システムにも適用できることは当然である。また、磁気データの分布の近似平面を実際に導出し、その垂線方向を鉛直方向として導出してもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態に係る模式図。
【図２】本発明の実施形態に係る模式図。
【図３】本発明の実施形態に係る模式図。
【図４】本発明の実施形態に係るブロック図。
【図５】本発明の第一実施形態に係るブロック図。
【図６】本発明の第一実施形態に係るフローチャート。
【符号の説明】
【００６７】
１：磁気データ処理装置、２：自動車、４：磁気センサ、５：バス、３１：ヒンジ、３３：ベース、９０：磁気データ処理プログラム、９２：バッファ管理モジュール、９４：鉛直方向導出モジュール、９６：方位導出モジュール、９８：方位表示モジュール
【図１】
2008215915.tif 000017
【図２】
2008215915.tif 000018
【図３】
2008215915.tif 000019
【図４】
2008215915.tif 000020
【図５】
2008215915.tif 000021
【図６】
2008215915.tif 000022
【手続補正書】
【提出日】平成20年3月19日(2008.3.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
磁気センサ４から出力される磁気データによって表現される北向きを示す３次元ベクトルをＨとし、鉛直下向きを示す３次元ベクトルをＧと定義する。Ｈ、ＧはＰＤＡ３に固定された座標系で表現されているベクトルデータであり、Ｈは磁気データそのものであり、Ｇは後述する鉛直方向データそのものである。
Ｇ×Ｈ≠０（「×」は外積を表す記号とする。）であるときには姿勢行列Ａを導出することができる。ＧとＨが平行であるときＧ×Ｈ＝０となるが、ＧとＨが平行になることはまずない。