説明

地磁気測定装置、地磁気測定方法、及び地磁気測定プログラム

【課題】ソフトアイアン効果が生じている場合に正確な地磁気の方向を算出する
【解決手段】機器1は、内部磁界Bi及び着磁磁界Bmを発生させる部品と、3次元磁気センサ60と、CPU10とを備える。CPU10は、3次元磁気センサ60から順次出力される複数の磁気データq〜qの示す座標が、最適中心点cEOPを中心とする楕円面近傍に分布すると仮定して、当該楕円面上の座標を、最適中心点cEOPを中心とする球面上の座標へと変換する最適楕円面補正行列TOPを、対称行列である変数行列Tの各成分を変数とする楕円面最適化関数fEL(T,c)を最小化することにより算出する。そして、磁気データqの示す座標を、最適楕円面補正行列TOP及び最適中心点cEOPの示す座標を用いて、変換後磁気データsの示す座標に変換し、変換後磁気データsの示す座標と最適中心点cEOPの示す座標に基づいて地磁気Bgの向きを算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地磁気測定装置、地磁気測定方法、及び地磁気測定プログラムに関する。
【背景技術】
【0002】
近年、携帯電話等の携帯機器や、自動車等の移動体に搭載され、地磁気を検出する3次元磁気センサが開発されている。一般に、3次元磁気センサは、磁界のベクトルを互いに直交する3方向の成分に分解してスカラー量として検知するための3つの磁気センサモジュールを備え、3つの磁気センサモジュールが各々出力するスカラー量を3つの成分とする3次元のベクトルデータを出力する。
【0003】
3次元磁気センサが搭載される携帯電話等の機器は、着磁性を有する各種金属や、電気回路等、磁界を発生させる部品が備えられることが多い。この場合、3次元磁気センサが出力するベクトルデータは、地磁気を表すベクトルの他に、機器に搭載された部品が発する磁界等を表すベクトルも含む値となる。従って、地磁気の値を正確に知るためには、3次元磁気センサが出力するベクトルデータから、機器の部品が発する内部磁界を表すベクトルを取り除く補正処理が必要となる。このように、検出対象である地磁気の正確な値を得るために、補正処理において、3次元磁気センサから出力されるデータから取り除かれる成分をオフセットと呼ぶ。
【0004】
内部磁界は、機器の部品が発する磁界であり、機器に対して一定の方向を向き、一定の大きさを有する。内部磁界は、機器に搭載された3次元磁気センサから見た場合には、機器をどのような姿勢に変化させた場合であっても、一定の方向と一定の大きさを有するベクトルとして表される。
一方、地磁気は、磁極北に向かう水平成分と伏角方向の鉛直成分とを有する磁界であり、地面に対して一定の方向と一定の大きさとを有する一様な磁界である。従って、地面に対して機器の姿勢を変化させる場合には、機器から見た地磁気の方向も変化することになる。すなわち、機器に搭載された3次元磁気センサから見た場合、地磁気は、機器の姿勢の変化に伴い向きを変化させる一定の大きさのベクトルとして表される。
3次元磁気センサを上下左右方向に回転させて3次元的に大きく姿勢変化させつつ複数の磁気データを取得した場合、3次元磁気センサが順次出力する複数のベクトルデータの示す複数の座標は、内部磁界を表すベクトルの示す座標を中心点とし、地磁気を表すベクトルの大きさを半径とする球面近傍に分布する。
【0005】
特許文献1には、このような地磁気及び内部磁界の性質を利用することで、3次元磁気センサの姿勢を変化させつつ取得した複数の磁気データに基づいて、内部磁界を表す一定の向き及び大きさを有するベクトルを算出し、この内部磁界を表すベクトルをオフセットとして出力データから取り除く補正処理を行うことで、正確な地磁気の向きを算出する方法が開示されている。
【0006】
ところで、3次元磁気センサが搭載された機器の部品が、軟磁性材料を有する場合、3次元磁気センサから順次出力されるベクトルデータの示す複数の座標は、軟磁性材料が磁化される結果として発する磁界の影響により、球面近傍には分布せず、楕円面近傍に分布する。すなわち、軟磁性材料が発する磁界の影響が無ければ、球面近傍に分布するはずの複数の座標は、軟磁性材料が発する磁界の影響により、楕円面の主軸方向に伸縮するように移動する結果、球面と同一の中心点を有する楕円面近傍に分布することになる。このように、軟磁性材料が磁化される結果として発する磁界の影響により、3次元磁気センサから順次出力されるベクトルデータの示す複数の座標が楕円面近傍に分布する現象は、ソフトアイアン効果と呼ばれている。
ソフトアイアン効果が生じている場合、楕円面近傍に存在する座標に基づいて、地磁気の正確な向きを算出することはできない。地磁気の正確な向きを算出するためには、楕円面上の座標を、球面上の座標へと移動させる座標変換、すなわち、楕円面の中心点を起点として楕円面の主軸方向に伸縮するように移動させる座標変換を行う必要がある。このような、楕円面上の座標を球面上の座標へ変換する処理を、楕円補正と呼ぶ。楕円補正を行うことで算出される座標変換後の座標から、球面の中心点の示す座標を減算することにより、地磁気の向きを算出することができる。
【0007】
非特許文献1及び非特許文献2には、ソフトアイアン効果が生じている場合に、3次元磁気センサから出力されるベクトルデータの示す楕円面上の座標を、球面上の座標に座標変換を行うことで、地磁気の向きを算出する方法が、開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2007−240270号公報
【非特許文献】
【0009】
【非特許文献1】J. F. Vasconcelos, G. Elkaim, C. Silvestre, P. Oliveira, and B. Cardeira, “A Geometric Approach to Strapdown Magnetometer Calibration in Sensor Frame”, in IFAC Workshop on Navigation, Guidance and Control of Underwater Vehicles, Killaloe, Ireland, April 2008
【非特許文献2】C. C. Foster and G. H. Elkaim, “Extension of a Two-Step Calibration Methodology to Include Nonorthogonal Sensor Axes”, IEEE Transactions on Aerospace and Electronic Systems, Vol. 44, No. 3, July 2008
【発明の概要】
【発明が解決しようとする課題】
【0010】
ところで、非特許文献1に開示された座標変換は、楕円面の主軸方向に伸縮させる移動の他に、球面上で回転させる変換を伴うため、変換後の球面上の座標に基づいて地磁気の向きを算出することはできない。そのため、非特許文献1では、3次元磁気センサの搭載される機器の外部から発せられる磁界で、且つ、3次元磁気センサから見た方向が既知の磁界である参照磁界を用いて、座標変換において生ずる回転の向き及び大きさを算出する。そして、座標変換後の座標を、座標変換において生じた回転と逆方向に回転させる変換を施すことにより、ソフトアイアン効果が生じなかった場合の球面上の座標を特定している。
しかし、非特許文献1のように、参照磁界を用いて地磁気の向きを算出する方法は、3次元磁気センサの搭載された機器の周囲に参照磁界を発生させる環境を必要とするため、携帯機器や移動体に適用することはできない。
【0011】
本発明は、上述した事情を鑑み、ソフトアイアン効果が生じている場合に、参照磁界を用いることなく、正確な地磁気の方向を算出することを解決課題とする。
【課題を解決するための手段】
【0012】
以下、本発明について説明する。なお、本発明の理解を容易にするために本実施形態、変形例、及び添付図面の参照符号を括弧書きにて付記するが、それにより本発明が本実施形態に限定されるものではない。
【0013】
上述した課題を解決するため、本発明に係る地磁気測定装置は、軟磁性材料を有する部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データ(q)を蓄積する蓄積部と、3次元の変数ベクトル(c)の示す3軸の座標を起点として前記磁気データの示す3軸の座標を表す3次元のベクトルを第1変数ベクトル(q−c)とし、前記第1変数ベクトルを、変数行列(T)により変換して得られる3次元のベクトルを第2変数ベクトル(s−c)とし、前記第2変数ベクトルの示す3軸の座標を表すデータを変換後データ(sXi)とし、複数の前記変換後データ(sX1〜sXN)の各々が示す3軸の座標と、前記変数ベクトルの示す3軸の座標を中心とする球面との誤差を表し、前記変数行列の各成分と、前記変数ベクトルの各要素とを変数とする関数を、楕円面最適化関数(fEL)としたとき、前記楕円面最適化関数の変数の値を逐次更新することにより、前記楕円面最適化関数を最小化する解として、最適楕円面補正行列(TOP)と、最適中心点(cEOP)の示す3軸の座標とを算出する、楕円面最適補正値生成部(400)と、を備え、前記変数行列は対称行列である、ことを特徴とする。
【0014】
3次元磁気センサの搭載された機器が軟磁性材料を有する部品を備える場合には、ソフトアイアン効果が生じるため、3次元磁気センサの出力する複数の磁気データの示す座標は、楕円面近傍に分布する。この場合、当該楕円面の中心点の座標を示すベクトルが、3次元磁気センサのオフセットを表す。そして、当該楕円面上の座標を当該楕円面の主軸方向に伸縮させて球面上の座標に変換する座標変換行列を用いて、磁気データの示す座標を楕円補正することにより、地磁気の正確な向きを算出することができる。
【0015】
この発明によれば、変数行列の各成分と変数ベクトルの各要素とを変数とする楕円面最適化関数を最小化することにより、最適楕円面補正行列と最適中心点とを算出する。
変数行列は、3次元のベクトルを座標変換するために用いられる3行3列の対称行列である。一般的に、3行3列の対称行列は、互いに直交する3つの固有ベクトルと、3つの固有ベクトルに対応する3つの固有値とを有する。そして、3軸のベクトルを対称行列により変換する場合、変換後のベクトルは、変換前のベクトルを対称行列の有する3つの固有ベクトル方向に各固有ベクトルに対応する固有値倍伸縮させたベクトルと等しくなる。
最適楕円面補正行列は、楕円面最適化関数が最小化されたときの変数行列であるため、3行3列の対称行列である。よって、3軸のベクトルを最適楕円面補正行列により変換する場合、変換後のベクトルは、変換前のベクトルを最適楕円面補正行列の有する3つの固有ベクトル方向に固有値倍伸縮させたベクトルと等しくなる。つまり、最適楕円面補正行列は、最適楕円面補正行列の各固有ベクトルと同一の方向の主軸を有する楕円面上の座標を、当該楕円面の3つの主軸方向に各々伸縮させることで、球面上の座標へと変換する座標変換を表す行列である。このような最適楕円面補正行列を用いてベクトルを変換する場合、楕円面の各主軸方向にベクトルを伸縮させる変換のみが行われ、ベクトルを回転させる変換が行われることはない。従って、楕円補正に最適楕円面補正行列を用いることで、正確な地磁気の方向を算出することが可能となる。
【0016】
また、この発明によれば、磁気データの示す座標を変数行列により変換した変換後データの示す座標と球面との誤差を表す楕円面最適化関数を最小化することにより、最適楕円面補正行列と最適中心点とを算出する。
楕円面最適化関数を最小化する場合、変数行列により変換された変換後データの示す座標と球面との誤差は最小化される。最適楕円面補正行列は、楕円面最適化関数が最小化されたときの変数行列であるため、最適楕円面補正行列は、複数の磁気データの示す座標を、球面との誤差が最小となる複数の座標へと座標変換する行列を表す。
前述の通り、最適楕円面補正行列は、楕円面上の座標を球面上の座標へと座標変換する行列でもあるため、複数の変換後の座標と球面との誤差が最小となる場合には、複数の変換前の座標と楕円面との誤差も最小となる。つまり、最適楕円面補正行列によって、複数の磁気データの示す座標との誤差が最小となる楕円面(つまり、複数の磁気データの示す座標の分布形状を最も正確に表現する楕円面)を特定することができる。そして、最適楕円面補正行列によって特定される楕円面の中心点(最適中心点)の座標を示すベクトルが、3次元磁気センサのオフセットを正確に表すベクトルとなる。このような、複数の磁気データの示す座標の分布形状を正確に捉えた楕円面を表現する、最適楕円面補正行列及び最適中心点を用いて楕円補正を行うことにより、正確な地磁気の向きを算出することができる。
【0017】
また、上述した地磁気測定装置は、前記楕円面最適補正値生成部(400)が、前記最適楕円面補正行列(TOP)と、前記最適中心点(cEOP)の示す3軸の座標とを算出したときに、前記最適中心点の示す3軸の座標を、前記部品が発する磁界であるオフセット(cOFF)として採用するとともに、前記最適楕円面補正行列を、楕円面補正行列(T)として採用し、前記オフセットと、前記楕円面補正行列とを出力するオフセット採用部(610)と、前記3次元磁気センサから出力される磁気データ(q)の示す3軸の座標を、前記オフセットの示す3軸の座標から表した3次元のベクトル(q−cOFF)を、前記楕円面補正行列により変換することにより(s−cOFF)、地磁気(Bg)の向きを算出する地磁気ベクトル計算部(620)と、を更に備えることを特徴とすることが好ましい。
【0018】
この発明によれば、オフセットとして最適中心点の示す3軸の座標を採用するとともに、楕円面補正行列として最適楕円面補正行列を採用することで、楕円補正を行う。前述の通り、最適楕円面補正行列は、複数の磁気データの示す座標の分布形状を正確に表す楕円面を特定する行列であり、最適中心点は、3次元磁気センサのオフセットを正確に表すベクトルである。従って、最適楕円面補正行列及び最適中心点を用いた楕円補正を行うことで、正確な地磁気の向きを算出することができる。
【0019】
次に、本発明に係る地磁気測定装置に用いられる地磁気測定方法は、軟磁性材料を有する部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データ(q)を蓄積する蓄積部と、を備える地磁気測定装置に用いられる地磁気測定方法であって、3次元の変数ベクトル(c)の示す3軸の座標を起点として前記磁気データの示す3軸の座標を表す3次元のベクトルを第1変数ベクトル(q−c)とし、前記第1変数ベクトルを、変数行列(T)により変換して得られる3次元のベクトルを第2変数ベクトル(s−c)とし、前記第2変数ベクトルの示す3軸の座標を表すデータを変換後データ(sXi)とし、複数の前記変換後データ(sX1〜sXN)の各々が示す3軸の座標と、前記変数ベクトルの示す3軸の座標を中心とする球面との誤差を表し、前記変数行列の各成分と、前記変数ベクトルの各要素とを変数とする関数を、楕円面最適化関数(fEL)としたとき、前記楕円面最適化関数の変数の値を逐次更新することにより、前記楕円面最適化関数を最小化する解として、最適楕円面補正行列(TOP)と、最適中心点(cEOP)の示す3軸の座標とを算出し、前記変数行列は対称行列である、ことを特徴とする。
【0020】
この発明によれば、最適楕円面補正行列及び最適中心点を用いて楕円補正を行うため、正確な地磁気の向きを算出することができる。
【0021】
次に、本発明に係る地磁気測定装置に用いられる地磁気測定プログラムは、軟磁性材料を有する部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データ(q)を蓄積する蓄積部と、を備える地磁気測定装置に用いられる地磁気測定プログラムであって、3次元の変数ベクトル(c)の示す3軸の座標を起点として前記磁気データの示す3軸の座標を表す3次元のベクトルを第1変数ベクトル(q−c)とし、前記第1変数ベクトルを、変数行列(T)により変換して得られる3次元のベクトルを第2変数ベクトル(s−c)とし、前記第2変数ベクトルの示す3軸の座標を表すデータを変換後データ(sXi)とし、複数の前記変換後データ(sX1〜sXN)の各々が示す3軸の座標と、前記変数ベクトルの示す3軸の座標を中心とする球面との誤差を表し、前記変数行列の各成分と、前記変数ベクトルの各要素とを変数とする関数を、楕円面最適化関数(fEL)としたとき、前記楕円面最適化関数の変数の値を逐次更新することにより、前記楕円面最適化関数を最小化する解として、最適楕円面補正行列(TOP)と、最適中心点(cEOP)の示す3軸の座標とを算出する処理をコンピュータに実行させ、前記変数行列は対称行列である、ことを特徴とする。
【0022】
この発明によれば、最適楕円面補正行列及び最適中心点を用いて楕円補正を行うため、正確な地磁気の向きを算出することができる。
【0023】
また、本発明の具体的態様として、上述した地磁気測定装置は、複数の前記磁気データ(q〜q)の各々が示す3軸の座標が、中心点算出用球面(S)の近傍に確率的に分布すると仮定して、前記中心点算出用球面(S)の中心点(c)の示す3軸の座標を算出する、中心点算出部(800)と、3軸の複数の入力座標が、歪判定用球面(S)を歪ませた形状の立体(SD)の表面近傍に確率的に分布すると仮定して、前記立体(SD)と、前記歪判定用球面(S)との形状の相違の程度を示す歪評価値(g(E))を算出し、前記歪評価値(g(E))が歪許容値(δ)以下であるか否かを判定する、歪判定部(900)とを、さらに備え、複数の前記入力座標として、複数の前記磁気データ(q〜q)の各々が示す3軸の座標を適用したときに、前記歪判定部(900)の判定結果が否定である場合、前記楕円面最適補正値生成部(400)は、前記最適楕円面補正行列(TOP)と前記最適中心点(cEOP)の示す3軸の座標とを算出し、前記オフセット採用部(610)は、前記最適中心点(cEOP)の示す3軸の座標を、前記オフセット(cOFF)として採用するとともに、前記最適楕円面補正行列(TOP)を、前記楕円面補正行列(T)として採用し、前記歪判定部(900)の判定結果が肯定である場合、前記オフセット採用部(610)は、前記中心点算出用球面(S)の中心点(c)の示す3軸の座標を、前記オフセット(cOFF)として採用するとともに、単位行列(I)を、前記楕円面補正行列(T)として採用する、ことを特徴としてもよい。
【0024】
この発明によれば、歪判定部において、3次元磁気センサが出力する複数の磁気データが示す3軸の座標を表面近傍に有する立体と歪判定用球面との形状の相違の程度を示す歪評価値を算出する。
歪判定部の判定結果が肯定である場合、すなわち、歪評価値が歪許容値以下の値を示す場合、立体の形状と歪判定用球面の形状とは一致すると看做すことができる。この場合、複数の磁気データの示す座標を近傍に有するように、中心点算出用球面を定めることができるため、中心点算出部において算出される中心点算出用球面の中心点の座標を示すベクトルを、オフセットとして採用することができる。また、この場合、複数の磁気データの示す座標の分布形状は楕円面ではないため、ソフトアイアン効果は生じていない。従って、地磁気測定装置は、最適楕円面補正行列、及び最適中心点の座標を用いなくとも、正確な地磁気の向きを算出することができる。
このように、本発明に係る地磁気測定装置は、歪判定部を備えることで、ソフトアイアン効果の有無を判定することができ、ソフトアイアン効果が生じていない場合には、最適楕円面補正行列、及び最適中心点の座標を算出することなく、簡易な計算により地磁気の向きを算出することが可能となり、計算負荷低減という利点を有する。
【0025】
一方、歪判定部の判定結果が否定である場合、すなわち、歪評価値が歪許容値よりも大きな値を示す場合、立体の形状は球面とは異なる歪んだ形状を有するため、ソフトアイアン効果が生じ、複数の磁気データの示す座標が、楕円面近傍に分布していることが想定される。この場合、地磁気測定装置は、最適楕円面補正行列と最適中心点の座標とを算出し、これらに基づいて、磁気データの示す座標を、変換後磁気データの示す座標へと変換することにより、正確な地磁気の向きを算出することが可能となる。
【0026】
以上のように、本発明に係る地磁気測定装置は、歪判定部を備えることにより、ソフトアイアン効果の有無を判定し、ソフトアイアン効果が生じている場合及び生じていない場合の双方の場合において正確な地磁気の向きを算出することができるとともに、ソフトアイアン効果が生じていない場合には計算量の低減が可能になるという利点を有する。
【0027】
また、本発明の具体的態様として、上述した地磁気測定装置は、前記最適中心点(cEOP)の示す3軸の座標から複数の前記磁気データ(q〜q)の各々が示す3軸の座標を表した複数の3次元のベクトルの各々を、前記最適楕円面補正行列(TOP)により変換することにより、複数の変換後磁気データ(s〜s)を算出する、楕円面球面変換部(500)をさらに備え、複数の前記入力座標として、複数の前記磁気データ(q〜q)の各々が示す3軸の座標を適用したときの、前記歪判定部(900)の判定結果が否定である場合、前記楕円面球面変換部(500)は、複数の前記変換後磁気データ(s〜s)の各々が示す3軸の座標を、複数の前記入力座標として、前記前記歪判定部(900)に供給し、前記オフセット採用部(610)は、複数の前記入力座標として、複数の前記変換後磁気データ(s〜s)の各々が示す3軸の座標を適用したときに、前記歪判定部(900)の判定結果が肯定である場合、前記最適中心点(cEOP)の示す3軸の座標を、前記オフセット(cOFF)として採用するとともに、前記最適楕円面補正行列(TOP)を、前記楕円面補正行列(T)として採用し、前記歪判定部(900)の判定結果が否定である場合、前記オフセット及び前記楕円面補正行列(T)を採用しない、ことを特徴としてもよい。
【0028】
3次元磁気センサを備える機器の近くに磁界を発生させる物体が存在し、3次元磁気センサが物体の発生させる磁界(外部磁界)を検出する場合がある。外部磁界が、物体と3次元磁気センサとの相対位置関係によって向きや大きさを変化させる不均一な磁界の場合、3次元磁気センサの出力する複数の磁気データの示す座標は、球面とも楕円面とも異なる歪んだ形状を有する立体の表面近傍に分布する。
この場合、複数の磁気データの示す座標は、球面近傍及び楕円面近傍には分布しない。従って、この場合、複数の磁気データの示す座標が球面または楕円面近傍に分布すると仮定して算出される球面または楕円面の中心点の座標を示すベクトルを、オフセットとして採用することはできない。
【0029】
この発明によれば、複数の磁気データの示す座標を近傍に有する立体の形状が球面と異なる歪んだ形状である場合、楕円面球面変換部は、複数の磁気データから複数の変換後磁気データを算出し、その後、歪判定部は、複数の変換後磁気データの示す座標に基づいて歪評価値を算出し、歪評価値が歪許容値以下の値であるか否かを判定する。
歪判定部の判定結果が肯定である場合、複数の変換後磁気データの示す座標は球面近傍に分布するため、複数の磁気データの示す座標は楕円面近傍に分布する。つまり、複数の入力座標として複数の変換後磁気データの示す座標を適用したときの歪判定部の判定結果が肯定である場合とは、不均一な外部磁界が存在せず、且つ、ソフトアイアン効果が生じている場合を表す。この場合、地磁気測定装置は、変換後磁気データ及び最適中心点の示す座標に基づいて、正確な地磁気の向きを算出することができる。
一方、歪判定部の判定結果が否定である場合、複数の変換後磁気データの示す座標は球面とは異なる歪んだ形状の立体の表面近傍に分布するため、複数の磁気データの示す座標は球面とも楕円面とも異なる歪んだ形状の立体の表面近傍に分布する。つまり、複数の入力座標として複数の変換後磁気データの示す座標を適用したときの歪判定部の判定結果が否定である場合とは、不均一な外部磁界が存在し、正確なオフセットを算出することができないことを表す。この場合、地磁気測定装置は、オフセットが算出されることを防止する。
【0030】
このように、本発明に係る地磁気測定装置は、複数の磁気データの示す座標の分布形状が、球面、楕円面、または球面とも楕円面とも異なる歪んだ形状の立体のいずれに該当するかを判定する。
そして、複数の磁気データの示す座標が、球面とも楕円面とも異なる歪んだ形状の立体近傍に分布すると判定した場合、地磁気測定装置は、オフセットの算出を防止する。すなわち、本発明に係る地磁気測定装置は、不均一な外部磁界の影響を受けた複数の磁気データに基づいて不正確なオフセットが算出されることを、防止することができる。
一方、本発明に係る地磁気測定装置は、複数の磁気データの示す座標の分布形状が楕円面であると判定した場合、すなわち、不均一な外部磁界が存在せず、且つ、ソフトアイアン効果が生じていると判定した場合、楕円面の中心点を示す座標をオフセットとして採用することにより、正確な地磁気の向きを算出することができる。
【図面の簡単な説明】
【0031】
【図1】本発明の実施形態に係る3次元磁気センサが測定する磁界の概要を説明する概念図である。
【図2】本発明の実施形態に係る3次元磁気センサが測定する地磁気と内部磁界とについて説明する概念図である。
【図3】本発明の実施形態に係る3次元磁気センサが測定する地磁気と内部磁界とについて説明する概念図である。
【図4】本発明の実施形態に係る3次元磁気センサが測定する着磁磁界について説明する概念図である。
【図5】本発明の実施形態に係る3次元磁気センサが測定する着磁磁界について説明する概念図である。
【図6】本発明の実施形態に係る3次元磁気センサが測定する着磁磁界について説明する概念図である。
【図7】本発明の実施形態に楕円面補正行列について説明する概念図である。
【図8】本発明の実施形態に係る3次元磁気センサが搭載される機器の構成を示すブロック図である。
【図9】本発明の実施形態に係る地磁気測定装置の構成を示す機能ブロック図である。
【図10】本発明の実施形態に係る楕円面初期補正値生成部の構成を示す機能ブロック図である。
【図11】本発明の実施形態に係る第1楕円面、第2楕円面、及び第3楕円面について説明する概念図である。
【図12】本発明の実施形態に係る初期楕円面補正行列について説明する概念図である。
【図13】本発明の実施形態に係る第2の条件について説明する概念図である。
【図14】楕円補正において回転が発生する場合について説明する概念図である。
【図15】第2実施形態に係る地磁気測定装置の構成を示す機能ブロック図である。
【図16】第2実施形態に係る3次元磁気センサが測定する地磁気、内部磁界、着磁磁界、及び外部磁界について説明する概念図である。
【図17】第2実施形態に係る3次元磁気センサが測定する外部磁界について説明する概念図である。
【図18】第2実施形態に係る3次元磁気センサが測定する外部磁界について説明する概念図である。
【図19】第2実施形態に係る地磁気測定装置の動作を表すフローチャートある。
【図20】第2実施形態に係る中心点算出処理を説明する概念図である。
【図21】第2実施形態に係る磁気データ分布判定処理を説明する概念図である。
【図22】第2実施形態に係る磁気データ分布判定処理を説明する概念図である。
【図23】第2実施形態に係る歪判定処理を説明する概念図である。
【図24】第2実施形態に係る歪判定処理を説明する概念図である。
【図25】第2実施形態に係る歪判定処理を説明する概念図である。
【発明を実施するための形態】
【0032】
<A.第1実施形態>
以下、本発明の実施の形態を説明する。
【0033】
[1. 3次元磁気センサが検出する磁界の概要]
本実施形態では、3次元磁気センサが検出する磁界として、検出対象である地磁気の他に、3次元磁気センサが搭載される機器に備えられる部品が発する磁界である内部磁界、及び部品の備える軟磁性材料が機器外部からの磁界により磁化される結果生じる着磁磁界の存在を想定する。
以下、図1乃至図5を用いて、本実施形態において想定するこれら3種類の磁界の概要、及び、これらの磁界を3次元磁気センサが検出した場合に3次元磁気センサから出力されるベクトルデータについて説明する。
【0034】
図1は、測定対象である地磁気Bg、3次元磁気センサの搭載された機器1が備える部品2が発する内部磁界Bi、及び、部品2のうち軟磁性材料21が発する着磁磁界Bmについて説明する図である。
【0035】
地磁気Bgは、磁極北に向かう一様な向き及び大きさを有する磁界である。地磁気Bgの向き及び大きさは、厳密には地域によって異なるが、例えば、異なる都市に移動する等の大きな移動をしない場合には、一様な向き及び大きさを有する。
内部磁界Biは、機器1に備えられた部品2の発する磁界であり、機器1から見て一定の向き及び一定の大きさを有する磁界である。すなわち、機器1の姿勢がどのように変化しても、内部磁界Biは、3次元磁気センサ60によって、一定の向き及び大きさを有する磁界として検知される。
着磁磁界Bmは、機器1の外部の物体から発せられる磁界(すなわち、地磁気Bg)の影響により軟磁性材料21が磁化される結果、軟磁性材料21が発する磁界である。従って、着磁磁界Bmは、地磁気Bgの向き及び大きさや、軟磁性材料21の材質、大きさ、形状等に依存して、向き及び大きさを変化させる磁界である。
【0036】
説明の便宜上、図1に示すような地上座標系Σ及びセンサ座標系Σを導入する。図1に記載された各ベクトルの左上に付された添字Gは、当該ベクトルが地上座標系Σにおいて表現されたベクトルであることを意味する。
地上座標系Σは、地上に固定された座標系であり、地上の任意の一点を原点とし、互いに直交する3つの方向、例えば、東、北、及び鉛直上向きを、それぞれx軸、y軸、及びz軸とする座標系である。
センサ座標系Σは3次元磁気センサ60に固定された座標系であり、3次元磁気センサ60の有する3つの各々のセンサモジュールの出力する値を、それぞれ、x軸(第1軸)、y軸(第2軸)、z軸(第3軸)上にプロットするように設けられた座標系である。すなわち、3次元磁気センサ60が出力する磁気データは、センサ座標系Σのベクトルデータとして表現される。なお、図1に示す姿勢μは、地上座標系Σにおけるセンサ座標系Σの各軸の向き(すなわち、地上座標系Σにおける、3次元磁気センサ60の向き)を表す。
以下において、姿勢μを変化させた場合、地上座標系Σ及びセンサ座標系Σの各々において、内部磁界Bi及び着磁磁界Bmの向きがどのように変化するかについて説明する。
【0037】
まず、図2及び図3を参照しながら、地上座標系Σ及びセンサ座標系Σにおいて、内部磁界Bi及び地磁気Bgがどのように表されるかについて説明する。なお、図2及び図3においては、簡単のために、機器1は軟磁性材料21を備えず、着磁磁界Bmが存在しない場合を想定する。
図2は、内部磁界Bi及び地磁気Bgの向き及び大きさを、地上座標系Σにおいて表した図である。機器1の姿勢μが、姿勢μから姿勢μに変化した場合、内部磁界Biは、大きさは一定であるが、向きは姿勢μの変化に伴い変化する。一方、地磁気Bgの向き及び大きさは一定である。
【0038】
図3は、内部磁界Bi及び地磁気Bgの向き及び大きさを、センサ座標系Σにおいて表現した図である。具体的には、図3は、機器1の姿勢μをμ〜μと変化させつつ磁界を測定した場合に、3次元磁気センサ60が出力するN個の磁気データq〜qの示す座標を、センサ座標系Σにおいてプロットした図である(Nは精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)。ここで、図3に記載された各ベクトルの左上に付された添字Sは、当該ベクトルがセンサ座標系Σにおいて表されたベクトルであることを意味する。
【0039】
センサ座標系Σにおいて、内部磁界Biは、一定の向き及び一定の大きさを持つベクトルBi(センサ座標系Σの原点から中心点cOGへと向かうベクトル)として表現される。一方、地磁気Bgは、大きさは一定であるが、向きは3次元磁気センサ60の姿勢μに伴い変化する。つまり、地磁気Bgは、機器1の姿勢μに依存した向きの、一定の大きさのベクトルBg(μ)として表現される。従って、ベクトルBg(μ)の起点を中心点cOGに配置して姿勢μを変化させた場合、ベクトルBg(μ)の終点は、中心点cOGを中心点とし、地磁気Bgの大きさを半径とする、球面S上の座標を示す。
【0040】
センサ座標系Σにおいて、複数の磁気データq〜qの示す座標の各々は、内部磁界Bi及び地磁気Bgの和を表すため、複数の磁気データq〜qの示す座標は、球面S上に分布する。なお、3次元磁気センサ60の測定値は、測定誤差を有するため、複数の磁気データq〜qの示す座標は、厳密には、球面Sの近傍に確率的に分布する。
従って、磁気データqの示す座標から内部磁界Biを引き算することにより、センサ座標系Σにおける地磁気Bgの向き及び大きさを算出することが可能となる。
このように、検出対象である地磁気Bgの正確な向きを得るために、磁気データqの示す座標から、3次元磁気センサ60の出力する内部磁界Biを表す球面Sの中心点cOGの示す座標を減算する処理を、補正処理と呼ぶ。
また、補正処理において磁気データqから取り除かれるベクトルをオフセットcOFFと呼ぶ。すなわち、オフセットcOFFは、内部磁界を表すベクトルBiであり、センサ座標系Σにおいて、原点から球面Sの中心点cOGを示すベクトルとして表される。
【0041】
機器1が軟磁性材料21を備える場合、地磁気Bgの影響を受けて軟磁性材料21が磁化される結果、軟磁性材料21は着磁磁界Bmを発する。機器1の姿勢μを変化させた場合、着磁磁界Bmの向き及び大きさが、地上座標系Σ及びセンサ座標系Σの各々においてどのように変化するかについて、図4及び図5を参照しながら説明する。
【0042】
図4は、地上座標系Σにおける、着磁磁界Bmの向き及び大きさ例示した図である。図4は、機器1が、センサ座標系Σのx軸に平行な長辺211a及び211bと、センサ座標系Σのy軸に平行な短辺212a及び212bとを有する直方体の軟磁性材料21を備え、軟磁性材料21が、センサ座標系Σのx軸上に位置するように配置されている場合を例示している。
【0043】
着磁磁界Bmは、軟磁性材料21が地磁気Bgにより磁化された結果として生じる磁界であり、機器1の姿勢μ及び軟磁性材料21の材質、大きさ、形状等に依存して、向き及び大きさを変化させる磁界である。機器1の姿勢μが姿勢μから姿勢μに変化した場合、着磁磁界Bmの向き及び大きさは、Bm(μ)からBm(μ)へと変化する。例えば、機器1の姿勢μが姿勢μの場合、軟磁性材料21は、軟磁性材料21の短辺212aから他方の短辺212bへと向かう着磁磁界Bm(μ)を発生させ、機器1の姿勢μが姿勢μの場合、軟磁性材料21は、軟磁性材料21の長辺211aから他方の長辺211bへと向かう着磁磁界Bm(μ)を発生させる。
3次元磁気センサ60が検出する着磁磁界Bm(μ)の向き及び大きさは、姿勢μと、センサ座標系Σにおける軟磁性材料21の位置Pmとに依存する。例えば、図4の場合、3次元磁気センサ60は、着磁磁界Bm(μ)を、地磁気Bg(μ)と同じ方向を向いた磁界として測定する。また、3次元磁気センサ60は、着磁磁界Bm(μ)を、地磁気Bg(μ)とは逆の方向を向いた磁界として測定する。
なお、軟磁性材料21は、地磁気Bgの他に、部品2が発するセンサ座標系Σから見て一定の向き及び大きさの磁界により磁化される。センサ座標系Σから見て一定の向き及び大きさの磁界により磁化される結果として軟磁性材料21が発する磁界は、機器1の姿勢μが変化した場合であっても一定の方向及び大きさを有する。このような、軟磁性材料21が磁化された結果発する磁界のうち、姿勢μが変化しても一定の向き及び大きさを有する磁界は、前述した内部磁界Biに包含されるものとする。
【0044】
図5は、機器1が姿勢μとなるときに測定される磁気データqと、姿勢μとなるときに測定される磁気データqとを、センサ座標系Σにおいてプロットした図である。
磁気データqは、中心点cOGの示す座標を起点とし、地磁気Bg(μ)と同じ向きを有する着磁磁界Bm(μ)と、地磁気Bg(μ)とを加算したベクトル(μ)により示される座標である。よって、磁気データqは球面Sの外側に存在する。一方、磁気データqは、中心点cOGの示す座標を起点とし、地磁気Bg(μ)と逆向きの着磁磁界Bm(μ)と、地磁気Bg(μ)とを加算したベクトル(μ)により示される座標である。よって、磁気データqは球面Sの内側に存在する。
すなわち、磁気データq及びqは、球面Sを、ベクトルBg(μ)方向に引き延ばし、且つ、ベクトルBg(μ)方向に縮めることで得られる楕円面V上に分布する。
このように、3次元磁気センサが、軟磁性材料を備える機器に組み込まれている場合、軟磁性材料が地磁気等の機器の外部からの磁界により磁化される結果として生じる着磁磁界の影響により、3次元磁気センサの測定する複数の磁気データの示す座標が球面近傍に分布せず、楕円面近傍に分布する。このような、軟磁性材料が磁化された結果生じる磁界の影響により、複数の磁気データの示す座標が楕円面近傍に分布する現象は、ソフトアイアン効果と呼ばれている。
【0045】
ソフトアイアン効果が生じる場合に、3次元磁気センサ60が出力する複数の磁気データq〜qの示す座標について、図6を参照しつつ説明する。
図6は、3次元磁気センサ60の姿勢μをμ〜μ(Nは精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)と変化させつつ磁界を測定した場合に、3次元磁気センサ60が出力するN個の磁気データq〜qの示す座標を、センサ座標系Σにおいてプロットした図である。図6は、ソフトアイアン効果により、複数の磁気データq〜qの示す座標が、中心点cOGを中心とする楕円面V上に分布する場合を想定している。なお、図6では、3次元磁気センサ60の測定誤差を考慮していないが、測定誤差を考慮する場合、複数の磁気データq〜qの示す座標は、楕円面V上には分布せず、楕円面Vの近傍に確率的に分布する。つまり、楕円面Vは、複数の磁気データq〜qの示す座標との誤差を最小化するようにして定められる楕円面である。
【0046】
楕円面Vの主軸を、長い順番にLE1、LE2、及びLE3とし、これら3つの主軸の長さをrE1、rE2、及びrE3とする(但し、rE1≧rE2≧rE3>0とする)。また、球面Sの半径をrとする。
このとき、中心点cOGから磁気データqの表す座標を示すベクトル(μ)は、地磁気を表すベクトルBg(μ)のうち、主軸LE1に平行な成分をrE1/r倍したベクトル、主軸LE2に平行な成分をrE2/r倍したベクトル、及び主軸LE3に平行な成分をrE3/r倍したベクトルの和を表すベクトルとなる。
従って、中心点cOGから磁気データqの表す座標を示すベクトル(μ)の向きと、地磁気を表すベクトルBg(μ)の向きとは異なる。また、ベクトル(μ)及びベクトル(μ)とのなす角(つまり、2つの磁気データq及びqの示す座標を、中心点cOGから見たときのなす角)と、地磁気を表すベクトルBg(μ)及びベクトルBg(μ)のなす角とは、異なる。このように、ソフトアイアン効果が生じている場合、磁気データqの座標から中心点cOGの座標を減算しても、地磁気Bg(μ)の向きを正確に求めることはできない。
【0047】
そこで、本実施形態では、図7に示すように、楕円面V上の座標を、半径1の球面S上の座標へと変換する楕円面補正行列Tを算出し、楕円面補正行列Tによって、磁気データqの示す座標を、変換後磁気データsにより表される球面S上の座標へと変換する。中心点cOGから変換後磁気データsの表す座標を示すベクトルBs(μ)は、地磁気を表すベクトルBg(μ)と同じ方向を向く。従って、変換後磁気データsの示す座標から、中心点cOGの示す座標を減算することにより、地磁気を表すベクトルBg(μ)の向きを求めることができる。
このように、地磁気Bgの向きを算出するために、楕円面近傍に分布する複数の磁気データの示す座標を、当該楕円面と同一の中心点を有する半径1の球面近傍に分布する複数の座標へと変換する処理を、楕円補正と呼ぶ。
【0048】
楕円面補正行列Tが行う、楕円面V上の磁気データqの示す座標から、球面S上の変換後磁気データsの示す座標への座標変換は、以下の式(1)に表される。
ここで、楕円面補正行列Tは、以下の式(2)に示される3行3列の対称行列である。また、式(3)に示される3次元の変数ベクトルqは、磁気データqの座標を表すための変数ベクトルであり、式(4)に示される3次元の変数ベクトルsは、変換後磁気データsの座標を表すための変数ベクトルであり、式(5)に示される3次元の変数ベクトルcは、中心点cOGの座標(すなわち、オフセットcOFF)を表すための変数ベクトルである。
なお、式(1)において、ベクトル(q−c)は、楕円面Vの中心点cOGをセンサ座標系Σの原点に平行移動させて得られる楕円面上の座標を示し、ベクトル(s−c)は、座標系Σの原点を中心とする半径1の球面上の座標を示す。
【数1】

【0049】
前述の通り、楕円面補正行列Tは、楕円面Vの中心点cOGを原点とする座標系において、楕円面V上の座標を、半径1の球面S上の座標へと変換するための行列である。つまり、楕円面補正行列Tは、互いに直交する3つの固有ベクトルの各々と、楕円面Vの3つの主軸の各々とが平行になり、3つの固有ベクトルに対応する3つの固有値の各々と、楕円面Vの3つの主軸の各々の長さの逆数とが等しくなるように定められる。
ここで、楕円面補正行列Tの有する3つの固有ベクトルをuT1、uT2、及びuT3とし、対応する固有値をλT1、λT2、及びλT3(但し、λT1≧λT2≧λT3>0)とする。このとき、固有ベクトルuT1は、主軸LE1と平行となり、固有ベクトルuT2は、主軸LE2と平行となり、固有ベクトルuT3は、主軸LE3と平行となるように定められる。また、固有値λT1は、主軸LE1の長さrE1の逆数に等しくなり、固有値λT2は、主軸LE2の長さrE2の逆数に等しくなり、固有値λT3は、主軸LE3の長さrE3の逆数に等しくなるように定められる。すなわち、楕円面補正行列Tは、任意のベクトルに対して、固有ベクトルuT1方向の成分を固有値λT1倍に伸縮し、固有ベクトルuT2方向の成分を固有値λT2倍に伸縮し、固有ベクトルuT3方向の成分を固有値λT3倍に伸縮する行列である。
なお、楕円面補正行列Tの有する3つの固有値をλT1、λT2、及びλT3は、いずれも正の値であり、楕円面補正行列Tは、正定値行列である。
【0050】
ところで、図7に示すように、中心点cOGから変換後磁気データsにより表される座標を示すベクトルBs(μ)と、地磁気を表すベクトルBg(μ)との間には、ずれ角ψが生じる場合がある。この場合、変換後磁気データsから、ベクトルBg(μ)の正確な向きを算出することはできない。
しかし、ずれ角ψは、軟磁性材料21と3次元磁気センサ60との相互位置関係(すなわち、ベクトルPmの向き及び大きさ)に依存する値である。従って、ベクトルPmよりずれ角ψを特定することが可能であり、特定されたずれ角ψと、複数の変換後磁気データsとから、正確な地磁気Bgの向きを算出することが可能である。また、軟磁性材料21の配置を工夫することにより、ずれ角ψを小さく抑えることも可能である。
【0051】
以下において、楕円面Vの形状を求め、楕円面補正行列Tを算出することにより楕円補正を行い、正確な地磁気Bgの方向を算出する方法について述べる。
【0052】
[2. 機器構成及びソフトウェア構成]
図8は、本発明の第1実施形態に係る機器1の構成を示すブロック図である。
機器1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM20、各種プログラムやデータを記憶したROM30、通信を実行する通信部40、画像を表示する表示部50、及び磁気を検出して磁気データを出力する3次元磁気センサ60を備える。
【0053】
3次元磁気センサ60は、X軸地磁気センサ61、Y軸地磁気センサ62、及びZ軸地磁気センサ63を備える。各センサは、MI素子(磁気インピーダンス素子)、MR素子(磁気抵抗効果素子)などを用いて構成することができる。地磁気センサI/F64は、各センサから出力信号をAD変換して磁気データqを出力する。この磁気データqは、X軸地磁気センサ61、Y軸地磁気センサ62、及びZ軸地磁気センサ63からの出力の各々を、センサ座標系Σの、x軸、y軸及びz軸の3成分によって示す、センサ座標系Σ上のベクトルデータである。
【0054】
CPU10、RAM20、3次元磁気センサ60、及び磁気データ処理プログラム70は、3次元磁気センサ60が検出し出力する磁気データqに基づき、正確な地磁気の向きを示す地磁気データを算出する地磁気測定装置として機能する。
表示部50は、CPU10が磁気データ処理プログラム70を実行することにより算出した地磁気の向きを、方位情報として矢印等により表示する。なお、磁気データ処理プログラム70は、地図アプリケーション等との連携を想定するものであってもよく、表示部50は、地磁気の向きを示す方位情報である矢印等を地図上に表示してもよい。
【0055】
図9は、地磁気測定装置のうち、CPU10が磁気データ処理プログラム70を実行することにより実現される機能を表す、機能ブロック図である。地磁気測定装置は、複数の磁気データq〜qを蓄積する蓄積部100と、最適中心点cEOPの座標及び最適楕円面補正行列TOPを算出する楕円面補正部200と、磁気データq、最適中心点cEOP、及び最適楕円面補正行列TOPに基づいて地磁気Bgの方向を算出する地磁気算出部600と、を備える。ここで、最適中心点cEOPとは、複数の磁気データq〜qの示す座標との誤差を最小化するように定められる楕円面である最適楕円面VEOPの中心点である。また、最適楕円面補正行列TOPとは、最適楕円面VEOP上の座標を、最適中心点cEOPを中心とする球面SEOP上の座標へと変換するための、3行3列の対称行列である。
【0056】
蓄積部100は、3次元磁気センサ60から順次出力される磁気データq〜qをバッファBU1に蓄積する(Nは、精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)。バッファBU1はRAM20によって形成される。
【0057】
楕円面補正部200は、楕円面初期補正値生成部300と、楕円面最適補正値生成部400とを備える。
楕円面初期補正値生成部300は、蓄積部100に蓄積された複数の磁気データq〜qに基づいて初期楕円面補正行列T及び初期中心点cE0の座標を算出する。ここで、初期中心点cE0とは、蓄積部100に蓄積された複数の磁気データq〜qの示す座標を近傍に有する初期楕円面VE0の中心点である。また、初期楕円面補正行列Tとは、初期楕円面VE0上の座標を、初期中心点cE0を中心とする球面SE0上の座標へと変換するための3行3列の対称行列である。
【0058】
楕円面最適補正値生成部400は、楕円面初期補正値生成部300が出力する初期楕円面補正行列T及び初期中心点cE0の座標に基づいて、複数の磁気データq〜qの各々が示す座標と楕円面との誤差を最小化する最適楕円面VEOPの中心点である最適中心点cEOPの座標と、最適楕円面VEOP上の座標から最適中心点cEOPを中心点に有する球面SEOP上の座標への座標変換を表す最適楕円面補正行列TOPとを算出する。
複数の磁気データq〜qの示す座標と最適楕円面VEOPとの誤差が最小化され「0」となる場合、楕円面Vと最適楕円面VEOPとは一致し、最適中心点cEOPと中心点cOG(すなわち、内部磁界Biの示す座標)とは一致する。
【0059】
地磁気算出部600は、3次元磁気センサ60から出力される磁気データqの示す座標に対して、楕円面補正行列TとオフセットcOFFとを用いた楕円補正を施し、センサ座標系Σにおける地磁気Bgの向き(厳密には、ベクトルBs(μ)の向き)を算出する。
具体的には、地磁気算出部600は、オフセット採用部610と、地磁気ベクトル計算部620とを備える。オフセット採用部610は、楕円面補正行列Tとして最適楕円面補正行列TOPを採用するとともに、オフセットcOFFとして最適中心点cEOPの座標を示すベクトルを採用する。また、地磁気ベクトル計算部620は、3次元磁気センサ60から出力される磁気データqに対して、楕円面補正行列T及びオフセットcOFFを用いた楕円補正を行い、地磁気Bgの向きを算出する。
以下において、楕円面初期補正値生成部300、楕円面最適補正値生成部400、及び、地磁気算出部600の詳細について、述べる。
【0060】
[3. 初期楕円面の生成]
図10は、楕円面初期補正値生成部300の機能構成を示す機能ブロック図である。
本実施形態では、複数の磁気データq〜qに基づいて初期楕円面VE0を算出する際に、複数の磁気データq〜qの示す座標を近傍に有する第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzを生成し、これら3つの楕円面に基づいて初期楕円面VE0を生成する。
以下、本実施形態における初期楕円面VE0の生成方法について具体的に説明する。
【0061】
楕円面初期補正値生成部300は、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzの各々の係数行列(Dxx、Dyy、Dzz)及び中心点(cxx、cyy、czz)の座標を算出する初期楕円面生成部310、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzの各々の係数行列及び中心点に基づいて初期楕円面補正行列T及び初期中心点cE0の座標を算出することが適切であるか否かを判断する初期楕円面判定部320、及び、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzの各々の係数行列及び中心点の座標に基づいて、初期楕円面補正行列T及び初期中心点cE0の座標を算出する初期補正値生成部330を備える。
【0062】
初期楕円面生成部310は、蓄積部100に蓄積された複数の磁気データq〜qに基づいて、第1楕円面Vxxの形状を表す第1楕円面係数行列Dxxと、第1楕円面Vxxの中心点cxxの座標とを算出する第1楕円面生成部311、複数の磁気データq〜qに基づいて、第2楕円面Vyyの形状を表す第2楕円面係数行列Dyyと、第2楕円面Vyyの中心点cyyの座標とを算出する第2楕円面生成部312、及び、複数の磁気データq〜qに基づいて、第3楕円面Vzzの形状を表す第3楕円面係数行列Dzzと、第3楕円面Vzzの中心点czzの座標とを算出する第3楕円面生成部313、を備える。
以下において、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzと、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標の算出方法について述べる。
【0063】
3次元磁気センサ60より出力される磁気データqの示す座標を表す変数を、式(3)で表す場合、磁気データqを表面上に有する楕円面の方程式(楕円面方程式)は、以下の式(6)で表される。なお、式(6)は楕円面を表すので、式(6)に現れる係数θxx、θyy、及びθzzはいずれも正の値となる。
【数2】

