JP2013002908A - 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム - Google Patents
地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム Download PDFInfo
- Publication number
- JP2013002908A JP2013002908A JP2011133265A JP2011133265A JP2013002908A JP 2013002908 A JP2013002908 A JP 2013002908A JP 2011133265 A JP2011133265 A JP 2011133265A JP 2011133265 A JP2011133265 A JP 2011133265A JP 2013002908 A JP2013002908 A JP 2013002908A
- Authority
- JP
- Japan
- Prior art keywords
- center point
- vector
- distortion
- magnetic data
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Measuring Magnetic Variables (AREA)
Abstract
【解決手段】機器1は、内部磁界Biを発生させる部品と、3次元磁気センサ60と、CPU10とを備える。CPU10は、3次元磁気センサ60から順次出力される複数の磁気データqiで示される座標の分布の3次元的な広がりの程度を示す分散評価値を算出し、複数の磁気データqiで示される座標が内部磁界Biの成分を示す座標を中心点とする球面Sの近傍に確率的に分布すると仮定して、球面Sの中心点x0を算出し、複数の磁気データqiで示される座標が、球面S2を歪ませた形状の立体SDの表面近傍に確率的に分布すると仮定して算出される立体SDと球面S2との形状の相違の程度を示す歪評価値gD(E)が、歪許容値δ0以下である場合に、中心点x0を3次元磁気センサ60のオフセットとして採用する。
【選択図】図8
Description
このように、検出対象である地磁気の正確な値を得るために、補正処理において、3次元磁気センサから出力されるデータから取り除かれる外乱成分の値をオフセットと呼ぶ。
一方、地磁気は、磁極北に向かう水平成分と伏角方向の鉛直成分とを有する磁界であり、地面に対して一定の方向と一定の大きさとを有する一様な磁界である。従って、地面に対して機器の姿勢を変化させる場合には、機器から見た地磁気の方向も変化することになる。すなわち、機器に搭載された3次元磁気センサから見た場合、地磁気は、機器の姿勢の変化に伴い向きが変化する一定の大きさを持ったベクトルとして表される。
このような地磁気及び内部磁界の性質を利用すれば、3次元磁気センサを上下左右方向に回転させて3次元的に大きく姿勢変化させつつ複数の磁気データを取得した場合、3次元磁気センサからの出力データを、磁気センサから見て一定の方向及び大きさを有する内部磁界を表す成分と、一定の大きさを有するが3次元磁気センサの姿勢変化に伴って方向が変化する地磁気を表す成分とに分離することができる。そして、この内部磁界を表す成分であるベクトルをオフセットとして出力データから取り除く補正処理を行うことで、正確な地磁気の値を得ることができる。
特許文献1には、このような機器の姿勢変化が不十分な場合に、3次元磁気センサを姿勢変化させつつ取得した複数の磁気データの他に、過去に算出したオフセットを用いることにより、正確なオフセットを算出する方法が開示されている。
正確な地磁気を算出するためには、内部磁界をキャンセルするために3次元磁気センサから出力される磁気データにオフセットを用いた補正を施す。前述の通り、球面の中心点は内部磁界の方向及び大きさを表す座標であるため、これをオフセットとして採用することができる。しかしながら、機器の近くに磁界を発生させる物体が存在する場合、3次元磁気センサが物体の発生させる磁界(外部磁界)を検出する場合がある。外部磁界が、物体と3次元磁気センサとの相対位置関係によって向きや大きさを変化させる不均一な磁界の場合、3次元磁気センサの出力する複数の磁気データは球面近傍には分布せず、球面とは異なる歪んだ形状を有する立体の表面近傍に分布する。
この発明によれば、3次元磁気センサが出力する複数の磁気データが示す3軸の座標が、歪判定用球面を歪ませた形状を有する立体の表面近傍に分布すると仮定し、立体と歪判定用球面との形状の相違の程度を示す歪評価値を算出する。
歪評価値が、歪許容値以下の値を示し、立体と歪判定用球面とがほぼ同一の形状を有していると看做すことができる場合、立体の表面近傍に分布する複数の磁気データの示す座標が、歪判定用球面近傍に分布すると看做すことができる。つまり、複数の磁気データの示す座標は、球面の形状となるように分布する。従って、歪評価値が歪許容値以下の値を示す場合、複数の磁気データの示す座標を近傍に有する球面の中心点を算出し、当該中心点を用いてオフセットを更新することができる。
一方、歪評価値が、歪許容値よりも大きな値を示し、立体が歪判定用球面とは異なる歪んだ形状を有する場合、立体の表面近傍に分布する複数の磁気データの示す座標は、歪判定用球面近傍に分布すると看做すことはできない。つまり、複数の磁気データの示す座標の分布の形状は、球面とは異なる形状になる。この場合、複数の磁気データの示す座標が、ある球面近傍に分布すると看做したうえで、当該球面の中心点をオフセットとして算出することは困難である。また、この場合、3次元磁気センサから出力される磁気データは、地磁気及び内部磁界の他に、不均一な外部磁界の含んだ値である可能性が高いため、このような磁気データに基づいて算出されたオフセットは、不均一な外部磁界の影響による誤差を含んだ不正確な値となる可能性が高い。従って、歪評価値が歪許容値よりも大きな値を示す場合には、オフセットの更新を避ける必要がある。
このように、本発明は、歪評価値を算出することにより、オフセットの更新可否を判定し、オフセットを更新することが可能であると判定された場合に限り、オフセットを更新する。これにより、正確な地磁気の算出が可能となった。
しかし、機器の動かし方が不十分で複数の磁気データの示す座標がある平面上に2次元的に分布する場合には、立体の3次元的な形状を把握することは不可能である。つまり、立体の3次元的な形状と球面の形状との相違の程度を評価することはできない。この場合には、立体を平面で切断した切断面を表す曲線と、球面を平面で切断した切断面を表す円周との形状の相違の程度を評価することで、外部磁界の影響の大きさを判断することが必要となる。
この発明によれば、複数の磁気データが示す座標の分布の3次元的な広がりの程度を示す分散評価値を算出し、複数の磁気データと分散評価値とに基づいて、立体と歪判定用球面との形状の相違の程度を示す歪評価値を算出する。従って、複数の磁気データの示す座標が3次元的に分布する場合、及び2次元的に分布する場合の双方について、立体と歪判定用球面との形状の相違の程度を評価して、外部磁界の影響の大きさを判断することが可能となる。
このように、本発明は、歪評価値を算出することにより、中心点算出用球面の中心点をオフセットとして採用することが適当でない場合を判定し、中心点算出用球面の中心点がオフセットとして適切であると判定された場合に限り、中心点算出用球面の中心点をオフセットに採用する。これにより、正確な地磁気の算出が可能となった。
前述の通り、球面の中心点を算出するためには、複数の磁気データが3次元的に球面近傍に分布するように機器を動かすことが望ましい。しかし、機器の動かし方が不十分な場合、複数の磁気データの示す座標が2次元的に分布することがある。すなわち、機器の動かし方が不十分な場合、複数の磁気データの示す座標は、球面をある平面で切断した切断面を表す円周の近傍に分布する。この場合、複数の磁気データより、円周の中心を通り平面に垂直な直線を算出することはできるが、複数の磁気データの示す座標が3次元に分布する場合に算出されるはずの球面の中心点を特定することはできない。すなわち、複数の磁気データの示す座標が2次元的に分布するにも関わらず、複数の磁気データの示す座標が3次元的に分布すると想定して球面の中心点を算出した場合、球面の中心点の座標は、複数の磁気データが分布する平面に垂直な方向について不正確となる。従って、複数の磁気データの示す座標が2次元的に分布する場合には、球面の中心点の座標が有する情報のうち、不正確な情報を排除する必要がある。
この発明によれば、複数の磁気データと、分散評価値とに基づいて、中心点算出用球面の中心点を算出する。すなわち、複数の磁気データの示す座標が2次元的に分布する場合には、そのことを把握したうえで、中心点算出用球面の中心点を算出する。従って、中心点算出用球面の中心点が有する情報のうち、不正確な情報を排除して、オフセットを算出することができる。これにより、複数の磁気データの示す座標が2次元的に分布する場合であっても、不正確な値をオフセットとして採用することを防止することが可能となる。
3次元磁気センサは、測定対象である地磁気の他に、機器に備えられた部品の発する内部磁界と、外部の物体の発する不均一な外部磁界とを検出する。そして、この不均一な外部磁界の影響が大きい場合には、複数の磁気データの示す座標は、球面とは大きく異なる歪んだ形状を有する立体の表面近傍に分布することになり、中心点算出手段により算出された中心点をオフセットとして採用することができなくなる。
しかし、このような不均一な外部磁界も、外部磁界を発生させる外部の物体との相互位置関係が変化しない場合には、一定の大きさの磁界にすぎない。つまり、3次元磁気センサの位置を変化させずに姿勢を変化させる場合、外部磁界は、3次元磁気センサによって、一定の大きさを有し方向のみを変化させる磁界として検出される。この場合、3次元磁気センサから出力される複数の磁気データで示される座標は、ある球面近傍に分布することになる。そして、この球面の中心点は、機器に備えられた部品の発する磁界(内部磁界)の成分を示す座標とほぼ同一の座標となる。また、中心点算出用球面は、複数の磁気データの示す座標が中心点算出用球面の近傍に分布することを仮定して定められる。よって、複数の磁気データの示す座標が球面の形状となるように分布する場合、複数の磁気データの示す座標は、中心点算出手段によって算出された中心点を中心とする中心点算出用球面近傍にも分布すると看做すことができる。従って、中心点算出用球面の中心点は内部磁界の成分を示す座標とほぼ同一の座標となり、中心点算出用球面の中心点をオフセットとして採用することが可能となる。
このように、上述した地磁気測定装置は、利用者に機器の位置を変化させずに機器の姿勢を変化させるように促す手段を備えることにより、不均一な外部磁界が存在する場所において複数の磁気データを検出する場合であっても、適切なオフセットを算出することができるような動作を利用者に促すことが可能となる。
磁気データは3軸の座標を示すので、複数の磁気データの分散を表す共分散行列は、3行3列の行列となる。この共分散行列から3つの固有ベクトルと3つの固有値が得られる。3つの固有ベクトルの一つは、複数の磁気データが最も大きく分布する方向を表している。この固有ベクトルに対応する固有値は最大固有値となり、逆に、複数の磁気データが最も小さく分布する方向の固有ベクトルに対応する固有値が最小固有値となる。複数の磁気データが理想的に2次元的に分布する場合、最小固有値の値は0に限りなく近い値を有し、複数の磁気データが3次元的に分布する場合、最小固有値の値は、複数の磁気データの分布の3次元的な広がりの程度に従って大きな値を有する。従って、共分散行列の最小固有値を、分散評価値として用いることにより、複数の磁気データの分布の3次元的な広がりの程度を的確に把握することが可能となる。
前記立体誤差ベクトル、前記第1誤差、及び前記第2誤差を要素とするベクトルを、歪評価ベクトル(δSD2)としたとき、前記歪評価値(gD(E))は、前記歪評価行列の各々の成分(e11〜e33)と、前記歪判定用球面の中心点(x02)を表す3軸のベクトルの各々の要素とを変数とし、前記歪評価ベクトルの大きさを表す歪評価関数(gSD2(e))を最小化するときの、前記歪評価行列のノルムであることを特徴とする、ことが好ましい。
ここで、歪判定用球面誤差ベクトルは、複数の磁気データで示される座標と歪判定用球面との誤差を、任意の値を取り得る制約の無い変数で表した値を各要素とするベクトルである。従って、歪判定用球面誤差ベクトルの各要素、すなわち、複数の磁気データに対応する誤差の各々は、互いに独立なものである。その結果、複数の磁気データで示される座標と歪判定用球面との誤差を最小化するように歪判定用球面を定めた場合、歪判定用球面誤差ベクトルにより表される複数の誤差は、全体として対称性を有し、方向依存性の無い、ホワイトノイズとなる。
一方、歪誤差ベクトルは、中心点算出用球面の中心点から見た磁気データの示す座標を表すベクトルと、当該ベクトルを歪評価行列により変換したベクトルとの内積を、複数の磁気データの各々について並べたベクトルである。歪評価行列は対称行列であるため、歪誤差ベクトルの各要素は、対称行列である歪評価行列を係数行列とし、中心点から見た磁気データの座標を表すベクトルの3つの要素の各々を変数とする、3変数二次形式となる。すなわち、歪誤差ベクトルは、複数の磁気データで示される座標と歪判定用球面との誤差の各々を、二次形式で表される同一の関数に基づく曲面上に存在するという制約の下で表現するベクトルである。このような歪誤差ベクトルを用いて、複数の磁気データと歪判定用球面との誤差を表現することにより、ホワイトノイズとは別に、二次形式の関数に基づく曲面で表される誤差(すなわち、球面からの歪)を表現することが可能となり、これまで一律にホワイトノイズとみなしていた誤差から、ホワイトノイズとは異なる球面からの歪による誤差を分離することが可能となる。
歪判定用球面誤差ベクトルと歪誤差ベクトルとを加算して得られる立体誤差ベクトルは、複数の磁気データを表面近傍に有し、球面とは異なる形状の立体を表現する。そして、立体誤差ベクトルのうち、歪誤差ベクトルの大きさ評価することで、立体の形状が、歪判定用球面の形状からどの程度の差異(歪)を有するか(つまり、ホワイトノイズとは異なる球面からの歪による誤差の大きさ)を、評価することが可能となる。その結果、立体と歪判定用球面とが実質的に同一の形状を有するほど近似していると評価される場合には、複数の磁気データの示す座標が歪判定用球面近傍にも分布すると看做すことができる。前述の通り、複数の磁気データの示す座標が、球面の形状となるように分布する場合、複数の磁気データの示す座標は、中心点算出用球面近傍にも分布すると看做すことができる。従って、立体と歪判定用球面とが実質的に同一の形状を有するほど近似していると評価される場合には、中心点算出用球面の中心点をオフセットとして採用する。一方、立体が歪判定用球面とは大きく異なる歪んだ形状を有すると評価される場合には、複数の磁気データで示される座標が歪判定用球面近傍に分布すると看做すことはできないため、中心点算出用球面の中心点をオフセットとして採用することを防止する。
すなわち、上述した地磁気測定装置は、中心点算出手段によって算出された中心点のうち、不均一な外部磁界の影響を受けていない複数の磁気データより算出された、適切な中心点のみをオフセットとして採用することが可能であるという利点を有する。この結果、正確な地磁気を検出することが可能となる。
ところで、歪評価関数を最小化することで算出される歪評価行列は、複数の磁気データの示す座標を表面近傍に有する立体と歪判定用球面との形状の相違を表す歪誤差ベクトルを定める行列である。
ここで、歪誤差ベクトルは、複数の磁気データの示す座標と歪判定用球面との誤差のうちホワイトノイズとして吸収しきれない誤差、すなわち、立体と歪判定用球面との形状の相違を表すベクトルである。つまり、歪誤差ベクトルを構成する複数の要素のうち、ある要素の絶対値は、当該要素に対応する磁気データの座標と歪判定用球面との誤差が大きい場合には大きな値に定められ、当該要素に対応する磁気データの座標と歪判定用球面との誤差が小さい場合には小さな値に定められる。従って、歪評価行列の各成分は、歪誤差ベクトルを構成する複数の要素が全体として、複数の磁気データの座標と歪判定用球面との誤差の大きさを正確に表現することができるように定められる。
ところで、歪誤差ベクトルの各要素は、中心点算出用球面の中心点から見た磁気データの示す座標を表すベクトルと、当該ベクトルを歪評価行列により変換したベクトルとの内積として与えられる。つまり、歪誤差ベクトルを構成する複数の要素のうち、ある要素の絶対値は、当該要素に対応する磁気データの示す座標を中心点算出用球面の中心点から表したベクトルと、歪評価行列が有する3つの固有値のうち絶対値の大きさが最大となる固有値に対応する固有ベクトルとが平行となる場合には、大きな値となる。従って、歪評価行列が有する3つの固有値のうち絶対値が最大となる固有値に対応する固有ベクトルが、歪判定用球面からの距離が大きな位置に存在する磁気データが多く存在する領域を示すように、歪評価行列の各成分を定める場合、歪誤差ベクトルは、複数の磁気データの示す座標と歪判定用球面との誤差の大きさを正確に表現できることになる。
このように、歪評価行列の各成分は、絶対値の大きさが最大となる固有値に対応する固有ベクトルの方向と、歪判定用球面からの誤差が大きな磁気データが多く存在する領域を中心点算出用球面の中心点を起点として表したベクトルの方向とが、近づくように定められる。そして、歪評価行列が有する3つの固有値のうち、絶対値の大きさが最大となる固有値は、立体の表面近傍に存在する磁気データの座標と球面との誤差が大きい場合に、その誤差の大きさを表現する値となる。
本発明は、立体と球面との形状の相違の程度を示す歪評価値を、歪評価行列の有する3つの固有値のうち絶対値が最大となる固有値の値に基づいて定めている。従って、歪評価値は、立体と球面との誤差の程度の大きさを評価することが可能となる。
この発明によれば、第2誤差を要素として含む歪評価ベクトルの大きさを最小化することで、歪評価行列を算出する。歪評価ベクトルの大きさを最小化して0に近づける場合、第2誤差も最小化されて0に近づく。第2誤差は、共分散行列が有する3つの固有値のうち最小の固有値(最小固有値)に対応する固有ベクトルを歪評価行列により変換したベクトルに対して、第2係数を乗じたベクトルである。従って、第2誤差を最小化して0に近づける場合、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさ、または、第2係数のうち、少なくともいずれか一方が最小化されて0に近づく。
ここで、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさが最小化されて0に近づく場合を検討する。共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさが最小化されて0に近づくという条件の下で、歪評価行列を算出する場合、歪評価行列の有する3つの固有値のうち、絶対値が最小の固有値は0または0に近い値となる。同時に、歪評価行列の有する3つの固有値のうち、絶対値が最小の固有値に対応する固有ベクトルは、共分散行列の最小固有値に対応する固有ベクトルと平行になる。
複数の磁気データがある平面上に2次元的に分布する場合、共分散行列の最小固有値に対応する固有ベクトルは、磁気データが分布する平面に直交する。従って、歪評価行列の有する3つの固有ベクトルのうち、絶対値が最小の固有値に対応する固有ベクトルも、磁気データが分布する平面に直交する。つまり、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさが最小化されて0に近づくという条件の下で算出された歪評価行列は、磁気データが分布する平面に直交する固有ベクトル方向については、立体と歪判定用球面との形状の相違は無いものと看做し、立体と歪判定用球面との形状の相違を評価しない行列である。
一方、歪評価行列の有する3つの固有ベクトルは互いに直交するため、絶対値が最小の固有値に対応する固有ベクトル以外の2つの固有ベクトルは、磁気データが分布する平面と平行になる。そして、磁気データが分布する平面に平行な2つの固有ベクトルに対応する固有値は、0以外の値を取ることができる。従って、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさが最小化されて0に近づくという条件の下で算出された歪評価行列は、磁気データが分布する平面に平行な2つの固有ベクトル方向について、立体と歪判定用球面との形状の相違の程度を評価することができる行列である。
このように、複数の磁気データがある平面上に2次元的に分布する場合には、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさを最小化するという条件の下で算出された歪評価行列を用いることで、磁気データが分布する平面と平行な方向については、立体と球面との形状の相違の程度を評価し、且つ、磁気データが分布する平面と垂直な方向については、立体と球面との形状の相違の程度を評価しないことが可能となる。
この発明によれば、第2誤差は、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルに第2係数を乗じたベクトルである。よって、第2係数を0または0に近い小さな値に設定することで、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさを最小化することなく、第2誤差を最小化することができる。この場合、歪評価行列は、絶対値が最小の固有値も0以外の値を取ることができる。従って、歪評価行列は、3次元空間内の全ての方向について、立体と歪判定用球面との形状の相違の程度を表現することができる。
このように、この発明は、第2係数を有する第2誤差を最小化することで歪評価行列を算出する。そして、複数の磁気データの示す座標の分布の3次元的な広がりの程度に応じて、第2係数の値を設定することで、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさを最小化するという条件を、緩和することが可能となる。すなわち、本発明の歪評価行列を用いることで、複数の磁気データの示す座標が3次元的に分布する場合には、立体と球面との形状の相違の程度を3次元的に評価し、複数の磁気データの示す座標がある平面上に2次元的に分布する場合には、立体と球面との形状の相違の程度を、2次元的に(当該ある平面内で)評価することが可能となる。これにより、磁気データの示す座標の分布が、3次元的であるか2次元的であるかに関わらず、不均一な外部磁界の影響の大きさを評価することが可能となり、不正確なオフセットを採用することを防止できる。
この発明によれば、第3誤差を要素として含む歪評価ベクトルの大きさを最小化することで、中心点算出用球面の中心点を算出する。第3誤差は、共分散行列の最小固有値に対応する固有ベクトルと、旧オフセットから中心点算出用球面の中心点の座標を表す中心点算出用更新ベクトルとの内積に、第1係数を乗じた値である。従って、第3誤差を最小化して0に近づける場合、共分散行列の最小固有値に対応する固有ベクトルと中心点算出用更新ベクトルとの内積、または、第1係数のうち、少なくともいずれか一方が最小化されて0に近づく。
共分散行列の最小固有値に対応する固有ベクトルと中心点算出用更新ベクトルとの内積が最小化され0に近づく場合、共分散行列の最小固有値に対応する固有ベクトルと中心点算出用更新ベクトルとは直交する。つまり、中心点算出用更新ベクトルは、共分散行列の最小固有値に対応する固有ベクトル方向の成分を含まないベクトルになる。中心点算出用球面の中心点は、旧オフセットと中心点算出用更新ベクトルとの和であるため、不正確な情報(共分散行列の最小固有値に対応する固有ベクトル方向の情報)を利用せずに算出される。その結果、複数の磁気データが2次元的に分布する場合に、正確な情報のみに基づいて中心点を算出することが可能となる。
一方、磁気データの示す座標が3次元的に分布する場合には、第1係数を0または0に近い小さな値に設定することで、共分散行列の最小固有値に対応する固有ベクトルと中心点算出用更新ベクトルとの内積を最小化することなく、第3誤差を最小化することができる。すなわち、第1係数によって、共分散行列の最小固有値に対応する固有ベクトルと中心点算出用更新ベクトルとが直交するという条件を緩和することができる。これにより、複数の磁気データの示す座標が3次元的な広がりを有する場合には、共分散行列の最小固有値に対応する固有ベクトル方向の情報を利用して中心点算出用球面の中心点の座標を算出することが可能となる。
第1係数を正の第1の値とすることで、共分散行列の最小固有値に対応する固有ベクトルと中心点算出用更新ベクトルとが直交するという条件の下、正確な情報のみに基づいて、中心点算出用球面の中心点を算出することが可能となる。また、第1係数を正の第1の値とすることで、共分散行列の最小固有値に対応する固有ベクトルと歪判定用更新ベクトルとが直交するという条件の下、正確な情報のみに基づいて、歪判定用球面の中心点を算出することが可能となる。さらに、第2係数を正の第3の値とした場合、共分散行列の最小固有値に対応する固有ベクトルを歪評価行列により変換したベクトルの大きさが0に近い値となるという条件の下で歪評価行列が算出される。このような歪評価行列によって、複数の磁気データの示す座標が分布する平面に平行な方向についてのみ立体と球面の形状の相違の程度を評価することができる。
一方、共分散行列の最小固有値が閾値以上となり、複数の磁気データの示す座標が3次元的な広がりを有して分布する場合には、第1係数及び第2係数を0または0に近い小さな値とする。第1係数を0または0に近い値とすることで、旧オフセットの情報を用いずに、複数の磁気データのみに基づいて中心点算出用球面の中心点及び歪判定用球面の中心点を算出することが可能となる。また、第2係数を0または0に近い値として算出された歪評価行列により、立体と球面との3次元的な形状の相違の程度を、評価することが可能になる。
これにより、複数の磁気データの示す座標の分布が3次元的な場合及び2次元的な場合の双方において、外部磁界の影響を受けない適切な中心点をオフセットに採用することが可能となる。
また、複数の磁気データの示す座標の分布の3次元的な広がりの程度に応じて、中心点算出用更新ベクトルと共分散行列の最小固有値に対応する固有ベクトルとが直交するという条件、及び、歪判定用更新ベクトルと共分散行列の最小固有値に対応する固有ベクトルとが直交するという条件を緩和するため、複数の磁気データの示す座標の3次元的な分布の広がりの程度に応じて、正確な中心点算出用球面の中心点及び歪判定用球面の中心点を算出することが可能となる。
これにより、複数の磁気データの示す座標が2次元的に分布する場合に、立体と球面の形状の相違の程度をより正確に評価することが可能となる。
以下、本発明の実施の形態を説明する。
本実施形態では、3次元磁気センサが検出する磁界として、検出対象である地磁気の他に、3次元磁気センサが搭載される機器の部品が発する磁界である内部磁界、及び機器の外部の物体が発する外部磁界の存在を想定している。
これらの3種類の磁界は、磁界の向き、大きさ、及び均一性において、各々異なる性質を有するものである。つまり、これらの磁界を3次元磁気センサで検出する場合、3次元磁気センサの位置、姿勢が変化すると、3次元磁気センサから出力される磁界を示すベクトルデータの向き及び大きさも変化するが、この出力データの変化の仕方は、3種類の磁界の各々で差異を有する。
以下、図1乃至図4を用いて、本実施形態において想定するこれら3種類の磁界の概要、及び、これらの磁界を3次元磁気センサが検出した場合に出力されるベクトルデータについて説明する。
3次元磁気センサ60の周囲に存在する磁界には、計測対象である地磁気Bgの他に、3次元磁気センサ60の搭載された機器1の部品が発する内部磁界Bi、及び機器1の周囲に存在する物体2が発する外部磁界Bxが存在する。
内部磁界Biは、機器1の部品が発する磁界であり、内部磁界Biの向きは、機器1から見て一定の方向を有する。すなわち、機器1上に搭載された3次元磁気センサ60から見た場合、機器1の姿勢を変化させても、内部磁界Biは、一定の方向及び大きさを有する磁界として検知される。
例えば、利用者が機器1を手で持って手首を回すと、機器1の姿勢が変化する。このとき、地磁気Bgは磁極北を向いているので、3次元磁気センサ60で検出される地磁気Bgの3軸各々の成分は変化する。一方、3次元磁気センサ60において3次元磁気センサ60と内部磁界を発生する部品との相対的な位置関係は固定であるから、機器1の姿勢を変化させても、内部磁界Biの3軸各々の成分は一定である。
外部磁界Bxは、外部の物体2の発する磁界であり、物体2からの距離及び方向によって、磁界の向き及び大きさが変化する不均一な磁界である。すなわち、機器1上に搭載された3次元磁気センサ60から見た場合、外部磁界Bxは、物体2と3次元磁気センサ60との相互位置関係に依存して、方向及び大きさを変化させる磁界として検知される。
地上座標系ΣGは、地上に固定された座標系であり、地上の任意の一点を原点とし、互いに直交する3つの方向、例えば、東、北、及び鉛直上向きを、それぞれx軸、y軸、及びz軸とする座標系である。ここで、地上座標系ΣGから見たときの3次元磁気センサ60の位置及び姿勢を、それぞれ、位置Ps、及び姿勢θsと表現することにする。
センサ座標系ΣSは3次元磁気センサ60に固定された座標系であり、3次元磁気センサ60の有する3つの各々のセンサモジュールの出力する値を、それぞれ、x軸、y軸、z軸上にプロットするように設けられた座標系である。すなわち、3次元磁気センサ60が出力する磁気データは、センサ座標系ΣSのベクトルデータとして表現される。
なお、地上座標系ΣGから見た場合、センサ座標系ΣSの原点は位置Psであり、姿勢は姿勢θsである。
なお、図2では、地磁気Bg及び内部磁界Biのみが存在し、外部磁界Bxは存在しない場合を想定している。また、図2に記載された各ベクトルの左上に付された添字Sは、当該ベクトルがセンサ座標系ΣSにおいて表されたベクトルであることを意味する。
内部磁界Biは、センサ座標系ΣSにおいて、3次元磁気センサ60の位置Ps及び姿勢θsに依存しない、一定の方向及び大きさを持つベクトルSBi(センサ座標系ΣSの原点から中心点x0Gへと向かうベクトル)として表現される。
一方、地磁気Bgは、センサ座標系ΣSにおいて、大きさは一定であるが、向きは3次元磁気センサ60の姿勢θsに伴い変化する。つまり、地磁気Bgは、センサ座標系ΣSにおいて、3次元磁気センサ60の姿勢θsに依存した向きを有する、一定の大きさのベクトルSBg(θs)として表現され、θsを変化させた場合には、中心点x0Gを中心とする球面上に位置することになる。
従って、3次元磁気センサ60が順次出力する磁気データq1〜qNは、センサ座標系ΣSにおいて、中心点x0Gを中心点とし、地磁気Bgの大きさを半径とする、球面SG上に分布することになる。仮に、内部磁界Biの大きさが0の場合には、中心点x0Gと、センサ座標系ΣSの原点とは一致することになる。なお、3次元磁気センサ60の測定値は、測定誤差を有するため、複数の磁気データq1〜qNは、厳密には、球面SGの近傍に確率的に分布する。
外部磁界Bxは不均一な磁界であり、地上座標系ΣGにおける位置に応じて、向き及び大きさが変化する。従って、3次元磁気センサ60の位置Psを変化させた場合には、3次元磁気センサ60が検知する外部磁界Bxの向き及び大きさも変化する。このような外部磁界Bxは、センサ座標系ΣSにおいて、3次元磁気センサ60の姿勢θs及び位置Psに依存して方向及び大きさの両方を変化させるベクトルSBx(θs、Ps)として表現される。
そして、3次元磁気センサ60の姿勢θs及び位置Psを変化させつつ測定した複数の磁気データq1〜qNは、内部磁界SBi、地磁気SBg(θs)、及び外部磁界SBx(θs、Ps)のそれぞれのベクトルの和として出力される。従って、複数の磁気データq1〜qNは、センサ座標系ΣSにおいて、中心点x0Gを中心とする球面SGと、球面とは異なる歪んだ形状を有する曲面SXとを、中心点x0Gを基準として重ね合わせた立体SDの表面近傍に分布することになる。ここで、曲面SXは、センサ空間ΣSにおいて外部磁界SBx(θs、Ps)を表す曲面であり、3次元磁気センサ60が出力する複数の磁気データq1〜qNの各々が示すベクトルのうち、内部磁界SBiと、外部磁界SBx(θs、Ps)との和の成分を表す。
但し、外部磁界Bxが微弱である場合には、立体SDは球面に近い形状となる。
図4(A)は、外部磁界Bxが微弱である場合に、3次元磁気センサ60が順次出力する磁気データq1〜qNを、センサ座標系ΣSにおいてプロットした図である。外部磁界Bxが微弱である場合、3次元磁気センサ60が順次出力する磁気データq1〜qNは、地磁気を表すベクトルSBg(θs)の描く中心点x0Gを中心とする球面SGと、外部磁界を表すベクトルSBx(θs、Ps)の描く曲面SXとの重ね合わせである、球面に近い形状の立体SDの表面近傍に分布する。この場合、複数の磁気データq1〜qNから、中心点x0Gとほぼ一致するベクトルを求めることが可能である。
従って、外部磁界Bxの及ぼす影響の大きさ、すなわち、立体SDがどの程度球面に近い形状を有しているかを評価し、立体SDの形状がほぼ球面であると看做される場合のみ、当該球面(立体SD)の中心点をオフセットcとして採用し、立体SDの形状が球面とは異なる形状を有する場合には、複数の磁気データq1〜qNに基づいた(立体SDに基づいた)オフセットcの算出を避ける必要がある。
以下では、図5を参照しながら、3次元磁気センサ60が出力するN個の磁気データq1〜qNが、半径rの球面(中心点算出用球面)Sの近傍に分布すると仮定する場合に、球面Sの中心点(中心点算出用球面の中心点)x0を算出する方法について述べる。ここで、球面Sは、センサ空間ΣS上で、複数の磁気データq1〜qNが球面近傍に分布すると仮定して、その球面の中心点を算出するために便宜上導入される球面であり、前述した、地磁気を表す球面SG、及び立体SDとは異なるものである。
なお、不均一な外部磁界Bxが微弱な場合、または、不均一な外部磁界Bxが存在する場合であっても機器1の位置(厳密には、3次元磁気センサ60の位置)を固定して姿勢のみを変化させつつ複数の磁気データq1〜qNを測定した場合には、地磁気Bgを表す球面SG及び曲面SXを重ね合わせた立体SDと、球面Sとは、ほぼ一致する。具体的には、外部磁界Bxが微弱な場合、半径rは地磁気Bgの大きさを表し、球面S及びその中心点x0は、地磁気Bgを表す球面SG及びその中心点x0Gとほぼ等しくなる。(図14(C)参照)また、不均一な外部磁界Bxが存在する場合であっても、機器1の位置を固定して姿勢のみを変化させつつ複数の磁気データq1〜qNを測定した場合、半径rは地磁気Bgを表すベクトルと外部磁界Bxを表すベクトルとを足し算したベクトルの大きさを表し、球面Sの中心点x0は、地磁気Bgを表す球面SGの中心点x0Gとほぼ等しくなる。(図14(B)参照)
ここで、以下の式(19)で示される目的関数fS(x)を定義する。このとき、目的関数fS(x)を最小化するxが、球面Sの中心点x0として尤もらしい値となる。中心点x0は、式(21)において示される共分散行列Aが正則である場合には、式(20)により求めることができる。
球面Sの中心点x0は、前述の通り、不均一な外部磁界Bxが微弱な場合、または、不均一な外部磁界Bxが存在する場合であっても機器1の位置を固定して姿勢のみを変化させつつ複数の磁気データq1〜qNを測定した場合には、地磁気Bgを表す球面SGの中心点x0Gとほぼ一致する。すなわち、立体SDと、球面Sとがほぼ一致する場合には、球面Sの中心点x0は、地磁気を表す球面SGの中心点x0Gとほぼ一致し、球面Sの中心点x0を、オフセットcとして採用することが可能である。
ところで、3次元磁気センサ60が出力する複数の磁気データq1〜qNが球面Sの近傍に分布する場合に、球面Sの中心点x0を算出するためには、複数の磁気データq1〜qNがセンサ座標系ΣSにおいて3次元的な広がりを有して分布していることが必要である。
例えば図6に示すように、複数の磁気データq1〜qNが、センサ座標系ΣSの平面π上の円πC近傍に2次元的に分布する場合、球面Sは、円πCを切断面に有するような球面であるということしか特定できない。円πCを切断面に有するような球面は、円πCの中心点πCOを通り平面πに直交する直線πL上に存在する中心点xπ1を中心とする球面Sπ1であるかもしれないし、直線πL上に存在する中心点xπ1とは異なる中心点xπ2を中心とする球面Sπ2であるかもしれない。つまり、中心点x0が、円πCの中心点πCOを通り平面πに直交する直線πL上に存在することまでは特定可能であっても、直線πL上のどの位置に存在するかについて、具体的に特定することが出来ない。
機器1が自動車等のように左右方向に姿勢変化する場合や、機器1が携帯電話等のようにユーザの手によって動かされるがその動かし方が不十分な場合には、機器1の姿勢変化は3次元的とはならず、2次元的なものとなることがある。この場合、センサ座標系ΣSにおいて複数の磁気データq1〜qNの各々が示す座標の分布は、3次元的な広がりを有さず、2次元的に広がるため、複数の磁気データq1〜qNに基づいて中心点x0を算出することは出来ない。
つまり、平面π上に2次元的に分布する複数の磁気データq1〜qNに基づいて算出される中心点xπが有する情報のうち、平面πに垂直な方向(つまり、直線πL方向)の情報については正確性を有さないが、平面πに平行な方向の情報については正確性を有する。
従って、オフセットcの算出にあたっては、中心点xπが有する情報のうち、正確性を有する方向の情報(つまり、オフセットcの候補となる中心点x0が、直線πL上に存在しているという情報)について、利用することが可能である。
この場合、複数の磁気データq1〜qNが、円周πC近傍に存在していると仮定すれば、球面Sの中心点x0は、円周πCの中心点πCOを通り平面πに直交する直線πL上に存在することを特定することができる。しかし、立体SDが球面とは大きく異なる歪んだ形状を有する場合には、立体SDの表面近傍に存在する複数の磁気データq1〜qNは、球面Sの近傍には存在しない。従って、平面πによる球面Sの切断面である円周πC近傍に複数の磁気データq1〜qNが存在していると仮定して算出された中心点x0と、地磁気Bgを表す球面SGの中心点x0Gとは一致しない可能性が高く、中心点x0が直線πL上に存在する場合であっても、中心点x0Gは直線πL上には存在しない可能性が高い。
このように、複数の磁気データq1〜qNが2次元的に分布し、球面Sの中心点x0が直線πL上に存在することを特定可能な場合であっても、外部磁界Bxの影響が大きく、地磁気Bgを表す球面SGの中心点x0Gと球面Sの中心点x0とが一致しない場合には、中心点x0を、オフセットcとして採用することを防止する必要がある。
しかし、立体SDが、球面とは大きく異なる歪んだ形状を有する場合、平面πによる立体SDの切断面を表す曲線πDも、円周とは異なる歪んだ形状を有する可能性が高い。つまり、複数の磁気データq1〜qNが、立体SDの平面πによる切断面を表す曲線πDの近傍に分布していると仮定した場合、曲線πDの形状の歪の程度を評価することにより、立体SDの形状と球面の形状との相違の程度について判定することが可能である。そして、曲線πDの形状が円周とは異なる大きく歪んだ形状である場合には、立体SDと球面とが異なる形状を有し、地磁気Bgを表す球面SGの中心点x0Gと球面Sの中心点x0とが一致しない可能性が高い。従って、曲線πDが円周とは異なる歪んだ形状を有する場合には、球面Sの中心点x0が直線πL上に存在することが特定される場合であっても、球面Sの中心点x0を、オフセットcとして採用することを避ける必要がある。一方、曲線πDの形状が歪のない円周であると看做すことができる場合には、曲線πDと円周πCとがほぼ一致すると看做すことができる。この場合、立体SDと球面Sとがほぼ一致すると看做すことができ、球面Sの中心点x0を、オフセットcとして採用することができる。
以下、本実施形態における球面Sの中心点x0の算出方法、及び中心点x0のオフセットcへの採否の判定方法について、具体的に説明する。
図8は、本発明の実施形態に係る機器1の構成を示すブロック図である。
機器1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM20、各種のプログラムやデータを記憶したROM30、通信を実行する通信部40、画像を表示する表示部50、及び地磁気を検出して地磁気データを出力する3次元磁気センサ60、を備える。
3次元磁気センサ60は、X軸地磁気センサ61、Y軸地磁気センサ62、及びZ軸地磁気センサ63を備える。各センサは、MI素子(磁気インピーダンス素子)、MR素子(磁気抵抗効果素子)などを用いて構成することができる。地磁気センサI/F64は、各センサから出力信号をAD変換して磁気データを出力する。この磁気データは、X軸地磁気センサ61、Y軸地磁気センサ62、及びZ軸地磁気センサ63からの出力を、センサ座標系ΣSにおけるベクトルデータとして、センサ座標系ΣSの、x軸、y軸およびz軸の3成分によって示されるデータである。
表示部50は、CPU10が磁気データ処理プログラム70を実行することにより算出した地磁気の向きを示す方位情報を、矢印等によって表示する。なお、磁気データ処理プログラム70は、地図アプリケーション等との連携を想定するものであっても良く、表示部50は、地磁気の向きを示す方位情報である矢印等を地図上に表示しても良い。
CPU10、RAM20、3次元磁気センサ60、及び磁気データ処理プログラム70は、3次元磁気センサ60が検出する磁気データに基づき、正確な地磁気の向き及び大きさを示す地磁気データを算出する、地磁気測定装置として機能する。この地磁気データは、地上座標系ΣGにおいて磁極北に向かう水平成分と伏角方向の鉛直成分とを有するベクトルを、センサ座標系ΣSから見たベクトルデータとして、x軸、y軸およびz軸の3成分によって表されるデータである。
磁気データ処理プログラム70は、オフセットcを算出し、このオフセットc及び3次元磁気センサ60が検出する磁気データに基づいて、正確な地磁気データを算出する。
オフセット算出モジュール72は、バッファ管理モジュール71に蓄積されている複数の磁気データq1〜qNを用いて、新オフセットc1を算出し、オフセットcを、旧オフセットc0から新オフセットc1へと更新する。オフセットcの保持手段としては、RAM20を用いる。
方位算出モジュール73は、3次元磁気センサから順次出力される磁気データq1〜qNを、オフセット算出モジュール72によって保持されるオフセットcにより補正して、正確な地磁気データを算出し、方位情報を生成する。なお、方位算出モジュール73は、適当な周期でバッファ管理モジュール71及びオフセット算出モジュール72を呼び出し、オフセット更新の指示を与える。
図9は、オフセットcを算出し更新する処理の流れを示すフローチャートである。このフローチャートは、方位算出モジュール73が、バッファ管理モジュール71及びオフセット算出モジュール72を呼び出しオフセット更新の指示を与えた場合に実行される。方位算出モジュール73は、上位プログラムからの指示がある場合等、オフセットcの更新が必要である場合に、オフセット更新の指示を行う。
これにより、N個の磁気データq1〜qNの各々が示す座標が、センサ座標系ΣSにおける各固有ベクトルu1〜u3方向のそれぞれについて、どの程度の広がりを有するか知ることができる。
中心点算出処理は、ステップS100で取得したN個の磁気データq1〜qNと、ステップS101で得た各種分布指標とに基づいて、N個の磁気データq1〜qNを近傍に有する球面Sの中心点x0を算出する。中心点x0は、オフセットcを、旧オフセットc0から新オフセットc1に更新するときの、新オフセットc1の候補となる座標である。
歪判定処理は、ステップS100で取得したN個の磁気データq1〜qN、ステップS101で算出した各種分布指標、及び、ステップS102で算出した中心点x0に基づいて、N個のデータの分布の形状が、前述した図2及び図4のような、ある点を中心とする球面の近傍に分布するものであるか否かについて判定する処理である。つまり、歪判定処理は、N個の磁気データq1〜qNが、ある立体SDの表面近傍に分布すると仮定した場合に、立体SDの形状と、球面の形状との相違の程度を判定する処理である。
そして、立体SDの形状が球面と看做せると判定した場合、すなわち、N個の磁気データq1〜qNが図2及び図4に示すような球面に近い形状の立体の表面近傍に分布すると判定した場合には、CPU10は、処理をステップS104に進める。一方、立体SDが球面とは異なる大きく歪んだ形状を有すると判定した場合には、CPU10は、フローチャートに示される処理を終了する。
オフセット更新処理は、中心点x0を新オフセットc1として採用したうえで、オフセットcを、旧オフセットc0から新オフセットc1に更新する処理である。オフセットcを更新した後、CPU10は、フローチャートに示される処理を終了する。
例えば、ステップS103において、立体SDが球面とは異なる大きく歪んだ形状を有すると判定した場合に、CPU10は、処理をステップS100に戻しても良いし、何らかのメッセージを表示部50に出力した上で処理を一旦停止させ、ユーザからの指示を待ってステップS100から処理を再開させても良い。
N個の磁気データq1〜qNを取得する際に、利用者が機器1を手で握って回転させるのではなく、機器1の位置を固定したままその姿勢のみを変化させるようにすると、外部磁界Bxの影響を低く抑えることができる(図4(B)参照)。そのため、ステップS103において、立体SDが球面とは異なる大きな歪を有する形状であると判定された場合には、機器1の位置を固定したまま回転させることを、利用者に対して指示しても良い。利用者に対する指示は、機器1の表示部50に画像や動画等を表示したり、音声等を用いたりすることで、行っても良い。
図10を参照しつつ、ステップS101における、磁気データ分布指標算出処理について説明する。図10は、複数の磁気データq1〜qNのセンサ座標系ΣSにおける、分布の様子を示す図であり、複数の磁気データq1〜qNが3次元的に広がりを持って分布している場合を例示している。
磁気データ分布指標算出処理では、式(21)に示される共分散行列Aを用いて、複数の磁気データq1〜qNの分布が、どの程度3次元的な広がりを有しているかについての各種指標を算出する。以下で、共分散行列Aの性質を説明する。
図10に示すように、各固有ベクトルu1〜u3を重心座標系ΣCの原点qCを起点となるように配置する。このとき、例えばj=1の場合について考える。固有値λ1は、ベクトルCqiを、固有ベクトルu1へ射影した長さLi1の二乗(Li1)2を、N個の磁気データCqi(i=1、2、…N)について平均した値に等しくなる。つまり、固有値λ1は、N個の磁気データCqiが、重心qCから固有ベクトルu1方向にどの程度離れているかを表す指標であり、複数の磁気データq1〜qNの分布が固有ベクトルujの方向に対してどの程度の広がり有するかについて、対応する固有値λjの大きさに基づいて判断することができる。
このように、磁気データ分布指標算出処理では、式(21)に示される共分散行列Aの、固有ベクトルu3と、最小固有値λ3とを利用して、センサ座標系ΣSにおける複数の磁気データq1〜qNの分布の広がりが最も小さな方向、及びその広がりの程度を算出する。
次に、ステップS102の中心点算出処理について説明する。
前述の通り、内部磁界Biは機器1の内部状態が変化した場合に変化するものであるため、内部磁界Biを表すオフセットcも必要に応じて更新されることが必要となる。中心点算出処理は、このオフセットcを、旧オフセットc0から新オフセットc1に更新するときの、新オフセットc1の候補である中心点x0を算出する処理である。
しかし、球面Sの中心点x0が中心点xπを通り平面πに直交する直線πL上に存在することについては、特定可能である。つまり、中心点xπの座標が有する情報のうち、直線πLと平行な方向についての情報は不正確であるが、直線πLと垂直な方向についての情報は正確である。従って、当該期間が開始される前のオフセットc(旧オフセットc0)が直線πL上に存在しない場合には、オフセットcを旧オフセットc0から直線πL上の新オフセットc1に更新して補正処理を行うことで、オフセットcを旧オフセットc0から更新しない場合に比べて正確な地磁気Bgを算出することができる。
中心点算出処理では、中心点xπで示される座標のうち正確性の高い方向の情報については中心点xπの情報を利用し(つまり、当該期間において3次元磁気センサ60から出力される複数の磁気データq1〜qNから算出される情報を利用し)、中心点xπで示される座標のうち正確性の低い方向については旧オフセットc0の情報を利用することで、中心点x0を推定する。これにより、中心点xπの座標が有する情報のうち不正確な情報を排除し、正確な情報のみに基づいて、中心点x0を求めることができる。なお、旧オフセットc0から中心点x0を示すベクトル(x0−c0)を、更新ベクトル(中心点算出用更新ベクトル)kと呼ぶ。
更新ベクトルkは、中心点xπの座標が有する情報のうち、正確性を有する方向の情報を利用して、中心点x0を算出するためのベクトルである。従って、複数の磁気データq1〜qNが2次元的に分布する場合、更新ベクトルkは、固有ベクトルu3方向の成分を有さないように定められる。つまり、更新ベクトルkは、固有ベクトルu1及びu2の線形結合として表現される。このとき、更新ベクトルkと固有ベクトルu3との間には以下の式(22)が成立する。
一方、複数の磁気データq1〜qNの分布が、完全に押しつぶされること無く、固有ベクトルu3方向に広がりを有する場合、中心点xπの座標が有する情報は、固有ベクトルu3方向について完全に欠落している訳ではない。この場合、更新ベクトルkと固有ベクトルu3とが完全に直交する必要は無く、式(22)で示される制約条件は緩和されることが好ましい。そこで、本実施形態では、式(22)で示される制約条件を、磁気データq1〜qNが示す座標の分布の、固有ベクトルu3方向の広がりの大きさ(つまり、共分散行列Aの最小固有値λ3の大きさ)に応じて緩和する。
なお、更新ベクトルkは、中心点x0の位置を求めるための変数であるベクトルxの示す位置を、旧オフセットc0を起点として表した位置ベクトルであるが、計算の便宜上、式(13)との整合を図り、式(25)に示すように、ベクトルx及び旧オフセットc0を重心qcから見た位置ベクトルとして表現する。
誤差δUを、0または0に近い小さな値に近づけることで、更新ベクトルkを定めることを考える。更新ベクトルkと固有ベクトルu3とが直交しない場合には、内積ε3は大きな値を有することになるが、係数αを十分に小さな値(例えば、0または0に近い小さな値)に設定した場合、内積ε3が大きな値を有していても、誤差δUを0または0に近い小さな値に近づけることができる。一方、係数αを大きな値に設定した場合、更新ベクトルkと固有ベクトルu3とが直交し、内積ε3が0または0に近い小さな値にならない限り、誤差δUを0または0に近い小さな値に近づけることはできない。
すなわち、式(23)において係数αを0または0に近い小さな値に設定して、誤差δUを0または0に近い小さな値に近づける場合、更新ベクトルkと固有ベクトルu3とが直交するという式(22)に示した制約条件は緩和される。一方、式(23)において係数αを大きな値に設定して、誤差δUを0または0に近い小さな値に近づける場合、式(23)は式(22)と同様の制約条件を与える式になる。
複数の磁気データq1〜qNの分布が2次元的な場合、誤差δSを最小化することで、複数の磁気データq1〜qNを近傍に有する球面Sπの中心点xπとして尤もらしい座標を算出できるが、これに加えて、誤差δUを最小化することで、中心点xπが示す座標の有する情報のうち正確性の高い方向の情報についてのみ利用した、中心点x0として尤もらしい座標を算出することができる。
複数の磁気データq1〜qNの分布が3次元的な場合、係数αが0または0に近い小さな値に設定されるため、誤差δUを最小化しても、式(22)に示した制約条件は緩和され、十分に機能しない(または完全に機能しない)。
従って、目的関数gS(x)を最小化するxを算出することで、複数の磁気データq1〜qNの分布が2次元的な場合及び3次元的な場合の双方の場合について、複数の磁気データq1〜qNを近傍に有する球面Sの中心点x0として尤もらしい座標を求めることができる。
次に、ステップS103の歪判定処理について説明する。
なお、本実施形態の歪判定処理は、複数の磁気データq1〜qNが3次元的に分布する場合、及び複数の磁気データq1〜qNが2次元的に分布する場合の双方について、複数の磁気データq1〜qNを表面近傍に有する立体SDの形状と球面の形状との相違の程度を判定する処理である。
以下では、本実施形態に係る歪判定処理の前提として、複数の磁気データq1〜qNが3次元的な広がりを有して分布する場合に限定した歪判定処理(8.1節)について説明したうえで、その後、本実施形態に係る歪判定処理について説明する(8.2節)。
複数の磁気データq1〜qNが3次元的に分布する場合で、且つ、不均一な外部磁界Bxの影響が小さく立体SDの形状がほぼ球面と看做せる場合、式(20)に示した球面Sの中心点x0は、地磁気を表す球面SGの中心点x0Gとほぼ一致する。しかし、図3に示したように、外部磁界Bxが一様ではなく、かつ、外部磁界Bxの影響が大きい場合には、3次元磁気センサ60が順次出力する複数の磁気データq1〜qNは、中心点x0を中心とする球面Sの近傍には分布せず、球面とは異なる歪んだ形状を有する立体SDの表面近傍に分布することになる。この場合、球面Sの中心点x0は、地磁気Bgを表す球面SGの中心点x0Gとは異なる座標となる可能性が高いため、中心点x0をオフセットcとして採用することは、避ける必要がある(図13参照)。
例えば、図4(A)に示すように、外部磁界Bxの影響が小さい場合には、センサ座標系ΣSにおいて、3次元磁気センサ60が順次出力する複数の磁気データq1〜qNが、ステップS102で算出された中心点x0を中心とする球面Sの近傍に分布することになり、且つ、当該球面S及びその中心点x0は、地磁気Bgを表す球面SG及びその中心点x0Gとほぼ等しくなる(図14(C)参照)。
また、図4(B)に示すように、機器1の位置(厳密には、3次元磁気センサ60の位置)を固定したままその姿勢のみを変化させて複数の磁気データq1〜qNを取得する等、外部磁界Bxが3次元磁気センサ60によってほぼ一様な磁界として検出される場合には、複数の磁気データq1〜qNが、ステップS102で算出された中心点x0を中心とする球面Sの近傍に分布することになる。そして、この場合、球面Sは地磁気Bgを表す球面SGとは異なるが、球面Sの中心点x0は、球面SGの中心点x0Gとほぼ等しくなる(図14(B)参照)。
本節に係る歪判定処理は、複数の磁気データq1〜qNが立体SDの表面近傍に分布すると仮定した場合に、立体SDの形状が球面の形状とどの程度近いものであるかを評価する処理である。立体SDの形状が球面の形状に十分に近いと評価された場合には、球面Sの中心点x0を、新オフセットc1として採用することができる。
これに対して本節に係る歪判定処理では、図12に示すように、まず、複数の磁気データq1〜qNが、球面とは異なる歪んだ形状の式(36)に示される立体SDの表面近傍に分布すると仮定する。式(36)に示される立体SDは、球面を表す成分「X(x−qc)−j」と、式(37)に示す歪を表す成分(歪誤差ベクトル)k(E)とを、加算したものである。ここで、式(36)の右辺に現れる0Nの右下の添え字「N」は、零ベクトルの次元を表している。
なお、式(36)に現れる成分「X(x−qc)−j」が表す球面と、中心点算出処理により算出される球面Sとは、必ずしも一致しない。そこで、以下では、式(36)に現れる成分「X(x−qc)−j」によって表される球面を球面(歪判定用球面)S2と称し、その中心点を中心点(歪判定用球面の中心点)x02と称する。なお、本節において、ベクトルxは、球面S2の中心点x02を表すための変数である。
歪判定処理は、式(36)のうち、歪を表す成分k(E)の大きさを評価することにより、立体SDの形状と、球面S2の形状とが、どの程度相違しているかについて評価するものである。
誤差δSDは、複数の磁気データq1〜qNの各々が示す座標と立体SDの表面との誤差を各要素とする、N次元のベクトルであり、誤差(歪判定用球面誤差ベクトル)δS2と歪を表す成分k(E)との和として表現される。なお、詳細は後述するが、誤差δS2は、式(36)のうち、球面を表す成分「X(x−qc)−j」に対応する成分である。
誤差δSDのノルムを最小にするベクトルx及び歪評価行列E、換言すれば、(δSD)T(δSD)を最小化するようなベクトルx及び歪評価行列Eによって、複数の磁気データq1〜qNを表面近傍に有する立体SDが表現される。
ここで、以下の式(42)で示される目的関数(立体歪評価関数)fSD(E,x)を定義する。この目的関数fSD(E,x)を最小化するようなx及び歪評価行列Eにより、複数の磁気データq1〜qNを近傍に有する立体SDが表現される。
式(17)に表される誤差δSは、N個の磁気データq1〜qNの各々が示す座標と球面Sとの誤差を吸収するためのベクトルである。誤差δSを構成する1行目〜N行目の各要素は、それぞれ独立した変数である。従って、誤差δSによって、N個の磁気データq1〜qNの各々が示す座標と球面Sとの誤差を吸収する場合には、N個の磁気データq1〜qNと球面SとのN個の誤差の各々は、互いに制約の無い独立した値となる。つまり、誤差δSによって表されるN個の誤差は、それぞれが独立に確率的に定められるものであり、N個の誤差は全体として、対称性を有し、かつ方向依存性の無いホワイトノイズである。
従って、式(19)乃至式(21)は、N個の磁気データq1〜qNの座標と球面Sとの誤差を、対称性を持ち方向依存性の無いホワイトノイズとみなし、そのホワイトノイズである誤差を最小化するような球面Sの中心点x0を求めるものである。
一方、歪を表す成分k(E)は、式(39)で示した3変数二次形式の関数ke(p)を各成分とするベクトルである。3変数の二次形式は、変数が2次の項から構成される関数であり、3次元空間上の様々な曲面、例えば、直線、平面、柱面、球面、楕円面、錐面、1葉双曲面、2葉双曲面、及び各種放物面等を描くことができる。従って、歪を表す成分k(E)は、N個の磁気データq1〜qNが示すN個の座標と球面S2とのN個の誤差の各々を、互いに独立したものではなく、N個の誤差の全てが同一の関数ke(p)により表される3次元空間内の曲面上に存在するという制約を持った値として表現する。
このように、誤差δSDは、N個の磁気データq1〜qNの各々が示す座標と球面S2とのN個の誤差の全体を、ホワイトノイズである誤差δS2と、滑らかな歪を表す成分k(E)による球面S2からの歪という性質を有する誤差とによって表現する。つまり、誤差δSDを導入することにより、N個の磁気データq1〜qNの各々が示す座標と球面S2とのN個の誤差を表すベクトルを、ホワイトノイズに起因する誤差δS2と、歪を表す成分k(E)による歪に起因する誤差とに分離することが可能となった。
図13に示す場合、複数の磁気データq1〜qNは、球面S2とは大きく異なる歪んだ形状の立体SD上に分布するため、複数の磁気データq1〜qNが球面S上に分布していると看做すこともできない。中心点算出処理は、球面Sの近傍に複数の磁気データq1〜qNが存在していることを前提として、オフセットc(地磁気を表す球面SGの中心点x0G)の候補である中心点x0を算出する処理であるため、複数の磁気データq1〜qNを近傍に有さない球面Sの中心点x0は、オフセットcとしての意味を有さない。
また、立体SDは、地磁気Bgを表す球面SGと外部磁界Bxを表す曲面SXとの重ね合わせであると同時に、球面S2と歪を表す成分k(E)との重ね合わせでもある。歪を表す成分k(E)は、複数の磁気データq1〜qNの各々が示す座標と球面S2との誤差のうちホワイトノイズとして表現できない誤差を表すベクトルであり、外部磁界Bxを表す曲面SXとは異なるものである。よって、歪を表す成分k(E)が大きい場合には、球面S2と球面SGとは異なるものとなる可能性が高く、仮に球面Sと球面S2とが一致すると看做すことができる場合であっても、球面S及びその中心点x0と球面SG及びその中心点x0Gとは異なるものとなる可能性が高い。
このように、式(36)が成立し、且つ、歪を表す成分k(E)が大きい場合には、球面Sの中心点x0と球面SGの中心点x0Gとが一致しない可能性が高く、球面Sの中心点x0をオフセットcとして採用することを避ける必要がある。
例えば、図14(A)に示すような、外部磁界Bxが存在しない場合を検討する。この例では、地磁気Bgを表す球面SGと外部磁界Bxを表す曲面SXとの重ね合わせである立体SDは、球面SGと等しくなり、その形状は球面となる。
立体SDの形状が球面となり、歪を表す成分k(E)が「0」となる場合、立体SDと球面S2とは一致するため、式(36)が成立する場合には、式(13)も同時に成立する。つまり、球面Sは、複数の磁気データq1〜qNを近傍に有するように定められる球面であるため、立体SDと球面Sとは一致する。その結果、球面Sと、球面SGとが一致することになるため、球面Sの中心点x0は、中心点x0Gを表すものとなり、中心点x0をオフセットcとして採用することができる。
例えば、図14(B)に示すように、外部磁界Bxが3次元磁気センサ60によってほぼ一様な磁界として検出される場合を検討する。この例では、外部磁界Bxを表す曲面SXの形状を、中心点x0Gを中心とする球面と看做すことができるため、球面SGと曲面SXとの重ね合わせである立体SDは、中心点x0Gを中心とする球面に近い形状を有する。
立体SDが球面に近い形状となり、歪を表す成分k(E)が「0」に近い小さな値となる場合、立体SDと球面S2とは、ほぼ等しくなるため、式(36)が成立する場合には、式(13)も成立すると看做すことができる。よって、立体SDと球面Sとは、ほぼ等しいものとなり、立体SD上に分布する複数の磁気データq1〜qNは、中心点x0を中心とする球面S上にも分布していると看做すことができる。その結果、球面Sの中心点x0と、球面SGの中心点x0Gとは、ほぼ同一の座標になる。従って、図14(B)に示すような場合にも、球面Sの中心点x0をオフセットcとして採用することができる。
この例では、地磁気Bgを表す球面SGと外部磁界Bxを表す曲面SXとの重ね合わせである立体SDは、地磁気Bgを表す球面SGとほぼ等しいと看做すことができるため、立体SDの形状は球面と看做すことができる。
立体SDが球面に近い形状となり、歪を表す成分k(E)が「0」に近い小さな値となる場合、立体SDと球面S2とは、ほぼ等しくなるため、式(36)が成立する場合には、式(13)も成立すると看做すことができ、立体SDと球面Sとがほぼ等しいものとなる。
よって、球面Sと球面SGとは、ほぼ等しくなるため、中心点x0と、球面SGの中心点x0Gとは、ほぼ同一の座標になる。従って、図14(C)に示すような場合にも、球面Sの中心点x0をオフセットcとして採用することができる。
ベクトルqi−x0が、固有ベクトルuE1と平行な場合、ベクトルE(qi−x0)は、ベクトルqi−x0に平行で、ベクトルqi−x0をλE1倍した長さを有するベクトルとなる。つまり、要素ke(qi−x0)の値は、λE1(|qi−x0|2)となる。従って、要素ke(qi−x0)の絶対値は、ベクトルqi−x0の表す方向が、固有ベクトルuE1の表す方向に近づくに従って大きくなる。
ここで、立体SDの表面近傍に存在する磁気データqiの座標が、球面S2から大きく離れた位置である場合、磁気データqiの示す座標と球面S2との誤差を、球面S2からのホワイトノイズである誤差δS2と看做すことは好ましくない。歪を表す成分k(E)は、立体SDの近傍に存在する複数の磁気データq1〜qNの各々が示す座標と球面S2との誤差のうち、ホワイトノイズと看做すことが不適切な大きな誤差を、歪に起因する誤差として吸収するために定められるベクトルである。つまり、歪を表す成分k(E)は、複数の磁気データq1〜qNを表面近傍に有する立体SDと球面S2との形状の相違を表すように定められる。
そして、歪評価行列Eの各成分は、磁気データqiの示す座標が球面S2から大きく離れている場合には、歪を表す成分k(E)のうち第i行目の要素ke(qi−x0)が大きな値となるように定められる。具体的には、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向が、ベクトルqi−x0の方向に近づくように、歪評価行列Eの各成分が定められる。
従って、歪評価行列Eの各成分は、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向と、球面S2からの誤差が大きな磁気データqiが多く存在する位置を球面Sの中心点x0から見た方向とが近づくように、定められる。そして、歪評価行列Eの最大固有値λE1は、中心点x0から見て、固有ベクトルuE1の方向に存在する複数の磁気データと球面S2との誤差の大きさの程度を表す値となる。
このように、歪評価行列Eによって、立体SDと球面S2との形状の相違の程度と、形状の相違が大きな方向とを表現することが可能となる。
歪評価値gD(E)の値が0となる場合には、式(36)は式(13)と一致し、立体SDが球面Sと等しくなる。また、歪評価値gD(E)の値が0とならない場合であっても、一定の閾値δ0以下であれば、立体SDが球面Sに近い形状を有するものであると判断できる。これらの場合には、複数の磁気データq1〜qNが球面Sの近傍に分布すると看做せるため、前述した中心点算出処理により求められた球面Sの中心点x0をオフセットcとして採用することができる。
まず、式(39)に示した関数ke(p)は、二次形式で表される関数であるため、以下の式(45)のように、ベクトルの内積として表現することもできる。また、歪を表す成分k(E)の第i行目の要素ke(qi−x0)は、式(39)の変数pに対して、ベクトル(qi−x0)を代入した値であるため、式(47)によって示される6次元のベクトルke2(i)、及び、式(48)によって表される評価行列Eの各成分を並べた6次元のベクトルeEを用いて、式(46)のように表せる。
このとき、球面S2の中心点x02は、目的関数gSD(e)を最小化する解e0のうち式(51)のeXに相当する部分を式(52)に代入することにより求められる。歪評価値gD(E)の値が閾値δ0以下である場合には、中心点算出処理により求められた球面Sの中心点x0と、球面S2の中心点x02とは、ほぼ等しい座標となる。従って、歪評価値gD(E)の値が閾値δ0以下である場合には、球面Sの中心点x0、または、球面S2の中心点x02のいずれについても、オフセットcとして採用することができる。
本実施形態は、複数の磁気データq1〜qNが3次元的に分布する場合のみならず、複数の磁気データq1〜qNが2次元的に分布する場合も想定する。従って、複数の磁気データq1〜qNが2次元的に分布する場合にも、複数の磁気データq1〜qNを表面近傍に有するような立体SDが、球面からどの程度歪んだ形状を有するものであるかについての評価を行うことが必要である。
そこで、以下、8.2節において、複数の磁気データq1〜qNが2次元的に分布する場合にも、立体SDの形状と球面の形状との相違の程度を評価する方法について述べる。
以下で、本実施形態における歪判定処理について述べる。本実施形態に係る歪判定処理は、8.1節で述べた、複数の磁気データq1〜qNが3次元的に分布する場合にのみ適用可能な歪判定処理を、複数の磁気データq1〜qNが2次元的に分布する場合にも適用できるように拡張するものである。
なお、複数の磁気データq1〜qNが、平面π上に2次元的に分布する場合には、固有ベクトルu3方向について、立体SDの形状を知ることはできない。従って、固有ベクトルu3方向について、立体SDと球面S2との形状の相違の程度を評価することは避けることが望ましい。
具体的には、歪評価行列Eの最小固有値λE3が「0」となり、且つ、共分散行列Aの最小固有値λ3に対応する固有ベクトルu3と歪評価行列Eの最小固有値λE3に対応する固有ベクトルuE3とが平行となるという制約の下で、歪評価行列Eを定める。
このような歪評価行列Eを定めた場合、共分散行列Aの固有ベクトルu3を歪評価行列Eによって変換したベクトルEu3は「0」となり、共分散行列Aの固有ベクトルu3とベクトルEu3との内積も「0」となる。よって、固有ベクトルu3とベクトルqi−x0とが平行となるような磁気データqiについて、歪を表す成分k(E)の要素ke(qi−x0)が、「0」となる。すなわち、本実施形態に係る歪評価行列Eは、中心点x0から見て共分散行列Aの固有ベクトルu3方向に存在する磁気データqiと球面S2との誤差が「0」であると看做す。換言すれば、歪評価行列Eは、固有ベクトルu3方向について、立体SDと球面S2との形状の相違が存在しないことと看做す行列として定められる。
以上に述べたような、共分散行列Aの固有ベクトルu1及びu2方向については立体SDと球面S2との形状の相違を評価するが、固有ベクトルu3方向については立体SDと球面S2との形状の相違が存在しないことと看做す歪評価行列Eを算出するための制約条件(第2の制約条件)を、式(54)に示す。
歪評価行列Eは対称行列であるため、歪評価行列Eの3つの固有ベクトルuE1〜uE3は、互いに直交する。そして、共分散行列Aの固有ベクトルu3と、ベクトルEu3とは、共に、歪評価行列Eの固有ベクトルuE1〜uE3の線形結合として表される。例えば、u3=v1uE1+v2uE2+v3uE3と表し、Eu3=w1uE1+w2uE2+w3uE3と表すことができる。ある行列の固有ベクトルに平行なベクトルを、当該ある行列により変換した場合、変換後のベクトルは、変換前のベクトルと平行で、且つ、当該ある行列の固有ベクトルに対応する固有値倍の大きさを有する。よって、固有ベクトルu3と、ベクトルEu3との間には、w1=λE1v1、w2=λE2v2、及びw3=λE3v3という関係が成立する。従って、式(54)は、歪評価行列Eの3つの固有値λE1〜λE3の全てが「0」となること、または、共分散行列Aの固有ベクトルu3が、歪評価行列Eの3つの固有値λE1〜λE3のうち値が「0」となる固有値に対応する固有ベクトルuE1〜uE3の線形結合によって表されることを示す。
複数の磁気データq1〜qNが平面π上に2次元的に分布し、且つ、平面π上において立体SDと球面S2との形状の相違が存在する場合は、歪評価行列Eの最大固有値λE1及び中間固有値λE2は、「0」よりも大きな値となる。従って、式(54)は、歪評価行列Eの最小固有値λE3が「0」であり、且つ、共分散行列Aの固有ベクトルu3と歪評価行列Eの固有ベクトルuE3とが平行であることを表すことになる。
なお、平面π上において立体SDと球面S2との形状の相違が存在しない場合、つまり、図7において、曲線πDと円周πCとが一致する場合、式(54)は、歪評価行列Eの3つの固有値λE1〜λE3が全て「0」となることを表す。
係数βが大きな値を有する場合、式(55)のうち、ベクトルEu3自体が0に近づかない限りは、誤差δEを0に近づけることはできない。すなわち、係数βが大きな値を有する場合には、式(55)は、式(54)に示される制約条件と等しい条件を示す式となる。
一方、係数βが0または0に近い小さな値を有する場合、ベクトルEu3自体が大きな値を有していても、誤差δEを0に近づけることができる。すなわち、係数βが0または0に近い小さな値を有する場合には、式(55)は、式(54)に示される制約条件を緩和した条件を示す式となる。
このように、誤差δEを最小化して0に近づけることで、複数の磁気データq1〜qNの分布の3次元的な広がりの程度に応じた、立体SDの形状と球面S2の形状との相違の程度を評価することが可能となる。
目的関数fSD(E,x)を最小化することにより球面S2の中心点x02を算出する方法は、歪を表す成分k(E)を考慮しつつ球面を表す成分「X(x−qc)−j」を最小化するものであり、2節(磁気データが球面近傍に分布する場合の球面の中心点の算出)に示した方法、つまり、式(17)に示した誤差δSを最小化することにより球面Sの中心点x0を算出する方法を利用するものである。従って、球面S2の中心点x02は、複数の磁気データq1〜qNが3次元的に分布することを前提として算出される。
しかし、複数の磁気データq1〜qNが2次元的に分布する場合には、複数の磁気データq1〜qNが3次元的に分布することを前提とする2節に示した方法に基づいて球面S2の中心点x02を算出することはできない。
そこで、複数の磁気データq1〜qNが2次元的に分布する場合の歪判定処理では、7節(中心点算出処理)に示した、複数の磁気データq1〜qNが2次元的に分布する場合に球面の中心点を算出するための制約条件である式(22)を考慮して、歪判定処理で用いる球面S2の中心点x02を算出する。具体的には、歪評価行列Eの各成分と、球面S2の中心点x02とを算出する際に、式(23)に示された誤差δUを最小化するという条件を付与することで、複数の磁気データq1〜qNの3次元的な広がりの程度に応じて、球面S2の中心点x02を算出する。
なお、式(22)に示した更新ベクトルkは、球面Sの中心点x0を算出するためのベクトルであるが、歪判定処理では、球面S2の中心点x02を算出する必要がある。そこで、旧オフセットc0から球面S2の中心点x02を示すベクトルを更新ベクトル(歪判定用更新ベクトル)k2と称し、更新ベクトルk2と固有ベクトルu3とが直交する条件(第1の制約条件)を緩和するための誤差を、誤差(第1誤差)δU2と称する。
式(23)に基づいて誤差δU2は、以下の式(60)のように表される。
ベクトルδSD2は、式(41)に示した誤差δSD、式(55)に示した誤差δE、及び式(60)に示した誤差δU2を要素に持つ、N+4次元のベクトルである。なお、式(41)に示した誤差δSDは、計算の便宜上、式(50)に現れるベクトル「X2e−j」と変形したうえで、式(61)に適用する。同様に、式(55)に示した誤差δEは、計算の便宜上、式(57)に示した式に変形したうえで、式(61)に適用する。
誤差δU2を最小化することで、複数の磁気データq1〜qNの分布が2次元的な場合及び3次元的な場合の双方の場合において、球面S2の中心点x02を算出することが可能となる。これにより、複数の磁気データq1〜qNの分布が2次元的な場合であっても、歪評価行列Eを算出することができる。
また、誤差δEを最小化することで、複数の磁気データq1〜qNの分布が広がりを有する方向についてのみ立体SDと球面S2との形状の相違の程度を評価する歪評価行列Eを算出することが可能となる。
このように、誤差δU2、及び誤差δEを含むベクトルδSD2を最小化することにより算出される歪評価行列Eによって、複数の磁気データq1〜qNの分布の広がりが2次元的な場合及び3次元的な場合の双方の場合において、立体SDと球面S2との形状の相違の程度を評価することが可能となる。
オフセット更新処理は、歪評価値gD(E)の値が、閾値δ0以下である場合に実行される処理である。オフセット更新処理では、中心点算出処理において算出された中心点x0の座標が示す値を新オフセットc1として採用したうえで、オフセットcを、旧オフセットc0から、新オフセットc1へと更新する。
本実施形態では、中心点x0を新オフセットc1として採用しているが、球面S2の中心点x02を新オフセットc1として採用しても良い。歪評価値gD(E)の値が閾値δ0以下である場合には、球面Sの中心点x0と、球面S2の中心点x02とは、いずれも、地磁気Bgを表す球面SGの中心点x0Gとほぼ一致するからである。
なお、球面S2の中心点x02は、目的関数gSD2(e)を最小化する解e=e02のうち、式(51)のeXに相当する部分を、式(52)に代入することにより求められる。
以上に示したように、本実施形態は、複数の磁気データq1〜qNの分布の3次元的な広がりの程度を表す共分散行列Aの最小固有値λ3と広がりの最も小さな方向を表す共分散行列Aの最小固有値λ3に対応する固有ベクトルu3とを算出する磁気データ分布指標算出処理、複数の磁気データq1〜qNの分布が3次元的な場合及び2次元的な場合の双方において新オフセットc1の候補である中心点x0を算出する中心点算出処理、複数の磁気データq1〜qNの分布が3次元的な場合及び2次元的な場合の双方において立体SDの形状の歪の程度を評価して中心点x0をオフセットとして採用することが妥当であるかを判断する歪判定処理、及び歪判定処理における判定結果が肯定である場合に中心点x0を新オフセットc1に採用してオフセットcを旧オフセットc0から新オフセットc1へと更新するオフセット更新処理を有する。
これらの4つの処理により、複数の磁気データq1〜qNの分布が3次元的な場合及び2次元的な場合の双方において、外部磁界Bxの影響が大きい環境下で測定された複数の磁気データq1〜qNに基づいて算出された中心点x0をオフセットcとして採用することを防止することで、内部磁界Biに近い値を示す適切な中心点x0のみをオフセットcとして採用することを可能とした。
すなわち、本実施形態は、複数の磁気データq1〜qNの分布が3次元的な場合及び2次元的な場合の双方において、正確なオフセットによる、正確な地磁気Bgの値の算出が可能になった。これにより、3次元磁気センサ60が、自動車等のように左右方向のみに姿勢を変化させ、上下方向の姿勢変化が小さい機器1に搭載されている場合等にも、適切な地磁気Bgを算出することが可能となった。
複数の磁気データq1〜qNが2次元的に分布する場合には、式(53)に示される、9行9列の行列X2 TX2の階数が、「9」よりも小さくなる場合がある。この場合には、式(53)に基づいて、解e0を算出することはできず、評価行列Eのノルムを表す歪評価値gD(E)を算出することができないため、立体SDと球面S2との形状の相違の程度を評価することができなかった。
それに対して、本実施形態では、誤差δU2、誤差δEを導入することで、複数の磁気データq1〜qNが2次元的に分布する場合も考慮された式(63)によって解e02を算出し、解e02に基づいて歪評価値gD(E)を算出した。これにより、本実施形態に係る歪判定処理は、複数の磁気データq1〜qNが2次元的に分布する場合であっても、立体SDと球面S2との形状の相違の程度を評価することが可能となった。そして、外部磁界Bxの影響を受けた複数の磁気データq1〜qNに基づいて算出された不適切な中心点x0をオフセットcとして採用することを防止し、内部磁界Biに近い値を示す適切な中心点x0のみをオフセットcとして採用することを可能とした。
歪評価行列Eを算出するにあたって、誤差δEを最小化することにより、複数の磁気データq1〜qNの分布が2次元的な場合に、立体SDと球面S2との形状の相違の程度について評価を行うことができない固有ベクトルu3方向については、立体SDと球面S2との形状の相違の程度について評価を行わず、固有ベクトルu1及びu2方向についてのみ、立体SDと球面S2との形状の相違の程度を評価する歪評価行列Eを算出することが可能となった。
すなわち、本実施形態に係る歪判定処理は、このような係数βを有する誤差δEを考慮して歪評価行列Eを算出するものであるため、複数の磁気データq1〜qNが2次元的に分布している場合のみならず、3次元的な広がりを有して分布している場合についても、3次元的な広がりの程度に応じて、立体SDと球面S2との形状の相違の程度を評価することが可能となった。
中心点x0を算出するにあたって、誤差δUを最小化することにより、複数の磁気データq1〜qNの分布が2次元的な場合に、球面Sπの中心点xπが有する情報のうち、固有ベクトルu3方向の不正確な情報を排除して、新オフセットc1の候補である球面Sの中心点x0を算出することが可能となる。これにより、本実施形態に係る中心点算出処理は、複数の磁気データq1〜qNが2次元的に分布する場合にも、3次元的な広がりの程度に応じて、正確なオフセットcの候補である球面Sの中心点x0を算出することが可能となった。
これにより、中心点算出処理において、複数の磁気データq1〜qNの分布の3次元的な広がりの程度に応じた、適切な中心点x0を算出することを可能とすると共に、歪判定処理において、複数の磁気データq1〜qNの分布の3次元的な広がりの程度に応じて、立体SDと球面S2との形状の相違の程度を判定することが可能となった。
例えば、式(17)に示した誤差δSは、N個の磁気データq1〜qNが球面Sから誤差を有して分布する場合に、その誤差が、ホワイトノイズによるものであるのか、それとも、不均一な外部磁界Bxによるものであるのかを判断できなかった。つまり、N個の磁気データq1〜qNが球面S2から大きく歪んだ形状を有する立体SDの表面近傍に分布している場合であっても、単純に球面からのホワイトノイズとしての誤差として評価するにとどまっていた。これに対して、本実施形態に係る歪判定処理は、誤差δSDを用いるため、ホワイトノイズによる誤差と、不均一な外部磁界Bxの影響による誤差とを区別することが可能となった。
N個の磁気データq1〜qNが示すN個の座標と球面S2とのN個の誤差が、全体として単なるホワイトノイズである場合、中心点算出処理において算出された中心点x0と、内部磁界Biを表すベクトル(地磁気Bgを表す球面SGの中心点x0G)とは、ほぼ同一の座標であると看做すことができる。本実施形態における歪判定処理は、誤差が単なるホワイトノイズである場合と、不均一な外部磁界Bxによる歪であるかを判別することが可能であるため、単なるホワイトノイズのみが存在する場合に算出された中心点x0を、オフセットcとして採用することが可能である。一方、本実施形態における歪判定処理は、不均一な外部磁界Bxによる立体SDの歪が存在する場合に算出された中心点x0を、オフセットcとして採用することを防止することができる。これにより、本実施形態は、不正確な値をオフセットとして採用することを未然に防止することが可能になるという利点を有する。
これにより、3次元磁気センサ60の出力値である、センサ座標系ΣSにおける複数の磁気データq1〜qNの値をそのまま用いて計算する場合に比べて、データの値を小さくすることができ、メモリサイズの小さい変数型で表現することが可能となった。すなわち、本実施形態の磁気データ処理プログラム70は、メモリ使用量の低減化を可能とするという利点を有する。
本発明は上述した実施形態に限定されるものではなく、例えば、以下の変形が可能である。また、以下に示す変形例のうちの2以上の変形例を組み合わせることもできる。
上述した実施形態では、係数αを、式(26)に示すような、固有値λ3の関数として定められているが、係数αは2値で与えられても良い。例えば、固有値λ3が閾値λ0以上となる場合には、係数αを0または0に限りなく近い正の小さな値(第2の値)となるように設定し、固有値λ3が閾値λ0未満となる場合には、係数αを正の大きな値(第1の値)となるように設定しても良い。
この場合、固有値λ3が閾値λ0未満の値となり、中心点xπの座標が有する情報が固有ベクトルu3方向に正確性を有さないと判断される場合に、更新ベクトルk及び中心点x0と更新ベクトルk2及び中心点x02とを、中心点xπの座標が有する情報のうち正確性の高い固有ベクトルu1及びu2方向の情報のみを利用して生成することが可能となる。
この場合、固有値λ3が閾値λ0未満の値となり、複数の磁気データq1〜qNの分布が2次元的な場合に、立体SDと球面S2との形状の相違の程度をより正確に評価することが可能となる。
上述した実施形態では、係数αを、式(26)に示すような、固有値λ3の関数として定められているが、係数αを固有値λ1及び固有値λ3の大きさの比率を変数とする関数としても良い。例えば、固有値λ3が固有値λ1に比べて小さくなるに従って、係数αの値が大きくなるような関数としても良い。
同様に、上述した実施形態では、係数βを、式(56)に示すような、固有値λ3の関数として定められているが、係数βを固有値λ1及び固有値λ3の大きさの比率を変数とする関数としても良い。例えば、固有値λ3が固有値λ1に比べて小さくなるに従って、係数βの値が大きくなるような関数としても良い。
この場合も、複数の磁気データq1〜qNの分布が2次元的な場合に、立体SDと球面との形状の相違の程度をより正確に評価することが可能であり、また、複数の磁気データq1〜qNの分布が2次元的な場合に、中心点xπが有する情報のうち固有ベクトルu3方向の不正確な情報を排除して新オフセットc1の候補である中心点x0を算出することが可能である。
上述した実施形態及び変形例では、式(22)に示す制約条件を係数αにより緩和した誤差δU2と、式(54)に示す制約条件を係数βにより緩和した誤差δEとを要素として含む、ベクトルδSD2の大きさを表す目的関数gSD2(e)を最小化する解e02に基づいて、歪評価行列Eを算出しているが、本発明はこのような形態に限定されるものでは無く、共分散行列Aの最小固有値λ3が閾値λ0未満の値となり複数の磁気データq1〜qNの分布が2次元的な広がりを有する(3次元的な広がりを有さない)と看做せる場合に、式(22)及び式(54)に示す制約条件を厳密に満たすという条件の下で、歪評価行列Eを算出しても良い。
例えば、複数の磁気データq1〜qNの分布が2次元的な場合、式(22)及び式(54)に示す制約条件を厳密に満たすという条件の下で、式(50)に示した目的関数gSD(e)を最小化するような解e=e0Aを算出し、この解を用いて歪評価行列Eを算出しても良い。式(22)及び式(54)に示す制約条件を厳密に満たすという条件の下で算出された、目的関数gSD(e)を最小化するような解e0Aは、ラグランジュ未定乗数法を用いて以下の式(64)により算出される。
なお、前述の通り、式(22)に示す制約条件は、厳密には、更新ベクトルkと固有ベクトルu3とが直交する条件を表しているが、本変形例では、8.2節と同様に、式(22)に示す制約条件を、更新ベクトルk2と固有ベクトルu3とが直交することを表す制約条件として用いる。
式(64)により算出される解e0Aは、式(22)及び式(54)に示す制約条件を厳密に満たす解であるため、複数の磁気データq1〜qNの分布が2次元的な場合に、立体SDと球面との形状の相違の程度をより正確に評価することが可能となる。
上述した実施形態及び変形例では、式(22)に示す制約条件を係数αにより緩和した誤差δUを要素として含むベクトルであるベクトルδSUを最小化することで式(35)により中心点x0を算出しているが、本発明はこのような形態に限定されるものでは無く、共分散行列Aの最小固有値λ3が閾値λ0未満の値となり、複数の磁気データq1〜qNの分布が2次元的な広がりを有する(3次元的な広がりを有さない)と看做せる場合に、式(22)に示す制約条件を厳密に満たすような中心点xAを算出しても良い。式(22)に示す制約条件を厳密に満たすような中心点xAは、ラグランジュ未定乗数法を用いて以下の式(67)により算出される。
式(67)により算出される中心点xAは、式(22)に示す制約条件を厳密に満たす座標であるため、複数の磁気データq1〜qNの分布が2次元的な場合に、中心点xπが有する情報のうち固有ベクトルu3方向の不正確な情報を厳密に排除して新オフセットc1の候補である中心点xAを算出することが可能となる。
上述した実施形態及び変形例では、中心点算出処理において、式(22)に示す制約条件を係数αにより緩和した誤差δUを要素として含むベクトルであるベクトルδSUを最小化することで式(35)により中心点x0を算出しているが、本発明はこのような形態に限定されるものでは無く、式(22)に示す制約条件を考慮せずに中心点x0を算出するものであっても良い。例えば、2節(2.磁気データが球面近傍に分布する場合の球面の中心点の算出)に示した方法により、式(20)を用いて中心点x0を求めても良い。また、磁気データ分布指標算出処理において算出される共分散行列Aの最小固有値λ3が閾値λ0以上の値となり、複数の磁気データq1〜qNの分布が3次元的な広がりを有すると看做せる場合にのみ、式(20)を用いて中心点x0を求めても良い。
中心点x0は、複数の磁気データq1〜qNが、ある球面の近傍に分布することを仮定した場合の当該球面の中心点である。従って、中心点x0は、複数の磁気データq1〜qNを近傍に有する球面の中心点を算出可能な任意の方法によって算出することができる。そして、中心点x0の算出に複数の磁気データq1〜qNを用いる場合、複数の磁気データq1〜qNを表面近傍に有する立体SDの形状と球面の形状との相違の程度を判定することにより、中心点x0が不均一な外部磁界Bxの影響下で算出された誤差を含む値であるか否か、すなわち、中心点x0をオフセットcとして採用することが適当であるか否かを判断することが可能になる。
上述した実施形態及び変形例では、誤差δSD、誤差δU2、及び誤差δEを要素とするベクトルδSD2のノルムを最小化するような歪評価行列Eを算出することにより、複数の磁気データq1〜qNが2次元的に分布している場合及び3次元的に分布している場合の双方の場合を想定し、複数の磁気データq1〜qNの3次元的な広がりの程度に応じて、立体SDと球面との形状の相違の程度を評価するものであるが、本発明はこのような形態に限定されるものでは無く、複数の磁気データq1〜qNが3次元的な広がりを有して分布していると仮定して、立体SDと球面との形状の相違の程度を評価しても良い。
例えば、8.1節(8.1.磁気データが3次元的に分布する場合の歪判定処理)において述べた、複数の磁気データq1〜qNが3次元的な広がりを有して分布する場合に限定した歪判定処理により、立体SDと球面との形状の相違の程度を評価しても良い。具体的には、式(50)で示した目的関数gSD(e)を最小化する解e=e0を式(53)により算出したうえで、解e0を用いて算出される歪評価行列Eのノルムを求めることで、立体SDと球面との形状の相違の程度を評価することができる。
また、磁気データ分布指標算出処理において算出される共分散行列Aの最小固有値λ3が閾値λ0以上の値となり、複数の磁気データq1〜qNの分布が3次元的な広がりを有すると看做せる場合にのみ、3次元的な広がりを有して分布する場合に限定した歪判定処理を用いて、立体SDと球面との形状の相違の程度を評価しても良い。この場合、磁気データ分布指標算出処理において算出される共分散行列Aの最小固有値λ3が閾値λ0未満の値であれば、初期化処理及び磁気データ取得処理を再度実施しても良い。
すなわち、この変形例から、以下の発明が把握される。
上述した実施形態及び変形例において、オフセットcを算出し更新する処理は、初期化処理、磁気データ取得処理、磁気データ分布指標算出処理、中心点算出処理、歪判定処理、及びオフセット更新処理を含むが、本発明はこのような形態に限定されるものでは無く、磁気データ分布指標算出処理を備えずに構成されても良い。
この場合、中心点算出処理は、中心点x0を、式(20)を用いて算出するものであっても良い。また、この場合、立体SDと球面との形状の相違の程度を評価は、8.1節に示した複数の磁気データq1〜qNが3次元的な広がりを有して分布する場合に限定した歪判定処理により行い、歪評価行列Eを式(53)により求められる解e0を用いて算出しても良い。
上述した実施形態及び変形例において、オフセットcを算出し更新する処理は、初期化処理、磁気データ取得処理、中心点算出処理、歪判定処理、及びオフセット更新処理を含むが、本発明はこのような形態に限定されるものでは無く、中心点算出処理を備えずに構成されても良い。
上述した実施形態及び変形例において、歪を表す成分k(E)は、式(37)に表したように、式(39)に示した関数ke(p)に対して、球面Sの中心点x0を原点とする座標系において磁気データqiの座標を示すベクトル(qi−x0)を代入することにより与えられる値を各要素とするベクトルであるが、本発明はこのような形態に限定されるものでは無く、歪を表す成分k(E)は、球面Sの中心点x0とは異なる点を原点とする座標系において磁気データqiの座標を示すベクトルを式(39)に代入して得られる値を各要素としても良い。
例えば、歪を表す成分k(E)は、以下の式(71)のように、複数の磁気データq1〜qNの重心qcを原点とする座標系において磁気データqiの座標を示すベクトルを用いて表されるものであって良い。また、前述の中心点算出処理よりも計算量の少ない方法により、複数の磁気データq1〜qNを近傍に有する球面の中心点の候補となる座標を求め、当該座標を原点とする座標系において磁気データqiの座標を示すベクトルを用いて歪を表す成分k(E)を表しても良い。
中心点算出手段により算出される球面Sの中心点x0とは異なる座標を原点とする座標系において磁気データqiの座標を示すベクトルを用いて歪を表す成分k(E)を表現する場合であっても、歪評価行列Eの各成分は、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向と、球面S2からの誤差が大きな磁気データqiが多く存在する位置を当該座標から見た方向とが近づくように定められる。また、歪評価行列Eの最大固有値λE1は、当該座標から見て、固有ベクトルuE1の方向に存在する複数の磁気データと球面S2との誤差の大きさの程度を表す値となる。従って、この場合も、歪評価行列Eによって、立体SDと球面S2との形状の相違の程度を評価することが可能となる。
また、球面Sの中心点x0以外の座標を原点とする座標系において磁気データqiを示すベクトルを用いて歪を表す成分k(E)を表現する場合、中心点算出処理を実施せず、歪判定処理において算出される球面S2の中心点x02を新オフセットc1として採用しても良い。この場合、中心点算出処理を実施することなく、オフセットcを算出し更新する処理を行うことが可能になるため、オフセットcを算出し更新する処理の簡素化と、計算負荷の低減による処理の高速化が可能となる。
上述した実施形態及び変形例において、歪判定処理は、球面Sの中心点x0を原点とする座標系において磁気データqiの座標を示すベクトル(qi−x0)を、関数ke(p)に対して代入することにより与えられる値を各要素とするベクトルである歪を表す成分k(E)を用いて算出された歪評価行列Eにより、立体SDと球面S2との形状の相違の程度を評価するものであるが、本発明はこのような形態に限定されるものでは無く、球面Sの中心点x0を原点とする座標系において磁気データqiの座標を示すベクトルを関数ke(p)に対して代入して得られる値を要素とする歪を表す成分k(E)を用いて算出される歪評価行列Eと、球面Sの中心点x0とは異なる座標を原点とする座標系において磁気データqiの座標を示すベクトルを関数ke(p)に対して代入して得られる値を要素とする歪を表す成分k(E)を用いて算出される歪評価行列Eとの双方を利用して、立体SDと球面S2との形状の相違の程度を評価しても良い。
例えば、歪判定処理は、まず、重心qcを原点とする座標系において磁気データqiの座標を示すベクトルにより表される歪を表す成分k(E)を用いて算出される歪評価行列Eにより、立体SDと球面S2との形状の相違の程度を評価し(第1の評価)、次に、第1の評価において、立体SDと球面S2との形状の相違の程度が小さいと評価された場合に、中心点x0を原点とする座標系において磁気データqiの座標を示すベクトルにより表される歪を表す成分k(E)を用いて算出される歪評価行列Eにより、立体SDと球面S2との形状の相違の程度について評価(第2の評価)するものであっても良い。そして、第1の評価及び第2の評価の双方において、立体SDと球面S2との形状の相違の程度が小さいと評価された場合に、歪判定処理による判定結果は肯定(形状の相違の程度は小さいと判定されること)となり、中心点x0を新オフセットc1として採用するものであっても良い。
また、歪判定処理は、まず、第2の評価を行い、次に、第2の評価において立体SDと球面S2との形状の相違の程度が小さいと評価された場合に、第1の評価を実施するものであっても良い。
このように、異なる2つの座標系において表現された2つの歪を表す成分k(E)を用いて、立体SDと球面S2との形状の相違の評価を2回行うことにより、1つの座標系において表現された1つの歪を表す成分k(E)を用いて1回のみ評価を行う場合に比べて、立体SDと球面S2との形状の相違をより正確に評価することが可能となる。
また、上述した実施形態では、機器1は、CPU10、RAM20、ROM30、通信部40、表示部50、及び3次元磁気センサ60を備えるが、本発明はこのような形態に限定されるものでは無く、機器1は、3次元磁気センサ60以外のセンサを備えるものであっても良い。例えば、機器1が、3次元磁気センサ60の他に、加速度センサや角速度センサ等の3次元磁気センサ60以外のセンサを備える場合、これら複数のセンサからの出力を用いることにより、内部磁界Biの方向及び大きさを表すベクトルSBi算出し、これを中心点x0としても良い。
歪判定処理は、どのような方法により中心点x0を算出した場合であっても、当該中心点x0が不均一な外部磁界Bxの影響を受けないで算出された、内部磁界Biの方向及び大きさを適切に表すものであるか否かを判定することが可能である。
Claims (15)
- 磁界を発生させる部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、
前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データを蓄積する蓄積手段と、
前記蓄積手段に蓄積された前記複数の磁気データで示される複数の座標の分布の3次元的な広がりの程度を示す分散評価値を算出する、分布指標算出手段と、
前記複数の磁気データの各々が示す3軸の座標が、歪判定用球面を歪ませた形状の立体の表面近傍に確率的に分布すると仮定して、前記複数の磁気データと、前記分散評価値とに基づいて、前記立体と、前記歪判定用球面との形状の相違の程度を示す歪評価値を算出し、前記歪評価値が歪許容値以下であるか否かを判定する、歪判定手段と、
前記歪判定手段の判定結果が肯定である場合に、前記磁気データのうち前記部品の発生する磁界の成分を表す3軸の座標であるオフセットを更新する、オフセット更新手段と、
を備えることを特徴とする、地磁気測定装置。 - 前記地磁気測定装置は、
前記複数の磁気データの各々が示す3軸の座標が、中心点算出用球面の近傍に確率的に分布すると仮定して、前記複数の磁気データに基づいて前記中心点算出用球面の中心点を算出する、中心点算出手段をさらに備え、
前記オフセット更新手段は、
前記歪判定手段の判定結果が肯定である場合に、前記オフセットを、旧オフセットから前記中心点算出用球面の中心点に更新する、ことを特徴とする、
請求項1に記載の地磁気測定装置。 - 前記歪判定手段の判定結果が否定である場合に、
利用者に前記機器の位置を変化させずに前記機器の姿勢を変化させるように促す手段
を備えることを特徴とする、
請求項1または2に記載の地磁気測定装置。 - 前記分散評価値は、前記複数の磁気データの分散を表す共分散行列の最小固有値であることを特徴とする、
請求項1乃至3のうちいずれか1項に記載の地磁気測定装置。 - 前記磁気データを前記中心点算出用球面の中心点を原点とする座標系で表した3軸のベクトルと、当該3軸のベクトルを対称行列である歪評価行列により変換したベクトルとの内積を、前記複数の磁気データの各々について算出し、複数の算出結果を要素とするベクトルを歪誤差ベクトルとし、
前記複数の磁気データの各々で示される3軸の座標により特定されるそれぞれの位置と前記歪判定用球面との誤差を表すベクトルを、歪判定用球面誤差ベクトルとし、
前記歪誤差ベクトルと、前記歪判定用球面誤差ベクトルとの和を立体誤差ベクトルとし、
前記共分散行列の前記最小固有値に対応する正規化された固有ベクトルと、前記旧オフセットから前記歪判定用球面の中心点を示す歪判定用更新ベクトルとの内積に、第1係数を乗じた値を、第1誤差とし、
前記歪評価行列と、前記固有ベクトルとの積に、第2係数を乗じた値を第2誤差とし、
前記立体誤差ベクトル、前記第1誤差、及び前記第2誤差を要素とするベクトルを、歪評価ベクトルとしたとき、
前記歪評価値は、
前記歪評価行列の各々の成分と、前記歪判定用球面の中心点を表す3軸のベクトルの各々の要素とを変数とし、前記歪評価ベクトルの大きさを表す歪評価関数を最小化するときの、前記歪評価行列のノルムであることを特徴とする、
請求項4に記載の地磁気測定装置。 - 前記複数の磁気データの各々で示される3軸の座標として特定されるそれぞれの位置が、前記中心点算出用球面近傍に確率的に分布すると仮定した場合の、前記複数の磁気データで示される3軸の座標により特定されるそれぞれの位置と前記中心点算出用球面との誤差を表すベクトルを、中心点算出用球面誤差ベクトルとし、
前記共分散行列の前記最小固有値に対応する正規化された固有ベクトルと、前記旧オフセットから前記中心点算出用球面の中心点を示す中心点算出用更新ベクトルとの内積に、第1係数を乗じた値を、第3誤差とし、
前記中心点算出用球面の中心点は、中心点算出関数の値を最小化する3次元のベクトルで与えられ、
前記中心点算出関数は、前記3次元のベクトルを変数とし、且つ、前記中心点算出用球面誤差ベクトルと前記第3誤差とを要素とする中心点算出ベクトルの大きさを表すことを特徴とする、
請求項5に記載の地磁気測定装置。 - 前記第1係数は、
前記最小固有値が閾値よりも小さい値である場合には、正の第1の値を有し、
前記最小固有値が前記閾値以上の場合には、0または前記第1の値よりも小さい正の第2の値を有し、
前記第2係数は、
前記最小固有値が前記閾値よりも小さい値である場合には、正の第3の値を有し、
前記最小固有値が前記閾値以上の場合には、0または前記第3の値よりも小さい正の第4の値を有する、ことを特徴とする、
請求項5乃至8のうちいずれか1項に記載の地磁気測定装置。 - 前記磁気データを前記中心点算出用球面の中心点を原点とする座標系で表した3軸のベクトルと、当該3軸のベクトルを対称行列である歪評価行列により変換したベクトルとの内積を、前記複数の磁気データの各々について算出し、複数の算出結果を要素とするベクトルを歪誤差ベクトルとし、
前記複数の磁気データの各々で示される3軸の座標として特定されるそれぞれの位置と前記歪判定用球面との誤差を表すベクトルを、歪判定用球面誤差ベクトルとし、
前記歪誤差ベクトルと、前記歪判定用球面誤差ベクトルとの和を、立体誤差ベクトルとし、
前記歪評価行列の各々の成分と、前記歪判定用球面の中心点を表す3軸のベクトルの各々の要素とを変数とし、前記立体誤差ベクトルの大きさを表す関数を、立体歪評価関数とし、
前記共分散行列の前記最小固有値に対応する正規化された固有ベクトルと、前記旧オフセットから前記歪判定用球面の中心点を示す歪判定用更新ベクトルとが直交する条件を、第1の制約条件とし、
前記歪評価行列と、前記固有ベクトルとの積が、零ベクトルとなる条件を、第2の制約条件としたとき、
前記最小固有値が閾値よりも小さい値である場合、
前記歪評価値は、
前記第1の制約条件及び前記第2の制約条件を充足したうえで前記立体歪評価関数を最小化するときの、前記歪評価行列のノルムであることを特徴とする、
請求項4に記載の地磁気測定装置。 - 磁界を発生させる部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、
前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データを蓄積する蓄積手段と、
を備える地磁気測定装置に用いられるオフセット更新方法であって、
前記蓄積手段に蓄積された前記複数の磁気データで示される複数の座標の分布の、3次元的な広がりの程度を示す分散評価値を算出し、
前記複数の磁気データの各々が示す3軸の座標が、歪判定用球面を歪ませた形状の立体の表面近傍に確率的に分布すると仮定して、前記複数の磁気データと、前記分散評価値とに基づいて、前記立体と、前記歪判定用球面との形状の相違の程度を示す歪評価値を算出し、前記歪評価値が歪許容値以下であるか否かを判定し、
前記判定の結果が肯定である場合に、前記磁気データのうち前記部品の発生する磁界の成分を表す3軸の座標であるオフセットを更新する、
ことを特徴とする、オフセット更新方法。 - 磁界を発生させる部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、
前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データを蓄積する蓄積手段と、
を備える地磁気測定装置に用いられるオフセット更新プログラムであって、
前記蓄積手段に蓄積された前記複数の磁気データで示される複数の座標の分布の、3次元的な広がりの程度を示す分散評価値を算出する処理と、
前記複数の磁気データの各々が示す3軸の座標が、歪判定用球面を歪ませた形状の立体の表面近傍に確率的に分布すると仮定して、前記複数の磁気データと、前記分散評価値とに基づいて、前記立体と、前記歪判定用球面との形状の相違の程度を示す歪評価値を算出し、前記歪評価値が歪許容値以下であるか否かを判定する処理と、
前記判定の結果が肯定である場合に、前記磁気データのうち前記部品の発生する磁界の成分を表す3軸の座標であるオフセットを更新する処理とを、
コンピュータに実行させるオフセット更新プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011133265A JP5772265B2 (ja) | 2011-06-15 | 2011-06-15 | 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム |
US13/422,152 US9031805B2 (en) | 2011-03-22 | 2012-03-16 | Geomagnetic field measurement device, offset determination method, and computer readable recording medium therefor |
EP12002040.9A EP2503286A3 (en) | 2011-03-22 | 2012-03-22 | Geomagnetic field measurement device, offset determination method, and computer readable recording medium therefor |
CN201210077860.6A CN102692608B (zh) | 2011-03-22 | 2012-03-22 | 地磁场测量装置、偏移量确定方法及计算机可读记录介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011133265A JP5772265B2 (ja) | 2011-06-15 | 2011-06-15 | 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013002908A true JP2013002908A (ja) | 2013-01-07 |
JP5772265B2 JP5772265B2 (ja) | 2015-09-02 |
Family
ID=47671637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011133265A Expired - Fee Related JP5772265B2 (ja) | 2011-03-22 | 2011-06-15 | 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5772265B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013142555A (ja) * | 2012-01-06 | 2013-07-22 | Yamaha Corp | サーバ装置及び端末装置 |
JP2014149211A (ja) * | 2013-01-31 | 2014-08-21 | Yamaha Corp | オフセット推定装置及びプログラム |
JP2016114378A (ja) * | 2014-12-11 | 2016-06-23 | ローム株式会社 | オフセット算出回路及びこれを用いた方位角センサ |
JP2016114569A (ja) * | 2014-12-18 | 2016-06-23 | カシオ計算機株式会社 | 電子機器及びセンサ較正方法、センサ較正プログラム |
JP2018151193A (ja) * | 2017-03-10 | 2018-09-27 | カシオ計算機株式会社 | 情報処理装置、情報処理方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005061990A1 (ja) * | 2003-12-22 | 2005-07-07 | Asahi Kasei Emd Corporation | 方位角計測装置 |
WO2007026238A1 (en) * | 2005-09-02 | 2007-03-08 | Nokia Corporation | Calibration of 3d field sensors |
JP2008076397A (ja) * | 2006-09-20 | 2008-04-03 | Samsung Electronics Co Ltd | 磁気の環境を考慮したコンパスセンサの較正方法,装置および媒体と、これを用いた方位角測定方法、装置および媒体 |
JP2008180673A (ja) * | 2007-01-26 | 2008-08-07 | Citizen Holdings Co Ltd | 方位センサおよび電子機器 |
JP2009162511A (ja) * | 2007-12-28 | 2009-07-23 | Yamaha Corp | 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム |
-
2011
- 2011-06-15 JP JP2011133265A patent/JP5772265B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005061990A1 (ja) * | 2003-12-22 | 2005-07-07 | Asahi Kasei Emd Corporation | 方位角計測装置 |
WO2007026238A1 (en) * | 2005-09-02 | 2007-03-08 | Nokia Corporation | Calibration of 3d field sensors |
JP2008076397A (ja) * | 2006-09-20 | 2008-04-03 | Samsung Electronics Co Ltd | 磁気の環境を考慮したコンパスセンサの較正方法,装置および媒体と、これを用いた方位角測定方法、装置および媒体 |
JP2008180673A (ja) * | 2007-01-26 | 2008-08-07 | Citizen Holdings Co Ltd | 方位センサおよび電子機器 |
JP2009162511A (ja) * | 2007-12-28 | 2009-07-23 | Yamaha Corp | 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013142555A (ja) * | 2012-01-06 | 2013-07-22 | Yamaha Corp | サーバ装置及び端末装置 |
JP2014149211A (ja) * | 2013-01-31 | 2014-08-21 | Yamaha Corp | オフセット推定装置及びプログラム |
JP2016114378A (ja) * | 2014-12-11 | 2016-06-23 | ローム株式会社 | オフセット算出回路及びこれを用いた方位角センサ |
JP2016114569A (ja) * | 2014-12-18 | 2016-06-23 | カシオ計算機株式会社 | 電子機器及びセンサ較正方法、センサ較正プログラム |
JP2018151193A (ja) * | 2017-03-10 | 2018-09-27 | カシオ計算機株式会社 | 情報処理装置、情報処理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5772265B2 (ja) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9031805B2 (en) | Geomagnetic field measurement device, offset determination method, and computer readable recording medium therefor | |
JP6191145B2 (ja) | オフセット推定装置及びプログラム | |
EP1832889B1 (en) | Magnetic data processing device | |
US9341475B2 (en) | Geomagnetism measurement apparatus | |
JP2013064695A (ja) | 状態推定装置、オフセット更新方法およびオフセット更新プログラム | |
JP5772265B2 (ja) | 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム | |
JP4844179B2 (ja) | 磁気データ処理装置、方法及びプログラム | |
JP5866893B2 (ja) | 地磁気測定装置 | |
US8219352B2 (en) | Localization in industrial robotics using rao-blackwellized particle filtering | |
KR101152095B1 (ko) | 자기 데이터 처리 장치, 방법, 및 컴퓨터 판독가능한 저장 매체 | |
JP5899726B2 (ja) | 地磁気測定装置、地磁気測定方法、及び地磁気測定プログラム | |
JP6019585B2 (ja) | 端末装置 | |
JP5641236B2 (ja) | 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム | |
JP2012189323A (ja) | 磁気データ処理装置、磁気データ処理方法及び磁気データ処理プログラム。 | |
JP2013096724A (ja) | 状態推定装置 | |
Lee et al. | Interference-compensating magnetometer calibration with estimated measurement noise covariance for application to small-sized UAVs | |
Li et al. | An efficient method for tri-axis magnetometer calibration | |
CN110672127B (zh) | 阵列式mems磁传感器实时标定方法 | |
JP2011022025A (ja) | 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム | |
He et al. | Attitude fusion of inertial and magnetic sensor under different magnetic filed distortions | |
JP2011022073A (ja) | 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム | |
US9476708B2 (en) | Accelerometer based attitude determination | |
Sahu et al. | 3D pose estimation of UAVs using Stereovision | |
Miranda et al. | Sensor and Body Frames Rotation Calibration Through Attitude Restriction | |
JP2007327934A (ja) | 磁気データ処理装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140421 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150615 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5772265 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |