(57)【特許請求の範囲】
【請求項１】
互いに直交するＸ方向とＹ方向およびＺ方向が基準方向として決められた磁気検知部と、演算部とを有し、
前記磁気検知部に、Ｘ方向が磁気の方向に向けられたときに検知出力の絶対値が極大値となるＸ軸センサと、Ｙ方向が磁気の方向に向けられたときに検知出力の絶対値が極大値となるＹ軸センサ、およびＺ方向が磁気の方向に向けられたときに検知出力の絶対値が極大値となるＺ軸センサが搭載され、
前記演算部では、前記検知出力に基づいて、磁気ベクトルが、三次元座標上の座標点として求められ、三次元座標上で、複数得られた座標点のうちのいずれか１つをその表面に共有する複数の仮想球を設定し、複数の前記座標点とそれぞれの仮想球との誤差を最小二乗法に基づいて演算し、誤差が最も小さい仮想球の中心を三次元座標の基準原点として設定することを特徴とする磁界検知装置。
【請求項２】
複数の前記仮想球は、予め決められた角度差に基づいて設定される請求項１記載の磁界検知装置。
【請求項３】
前記基準原点が設定された後は、磁気ベクトルが、前記基準原点を中心とする球面座標上の座標点データとして求められる請求項１または２記載の磁界検知装置。
【請求項４】
前記基準原点が設定された後の検知出力に基づく磁気ベクトルの移動軌跡を用いて前記基準原点を補正する請求項１ないし３のいずれかに記載の磁界検知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直交する３方向のそれぞれに向けられた磁気センサで検出された磁気ベクトルが、三次元座標上の座標点データとして求められる磁界検知装置に係り、特に、少ないデータ量で三次元座標上での基準原点の設定や補正を可能にした磁界検知装置に関する。
【背景技術】
【０００２】
３軸に配置された磁気センサを使用した磁界検知装置は、地磁気を検知する方位センサやジャイロ装置などに適用される。互いに直交するＸ軸とＹ軸およびＺ軸に向けて配置された磁気センサによって地磁気が検知されると、その検知出力により、地磁気ベクトルの方位が三次元座標上の座標点として認識される。
【０００３】
この種の磁界検知装置は、電源を投入したときにキャリブレーションを行うことが必要である。キャリブレーションは、磁界検知装置を搭載した携帯機器を意識的に回転させ、磁気センサと地磁気ベクトルとを相対的に回転させることで行われる。これにより、例えば地磁気ベクトルの検知出力の回転軌跡から少なくとも２つの回転円を作成し、２つの回転円の中心軸の交点を求めて基準原点を得るなどの処理が行われる。
【０００４】
しかし、このキャリブレーションは、地磁気ベクトルの回転軌跡を求めるために多くの座標点データが必要になり、磁界検知装置を搭載した携帯機器などを意識的に何度も回転させる操作が必要になる。
【０００５】
以下の特許文献１には、少ないデータ量で三次元座標上の基準原点を求める発明が開示されている。この発明は、地磁気ベクトルを検知して３つの座標点が得られたときに、３つの座標点から等距離の点を求め、この点を基準原点とするというものである。
【０００６】
しかし、座標点は、三次元座標上に現れるために、特許文献１の手法では、３つの座標点を、Ｘ−Ｙ座標とＹ−Ｚ座標およびＸ−Ｚ座標の３つの平面座標に投影し、それぞれの平面座標で投影された３つの座標点から等距離の点を求め、それぞれの平面座標で得られた等距離の点から、三次元座標上の点を求めるというきわめて複雑な演算が必要になる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１６３３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は上記従来の課題を解決するものであり、少ないデータ量で三次元座標上で基準原点を設定でき、キャリブレーションまたはその後の基準原点の補正のための計算の負荷を軽減できる磁界検知装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明は、互いに直交するＸ方向とＹ方向およびＺ方向が基準方向として決められた磁気検知部と、演算部とを有し、
前記磁気検知部に、Ｘ方向が磁気の方向に向けられたときに検知出力の絶対値が極大値となるＸ軸センサと、Ｙ方向が磁気の方向に向けられたときに検知出力の絶対値が極大値となるＹ軸センサ、およびＺ方向が磁気の方向に向けられたときに検知出力の絶対値が極大値となるＺ軸センサが搭載され、
前記演算部では、前記検知出力に基づいて、磁気ベクトルが、三次元座標上の座標点として求められ、三次元座標上で、複数得られた座標点のうちのいずれか１つをその表面に共有する複数の仮想球を設定し、複数の前記座標点とそれぞれの仮想球との誤差を最小二乗法に基づいて演算し、誤差が最も小さい仮想球の中心を三次元座標の基準原点として設定することを特徴とするものである。
【００１０】
本発明の磁界検知装置は、最少の座標点データから基準原点を求めることができる。そのため、キャリブレーションの実行のために磁界検知装置を大きく動かす必要がない。また、キャリブレーションの後は、磁界検知装置を大きく動かさなくても、基準原点の位置ずれの補正処理を行うことができる。
【００１１】
本発明は、例えば、複数の前記仮想球は、予め決められた角度差に基づいて設定されるものである。
【００１２】
本発明は、前記基準原点が設定された後は、磁気ベクトルが、前記基準原点を中心とする球面座標上の座標点データとして求められる。
【００１３】
また本発明は、前記基準原点が設定された後の検知出力に基づく磁気ベクトルの移動軌跡を用いて前記基準原点を補正することも可能である。
【発明の効果】
【００１４】
本発明は、少ないデータ量で、三次元座標上の基準原点を求めることができる。そのため、キャリブレーションの際に磁界検知装置を大きく動かす必要がない。キャリブレーション後に基準原点がずれたときも、磁界検知装置を少し動かすだけでその補正ができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態の磁界検知装置の回路ブロック図、
【図２】データバッファの処理動作を示す説明図、
【図３】磁気検知部に設けられたＸ軸センサとＹ軸センサおよびＺ軸センサの説明図、
【図４】基準原点の求め方を示す説明図、
【図５】基準原点が求められた後の地磁気ベクトルの検知動作を示す三次元座標の説明図、
【発明を実施するための形態】
【００１６】
図１に示す本発明の実施の形態の磁界検知装置１は、地磁気検知装置として使用されるものであり、磁気検知部２を有している。
【００１７】
図３に示すように、磁気検知部２は、互いに直交する基準軸であるＸ軸とＹ軸およびＺ軸が固定軸として決められている。磁界検知装置１は携帯用機器などに搭載されており、磁気検知部２は、Ｘ軸とＹ軸およびＺ軸の直交関係を維持したまま、空間内で自由に移動できる。
【００１８】
図３に示すように、磁気検知部２には、Ｘ軸センサ３がＸ軸に沿って固定され、Ｙ軸センサ４がＹ軸に沿って固定され、Ｚ軸センサがＺ軸に沿って固定されている。Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５は、いずれもＧＭＲ素子で構成されている。ＧＭＲ素子は、Ｎｉ−Ｃｏ合金やＮｉ−Ｆｅ合金などの軟磁性材料で形成された固定磁性層および自由磁性層と、固定磁性層と自由磁性層との間に挟まれた銅などの非磁性導電層とを有している。固定磁性層の下に反強磁性層が積層され、反強磁性層と固定磁性層との反強結合により、固定磁性層の磁化が固定されている。
【００１９】
Ｘ軸センサ３は、地磁気のＸ方向に向く成分を検知するものであり、固定磁性層の磁化の向きがＸ軸に沿うＰＸ方向に固定されている。自由磁性層の磁化の向きは地磁気の向きに反応する。自由磁性層の磁化の向きがＰＸ方向と平行になるとＸ軸センサ３の抵抗値が極小になり、自由磁性層の磁化の向きがＰＸ方向と逆向きになるとＸ軸センサ３の抵抗値が極大になる。また、自由磁性層の磁化の向きがＰＸ方向と直交すると、抵抗値が前記極大値と極小値との平均値となる。
【００２０】
図１に示す磁場データ検知部６では、Ｘ軸センサ３と固定抵抗とが直列に接続され、Ｘ軸センサ３と固定抵抗との直列回路に電圧が与えられており、Ｘ軸センサ３と固定抵抗との間の電圧がＸ軸の検知出力として取り出される。Ｘ軸センサ３にＸ方向に向く磁界が与えられていないとき、またはＰＸに対して直交する磁界が与えられているときに、Ｘ軸の検知出力が中点電位となる。
【００２１】
磁気検知部２の全体を傾け、Ｘ軸センサ３の固定磁性層の磁化の固定方向ＰＸを地磁気ベクトルＶと同じ向きにするとＸ軸センサ３に与えられる磁界成分が極大値となる。このときのＸ軸の検知出力は、前記中点電位に対してプラス側の極大値となる。逆に、Ｘ軸センサ３の固定磁性層の磁化の固定方向ＰＸを地磁気ベクトルＶと反対に向けると、Ｘ軸センサ３に与えられる逆向きの磁界成分が極大値となる。このときのＸ軸の検知出力は、前記中点電位に対してマイナス側の極大値となる。
【００２２】
Ｙ軸センサ４とＺ軸センサ５も、それぞれ固定抵抗とが直列に接続され、Ｙ軸センサ４またはＺ軸センサ５と固定抵抗との直列回路に電圧が与えられており、各センサと固定抵抗との間の電圧がＹ軸またはＺ軸の検知出力として取り出される。
【００２３】
Ｙ軸センサ４の固定磁性層の磁化の固定方向ＰＹを地磁気ベクトルＶと同じ向きにすると、Ｙ軸の検知出力は、中点電位に対してプラス側の極大値になる。Ｙ軸センサ４の固定磁性層の磁化の固定方向ＰＹを地磁気ベクトルＶと反対に向けると、Ｙ軸の検知出力は、中点電位に対してマイナス側の極大値となる。同様に、Ｚ軸センサ５の固定磁性層の磁化の固定方向ＰＺを地磁気ベクトルＶと同じ向きにすると、Ｚ軸の検知出力は、中点電位に対してプラス側の極大値になる。Ｚ軸センサ５の固定磁性層の磁化の固定方向ＰＺを地磁気ベクトルＶと反対に向けると、Ｚ軸の検知出力は、中点電位に対してマイナス側の極大値となる。
【００２４】
地磁気ベクトルＶの大きさが一定であれば、Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５からの検知出力は、いずれもプラス側の極大値の絶対値と、マイナス側の極大値の絶対値とが同じである。
【００２５】
Ｘ軸センサ３としては、地磁気ベクトルの向きによってプラス側の検知出力とマイナス側の検知出力が得られ、プラス側の検知出力の極大値とマイナス側の検知出力の極大値とで絶対値が同じになれば、ＧＭＲ素子以外の磁気センサで構成することもできる。例えば、Ｘ軸に沿ってプラス側の磁界強度のみを検知できるホール素子またはＭＲ素子と、マイナス側の磁界強度のみを検知できるホール素子またはＭＲ素子を組み合わせて、Ｘ軸センサ３として使用してもよい。これは、Ｙ軸センサ４とＺ軸センサ５においても同じである。
【００２６】
図１に示すように、磁場データ検知部６で検知されたＸ軸とＹ軸およびＺ軸の検知出力は、演算部１０に与えられる。演算部１０は、Ａ／Ｄ変換部とＣＰＵおよびクロック回路などから構成されている。演算部１０のクロック回路の計測時間に応じて、磁場データ検知部６で検知されたＸ軸とＹ軸およびＺ軸の検知出力が、短いサイクルで間欠的にサンプリングされて演算部１０に読み出される。それぞれの検知出力は、演算部内に設けられた前記Ａ／Ｄ変換部によってディジタル値に変換される。
【００２７】
演算部１０を構成するＣＰＵにはメモリ７が接続されている。メモリ７には、演算処理のためのソフトウエアがプログラミングされて格納されている。演算部１０の演算処理は前記ソフトウエアによって実行される。
【００２８】
演算部１０は、ソフトウエアに基づいて演算処理を行う。ディジタルデータに変換されたＸ軸の検知出力とＹ軸の検知出力およびＺ軸の検知出力は、演算部１０で演算処理され、図５に示すＸ−Ｙ−Ｚの三次元座標上の座標点データＤ（ｘｂ，ｙｂ，ｚｂ）に変換されて、図２に示すデータバッファ（バッファメモリ）１１に格納される。クロック回路と同期して短いサイクルでサンプリングされて演算された前記座標点データＤは、データバッファ１１の格納部１１ａに与えられる。座標点データＤが格納部１１ａに与えられる毎に、その前に得られた座標点データＤが格納部１１ａから１１ｍまで順に送り出され、最終段の格納部１１ｍの座標点データＤが捨てられる。磁界検知装置１が動作している間は、磁場データ検知部６から最新のデータが一定時間毎に読み出され続け、演算後の座標点データＤがデータバッファ１１に順番に格納されていく。
【００２９】
図５に示す三次元座標のＸ−Ｙ−Ｚの各軸は、磁界検知装置１に固定されて設定されており、Ｘ軸センサ３はＸ軸に沿って固定され、Ｙ軸センサ４はＹ軸に沿って固定され、Ｚ軸センサ５はＺ軸に沿って固定されている。
【００３０】
図５に示すように、磁気検知部２が地球上のいずれかの場所に置かれると、磁気検知部２のＸ軸センサ３から検知出力ｘｂが得られ、Ｙ軸センサ４から検知出力ｙｂが得られ、Ｚ軸センサ５から検知出力ｚｂが得られる。図２に示す演算部１０において、三次元の検知出力から座標点データＤ（ｘｂ，ｙｂ，ｚｂ）が演算される。座標点データＤ（ｘｂ，ｙｂ，ｚｂ）はサンプリング周期毎に次々と得られ、データバッファ１１に順に格納されていく。
【００３１】
ここで、Ｘ軸センサ３とＹ軸センサ４およびＺ軸センサ５に地磁気以外の外乱磁界が作用しないと仮定し、さらにＸ軸センサ３とＹ軸センサ４およびＺ軸センサ５が均一の精度を有していると仮定すると、座標点データＤ（ｘｂ，ｙｂ，ｚｂ）は、演算部１０内で設定されるＸ−Ｙ−Ｚの三次元座標の基準原点Ｏを中心とする半径Ｒの球面座標Ｇ上の点として求められる。座標点データＤ（ｘｂ，ｙｂ，ｚｂ）と、三次元座標の基準原点Ｏを結ぶ線が地磁気ベクトルＶである。球面座標Ｇの半径Ｒは、Ｘ軸センサ３、Ｙ軸センサ４、Ｚ軸センサ５の検知出力の極大値の絶対値に相当し、前記極大値は地磁気ベクトルＶの絶対値に比例する。球面座標Ｇの半径Ｒは、そのときの測定場所によって相違し、検知される地磁気ベクトルＶの絶対値の大小に応じて球面座標Ｇの半径Ｒが変化する。
【００３２】
図５に示すように、磁界検知装置１に設定されているＺ軸を重力方向に向け、磁界検知装置１をＺ軸を中心として（重力方向に向く軸を中心として）回転させると、次々とサンプリングされていく座標点データＤ（ｘｂ，ｙｂ，ｚｂ）が、Ｚ軸を中心とし且つＸ−Ｙ軸と平行な水平緯度線Ｈａに沿って移動する。
【００３３】
ただし、磁界検知装置１には、地磁気以外の外部磁界が作用しやすい。磁界検知装置１を搭載した携帯機器などが、他の電子機器に接近したり大きな金属に接近することで磁界検知装置１に作用する外部磁界が変化する。また、磁界検知装置１と共に携帯機器などに搭載されている電子回路からも磁界が与えられることがある。さらに、それぞれの磁気センサ３，４，５の検知誤差や温度特性による感度の変動や検知回路の温度特性などに依存して検知出力が変動する。そのため、座標点データＤ（ｘｂ，ｙｂ，ｚｂ）が現れる球面の中心と、演算部１０で設定される三次元座標の基準原点Ｏとは必ずしも一致しない。
【００３４】
そこで、磁界検知装置１の電源を投入したときや使用を開始したときに、座標点データＤ（ｘｂ，ｙｂ，ｚｂ）が現れる球面の中心を、演算部１０で設定される三次元座標の基準原点Ｏに一致させるためのキャリブレーション処理を行うことが必要である。
【００３５】
図２に示す演算部１０でソフトウエアによりキャリブレーション処理が実行される。以下のキャリブレーション処理は、少ないサンプル数の座標点データＤを使用して基準原点の補正を行うことができる。
【００３６】
図４には、磁界検知装置１の電源を投入したときや使用を開始した直後に得られる複数の座標点データＤ１，Ｄ２，Ｄ３，・・・Ｄｎが示されている。座標点データＤｎが最新のサンプリングデータであり、Ｄｎ−１，・・・Ｄ８，Ｄ７，Ｄ６，・・・の順番でサンプリング時刻が古くなる。最新の座標点データＤｎは、図２に示すデータバッファ１１の格納部１１ａに保持されており、それ以前の座標点データＤｎ−１，・・・Ｄ８，Ｄ７，Ｄ６は、格納部１１ｂ，１１ｃ，１１ｄ，・・・に順番に保持されている。
【００３７】
演算部１０では、最新の座標点データＤｎ（ｘｎ，ｙｎ，ｚｎ）をその表面に含む仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・の方程式が算出される。それぞれの仮想球は同じ半径Ｒａの球である。地磁気ベクトルＶの絶対値は、磁界検知装置１の使用地域から予測できるので、その予測値に基づいて、仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・の半径Ｒａを固定値として予め設定しておくことが可能である。または、磁界検知装置１が前回使用されたときの三次元座標の基準原点Ｏと、最後の座標点データＤ（ｘｂ，ｙｂ，ｚｂ）とから得られた球面座標の半径Ｒａを、メモリ７に記憶しておき、図４に示すキャリブレーション処理において、記憶していた半径Ｒを有する仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・の方程式を求めてもよい。
【００３８】
前記半径Ｒａを有し、その表面に座標点データＤｎ（ｘｎ，ｙｎ，ｚｎ）が含まれる球は無数に存在する。無数の球のうち、予め決めておいた規則に基づいて複数個を選択する。例えば、座標点データＤｎをその表面に含む球のうち、Ｘ軸と平行な軸の回りに所定の角度ずつ回転させた複数の球と、Ｙ軸と平行な軸の回りに所定の角度ずつ回転させた複数の球と、Ｚ軸と平行な軸の回りに所定の角度ずつ回転させた複数の球が仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・として選択される。あるいは、座標点データＤｎを中心とする半径Ｒａの球を設定し、その球の表面に各方向に一定の間隔を有して存在する複数の点を選択し、それぞれの点を中心とする半径Ｒａの球を仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・として設定してもよい。
【００３９】
いずれにせよ、仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・は、座標点データＤｎの周囲の全方向に間隔を空けて存在していることが好ましい。
【００４０】
次に、座標点データＤｎから遡って得られた複数の座標点データＤｎ−１，・・・Ｄ８，Ｄ７，Ｄ６，・・・と、それぞれの仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・の表面との誤差を計算する。この演算の結果、誤差が最も小さい仮想球の中心が三次元座標の基準原点として選択される。
【００４１】
座標点データＤｎ−１，・・・Ｄ８，Ｄ７，Ｄ６，・・・と、それぞれの仮想球Ｇａ，Ｇｂ，Ｇｃ，・・・の表面との誤差は、最小二乗法で計算される。最小二乗法では、前記各座標点データと計算すべき仮想球の表面との距離をｄｎ（ｎ＝１，２，３，・・・）とし、各座標点データと計算すべき仮想球の表面との距離の平均値をｄａとし、誤差＝Σ（ｄｎ−ｄａ）2を求める。この誤差が最も小さい仮想球が選択され、その中心点が三次元座標の基準原点となるように補正される。
【００４２】
図４では、各座標点データとの誤差が最も小さい仮想球Ｇａが選択され、その中心点Ｏａが、三次元座標の基準原点となるように補正される。
【００４３】
なお、仮想球との距離を演算するための座標点データＤｎ−１，・・・Ｄ８，Ｄ７，Ｄ６は、最新のデータＤｎから遡ってサンプリングされた所定数のデータの全てを使用してもよいし、最新のデータＤｎから遡ってサンプリングされた所定数のデータの中からさらに選択されたデータを使用してもよい。
【００４４】
図４に示すように、このキャリブレーション処理は、比較的少ないサンプル数の座標点データで基準原点を予測できるので、磁界検知装置１を小さい角度だけ動かすことで、基準原点を求めることができ、従来のように磁界検知装置１を数回回転させるなどのキャリブレーションは不要である。
【００４５】
座標点データＤｎは、選択された仮想球Ｇａの表面に位置し、その他の座標点データＤｎ−１，・・・Ｄ８，Ｄ７，Ｄ６，・・・は、選択された仮想球Ｇａの表面にきわめて近い位置に存在しているため、その後に得られる座標点データが、中心点Ｏａを中心とする球面座標Ｇ上に現れる確率が高くなる。その後は、図５に示すように、球面座標Ｇの表面に現れる座標点から地磁気ベクトルの向きを知ることができる。
【００４６】
例えば、携帯用機器に前記磁界検知装置１と共に加速度センサを搭載し、重力の向きを検知できるようにしておけば、磁界検知装置１に設定されているＺ軸と重力の向きとの関係を理解できる。これにより、座標点データから地磁気ベクトルＶの伏角を知ることができ、磁界検知装置１と地磁気ベクトルとの方位の関係も知ることができる。
【００４７】
また、磁界検知装置１を搭載した携帯機器などが動いたときに、その回転運動の回転軸が計算される。また、複数の座標点データの回転中心から開き角度と、その座標点データのサンプリング時間とから携帯機器などの角速度を求めることができる。
【００４８】
その後は、次々と得られる座標点データＤと、基準原点Ｏａとの距離を監視し、座標点データＤが基準原点Ｏａから所定距離だけ離れ、すなわち座標点データが基準原点Ｏａを中心とする球面座標から所定の距離だけ離れ、離れた座標点データの数が所定数を越えたら、基準原点Ｏａの補正を行う。この基準原点の補正も、図４に示したのと同じ手法で行うことができる。
【００４９】
あるいは、複数の座標点データが得られているときに、所定数の座標点データが得られる度に、定期的に図４に示す演算を行って、常に基準原点の補正を行ってもよい。
【００５０】
また、図４に示す演算で基準原点Ｏａが得られた後に、磁界検知装置１を搭載した携帯機器が回転動作を行うなどして、複数の座標点データから、球面座標上に２つの円軌跡が得られたときは、この２つの円軌跡の中心軸の交点を求め、この交点が座標原点となるように補正してもよい。
【産業上の利用可能性】
【００５１】
本発明の磁界検知装置は、方位センサ、ジャイロに応用でき、携帯用のゲーム装置やゲーム装置の入力装置に使用することもできる。またロボットの腕や関節などの姿勢の変化を検知する検知部として使用することもできる。
【００５２】
さらに、本発明の磁界検知装置は、地磁気以外の外部磁界の磁気ベクトルの向きや動きを検知する装置として使用可能である。例えば磁気検知装置を固定し、外部の磁気ベクトルがどの方向からどのような運動で接近してきているかの検知も可能である。
【符号の説明】
【００５３】
１  磁界検知装置
２  磁気検知部
３  Ｘ軸センサ
４  Ｙ軸センサ
５  Ｚ軸センサ
６  磁場データ検知部
７  メモリ
１０  演算部
１１  データバッファ
Ｄ  座標点データ
Ｇ  球面座標
Ｇａ，Ｇｂ，Ｇｃ，・・・  仮想球
Ｒ，Ｒａ  半径
【図１】
0005498209.tif 000002
【図２】
0005498209.tif 000003
【図３】
0005498209.tif 000004
【図４】
0005498209.tif 000005
【図５】
0005498209.tif 000006