【0064】
式(6)に示される楕円面方程式は、以下の式(7)に変形される。
【数3】

【0065】
複数の磁気データq〜qの示す座標の全てが、式(6)に示された楕円面上に位置する場合、以下の式(8)が成立する。
但し、ベクトルθXXは、式(9)に示すように、式(7)の9つの係数を並べた9次元のベクトルである。また、行列Rxxは、式(10)に示すように、式(13)に示す9次元のベクトルQxxに対して、式(11)に示す複数の磁気データq〜qの示す座標の各々を代入して得られるN個のベクトルを転置したうえで各行に並べたN行9列の行列である。ベクトルWxxは、式(12)に示すように、複数の磁気データq〜qの示す座標のうち、x成分の2乗値にマイナスを掛けた値を各成分に有する、N次元のベクトルである。
【数4】

【0066】
式(8)は、ベクトルθXXの各要素を変数とする連立一次方程式である。従って、式(8)をベクトルθXXについて解くことで、式(7)の係数が決定され、複数の磁気データq〜qの示す座標を表面上に有する楕円面方程式を特定できる。
しかし、3次元磁気センサ60の測定誤差等を考慮すると、複数の磁気データq〜qの示す各々の座標の全てが、式(7)に示す楕円面上に正確に一致する位置に存在することはない。従って、式(8)は解を有さず、式(8)の解としてベクトルθXXを算出することはできない。そこで、本実施形態では、式(8)の解として尤もらしいベクトルθXXを、統計的手法を用いることにより算出する。
例えば、式(7)の右辺に現れる8つの項(xy、xz、y、yz、z、x、y、及びz)をそれぞれ独立変数と看做し、式(7)の左辺に現れるxを従属変数と看做したうえで、最小二乗法を用いて式(14)に示す正規方程式を導出し、その解として、ベクトルθXXを求める。この正規方程式の解として表されるベクトルθXXは、行列(Rxxxx)が正則なときに、式(15)で表すことができる。式(15)により算出されたベクトルθXXを係数として式(7)に適用することにより表される楕円面を、第1楕円面Vxxと呼ぶ。
【数5】

【0067】
ここで、図11(A)に示すように、xy、xz、y、yz、z、x、y、及びzの各々を変数として表す8本の軸を有する8次元の空間πxxと、xの値を変数として表す第1評価軸ξとからなる、9次元の空間Ω上に、複数の磁気データq〜qの各々をプロットする。このとき、楕円面Vxxは、楕円面Vxxと、複数の磁気データq〜qが空間Ω上で示す座標との、第1評価軸ξ方向の誤差を最小化する立体(空間Ω上の8次元平面)として求められる。すなわち、楕円面Vxxは、複数の磁気データq〜qを、空間πxx上にプロットして得られる複数の8次元のベクトルqπxx1〜qπxxNの各要素を式(7)の右辺に代入して得られる値qxx1〜qxxNと、複数の磁気データq〜qの示す座標のうちx軸成分の2乗値x〜xとの誤差を最小化する立体として定められる。
【0068】
式(7)に示される第1楕円面Vxxの方程式は、式(17)に示す第1楕円面係数行列Dxxを用いて、式(16)に変形される。このとき、第1楕円面Vxxの中心点cxxの座標は、式(18)で表される。第1楕円面生成部311は、以上に示したように、第1楕円面係数行列Dxx及び第1楕円面Vxxの中心点cxxを算出し、これらを出力する。なお、式(16)が楕円面を表すための必要条件は、第1楕円面係数行列Dxxが正定値となることである。
【数6】

【0069】
次に、式(6)に示される楕円面方程式を、以下の式(19)に変形する。
【数7】

【0070】
式(19)に示される方程式は、ベクトルθYYの各要素を変数とする連立一次方程式である式(20)に変形される。式(8)と同様に、式(20)の解としてベクトルθYYを算出することはできないため、式(20)の解として尤もらしい値として、ベクトルθYYを算出する。具体的には、式(24)に示す正規方程式において、行列(Ryyyy)が正則なときには、ベクトルθYYは式(25)により算出される。式(25)により特定されたベクトルθYYを係数として式(19)に適用することにより表される楕円面を、第2楕円面Vyyと呼ぶ。なお、ベクトルθYYは、式(21)に示す9次元のベクトルであり、行列Ryyは、式(22)に示すN行9列の行列であり、ベクトルWyyは、式(23)に示すN次元のベクトルである。
【数8】

【0071】
ここで、図11(B)に示すように、x、xy、xz、yz、z、x、y、及びzの各々を変数として表す8本の軸を有する8次元の空間πyyと、yの値を変数として表す第2評価軸ξとからなる、9次元の空間Ω上に、複数の磁気データq〜qの各々をプロットする。このとき、楕円面Vyyは、楕円面Vyyと、複数の磁気データq〜qが空間Ω上で示す座標との、第2評価軸ξ方向の誤差を最小化する立体(空間Ω上の8次元平面)として求められる。すなわち、楕円面Vyyは、複数の磁気データq〜qを、空間πyy上にプロットして得られる複数の8次元のベクトルqπyy1〜qπyyNの各要素を式(19)の右辺に代入して得られる値qyy1〜qyyNと、複数の磁気データq〜qの示す座標のうちy軸成分の2乗値y〜yとの誤差を最小化する立体として定められる。
【0072】
式(19)に示される第2楕円面Vyyの方程式は、式(27)に示す第2楕円面係数行列Dyyを用いて、式(26)に変形される。このとき、第2楕円面Vyyの中心点cyyの座標は、式(28)で表される。第2楕円面生成部312は、以上に示したように、第2楕円面係数行列Dyy及び第2楕円面Vyyの中心点cyyを算出し、これらを出力する。なお、式(26)が楕円面を表すための必要条件は、第2楕円面係数行列Dyyが正定値となることである。
【数9】

【0073】
次に、式(6)に示される楕円面方程式を、以下の式(29)に変形する。
【数10】

【0074】
式(29)に示される方程式は、ベクトルθZZの各要素を変数とする連立一次方程式である式(30)に変形される。式(8)と同様に、式(29)の解としてベクトルθZZを算出することはできないため、式(29)の解として尤もらしい値として、ベクトルθZZを算出する。具体的には、式(34)に示す正規方程式において、行列(Rzzzz)が正則なときには、ベクトルθZZは式(35)により算出される。式(35)により特定されたベクトルθZZを係数として式(29)に適用することにより表される楕円面を、第3楕円面Vzzと呼ぶ。なお、ベクトルθZZは、式(31)に示す9次元のベクトルであり、行列Rzzは、式(32)に示すN行9列の行列であり、ベクトルWzzは、式(33)に示すN次元のベクトルである。
【数11】

【0075】
ここで、図11(C)に示すように、x、xy、xz、y、yz、x、y、及びzの各々を変数として表す8本の軸を有する8次元の空間πzzと、zの値を変数として表す第3評価軸ξとからなる、9次元の空間Ω上に、複数の磁気データq〜qの各々をプロットする。このとき、楕円面Vzzは、楕円面Vzzと、複数の磁気データq〜qが空間Ω上で示す座標との、第3評価軸ξ方向の誤差を最小化する立体(空間Ω上の8次元平面)として求められる。すなわち、楕円面Vzzは、複数の磁気データq〜qを、空間πzz上にプロットして得られる複数の8次元のベクトルqπzz1〜qπzzNの各要素を式(29)の右辺に代入して得られる値qzz1〜qzzNと、複数の磁気データq〜qの示す座標のうちz軸成分の2乗値z〜zとの誤差を最小化する立体として定められる。
【0076】
式(29)に示される第3楕円面Vzzの方程式は、式(37)に示す第3楕円面係数行列Dzzを用いて、式(36)に変形される。このとき、第3楕円面Vzzの中心点czzの座標は、式(38)で表される。第3楕円面生成部313は、以上に示したように、第3楕円面係数行列Dzz及び第3楕円面Vzzの中心点czzを算出し、これらを出力する。なお、式(36)が楕円面を表すための必要条件は、第3楕円面係数行列Dzzが正定値となることである。
【数12】

【0077】
このように、初期楕円面生成部310は、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標を算出し、これらを出力する。
【0078】
初期楕円面判定部320は、図10に示すように、初期楕円面係数行列判定部321と、初期楕円面中心点判定部322とを備える。初期楕円面係数行列判定部321及び初期楕円面中心点判定部322には、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標が供給される。
初期楕円面係数行列判定部321は、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzの全てが正定値であるという条件(第1の条件)が満たされるか否かを判定する。また、初期楕円面中心点判定部322は、式(39)に示すように中心点cxxと中心点cyyとの距離が第1閾値Δc以下であり、且つ、式(40)に示すように中心点cyyと中心点czzとの距離が第1閾値Δc以下であり、且つ、式(41)に示すように中心点czzと中心点cxxとの距離が第1閾値Δc以下であるという条件(第2の条件)が満たされるか否かを判定する。
第1の条件に係る判定結果が肯定であり、且つ、第2の条件に係る判定結果が肯定である場合、初期楕円面判定部320は、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標を出力する。
一方、第1の条件または第2の条件の判定結果が否定である場合、地磁気測定装置は、処理を中断する。
【数13】

【0079】
なお、本実施形態では、初期楕円面判定部320は、初期楕円面係数行列判定部321及び初期楕円面中心点判定部322を備え、第1の条件及び第2の条件の双方を満たすか否かを判定するが、本発明はこのような判定方法に限定されるものではない。
例えば、初期楕円面判定部320は、初期楕円面係数行列判定部321を備えずに構成されてもよい。この場合、初期楕円面判定部320は、第1の条件についての判定を行わず、第2の条件についての判定のみを行い、判定結果が肯定である場合に、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標を出力してもよい。
【0080】
初期補正値生成部330は、初期楕円面判定部320が行う判定の判定結果が肯定である場合、初期楕円面判定部320からの出力に基づいて、初期楕円面補正行列T及び初期中心点cE0を算出する。
ここで、初期楕円面補正行列Tとは、図12に示すように、初期中心点cE0を中心点とする初期楕円面VE0上の座標を、初期中心点cE0を中心点とする球面SE0上の座標へと変換する行列である。初期楕円面VE0は、第1楕円面Vxx、第2楕円面Vyy、及び、第3楕円面Vzzのうち、少なくとも1つの楕円面に基づいて定められる楕円面であり、複数の磁気データq〜qの示す座標を表面近傍に有する楕円面である。
【0081】
初期楕円面補正行列Tの具体的な算出方法を説明するにあたり、まず、楕円面Vの形状が既知であると仮定したときの、楕円面補正行列Tの算出方法について説明する(段落0047及び図7参照)。楕円面補正行列Tは、楕円面V上の座標を、楕円面Vの中心点cOGを中心とする半径1の球面S上の座標に変換する行列であり、楕円面Vの形状を表す楕円面係数行列Dと、楕円面Vの中心点cOGとに基づき算出される。
【0082】
式(6)に示した楕円面Vを表す楕円面方程式は、以下の式(43)に示す楕円面係数行列Dを用いて、以下の式(42)に変形できる。また、楕円面Vの中心点cOGの示す座標は、以下の式(44)により表される。
【数14】

【0083】
ここで、M行M列の正定値対称行列Gと、M行M列の正定値対称行列Hとの間に、式(45)の関係が成立する場合、行列Gを行列Hの平方根行列と呼ぶ。以下では、行列Hの平方根行列Gを、式(46)のように、行列の2分の1乗として表現する。
【数15】

【0084】
このとき、行列Hの平方根行列Gは、式(47)により求められる。但し、行列U及び行列Λは、式(48)に示すように、行列Hを対角化することで算出される行列である。具体的には、行列Λは、式(49)に示すように、行列HのM個の正の固有値λH1〜λHMを対角成分とするM行M列の行列であり、行列Uは、行列Hの固有値λH1〜λHMに対応する固有ベクトルを正規化したうえで各列に並べたM行M列の回転行列である。
【数16】

【0085】
楕円面係数行列Dと、楕円面補正行列Tとの関係は、以上で定義した平方根行列を用いて、以下の式(50)で表される。なお、値r(D)は、以下の式(51)に示すように、複数の磁気データq〜qの示す座標を楕円面係数行列Dの平方根行列により変換した複数の座標と、中心点cOGとの距離の平均値を表す値である。
【数17】

【0086】
楕円面係数行列Dの固有値λD1、λD2、及びλD3の各々は、楕円面Vの主軸の長さrE1、rE2、及びrE3の各々の2乗値の逆数に等しい。よって、楕円面補正行列Tの固有値λT1、λT2、及びλT3の各々は、楕円面Vの主軸の長さrE1、rE2、及びrE3の各々の逆数に等しくなる。従って、楕円面補正行列Tにより、楕円面V上の座標を、半径1の球面S上の座標へと変換することができる。
【0087】
次に、初期楕円面補正行列T、及び、初期中心点cE0の座標の算出方法について説明する。
初期楕円面補正行列Tは、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzのうち、少なくとも1つに基づいて算出される。また、初期中心点cE0の座標は、中心点cxx、中心点cyy、及び中心点czzのうち、少なくとも1つに基づいて算出される。
前述した第2の条件を満たす場合、中心点cxx、中心点cyy、及び中心点czzのうち、任意の2点間の距離は、第1閾値Δcよりも近い。従って、第1閾値Δcの値を十分に小さくした場合、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzは、いずれも複数の磁気データq〜qの示す座標を近傍に有し、いずれの中心点も同一の座標と看做すことができるため、これら3つの楕円面は(厳密には異なる形状を有するものの)実質的に同一の楕円面と看做すことができる。この場合、初期楕円面VE0として、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのいずれを採用してもよい。
本実施形態では、初期楕円面VE0として、第1楕円面Vxxを採用する。このとき、初期楕円面補正行列T及び、初期中心点cE0の座標は、以下に示す式(52)及び式(53)により表される。
初期補正値生成部330は、以上のように、初期楕円面補正行列Tと初期中心点cE0の座標とを生成し、これらを出力する。
【数18】

【0088】
なお、本実施形態では、楕円面初期補正値生成部300は、蓄積部100から取得した複数の磁気データq〜qを、楕円面最適補正値生成部400に対して出力するが、楕円面最適補正値生成部400は、蓄積部100より直接、複数の磁気データq〜qを取得してもよい。
また、本実施形態では、初期楕円面VE0として、第1楕円面Vxxを採用するが、本発明はこのような形態に限定するものではない。例えば、初期楕円面VE0として、第2楕円面Vyyを採用してもよい。このとき、初期楕円面補正行列Tは式(54)により表され、初期中心点cE0には中心点cyyが採用される。また、初期楕円面VE0として第3楕円面Vzzを採用してもよい。この場合、初期楕円面補正行列Tは式(55)により表され、初期中心点cE0には中心点czzが採用される。
【数19】

【0089】
また、初期楕円面補正行列Tは、以下に示す式(56)により算出してもよい。この場合、初期中心点cE0の座標を、以下に示す式(57)または式(58)により算出してもよい。
【数20】

【0090】
ところで、初期楕円面補正行列Tを算出する方法には、以下に示す方法(以下、「対比例」と称する)も存在する(「非特許文献2」参照)。
具体的には、まず、式(6)に示す楕円面方程式を、xの項、yの項、またはzの項の何れか1つの項で割り算をすることにより、楕円面方程式と等価な、以下の式(59)に示す連立一次方程式に変形する。次に、最小二乗法を用いて、式(59)から、以下の式(60)に示す正規方程式を算出する。行列(RR)が正則なときには、楕円面の形状を示すベクトルθは、式(60)に示す正規方程式の解として、以下の式(61)により算出される。式(61)により算出されるベクトルθと、式(43)、式(44)、及び(50)とを用いて、初期楕円面補正行列T及び初期中心点cE0を算出する。
なお、例えば、式(6)に示す楕円面方程式を、zの項により割り算することで、式(59)に示す連立一次方程式を算出する場合、ベクトルθは、以下の式(62)に示す9次元のベクトルであり、行列Rは、以下の式(63)に示す9次元のベクトルQに対して式(11)に示す複数の磁気データq〜qの示す座標を代入して得たベクトルを転置して各行に並べて生成される以下の式(64)に示すN行9列の行列であり、ベクトルWは、以下の式(65)に示す9次元のベクトルである。
【数21】

【0091】
対比例は、楕円面方程式を、xの項、yの項、またはzの項の何れか1つの項で割り算をすることで生成される連立一次方程式により、楕円面の形状を決定するものである。つまり、対比例は、第1評価軸ξ、第2評価軸ξ、及び第3評価軸ξのうち、1つの評価軸のみを用いて、1つの楕円面を算出することと等しい。
この場合、複数の磁気データq〜qの示す座標の分布形状が同一であっても、選択される評価軸が相違すれば、算出される楕円面の形状は異なる。しかし、対比例は、1つの楕円面のみを算出するため、仮に2つ以上の評価軸を用いて2つ以上の楕円面を算出したならば把握できるはずの複数の楕円面の形状の相違について、把握することができない。例えば、2つ以上の楕円面が算出されることを前提とする、第2の条件を用いた判定を行うことができない。
従って、図13に示す例のように、本実施形態に係る方法により、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、少なくとも2つの楕円面を算出していたならば、第2の条件についての判定結果が否定となるような場合であっても、対比例によれば初期楕円面補正行列Tが算出されることになる。
このように、対比例は、複数の磁気データq〜qの示す座標の分布の形状から楕円面の形状を特定することが困難な場合であっても、複数の磁気データq〜qの示す座標の分布形状を正確に表さない不適切な初期楕円面VE0に基づいた初期楕円面補正行列Tを生成する。
【0092】
これに対して、楕円面初期補正値生成部300は、初期楕円面補正行列T及び初期中心点cE0を生成するにあたり、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzの3つの楕円面を生成する。第1楕円面Vxxは、空間Ω上の第1評価軸ξを基準として複数の磁気データq〜qの示す座標との誤差を最小化する楕円面であり、第2楕円面Vyyは、空間Ω上の第2評価軸ξを基準として複数の磁気データq〜qの示す座標との誤差を最小化する楕円面であり、第3楕円面Vzzは、空間Ω上の第3評価軸ξを基準として複数の磁気データq〜qの示す座標との誤差を最小化する楕円面である。すなわち、楕円面初期補正値生成部300は、空間Ω上の3つの異なる評価軸を用いて、3つの異なる楕円面を生成する。
さらに、楕円面初期補正値生成部300は、第1の条件及び第2の条件を用いて、算出された3つの異なる楕円面が、互いに近い形状を有することを判定する。つまり、複数の磁気データq〜qの示す座標の分布の形状が楕円面の形状とは大きく異なる形状であり、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち1つ以上が楕円面とは異なる形状となる場合、第1の条件は満たされない。また、図13に示す例のように、算出された3つの楕円面各々の中心点の相互間距離が離れている場合には、第2の条件は満たされない。
このように、楕円面初期補正値生成部300は、初期楕円面補正行列Tを生成する際に、3つの異なる楕円面を生成したうえで、第1の条件及び第2の条件が満たされているか否かを判定するため、複数の磁気データq〜qの示す座標の分布の形状から、楕円面の形状を特定することが困難な場合に、複数の磁気データq〜qの示す座標の分布の形状とは異なる不正確な初期楕円面VE0に基づいた、不適切な初期楕円面補正行列Tが生成されることを防止する。
【0093】
[4. 最適楕円面の生成]
初期楕円面補正行列Tは、式(66)に示すように、初期中心点cE0を起点として磁気データqの示す座標を終点とするベクトル(q−cEO)を、初期楕円面VE0の3つの主軸方向に伸縮させることで、初期中心点cE0を起点として変換後磁気データs0iの示す座標を終点とするベクトル(s0i−cEO)に変換する行列である。磁気データqの示す座標が、初期楕円面VE0上に存在する場合には、変換後磁気データs0iの示す座標は、初期中心点cE0を中心とする球面SE0上に位置する。
図12に示すように、初期楕円面VE0は、複数の磁気データq〜qの示す座標を近傍に有するように定められる楕円面であるが、複数の磁気データq〜qの示す座標との誤差を最小化するように定められた楕円面ではない。従って、複数の磁気データq〜qの示す座標と、初期楕円面VE0との間の誤差が大きい場合、初期楕円面VE0の中心点である初期中心点cE0の示す座標と、地磁気Bgを表す球面Sの中心点cOGの示す座標との間の誤差も大きくなる。この場合、磁気データqの示す座標を初期楕円面補正行列T及び初期中心点cE0により楕円補正した変換後磁気データs0iと、初期中心点cE0とに基づいて、地磁気Bgの正確な向きを算出することはできない。
【数22】

【0094】
そこで、本実施形態では、複数の磁気データq〜qの示す座標との誤差を最小化する最適楕円面VEOPに基づいて定められる最適楕円面補正行列TOPと、最適楕円面VEOPの中心点である最適中心点cEOPとに基づいて、磁気データqの示す座標を楕円補正する。具体的には、本実施形態に係る地磁気測定装置は、楕円面補正行列Tとして最適楕円面補正行列TOPを採用するとともに、オフセットcOFFとして最適中心点cEOPの示す座標を採用することで、式(1)を、以下の式(67)に変形し、地磁気Bgの向きを表すベクトル(s−cEOP)を算出する。以下、式(67)の右辺に現れるベクトル(q−cEOP)を第1磁気ベクトルと称し、式(67)の左辺に現れるベクトル(s−cEOP)を第2磁気ベクトルと称する。
最適楕円面VEOPは、複数の磁気データq〜qの示す座標との誤差を最小化する楕円面であるため、楕円面Vと、最適楕円面VEOPとは、同一の図形と看做すことができる。よって、最適中心点cEOPの示す座標と中心点cOGの示す座標(オフセットcOFF)との誤差は、初期中心点cE0の示す座標と中心点cOGの示す座標との誤差に比べて小さく、最適中心点cEOPと中心点cOGとは、同一の座標を示すと看做すことができる。このような、最適楕円面補正行列TOPと、最適中心点cEOPとに基づいて、磁気データqの示す座標を楕円補正することにより、正確な地磁気Bgの向きを得ることができる。
【数23】

【0095】
楕円面最適補正値生成部400は、以下の式(68)に示す楕円面最適化関数fEL(T,c)の値が最小化されるように、変数行列Tの各成分及び変数ベクトルcの各要素を逐次更新する非線形最適化演算を行い、楕円面最適化関数fEL(T,c)の値が最小化されたときの変数行列T及び変数ベクトルcを、最適楕円面補正行列TOP及び最適中心点cEOPとして算出する。
ここで、楕円面最適化関数fEL(T,c)は、以下の式(69)に示す3行3列の対称行列である変数行列Tの各成分と、式(5)に示した変数ベクトルcの各要素とを変数とする関数であり、以下の式(70)として表すことができる。変数行列T及び変数ベクトルcの初期値には、初期楕円面補正行列T及び初期中心点cE0が適用される。
【数24】

【0096】
楕円面最適化関数fEL(T,c)は、式(68)に示すように、変数ベクトルcの示す座標を起点として複数の磁気データq〜qの示す座標を表す複数の第1変数ベクトル(q−c)の各々を、変数行列Tにより変換することで得られる複数の第2変数ベクトルT(q−c)の長さの平均値が、「1」からどの程度の差異を有するかを表す関数である。
つまり、楕円面最適化関数fEL(T,c)は、複数の第2変数ベクトルT(q−c)を、変数ベクトルcの示す座標が起点となるように配置した場合、複数の第2変数ベクトルの各々が示す座標と、変数ベクトルcの示す座標を中心とする半径1の球面との誤差を表す。このとき、複数の第2変数ベクトルT(q−c)の示す複数の座標を表すデータを、複数の変換後データsX1〜sXNと呼ぶ。楕円面最適化関数fEL(T,c)の値を最小化することにより、複数の変換後データsX1〜sXNの示す座標と、変数ベクトルcの示す座標を中心とする半径1の球面との誤差を最小化することができ、このときの複数の変換後データsX1〜sXNは、複数の変換後磁気データs〜sを表す。
なお、本実施形態では、説明の便宜上、第2変数ベクトルT(q−c)を、変数ベクトルcの示す座標を起点として配置しているが、第2変数ベクトルT(q−c)を、センサ座標系Σの原点が起点となるように配置しても構わない。すなわち、式(68)は、第2変数ベクトルT(q−c)をセンサ座標系Σの原点が起点となるように配置した場合、第2変数ベクトルT(q−c)の示す座標と、センサ座標系Σの原点を中心とする半径1の球面との誤差を表す。また、この場合、複数の変換後磁気データs〜sは、原点を中心とする半径1の球面近傍に分布する。
【0097】
楕円面最適化関数fEL(T,c)の示す値を最小化することにより最適楕円面補正行列TOP及び最適中心点cEOPを算出する非線形最適化演算は、公知の方法を適宜適用すればよい。例えば、非線形最適化演算として、ニュートン法を適用してもよい。
ニュートン法、最急降下法等の、非線形最適化演算は、非線形関数の示す値を最適化(最小化または最大化)するように、非線形関数の変数の値を逐次更新する。そして、非線形最適化演算は、非線形関数の値及び変数の値が予め規定された停止規準を満たしたときに、変数の値の更新を停止し、このときの変数の値を最適解として採用する。
なお、非線形最適化演算の停止規準としては、公知の基準を適宜適用すればよい。例えば、アルミホの規準(Armijo’s rule)を適用してもよい。
【0098】
非線形最適化演算は、非線形関数の最適解、すなわち非線形関数を最小化(または最大化)する大局的最適解を算出するための演算である。しかし、非線形最適化演算に適用される初期値が大局的最適解とは大きく異なる値である場合、非線形最適化演算の算出する最適解が、大局的最適解とは異なる局所的最適解となることがある。大局的最適解と大きく異なる初期値を適用した場合、大局的最適解よりも初期値に近い局所的最適解が存在する可能性があり、非線形最適化演算による解の更新を繰り返すうちに、解が大局的最適解に更新される前に、局所的最適解に更新される可能性が高いからである。従って、非線形最適化演算により局所的最適解が算出されることを防止するためには、初期値として、大局的最適解にできるだけ近い値を採用する必要がある。
本実施形態は、初期楕円面VE0に基づいて、初期楕円面補正行列T及び初期中心点cE0を算出し、これらの値を非線形最適化演算の初期値として適用する。複数の磁気データq〜qの示す座標を近傍に有するように定められた初期楕円面VE0は、複数の磁気データq〜qの示す座標との誤差を最小化する楕円面Vと近い形状を有する。従って、初期楕円面補正行列T及び初期中心点cE0の示す座標は、大局的最適解として算出されるべき値である楕円面補正行列T及び中心点cOGの示す座標に近い値である(図7及び図12参照)。このような初期値を用いた非線形最適化演算を行うことにより算出される最適楕円面補正行列TOP及び最適中心点cEOPの示す座標は、局所的最適解ではなく、大局的最適解(厳密には、大局的最適解の近似値)となる。このように、本実施形態の非線形最適化演算は、大局的最適解に近い値の適切な初期値が設定されるため、局所的最適解に陥ることなく、大局的最適解を最適解として算出することができる。
【0099】
ところで、本実施形態では、式(69)に示すように、非線形最適化演算において最適化の対象となる楕円面最適化関数fEL(T,c)の変数として実対称行列である変数行列Tを用いるが、変数行列Tの代わりに、対称行列に限定されない実行列一般を表す変数行列Tを変数として用いて非線形最適化演算を行う方法も存在する(「非特許文献1」参照)。
しかし、対称行列に限定されない変数行列Tは、任意のベクトルを変数行列Tの3つの固有ベクトル方向に各々伸縮させる座標変換に加え、任意のベクトルの向きを回転させる座標変換を表す場合がある。そのため、第1変数ベクトル(q−c)を変数行列Tにより変換することで得られるベクトルT(q−c)は、第2磁気ベクトルT(q−c)を任意角度回転させたベクトルとして算出される場合がある。すなわち、図14に示すように、変数行列Tを用いて算出される変換後磁気データROの示す座標は、変数行列Tを用いて算出される変換後磁気データsの示す座標を、球面SEOP上で任意角度回転させた座標として算出される。
この場合、変数行列Tを用いて算出される変換後磁気データROの示す座標に基づいて、地磁気Bgの向きを算出することは困難である。
【0100】
非特許文献1によれば、3次元磁気センサ60から見て方向が既知の参照磁界を用いることにより、変数行列Tが行う座標変換において生じた回転の角度を特定し、座標変換において回転が生じなかった場合の変換後磁気データsの示す座標を算出している。この方法は、機器1が、参照磁界を測定する機会を有することが必要となる。
【0101】
これに対して、本実施形態では、変数行列Tを実対称行列に限定している。実対称行列は、互いに直交する3つの固有ベクトルと、3つの固有ベクトルに対応する3つの固有値とを有する。そして、実対称行列によりベクトルを変換する場合、変換後のベクトルは、変換前のベクトルを実対称行列の3つの固有ベクトル方向を向く3つのベクトルの和で表したとき、3つのベクトルの各々を、その方向を変えずに対応する固有値倍だけ伸縮させた3つのベクトルの和として算出される。すなわち、実対称行列は、任意のベクトルを、当該実対称行列が有する各固有ベクトル方向に各々伸縮させる座標変換を行う行列である。
従って、実対称行列である変数行列Tを用いる非線形最適化演算は、最適楕円面補正行列TOPを、任意のベクトルを最適楕円面補正行列TOPの各固有ベクトル方向に各々伸縮させる座標変換を表す行列として算出するため、最適楕円面補正行列TOPは、回転を伴う座標変換は行わない。このような最適楕円面補正行列TOPにより、磁気データqの示す座標を、変換後磁気データsの示す座標へと変換することにより、地磁気Bgの正確な向きを得ることができる。
また、変数行列Tは3行3列の行列で9個の独立した成分を有し、楕円面最適化関数fEL(T,c)の変数は12個となるのに対して、本実施形態に係る変数行列Tは対称行列であるため6個の独立した成分を有し、楕円面最適化関数fEL(T,c)の変数は9個である。従って、本実施形態に係る非線形最適化演算は、変数行列Tを用いる非線形最適化演算に比べて変数の数が少なく、計算負荷が低減される。
【0102】
なお、楕円面最適補正値生成部400は、最適楕円面補正行列TOPが正定値行列であることを判定したうえで、最適楕円面補正行列TOP及び最適中心点cEOPを出力してもよい。最適楕円面補正行列TOPは、楕円面上の座標を、当該楕円面の主軸方向に伸縮させることにより、球面上の座標へと変換する行列であるため、最適楕円面補正行列TOPの有する3つの固有値は、いずれも正の値となるからである。
楕円面最適補正値生成部400が出力した最適楕円面補正行列TOP及び最適中心点cEOPは、蓄積部100に格納される。
【0103】
[5. 地磁気の算出]
前述の通り、地磁気算出部600は、オフセット採用部610と、地磁気ベクトル計算部620とを備え、3次元磁気センサ60から出力される磁気データqの示す座標に対して、楕円補正を施すことにより、地磁気Bgの向きを算出する(図9参照)。以下において、地磁気算出部600の動作を説明する。
まず、オフセット採用部610は、楕円面補正行列Tとして最適楕円面補正行列TOPを採用するとともに、オフセットcOFFとして最適中心点cEOPの座標を示すベクトルを採用する。これにより、本実施形態に係る地磁気測定装置は、楕円補正を表す式(1)を式(67)に変形し、式(67)に基づいた楕円補正を行うことが可能となる。
次に、地磁気ベクトル計算部620は、式(67)に基づいて楕円補正を行い、地磁気Bgの向きを算出する。具体的には、地磁気ベクトル計算部620は、オフセットcOFFである最適中心点cEOPの座標を起点とし、磁気データqの示す座標を終点とする第1磁気ベクトル(q−cEOP)を、楕円面補正行列Tである最適楕円面補正行列TOPにより変換し、第2磁気ベクトル(s−cEOP)を算出する。このとき、第2磁気ベクトル(s−cEOP)は、ずれ角ψを考慮しなければ、地磁気Bgと同じ向きを向く。地磁気ベクトル計算部620は、必要な場合にはずれ角ψを考慮して(図7、及び段落0050参照)、第2磁気ベクトル(s−cEOP)から、地磁気Bgの向きを算出する。
なお、本実施形態では、説明の便宜上、第2磁気ベクトル(s−cEOP)を、最適中心点cEOPの示す座標を起点として配置しているが(図7参照)、第2磁気ベクトル(s−cEOP)を、センサ座標系Σの原点を起点として配置しても構わない。この場合、球面SEOPは、センサ座標系Σの原点を中心とする半径1の球面を表し、変換後磁気データsは原点を中心とする半径1の球面近傍に分布する。
【0104】
[6. 第1実施形態の結論]
以上に説明した第1実施形態では、複数の磁気データq〜qの示す座標が、楕円面近傍に分布すると仮定して、複数の磁気データq〜qの示す座標を近傍に有する楕円面を特定し、複数の磁気データq〜qの示す座標を、当該楕円面と同一の中心点を有する球面近傍に座標変換する楕円補正を行った。
これにより、3次元磁気センサ60を搭載する機器が軟磁性材料を備え、ソフトアイアン効果が生じている場合に、複数の磁気データq〜qに基づいて、地磁気Bgの正確な方向を算出することができる。
【0105】
なお、3次元磁気センサ60を搭載する機器が軟磁性材料を備えず、ソフトアイアン効果が生じていない場合であっても、複数の磁気データq〜qの示す座標が楕円面の近傍に分布する場合がある。例えば、3次元磁気センサ60が備える、X軸地磁気センサ61、Y軸地磁気センサ62、及びZ軸地磁気センサ63の3つセンサの感度にバラつきがある場合、センサ座標系Σにおいて本来球面近傍に分布するはずの複数の磁気データq〜qの示す座標は、3つのセンサの感度に応じて当該球面をセンサ座標系Σの各軸方向に伸縮させた楕円面近傍に分布する。すなわち、センサ感度のバラつきがある場合、複数の磁気データq〜qの示す座標は、センサ座標系Σの3つの軸の向きと同じ方向を向く3つの主軸を有する楕円面近傍に分布する。
第1実施形態では、複数の磁気データq〜qの示す座標が楕円面近傍に分布しているものと看做して楕円補正を行う。この楕円補正に用いる楕円面の3つの主軸は、直交関係を保ちつつ任意の方向を向くことができるため、第1実施形態に係る楕円補正は、楕円面の主軸とセンサ座標系Σの3軸の方向が一致する場合についても、適用することが可能である。
従って、第1実施形態の楕円補正は、センサ感度のバラつきが原因で複数の磁気データq〜qの示す座標が楕円面近傍に分布する場合、つまり、楕円面の主軸とセンサ座標系Σの3軸の方向が一致する場合であっても、地磁気Bgの正確な向きを算出することができる。
【0106】
また、第1実施形態では、初期楕円面VE0の算出に当たり、空間Ω上の第1評価軸ξ、第2評価軸ξ、及び第3評価軸ξの3つの異なる評価軸を用いて、3つの異なる楕円面を生成したうえで、センサ座標系Σにおいてこれらの3つの異なる楕円面の各々の中心点の相互間の距離が全て第1閾値Δc以下であるか否かを判定した。そして判定結果が肯定となる場合に限り、初期楕円面補正行列T及び初期中心点cE0の座標を算出した。
これにより、複数の磁気データq〜qの示す座標の分布の形状から、楕円面の形状を特定することが困難な場合に、複数の磁気データq〜qの示す座標の分布の形状とは異なる不正確な初期楕円面VE0に基づいた、不適切な初期楕円面補正行列T及び初期中心点cE0の座標が生成されることを防止することが可能となり、不正確な値がオフセットとして採用されることを防止することが可能となった。
【0107】
また、第1実施形態では、楕円面Vに近い形状を有する初期楕円面VE0に基づいて定められる初期楕円面補正行列Tの各成分及び初期中心点cE0の座標を初期値とする非線形最適化演算により、最適楕円面補正行列TOP及び最適中心点cEOPの座標を算出した。
非線形最適化は、初期値に、大局的最適解に近い値を採用することで、局所的最適解が最適解として算出される可能性を低減させ、大局的最適解が最適解として算出される可能性を高める。従って、本実施形態に係る非線形最適化演算は、局所的最適解が最適解として算出される可能性を低減し、不適切な最適楕円面補正行列TOPを用いた楕円補正による不正確な地磁気Bgの向きが算出される可能性を低減した。
【0108】
また、第1実施形態では、実対称行列である変数行列Tを変数とする楕円面最適化関数fEL(T,c)を最小化することで、最適楕円面補正行列TOP及び最適中心点cEOPを算出した。これにより、最適楕円面補正行列TOPは、任意のベクトルを、最適楕円面補正行列TOPの3つの固有ベクトル方向に伸縮させる座標変換を行う行列として算出されるため、回転を伴う座標変換は行わない。
すなわち、最適楕円面VEOP近傍に位置する磁気データqの示す座標を楕円補正することで算出される変換後磁気データsの示す座標は、最適中心点cEOPから見て、地磁気Bgと同じ方向を向く座標として求められるため、変換後磁気データsに基づいて、正確な地磁気Bgの向きを算出することができる。
【0109】
<B.第2実施形態>
以下、第2実施形態について説明する。
【0110】
[7. 第2実施形態に係る地磁気測定装置の概要]
第1実施形態では、3次元磁気センサ60が測定する対象の磁界を、地磁気Bg、内部磁界Bi、及び着磁磁界Bmに限定し、複数の磁気データq〜qの示す座標が楕円面近傍に分布する場合を想定した。
しかし、機器1の外部に磁界を生じる物体が存在する場合、物体の発する外部磁界Bxの影響により、複数の磁気データq〜qの示す座標は、楕円面とは異なる形状に分布することがある。この場合には、複数の磁気データq〜qの示す座標が楕円面近傍に分布すると仮定して算出された楕円面の中心点の示す座標は、3次元磁気センサ60のオフセットを示す座標とは一致しない可能性が高く、楕円面の中心点の示す座標をオフセットとして補正を行っても正確な地磁気Bgの向きを求めることはできない。
また、機器1が軟磁性材料21を備えない場合、ソフトアイアン効果は生じないため、複数の磁気データq〜qの示す座標は、図3に示したように球面近傍に分布し、楕円面近傍には分布しない。この場合、楕円補正を行わなくても、正確な地磁気Bgの向きを求めることができる。
第2実施形態は、機器1の外部の物体の発する外部磁界Bxが存在する場合、及び、機器1が軟磁性材料21を備えず着磁磁界Bmが存在しない場合に対応した地磁気測定装置を実現することを目的とする。
【0111】
図15は、第2実施形態に係る地磁気測定装置のうち、CPU10が磁気データ処理プログラムを実行することにより実現される機能を表す、機能ブロック図である。第2実施形態に係る地磁気測定装置は、楕円面球面変換部500、分布判定部700、中心点算出部800、及び歪判定部900を備える点と、地磁気算出部600の代わりに地磁気算出部600aを備える点とを除き、第1実施形態に係る地磁気測定装置(図9参照)と同様に構成される。
【0112】
楕円面球面変換部500は、式(67)に基づいて、最適楕円面補正行列TOP、最適中心点cEOP、及び、複数の磁気データq〜qから、複数の変換後磁気データs〜sを算出する。具体的には、楕円面球面変換部500は、まず、式(67)に示ように、最適中心点cEOPの座標を起点として磁気データqの示す座標を終点とする第1磁気ベクトル(q−cEOP)を、最適楕円面補正行列TOPにより変換し、最適中心点cEOPを起点として変換後磁気データsの示す座標を終点とする第2磁気ベクトル(s−cEOP)を算出することで、変換後磁気データsの示す座標を算出する。その後、楕円面球面変換部500は、算出した複数の変換後磁気データs〜sを蓄積部100のバッファBU2に格納する。
分布判定部700は、センサ座標系Σにおいて、複数の磁気データq〜qの示す座標の分布が、3次元的な広がりを有しているか否かを判定し、判定結果を出力する。
中心点算出部800は、センサ座標系Σにおいて、複数の磁気データq〜qの示す座標を近傍に有する球面Sの中心点cの示す座標を算出する。図3において説明したように、3次元磁気センサ60が測定する磁界が、地磁気Bg及び内部磁界Biである場合、複数の磁気データq〜qの示す座標が、球面Sの近傍に分布するため、球面Sと球面Sとは一致すると看做すことができ、球面Sの中心点cの示す座標が、オフセットcOFFを表す。
第2実施形態に係る地磁気測定装置は、中心点算出部800を備えることで、着磁磁界Bmが存在せず、複数の磁気データq〜qの示す座標が球面近傍に分布する場合に、簡易な方法により、3次元磁気センサ60のオフセットcOFFを算出することが可能となる。
【0113】
歪判定部900は、センサ座標系Σにおいて、複数の入力座標(複数の磁気データq〜qの示す座標、または複数の変換後磁気データs〜sの示す座標)がある立体近傍に分布すると仮定して、当該立体の形状と球面の形状との相違の程度を評価することで、立体の形状が球面と看做すことができる否かを判定し、判定結果を出力する。
外部磁界Bxが存在し、複数の磁気データq〜qの示す座標が球面または楕円面とは異なる歪んだ形状の立体近傍に分布する場合、3次元磁気センサ60のオフセットcOFFの正確な値を算出することは、困難である。
第2実施形態に係る地磁気測定装置は、歪判定部900を備えることで、外部磁界Bxの影響が大きく、オフセットcOFFの算出が困難な場合に、不正確なオフセットcOFFが算出されることを防止し、不正確なオフセットを用いた補正処理により不正確な地磁気Bgが算出されることを防止する。
【0114】
地磁気算出部600aは、オフセット採用部610の代わりにオフセット採用部610aを備える点を除き、地磁気算出部600と同様に構成される。オフセット採用部610aは、オフセットcOFFとして、最適中心点cEOPの座標を示すベクトルまたは球面Sの中心点cの座標を示すベクトルのいずれか一方を採用する。
そして、オフセット採用部610aは、オフセットcOFFとして中心点cの座標を示すベクトルを採用する場合、楕円面補正行列Tとして3行3列の単位行列Iを採用する。このとき、地磁気ベクトル計算部620は、オフセットcOFFである中心点cの示す座標と、楕円面補正行列Tである単位行列Iとを用いて、式(1)に基づいた楕円補正を行い、地磁気Bgの向きを算出する。具体的には、楕円面補正行列Tは単位行列Iであるため、地磁気ベクトル計算部620は、ベクトル(q−c)を、地磁気Bgの向きを表すベクトルとして算出する。なお、単位行列Iを用いる楕円補正とは、式(1)からも明らかなとおり、単に、磁気データqの示す座標からオフセットcOFFを減算する演算に過ぎず、実質的には楕円補正を行わないことを意味する。従って、楕円面補正行列Tとして単位行列Iが採用された場合、地磁気ベクトル計算部620は、式(1)に基づいた演算を行わず、単純に、磁気データqの示す座標からオフセットcOFFとして採用された中心点cの座標を減算する処理を行ってもよい。
一方、オフセット採用部610aは、オフセットcOFFとして最適中心点cEOPの座標を示すベクトルを採用する場合、楕円面補正行列Tとして最適楕円面補正行列TOPを採用する。このとき、地磁気ベクトル計算部620は、オフセットcOFFである最適中心点cEOPの示す座標と、楕円面補正行列Tである最適楕円面補正行列TOPとを用いて、式(1)に基づいた楕円補正を行い、地磁気Bgの向きを算出する。具体的には、地磁気ベクトル計算部620は、式(1)を変形した式(67)により、第2磁気ベクトル(s−cEOP)を、地磁気Bgの向きを表すベクトルとして算出する。
【0115】
以下では、第2実施形態に係る地磁気測定の処理の詳細を説明する前提として、外部磁界Bxの性質について説明する。
【0116】
図16は、3次元磁気センサ60の検出対象である、地磁気Bg、内部磁界Bi、着磁磁界Bm、及び外部磁界Bxを、地上座標系Σにおいて表した概念図である。ここで、図16に示す位置Pは、地上座標系Σにおけるセンサ座標系Σの原点の位置(すなわち、地上座標系Σにおける、3次元磁気センサ60の位置)を表す。
第2実施形態に係る地磁気測定装置は、機器1の他に、図16に示す機器1aに適用することができる。ここで、機器1aは、部品2の代わりに、軟磁性材料21を含まない部品2aを備える点を除き、機器1と同様の構成である。すなわち、機器1aは、機器1と異なり、着磁磁界Bmを発しない。
【0117】
図16に示すように、外部磁界Bxは、機器1または機器1aの外部に存在する物体3から発せられる磁界であり、物体3との相対的位置関係によって向き及び大きさが変化する不均一な磁界である。地上座標系Σにおける3次元磁気センサ60の位置Psを変化させた場合、3次元磁気センサ60が測定する外部磁界Bxの向き及び大きさが変化する。従って、外部磁界Bxは、地上座標系Σにおいて、位置Psに依存して方向及び大きさの双方を変化させるベクトルBx(Ps)として表現される。また、地上座標系Σにおける3次元磁気センサ60の姿勢μを変化させた場合、3次元磁気センサ60が測定する外部磁界Bxの向きが変化する。
【0118】
図17は、3次元磁気センサ60の位置PsをPS1〜PSNと変化させると共に、姿勢μをμ〜μと変化させて磁界を測定したときの、3次元磁気センサ60が出力する複数の磁気データq〜qを、センサ座標系Σにおいてプロットした図である。
なお、図17では、簡単のために、着磁磁界Bmは存在せず、内部磁界Bi、地磁気Bg、及び外部磁界Bxのみが存在する場合を想定する。
【0119】
外部磁界Bxは、センサ座標系Σにおいて、3次元磁気センサ60の位置Psに依存して方向及び大きさの双方を変化させ、3次元磁気センサ60の姿勢μに依存して方向を変化させるベクトルBx(μ、Ps)として表現される。
3次元磁気センサ60が、内部磁界Bi、地磁気Bg、及び外部磁界Bxを測定する場合、複数の磁気データq〜qの各々の表す座標は、内部磁界を表すベクトルBi、地磁気を表すベクトルBg(μ)、及び外部磁界を表すベクトルBx(μ、Ps)の和を表すベクトルにより示される。従って、複数の磁気データq〜qの示す座標は、中心点cOGを起点とする地磁気を表すベクトルBg(μ)の終点を表す球面Sと、中心点cOGを起点とする外部磁界を表すベクトルBx(μ、Ps)の終点を表す曲面SXとを、中心点cOGを起点として重ね合わせた立体SDの表面近傍に分布する。
【0120】
外部磁界Bxを表す曲面SXが、球面とは異なる歪んだ形状を有する場合には、立体SDも球面とは異なる歪んだ形状を有する。立体SDが、球面とは異なる歪んだ形状を有する場合、複数の磁気データq〜qの示す座標に基づいて、地磁気Bgを表す球面Sの中心点cOGの座標を算出することは困難である。仮に、複数の磁気データq〜qの示す座標を近傍に有するような球面Sを定め、球面Sの中心点cを算出しても、球面Sの中心点cと球面Sの中心点cOGとは異なる座標となる可能性が高いからである。(図24参照)。このように、立体SDが球面とは異なる歪んだ形状を有し、球面Sの中心点cOGの示す座標の算出が困難である場合には、複数の磁気データq〜qに基づいたオフセットcOFFの算出を防止する必要がある。
【0121】
但し、不均一な外部磁界Bxの影響が小さく、立体SDの形状がほぼ球面と看做せる場合には、複数の磁気データq〜qの示す座標に基づいて、球面Sの中心点cOGの示す座標を算出することができる。例えば、図18(A)に示すように、外部磁界Bxが微弱である場合、地磁気Bgを表す球面Sと、外部磁界Bxを表す曲面SXとの重ね合わせである立体SDは、球面Sとほぼ同一の図形となる。従って、複数の磁気データq〜qの示す座標は、球面Sの近傍に分布すると看做すことができるため、複数の磁気データq〜qから、球面Sの中心点cOGの示す座標を算出することができる。
また、図18(B)に示すように、不均一な外部磁界Bxが大きい場合であっても、立体SDの形状がほぼ球面と看做せる場合がある。例えば、不均一な外部磁界Bxが存在する場合であっても、N個の磁気データq〜qを取得する際に、機器1または機器1aの利用者が機器1または機器1aを手で握って3次元磁気センサ60の位置Pが変化するように振るのではなく、3次元磁気センサ60の位置Pを固定して姿勢μのみを変化させる場合には、外部磁界Bxは、センサ座標系Σにおいて、姿勢μに基づいてその方向のみを変化させる一定の大きさのベクトルBx(μ)として表現される。この場合、外部磁界Bxを表す曲面SXの形状は、中心点cOGを中心とする球面となるため、中心点cOGを中心とする球面Sと、中心点cOGを中心とする球面の形状の曲面SXとを、中心点cOGを中心に重ね合わせた立体SDの形状は、中心点cOGを中心とする球面となる。従って、複数の磁気データq〜qの示す座標に基づいて、立体SDの表す球面の中心点の座標を算出することにより、球面Sの中心点cOGの示す座標を算出することができる。
【0122】
本実施形態では、複数の磁気データq〜qの示す座標に基づいて、外部磁界Bxによる影響の大きさ、すなわち、立体SDの形状と球面の形状との相違の程度を評価する。これにより、複数の磁気データq〜qの示す座標に基づいて、オフセットcOFFが算出可能であるかを判断し、外部磁界Bxの影響を受けた不正確なオフセットが算出されることを防止することが可能となる。
【0123】
なお、詳細は後述するが、本実施形態に係る地磁気測定装置は、楕円面補正部200、楕円面球面変換部500、及び歪判定部900により、複数の磁気データq〜qの示す座標の分布の形状と、楕円面の形状との相違の程度について評価することもできる。複数の磁気データq〜qの示す座標を、楕円補正により複数の変換後磁気データs〜sの表す座標に変換した場合、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状が球面と看做すことができれば、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形は、楕円面と看做すことができるからである。
すなわち、図15に示すように、楕円面補正部200、楕円面球面変換部500、及び歪判定部900は、複数の磁気データq〜qの示す座標の分布の形状が、球面と看做すことのできる形状、楕円面と看做すことのできる形状、または、球面と看做すことも楕円面と看做すこともできない歪んだ形状、のいずれに該当するかを判断する、歪形状判断部4として機能する。
そして、歪形状判断部4が、複数の磁気データq〜qの示す座標の分布の形状を、球面と看做すことのできる形状、または、楕円面と看做すことのできる形状であると判断した場合、地磁気測定装置は、オフセットcOFFを算出するが、球面とも楕円面とも異なる歪んだ形状であると判断した場合、オフセットcOFFを算出しない。
このように、本実施形態に係る地磁気測定装置は、歪形状判断部4を備えることにより、外部磁界Bxの影響による不正確なオフセットが算出されることを防止することが可能になるとともに、外部磁界Bxの影響が無視できる程度に小さい場合には、ソフトアイアン効果が生じている場合及び生じていない場合の双方において正確なオフセットcOFFの算出が可能になる。
【0124】
以下、本実施形態における、オフセットcOFFの候補となる座標の算出方法と、当該座標のオフセットcOFFへの採否の判断方法について、具体的に説明する。
【0125】
[8. 第2実施形態に係る地磁気測定装置のオフセット導出処理フロー]
図19は、第2実施形態に係る地磁気測定装置が、オフセットを導出する動作を説明するためのフローチャートである。このフローチャートは、CPU10が、本実施形態に係る磁気データ処理プログラムを実行することにより実施される。
【0126】
ステップS1において、地磁気測定装置は、初期化処理を行う。初期化処理は、蓄積部100に備えられるバッファBU1に格納された複数の磁気データq〜qと、蓄積部100に備えられるバッファBU2に格納された各種データ(複数の変換後磁気データs〜s等)とを、破棄する処理である。なお、本実施形態の地磁気測定装置は、初期化処理において、バッファBU1に格納された複数の磁気データq〜qの全部を廃棄するが、古い方から一定割合のデータのみを廃棄してもよい。
【0127】
ステップS2において、地磁気測定装置は、磁気データ取得処理を行う。磁気データ取得処理は、3次元磁気センサ60から順次出力される複数の磁気データq〜qを、蓄積部100に備えられるバッファBU1に格納する処理である(Nは精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)。
【0128】
ステップS3において、地磁気測定装置は、磁気データ分布判定処理を行う。磁気データ分布判定処理は、分布判定部700が行う処理である。磁気データ分布判定処理において、分布判定部700は、センサ座標系Σにおいて、複数の磁気データq〜qの示す座標の分布が、3次元的な広がりを有しているか否かを判定し、判定結果を出力する。
判定結果が肯定である場合、地磁気測定装置は、処理をステップS4に進める。一方、判定結果が否定である場合、すなわち、複数の磁気データq〜qの示す座標の分布が2次元的または1次元的である場合、地磁気測定装置は、処理をステップS1に戻す。
【0129】
ステップS4において、地磁気測定装置は、中心点算出処理を行う。中心点算出処理は中心点算出部800が行う処理である。中心点算出処理において、中心点算出部800は、センサ座標系Σにおいて、複数の磁気データq〜qの示す座標を近傍に有する球面Sの中心点cの示す座標を算出し、これを出力する。
【0130】
ステップS5において、地磁気測定装置は、歪判定処理を行う。ステップS5における歪判定処理は、歪判定部900が行う処理である。ステップS5の歪判定処理において、歪判定部900は、複数の入力座標として複数の磁気データq〜qの示す座標を適用したうえで、複数の入力座標がある立体SDの近傍に分布すると仮定して、立体SDの形状と球面の形状との相違の程度を評価することで、立体SDの形状が球面と看做すことができるか否かを判定し、判定結果を出力する。
判定結果が肯定である場合、地磁気測定装置は、処理をステップS10に進める。一方、判定結果が否定である場合、地磁気測定装置は、処理をステップS6に進める。
【0131】
ステップS6において、地磁気測定装置は、初期楕円面生成処理を行う。初期楕円面生成処理は、3節において説明した楕円面初期補正値生成部300が行う処理である。前述の通り、初期楕円面生成処理において、楕円面初期補正値生成部300は、複数の磁気データq〜qの示す座標を近傍に有する初期楕円面VE0の中心点である初期中心点cE0の座標と、初期楕円面VE0上の座標を球面SE0上の座標へと変換する初期楕円面補正行列Tとを算出する。また、楕円面初期補正値生成部300は、複数の磁気データq〜qに基づいて算出される、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標が、第1の条件及び第2の条件の双方を満たすか否かの判定を行う。当該判定結果が肯定である場合、地磁気測定装置は、処理をステップS7に進める。一方、判定結果が否定である場合、地磁気測定装置は、処理をステップS1に戻す。
なお、前述のとおり、楕円面初期補正値生成部300は、第1の条件についての判定を行わず、第2の条件についてのみ判定を行うものであってもよい。
【0132】
ステップS7において、地磁気測定装置は最適楕円面生成処理を行う。最適楕円面生成処理は、4節において説明した楕円面最適補正値生成部400の行う処理である。前述の通り、最適楕円面生成処理において、楕円面最適補正値生成部400は、初期楕円面補正行列T及び初期中心点cE0に基づいて最適楕円面補正行列TOP及び最適中心点cEOPの座標を算出する。
【0133】
ステップS8において、地磁気測定装置は楕円面球面変換処理を行う。楕円面球面変換処理は、楕円面球面変換部500が行う処理である。楕円面球面変換処理において、楕円面球面変換部500は、最適楕円面補正行列TOP及び最適中心点cEOPに基づいて、最適楕円面VEOP近傍に存在する複数の磁気データq〜qの示す座標を、複数の変換後磁気データs〜sにより表される球面SEOP近傍の座標へと変換する。その後、楕円面球面変換部500は、複数の変換後磁気データs〜sを、蓄積部100に備えられたバッファBU2に格納する。バッファBU2は、RAM20により構成される。
【0134】
ステップS9において、地磁気測定装置は、歪判定処理を行う。ステップS9における歪判定処理は、ステップS5における歪判定処理と同様に、歪判定部900が行う処理である。ステップS9の歪判定処理において、歪判定部900は、複数の入力座標として複数の変換後磁気データs〜sの示す座標を適用したうえで、複数の入力座標が立体SDの近傍に分布すると仮定して、立体SDの形状と球面の形状との相違の程度を評価することで、立体SDの形状が球面と看做すことができるか否かを判定し、判定結果を出力する。
判定結果が肯定である場合、地磁気測定装置は、処理をステップS10に進める。一方、判定結果が否定である場合、地磁気測定装置は、処理をステップS1に戻す。
なお、以下では、ステップS5において行われる歪判定処理と、ステップS9において行われる歪判定処理とを区別する場合、前者を第1の歪判定処理と称し、後者を第2の歪判定処理と称する。また、第1の歪判定処理において形状が評価される立体SDと区別するため、第2の歪判定処理において形状が評価される立体を立体SDと称する。第1の歪判定処理と第2の歪判定処理とは、複数の入力座標の値が異なる以外は、同一の処理である。
【0135】
ステップS10において、地磁気測定装置は、オフセット採用処理を行う。
オフセット採用処理は、オフセット採用部610aが行う処理である。オフセット採用処理において、オフセット採用部610aは、中心点cまたは中心点cEOPの示す座標をオフセットcOFFとして採用するとともに、単位行列Iまたは最適楕円面補正行列TOPを楕円面補正行列Tとして採用する。
具体的には、ステップS5における判定結果が肯定である場合、オフセット採用部610aは、ステップS4において中心点算出部800が算出した球面Sの中心点cの座標を表すベクトルをオフセットcOFFとして採用するとともに、単位行列Iを楕円面補正行列Tとして採用する。一方、ステップS5における判定結果が否定であり、且つ、ステップS9における判定結果が肯定である場合、オフセット採用部610aは、ステップS7で楕円面最適補正値生成部400が算出した最適中心点cEOPの座標を表すベクトルをオフセットcOFFとして採用するとともに、楕円面最適補正値生成部400が算出した最適楕円面補正行列TOPを楕円面補正行列Tとして採用する。そして、オフセット採用部610aは、オフセットcOFFと楕円面補正行列Tとを出力する。
また、ステップS9における判定結果が否定である場合、オフセット採用部610aは、オフセットcOFF及び楕円面補正行列Tを採用しない。
なお、5節において説明したとおり、地磁気ベクトル計算部620は、オフセットcOFFと楕円面補正行列Tとを用いて、3次元磁気センサ60から出力される磁気データqの示す座標に対して楕円補正を施すことで、地磁気Bgの向きを算出する。地磁気ベクトル計算部620が楕円補正に用いるオフセットcOFF及び楕円面補正行列Tは、オフセット採用部610aから出力されるオフセットcOFF及び楕円面補正行列Tにより更新される。
【0136】
本実施形態では、ステップS9において、判定結果が否定である場合、地磁気測定装置は、処理をステップS1に戻すが、その際に、何らかのメッセージを表示部50に出力した上で処理を一旦停止させ、ユーザからの指示を待ってステップS1の処理を再開させてもよい。
N個の磁気データq〜qを取得する際に、利用者が機器1を手で握って回転させるのではなく、機器1の位置を固定したままその姿勢のみを変化させるようにすると、外部磁界Bxの影響を低く抑えることができる(図18(B)参照)。そのため、ステップS9における判定結果が否定である場合には、機器1の位置を固定したまま回転させることを、利用者に対して指示してもよい。利用者に対する指示は、機器1の表示部50に画像や動画等を表示したり、音声等を用いたりすることで、行ってもよい。
また、本実施形態では、ステップS6またはS9において、判定結果が否定である場合に、処理をステップS1に戻さずに、フローチャートに示された処理を終了してもよい。
【0137】
このように、本実施形態の地磁気測定装置は、ステップS5において、複数の磁気データq〜qの示す座標が、球面Sの近傍に分布するか、球面とは異なる歪んだ形状の立体SDの近傍に分布するかを判定する。そして、複数の磁気データq〜qの示す座標が、球面とは異なる歪んだ形状の立体SDの近傍に分布すると判定された場合、ステップS6〜S9を実行することにより、複数の磁気データq〜qの示す座標が、最適楕円面VEOPの近傍に存在するか否かの判定を行う。
すなわち、本実施形態の地磁気測定装置は、複数の磁気データq〜qの示す座標の分布形状が、球面、楕円面、及び球面とも楕円面とも異なる歪んだ形状の立体のうち、いずれの形状と看做すことが適当であるかについて、判別することが可能となる。
これにより、本実施形態に係る地磁気測定装置は、複数の磁気データq〜qの示す座標が、球面または楕円面の近傍に分布する場合には、これらの中心点をオフセットとして採用することにより、正確な地磁気の向きを算出することができる。一方、複数の磁気データq〜qの示す座標が、球面とも楕円面とも異なる歪んだ形状の立体の近傍に分布する場合、本実施形態に係る地磁気測定装置は、オフセットの算出を防止するため、不正確な地磁気の向きの算出を防止することができる。
【0138】
以下において、磁気データ分布判定処理、中心点算出処理、及び歪判定処理の詳細を説明する。なお、理解を容易なものとするために、中心点算出処理を説明した後に、磁気データ分布判定処理の説明を行う。
【0139】
[9. 中心点算出処理]
図20を参照しつつ、ステップS4において、中心点算出部800が行う中心点算出処理について説明する。中心点算出処理は、3次元磁気センサ60が出力するN個の磁気データq〜qの示す座標が、半径rの球面Sの近傍に分布すると仮定して、球面Sの中心点cの座標を算出する処理である。球面Sは、センサ座標系Σ上で、複数の磁気データq〜qの示す座標を近傍に有するように定められる球面の中心点の座標を求めるために、計算の便宜上導入される球面であり、地磁気Bgを表す球面Sとは異なる球面である。なお、以下において記載されるベクトル及び座標は、特に断りがない場合には、センサ座標系Σにおいて表現されたものであるとする。
【0140】
複数の磁気データq〜qの示す座標を近傍に有する球面Sの中心点cの座標の算出は、公知の方法を適宜適用すればよい。例えば、以下の方法により算出してもよい。
【0141】
磁気データqの示す座標を式(11)で表し、中心点cの座標を以下の式(72)で表した場合、複数の磁気データq〜qの示す座標が、半径rの球面S上に存在することは、以下の式(71)で表される。
【数25】

【0142】
図20に示すように、磁気データqの示す座標を、複数の磁気データq〜qの重心qの示す座標を起点とするベクトル(q−q)で表現した場合、式(71)に対して複数の磁気データq〜qの示す座標の各々を代入した式と、式(71)とに基づいて、以下の式(73)を得ることができる。以下では、式(73)に示す方程式を、球面方程式と呼ぶ。ここで、重心qは、以下の式(74)及び式(75)で定義される3次元のベクトルである。また、行列Xは、式(76)に示すN行3列の行列であり、ベクトルjは、式(77)に示すN次元のベクトルであり、値RAVEは、式(78)に示す値である。
【数26】

【0143】
式(73)に示した球面方程式は、複数の磁気データq〜qの示す座標の全てが、中心点cを中心とする球面S上に完全に一致する場合には解を有する。しかし、3次元磁気センサ60の測定誤差等を考慮すると、複数の磁気データq〜qの全てが、球面Sと完全に一致することはないため、球面方程式は解を持たない。そこで、統計的な手法により、球面方程式の尤もらしい解を得るために、式(79)で表す誤差を吸収するベクトルである第1球面誤差ベクトルδを導入する。ここで、式(79)に現れる変数ベクトルcは、式(5)に示した3次元のベクトルであるが、本節では、中心点cの座標を表すための変数として用いる。
【数27】

【0144】
第1球面誤差ベクトルδのノルムを最小にするベクトルc、換言すれば、(δ))を最小化するようなベクトルcの表す座標が、球面Sの中心点cの座標として尤もらしいものであるといえる。ここで、以下の式(80)で示される中心点算出関数f(c)を定義すると、中心点算出関数f(c)を最小化するベクトルcの表す座標が、球面Sの中心点cの座標として尤もらしい値となる。中心点cの座標は、式(82)に示す3行3列の共分散行列Aが正則である場合には、式(81)により算出される。
【数28】

【0145】
前述の通り、3次元磁気センサ60が、内部磁界Bi及び地磁気Bgのみを検出する場合には、球面Sと、地磁気Bgを表す球面Sとは、ほぼ同一の球面となり、球面Sの中心点cと、球面Sの中心点cOGとは、ほぼ同一の座標となる。従って、3次元磁気センサ60が内部磁界Bi及び地磁気Bgのみを検出する場合、式(81)に示される中心点cの座標を示すベクトルを、磁気センサのオフセットcOFFとして採用することができる。
【0146】
[10. 磁気データ分布判定処理]
以下では、ステップS3において、分布判定部700が行う磁気データ分布判定処理について説明する。
【0147】
前述した、中心点算出処理において、球面Sの中心点cを算出するためには、複数の磁気データq〜qの示す座標が、センサ座標系Σにおいて3次元的な広がりを有して分布していることを必要とする。しかし、機器1(3次元磁気センサ60)の姿勢μは、機器1の利用者が手で機器1を動かすことにより変化するため、機器1の動かし方が不十分な場合には、機器1の姿勢変化は3次元的とはならず2次元的なものとなることがある。この場合、センサ座標系Σにおける複数の磁気データq〜qの示す座標は、3次元的な広がりを有さず2次元的に分布する。
例えば、図21に示すように、複数の磁気データq〜qの示す座標が、センサ座標系Σの平面π上の円π近傍に2次元的に分布する場合、球面Sは、円πを切断面に有するような球面であるということしか特定できない。円πを切断面に有するような球面は、円πの中心点πCOを通り平面πに直交する直線π上の中心点cπ1を中心とする球面Sπ1であるかもしれないし、直線π上の中心点cπ2を中心とする球面Sπ2であるかもしれない。つまり、球面Sの中心点cは、直線π上に位置することまでは特定可能であるが、具体的に直線π上のどの位置に存在するかについては特定不可能である。このように、複数の磁気データq〜qの示す座標が2次元的に分布する場合、複数の磁気データq〜qに基づいて、正確な中心点cを算出することはできない。
【0148】
複数の磁気データq〜qに基づいて球面Sの中心点cを算出するためには、図22に示すように、センサ座標系Σにおいて複数の磁気データq〜qの示す座標が3次元的に広がりを持って分布していることが必要となる。磁気データ分布判定処理において、分布判定部700は、複数の磁気データq〜qの示す座標が3次元的に分布しているか否かを判定する。複数の磁気データq〜qの示す座標が3次元的に分布しているか否かの判定は、公知の方法を適宜適用すればよいが、例えば、式(82)に示される共分散行列Aを用いて判定してもよい。以下において、共分散行列Aの性質を説明する。
【0149】
共分散行列Aの固有値を、大きい順番に最大固有値λ、中間固有値λ、最小固有値λとし、それぞれの固有値に対応する大きさ1に正規化された固有ベクトルをu、u、uとする。また、磁気データqを、前述した重心qを原点とする重心座標系Σにおいて表したベクトルをと表す。このとき、固有値λ(j=1、2、3)は、固有ベクトルu方向の分散σに等しい。
図22に示すように、各固有ベクトルu〜uを重心座標系Σの原点qを起点となるように配置する。このとき、例えばj=1の場合について検討する。固有値λは、ベクトルを、固有ベクトルuへ射影した長さLi1の二乗(Li1を、N個の磁気データ(i=1、2、…N)について平均した値に等しい。すなわち、固有値λは、N個の磁気データが、重心qから固有ベクトルu方向にどの程度離れているか、つまり、複数の磁気データq〜qの示す座標の分布が固有ベクトルuの方向にどの程度の広がり有するかを表す。
【0150】
最小固有値λに対応する固有ベクトルuの方向が、複数の磁気データq〜qの示す座標の分布の広がりが最も小さい方向であり、最小固有値λが、複数の磁気データq〜qの示す座標の分布の広がりが最も小さい方向における広がりの程度を示す指標である。従って、複数の磁気データq〜qの示す座標が3次元的に分布しているといえるためには、最小固有値λの値が、一定の閾値(分散許容値)λ以上であればよい。
【0151】
磁気データ分布判定処理において、分布判定部700は、共分散行列Aの最小固有値λが閾値λ以上であれば、複数の磁気データq〜qの示す座標の分布が十分に3次元的であると判断して、処理を前述したステップS4の中心点算出処理へと進める。一方、分布判定部700は、最小固有値λが閾値λ未満である場合には、複数の磁気データq〜qの示す座標が3次元的な広がりを有さないと判断し、処理をステップS1の初期化処理に戻す。
【0152】
[11. 歪判定処理]
歪判定部900は、ステップS5において第1の歪判定処理を行うとともに、ステップS9において第2の歪判定処理を行う。第2の歪判定処理は、複数の入力座標として、複数の磁気データq〜qの示す座標の代わりに、複数の変換後磁気データs〜sの示す座標を用いて歪判定処理を行う点を除いて、第1の歪判定処理と同様の処理である。
以下11.1節において、第1の歪判定処理について述べた上で、11.2節において、第2の歪判定処理について述べる。
【0153】
[11.1. 第1の歪判定処理]
歪判定処理は、複数の入力座標、すなわち、複数の磁気データq〜qの示す座標が、球面とは異なる歪んだ形状の立体SDの表面近傍に分布すると仮定する。立体SDは、図23に示すように、球面(第2球面)Sと、歪誤差ベクトルk(E)とを、足し合わせることで得られる図形であり、以下の式(83)により表される。以下では、式(83)に示す方程式を、立体方程式と呼ぶ。
ここで、球面Sは、中心点(第2球面の中心点)cS2を中心とする球面であり、立体方程式のうち、歪誤差ベクトルk(E)以外の成分「X(c−q)−j」として表される。
歪誤差ベクトルk(E)は、以下の式(84)により表されるN次元ベクトルである。但し、歪評価行列Eは、以下の式(85)に表される3行3列の対称行列であり、基準点wKEは、以下の式(86)により表される3次元ベクトルである。また、式(83)の右辺に現れる0はN次元の零ベクトルである。式(83)の左辺に現れる変数ベクトルcは、式(5)で示された3次元のベクトルであるが、本節では、球面Sの中心点cS2を表すための変数として用いる。
歪判定処理は、立体方程式のうち、歪を表す成分k(E)の大きさを評価することにより、立体SDの形状と、球面Sの形状とが、どの程度相違しているかについて評価する。具体的には、立体方程式における歪誤差ベクトルk(E)の影響の大きさを、後述する式(93)及び式(94)で示される歪評価値g(E)に基づいて評価する。
【数29】

【0154】
N次元の歪誤差ベクトルk(E)を構成するN個の要素のうち、第i行目の要素ke(q−wKE)は、以下の式(87)で表される関数ke(v)に対して、基準点wKEの示す座標を起点として磁気データqの示す座標を表すベクトル(q−wKE)を代入することにより与えられる。関数ke(v)は、式(85)に示す歪評価行列Eを係数行列とし、式(88)に示すベクトルvの3つの要素を変数とする、二次形式で表現される関数である。つまり、関数ke(v)は、ベクトルvと、ベクトルvを歪評価行列Eにより変換したベクトルEvとの内積を示す。
なお、第1の歪判定処理では、基準点wKEとして、以下の式(89)に示すように、球面Sの中心点cを採用する。
【数30】

【0155】
3次元磁気センサ60の測定誤差等を考慮すると、複数の磁気データq〜qの示す座標の全てが、立体SDと完全に一致する位置に存在することはないため、式(83)に示した立体方程式は解を持たない。そこで、統計的な手法により、立体方程式の解として尤もらしい値を得るために、式(90)で表される誤差を吸収するベクトルである立体誤差ベクトルδSDを導入する。立体誤差ベクトルδSDは、以下の式(91)に示す第2球面誤差ベクトルδS2と、歪誤差ベクトルk(E)とを加算したものである。第2球面誤差ベクトルδS2は、立体方程式のうち、球面Sを表す成分「X(c−q)−j」に対応する成分である。
立体誤差ベクトルδSDは、複数の磁気データq〜qの示す座標と、立体SDの表面との誤差を表す、N次元のベクトルである。立体誤差ベクトルδSDのノルムを最小にする変数ベクトルc及び歪評価行列E、換言すれば、以下の式(92)で示す歪評価関数fSD(E、c)を最小化する変数ベクトルc及び歪評価行列Eによって、複数の磁気データq〜qの示す座標を表面近傍に有する立体SDが表現される。
【数31】

【0156】
以下で、式(90)に示した立体誤差ベクトルδSDの性質を、式(79)に示した第1球面誤差ベクトルδの性質と対比しつつ説明する。
まず、第1球面誤差ベクトルδは、複数の磁気データq〜qの示す座標と、球面Sとの誤差を吸収するためのベクトルである。第1球面誤差ベクトルδを構成する1行目〜N行目の各要素は、それぞれ独立した変数である。従って、第1球面誤差ベクトルδによって、複数の磁気データq〜qが示す座標と球面Sとの誤差を吸収する場合には、複数の磁気データq〜qが示す座標と球面SとのN個の誤差の各々は、互いに制約の無い、N個が互いに独立して定められる値となる。つまり、第1球面誤差ベクトルδによって表されるN個の誤差は、それぞれが独立に確率的に定められるものであり、N個の誤差は全体として、対称性を有し、かつ方向依存性のないホワイトノイズである。
すなわち、中心点算出処理は、複数の磁気データq〜qの示す座標と、球面Sとの誤差をホワイトノイズである第1球面誤差ベクトルδにより表現し、第1球面誤差ベクトルδを最小化する球面Sの中心点cを求める処理である。
【0157】
一方、立体誤差ベクトルδSDは、第2球面誤差ベクトルδS2と歪誤差ベクトルk(E)との和によって表されるベクトルであり、磁気データq〜qの示す座標と立体SDとの誤差を吸収するベクトルである。
第2球面誤差ベクトルδS2は、第1球面誤差ベクトルδと同様に、磁気データq〜qの示す座標と、球面Sとの誤差を、ホワイトノイズとして表現するベクトルである。
一方、歪誤差ベクトルk(E)は、式(87)で示した3変数二次形式の関数ke(v)を各要素とするベクトルである。3変数の二次形式は、変数が2次の項から構成される関数であり、3次元空間上の様々な曲面、例えば、直線、平面、柱面、球面、楕円面、錐面、1葉双曲面、2葉双曲面、及び各種放物面等を描くことができる。従って、歪誤差ベクトルk(E)は、各磁気データq〜qが示す座標と球面SとのN個の誤差の各々を、互いに独立したものではなく、N個の誤差の全てが同一の関数ke(v)により表される3次元空間上の曲面上に存在するという制約を持った値として表現する。
このように、立体誤差ベクトルδSDは、各磁気データq〜qが示す座標と球面SとのN個の誤差を、ホワイトノイズである第2球面誤差ベクトルδS2と、球面Sからの歪を表す曲面を表す歪誤差ベクトルk(E)とに分離して表現する。
【0158】
立体方程式における歪誤差ベクトルk(E)の影響が、無視できる程度に小さい場合、立体SDと球面Sとは、等しい図形と看做すことができ、式(92)に定める歪評価関数fSD(E、c)と、式(80)に定める中心点算出関数f(c)とは、等しい関数と看做すことができる。このとき、歪評価関数fSD(E、c)を最小化して求められる立体SDと、中心点算出関数f(c)を最小化して求められる球面Sとは、等しいものと看做すことができるため、立体SDの表面近傍に分布する複数の磁気データq〜qが示す座標は、球面Sの近傍にも分布すると看做すことができる。前述の通り、立体SDの形状が球面と看做せる場合、立体SDが表す球面の中心点の示す座標と、球面Sの中心点cOGとは、一致すると看做すことができる。よって、球面Sの中心点cの示す座標と、球面Sの中心点cOGの示す座標は、等しいと看做すことができる。
このように、立体方程式における歪誤差ベクトルk(E)の影響が小さい場合、中心点算出手段において算出した球面Sの中心点cの示す座標は、球面Sの中心点cOGの示す座標と等しいと看做されるため、中心点cの示す座標をオフセットcOFFとして採用することができる。
【0159】
逆に、立体方程式における歪誤差ベクトルk(E)の影響が大きい場合、図23に示すように、複数の磁気データq〜qが示す座標と球面Sとの誤差は、ホワイトノイズである第2球面誤差ベクトルδS2と、球面Sからの歪を表す歪誤差ベクトルk(E)とによって吸収される。この場合、立体SDの形状は、球面とは異なる形状を有する。
また、立体方程式における歪誤差ベクトルk(E)の影響が大きい場合、歪評価関数fSD(E、c)と、中心点算出関数f(c)とは、異なる関数となる。この場合、図24に示すように、歪評価関数fSD(E、c)を最小化して求められる立体SDと、中心点算出関数f(c)を最小化して求められる球面Sとは、異なる図形となり、立体SDの表面近傍に分布する複数の磁気データq〜qの示す座標は、球面Sの近傍に分布すると看做すことはできない。
中心点算出処理は、複数の磁気データq〜qの示す座標が球面Sの近傍に存在していることを前提として、球面Sの中心点cOGと等しいと看做すことのできる中心点cの示す座標を算出する処理である。従って、複数の磁気データq〜qの示す座標が球面Sの近傍に存在しない場合、中心点cと、中心点cOGとは、一致しない。この場合、中心点cの座標を示すベクトルを、オフセットcOFFとして採用することはできない。
【0160】
このように、立体方程式における歪誤差ベクトルk(E)の影響の大きさを評価することにより、球面Sの中心点cを、オフセットcOFFとして採用することの可否を判断することが可能である。以下では、立体方程式おける歪誤差ベクトルk(E)の影響の大きさを評価する方法について述べる。
【0161】
ここで、以下の式(93)及び(94)に示す歪評価値g(E)を、立体方程式における歪誤差ベクトルk(E)の影響の大きさを評価する評価値として定義する。歪評価値g(E)は、歪評価行列Eの有する3つの固有値のうち、絶対値が最大となる最大固有値λE1の絶対値(つまり、歪評価行列Eのノルム)である。
歪評価値g(E)が、歪許容値δ以下の小さな値であれば、立体SDと球面Sとは等しい図形であると看做すことができ、立体SDの表面近傍に分布する複数の磁気データq〜qの示す座標は、球面Sの近傍に分布すると看做すこともできる。この場合、中心点算出処理により求められた球面Sの中心点cの座標を表すベクトルを磁気センサのオフセットcOFFとして採用することができる。
【数32】

【0162】
ところで、前述の通り、歪誤差ベクトルk(E)の各要素は、基準点wKEの示す座標から見た磁気データqの示す座標を表すベクトル(q−wKE)と、当該ベクトル(q−wKE)を歪評価行列Eにより変換したベクトルE(q−wKE)との内積である。
つまり、歪誤差ベクトルk(E)を構成する複数の要素の絶対値は、当該要素に対応する磁気データqの示す座標を基準点wKEの示す座標から表したベクトル(q−wKE)と、歪評価行列Eが有する3つの固有値のうち絶対値の大きさが最大となる最大固有値λE1に対応する固有ベクトルuE1とが平行となる場合には、大きな値となる。
従って、球面Sとの誤差が大きな座標を示す磁気データqが多く存在する領域を、基準点wKEの示す座標から表した方向と、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向とが等しくなるように歪評価行列Eの各成分を定める場合、歪誤差ベクトルk(E)は、複数の磁気データq〜qの示す座標と、球面Sとの誤差の大きさを正確に表現する。
歪評価関数fSD(E、c)を最小化する歪評価行列Eは、複数の磁気データq〜qの示す座標と、球面Sとの誤差を正確に表現するように定められる。従って、歪評価行列Eの各成分は、最大固有値λE1に対応する固有ベクトルuE1の向きと、球面Sからの誤差が大きな磁気データが多く存在する領域を基準点wKEの示す座標から表したベクトルの方向とが、近づくように定められる。そして、歪評価行列Eの最大固有値λE1は、球面Sからの誤差が大きな磁気データqについての、その誤差の大きさを表現する値となる。
本実施形態は、立体SDと球面との形状の相違の程度を示す歪評価値g(E)を、歪評価行列Eの最大固有値λE1の値に基づいて定める。従って、歪評価値g(E)によって、球面Sからの距離が大きな座標を示す磁気データqと、球面Sとの誤差の大きさ、すなわち、立体SDと球面との形状の相違の程度を評価することが可能となる。
【0163】
以下に、歪評価値g(E)を求める方法について説明する。
まず、式(87)に示した関数ke(v)は、以下の式(95)に変形できる。また、歪誤差ベクトルk(E)の第i行目の要素ke(q−wKE)は、式(97)によって示される6次元のベクトルke(i)、及び、式(98)によって表される歪評価行列Eの各成分を並べた6次元のベクトルeを用いて、以下の式(96)に変形できる。
【数33】

【0164】
ここで、式(99)で示す行列Xを導入する。行列Xは、ベクトルke(i)を転置した1行6列のベクトルと、ベクトル(q−q)を転置した1行3列のベクトルとを、各行に並べて生成された、N行9列の行列である。
【数34】

【0165】
行列Xを用いて、式(92)に示した歪評価関数fSD(E、c)は、以下の式(100)に表す関数gSD(e)に変形される。なお、ベクトルeは、以下の式(101)に示すように、ベクトルeと、以下の式(102)に示す3次元のベクトルeとを並べた、9次元のベクトルである。
【数35】

【0166】
式(100)に示す関数gSD(e)を最小化する解e=eは、以下の式(103)に示す連立方程式に対して、ガウス消去法や、コレスキー分解法などを適用することで求められる。なお、式(103)は、式(100)に対して、最小二乗法を適用することによって算出される正規方程式である。
【数36】

【0167】
このようにして得た解eに基づき、式(85)の歪評価行列Eを復元する。そして、式(93)に示した歪評価値g(E)の値、即ち、歪評価行列Eのノルムを求め、歪評価値g(E)の値が歪許容値δ以下であるか否かを判定する。なお、歪評価行列Eのノルムは、歪評価行列Eの有する3つの固有値のうち絶対値が最大となる固有値λE1の絶対値に等しいため、ヤコビ法や、冪乗法により求めることができる。
【0168】
歪評価値g(E)が歪許容値δ以下である場合、地磁気測定装置は、処理をステップS10のオフセット採用処理に進め、球面Sの中心点cの座標を表すベクトルを、オフセットcOFFとして採用する。
一方、歪評価値g(E)が歪許容値δよりも大きな値である場合には、球面Sの中心点cの座標を表すベクトルを、オフセットcOFFとして採用することはできない。この場合、地磁気測定装置は、処理をステップS6の初期楕円面生成処理に進める。
【0169】
このように、第1の歪判定処理は、複数の磁気データq〜qの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価する。立体SDと球面との形状の相違が無視できる程度に小さい場合には、立体SDを球面と看做すことができるため、球面Sの中心点cの座標を表すベクトルを、オフセットcOFFとして採用することができる。この場合には、ソフトアイアン効果が生じていないと看做すことができるため、ステップS6〜S8に示す楕円補正(初期楕円面生成処理、最適楕円面生成処理、及び楕円面球面変換処理)を行うことなく、地磁気Bgの向きを算出することができる。
すなわち、本実施形態に係る地磁気測定装置は、第1の歪判定処理を行うことにより、ソフトアイアン効果の有無を判断し、ソフトアイアン効果が生じていないと判断される場合には、楕円補正を行うことなく地磁気Bgの向きを算出する。これにより、本実施形態に係る地磁気測定装置は、地磁気Bgの向きの算出に係る計算負荷を大幅に低減することが可能となる。
【0170】
なお、本実施形態では、歪評価値g(E)が歪許容値δ以下である場合に、オフセット採用部610aは、球面Sの中心点cの座標を表すベクトルをオフセットcOFFとして採用するが、球面Sの中心点cS2の座標を表すベクトルをオフセットcOFFとして採用してもよい。歪評価値g(E)の値が閾値δ以下である場合には、球面Sの中心点cの示す座標と、球面Sの中心点cS2の示す座標とは、ほぼ等しくなり、いずれもオフセットcOFFとして採用することができるからである。
なお、球面Sの中心点cS2の座標は、関数gSD(e)を最小化する解eのうち式(101)のeに相当する3次元のベクトルを、式(102)に代入した場合の、変数ベクトルcとして算出される。
【0171】
[11.2. 第2の歪判定処理]
図25を参照しつつ、ステップS9において、歪判定部900が行う第2の歪判定処理について説明する。
第2の歪判定処理は、ステップS5における第1の歪判定処理における判定結果が否定である場合、すなわち、図25(A)に示すように、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると判定された場合に、図25(B)に示すように、複数の変換後磁気データs〜sの示す座標の分布形状を評価するための処理である。すなわち、第2の歪判定処理において、歪判定部900は、複数の入力座標として、複数の変換後磁気データs〜sの示す座標を用いる。
【0172】
第1の歪判定処理において、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると評価される場合、立体SDの歪の原因が、不均一な外部磁界Bxではなく、ソフトアイアン効果である場合がある。不均一な外部磁界Bxは存在せず、且つ、ソフトアイアン効果が生じている場合、複数の磁気データq〜qの示す座標を近傍に有する立体SDは、楕円面Vと同一の形状を有すると看做すことができる。この場合、複数の磁気データq〜qの示す座標を、最適楕円面補正行列TOPにより変換して得られる複数の変換後磁気データs〜sの示す座標は、球面SEOP近傍に分布するため、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状は、球面と看做すことができる。
逆に、不均一な外部磁界Bxが存在する場合、図25(A)に示すように、複数の磁気データq〜qの示す座標を近傍に有する立体SDは、球面とは異なる歪んだ形状を有し、且つ、楕円面とも異なる形状を有する。この場合、複数の磁気データq〜qの示す座標を、最適楕円面補正行列TOPにより変換して得られる複数の変換後磁気データs〜sの示す座標は、図25(B)に示すように球面SEOPとは異なる歪んだ形状の立体SDの近傍に分布する。
【0173】
このように、第2の歪判定処理は、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状と球面(例えば、球面SEOP)の形状との相違の程度を評価することにより、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状と楕円面(例えば、楕円面V)の形状との相違の程度を評価する処理である。
【0174】
なお、第2の歪判定処理において、立体SDの形状が、球面の形状と等しいと看做すことができる場合、ソフトアイアン効果が生じているが、不均一な外部磁界Bxの影響は存在しないため、最適中心点cEOPの示す座標をオフセットcOFFとして採用することができる。
一方、図25(B)に示すように、第2の歪判定処理において、立体SDの形状が、球面の形状とは異なる歪を持った形状であると評価される場合、複数の磁気データq〜qは不均一な外部磁界Bxの影響を受けたものであるため、複数の磁気データq〜qに基づいてオフセットcOFFの算出をすることはできない。
【0175】
以下において、第2の歪判定処理の具体的な処理内容を説明する。
前述の通り、第2の歪判定処理は、歪判定処理に用いる複数の入力座標として、複数の磁気データq〜qの示す座標を用いる代わりに、複数の変換後磁気データs〜sの示す座標を用いる点を除いて、第1の歪判定処理と同様の処理である。つまり、第2の歪判定処理は、第1の歪判定処理で用いた複数の磁気データq〜qの示す座標に対して、以下の式(104)、式(105)に示す複数の変換後磁気データs〜sの示す座標の値を代入した後に、11.1節で述べた第1の歪判定処理を実行する処理である。
なお、歪判定処理で用いる値のうち、9節で述べた中心点算出処理において算出される値、例えば、式(83)に示す立体方程式に現れる行列X等も、複数の磁気データq〜qの示す座標代わりに、複数の変換後磁気データs〜sの示す座標を用いて算出される。例えば、式(74)に示す重心qには、以下の式(106)に示す、複数の変換後磁気データs〜sの示す座標の重心sが代入されたうえで、第2の歪判定処理が行われる。これらの値の算出は中心点算出部800において行われるが、歪判定部900が行ってもよい。
また、基準点wKEには、中心点cの示す座標の代わりに、以下の式(107)に示す最適中心点cEOPの示す座標を代入して、第2の歪判定処理が行われる。
第2の歪判定処理は、このようにして複数の変換後磁気データs〜sの示す座標に基づいて定められる歪評価関数fSD(E、c)の値を最小化して求められる歪評価行列Eから歪評価値g(E)を算出することにより、立体SDと球面との形状の相違の程度を評価する。
【数37】

【0176】
複数の変換後磁気データs〜sの示す座標に基づき算出された歪評価値g(E)が歪許容値δ以下である場合、ソフトアイアン効果が生じているが、不均一な外部磁界Bxの影響は存在しないため、地磁気測定装置は、処理をステップS10のオフセット採用処理に進め、最適中心点cEOPの座標を表すベクトルを、オフセットcOFFとして採用する。前述の通り、第2の歪判定処理における球面Sの中心点cS2の座標を表すベクトルをオフセットcOFFとして採用してもよい。
一方、複数の変換後磁気データs〜sの示す座標に基づき算出された歪評価値g(E)が歪許容値δよりも大きな値である場合、不均一な外部磁界Bxの影響が存在するため、地磁気測定装置は、処理をステップS1の初期化処理に戻し、球面SEOPの最適中心点cEOPの座標を表すベクトルが、オフセットcOFFとして採用されることを防止する。
なお、本実施形態において、第1の歪判定処理における歪許容値δと、第2の歪判定処理における歪許容値δとは等しい値に設定されるが、異なる値に設定してもよい。
【0177】
[12. 第2実施形態の結論]
以上に示したように、第2実施形態に係る地磁気測定装置は、歪判定部900を備えることにより、複数の磁気データq〜qの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価する。
そして、立体SDの形状が球面と看做すことができる場合、簡易な計算により地磁気Bgの向きを算出することができる。具体的には、第2実施形態に係る地磁気測定装置は、複数の磁気データq〜qの示す座標が球面近傍に分布すると歪判定部900が判定した場合、中心点算出部800が算出する中心点cの座標を表すベクトルを、オフセットcOFFとして採用する。そして、地磁気測定装置は、中心点cの示す座標と、磁気データqの示す座標とに基づいて、地磁気Bgの向きを算出する。
このように、第2実施形態に係る地磁気測定装置は、3次元磁気センサ60が軟磁性材料を備えない機器1aに搭載され、ソフトアイアン効果が生じていない場合には、楕円補正を行うこと無く地磁気Bgの向きを算出するため、計算負荷を軽減することができる。
【0178】
また、第2実施形態に係る地磁気測定装置は、楕円面補正部200、楕円面球面変換部500、及び歪判定部900を備える。そして、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると歪判定部900が判定した場合に、歪判定部900は、楕円面球面変換部500の算出する複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価することで、立体SDの歪の原因が、ソフトアイアン効果によるものであるのか、または、不均一な外部磁界Bxによるものであるのか、を区別する。
そして、立体SDの形状が球面とは異なる歪んだ形状である場合、つまり、立体SDの歪の原因が不均一な外部磁界Bxである場合には、地磁気測定装置は、不均一な外部磁界Bxの影響下で測定された複数の磁気データq〜qの示す座標に基づいてオフセットcOFFが算出されることを防止する。
一方、立体SDの形状が球面であると看做せる場合、つまり、ソフトアイアン効果が生じており、且つ、不均一な外部磁界Bxの影響がない場合、地磁気測定装置は、最適中心点cEOPの示す座標、最適楕円面補正行列TOP、及び、3次元磁気センサ60の出力する磁気データqの示す座標に基づいて、地磁気Bgの向きを算出する。
このように、楕円面補正部200、楕円面球面変換部500、及び歪判定部900は、複数の磁気データq〜qの示す座標を近傍に有する立体SDが、球面、楕円面、及び、球面とも楕円面とも異なる歪んだ形状の立体のいずれであるかを判別する、歪形状判断部4として機能し、不正確なオフセットcOFFによる不正確な地磁気Bgの算出を防止することができる。
【0179】
また、第2実施形態に係る地磁気測定装置は、分布判定部700を備えることにより、複数の磁気データq〜qの示す座標が、センサ座標系Σにおいて3次元的な広がりを有して分布しているか否かを判定することができる。これにより、複数の磁気データq〜qの示す座標が2次元的または1次元的に分布している場合に、中心点算出部800が中心点cの示す座標を算出することを防止でき、不正確な中心点cをオフセットcOFFとして採用することを防止できる。
また、複数の磁気データq〜qの示す座標が2次元的または1次元的に分布している場合に、複数の磁気データq〜qの示す座標の分布の形状から、楕円面の形状を特定することが困難であることが多い。従って、このような場合に、楕円面補正部200が、楕円補正を行うことを防止する。
【0180】
<C.変形例>
本発明は上述した実施形態に限定されるものではなく、例えば、以下の変形が可能である。また、以下に示す変形例のうちの2以上の変形例を、矛盾しない範囲で適宜組み合わせることもできる。
【0181】
(1)変形例1
上述した実施形態において、歪誤差ベクトルk(E)に用いられる基準点wKEには、式(89)に示した中心点c、または式(107)に示した最適中心点cEOPが採用されるが、本発明はこのような形態に限定されるものでは無く、基準点wKEとして、式(74)に示した重心q、または式(106)に示した重心sを採用してもよい。
歪評価行列Eの各成分は、基準点wKEの示す座標から見て、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向と、球面Sからの誤差が大きな磁気データq(または、変換後磁気データs)が多く存在する領域を示す方向とが、近づくように定められる。また、歪評価行列Eの最大固有値λE1は、基準点wKEから見て、固有ベクトルuE1の方向に存在する磁気データq(または、変換後磁気データs)の示す座標と球面Sとの誤差の大きさを表す値となる。
従って、基準点wKEをどのような値に設定しても、複数の磁気データq〜q(または複数の変換後磁気データs〜s)の示す座標が、基準点wKEから見て広く分布している場合には、歪評価行列Eによって、立体SD(または立体SD)と球面Sとの形状の相違の程度を評価することが可能となる。
【0182】
(2)変形例2
上述した実施形態及び変形例において、第1の歪判定処理及び第2の歪判定処理は、いずれも、1つの基準点wKEを用いた歪誤差ベクトルk(E)に基づいて算出される歪評価値g(E)により、立体SD(または立体SD)と球面との形状の相違の程度を評価するが、本発明はこのような形態に限定されるものではなく、2つの基準点wKEを用いて算出される異なる2つの歪誤差ベクトルk(E)により、2つの歪評価値g(E)を算出して、立体SD(または立体SD)と球面との形状の相違の程度を評価してもよい。
例えば、第2の歪判定処理において、まず、最適中心点cEOPを基準点wKEに採用して算出された歪評価値g(E)に基づいて立体SDと球面との形状の相違の程度を評価し、その後、重心sを基準点wKEに採用して算出された歪評価値g(E)に基づいて立体SDと球面との形状の相違の程度を評価してもよい。この場合、2度の評価の両方において、立体SDの形状が球面の形状と看做すことができる場合に、歪判定処理の結果を肯定としてもよい。
このように、2つの基準点wKEを用いて、複数の磁気データq〜q(または、複数の変換後磁気データs〜s)の示す座標と球面Sとの誤差の大きさを評価することにより、1つの基準点wKEのみを用いる場合に比べて、立体SD(または、立体SD)と球面との形状の相違の程度を正確に評価することができる。
【0183】
(3)変形例3
上述した実施形態及び変形例において、地磁気測定装置は、第1の歪判定処理(ステップS5)及び第2の歪判定処理(ステップS9)の双方を行うが、本発明はこのような形態に限定されるものでは無く、第1の歪判定処理または第2の歪判定処理のうち、一方のみを実施してもよい。
例えば、地磁気測定装置が、第1の歪判定処理のみを行う場合、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が、球面と看做すことができるか否かを判定することができるため、ソフトアイアン効果が生じているか否かを判定することができる。そして、ソフトアイアン効果が生じていない場合には、楕円面補正部200による楕円補正を行うこと無く、3次元磁気センサ60が出力する磁気データqの示す座標と、中心点算出部800の算出する球面Sの中心点cの示す座標とにより地磁気Bgの向きを算出することができるため、計算負荷の低減が可能となる。
【0184】
また、例えば、地磁気測定装置が、第2の歪判定処理のみを行う場合、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状が、球面と看做すことができるかを判定することができる。
そして、第2の歪判定処理における判定結果が肯定である場合、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状は、楕円面と看做すことができるため、3次元磁気センサ60が出力する磁気データqの示す座標、最適楕円面補正行列TOP、及び、最適中心点cEOPに基づいて、地磁気Bgの向きを算出することができる。なお、楕円面には球面が含まれるため(例えば、楕円面補正行列Tの有する3つの固有値が全て1の場合、等)、ソフトアイアン効果の発生の有無にかかわらず、地磁気Bgの向きを算出することができる。
一方、第2の歪判定処理における判定結果が否定である場合、複数の磁気データq〜qは不均一な外部磁界Bxの影響を受けているため、地磁気測定装置は、オフセットcOFF及び地磁気Bgの向きの算出を防止する。
【0185】
(4)変形例4
上述した実施形態及び変形例において、地磁気測定装置は、楕円面初期補正値生成部300において、第1楕円面Vxx、第2楕円面Vyy、及び、第3楕円面Vzzを生成し、これら3つの楕円面に基づいて、初期楕円面補正行列T及び初期中心点cE0を算出するが、本発明はこのような形態に限定されるものではなく、公知の方法を適宜適用して初期楕円面補正行列T及び初期中心点cE0を算出してもよい。
例えば、初期楕円面補正行列T及び初期中心点cE0を、非特許文献2に開示された方法(つまり、3節に示した対比例)に基づいて算出してもよい。また、初期楕円面補正行列Tとして3行3列の単位行列を採用し、初期中心点cE0としてセンサ座標系Σの原点O=(0,0,0)を採用してもよい。この場合、初期楕円面補正行列T及び初期中心点cE0の算出に係る計算負荷を低減することが可能となる。
【0186】
(5)変形例5
上述した実施形態及び変形例において、地磁気測定装置は、第2の歪判定処理に用いられる複数の入力座標として、複数の変換後磁気データs〜sの示す座標を適用したが、本発明はこのような形態に限定されるものでは無く、複数の変換後磁気データs〜sの示す座標を最適中心点cEOPを起点として表した複数のベクトル、すなわち、ベクトル(s−cEOP)〜ベクトル(s−cEOP)を複数の入力座標に適用してもよい。この場合、歪判定処理に用いられるデータのサイズを小さくすることができ、処理に必要なメモリのサイズの節約をすると共に、処理速度を向上させるという利点を有する。
【0187】
(6)変形例6
上述した実施形態及び変形例において、初期楕円面生成部310は、3つの楕円面(第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzz)の各々の係数行列及び中心点の座標を算出するものであったが、本発明はこのような形態に限定されるものでは無く、初期楕円面生成部310は、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、2つの楕円面の各々の係数行列及び中心点の座標を算出するものであってもよい。この場合、初期楕円面生成部310は、第1楕円面生成部311、第2楕円面生成部312、及び第3楕円面生成部313のうち、少なくとも2つを備えればよい。
図13において説明したように、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち2つの楕円面の形状の相違の程度(具体的には、2つの楕円面の2つの中心点間の距離)を評価することにより、複数の磁気データq〜qの示す座標から楕円面の形状を特定することが困難な場合であるか否かを把握することが可能である。従って、初期楕円面生成部310が、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、少なくとも2つの楕円面各々の係数行列及び中心点の座標を算出すれば、不適切な初期楕円面補正行列Tが生成されることを防止することができる。また、初期楕円面生成部310が2つの楕円面各々の係数行列及び中心点の座標を算出する場合、3つの楕円面各々の係数行列及び中心点の座標を算出する場合に比べて、計算負荷の軽減が可能となる。
なお、初期楕円面生成部310が2つの楕円面の各々の係数行列及び中心点の座標を算出する場合、初期補正値生成部330は、当該2つの楕円面のうち、少なくとも1つの楕円面の係数行列に基づいて初期楕円面補正行列Tを算出すればよい。同様に、初期補正値生成部330は、当該2つの楕円面のうち、少なくとも1つの楕円面の中心点に基づいて、初期中心点cE0の座標を算出すればよい。
【0188】
(7)変形例7
上述した実施形態及び変形例において、初期楕円面中心点判定部322は、中心点cxx、中心点cyy、及び中心点czzの3つの中心点の相互間の距離の全てが、第1閾値Δc以下であるか否か(第2の条件を充足するか否か)を判定するものであるが、本発明はこのような判定の方法に限定されるものでは無く、初期楕円面中心点判定部322は、中心点cxx、中心点cyy、及び中心点czzのうち2つの中心点間の距離が、第1閾値Δc以下であるか否かを判定するものであってもよい。
例えば、変形例6のように、初期楕円面生成部310が、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、2つの楕円面(例えは、第1楕円面Vxx及び第2楕円面Vyy)の各々の中心点(例えば、中心点cxx及び中心点cyy)の座標を算出する場合、初期楕円面中心点判定部322は、当該2つの中心点cxx及びcyyの間の距離が、第1閾値Δc以下であるか否かを判定するものであってもよい。
このような判定によっても、複数の磁気データq〜qの示す座標の分布の形状から楕円面の形状を特定することが困難な場合であるか否かを把握することが可能であり、不適切な初期楕円面補正行列Tが生成されることを防止することができる。

【符号の説明】
【0189】
1…機器、60…3次元磁気センサ、Bg…地磁気、Bi…内部磁界、Bx…外部磁界、Bm…着磁磁界、q…磁気データ、s…変換後磁気データ、21…軟磁性材料、2…部品、T…楕円面補正行列、cOFF…オフセット、200…楕円面補正部、300…楕円面初期補正値生成部、400…楕円面最適補正値生成部、T…初期楕円面補正行列、cE0…初期中心点、TOP…最適楕円面補正行列、cEOP…最適中心点、310…初期楕円面生成部、320…初期楕円面判定部、330…初期補正値生成部、c…変数ベクトル、T…変数行列、800…中心点算出部、900…歪判定部、c…中心点。


【特許請求の範囲】
【請求項1】
軟磁性材料を有する部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、
前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データを蓄積する蓄積部と、
3次元の変数ベクトルの示す3軸の座標を起点として前記磁気データの示す3軸の座標を表す3次元のベクトルを第1変数ベクトルとし、
前記第1変数ベクトルを、変数行列により変換して得られる3次元のベクトルを第2変数ベクトルとし、
前記第2変数ベクトルの示す3軸の座標を表すデータを変換後データとし、
複数の前記変換後データの各々が示す3軸の座標と、前記変数ベクトルの示す3軸の座標を中心とする球面との誤差を表し、前記変数行列の各成分と、前記変数ベクトルの各要素とを変数とする関数を、楕円面最適化関数としたとき、
前記楕円面最適化関数の変数の値を逐次更新することにより、前記楕円面最適化関数を最小化する解として、最適楕円面補正行列と、最適中心点の示す3軸の座標とを算出する、楕円面最適補正値生成部と、
を備え、
前記変数行列は対称行列である、
ことを特徴とする地磁気測定装置。
【請求項2】
前記楕円面最適補正値生成部が、前記最適楕円面補正行列と、前記最適中心点の示す3軸の座標とを算出したときに、
前記最適中心点の示す3軸の座標を、前記部品が発する磁界であるオフセットとして採用するとともに、
前記最適楕円面補正行列を、楕円面補正行列として採用し、
前記オフセットと、前記楕円面補正行列とを出力するオフセット採用部と、
前記3次元磁気センサから出力される磁気データの示す3軸の座標を、前記オフセットの示す3軸の座標から表した3次元のベクトルを、前記楕円面補正行列により変換することにより、地磁気の向きを算出する地磁気ベクトル計算部と、
を更に備えることを特徴とする、
請求項1に記載の地磁気測定装置。
【請求項3】
軟磁性材料を有する部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、
前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データを蓄積する蓄積部と、
を備える地磁気測定装置に用いられる地磁気測定方法であって、
3次元の変数ベクトルの示す3軸の座標を起点として前記磁気データの示す3軸の座標を表す3次元のベクトルを第1変数ベクトルとし、
前記第1変数ベクトルを、変数行列により変換して得られる3次元のベクトルを第2変数ベクトルとし、
前記第2変数ベクトルの示す3軸の座標を表すデータを変換後データとし、
複数の前記変換後データの各々が示す3軸の座標と、前記変数ベクトルの示す3軸の座標を中心とする球面との誤差を表し、前記変数行列の各成分と、前記変数ベクトルの各要素とを変数とする関数を、楕円面最適化関数としたとき、
前記楕円面最適化関数の変数の値を逐次更新することにより、前記楕円面最適化関数を最小化する解として、最適楕円面補正行列と、最適中心点の示す3軸の座標とを算出し、
前記変数行列は対称行列である、
ことを特徴とする地磁気測定方法。
【請求項4】
軟磁性材料を有する部品を備えた機器に組み込まれ、互いに直交する3方向の磁気成分をそれぞれ検出する3次元磁気センサと、
前記3次元磁気センサから、3軸の座標系において表現される3次元のベクトルデータとして順次出力される磁気データを蓄積する蓄積部と、
を備える地磁気測定装置に用いられる地磁気測定プログラムであって、
3次元の変数ベクトルの示す3軸の座標を起点として前記磁気データの示す3軸の座標を表す3次元のベクトルを第1変数ベクトルとし、
前記第1変数ベクトルを、変数行列により変換して得られる3次元のベクトルを第2変数ベクトルとし、
前記第2変数ベクトルの示す3軸の座標を表すデータを変換後データとし、
複数の前記変換後データの各々が示す3軸の座標と、前記変数ベクトルの示す3軸の座標を中心とする球面との誤差を表し、前記変数行列の各成分と、前記変数ベクトルの各要素とを変数とする関数を、楕円面最適化関数としたとき、
前記楕円面最適化関数の変数の値を逐次更新することにより、前記楕円面最適化関数を最小化する解として、最適楕円面補正行列と、最適中心点の示す3軸の座標とを算出する処理をコンピュータに実行させ、
前記変数行列は対称行列である、
ことを特徴とする地磁気測定プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate