JP6019585B2 - 端末装置 - Google Patents

端末装置 Download PDF

Info

Publication number
JP6019585B2
JP6019585B2 JP2012001603A JP2012001603A JP6019585B2 JP 6019585 B2 JP6019585 B2 JP 6019585B2 JP 2012001603 A JP2012001603 A JP 2012001603A JP 2012001603 A JP2012001603 A JP 2012001603A JP 6019585 B2 JP6019585 B2 JP 6019585B2
Authority
JP
Japan
Prior art keywords
center point
magnetic data
coordinates
ellipsoid
vector
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.)
Expired - Fee Related
Application number
JP2012001603A
Other languages
English (en)
Other versions
JP2013142555A (ja
JP2013142555A5 (ja
Inventor
伊吹 半田
伊吹 半田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2012001603A priority Critical patent/JP6019585B2/ja
Publication of JP2013142555A publication Critical patent/JP2013142555A/ja
Publication of JP2013142555A5 publication Critical patent/JP2013142555A5/ja
Application granted granted Critical
Publication of JP6019585B2 publication Critical patent/JP6019585B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measuring Magnetic Variables (AREA)

Description

本発明は、端末装置に関する。
近年、携帯電話機、PDA(Personal Digital Assistant)端末、PND(Portable Navigation Device)等の携帯機器や、自動車等の移動体に搭載され、地磁気を検出する3次元磁気センサが開発されている。一般に、3次元磁気センサは、磁界のベクトルを互いに直交する3方向の成分に分解してスカラー量として検知するための3つの磁気センサモジュールを備え、3つの磁気センサモジュールが各々出力するスカラー量を3つの成分とする3次元のベクトルデータを出力する。
3次元磁気センサが搭載される携帯電話等の端末装置は、着磁性を有する各種金属や、電気回路等、磁界を発生させる部品が備えられることが多い。この場合、3次元磁気センサが出力するベクトルデータは、地磁気を表すベクトルの他に、端末装置に搭載された部品が発する磁界等を表すベクトルも含む値となる。従って、地磁気の向きを正確に得るためには、3次元磁気センサが出力するベクトルデータから、端末装置の部品が発する内部磁界を表すベクトルを取り除く補正処理が必要となる。このように、検出対象である地磁気の正確な値を得るために、補正処理において、3次元磁気センサから出力されるデータから取り除かれる成分をオフセットと呼ぶ。
内部磁界は、端末装置の部品が発する磁界であり、端末装置に対して一定の方向を向き、一定の大きさを有する。内部磁界は、端末装置に搭載された3次元磁気センサから見た場合には、端末装置をどのような姿勢に変化させた場合であっても、一定の方向と一定の大きさを有するベクトルとして表される。
一方、地磁気は、磁極北に向かう水平成分と伏角方向の鉛直成分とを有する磁界であり、地面に対して一定の方向と一定の大きさとを有する一様な磁界である。従って、地面に対して端末装置の姿勢を変化させる場合には、端末装置から見た地磁気の方向も変化することになる。すなわち、端末装置に搭載された3次元磁気センサから見た場合、地磁気は、端末装置の姿勢の変化に伴い向きを変化させる一定の大きさのベクトルとして表される。
3次元磁気センサを上下左右方向に回転させて3次元的に大きく姿勢変化させつつ複数の磁気データを取得した場合、3次元磁気センサが順次出力する複数のベクトルデータの示す複数の座標は、内部磁界を表すベクトルの示す座標を中心点とし、地磁気を表すベクトルの大きさを半径とする球面近傍に分布する。
特許文献1には、このような地磁気及び内部磁界の性質を利用することで、3次元磁気センサの姿勢を変化させつつ取得した複数の磁気データに基づいて、内部磁界を表す一定の向き及び大きさを有するベクトルを算出し、この内部磁界を表すベクトルをオフセットとして出力データから取り除く補正処理を行うことで、正確な地磁気の向きを算出する方法が開示されている。
ところで、3次元磁気センサが搭載された端末装置の部品が、軟磁性材料を有する場合、3次元磁気センサから順次出力されるベクトルデータの示す複数の座標は、軟磁性材料が磁化される結果として発する磁界の影響により、球面近傍には分布せず、楕円面近傍に分布する。すなわち、軟磁性材料が発する磁界の影響が無ければ、球面近傍に分布するはずの複数の座標は、軟磁性材料が発する磁界の影響により、楕円面の主軸方向に伸縮するように移動する結果、球面と同一の中心点を有する楕円面近傍に分布することになる。このように、軟磁性材料が磁化される結果として発する磁界の影響により、3次元磁気センサから順次出力されるベクトルデータの示す複数の座標が楕円面近傍に分布する現象は、ソフトアイアン効果と呼ばれている。
ソフトアイアン効果が生じている場合、楕円面近傍に存在する座標に基づいて、地磁気の正確な向きを算出することはできない。地磁気の正確な向きを算出するためには、楕円面上の座標を、球面上の座標へと移動させる座標変換、すなわち、楕円面の中心点を起点として楕円面の主軸方向に伸縮するように移動させる座標変換を行う必要がある。このような、楕円面上の座標を球面上の座標へ変換する処理を、楕円補正と呼ぶ。楕円補正を行うことで算出される座標変換後の座標から、球面の中心点の示す座標を減算することにより、地磁気の向きを算出することができる。
非特許文献1及び非特許文献2には、ソフトアイアン効果が生じている場合に、3次元磁気センサから出力されるベクトルデータの示す楕円面上の座標を、球面上の座標に座標変換を行うための、座標変換行列を算出する方法が開示されている。
特開2007−240270号公報
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 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
しかし、正確なオフセットの値を算出するための演算は計算量が多い。また、楕円補正を行うための座標変換行列を算出するための演算も計算量が多い。従って、端末装置がこれらの演算を行う場合、当該端末装置は、大容量のメモリと高性能のCPUとを備えることが必要となる。また、端末装置がこれらの演算を行う場合、多くの電力が消費されるため、当該端末装置が、バッテリーで給電される携帯機器の場合、当該端末装置の長時間使用が困難になるという課題が存在した。
本発明は、上述した事情を鑑み、地磁気の向きを算出する際の端末装置における処理負荷を小さく抑えつつ、正確な地磁気の向きを算出することを解決課題とする。
上述した課題を解決するため、本発明に係る端末装置は、サーバ装置と通信を行う端末装置であって、3方向の磁気成分をそれぞれ検出し、検出値を3軸の座標系において表現されるベクトルデータである磁気データとして順次出力する3次元磁気センサと、前記3次元磁気センサから順次出力される前記磁気データを蓄積する蓄積部と、前記蓄積部に前記磁気データが第1規定数蓄積されたときに、前記第1規定数の前記磁気データを前記サーバ装置に送信し、前記サーバ装置が前記第1規定数の前記磁気データに基づいて算出した、前記磁気データを較正するためのベクトルであるオフセットを受信する端末側送受信部と、を備えることを特徴とする。
この発明に係る端末装置は、サーバ装置が算出したオフセットを用いて地磁気の向きを算出することが可能であるため、端末装置における処理負荷を小さく抑えることが可能となる。従って、大容量のメモリや高性能のCPU等を備えない簡易な端末装置であっても、正確な地磁気の向きを算出することが可能となる。
また、上述した端末装置、前記蓄積部に前記磁気データが、前記第1規定数よりも少ない第2規定数蓄積されたときに、前記座標系において前記第2規定数の前記磁気データの各々が示す座標により定められる球面の中心点である近似中心点の座標を算出する近似中心点算出部、を備え、前記オフセットの示す座標と前記近似中心点の座標との距離が所定の閾値よりも大きい場合、前記近似中心点の座標を示すベクトルによって前記オフセットを更新する、ことを特徴とする、ことが好ましい。
端末装置の部品の着磁状況が変化した場合、内部磁界の向き及び大きさが変化することがある。この場合、補正処理に用いるオフセットを、変化後の内部磁界の向き及び大きさを表すように更新しなければ、正確な地磁気の向きを算出することはできない。オフセットが、内部磁界が変化する前に3次元磁気センサから出力された磁気データに基づいて算出された場合、オフセットの示す座標と内部磁界の示す座標とが乖離するからである。
内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標は、内部磁界の向き及び大きさを表す。そして、サーバ装置が、内部磁界が変化する前に3次元磁気センサから出力された磁気データに基づいてオフセットを算出した場合、内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標と、オフセットの示す座標とは、乖離する。従って、オフセットの示す座標と、近似中心点の座標との距離が所定の閾値以下であるか否かを判定することで、内部磁界の変化の有無を判定することができる。
この態様に係る端末装置は、第2規定数の磁気データが蓄積部に蓄積されたときに、当該第2規定数の磁気データに基づいて近似中心点を算出する。そして、オフセットの示す座標と近似中心点の座標との距離が所定の閾値よりも大きいか否かを判定する。さらに、内部磁界が変化したと判定された場合には、変化後の内部磁界を表す近似中心点によりオフセットを更新する。すなわち、この態様に係る端末装置は、オフセットの示す座標と内部磁界の示す座標とが乖離した状態の継続を防止することができ、常に正確な地磁気の向きを算出することができる。
また、上述した端末装置は、前記蓄積部に前記磁気データが、前記第1規定数よりも少ない第2規定数蓄積されたときに、前記座標系において前記第2規定数の前記磁気データの各々が示す座標により定められる球面の中心点である近似中心点の座標を算出する近似中心点算出部、を備え、前記蓄積部は、前記オフセットの示す座標と前記近似中心点の座標との距離が所定の閾値よりも大きい場合、前記第1規定数の前記磁気データの蓄積を開始する、ことを特徴とすることが好ましい。
端末装置の部品の着磁状況が変化した場合、内部磁界の向き及び大きさが変化することがある。この場合、補正処理に用いるオフセットを、変化後の内部磁界の向き及び大きさを表すように更新しなければ、正確な地磁気の向きを算出することはできない。オフセットが、内部磁界が変化する前に3次元磁気センサから出力された磁気データに基づいて算出された場合、オフセットの示す座標と内部磁界の示す座標とが乖離するからである。
内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標は、内部磁界の向き及び大きさを表す。そして、サーバ装置が、内部磁界が変化する前に3次元磁気センサから出力された磁気データに基づいてオフセットを算出した場合、内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標と、オフセットの示す座標とは、乖離する。従って、オフセットの示す座標と、近似中心点の座標との距離が所定の閾値以下であるか否かを判定することで、内部磁界の変化の有無を判定することができる。
この態様に係る端末装置は、第2規定数の磁気データが蓄積部に蓄積されたときに、当該第2規定数の磁気データに基づいて近似中心点を算出する。そして、オフセットの示す座標と近似中心点の座標との距離が所定の閾値よりも大きいか否かを判定する。そして、距離が所定の閾値よりも大きい場合、内部磁界が変化した後に第1規定数の磁気データの蓄積を開始し、内部磁界が変化した後のオフセットをサーバ装置から取得できる。すなわち、この態様に係る端末装置は、オフセットの示す座標と内部磁界の示す座標とが乖離した状態の継続を防止することができ、常に正確な地磁気の向きを算出することができる。
また、上述した端末装置において、上述した端末装置と通信を行う前記サーバ装置は、前記端末装置から前記第1規定数の前記磁気データが供給されたとき、前記座標系において前記第1規定数の前記磁気データの各々が示す座標を近傍に有するように定められた最適楕円面の中心点の座標と、前記最適楕円面上の座標を前記最適楕円面の中心点を中心とする球面上の座標へと座標変換する最適楕円面補正行列とを算出する楕円面補正部と、前記最適楕円面の中心点を応答中心点として採用するとともに、前記最適楕円面補正行列を応答補正行列として採用し、前記応答中心点と前記応答補正行列とからなる応答情報を生成するデータ制御部と、前記応答情報を前記端末装置に送信するサーバ側送受信部と、を備え、前記端末側送受信部は、前記サーバ側送受信部が送信した前記応答情報を受信する、ことを特徴とすることが好ましい。
ソフトアイアン効果が生じている場合、複数の磁気データの示す座標は、楕円面近傍に分布するため、地磁気の向きを算出するためには、楕円面近傍に分布する座標を、当該楕円面と同一の中心点を有する球面近傍に分布する座標へと変換する座標変換(つまり、楕円補正)を行う必要がある。このような座標変換を行うための行列を算出するためには、複数の磁気データを近傍に有し、複数の磁気データの分布形状を正確に表現する楕円面の形状を特定することが必要となる。しかしこのような楕円面の形状を特定する演算は、計算量が多い。
この態様によれば、複数の磁気データの分布形状を正確に表現する最適楕円面の形状を特定し、最適楕円面の中心点である最適中心点と、最適楕円面上の座標から最適中心点を中心とする球面上の座標への座標変換を表す最適楕円面補正行列とを、サーバ装置において算出する。そして、最適中心点の座標及び最適楕円面補正行列を、端末装置に送信する。従って、端末装置が、大容量のメモリや高性能のCPU等を備えない簡易な機器である場合であっても、当該端末装置が検出した磁気データに基づいて、正確な地磁気の向きを算出することが可能となる。
また、上述した端末装置において、上述した端末装置と通信を行う前記サーバ装置は、前記座標系において前記第1規定数の前記磁気データの各々が示す座標を近傍に有するように定められた球面の中心点の座標を算出する中心点算出部と、前記第1規定数の前記磁気データを表面近傍に有するように定められた立体の形状と球面の形状との相違の程度を示す歪評価値を算出し、前記歪評価値が歪許容値以下であるか否かを判定する歪判定部と、を更に備え、前記データ制御部は、前記歪判定部における判定結果が肯定である場合、前記中心点算出部が算出した中心点を応答中心点として採用するとともに、単位行列を応答補正行列として採用し、前記歪判定部における判定結果が否定である場合、前記最適楕円面の中心点を応答中心点として採用するとともに、前記最適楕円面補正行列を応答補正行列として採用することを特徴とすることが好ましい。
この態様によれば、複数の磁気データの示す座標の分布形状を球面と看做すことができるか否かを判定する歪判定部を有する。従って、ソフトアイアン効果が生じている場合、すなわち、複数の磁気データの示す座標が球面とは異なる形状の楕円面近傍に分布する場合と、ソフトアイアン効果が生じていない場合、すなわち、複数の磁気データの示す座標が球面近傍に分布する場合とを、区別することができる。そして、ソフトアイアン効果が生じていない場合、サーバ装置は、最適中心点の座標と最適楕円面補正行列とを算出することなく、応答情報を生成することが可能であるため、サーバ装置の処理負荷を軽減させることが可能となる。
本発明の第1実施形態に係る地磁気測定システムの構成を示すブロック図である。 3次元磁気センサが測定する磁界を説明する概念図である。 地磁気と内部磁界とについて説明する概念図である。 地磁気と内部磁界とについて説明する概念図である。 着磁磁界について説明する概念図である。 着磁磁界について説明する概念図である。 ソフトアイアン効果について説明する概念図である。 楕円面補正行列について説明する概念図である。 第1実施形態に係る地磁気測定システムの構成を示すブロック図である。 第1実施形態に係る地磁気測定システムの機能を説明するための機能ブロック図である。 第1実施形態に係る地磁気測定システムのオフセットの採用について説明する説明図である。 第1実施形態に係る端末装置の動作を表すフローチャートである。 第1実施形態に係る端末装置の動作の詳細を表すフローチャートである。 第1実施形態に係る端末装置の動作の詳細を表すフローチャートである。 第1実施形態に係るサーバ装置の動作を表すフローチャートである。 第1実施形態に係る楕円面初期補正値生成部の機能を説明するための機能ブロック図である。 第1楕円面、第2楕円面、及び第3楕円面について説明する概念図である。 初期楕円面補正行列について説明する概念図である。 第2の条件について説明する概念図である。 楕円補正において回転が発生する場合について説明する概念図である。 本発明の第2実施形態に係る地磁気測定システムの構成を示すブロック図である。 第2実施形態に係るサーバ装置の機能を説明するための機能ブロック図である。 地磁気、内部磁界、着磁磁界、及び、外部磁界について説明する概念図である。 外部磁界について説明する概念図である。 外部磁界について説明する概念図である。 第2実施形態に係るサーバ装置の動作を表すフローチャートある。 中心点算出処理を説明する概念図である。 磁気データ分布判定処理を説明する概念図である。 磁気データ分布判定処理を説明する概念図である。 歪判定処理を説明する概念図である。 歪判定処理を説明する概念図である。 歪判定処理を説明する概念図である。 変形例10に係る地磁気測定システムのオフセットの採用について説明する説明図である。 変形例10に係る端末装置の動作の詳細を表すフローチャートである。 変形例10に係る端末装置の動作の詳細を表すフローチャートである。
<A.第1実施形態>
以下、本発明の第1実施形態に係る地磁気測定システムについて説明する。図1は、第1実施形態に係る地磁気測定システムSYSの構成を示すブロック図である。
図1に示すように、第1実施形態に係る地磁気測定システムSYSは、複数の端末装置1と、サーバ装置SVとを備える。複数の端末装置1の各々は、ネットワークNWを介して、サーバ装置SVと接続される。各端末装置1は、磁界を検出し、磁気データを出力する3次元磁気センサを備える(図9(A)参照)。地磁気測定システムSYSは、端末装置1に備えられた3次元磁気センサからの出力に基づいて、当該端末装置1から見た地磁気の向きを算出する。
以下では、地磁気測定システムSYSによる地磁気の向きの算出方法についての説明を行う前提として、まず、各端末装置1が備える3次元磁気センサが検出する磁界の概要について説明する。
[1. 3次元磁気センサが検出する磁界の概要]
本実施形態では、3次元磁気センサが検出する磁界として、測定対象である地磁気の他に、3次元磁気センサが搭載される機器に備えられる部品が発する磁界の存在を想定する。具体的には、部品が発する磁界として、内部磁界、及び着磁磁界の存在を想定する。
以下、図2乃至図6を用いて、本実施形態において想定するこれら3種類の磁界の概要、及び、これらの磁界を3次元磁気センサが検出した場合に3次元磁気センサから出力されるベクトルデータについて説明する。
図2は、本実施形態に係る地磁気測定システムSYSの測定対象である地磁気Bg、3次元磁気センサの搭載された端末装置1が備える部品2が発する内部磁界Bi、及び、部品2が発する着磁磁界Bmについて説明する図である。
地磁気Bgは、磁極北に向かう一様な向き及び大きさを有する磁界である。地磁気Bgの向き及び大きさは、厳密には地域によって異なるが、例えば、異なる都市に移動する等の大きな移動をしない場合には、一様な向き及び大きさを有する。
内部磁界Biは、端末装置1に備えられた部品2の発する磁界のうち、端末装置1から見て一定の向き及び一定の大きさを有する磁界である。すなわち、端末装置1の姿勢がどのように変化しても、内部磁界Biは、3次元磁気センサ60によって、一定の向き及び大きさを有する磁界として検知される。
着磁磁界Bmは、端末装置1に備えられた部品2の発する磁界のうち、端末装置1の姿勢の変化等に伴って、向き及び大きさを変化させる磁界である。図2に示すように、部品2は、軟磁性材料21を備える。軟磁性材料21は、端末装置1の外部の物体から発せられる磁界(すなわち、地磁気Bg)の影響により磁化される。詳細は後述するが、軟磁性材料21が地磁気Bgにより磁化される結果発する磁界は、端末装置1の姿勢の変化に伴い、向き及び大きさを変化させる。また、軟磁性材料21が地磁気Bgにより磁化される結果発する磁界は、端末装置1の姿勢の他に、軟磁性材料21の材質、大きさ、形状等に依存して、向き及び大きさが定められる。着磁磁界Bmは、このような、軟磁性材料21が地磁気Bgにより磁化される結果として、軟磁性材料21が発する磁界である。すなわち、着磁磁界Bmは、端末装置1から見た地磁気Bgの向きや、軟磁性材料21の材質、大きさ、形状等に依存して、向き及び大きさを変化させる磁界である。
説明の便宜上、図2に示すような地上座標系Σ及びセンサ座標系Σを導入する。図2に記載された各ベクトルの左上に付された添字Gは、当該ベクトルが地上座標系Σにおいて表現されたベクトルであることを意味する。
地上座標系Σは、地上に固定された座標系であり、地上の任意の一点を原点とし、互いに直交する3つの方向、例えば、東、北、及び鉛直上向きを、それぞれx軸、y軸、及びz軸とする座標系である。
センサ座標系Σは3次元磁気センサ60に固定された座標系であり、3次元磁気センサ60の有する3つの各々のセンサモジュールの出力する値を、それぞれ、x軸(第1軸)、y軸(第2軸)、z軸(第3軸)上にプロットするように設けられた座標系である。すなわち、3次元磁気センサ60が出力する磁気データは、センサ座標系Σのベクトルデータとして表現される。なお、図2に示す姿勢μは、地上座標系Σにおけるセンサ座標系Σの各軸の向き(すなわち、地上座標系Σにおける、3次元磁気センサ60の向き)を表す。
以下において、姿勢μを変化させた場合、地上座標系Σ及びセンサ座標系Σの各々において、内部磁界Bi及び着磁磁界Bmの向きがどのように変化するかについて説明する。
まず、図3及び図4を参照しながら、地上座標系Σ及びセンサ座標系Σにおいて、内部磁界Bi及び地磁気Bgがどのように表されるかについて説明する。なお、図3及び図4においては、簡単のために、端末装置1は軟磁性材料21を備えず、着磁磁界Bmが存在しない場合を想定する。
図3は、内部磁界Bi及び地磁気Bgの向き及び大きさを、地上座標系Σにおいて表した図である。端末装置1の姿勢μが、姿勢μから姿勢μに変化した場合、内部磁界Biは、大きさは一定であるが、向きは姿勢μの変化に伴い変化する。一方、地磁気Bgの向き及び大きさは一定である。
図4は、内部磁界Bi及び地磁気Bgの向き及び大きさを、センサ座標系Σにおいて表現した図である。具体的には、図4は、端末装置1の姿勢μをμ〜μと変化させつつ磁界を測定した場合に、3次元磁気センサ60が出力するN(第1規定数)個の磁気データq〜qの示す座標を、センサ座標系Σにおいてプロットした図である(Nは精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)。ここで、図4に記載された各ベクトルの左上に付された添字Sは、当該ベクトルがセンサ座標系Σにおいて表されたベクトルであることを意味する。
センサ座標系Σにおいて、内部磁界Biは、一定の向き及び一定の大きさを持つベクトルBi(センサ座標系Σの原点から中心点cOGへと向かうベクトル)として表現される。一方、地磁気Bgは、大きさは一定であるが、向きは3次元磁気センサ60の姿勢μに伴い変化する。つまり、地磁気Bgは、端末装置1の姿勢μに依存した向きの、一定の大きさのベクトルBg(μ)として表現される。従って、ベクトルBg(μ)の起点を中心点cOGに配置して姿勢μを変化させた場合、ベクトルBg(μ)の終点は、中心点cOGを中心とし、地磁気Bgの大きさを半径とする、球面S上の座標を示す。
センサ座標系Σにおいて、複数の磁気データ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を示すベクトルとして表される。
端末装置1が軟磁性材料21を備える場合、地磁気Bgの影響を受けて軟磁性材料21が磁化される結果、軟磁性材料21は着磁磁界Bmを発する。端末装置1の姿勢μを変化させた場合、着磁磁界Bmの向き及び大きさが、地上座標系Σ及びセンサ座標系Σの各々においてどのように変化するかについて、図5及び図6を参照しながら説明する。
図5は、地上座標系Σにおける、着磁磁界Bmの向き及び大きさ例示した図である。図5は、端末装置1が、センサ座標系Σのx軸に平行な長辺211a及び211bと、センサ座標系Σのy軸に平行な短辺212a及び212bとを有する直方体の軟磁性材料21を備え、軟磁性材料21が、センサ座標系Σのx軸上に位置するように配置されている場合を例示している。
前述の通り、着磁磁界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とに依存する。例えば、図5の場合、3次元磁気センサ60は(センサ座標系Σにおいて)、着磁磁界Bm(μ)を、地磁気Bg(μ)と同じ方向を向いた磁界として検出する。また、3次元磁気センサ60は(センサ座標系Σにおいて)、着磁磁界Bm(μ)を、地磁気Bg(μ)とは逆の方向を向いた磁界として検出する。
なお、軟磁性材料21は、地磁気Bgの他に、部品2が発するセンサ座標系Σから見て一定の向き及び大きさの磁界によっても磁化される。センサ座標系Σから見て一定の向き及び大きさの磁界により磁化される結果として軟磁性材料21が発する磁界は、端末装置1の姿勢μが変化した場合であっても一定の方向及び大きさを有する。このような、軟磁性材料21が磁化された結果発する磁界のうち、姿勢μが変化しても一定の向き及び大きさを有する磁界は、前述した内部磁界Biに包含されるものとする。
図6は、端末装置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次元磁気センサの測定する複数の磁気データの示す座標が球面近傍に分布せず、楕円面近傍に分布する。このような、軟磁性材料が磁化された結果生じる磁界の影響により、複数の磁気データの示す座標が楕円面近傍に分布する現象は、ソフトアイアン効果と呼ばれている。
ソフトアイアン効果が生じる場合に、3次元磁気センサ60が出力する複数の磁気データq〜qの示す座標について、図7を参照しつつ説明する。
図7は、3次元磁気センサ60の姿勢μをμ〜μ(Nは精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)と変化させつつ磁界を測定した場合に、3次元磁気センサ60が出力するN個の磁気データq〜qの示す座標を、センサ座標系Σにおいてプロットした図である。図7は、ソフトアイアン効果により、複数の磁気データq〜qの示す座標が、中心点cOGを中心とする楕円面V上に分布する場合を想定している。なお、図7では、3次元磁気センサ60の測定誤差を考慮していないが、測定誤差を考慮する場合、複数の磁気データq〜qの示す座標は、楕円面V上には分布せず、楕円面Vの近傍に確率的に分布する。つまり、楕円面Vは、複数の磁気データq〜qの示す座標との誤差を最小化するようにして定められる楕円面である。
楕円面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(μ)の向きを正確に求めることはできない。
そこで、本実施形態では、図8に示すように、楕円面V上の座標を、半径1の球面S上の座標へと変換する楕円面補正行列Tを算出し、楕円面補正行列Tによって、磁気データqの示す座標を、変換後磁気データsにより表される球面S上の座標へと変換する。中心点cOGから変換後磁気データsの表す座標を示すベクトルBs(μ)は、地磁気を表すベクトルBg(μ)と同じ方向を向く。従って、変換後磁気データsの示す座標から、中心点cOGの示す座標を減算することにより、地磁気を表すベクトルBg(μ)の向きを求めることができる。
このように、地磁気Bgの向きを算出するために、楕円面近傍に分布する複数の磁気データの示す座標を、当該楕円面と同一の中心点を有する半径1の球面近傍に分布する複数の座標へと変換する処理を、楕円補正と呼ぶ。
楕円面補正行列Tが行う、楕円面V上の磁気データqの示す座標から、球面S上の変換後磁気データsの示す座標への座標変換(楕円補正)は、以下の式(1.a)に表される。
ここで、楕円面補正行列Tは、以下の式(1.b)に示される3行3列の対称行列である。また、式(1.c)に示される3次元の変数ベクトルqは、磁気データqの座標を表すための変数ベクトルであり、式(1.d)に示される3次元の変数ベクトルsは、変換後磁気データsの座標を表すための変数ベクトルであり、式(1.e)に示される3次元の変数ベクトルcは、中心点cOGの座標(すなわち、オフセットcOFF)を表すための変数ベクトルである。
なお、式(1.a)において、ベクトル(q−c)は、楕円面Vの中心点cOGをセンサ座標系Σの原点に平行移動させて得られる楕円面上の座標を示し、ベクトル(s−c)は、座標系Σの原点を中心とする半径1の球面上の座標を示す。
Figure 0006019585
前述の通り、楕円面補正行列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は、正定値行列である。
ところで、図8に示すように、中心点cOGから変換後磁気データsにより表される座標を示すベクトルBs(μ)と、地磁気を表すベクトルBg(μ)との間には、ずれ角ψが生じる場合がある。この場合、変換後磁気データsから、ベクトルBg(μ)の正確な向きを算出することはできない。
しかし、ずれ角ψは、軟磁性材料21と3次元磁気センサ60との相互位置関係(すなわち、図5に示すベクトルPmの向き及び大きさ)に依存する値である。従って、ベクトルPmよりずれ角ψを特定することが可能であり、特定されたずれ角ψと、複数の変換後磁気データsとから、正確な地磁気Bgの向きを算出することが可能である。また、軟磁性材料21の配置を工夫することにより、ずれ角ψを小さく抑えることも可能である。
以下において、楕円面Vの形状を求め、楕円面補正行列Tを算出することにより楕円補正を行い、正確な地磁気Bgの方向を算出する方法について述べる。
[2. 機器構成及びソフトウェア構成]
図9(A)は、本発明の第1実施形態に係る端末装置1の構成を示すブロック図である。
端末装置1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM20、端末側磁気データ処理プログラム70等の各種プログラム及びデータを記憶したROM30、通信を実行する通信部40、画像を表示する表示部50、及び、磁気を検出して磁気データを出力する3次元磁気センサ60を備える。
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成分によって表す、センサ座標系Σ上のベクトルデータである。
RAM20は、CPU10の作業領域として用いられる。この作業領域には、3次元磁気センサ60が出力する磁気データを格納するための記憶領域(第1記憶領域Area1及び第2記憶領域Area2)と、各種管理情報を格納するための領域とを含む。
通信部40は、ネットワークNWを介してサーバ装置SVと通信するための通信インタフェースである。CPU10が端末側磁気データ処理プログラム70を実行することにより、端末装置1はサーバ装置SVとの通信を開始し、3次元磁気センサ60が出力する磁気データをサーバ装置SVに送信するとともに、サーバ装置SVから送信される応答情報を受信する。すなわち、CPU10が端末側磁気データ処理プログラム70を実行することで、端末装置1は、3次元磁気センサ60が出力する磁気データに基づいて地磁気Bgの向きを算出する地磁気測定システムSYSの一部として機能する。
表示部50は、地磁気測定システムSYSが算出した地磁気Bgの向きを、方位情報として矢印等により表示する。なお、端末側磁気データ処理プログラム70は、地図アプリケーション等との連携を想定するものであってもよく、表示部50は、地磁気の向きを示す方位情報である矢印等を地図上に表示してもよい。
図9(B)は、本発明の第1実施形態に係るサーバ装置SVの構成を示すブロック図である。サーバ装置SVは、各種の構成要素とバスを介して接続され装置全体を制御するCPU910、CPU910の作業領域として機能するRAM920、ブートプログラムなどを記憶したROM930、ネットワークNWを介して各端末装置1と通信するための通信部940、及び、サーバ側磁気データ処理プログラム960等の各種プログラム及びデータを記憶したハードディスク950、を備える。
RAM920は、CPU910の作業領域として用いられる。この作業領域には、端末装置1から送信された磁気データを格納するための第3記憶領域Area3と、各種管理情報を格納するための領域とを含む。なお、これらの作業領域は、ハードディスク950上に設けられるものであってもよい。
図10は、地磁気測定システムSYSの機能を説明するための機能ブロック図である。具体的には、図10は、地磁気測定システムSYSの有する機能のうち、端末装置1のCPU10が端末側磁気データ処理プログラム70を実行することにより実現される機能と、サーバ装置SVのCPU910がサーバ側磁気データ処理プログラム960を実行することにより実現される機能とを表す。
なお、図10では、記載の便宜上、端末装置1のCPU10が端末側磁気データ処理プログラム70を実行することにより実現される機能に対して、符号「1」を付与し、サーバ装置SVのCPU910がサーバ側磁気データ処理プログラム960を実行することにより実現される機能に対して、符号「SV」を付与している。
地磁気測定システムSYSのうち、端末装置1は、磁気データqを複数個蓄積する蓄積部110、サーバ装置SVとの通信を行う端末側送受信部120、3次元磁気センサ60から順次出力される磁気データqに基づいて地磁気Bgの向きを算出する地磁気算出部130、及び、蓄積部110に蓄積された複数の磁気データに基づいて近似中心点cSBの座標を算出する近似中心点算出部140、を備える。
また、地磁気測定システムSYSのうち、サーバ装置SVは、端末装置1との通信を行うサーバ側送受信部720、端末装置1との間で送受信される情報を管理するデータ制御部710、及び、端末装置1から送信された複数の磁気データに基づいて最適中心点cEOPの座標及び最適楕円面補正行列TOPを算出する楕円面補正部200、を備える。
ここで、最適中心点cEOPとは、端末装置1から送信された複数の磁気データの各々の示す座標との誤差を最小化するように定められる楕円面である最適楕円面VEOPの中心点である。また、最適楕円面補正行列TOPとは、最適楕円面VEOP上の座標を、最適中心点cEOPを中心とする球面SEOP上の座標へと変換するための、3行3列の対称行列である。
蓄積部110は、第1記憶部BU1と第2記憶部BU2とを備え、端末側送受信部120、地磁気算出部130、及び近似中心点算出部140に対して入力される情報と、これらが出力する情報とを管理する。
具体的には、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqを第1記憶部BU1に格納する。そして、蓄積部110は、第1記憶部BU1にN個の磁気データq〜qが蓄積され、当該N個の磁気データq〜qを端末側送受信部120が取得したときに、第1記憶部BU1に格納されたデータを破棄する。前述したように、Nは、精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す「9」以上の自然数である。
ここで、第1記憶部BU1は、RAM20の第1記憶領域Area1により形成され、第2記憶部BU2は、RAM20の第2記憶領域Area2により形成される。
なお、本実施形態において、蓄積部110は、第1記憶部BU1に蓄積されたN個の磁気データq〜qを出力した場合、当該N個の磁気データq〜qの全部を破棄するが、古い方から一定割合のデータのみを破棄してもよい。
本実施形態において、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqの全てを第1記憶部BU1に格納するが、本発明はこのような態様に限定されるものではない。例えば、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqの示す座標と、蓄積部110に直前に格納された磁気データqi−1の示す座標との距離が所定値よりも大きい場合に限り、磁気データqを第1記憶部BU1に格納してもよい。また、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqの示す座標と、蓄積部110に既に格納されている磁気データq〜qi−1の各々の示す座標との距離が所定値よりも大きい場合に限り、磁気データqを第1記憶部BU1に格納してもよい。
また、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqが、以下の式(2.a)を満たす場合、当該磁気データqを第2記憶部BU2に格納する。なお、以下においては、磁気データqのうち、第2記憶部BU2に格納されている磁気データを、「q」と表す場合がある。
ここで、磁気データqの示す座標は、以下の式(2.b)に示す3次元のベクトルで表される。また、M(第2規定数)を、0<M≦Nを満たす自然数とし、「k」を、1≦k<Mを満たす自然数とする。本実施形態において、Mは「4」である。また、以下の式(2.a)に現れる「qBn」は、3次元磁気センサ60が磁気データqを出力したときに、第2記憶部BU2に格納されている磁気データの各々が示す座標であり、以下の式(2.c)に示す3次元のベクトルで表される。なお、Δqは、0よりも大きな所定の値である。すなわち、以下の式(2.a)は、3次元磁気センサ60から出力された磁気データqの示す座標と、第2記憶部BU2に格納されているk個の磁気データqB1〜qBkの各々の示す座標とのそれぞれ距離の全てが、所定の値Δqよりも大きいという条件を表す。当該条件を、以下では「磁気データ距離条件」と称する。このように、蓄積部110は、磁気データqの示す座標が磁気データ距離条件を充足する場合に、当該磁気データqを第2記憶部BU2に格納する。
また、蓄積部110は、第2記憶部BU2にM個の磁気データqB1〜qBMが蓄積され、当該M個の磁気データqB1〜qBMを近似中心点算出部140が取得したときに、第2記憶部BU2に格納されたデータを破棄する。
なお、本実施形態では、蓄積部110は、「磁気データ距離条件」を充足する場合に、3次元磁気センサ60が出力する磁気データqを第2記憶部BU2に格納するが、当該条件を充足するか否かを判定すること無く、第2記憶部BU2に格納してもよい。
Figure 0006019585
また、蓄積部110は、応答情報RESがサーバ装置SVから端末側送受信部120に供給されたときに、当該応答情報RESを格納する。本実施形態において、応答情報RESは、応答中心点cSAの座標、及び、応答補正行列Tを含む情報である。
さらに、蓄積部110は、後述する各種カウンタ及び各種フラグ等の管理情報を格納する。
端末側送受信部120は、蓄積部110の第1記憶部BU1にN個の磁気データq〜qが蓄積されたときに、これらN個の磁気データq〜qを取得し、サーバ装置SVに対して送信する。また、端末側送受信部120は、サーバ装置SVから供給される応答情報RESを受信して、蓄積部110に出力する。
近似中心点算出部140は、蓄積部110の第2記憶部BU2にM個の磁気データqB1〜qBMが蓄積されたときに、当該M個の磁気データqB1〜qBMの各々が示す座標を表面上に有する球面(近似中心点算出用球面)Sの中心点である近似中心点cSBの座標を算出する。
近似中心点cSBの座標の算出は、公知の方法を適宜適用して算出すればよい。近似中心点cSBの座標を以下の式(3.b)に示す3次元のベクトルで表す。このとき、例えば、以下の式(3.a)に示す連立一次方程式の解として、近似中心点cSBの座標を算出することができる。なお、式(3.a)に現れる変数cSBwは、計算上用いられる変数である。
Figure 0006019585
地磁気算出部130は、3次元磁気センサ60から出力される磁気データqの示す座標に対して、楕円面補正行列TとオフセットcOFFとを用いた楕円補正を施し、センサ座標系Σにおける地磁気Bgの向き(厳密には、ベクトルBs(μ)の向き)を算出する。
地磁気算出部130は、オフセット採用部131と、地磁気ベクトル計算部132とを備える。
オフセット採用部131は、応答中心点cSAの座標を表すベクトルまたは近似中心点cSBの座標を表すベクトルのうちいずれか一方を、オフセットcOFFとして採用する。そして、オフセット採用部131は、応答中心点cSAの座標を表すベクトルをオフセットcOFFとして採用する場合、応答補正行列Tを楕円面補正行列Tとして採用する。一方、オフセット採用部131は、近似中心点cSBの座標を表すベクトルをオフセットcOFFとして採用する場合、3行3列の単位行列Iを楕円面補正行列Tとして採用する。
地磁気ベクトル計算部132は、式(1.a)に示すように、3次元磁気センサ60から出力される磁気データqに対して、楕円面補正行列T及びオフセットcOFFを用いた楕円補正を行い、地磁気Bgの向きを算出する。
なお、式(1.a)から明らかなように、オフセット採用部131が楕円面補正行列Tとして、単位行列Iを採用する場合、地磁気Bgの向きは、単に、磁気データqの示す座標から近似中心点cSBの座標を減算することで算出される。すなわち、この場合、地磁気ベクトル計算部132は、実質的には楕円補正を行わず、単なるベクトルの減算処理により地磁気Bgの向きを算出する。
サーバ側送受信部720は、端末装置1から送信されるN個の磁気データq〜qを受信して、これをデータ制御部710に格納する。また、サーバ側送受信部720は、データ制御部710が応答情報RESを生成したとき、当該応答情報RESを取得し、端末装置1に対して送信する。なお、応答情報RESが、ある端末装置1から受信したN個の磁気データq〜qに基づいて算出された場合、サーバ側送受信部720は、当該ある端末装置1に対して、当該応答情報RESを送信する。
データ制御部710は、サーバ側送受信部720及び楕円面補正部200に対して入力する情報と、これらが出力する情報とを管理するとともに、応答情報RESを生成する。
具体的には、データ制御部710は、サーバ側送受信部720が出力する複数の磁気データq〜qを保持する。
また、データ制御部710は、楕円面補正部200が最適中心点cEOPの示す座標及び最適楕円面補正行列TOPを算出したとき、最適中心点cEOPを応答中心点cSAとして採用するとともに、最適楕円面補正行列TOPを応答補正行列Tとして採用する。そして、データ制御部710は、応答中心点cSAの示す座標及び応答補正行列Tを要素とする応答情報RESを生成する。
楕円面補正部200は、楕円面初期補正値生成部300と、楕円面最適補正値生成部400とを備える。
楕円面初期補正値生成部300は、データ制御部710に格納される複数の磁気データq〜qに基づいて初期中心点cE0の座標及び初期楕円面補正行列Tを算出する。ここで、初期中心点cE0とは、複数の磁気データq〜qの示す座標を近傍に有する初期楕円面VE0の中心点である。また、初期楕円面補正行列Tとは、初期楕円面VE0上の座標を、初期中心点cE0を中心とする球面SE0上の座標へと変換するための3行3列の対称行列である。なお、初期中心点cE0及び初期楕円面補正行列Tの具体的な算出方法については後述する。
楕円面最適補正値生成部400は、楕円面初期補正値生成部300が算出する初期中心点cE0の座標及び初期楕円面補正行列Tに基づいて、複数の磁気データq〜qの各々が示す座標と楕円面との誤差を最小化する最適楕円面VEOPの中心点である最適中心点cEOPの座標と、最適楕円面VEOP上の座標から最適中心点cEOPを中心点に有する球面SEOP上の座標への座標変換を表す最適楕円面補正行列TOPとを算出する。
複数の磁気データq〜qの示す座標と最適楕円面VEOPとの誤差が最小化され「0」となる場合、楕円面Vと最適楕円面VEOPとは一致し、最適中心点cEOPと中心点cOG(すなわち、内部磁界Biの示す座標)とは一致する。なお、最適中心点cEOP及び最適楕円面補正行列TOPの算出方法の詳細については後述する。
[3. オフセットの更新]
図11は、オフセット採用部131が採用するオフセットcOFFについて説明するための説明図である。具体的には、図11は、オフセット採用部131が採用するオフセットcOFFと、3次元磁気センサ60が出力する磁気データq、サーバ装置SVから供給される応答中心点cSA、及び、近似中心点算出部140が算出する近似中心点cSBとの関係を示している。
なお、この図においては、簡単のために、蓄積部110が複数の磁気データqB1〜qBMを蓄積するための条件である「磁気データ距離条件」を考慮しない。すなわち、この図において、蓄積部110は、3次元磁気センサ60がM個の磁気データq〜qを出力したときに、これらを磁気データqB1〜qBMとして蓄積することを前提とする。また、この図においては、簡単のために、端末装置1とサーバ装置SVとの間の通信時間、サーバ装置SVにおける応答中心点cSAの算出時間、等は考慮しない。すなわち、この図において、サーバ装置SVは、3次元磁気センサ60がN個の磁気データq〜qを出力したら、直ちに応答中心点cSAを算出し、これを端末装置1に供給するものと仮定する。
図11に示すように、オフセット採用部131は、CPU10が端末側磁気データ処理プログラム70を実行した後、サーバ装置SVが応答中心点cSAを供給されるまでの間において、近似中心点算出部140が算出する近似中心点cSBをオフセットcOFFとして採用する(図11(A))。なお、オフセット採用部131は、オフセットcOFFとして近似中心点cSBの座標を示すベクトルが採用されているときに、近似中心点算出部140が新たに近似中心点cSBを算出した場合、新たに算出された近似中心点cSBの座標を示すベクトルにより、オフセットcOFFを更新する(図11(B))。その後、オフセット採用部131は、サーバ装置SVから応答中心点cSAが供給された場合、応答中心点cSAの座標を示すベクトルにより、オフセットcOFFを更新する(図11(C))。オフセットcOFFとして応答中心点cSAの座標を示すベクトルが採用されている場合、オフセット採用部131は、近似中心点算出部140が新たに近似中心点cSBを算出しても、当該近似中心点cSBによってオフセットcOFFを更新することは無いが、サーバ装置SVから新たな応答中心点cSAが供給されたときには、当該新たに供給された応答中心点cSAの座標を示すベクトルにより、オフセットcOFFを更新する(図11(D))。
上述の通り、内部磁界Biは、通常、端末装置1の姿勢をどのように変化させても、当該端末装置1から見て(つまり、センサ座標系Σにおいて)一定の向き及び大きさを有する。しかし、端末装置1の内部状態が変化した場合(例えば、端末装置1に搭載された部品を流れる電流の大きさが変化した場合や、端末装置1に搭載された部品の着磁状況が変化した場合)、センサ座標系Σにおける内部磁界Biの向きや大きさが変化することがある。地磁気Bgの向きは、3次元磁気センサ60が出力する磁気データqの示す座標から、内部磁界を示すベクトルBiを表すオフセットcOFFを減算する補正処理を施すことで、算出される。従って、正確な地磁気Bgの向きを算出するためには、オフセットcOFFが内部磁界を示すベクトルBiを正確に表している必要がある。
そこで、本実施形態に係る端末装置1は、近似中心点算出部140において、内部磁界Biが変化したか否かを判定し、内部磁界Biが変化したと判定された場合には、オフセット採用部131において、オフセットcOFFを、変化後の内部磁界Biを表す値に更新する。
上述したように、近似中心点cSBは、M個の磁気データqB1〜qBMに基づいて算出される。従って、内部磁界Biが変化した後に取得した磁気データqB1〜qBMを用いて算出された近似中心点cSBの座標は、変化後の内部磁界を表すベクトルBiの示す座標であると看做すことができる。また、内部磁界Biの向き及び大きさが大きく変化した場合、変化前の磁気データqに基づいて算出されたオフセットcOFFの示す座標と、変化後の磁気データqに基づいて算出された近似中心点cSBの示す座標との距離は、大きいものとなる。
そこで、本実施形態に係る近似中心点算出部140は、以下の式(4.a)に示すように、近似中心点算出部140が算出する近似中心点cSBの座標と、オフセット採用部131が採用しているオフセットcOFFの示す座標との距離が、所定の閾値ΔcOFFよりも大きい場合、内部磁界Biが変化したものと判定する。ここで、式(4.a)に現れるオフセットcOFFは、以下の式(4.b)に示す3次元のベクトルである。
一方、本実施形態に係る近似中心点算出部140は、当該近似中心点cSBの座標と、当該オフセットcOFFの示す座標との距離が、所定の閾値ΔcOFF以下である場合、内部磁界Biが変化しなかったものと判定する。
なお、以下では、近似中心点算出部140が算出する近似中心点cSBの座標と、オフセット採用部131が採用しているオフセットcOFFの示す座標との距離が所定の閾値ΔcOFF以下であるという条件を、「オフセット距離条件」と称する。すなわち、本実施形態では、近似中心点cSBとオフセットcOFFとが、オフセット距離条件を充足するか否かを判定することにより、内部磁界Biの変化の有無を判断する。
MはNに比べて小さい値であるため、応答中心点cSAを用いて内部磁界Biの変化を判定する場合と比較して、短時間で内部磁界Biの変化を把握することが可能となる。
Figure 0006019585
図11に示すように、内部磁界Biが変化したと判定された場合、オフセット採用部131は、近似中心点算出部140が算出した近似中心点cSBの座標を示すベクトルにより、オフセットcOFFを更新する(図11(E))。これにより、内部磁界Biが変化しても、変化後の内部磁界を表すベクトルBiの示す座標を正確に表す値に、オフセットcOFFを更新することができる。
なお、内部磁界Biが変化し、近似中心点cSBの座標を示すベクトルによりオフセットcOFFを更新した後は、オフセット採用部131は、図11(B)〜(D)と同様に動作する。すなわち、オフセット採用部131は、近似中心点算出部140が新たに近似中心点cSBを算出したとき、オフセットcOFFとして近似中心点cSBの座標を示すベクトルが採用されている場合に限り、新たに算出された近似中心点cSBの座標を示すベクトルにより、オフセットcOFFを更新する(図11(F))。また、オフセット採用部131は、
サーバ装置SVから応答中心点cSAが供給された場合、応答中心点cSAの座標を示すベクトルにより、オフセットcOFFを更新する(図11(G))。
以上のように、オフセット採用部131は、内部磁界Biの変化を正確且つ迅速に反映したオフセットcOFFを採用することができる。
[4. 地磁気測定システムの動作を表すフローチャート]
以下では、図12〜図15を参照しつつ、地磁気測定システムSYSの動作について説明する。
図12は、端末装置1の動作を表すフローチャートである。当該フローチャートに示される処理は、CPU10が端末側磁気データ処理プログラム70を実行することにより開始される。
ステップS11において、CPU10は、初期化処理を実行する。具体的には、CPU10は、RAM20に格納されている磁気データqを破棄するとともに、各種フラグ及びカウンタを初期化する。フラグ及びカウンタの初期化として、CPU10は、第1記憶領域Area1に蓄積された磁気データqの個数を表すカウント値CtAを「0」に設定し、第2記憶領域Area2に蓄積された磁気データqの個数を表すカウント値CtBを「0」に設定し、サーバ装置SVから応答中心点cSAが供給されているか否かを示すフラグFgAを、応答中心点cSAが供給されていないことを表す値「0」に設定し、近似中心点cSBが算出されているか否かを示すフラグFgBを、近似中心点cSBが算出されていないことを表す値「0」に設定し、オフセット距離条件を充足するか否かを表すフラグFgOを、当該条件が充足されていることを表す「0」に設定し、オフセットcOFFの種類を示すフラグFgCを、端末装置1がオフセットcOFFとして近似中心点cSBの座標を示すベクトルを採用していること(または、端末装置1がオフセットcOFFとしていかなる値も採用していない状態であること)を示す値「0」に設定する。
次に、ステップS13において、CPU10は、磁気データ取得処理を実行する。具体的には、CPU10は、3次元磁気センサ60が出力する磁気データqを、RAM20に格納する。
このように、CPU10は、ステップS11の初期化処理と、ステップS13の磁気データ取得処理とを実行することにより、蓄積部110として機能する。
図13(A)は、磁気データ取得処理の詳細を例示したフローチャートである。ステップS131において、CPU10は、3次元磁気センサ60が出力する磁気データqを、RAM20に設けられる第1記憶領域Area1に格納する。次に、ステップS132において、CPU10は、カウント値CtAに「1」を加算(カウントアップ)する。そして、ステップS133において、CPU10は、当該磁気データqの示す座標が、磁気データ距離条件を充足するか否かを判定し、判定結果が肯定である場合には処理をステップS134に進める一方、判定結果が否定である場合には磁気データ取得処理を終了させたうえで、処理をステップS15に進める。ステップS134において、CPU10は、当該磁気データqを、磁気データqとして、第2記憶領域Area2に格納する。ステップS135において、CPU10は、カウント値CtBに「1」を加算したうえで、磁気データ取得処理を終了させたうえで、処理をステップS15に進める。
次に、ステップS15において、CPU10は、磁気データ送信処理を実行する。具体的には、CPU10は、RAM20の第1記憶領域Area1にN個の磁気データq〜qが蓄積されたときに、これらをサーバ装置SVに対して送信する。
図13(B)は、磁気データ送信処理の詳細を例示したフローチャートである。まず、ステップS151において、CPU10は、第1記憶領域Area1に格納された磁気データqの個数が、N個以上であるか否かを判定する。そして、判定結果が肯定である場合、CPU10は処理をステップS152に進める一方、判定結果が否定である場合、CPU10は磁気データ送信処理を終了させたうえで、処理をステップS17に進める。ステップS152において、CPU10は、第1記憶領域Area1に格納されたN個の磁気データq〜qを、サーバ装置SVに対して送信する。その後、ステップS153において、CPU10は、第1記憶領域Area1に格納されたN個の磁気データq〜qを破棄するとともに、カウント値CtAを「0」に設定(初期化)したうえで、磁気データ送信処理を終了させ、処理をステップS17に進める。
なお、この例では、CPU10は、ステップS153において、第1記憶領域Area1に格納されたN個の磁気データq1〜qNの全てを破棄するが、古い方から一定割合の磁気データのみを破棄してもよい。
次に、ステップS17において、CPU10は、近似中心点算出処理を実行する。具体的には、CPU10は、RAM20の第2記憶領域Area2にM個の磁気データqB1〜qBMが蓄積されたときに、これらのデータに基づいて近似中心点cSBの座標を算出する。
すなわち、CPU10は、ステップS17の近似中心点算出処理を実行することにより、近似中心点算出部140として機能する。
図13(C)は、近似中心点算出処理の詳細を例示したフローチャートである。まず、ステップS171において、CPU10は、第2記憶領域Area2に格納された磁気データqの個数が、M個以上であるか否かを判定する。そして、判定結果が肯定である場合、CPU10は処理をステップS172に進める一方、判定結果が否定である場合、CPU10は近似中心点算出処理を終了させたうえで、処理をステップS19に進める。ステップS172において、CPU10は、第2記憶領域Area2に格納された磁気データqB1〜qBMの各々が示す座標と、上述した式(3.a)に示した連立一次方程式とを用いて、近似中心点cSBの座標を算出する。次に、ステップS173において、CPU10は、第2記憶領域Area2に格納されたM個の磁気データqB1〜qBMを破棄するとともに、カウント値CtBを「0」に設定(初期化)する。また、フラグFgBを「1」に設定する。ステップS174において、CPU10は、ステップS172において算出された近似中心点cSBの示す座標と、オフセットcOFFの示す座標とが、オフセット距離条件を充足するか否かを判定する。CPU10は、判定結果が否定である場合、処理をステップS175に進める一方、判定結果が肯定である場合、近似中心点算出処理を終了させ、処理をステップS19に進める。ステップS175において、CPU10は、フラグFgOを、オフセット距離条件が充足されないことを示す値である「1」に設定したうえで、近似中心点算出処理を終了させ、処理をステップS19に進める。
なお、ステップS173に示す処理は、ステップS174及びステップS175に示す処理の後に実施してもよい。
次に、ステップS19において、CPU10は、応答中心点受信判定処理を実行する。具体的には、CPU10は、サーバ装置SVから応答情報RESが供給されたときに、当該応答情報RESをRAM20に格納する。
このように、CPU10は、ステップS15の磁気データ送信処理と、ステップS19の応答中心点受信判定処理とを実行することにより、端末側送受信部120として機能する。
図13(D)は、応答中心点受信判定処理の詳細を例示したフローチャートである。
まず、ステップS191において、CPU10は、サーバ装置SVから応答情報RESが供給されたか否かを判定し、判定結果が肯定である場合は処理をステップS192に進める一方、判定結果が否定である場合は応答中心点受信判定処理を終了させ、処理をステップS21に進める。ステップS192において、応答情報RESに含まれる応答中心点cSAの座標と、オフセットcOFFの示す座標とが、以下の式(5.a)に示す条件(以下、「応答中心点妥当性条件」と称する場合がある)を充足するか否かを判定する。なお、応答中心点cSAの座標は、以下の式(5.b)で表される。CPU10は、判定結果が肯定である場合、処理をステップS193に進める一方、判定結果が否定である場合、応答中心点受信判定処理を終了させ、処理をステップS21に進める。
内部磁界Biが変化した場合、内部磁界Biが変化した後(または変化中)に第1記憶領域Area1に蓄積された磁気データq〜qに基づいて算出された応答中心点cSAの座標は、変化後の内部磁界を表すベクトルBiの示す座標から離れた座標である可能性が高い。また、端末装置1がサーバ装置SVに対して磁気データq〜qを送信した後、サーバ装置SVが応答中心点cSAを生成するまでの間に、内部磁界Biに変化が生じた場合、応答中心点cSAの示す座標は、変化後の内部磁界を表すベクトルBiの示す座標から離れた座標である可能性が高い。そこで、本実施形態では、応答中心点cSAが応答中心点妥当性条件を充足するか否かを判定することにより、変化後の内部磁界Biを正確に表さない応答中心点cSAを用いたオフセットcOFFの更新を防止する。
次に、ステップS193において、CPU10は、フラグFgAを「1」に設定する。ここで、フラグFgAが「1」であるとは、サーバ装置SVから応答中心点cSAが供給され、且つ、当該応答中心点cSAを用いてオフセットcOFFを更新することが妥当であることを表す。その後、CPU10は、応答中心点受信判定処理を終了させ、処理をステップS21に進める。
なお、本実施形態では、ステップS192において、応答中心点cSAが応答中心点妥当性条件を充足するか否かを判定するが、ステップS191における判定結果が肯定であれば、処理をステップS193に進めるものであってもよい。仮に、変化後の内部磁界Biを正確に表さない応答中心点cSAによりオフセットcOFFが更新されても、その後、オフセットcOFFは、近似中心点cSBにより、変化後の内部磁界Biを表した値に更新されるからである。
Figure 0006019585
次に、ステップS21において、CPU10は、オフセット採用処理を実行する。具体的には、CPU10は、各種フラグの値が所定の条件を充足する場合、ステップS17の近似中心点算出処理において算出された近似中心点cSBの座標を示すベクトル、または、ステップS19の応答中心点受信判定処理においてサーバ装置SVから供給された応答情報RESに含まれる応答中心点cSAの座標を示すベクトルによりオフセットcOFFを更新する。そして、CPU10は、応答中心点cSAの座標を表すベクトルをオフセットcOFFとして採用する場合、応答補正行列Tを楕円面補正行列Tとして採用する一方、近似中心点cSBの座標を表すベクトルをオフセットcOFFとして採用する場合、3行3列の単位行列Iを楕円面補正行列Tとして採用する。一方、CPU10は、各種フラグの値が所定の条件を充足しない場合、オフセットcOFF及び楕円面補正行列Tを更新しない。なお、詳細は後述するが、各種フラグの値が所定の条件を充足する場合とは、フラグFgAの値が「1」である場合、フラグFgAの値が「0」であり且つフラグFgBの値が「1」であり且つフラグFgOの値が「1」である場合、または、フラグFgAの値が「0」であり且つフラグFgBの値が「1」であり且つフラグFgCの値が「0」である場合をいう(図14参照)。
このように、CPU10は、ステップS21のオフセット採用処理を実行することにより、オフセット採用部131として機能する。
図14は、オフセット採用処理の詳細を例示したフローチャートである。
ステップS211において、CPU10は、フラグFgAが「1」を示すか否かを判定し、判定結果が肯定であれば処理をステップS212に進め、判定結果が否定であれば処理をステップS221に進める。ステップS212において、CPU10は、応答中心点受信判定処理(ステップS19)において受信した応答中心点cSAの座標を示すベクトルにより、オフセットcOFFを更新する。また、CPU10は、楕円面補正行列Tとして応答補正行列Tを採用する。ステップS213において、CPU10は、フラグFgBが「1」であるか否かを判定し、判定結果が肯定であれば処理をステップS214に進め、判定結果が否定であれば処理をステップS215に進める。ステップS214において、CPU10は、カウント値CtA及びCtBとフラグFgA及びFgBとを「0」に設定する。また、CPU10は、オフセットcOFFの種類を示すフラグFgCを、オフセットcOFFとして応答中心点cSAの座標を示すベクトルを採用していることを表す値「1」に設定する。そして、CPU10は、オフセット採用処理を終了させたうえで、処理をステップS23に進める。ステップS215において、CPU10は、カウント値CtA及びフラグFgAを「0」に設定し、フラグFgCを「1」に設定する。そして、CPU10は、オフセット採用処理を終了させたうえで、処理をステップS23に進める。
このように、CPU10は、サーバ装置SVから応答中心点cSAが供給され、且つ、当該応答中心点cSAを用いてオフセットcOFFを更新することが妥当である場合(フラグFgAの値が「1」である場合)には、応答中心点cSAの座標を示すベクトルにより、オフセットcOFFを更新する。
一方、ステップS221において、CPU10は、フラグFgBが「1」を示すか否かを判定し、判定結果が肯定であれば処理をステップS222に進め、判定結果が否定で有ればオフセット採用処理を終了させたうえで、処理をステップS23に進める。ステップS222において、CPU10は、フラグFgOが「1」であるか否かを判定し、判定結果が肯定であれば処理をステップS223に進め、判定結果が否定であれば処理をステップS225に進める。ステップS223において、CPU10は、近似中心点算出処理(ステップS17)において算出された近似中心点cSBの座標を示すベクトルにより、オフセットcOFFを更新する。また、CPU10は、楕円面補正行列Tとして単位行列Iを採用する。ステップS224において、CPU10は、フラグFgCを、オフセットcOFFとして近似中心点cSBの座標を示すベクトルを採用していることを表す値「0」に設定する。また、CPU10は、カウント値CtB、フラグFgB、及びFgOを「0」に設定する。そして、CPU10は、オフセット採用処理を終了させたうえで、処理をステップS23に進める。ステップS225において、CPU10は、フラグFgCが「1」であるか否かを判定し、判定結果が肯定であれば処理をステップS226に進め、判定結果が否定であれば処理をステップS227に進める。ステップS227において、CPU10は、近似中心点算出処理(ステップS17)において算出された近似中心点cSBの座標を示すベクトルにより、オフセットcOFFを更新する。また、CPU10は、楕円面補正行列Tとして単位行列Iを採用する。ステップS226及びS228において、CPU10は、カウント値CtBとフラグFgBとを「0」に設定し、オフセット採用処理を終了したうえで、処理をステップS23に進める。なお、本実施形態では、CPU10は、フラグFgOが「1」であるか否かを判定(ステップS222)した後に、フラグFgCが「1」であるか否かを判定(ステップS225)しているが、本発明はこのような態様に限定されるものではなく、フラグFgOが「1」である場合またはフラグFgCが「0」である場合に、近似中心点cSBに基づいてオフセットcOFFを更新するものであればよい。
このように、端末装置1が近似中心点cSBの座標を示すベクトルをオフセットcOFFとして採用している場合若しくは端末装置1がオフセットcOFFを採用していない場合(フラグFgCの値が「0」)、または、近似中心点cSBとオフセットcOFFとがオフセット距離条件を充足しない場合(フラグFgOの値が「1」)、CPU10は、ステップS17の近似中心点算出処理において算出された近似中心点cSBに基づいて、オフセットcOFFを更新する。
次に、ステップS23において、CPU10は、地磁気計算処理を実行する。具体的には、CPU10は、楕円面補正行列T及びオフセットcOFFを用いた楕円補正を行い、地磁気Bgの向きを算出する。すなわち、CPU10は、3次元磁気センサ60から出力される磁気データqの示す座標から、オフセットcOFFの示す座標を減算して得られるベクトルを、楕円面補正行列Tにより、地磁気Bgの向きを算出する。
すなわち、CPU10は、ステップS23の地磁気計算処理を実行することにより、地磁気ベクトル計算部132として機能する。
ステップS25において、CPU10は、終了条件判定処理を実行する。具体的には、CPU10は、端末側磁気データ処理プログラム70を終了するための条件(終了条件)を充足するか否かの判定を実行する。終了条件は、端末装置1の仕様等に基づいて適宜定めればよい。例えば、端末装置1の電源がオフ状態になることを終了条件としてもよい。終了条件を充足する場合、CPU10は、図12に示すフローチャートに表される処理を終了する。一方、終了条件を充足しない場合、CPU10は、処理をステップS13に進める。
図15は、サーバ装置SVの動作を表すフローチャートである。当該フローチャートに示される処理は、CPU910がサーバ側磁気データ処理プログラム960を実行している状態で、端末装置1から複数の磁気データq〜qを受信したときに開始される。
ステップS31において、CPU910は、磁気データ格納処理を実行する。具体的には、CPU910は、通信部940が受信したN個の磁気データq〜qを、第3記憶領域Area3に格納する。
ステップS33において、CPU910は、初期楕円面生成処理を実行する。具体的には、CPU910は、ステップS31においてCPU910が第3記憶領域Area3に格納したN個の磁気データq〜q(以下、本節において「N個の磁気データq〜q」と称する)に基づいて、初期中心点cE0の座標と初期楕円面補正行列Tとを算出することができるか否かを判定する。判定結果が肯定の場合、CPU910は、初期中心点cE0の座標と初期楕円面補正行列Tとを算出したうえで、処理をステップS35に進める。
一方、判定結果が否定の場合、CPU910は、処理をステップS41に進める。
すなわち、CPU910は、ステップS33の初期楕円面生成処理を実行することにより、楕円面初期補正値生成部300として機能する。
ステップS35において、CPU910は、最適楕円面生成処理を実行する。具体的には、CPU910は、ステップS33の初期楕円面生成処理において算出された初期中心点cE0と初期楕円面補正行列Tとに基づいて、最適中心点cEOPの座標と最適楕円面補正行列TOPとを算出する。
すなわち、CPU910は、ステップS35の最適楕円面生成処理を実行することにより、楕円面最適補正値生成部400として機能する。
ステップS37において、CPU910は、応答情報生成処理を実行する。具体的には、CPU910は、ステップS35の最適楕円面生成処理において算出された、最適中心点cEOPの座標と最適楕円面補正行列TOPとに基づいて、応答中心点cSAの座標と応答補正行列Tとを要素とする応答情報RESを生成する。なお、CPU910は、応答情報RESを生成するにあたり、最適中心点cEOPを応答中心点cSAとして採用するとともに、最適楕円面補正行列TOPを応答補正行列Tとして採用する。
ステップS39において、CPU910は、応答情報送信処理を実行する。具体的には、CPU910は、ステップS37の応答情報生成処理において生成された応答情報RESを、端末装置1に送信する。
すなわち、CPU910は、ステップS31の磁気データ格納処理と、ステップS39の応答情報送信処理とを実行することにより、サーバ側送受信部720として機能する。
ステップS41において、CPU910は、データ初期化処理を実行する。具体的には、CPU910は、N個の磁気データq〜qと、応答情報RES等のN個の磁気データq〜qに基づいて生成された情報とを破棄する。そして、CPU910は、当該フローチャートに示す処理を終了する。
すなわち、CPU910は、ステップS37の応答情報生成処理と、ステップS41のデータ初期化処理とを実行することにより、データ制御部710として機能する。
以上のように、端末装置1およびサーバ装置SVは、端末装置1のCPU10が図12のフローチャートに示す処理を実行し、サーバ装置SVのCPU910が図15のフローチャートに示す処理を実行することで、地磁気測定システムSYSとして機能する。
以下において、楕円面初期補正値生成部300、及び楕円面最適補正値生成部400の詳細について、述べる。
[5. 初期楕円面の生成]
図16は、楕円面初期補正値生成部300の機能構成を示す機能ブロック図である。
楕円面初期補正値生成部300は、複数の磁気データq〜qに基づいて、まず複数の磁気データq〜qの示す座標を近傍に有する第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzを生成したうえで、これら3つの楕円面に基づいて初期楕円面VE0を生成する。以下、本実施形態における初期楕円面VE0の生成方法について具体的に説明する。
楕円面初期補正値生成部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を備える。
初期楕円面生成部310は、データ制御部710に蓄積された複数の磁気データ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の座標の算出方法について述べる。
3次元磁気センサ60より出力される磁気データqの示す座標を表す変数を、式(1.c)で表す場合、磁気データqを表面上に有する楕円面の方程式(楕円面方程式)は、以下の式(6)で表される。なお、式(6)は楕円面を表すので、式(6)に現れる係数θxx、θyy、及びθzzはいずれも正の値となる。
Figure 0006019585
式(6)に示される楕円面方程式は、以下の式(7)に変形される。
Figure 0006019585
複数の磁気データ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次元のベクトルである。
Figure 0006019585
式(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は、行列(Rxx xx)が正則なときに、式(15)で表すことができる。式(15)により算出されたベクトルθXXを係数として式(7)に適用することにより表される楕円面を、第1楕円面Vxxと呼ぶ。
Figure 0006019585
ここで、図17(A)に示すように、xy、xz、y、yz、z、x、y、及びzの各々を変数として表す8本の軸を有する8次元の空間πxxと、xの値を変数として表す第1評価軸ξとからなる、9次元の空間Ω上に、複数の磁気データq〜qの各々をプロットする。このとき、第1楕円面Vxxは、第1楕円面Vxxと、複数の磁気データq〜qが空間Ω上で示す座標との、第1評価軸ξ方向の誤差を最小化する立体(空間Ω上の8次元平面)として求められる。すなわち、第1楕円面Vxxは、複数の磁気データq〜qを、空間πxx上にプロットして得られる複数の8次元のベクトルqπxx1〜qπxxNの各要素を式(7)の右辺に代入して得られる値qxx1〜qxxNと、複数の磁気データq〜qの示す座標のうちx軸成分の2乗値x 〜x との誤差を最小化する立体として定められる。
式(7)に示される第1楕円面Vxxの方程式は、式(17)に示す第1楕円面係数行列Dxxを用いて、式(16)に変形される。このとき、第1楕円面Vxxの中心点cxxの座標は、式(18)で表される。第1楕円面生成部311は、以上に示したように、第1楕円面係数行列Dxx及び第1楕円面Vxxの中心点cxxを算出し、これらを出力する。なお、式(16)が楕円面を表すための必要条件は、第1楕円面係数行列Dxxが正定値となることである。
Figure 0006019585
次に、式(6)に示される楕円面方程式を、以下の式(19)に変形する。
Figure 0006019585
式(19)に示される方程式は、ベクトルθYYの各要素を変数とする連立一次方程式である式(20)に変形される。式(8)と同様に、式(20)の解としてベクトルθYYを算出することはできないため、式(20)の解として尤もらしい値として、ベクトルθYYを算出する。具体的には、式(24)に示す正規方程式において、行列(Ryy yy)が正則なときには、ベクトルθYYは式(25)により算出される。式(25)により特定されたベクトルθYYを係数として式(19)に適用することにより表される楕円面を、第2楕円面Vyyと呼ぶ。なお、ベクトルθYYは、式(21)に示す9次元のベクトルであり、行列Ryyは、式(22)に示すN行9列の行列であり、ベクトルWyyは、式(23)に示すN次元のベクトルである。
Figure 0006019585
ここで、図17(B)に示すように、x、xy、xz、yz、z、x、y、及びzの各々を変数として表す8本の軸を有する8次元の空間πyyと、yの値を変数として表す第2評価軸ξとからなる、9次元の空間Ω上に、複数の磁気データq〜qの各々をプロットする。このとき、第2楕円面Vyyは、第2楕円面Vyyと、複数の磁気データq〜qが空間Ω上で示す座標との、第2評価軸ξ方向の誤差を最小化する立体(空間Ω上の8次元平面)として求められる。すなわち、第2楕円面Vyyは、複数の磁気データq〜qを、空間πyy上にプロットして得られる複数の8次元のベクトルqπyy1〜qπyyNの各要素を式(19)の右辺に代入して得られる値qyy1〜qyyNと、複数の磁気データq〜qの示す座標のうちy軸成分の2乗値y 〜y との誤差を最小化する立体として定められる。
式(19)に示される第2楕円面Vyyの方程式は、式(27)に示す第2楕円面係数行列Dyyを用いて、式(26)に変形される。このとき、第2楕円面Vyyの中心点cyyの座標は、式(28)で表される。第2楕円面生成部312は、以上に示したように、第2楕円面係数行列Dyy及び第2楕円面Vyyの中心点cyyを算出し、これらを出力する。なお、式(26)が楕円面を表すための必要条件は、第2楕円面係数行列Dyyが正定値となることである。
Figure 0006019585
次に、式(6)に示される楕円面方程式を、以下の式(29)に変形する。
Figure 0006019585
式(29)に示される方程式は、ベクトルθZZの各要素を変数とする連立一次方程式である式(30)に変形される。式(8)と同様に、式(29)の解としてベクトルθZZを算出することはできないため、式(29)の解として尤もらしい値として、ベクトルθZZを算出する。具体的には、式(34)に示す正規方程式において、行列(Rzz zz)が正則なときには、ベクトルθZZは式(35)により算出される。式(35)により特定されたベクトルθZZを係数として式(29)に適用することにより表される楕円面を、第3楕円面Vzzと呼ぶ。なお、ベクトルθZZは、式(31)に示す9次元のベクトルであり、行列Rzzは、式(32)に示すN行9列の行列であり、ベクトルWzzは、式(33)に示すN次元のベクトルである。
Figure 0006019585
ここで、図17(C)に示すように、x、xy、xz、y、yz、x、y、及びzの各々を変数として表す8本の軸を有する8次元の空間πzzと、zの値を変数として表す第3評価軸ξとからなる、9次元の空間Ω上に、複数の磁気データq〜qの各々をプロットする。このとき、第3楕円面Vzzは、第3楕円面Vzzと、複数の磁気データq〜qが空間Ω上で示す座標との、第3評価軸ξ方向の誤差を最小化する立体(空間Ω上の8次元平面)として求められる。すなわち、第3楕円面Vzzは、複数の磁気データq〜qを、空間πzz上にプロットして得られる複数の8次元のベクトルqπzz1〜qπzzNの各要素を式(29)の右辺に代入して得られる値qzz1〜qzzNと、複数の磁気データq〜qの示す座標のうちz軸成分の2乗値z 〜z との誤差を最小化する立体として定められる。
式(29)に示される第3楕円面Vzzの方程式は、式(37)に示す第3楕円面係数行列Dzzを用いて、式(36)に変形される。このとき、第3楕円面Vzzの中心点czzの座標は、式(38)で表される。第3楕円面生成部313は、以上に示したように、第3楕円面係数行列Dzz及び第3楕円面Vzzの中心点czzを算出し、これらを出力する。なお、式(36)が楕円面を表すための必要条件は、第3楕円面係数行列Dzzが正定値となることである。
Figure 0006019585
このように、初期楕円面生成部310は、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標を算出する。
初期楕円面判定部320は、図16に示すように、初期楕円面係数行列判定部321と、初期楕円面中心点判定部322とを備える。ここで、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzの全てが正定値であるという条件を第1の条件と称する。また、式(39)に示すように中心点cxxの座標と中心点cyyの座標との距離が第1閾値Δc以下であり、且つ、式(40)に示すように中心点cyyの座標と中心点czzの座標との距離が第1閾値Δc以下であり、且つ、式(41)に示すように中心点czzの座標と中心点cxxの座標との距離が第1閾値Δc以下であるという条件を第2の条件と称する。
このとき、初期楕円面係数行列判定部321は、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzが第1の条件を充足するか否かを判定する。また、初期楕円面中心点判定部322は、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標が第2の条件を充足するか否かを判定する。
Figure 0006019585
初期補正値生成部330は、初期楕円面係数行列判定部321における判定結果が肯定であり、且つ、初期楕円面中心点判定部322における判定結果が肯定である場合、初期楕円面生成部310の算出結果に基づいて、初期中心点cE0の座標及び初期楕円面補正行列Tを算出する。
ここで、初期楕円面補正行列Tとは、図18に示すように、初期中心点cE0を中心点とする初期楕円面VE0上の座標を、初期中心点cE0を中心点とする球面SE0上の座標へと変換する行列である。初期楕円面VE0は、第1楕円面Vxx、第2楕円面Vyy、及び、第3楕円面Vzzのうち、少なくとも1つの楕円面に基づいて定められる楕円面であり、複数の磁気データq〜qの示す座標を近傍に有する楕円面である。
なお、初期補正値生成部330は、初期楕円面係数行列判定部321における判定結果が否定である場合、または、初期楕円面中心点判定部322における判定結果が否定である場合には、初期楕円面VE0を算出することができないと判断する。この場合、初期補正値生成部330は、初期中心点cE0の座標及び初期楕円面補正行列Tを算出しない。
以下では、初期楕円面補正行列Tの具体的な算出方法を説明するにあたり、まず、楕円面Vの形状が既知であると仮定したときの、楕円面補正行列Tの算出方法について説明する(段落0039及び図8参照)。楕円面補正行列Tは、楕円面V上の座標を、楕円面Vの中心点cOGを中心とする半径1の球面S上の座標に変換する行列であり、楕円面Vの形状を表す楕円面係数行列Dと、楕円面Vの中心点cOGとに基づき算出される。
式(6)に示した楕円面Vを表す楕円面方程式は、以下の式(43)に示す楕円面係数行列Dを用いて、以下の式(42)に変形できる。また、楕円面Vの中心点cOGの示す座標は、以下の式(44)により表される。
Figure 0006019585
ここで、Pを2以上の自然数とするとき、P行P列の正定値対称行列Gと、P行P列の正定値対称行列Hとの間に、式(45)の関係が成立する場合、行列Gを行列Hの平方根行列と呼ぶ。以下では、行列Hの平方根行列Gを、式(46)のように、行列の2分の1乗として表現する。
Figure 0006019585
このとき、行列Hの平方根行列Gは、式(47)により求められる。但し、行列U及び行列Λは、式(48)に示すように、行列Hを対角化することで算出される行列である。具体的には、行列Λは、式(49)に示すように、行列HのP個の正の固有値λH1〜λHPを対角成分とするP行P列の行列であり、行列Uは、行列Hの固有値λH1〜λHPに対応する固有ベクトルを正規化したうえで各列に並べたP行P列の回転行列である。
Figure 0006019585
楕円面係数行列Dと、楕円面補正行列Tとの関係は、以上で定義した平方根行列を用いて、以下の式(50)で表される。なお、値r(D)は、以下の式(51)に示すように、複数の磁気データq〜qの示す座標を楕円面係数行列Dの平方根行列により変換した複数の座標と、中心点cOGとの距離の平均値を表す値である。
Figure 0006019585
楕円面係数行列Dの固有値λD1、λD2、及びλD3の各々は、楕円面Vの主軸の長さrE1、rE2、及びrE3の各々の2乗値の逆数に等しい。よって、楕円面補正行列Tの固有値λT1、λT2、及びλT3の各々は、楕円面Vの主軸の長さrE1、rE2、及びrE3の各々の逆数に等しくなる。従って、楕円面補正行列Tにより、楕円面V上の座標を、半径1の球面S上の座標へと変換することができる。
次に、初期楕円面補正行列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の座標とを算出する。
Figure 0006019585
なお、本実施形態では、初期楕円面VE0として、第1楕円面Vxxを採用するが、本発明はこのような形態に限定するものではない。例えば、初期楕円面VE0として、第2楕円面Vyyを採用してもよい。このとき、初期楕円面補正行列Tは式(54)により表され、初期中心点cE0には中心点cyyが採用される。また、初期楕円面VE0として第3楕円面Vzzを採用してもよい。この場合、初期楕円面補正行列Tは式(55)により表され、初期中心点cE0には中心点czzが採用される。
Figure 0006019585
また、初期楕円面補正行列Tは、以下に示す式(56)により算出してもよい。この場合、初期中心点cE0の座標を、以下に示す式(57)または式(58)により算出してもよい。
Figure 0006019585
ところで、初期楕円面補正行列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次元のベクトルである。
Figure 0006019585
対比例は、楕円面方程式を、xの項、yの項、またはzの項の何れか1つの項で割り算をすることで生成される連立一次方程式により、楕円面の形状を決定するものである。つまり、対比例は、第1評価軸ξ、第2評価軸ξ、及び第3評価軸ξのうち、1つの評価軸のみを用いて、1つの楕円面を算出することと等しい。
この場合、複数の磁気データq〜qの示す座標の分布形状が同一であっても、選択される評価軸が相違すれば、算出される楕円面の形状は異なる。しかし、対比例は、1つの楕円面のみを算出するため、仮に2つ以上の評価軸を用いて2つ以上の楕円面を算出したならば把握できるはずの複数の楕円面の形状の相違について、把握することができない。例えば、2つ以上の楕円面が算出されることを前提とする、第2の条件を用いた判定を行うことができない。
従って、図19に示す例のように、本実施形態に係る方法により、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、少なくとも2つの楕円面を算出していたならば、第2の条件についての判定結果が否定となるような場合であっても、対比例によれば初期楕円面補正行列Tが算出されることになる。
このように、対比例は、複数の磁気データq〜qの示す座標の分布の形状から楕円面の形状を特定することが困難な場合であっても、複数の磁気データq〜qの示す座標の分布形状を正確に表さない不適切な初期楕円面VE0に基づいた初期楕円面補正行列Tを生成する。
これに対して、楕円面初期補正値生成部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の条件は満たされない。また、図19に示す例のように、算出された3つの楕円面各々の中心点の相互間距離が離れている場合には、第2の条件は満たされない。
このように、楕円面初期補正値生成部300は、初期楕円面補正行列Tを生成する際に、3つの異なる楕円面を生成したうえで、第1の条件及び第2の条件が満たされているか否かを判定するため、複数の磁気データq〜qの示す座標の分布の形状から、楕円面の形状を特定することが困難な場合に、複数の磁気データq〜qの示す座標の分布の形状とは異なる不正確な初期楕円面VE0に基づいた、不適切な初期楕円面補正行列Tが生成されることを防止する。
[6. 最適楕円面の生成]
初期楕円面補正行列Tは、式(66)に示すように、初期中心点cE0を起点として磁気データqの示す座標を終点とするベクトル(q−cEO)を、初期楕円面VE0の3つの主軸方向に伸縮させることで、初期中心点cE0を起点として変換後磁気データs0iの示す座標を終点とするベクトル(s0i−cEO)に変換する行列である。磁気データqの示す座標が、初期楕円面VE0上に存在する場合には、変換後磁気データs0iの示す座標は、初期中心点cE0を中心とする球面SE0上に位置する。
図18に示すように、初期楕円面VE0は、複数の磁気データq〜qの示す座標を近傍に有するように定められる楕円面であるが、複数の磁気データq〜qの示す座標との誤差を最小化するように定められた楕円面ではない。従って、複数の磁気データq〜qの示す座標と、初期楕円面VE0との間の誤差が大きい場合、初期楕円面VE0の中心点である初期中心点cE0の示す座標と、地磁気Bgを表す球面Sの中心点cOGの示す座標との間の誤差も大きくなる。この場合、磁気データqの示す座標を初期楕円面補正行列T及び初期中心点cE0により楕円補正した変換後磁気データs0iと、初期中心点cE0とに基づいて、地磁気Bgの正確な向きを算出することはできない。
Figure 0006019585
そこで、本実施形態では、複数の磁気データq〜qの示す座標との誤差を最小化する最適楕円面VEOPに基づいて定められる最適楕円面補正行列TOPと、最適楕円面VEOPの中心点である最適中心点cEOPとに基づいて、磁気データqの示す座標を楕円補正する。具体的には、本実施形態に係る地磁気測定システムSYSは、楕円面補正行列Tとして最適楕円面補正行列TOPを採用するとともに、オフセットcOFFとして最適中心点cEOPの座標を示すベクトルを採用することで、式(1.a)を、以下の式(67)に変形する。そして、地磁気測定システムSYSは、式(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の向きを得ることができる。
Figure 0006019585
楕円面最適補正値生成部400は、以下の式(68)に示す楕円面最適化関数fEL(T,c)の値が最小化されるように、変数行列Tの各成分及び変数ベクトルcの各要素を逐次更新する非線形最適化演算を行い、楕円面最適化関数fEL(T,c)の値が最小化されたときの変数行列T及び変数ベクトルcを、最適楕円面補正行列TOP及び最適中心点cEOPとして算出する。
ここで、楕円面最適化関数fEL(T,c)は、以下の式(69)に示す3行3列の対称行列である変数行列Tの各成分と、式(1.e)に示した変数ベクトルcの各要素とを変数とする関数であり、以下の式(70)として表すことができる。変数行列T及び変数ベクトルcの初期値には、初期楕円面補正行列T及び初期中心点cE0の座標が適用される。
Figure 0006019585
楕円面最適化関数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の球面との誤差を最小化することができる。楕円面最適化関数fEL(T,c)の値を最小化する複数の変換後データ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の球面近傍に分布する。
楕円面最適化関数fEL(T,c)の示す値を最小化することにより最適楕円面補正行列TOP及び最適中心点cEOPを算出する非線形最適化演算は、公知の方法を適宜適用すればよい。例えば、非線形最適化演算として、ニュートン法を適用してもよい。
ニュートン法、最急降下法等の、非線形最適化演算は、非線形関数の示す値を最適化(最小化または最大化)するように、非線形関数の変数の値を逐次更新する。そして、非線形最適化演算は、非線形関数の値及び変数の値が予め規定された停止規準を満たしたときに、変数の値の更新を停止し、このときの変数の値を最適解として採用する。
なお、非線形最適化演算の停止規準としては、公知の基準を適宜適用すればよい。例えば、アルミホの規準(Armijo’s rule)を適用してもよい。
非線形最適化演算は、非線形関数の最適解、すなわち非線形関数を最小化(または最大化)する大局的最適解を算出するための演算である。しかし、非線形最適化演算に適用される初期値が大局的最適解とは大きく異なる値である場合、非線形最適化演算の算出する最適解が、大局的最適解とは異なる局所的最適解となることがある。大局的最適解と大きく異なる初期値を適用した場合、大局的最適解よりも初期値に近い局所的最適解が存在する可能性があり、非線形最適化演算による解の更新を繰り返すうちに、解が大局的最適解に更新される前に、局所的最適解に更新される可能性が高いからである。従って、非線形最適化演算により局所的最適解が算出されることを防止するためには、初期値として、大局的最適解にできるだけ近い値を採用する必要がある。
本実施形態は、初期楕円面VE0に基づいて、初期楕円面補正行列T及び初期中心点cE0を算出し、これらの値を非線形最適化演算の初期値として適用する。複数の磁気データq〜qの示す座標を近傍に有するように定められた初期楕円面VE0は、複数の磁気データq〜qの示す座標との誤差を最小化する楕円面Vと近い形状を有する。従って、初期楕円面補正行列T及び初期中心点cE0の示す座標は、大局的最適解として算出されるべき値である楕円面補正行列T及び中心点cOGの示す座標に近い値である(図8及び図18参照)。このような初期値を用いた非線形最適化演算を行うことにより算出される最適楕円面補正行列TOP及び最適中心点cEOPの示す座標は、局所的最適解ではなく、大局的最適解(厳密には、大局的最適解の近似値)となる。このように、本実施形態の非線形最適化演算は、大局的最適解に近い値の適切な初期値が設定されるため、局所的最適解に陥ることなく、大局的最適解を最適解として算出することができる。
ところで、本実施形態では、式(69)に示すように、非線形最適化演算において最適化の対象となる楕円面最適化関数fEL(T,c)の変数として実対称行列である変数行列Tを用いるが、変数行列Tの代わりに、対称行列に限定されない実行列一般を表す変数行列Tを変数として用いて非線形最適化演算を行う方法も存在する(「非特許文献1」参照)。
しかし、対称行列に限定されない変数行列Tは、任意のベクトルを変数行列Tの3つの固有ベクトル方向に各々伸縮させる座標変換に加え、任意のベクトルの向きを回転させる座標変換を表す場合がある。そのため、第1変数ベクトル(q−c)を変数行列Tにより変換することで得られるベクトルT(q−c)は、第2磁気ベクトルT(q−c)を任意角度回転させたベクトルとして算出される場合がある。すなわち、図20に示すように、変数行列Tを用いて算出される変換後磁気データROの示す座標は、変数行列Tを用いて算出される変換後磁気データsの示す座標を、球面SEOP上で任意角度回転させた座標として算出される。
この場合、変数行列Tを用いて算出される変換後磁気データROの示す座標に基づいて、地磁気Bgの向きを算出することは困難である。
非特許文献1によれば、3次元磁気センサ60から見て方向が既知の参照磁界を用いることにより、変数行列Tが行う座標変換において生じた回転の角度を特定し、座標変換において回転が生じなかった場合の変換後磁気データsの示す座標を算出している。この方法は、端末装置1が、参照磁界を測定する機会を有することが必要となる。
これに対して、本実施形態では、変数行列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を用いる非線形最適化演算に比べて変数の数が少なく、計算負荷が低減される。
楕円面最適補正値生成部400は、最適楕円面補正行列TOP及び最適中心点cEOPを、データ制御部710に格納する。
なお、楕円面最適補正値生成部400は、算出した最適楕円面補正行列TOPが正定値行列であることを判定し、判定結果が肯定である場合のみ、最適楕円面補正行列TOP及び最適中心点cEOPをデータ制御部710に格納し、判定結果が否定である場合には、これらの算出結果を破棄してもよい。最適楕円面補正行列TOPは、楕円面上の座標を、当該楕円面の主軸方向に伸縮させることにより、球面上の座標へと変換する行列であるため、最適楕円面補正行列TOPの有する3つの固有値は、いずれも正の値となる必要があるからである。
ところで、楕円面最適補正値生成部400によって算出された最適中心点cEOPの座標及び最適楕円面補正行列TOPが、応答情報RESとして端末装置1に送信され、オフセット採用部131がこれらをオフセットcOFF及び楕円面補正行列Tとして採用する場合、地磁気ベクトル計算部132は、3次元磁気センサ60が順次出力する磁気データqの示す座標に対して、式(67)に基づいた楕円補正を行うことで、地磁気Bgの向きを算出する(図8参照)。具体的には、地磁気ベクトル計算部132は、最適中心点cEOPの座標を起点とし磁気データqの示す座標を終点とする第1磁気ベクトル(q−cEOP)を、最適楕円面補正行列TOPにより変換し、第2磁気ベクトル(s−cEOP)を算出する。このとき、第2磁気ベクトル(s−cEOP)は、ずれ角ψを考慮しなければ、地磁気Bgと同じ方向を向く。地磁気ベクトル計算部132は、必要な場合にはずれ角ψを考慮して(図8、及び段落0041参照)、第2磁気ベクトル(s−cEOP)から、地磁気Bgの向きを算出する。
なお、本実施形態では、説明の便宜上、第2磁気ベクトル(s−cEOP)を、最適中心点cEOPの示す座標を起点として配置しているが(図8参照)、第2磁気ベクトル(s−cEOP)を、センサ座標系Σの原点を起点として配置しても構わない。この場合、球面SEOPは、センサ座標系Σの原点を中心とする半径1の球面を表し、変換後磁気データsは原点を中心とする半径1の球面近傍に分布する。
[7. 第1実施形態の結論]
以上で説明したように、第1実施形態に係る地磁気測定システムSYSは、複数の磁気データq〜qの示す座標が楕円面近傍に分布すると仮定して、複数の磁気データq〜qの示す座標を近傍に有する楕円面を特定し、複数の磁気データq〜qの示す座標を当該楕円面と同一の中心点を有する球面近傍に座標変換する楕円補正を行った。
これにより、3次元磁気センサ60を搭載する機器が軟磁性材料を備え、ソフトアイアン効果が生じている場合に、複数の磁気データq〜qに基づいて、地磁気Bgの正確な方向を算出することができる。
また、第1実施形態に係る地磁気測定システムSYSは、楕円補正を行う場合に必要となる情報(最適中心点cEOPの座標及び最適楕円面補正行列TOP)を、サーバ装置SVで算出する。
上述の通り、M個の磁気データqB1〜qBMの示す座標を用いた4元一次連立方程式を解くことで近似中心点cSBを算出する近似中心点算出処理に比べて、Mよりも大きなN個の磁気データq〜qに基づいて、初期中心点cE0及び初期楕円面補正行列Tを算出する初期楕円面生成処理や、最適中心点cEOP及び最適楕円面補正行列TOPを算出する最適楕円面生成処理は、負荷の大きな処理である。
第1実施形態に係る地磁気測定システムSYSは、楕円補正等の地磁気Bgの向きを算出する処理のうち、処理負荷の大きな演算を、全てサーバ装置SVにおいて実施するため、端末装置1における処理負荷を小さく抑えることができる。すなわち、本実施形態に係る地磁気測定システムSYSは、端末装置1の備えるCPUの処理能力に制約がある場合、または、端末装置1の備えるメモリの容量に制約がある場合であっても、正確且つ高速に地磁気Bgの向きを算出することができる。また、本実施形態に係る地磁気測定システムSYSは、端末装置1における処理負荷を小さく抑え、消費電力量を小さく抑えるため、携帯電話機、PDA端末等のようなバッテリーで給電される携帯機器を端末装置1として適用したときに、端末装置1のバッテリー使用時間を短縮させること無く、地磁気Bgの向きを算出することができる。
なお、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の正確な向きを算出することができる。
また、第1実施形態では、初期楕円面VE0の算出に当たり、空間Ω上の第1評価軸ξ、第2評価軸ξ、及び第3評価軸ξの3つの異なる評価軸を用いて、3つの異なる楕円面を生成したうえで、センサ座標系Σにおいてこれらの3つの異なる楕円面の各々の中心点の相互間の距離が全て第1閾値Δc以下であるか否かを判定した。そして判定結果が肯定となる場合に限り、初期楕円面補正行列T及び初期中心点cE0の座標を算出した。
これにより、複数の磁気データq〜qの示す座標の分布の形状から、楕円面の形状を特定することが困難な場合に、複数の磁気データq〜qの示す座標の分布の形状とは異なる不正確な初期楕円面VE0に基づいた、不適切な初期楕円面補正行列T及び初期中心点cE0の座標が生成されることを防止することが可能となり、不正確な値がオフセットとして採用されることを防止することが可能となった。
また、第1実施形態では、楕円面Vに近い形状を有する初期楕円面VE0に基づいて定められる初期楕円面補正行列Tの各成分及び初期中心点cE0の座標を初期値とする非線形最適化演算により、最適楕円面補正行列TOP及び最適中心点cEOPの座標を算出した。
非線形最適化は、初期値に、大局的最適解に近い値を採用することで、局所的最適解が最適解として算出される可能性を低減させ、大局的最適解が最適解として算出される可能性を高める。従って、本実施形態に係る非線形最適化演算は、局所的最適解が最適解として算出される可能性を低減し、不適切な最適楕円面補正行列TOPを用いた楕円補正による不正確な地磁気Bgの向きが算出される可能性を低減した。
また、第1実施形態では、実対称行列である変数行列Tを変数とする楕円面最適化関数fEL(T,c)を最小化することで、最適楕円面補正行列TOP及び最適中心点cEOPを算出した。これにより、最適楕円面補正行列TOPは、任意のベクトルを、最適楕円面補正行列TOPの3つの固有ベクトル方向に伸縮させる座標変換を行う行列として算出されるため、回転を伴う座標変換は行わない。
すなわち、最適楕円面VEOP近傍に位置する磁気データqの示す座標を楕円補正することで算出される変換後磁気データsの示す座標は、最適中心点cEOPから見て、地磁気Bgと同じ方向を向く座標として求められるため、変換後磁気データsに基づいて、正確な地磁気Bgの向きを算出することができる。
<B.第2実施形態>
以下、第2実施形態について説明する。
[8. 第2実施形態に係る地磁気測定装置の概要]
第1実施形態では、3次元磁気センサ60が測定する対象の磁界を、地磁気Bg、内部磁界Bi、及び着磁磁界Bmに限定し、複数の磁気データq〜qの示す座標が楕円面近傍に分布する場合を想定した。
しかし、端末装置1の外部に磁界を生じる物体が存在する場合、物体の発する外部磁界Bxの影響により、複数の磁気データq〜qの示す座標は、楕円面とは異なる形状に分布することがある。この場合には、複数の磁気データq〜qの示す座標が楕円面近傍に分布すると仮定して算出された楕円面の中心点の示す座標は、3次元磁気センサ60のオフセットを示す座標とは一致しない可能性が高く、楕円面の中心点の示す座標をオフセットとして補正を行っても正確な地磁気Bgの向きを求めることはできない。
また、端末装置1が軟磁性材料21を備えない場合、ソフトアイアン効果は生じないため、複数の磁気データq〜qの示す座標は、図4に示したように球面近傍に分布し、楕円面近傍には分布しない。この場合、楕円補正を行わなくても、正確な地磁気Bgの向きを求めることができる。
第2実施形態は、端末装置1の外部の物体の発する外部磁界Bxが存在する場合、及び、端末装置1が軟磁性材料21を備えず着磁磁界Bmが存在しない場合にも対応した地磁気測定システムを実現することを目的とする。
図21は、第2実施形態に係る地磁気測定システムSYSaの構成を示すブロック図である。図21に示すように、第2実施形態に係る地磁気測定システムSYSaは、複数の端末装置1、複数の端末装置1a、及び、サーバ装置SVaを備える。複数の端末装置1の各々は、ネットワークNWを介してサーバ装置SVaと接続される。同様に、複数の端末装置1aの各々は、ネットワークNWを介してサーバ装置SVaと接続される。端末装置1aは、部品2の代わりに、軟磁性材料21を含まない部品2aを備える点を除き、端末装置1と同様の構成である(図23参照)。すなわち、端末装置1aは、端末装置1と異なり、着磁磁界Bmを発しない。また、端末装置1aは、端末装置1と同様、CPU10、端末側磁気データ処理プログラム70が格納されたROM30等を備える(図9(A)参照)。つまり、端末装置1aは、当該端末装置1aが備えるCPU10が端末側磁気データ処理プログラム70を実行することにより、地磁気測定システムSYSaの一部として機能する。サーバ装置SVaは、ハードディスク950に、サーバ側磁気データ処理プログラム960の代わりに、第2実施形態に係る第2サーバ側磁気データ処理プログラムが格納されている点を除き、図9(B)に示すサーバ装置SVと同様に構成される。
図22は、サーバ装置SVaのCPU910が第2サーバ側磁気データ処理プログラムを実行することで実現される機能を表す機能ブロック図である。なお、図22において、記載の便宜上、サーバ装置SVaのCPU910が第2サーバ側磁気データ処理プログラムを実行することにより実現される機能に対して、符号「SVa」を付与している。
図22に示すように、第2実施形態に係るサーバ装置SVaは、分布判定部620、中心点算出部640、楕円面球面変換部520、及び歪判定部540を備える点と、データ制御部710の代わりにデータ制御部710aを備える点とを除き、第1実施形態に係るサーバ装置SV(図10参照)と同様に構成される。
分布判定部620は、センサ座標系Σにおいて、複数の磁気データq〜qの示す座標の分布が、3次元的な広がりを有しているか否かを判定する。
中心点算出部640は、センサ座標系Σにおいて、複数の磁気データq〜qの示す座標を近傍に有する球面Sの中心点cの示す座標を算出する。図4において説明したように、3次元磁気センサ60が測定する磁界が、地磁気Bg及び内部磁界Biである場合、複数の磁気データq〜qの示す座標が、球面Sの近傍に分布するため、球面Sと球面Sとは一致すると看做すことができ、球面Sの中心点cの座標を示すベクトルを、オフセットcOFFとして採用することができる。第2実施形態に係るサーバ装置SVaは、中心点算出部640を備えることで、着磁磁界Bmが存在せず、複数の磁気データq〜qの示す座標が球面近傍に分布する場合に、簡易な方法により、3次元磁気センサ60のオフセットcOFFの候補となる座標を算出することが可能となる。
楕円面球面変換部520は、最適楕円面補正行列TOP、最適中心点cEOP、及び、複数の磁気データq〜qから、複数の変換後磁気データs〜sを生成する。具体的には、楕円面球面変換部520は、式(67)に示ように、最適中心点cEOPの座標を起点として磁気データqの示す座標を終点とする第1磁気ベクトル(q−cEOP)を、最適楕円面補正行列TOPにより変換し、最適中心点cEOPを起点として変換後磁気データsの示す座標を終点とする第2磁気ベクトル(s−cEOP)を算出することで、変換後磁気データsの示す座標を算出する。
歪判定部540は、センサ座標系Σにおいて、複数の入力座標(複数の磁気データq〜qの示す座標、または、複数の変換後磁気データs〜sの示す座標)がある立体近傍に分布すると仮定して、当該立体の形状と球面の形状との相違の程度を評価することで、立体の形状を球面と看做すことができる否かを判定する。
外部磁界Bxが存在し、複数の磁気データq〜qの示す座標が球面または楕円面とは異なる歪んだ形状の立体近傍に分布する場合、3次元磁気センサ60のオフセットcOFFの候補となる値を算出することは、困難である。
第2実施形態に係るサーバ装置SVaは、歪判定部540を備えることで、外部磁界Bxの影響が大きく、オフセットcOFFの候補となる座標の算出が困難な場合に、不正確な値がオフセットcOFFとして採用されることを防止することができる。これにより、端末装置1及び端末装置1aが、不正確なオフセットを用いた補正処理により不正確な地磁気Bgの向きを算出することを防止することが可能となる。
データ制御部710aは、サーバ側送受信部720、分布判定部620、中心点算出部640、楕円面補正部200、楕円面球面変換部520、及び、歪判定部540に入力される情報と、これらが出力する情報とを管理するとともに、所定の条件の下、応答情報RESを生成する。
具体的には、データ制御部710aは、サーバ側送受信部720が出力する複数の磁気データq〜qを保持する。また、データ制御部710aは、楕円面球面変換部520が算出する複数の変換後磁気データs〜sと、中心点算出部640が算出する球面Sの中心点cの座標と、楕円面補正部200が算出する最適中心点cEOPの座標及び最適楕円面補正行列TOPと、分布判定部620における判定結果を示す情報と、歪判定部540における判定結果を示す情報とを、保持する。
また、詳細は後述するが、データ制御部710aは、所定の条件の下、最適中心点cEOPまたは中心点cのうち一方を応答中心点cSAとして採用する。そして、データ制御部710aは、最適中心点cEOPを応答中心点cSAとして採用する場合、最適楕円面補正行列TOPを応答補正行列Tとして採用することで、応答情報RESを生成する。一方、データ制御部710aは、中心点cを応答中心点cSAとして採用する場合、3行3列の単位行列Iを応答補正行列Tとして採用することで、応答情報RESを生成する。
なお、データ制御部710aが中心点cを応答中心点cSAとして採用し、且つ、オフセット採用部131が応答中心点cSAの座標を示すベクトルをオフセットcOFFとして採用する場合、式(1.a)から明らかなように、地磁気ベクトル計算部132は、3次元磁気センサ60が順次出力する磁気データqの示す座標から、中心点cの座標を減算することにより、地磁気Bgの向きを算出する。すなわち、この場合、地磁気ベクトル計算部132は、楕円補正を行わず、単なるベクトルの減算処理として地磁気Bgの向きを算出することになる。
以下では、第2実施形態に係る地磁気測定システムSYSaを説明する前提として、外部磁界Bxの性質について説明する。
図23は、3次元磁気センサ60の検出対象である、地磁気Bg、内部磁界Bi、着磁磁界Bm、及び外部磁界Bxを、地上座標系Σにおいて表した概念図である。ここで、図23に示す位置Pは、地上座標系Σにおけるセンサ座標系Σの原点の位置(すなわち、地上座標系Σにおける、3次元磁気センサ60の位置)を表す。
図23に示すように、外部磁界Bxは、端末装置1または端末装置1aの外部に存在する物体3が発する磁界であり、物体3との相対的位置関係によって向き及び大きさが変化する不均一な磁界である。地上座標系Σにおける3次元磁気センサ60の位置Psを変化させた場合、3次元磁気センサ60が測定する外部磁界Bxの向き及び大きさが変化する。従って、外部磁界Bxは、地上座標系Σにおいて、位置Psに依存して方向及び大きさの双方を変化させるベクトルBx(Ps)として表現される。また、地上座標系Σにおける3次元磁気センサ60の姿勢μを変化させた場合、3次元磁気センサ60が測定する外部磁界Bxの向きが変化する。
図24は、3次元磁気センサ60の位置PsをPS1〜PSNと変化させると共に、姿勢μをμ〜μと変化させて磁界を測定したときの、3次元磁気センサ60が出力する複数の磁気データq〜qを、センサ座標系Σにおいてプロットした図である。
なお、図24では、簡単のために、着磁磁界Bmは存在せず、内部磁界Bi、地磁気Bg、及び外部磁界Bxのみが存在する場合を想定する。
外部磁界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の表面近傍に分布する。
外部磁界Bxを表す曲面SXが、球面とは異なる歪んだ形状を有する場合には、立体SDも球面とは異なる歪んだ形状を有する。立体SDが、球面とは異なる歪んだ形状を有する場合、複数の磁気データq〜qの示す座標に基づいて、地磁気Bgを表す球面Sの中心点cOGの座標を算出することは困難である。仮に、複数の磁気データq〜qの示す座標を近傍に有するような球面Sを定め、球面Sの中心点cを算出しても、球面Sの中心点cと球面Sの中心点cOGとは異なる座標となる可能性が高いからである。(図31参照)。このように、立体SDが球面とは異なる歪んだ形状を有し、球面Sの中心点cOGの示す座標の算出が困難である場合には、複数の磁気データq〜qに基づいてオフセットcOFFが算出されることを防止する必要がある。
但し、不均一な外部磁界Bxの影響が小さく、立体SDの形状がほぼ球面と看做せる場合には、複数の磁気データq〜qの示す座標に基づいて、球面Sの中心点cOGの示す座標を算出することができる。例えば、図25(A)に示すように、外部磁界Bxが微弱である場合、地磁気Bgを表す球面Sと、外部磁界Bxを表す曲面SXとの重ね合わせである立体SDは、球面Sとほぼ同一の図形となる。従って、複数の磁気データq〜qの示す座標は、球面Sの近傍に分布すると看做すことができるため、複数の磁気データq〜qから、球面Sの中心点cOGの示す座標を算出することができる。
また、図25(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の示す座標を算出することができる。
本実施形態に係るサーバ装置SVaは、複数の磁気データq〜qの示す座標に基づいて、外部磁界Bxによる影響の大きさ、すなわち、立体SDの形状と球面の形状との相違の程度を評価する。これにより、サーバ装置SVaは、複数の磁気データq〜qの示す座標に基づいて、オフセットcOFFの候補となる座標を算出可能である否かを判断し、端末装置1または端末装置1aにおいて、外部磁界Bxの影響を受けた不正確なオフセットcOFFが採用されることを防止する。
なお、詳細は後述するが、本実施形態に係るサーバ装置SVaは、楕円面補正部200、楕円面球面変換部520、及び歪判定部540により、複数の磁気データq〜qの示す座標の分布の形状と、楕円面の形状との相違の程度について評価することもできる。複数の磁気データq〜qの示す座標を、楕円補正により複数の変換後磁気データs〜sの表す座標に変換した場合、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状が球面と看做すことができれば、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形は、楕円面と看做すことができるからである。
すなわち、図22に示すように、楕円面補正部200、楕円面球面変換部520、及び歪判定部540は、複数の磁気データq〜qの示す座標の分布の形状が、球面と看做すことのできる形状、楕円面と看做すことのできる形状、または、球面と看做すことも楕円面と看做すこともできない歪んだ形状、のいずれに該当するかを判断する、歪形状判断部500として機能する。
そして、歪形状判断部500が、複数の磁気データq〜qの示す座標の分布の形状を、球面と看做すことのできる形状、または、楕円面と看做すことのできる形状であると判断した場合、サーバ装置SVaは、オフセットcOFFの候補となる座標を示す応答中心点cSAを生成するが、球面とも楕円面とも異なる歪んだ形状であると判断した場合、応答中心点cSAを生成しない。
このように、本実施形態に係る地磁気測定システムSYSaは、歪形状判断部500を備えることにより、外部磁界Bxの影響による不正確なオフセットが算出されることを防止することが可能になるとともに、外部磁界Bxの影響が無視できる程度に小さい場合には、ソフトアイアン効果の発生の有無に関わらず正確なオフセットcOFFの算出が可能になる。
以下、本実施形態における、サーバ装置SVaの動作について、具体的に説明する。
[9. 第2実施形態に係る地磁気測定装置の動作を表すフローチャート]
図26は、第2実施形態に係るサーバ装置SVaの動作を表すフローチャートである。当該フローチャートに示される処理は、CPU910が第2サーバ側磁気データ処理プログラムを実行している状態で、端末装置1または端末装置1aから複数の磁気データq〜qを受信したときに開始される。
ステップS51において、CPU910は、磁気データ格納処理を実行する。具体的には、CPU910は、通信部940が受信したN個の磁気データq〜qを、第3記憶領域Area3に格納する。
ステップS53において、CPU910は、磁気データ分布判定処理を実行する。具体的には、CPU910は、ステップS51の磁気データ格納処理において第3記憶領域Area3に格納されたN個の磁気データq〜q(以下、本節において、「N個の磁気データq〜q」と称する。)が、当該N個の磁気データq〜qを送信した端末装置1または端末装置1aにおけるセンサ座標系Σ(以下、本節において、「センサ座標系Σ」と称する。)において示す座標の分布が3次元的な広がりを有しているか否かを判定する。判定結果が肯定である場合、CPU910は、処理をステップS55に進める。一方、判定結果が否定である場合、すなわち、複数の磁気データq〜qの示す座標の分布が2次元的または1次元的である場合、CPU910は、処理をステップS71に進める。
すなわち、CPU910は、ステップS53の磁気データ分布判定処理を実行することにより、分布判定部620として機能する。
ステップS55において、CPU910は、中心点算出処理を実行する。具体的には、CPU910は、N個の磁気データq〜qが、センサ座標系Σにおいて示す座標を近傍に有する球面Sの中心点cの座標を算出する。
すなわち、CPU910は、ステップS55の中心点算出処理を実行することにより、中心点算出部640として機能する。
ステップS57において、CPU910は、歪判定処理を実行する。具体的には、CPU910は、まず、N個の磁気データq〜qの各々がセンサ座標系Σにおいて示す座標を、入力座標として採用する。次に、CPU910は、複数の入力座標がある立体SDの近傍に分布すると仮定して、立体SDの形状と球面の形状との相違の程度を評価することで、立体SDの形状を球面と看做すことができるか否かを判定する。判定結果が肯定である場合、CPU910は、処理をステップS67に進める。一方、判定結果が否定である場合(すなわち、立体SDが球面とは異なる歪のある形状を有する場合)、CPU910は、処理をステップS59に進める。
ステップS59において、CPU910は、初期楕円面生成処理を実行する。具体的には、CPU910は、N個の磁気データq〜qに基づいて、初期中心点cE0の座標と初期楕円面補正行列Tとを算出することができるか否かを判定する。判定結果が肯定の場合、CPU910は、初期中心点cE0の座標と初期楕円面補正行列Tとを算出したうえで、処理をステップS61に進める。一方、判定結果が否定の場合、CPU910は、処理をステップS71に進める。
すなわち、CPU910は、ステップS59の初期楕円面生成処理を実行することにより、楕円面初期補正値生成部300として機能する。
ステップS61において、CPU910は、最適楕円面生成処理を実行する。具体的には、CPU910は、ステップS59の初期楕円面生成処理において算出された初期中心点cE0と初期楕円面補正行列Tとに基づいて、最適中心点cEOPの座標と最適楕円面補正行列TOPとを算出する。
すなわち、CPU910は、ステップS61の最適楕円面生成処理を実行することにより、楕円面最適補正値生成部400として機能する。
ステップS63において、CPU910は、楕円面球面変換処理を実行する。具体的には、CPU910は、最適楕円面補正行列TOP及び最適中心点cEOPに基づいて、最適楕円面VEOP近傍に存在するN個の磁気データq〜qの示す座標を、N個の変換後磁気データs〜sにより表される球面SEOP近傍の座標へと変換する。その後、CPU910は、N個の変換後磁気データs〜sを、第3記憶領域Area3に格納する。
すなわち、CPU910は、ステップS63の楕円面球面変換処理を実行することにより、楕円面球面変換部520として機能する。
ステップS65において、CPU910は、歪判定処理を実行する。具体的には、CPU910は、まず、ステップS63の楕円面球面変換処理において算出されたN個の変換後磁気データs〜sの各々がセンサ座標系Σにおいて示す座標を、入力座標として採用する。次に、CPU910は、複数の入力座標がある立体SDの近傍に分布すると仮定して、立体SDの形状と球面の形状との相違の程度を評価することで、立体SDの形状を球面と看做すことができるか否かを判定する。判定結果が肯定である場合、CPU910は、処理をステップS67に進める。一方、判定結果が否定である場合(すなわち、立体SDが球面とは異なる歪のある形状を有する場合)、CPU910は、処理をステップS71に進める。
すなわち、CPU910は、ステップS57の歪判定処理、または、ステップS65の歪判定処理を実行することにより、歪判定部540として機能する。
なお、以下では、ステップS57においてCPU910が行う歪判定処理と、ステップS65においてCPU910が行う歪判定処理とを区別する場合、前者を第1の歪判定処理と称し、後者を第2の歪判定処理と称する。また、第1の歪判定処理において形状が評価される立体SDと区別するため、第2の歪判定処理において形状が評価される立体を立体SDと称する。第1の歪判定処理と第2の歪判定処理とは、複数の入力座標の値が異なる以外は、同一の処理である。
本実施形態では、ステップS65における判定結果が否定である場合、CPU910は、処理をステップS71に進めるが、その際に、端末装置1(または端末装置1a)が何らかのメッセージを表示部50に出力するように、端末装置1(または端末装置1a)に対して指示してもよい。
N個の磁気データq〜qを取得する際に、利用者が端末装置1(または端末装置1a)を手で握って回転させるのではなく、端末装置1(または端末装置1a)の位置を固定したままその姿勢のみを変化させるようにすると、外部磁界Bxの影響を低く抑えることができる(図25(B)参照)。そのため、ステップS65における判定結果が否定である場合には、端末装置1(または端末装置1a)の位置を固定したまま回転させることを、利用者に対して指示してもよい。利用者に対する指示は、端末装置1(または端末装置1a)の表示部50に画像や動画等を表示したり、音声等を用いたりすることで、行ってもよい。
ステップS67において、CPU910は、応答情報生成処理を実行する。具体的には、CPU910は、ステップS57の歪判定処理における判定結果が肯定である場合、ステップS55の中心点算出処理においてCPU910が算出した中心点cを応答中心点cSAとして採用し、3行3列の単位行列Iを応答補正行列Tとして採用し、応答中心点cSAの座標と応答補正行列Tとを要素とする応答情報RESを生成する。
一方、CPU910は、ステップS57の歪判定処理における判定結果が否定である場合、ステップS61の最適楕円面生成処理においてCPU910が算出した最適中心点cEOPを応答中心点cSAとして採用し、ステップS61の最適楕円面生成処理においてCPU910が算出した最適楕円面補正行列TOPを応答補正行列Tとして採用し、応答中心点cSAの座標と応答補正行列Tとを要素とする応答情報RESを生成する。
ステップS69において、CPU910は、応答情報送信処理を実行する。具体的には、CPU910は、ステップS67の応答情報生成処理において生成された応答情報RESを、端末装置1(または端末装置1a)に送信する。
すなわち、CPU910は、ステップS51の磁気データ格納処理と、ステップS69の応答情報送信処理とを実行することにより、サーバ側送受信部720として機能する。
ステップS71において、CPU910は、データ初期化処理を実行する。具体的には、CPU910は、N個の磁気データq〜qと、応答情報RES等のN個の磁気データq〜qに基づいて生成された情報とを破棄する。そして、CPU910は、当該フローチャートに示す処理を終了する。
すなわち、CPU910は、ステップS67の応答情報生成処理と、ステップS71のデータ初期化処理とを実行することにより、データ制御部710aとして機能する。
このように、本実施形態に係るサーバ装置SVaは、ステップS57において、N個の磁気データq〜qの示す座標が、球面Sの近傍に分布するか、球面とは異なる歪んだ形状の立体SDの近傍に分布するかを判定する。そして、N個の磁気データq〜qの示す座標が、球面とは異なる歪んだ形状の立体SDの近傍に分布すると判定された場合、ステップS59〜S65を実行することにより、N個の磁気データq〜qの示す座標が、最適楕円面VEOPの近傍に存在するか否かの判定を行う。
すなわち、本実施形態の地磁気測定装置は、N個の磁気データq〜qの示す座標の分布形状が、球面、楕円面、及び球面とも楕円面とも異なる歪んだ形状の立体のうち、いずれの形状と看做すことが適当であるかについて、判別することが可能となる。
これにより、本実施形態に係る地磁気測定システムSYSaは、N個の磁気データq〜qの示す座標が、球面または楕円面の近傍に分布する場合には、これらの中心点をオフセットとして採用することにより、正確な地磁気の向きを算出することができる。一方、N個の磁気データq〜qの示す座標が、球面とも楕円面とも異なる歪んだ形状の立体の近傍に分布する場合、本実施形態に係る地磁気測定システムSYSaは、オフセットの算出を防止するため、不正確な地磁気の向きの算出を防止することができる。
以下において、磁気データ分布判定処理、中心点算出処理、及び歪判定処理の詳細を説明する。なお、理解を容易なものとするために、中心点算出処理を説明した後に、磁気データ分布判定処理の説明を行う。
[10. 中心点算出処理]
図27を参照しつつ、ステップS55において、サーバ装置SVa(CPU910)が実行する中心点算出処理について説明する。中心点算出処理は、端末装置1(または端末装置1a)から供給されるN個の磁気データq〜qの示す座標が、半径rの球面Sの近傍に分布すると仮定して、球面Sの中心点cの座標を算出する処理である。球面Sは、端末装置1(または端末装置1a)のセンサ座標系Σにおいて、複数の磁気データq〜qの示す座標を近傍に有するように定められる球面の中心点の座標を求めるために、計算の便宜上導入される球面であり、地磁気Bgを表す球面Sとは異なる球面である。なお、以下において記載されるベクトル及び座標は、特に断りがない場合には、端末装置1(または端末装置1a)のセンサ座標系Σにおいて表現されたものであるとする。
複数の磁気データq〜qの示す座標を近傍に有する球面Sの中心点cの座標の算出は、公知の方法を適宜適用すればよい。例えば、以下の方法により算出してもよい。
磁気データqの示す座標を式(11)で表し、中心点cの座標を以下の式(72)で表した場合、複数の磁気データq〜qの示す座標が、半径rの球面S上に存在することは、以下の式(71)で表される。
Figure 0006019585
図27に示すように、磁気データ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)に示す値である。
Figure 0006019585
式(73)に示した球面方程式は、複数の磁気データq〜qの示す座標の全てが、中心点cを中心とする球面S上に完全に一致する場合には解を有する。しかし、3次元磁気センサ60の測定誤差等を考慮すると、複数の磁気データq〜qの全てが、球面Sと完全に一致することはないため、球面方程式は解を持たない。そこで、統計的な手法により、球面方程式の尤もらしい解を得るために、式(79)で表す誤差を吸収するベクトルである第1球面誤差ベクトルδを導入する。ここで、式(79)に現れる変数ベクトルcは、式(1.e)に示した3次元のベクトルであるが、本節では、中心点cの座標を表すための変数として用いる。
Figure 0006019585
第1球面誤差ベクトルδのノルムを最小にするベクトルc、換言すれば、(δ))を最小化するようなベクトルcの表す座標が、球面Sの中心点cの座標として尤もらしいものであるといえる。ここで、以下の式(80)で示される中心点算出関数f(c)を定義すると、中心点算出関数f(c)を最小化するベクトルcの表す座標が、球面Sの中心点cの座標として尤もらしい値となる。中心点cの座標は、式(82)に示す3行3列の共分散行列Aが正則である場合には、式(81)により算出される。
Figure 0006019585
前述の通り、3次元磁気センサ60が、内部磁界Bi及び地磁気Bgのみを検出する場合には、球面Sと、地磁気Bgを表す球面Sとは、ほぼ同一の球面となり、球面Sの中心点cと、球面Sの中心点cOGとは、ほぼ同一の座標となる。従って、3次元磁気センサ60が内部磁界Bi及び地磁気Bgのみを検出する場合、式(81)に示される中心点cの座標を示すベクトルを、磁気センサのオフセットcOFFとして採用することができる。
[11. 磁気データ分布判定処理]
以下では、ステップS53において、サーバ装置SVa(CPU910)が実行する磁気データ分布判定処理について説明する。
前述した、中心点算出処理において、球面Sの中心点cを算出するためには、複数の磁気データq〜qの示す座標が、センサ座標系Σにおいて3次元的な広がりを有して分布していることが必要である。しかし、3次元磁気センサ60の姿勢μは、端末装置1(または端末装置1a)の利用者が手で端末装置1(または端末装置1a)を動かすことにより変化するため、端末装置1(または端末装置1a)の動かし方が不十分な場合には、端末装置1(または端末装置1a)の姿勢変化は3次元的とはならず2次元的なものとなることがある。この場合、センサ座標系Σにおける複数の磁気データq〜qの示す座標は、3次元的な広がりを有さず2次元的に分布する。
例えば、図28に示すように、複数の磁気データq〜qの示す座標が、センサ座標系Σの平面π上の円π近傍に2次元的に分布する場合、球面Sは、円πを切断面に有するような球面であるということしか特定できない。円πを切断面に有するような球面は、円πの中心点πCOを通り平面πに直交する直線π上の中心点cπ1を中心とする球面Sπ1であるかもしれないし、直線π上の中心点cπ2を中心とする球面Sπ2であるかもしれない。つまり、球面Sの中心点cは、直線π上に位置することまでは特定可能であるが、具体的に直線π上のどの位置に存在するかについては特定不可能である。このように、複数の磁気データq〜qの示す座標が2次元的に分布する場合、複数の磁気データq〜qに基づいて、正確な(オフセットcOFFの候補となる座標を表す)中心点cを算出することはできない。
複数の磁気データq〜qに基づいて球面Sの中心点cを算出するためには、図29に示すように、センサ座標系Σにおいて複数の磁気データq〜qの示す座標が3次元的に広がりを持って分布していることが必要となる。磁気データ分布判定処理において、サーバ装置SVa(CPU910)は、複数の磁気データq〜qの示す座標が3次元的に分布しているか否かを判定する。複数の磁気データq〜qの示す座標が3次元的に分布しているか否かの判定は、公知の方法を適宜適用すればよいが、例えば、式(82)に示される共分散行列Aを用いて判定してもよい。以下において、共分散行列Aの性質を説明する。
共分散行列Aの固有値を、大きい順番に最大固有値λ、中間固有値λ、最小固有値λとし、それぞれの固有値に対応する大きさ1に正規化された固有ベクトルをu、u、uとする。また、磁気データqを、前述した重心qを原点とする重心座標系Σにおいて表したベクトルをと表す。このとき、固有値λ(j=1、2、3)は、固有ベクトルu方向の分散σ に等しい。
図29に示すように、各固有ベクトルu〜uを重心座標系Σの原点qを起点となるように配置する。このとき、例えばj=1の場合について検討する。固有値λは、ベクトルを、固有ベクトルuへ射影した長さLi1の二乗(Li1を、N個の磁気データ(i=1、2、…N)について平均した値に等しい。すなわち、固有値λは、N個の磁気データが、重心qから固有ベクトルu方向にどの程度離れているか、つまり、複数の磁気データq〜qの示す座標の分布が固有ベクトルuの方向にどの程度の広がり有するかを表す。
最小固有値λに対応する固有ベクトルuの方向が、複数の磁気データq〜qの示す座標の分布の広がりが最も小さい方向であり、最小固有値λが、複数の磁気データq〜qの示す座標の分布の広がりが最も小さい方向における広がりの程度を示す指標である。従って、複数の磁気データq〜qの示す座標が3次元的に分布しているといえるためには、最小固有値λの値が、一定の閾値(分散許容値)λ以上であればよい。
磁気データ分布判定処理において、サーバ装置SVa(CPU910)は、共分散行列Aの最小固有値λが閾値λ以上であれば、複数の磁気データq〜qの示す座標の分布が十分に3次元的であると判断して、処理を前述したステップS55の中心点算出処理へと進める。一方、サーバ装置SVa(CPU910)は、最小固有値λが閾値λ未満である場合には、複数の磁気データq〜qの示す座標が3次元的な広がりを有さないと判断し、処理をステップS71のデータ初期化処理に進める。
[12. 歪判定処理]
サーバ装置SVa(CPU910)は、ステップS57において第1の歪判定処理を実行するとともに、ステップS65において第2の歪判定処理を実行する。第2の歪判定処理は、複数の入力座標として、複数の磁気データq〜qの示す座標の代わりに、複数の変換後磁気データs〜sの示す座標を用いる点を除いて、第1の歪判定処理と同様の処理である。
以下12.1節において、第1の歪判定処理について述べた上で、12.2節において、第2の歪判定処理について述べる。
[12.1. 第1の歪判定処理]
歪判定処理では、複数の入力座標、すなわち、複数の磁気データq〜qの示す座標が、球面とは異なる歪んだ形状の立体SDの表面近傍に分布すると仮定する。立体SDは、図30に示すように、球面(第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は、式(1.e)で示された3次元のベクトルであるが、本節では、球面Sの中心点cS2を表すための変数として用いる。
歪判定処理は、立体方程式のうち、歪を表す成分k(E)の大きさを評価することにより、立体SDの形状と、球面Sの形状とが、どの程度相違しているかについて評価する。具体的には、立体方程式における歪誤差ベクトルk(E)の影響の大きさを、後述する式(93)及び式(94)で示される歪評価値g(E)に基づいて評価する。
Figure 0006019585
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を採用する。
Figure 0006019585
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が表現される。
Figure 0006019585
以下で、式(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を求める処理である。
一方、立体誤差ベクトルδ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)とに分離して表現する。
立体方程式における歪誤差ベクトル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として採用することができる。
逆に、立体方程式における歪誤差ベクトルk(E)の影響が大きい場合、図30に示すように、複数の磁気データq〜qが示す座標と球面Sとの誤差は、ホワイトノイズである第2球面誤差ベクトルδS2と、球面Sからの歪を表す歪誤差ベクトルk(E)とによって吸収される。この場合、立体SDの形状は、球面とは異なる形状を有する。
また、立体方程式における歪誤差ベクトルk(E)の影響が大きい場合、歪評価関数fSD(E、c)と、中心点算出関数f(c)とは、異なる関数となる。この場合、図31に示すように、歪評価関数fSD(E、c)を最小化して求められる立体SDと、中心点算出関数f(c)を最小化して求められる球面Sとは、異なる図形となり、立体SDの表面近傍に分布する複数の磁気データq〜qの示す座標は、球面Sの近傍に分布すると看做すことはできない。
中心点算出処理は、複数の磁気データq〜qの示す座標が球面Sの近傍に存在していることを前提として、球面Sの中心点cOGと等しいと看做すことのできる中心点cの示す座標を算出する処理である。従って、複数の磁気データq〜qの示す座標が球面Sの近傍に存在しない場合、中心点cと、中心点cOGとは、一致しない。この場合、中心点cの座標を示すベクトルを、オフセットcOFFとして採用することはできない。
このように、立体方程式における歪誤差ベクトルk(E)の影響の大きさを評価することにより、球面Sの中心点cを、オフセットcOFFとして採用することの可否を判断することが可能である。以下では、立体方程式おける歪誤差ベクトルk(E)の影響の大きさを評価する方法について述べる。
ここで、以下の式(93)及び(94)に示す歪評価値g(E)を、立体方程式における歪誤差ベクトルk(E)の影響の大きさを評価する評価値として定義する。歪評価値g(E)は、歪評価行列Eの有する3つの固有値のうち、絶対値が最大となる最大固有値λE1の絶対値(つまり、歪評価行列Eのノルム)である。
歪評価値g(E)が、歪許容値δ以下の小さな値であれば、立体SDと球面Sとは等しい図形であると看做すことができ、立体SDの表面近傍に分布する複数の磁気データq〜qの示す座標は、球面Sの近傍に分布すると看做すこともできる。この場合、中心点算出処理により求められた球面Sの中心点cの座標を表すベクトルを磁気センサのオフセットcOFFとして採用することができる。
Figure 0006019585
ところで、前述の通り、歪誤差ベクトル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と球面との形状の相違の程度を評価することが可能となる。
以下に、歪評価値g(E)を求める方法について説明する。
まず、式(87)に示した関数ke(v)は、以下の式(95)に変形できる。また、歪誤差ベクトルk(E)の第i行目の要素ke(q−wKE)は、式(97)によって示される6次元のベクトルke(i)、及び、式(98)によって表される歪評価行列Eの各成分を並べた6次元のベクトルeを用いて、以下の式(96)に変形できる。
Figure 0006019585
ここで、式(99)で示す行列Xを導入する。行列Xは、ベクトルke(i)を転置した1行6列のベクトルと、ベクトル(q−q)を転置した1行3列のベクトルとを、各行に並べて生成された、N行9列の行列である。
Figure 0006019585
式(92)に示した歪評価関数fSD(E、c)は、行列Xを用いることで、以下の式(100)に表す関数gSD(e)に変形される。なお、ベクトルeは、以下の式(101)に示すように、ベクトルeと、以下の式(102)に示す3次元のベクトルeとを並べた、9次元のベクトルである。
Figure 0006019585
式(100)に示す関数gSD(e)を最小化する解e=eは、以下の式(103)に示す連立方程式に対して、ガウス消去法や、コレスキー分解法などを適用することで求められる。なお、式(103)は、式(100)に対して、最小二乗法を適用することによって算出される正規方程式である。
Figure 0006019585
このようにして得た解eに基づき、式(85)の歪評価行列Eを復元する。そして、式(93)に示した歪評価値g(E)の値、即ち、歪評価行列Eのノルムを求め、歪評価値g(E)の値が歪許容値δ以下であるか否かを判定する。なお、歪評価行列Eのノルムは、歪評価行列Eの有する3つの固有値のうち絶対値が最大となる固有値λE1の絶対値に等しいため、ヤコビ法や、冪乗法により求めることができる。
歪評価値g(E)が歪許容値δ以下である場合、球面Sの中心点cの座標を表すベクトルを、オフセットcOFFとすることが可能である。この場合、サーバ装置SVa(CPU910)は、処理をステップS67の応答情報生成処理に進め、球面Sの中心点cを応答中心点cSAとして採用する。
一方、歪評価値g(E)が歪許容値δよりも大きな値である場合には、球面Sの中心点cの座標を表すベクトルを、オフセットcOFFとして採用することはできない。この場合、サーバ装置SVa(CPU910)は、処理をステップS59の初期楕円面生成処理に進める。
このように、サーバ装置SVa(CPU910)は、ステップS57の第1の歪判定処理において、複数の磁気データq〜qの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価する。立体SDと球面との形状の相違が無視できる程度に小さい場合には、立体SDを球面と看做すことができるため、球面Sの中心点cの座標を表すベクトルを、オフセットcOFFとして採用することができる。この場合には、ソフトアイアン効果が生じていないと看做すことができるため、地磁気測定システムSYSaは、楕円補正を行うことなく、地磁気Bgを算出することができる。すなわち、この場合、サーバ装置SVaは、ステップS59〜S65に示す処理(初期楕円面生成処理、最適楕円面生成処理、楕円面球面変換処理、及び、第2の歪判定処理)を行うことなく、応答情報RESを生成することができる。
すなわち、本実施形態に係る地磁気測定システムSYSaは、第1の歪判定処理を行うことにより、ソフトアイアン効果の有無を判断し、ソフトアイアン効果が生じていないと判断される場合には、楕円補正を行うことなく地磁気Bgの向きを算出する。これにより、本実施形態に係る地磁気測定システムSYSaは、地磁気Bgの向きの算出に係る計算負荷を大幅に低減することが可能となる。
なお、歪評価値g(E)が歪許容値δ以下である場合に、サーバ装置SVa(CPU910)は、ステップS67の応答情報生成処理において、球面Sの中心点cを応答中心点cSAとして採用するが、球面Sの中心点cS2を応答中心点cSAとして採用してもよい。歪評価値g(E)の値が閾値δ以下である場合には、球面Sの中心点cの示す座標と、球面Sの中心点cS2の示す座標とは、ほぼ等しくなり、いずれもオフセットcOFFとして採用することができるからである。
なお、球面Sの中心点cS2の座標は、関数gSD(e)を最小化する解eのうち式(101)のeに相当する3次元のベクトルを、式(102)に代入した場合の、変数ベクトルcとして算出される。
[12.2. 第2の歪判定処理]
図32を参照しつつ、ステップS65において、サーバ装置SVa(CPU910)が実施する第2の歪判定処理について説明する。
第2の歪判定処理は、ステップS57(第1の歪判定処理)における判定結果が否定である場合、すなわち、図32(A)に示すように、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると判定された場合に、図32(B)に示すように、複数の変換後磁気データs〜sの示す座標の分布形状を評価するための処理である。すなわち、第2の歪判定処理は、複数の入力座標として、複数の変換後磁気データs〜sの示す座標を用いる。
第1の歪判定処理において、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると評価される場合、立体SDの歪の原因が、不均一な外部磁界Bxではなく、ソフトアイアン効果である場合がある。不均一な外部磁界Bxは存在せず、且つ、ソフトアイアン効果が生じている場合、複数の磁気データq〜qの示す座標を近傍に有する立体SDは、楕円面Vと同一の形状を有すると看做すことができる。この場合、複数の磁気データq〜qの示す座標を、最適楕円面補正行列TOPにより変換して得られる複数の変換後磁気データs〜sの示す座標は、球面SEOP近傍に分布するため、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状は、球面と看做すことができる。
逆に、不均一な外部磁界Bxが存在する場合、図32(A)に示すように、複数の磁気データq〜qの示す座標を近傍に有する立体SDは、球面とは異なる歪んだ形状を有し、且つ、楕円面とも異なる形状を有する。この場合、複数の磁気データq〜qの示す座標を、最適楕円面補正行列TOPにより変換して得られる複数の変換後磁気データs〜sの示す座標は、図32(B)に示すように球面SEOPとは異なる歪んだ形状の立体SDの近傍に分布する。
このように、サーバ装置SVa(CPU910)は、ステップS65の第2の歪判定処理において、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状と球面(例えば、球面SEOP)の形状との相違の程度を評価することにより、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状と楕円面(例えば、楕円面V)の形状との相違の程度を評価する。
なお、立体SDの形状が、球面の形状と等しいと看做すことができる場合、ソフトアイアン効果が生じているが、不均一な外部磁界Bxの影響は存在しないと看做すことができる。この場合、地磁気測定システムSYSaは、最適中心点cEOPを用いた楕円補正を行うことで、地磁気Bgの向きを算出することができる。すなわち、この場合、サーバ装置SVa(CPU910)は、ステップS67の応答情報生成処理において、最適中心点cEOPを応答中心点cSAとして採用する。
一方、図32(B)に示すように、立体SDの形状が、球面の形状とは異なる歪を持った形状であると評価される場合、複数の磁気データq〜qが不均一な外部磁界Bxの影響を受けたものであると看做すことができる。この場合、地磁気測定システムSYSaは、地磁気Bgの向きを算出することはできない。すなわち、この場合、サーバ装置SVa(CPU910)は、応答情報RESを生成することなく、図26のフローチャートに示す処理を終了させる。
以下において、第2の歪判定処理の具体的な処理内容を説明する。
前述の通り、第2の歪判定処理は、歪判定処理に用いる複数の入力座標として、複数の磁気データq〜qの示す座標を用いる代わりに、複数の変換後磁気データs〜sの示す座標を用いる点を除いて、第1の歪判定処理と同様の処理である。
つまり、第2の歪判定処理は、第1の歪判定処理で用いた複数の磁気データq〜qの示す座標に対して、以下の式(104)、式(105)に示す複数の変換後磁気データs〜sの示す座標の値を代入した後に、12.1節で述べた第1の歪判定処理を実行する処理である。この場合、第1の歪判定処理において用いられる各種行列、ベクトル等の値のうち、複数の磁気データq〜qに基づいて算出される値は、第2の歪判定処理では、複数の変換後磁気データs〜sに基づいて算出される。具体的には、歪判定処理で用いる値のうち、10節で述べた中心点算出処理において算出される値、例えば、式(83)に示す立体方程式に現れる行列X等は、複数の磁気データq〜qの示す座標代わりに、複数の変換後磁気データs〜sの示す座標を用いて算出される。また、第2の歪判定処理は、複数の磁気データq〜qに基づいて算出される重心q(式(74)参照)の代わりに、以下の式(106)に示す、複数の変換後磁気データs〜sの示す座標に基づいて算出される重心sを用いる。また、第2の歪判定処理は、基準点wKEとして、複数の磁気データq〜qに基づいて算出される中心点cを採用(式(89)参照)する代わりに、以下の式(107)に示すように、複数の変換後磁気データs〜sに基づいて算出される最適中心点cEOPを採用する。
第2の歪判定処理は、このようにして複数の変換後磁気データs〜sの示す座標に基づいて定められる歪評価関数fSD(E、c)の値を最小化して求められる歪評価行列Eから歪評価値g(E)を算出することにより、立体SDと球面との形状の相違の程度を評価する。
Figure 0006019585
複数の変換後磁気データs〜sの示す座標に基づき算出された歪評価値g(E)が歪許容値δ以下である場合、ソフトアイアン効果が生じているが、不均一な外部磁界Bxの影響は存在しないと看做すことができる。この場合、サーバ装置SVa(CPU910)は、ステップS67の応答情報生成処理において、最適中心点cEOPを応答中心点cSAとして採用する。なお、この場合、サーバ装置SVa(CPU910)は、第2の歪判定処理において算出される、球面Sの中心点cS2を応答中心点cSAとして採用してもよい。
一方、複数の変換後磁気データs〜sの示す座標に基づき算出された歪評価値g(E)が歪許容値δよりも大きな値である場合、不均一な外部磁界Bxの影響が存在すると看做すことができる。この場合、球面SEOPの最適中心点cEOPの座標を表すベクトルを、オフセットcOFFとして採用することはできない。したがって、この場合、サーバ装置SVa(CPU910)は、応答情報RESを生成することなく、図26のフローチャートに示す処理を終了させる。
なお、本実施形態において、第1の歪判定処理における歪許容値δと、第2の歪判定処理における歪許容値δとは等しい値に設定されるが、異なる値に設定してもよい。
[13. 第2実施形態の結論]
以上に示したように、第2実施形態に係る地磁気測定システムSYSaは、歪判定部540を備えることにより、複数の磁気データq〜qの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価する。
そして、立体SDの形状が球面と看做すことができる場合、地磁気測定システムSYSaは、簡易な計算により地磁気Bgの向きを算出することができる。具体的には、地磁気測定システムSYSaは、歪判定部540において、複数の磁気データq〜qの示す座標が球面近傍に分布すると判定された場合、中心点算出部640が算出する中心点cの座標を表すベクトルを、オフセットcOFFとして採用することができる。そして、地磁気測定システムSYSaは、中心点cの示す座標と、磁気データqの示す座標とに基づいて、簡易な計算により地磁気Bgの向きを算出する。
このように、第2実施形態に係る地磁気測定システムSYSaは、3次元磁気センサ60が軟磁性材料を備えない端末装置1aに搭載され、ソフトアイアン効果が生じていない場合には、楕円補正を行うこと無く地磁気Bgの向きを算出するため、計算負荷を軽減することができる。
また、第2実施形態に係る地磁気測定システムSYSaは、複数の磁気データq〜qの示す座標を近傍に有する立体SDが、球面、楕円面、及び、球面とも楕円面とも異なる歪んだ形状の立体のいずれであるかを判別する歪形状判断部500(楕円面補正部200、楕円面球面変換部520、及び歪判定部540)を備える。そして、地磁気測定システムSYSaは、歪判定部540において、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると判断された場合、楕円面球面変換部520において算出される複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価することで、立体SDの歪の原因が、ソフトアイアン効果によるものであるのか、または、不均一な外部磁界Bxによるものであるのか、を区別する。
そして、立体SDの形状が球面とは異なる歪んだ形状である場合、つまり、立体SDの歪の原因が不均一な外部磁界Bxである場合には、地磁気測定システムSYSaは、不均一な外部磁界Bxの影響下で測定された複数の磁気データq〜qの示す座標に基づいてオフセットcOFFが算出されることを防止する。
一方、立体SDの形状が球面であると看做せる場合、つまり、ソフトアイアン効果が生じており、且つ、不均一な外部磁界Bxの影響がない場合、地磁気測定システムSYSaは、最適中心点cEOPの示す座標、最適楕円面補正行列TOP、及び、3次元磁気センサ60の出力する磁気データqの示す座標に基づいて、地磁気Bgの向きを算出することができる。
このように、地磁気測定システムSYSaは、歪形状判断部500(楕円面補正部200、楕円面球面変換部520、及び歪判定部540)を備えることで、複数の磁気データq〜qの示す座標を近傍に有する立体SDが、球面、楕円面、及び、球面とも楕円面とも異なる歪んだ形状の立体のいずれであるかを判別し、不正確なオフセットcOFFによる不正確な地磁気Bgの算出を防止することができる。
また、第2実施形態に係る地磁気測定システムSYSaは、分布判定部620を備えることにより、複数の磁気データq〜qの示す座標が、センサ座標系Σにおいて3次元的な広がりを有して分布しているか否かを判定することができる。
これにより、地磁気測定システムSYSaは、複数の磁気データq〜qの示す座標が2次元的または1次元的に分布している場合に、中心点算出部640が中心点cの座標を算出することを防止できる。
すなわち、本実施形態に係る地磁気測定システムSYSaは、不正確な中心点cがオフセットcOFFとして採用されることを防止できるとともに、不要な処理が実行されることを未然に防止することで処理負荷を軽減することができる。
また、複数の磁気データq〜qの示す座標が2次元的または1次元的に分布している場合に、複数の磁気データq〜qの示す座標の分布の形状から、楕円面の形状を特定することが困難であることが多い。本実施形態に係る地磁気測定システムSYSaは、このような場合に、楕円面補正部200が楕円補正を行うことを防止することで、不要な処理が実行されることを未然に防止し、処理負荷を軽減することができる。
また、第2実施形態に係る地磁気測定システムSYSaは、磁気データ分布判定処理、中心点算出処理、歪判定処理(第1の歪判定処理、第2の歪判定処理)、初期楕円面生成処理、及び最適楕円面生成処理を、サーバ装置SVaにおいて実行する。これらの処理は、4元一次連立方程式を解くことで近似中心点cSBを算出する近似中心点算出処理に比べて、負荷の大きな処理である。
第2実施形態に係る地磁気測定システムSYSaは、処理負荷の大きな演算を、全てサーバ装置SVaにおいて実施するため、端末装置1(または、端末装置1a)における処理負荷を小さく抑えることができる。すなわち、本実施形態に係る地磁気測定システムSYSaは、端末装置1(または、端末装置1a)の備えるCPUの処理能力に制約がある場合、または、メモリの容量に制約がある場合であっても、正確且つ高速に地磁気Bgの向きを算出することができる。
<C.変形例>
本発明は上述した実施形態に限定されるものではなく、例えば、以下の変形が可能である。また、以下に示す変形例のうちの2以上の変形例を、矛盾しない範囲で適宜組み合わせることもできる。
(1)変形例1
上述した第2実施形態において、歪誤差ベクトル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との形状の相違の程度を評価することが可能となる。
(2)変形例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)と球面との形状の相違の程度を正確に評価することができる。
(3)変形例3
上述した第2実施形態及び変形例において、地磁気測定システムは、第1の歪判定処理及び第2の歪判定処理の双方を行うが、本発明はこのような形態に限定されるものでは無く、第1の歪判定処理または第2の歪判定処理のうち、一方のみを実施してもよい。
例えば、地磁気測定システムが、第1の歪判定処理のみを行う場合、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状が、球面と看做すことができるか否かを判定することができるため、ソフトアイアン効果が生じているか否かを判定することができる。そして、ソフトアイアン効果が生じていない場合、地磁気測定システムは、初期楕円面生成処理、最適楕円面生成処理、楕円面球面変換処理、第2の歪判定処理を行うこと無く、地磁気Bgの向きを算出することができるため、計算負荷の低減が可能となる。
また、例えば、地磁気測定システムが、第2の歪判定処理のみを行う場合、複数の変換後磁気データs〜sの示す座標を近傍に有する立体SDの形状が、球面と看做すことができるかを判定することができる。
そして、第2の歪判定処理における判定結果が肯定である場合、複数の磁気データq〜qの示す座標を近傍に有する立体SDの形状は、楕円面と看做すことができるため、地磁気測定システムは、3次元磁気センサ60が出力する磁気データqの示す座標に対して、最適楕円面補正行列TOP、及び、最適中心点cEOPを用いた楕円補正を施すことにより、地磁気Bgの向きを算出することができる。なお、楕円面には球面が含まれるため(例えば、楕円面補正行列Tの有する3つの固有値が全て1の場合、等)、地磁気測定システムは、ソフトアイアン効果の発生の有無にかかわらず、地磁気Bgの向きを算出することができる。
一方、第2の歪判定処理における判定結果が否定である場合、複数の磁気データq〜qは不均一な外部磁界Bxの影響を受けているため、地磁気測定システムは、複数の磁気データq〜qに基づいてオフセットcOFFが算出されることを防止する。
(4)変形例4
上述した実施形態及び変形例において、地磁気測定システムは、楕円面最適補正値生成部400を備え、最適楕円面補正行列TOP及び最適中心点cEOPに基づいて、磁気データqの示す座標を、変換後磁気データsの示す座標へと変換する楕円補正を行うが、本発明はこのような形態に限定されるものでは無く、地磁気測定システムは、楕円面最適補正値生成部400を備えずに構成されてもよい。この場合、地磁気測定システムは、応答補正行列T及び応答中心点cSAとして、楕円面初期補正値生成部300が算出する初期楕円面補正行列T及び初期中心点cE0を採用してもよい。この場合、地磁気測定システムは、最適楕円面生成処理を行わないため、地磁気Bgの算出に係る計算負荷を低減することができる。
なお、楕円面初期補正値生成部300は、空間Ω上の第1評価軸ξ、第2評価軸ξ、及び、第3評価軸ξの3つの異なる評価軸を用いて、3つの異なる楕円面を生成した後に、これらの3つの楕円面の中心点の相互間の距離が第1閾値Δc以下であるか否かを判定し、判定結果が肯定となる場合に限り、初期楕円面補正行列T及び初期中心点cE0を生成する。従って、初期楕円面補正行列T及び初期中心点cE0により表される初期楕円面VE0は、複数の磁気データq〜qの示す座標との誤差を最小化する楕円面ではないが、複数の磁気データq〜qの示す座標の分布形状を正確に表す。すなわち、変形例4に係る地磁気測定システムは、ソフトアイアン効果が生じている場合であっても、初期楕円面補正行列T及び初期中心点cE0を用いた楕円補正により、正確な地磁気Bgの向きを算出することができる。
(5)変形例5
上述した実施形態及び変形例において、地磁気測定システムは、楕円面初期補正値生成部300において、第1楕円面Vxx、第2楕円面Vyy、及び、第3楕円面Vzzを生成し、これら3つの楕円面に基づいて、初期楕円面補正行列T及び初期中心点cE0を算出するが、本発明はこのような形態に限定されるものではなく、公知の方法を適宜適用して初期楕円面補正行列T及び初期中心点cE0を算出してもよい。
例えば、初期楕円面補正行列T及び初期中心点cE0を、非特許文献2に開示された方法(つまり、5節に示した対比例)に基づいて算出してもよい。また、初期楕円面補正行列Tとして3行3列の単位行列を採用し、初期中心点cE0としてセンサ座標系Σの原点O=(0,0,0)を採用してもよい。この場合、初期楕円面補正行列T及び初期中心点cE0の算出に係る計算負荷を低減することが可能となる。
(6)変形例6
上述した第2実施形態及び変形例において、地磁気測定システムは、第2の歪判定処理に用いられる複数の入力座標として、複数の変換後磁気データs〜sの示す座標を適用したが、本発明はこのような形態に限定されるものでは無く、複数の変換後磁気データs〜sの示す座標を最適中心点cEOPを起点として表した複数のベクトル、すなわち、ベクトル(s−cEOP)〜ベクトル(s−cEOP)を複数の入力座標に適用してもよい。この場合、歪判定処理に用いられるデータのサイズを小さくすることができ、処理に必要なメモリのサイズの節約をすると共に、処理速度を向上させるという利点を有する。
(7)変形例7
上述した実施形態および変形例において、地磁気測定システムは、初期楕円面判定部320において、初期楕円面生成部310が算出する値(第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、第3楕円面係数行列Dzz、中心点cxx、中心点cyy、及び、中心点czz)が、第1の条件及び第2の条件の双方を充足するか否かを判定するものであったが、本発明はこのような形態に限定されるものではなく、中心点cxx、中心点cyy、及び、中心点czzが第2の条件を充足するか否かのみを判定してもよい。この場合、初期楕円面判定部320は、第1の条件についての判定を行わず、第2の条件についての判定のみを行うものであってもよい。例えば、初期楕円面判定部320は、初期楕円面係数行列判定部321を備えずに、初期楕円面中心点判定部322のみにより構成されてもよい。
また、初期補正値生成部330は、初期楕円面生成部310が算出する値が第2の条件を充足する場合(すなわち、初期楕円面中心点判定部322における判定結果が肯定の場合)に、初期中心点cE0の座標及び初期楕円面補正行列Tを算出するものであってもよい。
(8)変形例8
上述した実施形態及び変形例において、地磁気測定システムは、初期楕円面生成部310において、3つの楕円面(第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzz)の各々の係数行列及び中心点の座標を算出するものであったが、本発明はこのような形態に限定されるものでは無く、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、2つの楕円面の各々の係数行列及び中心点の座標を算出するものであってもよい。この場合、初期楕円面生成部310は、第1楕円面生成部311、第2楕円面生成部312、及び第3楕円面生成部313のうち、少なくとも2つを備えればよい。
図19において説明したように、第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の座標を算出すればよい。
(9)変形例9
上述した実施形態及び変形例において、地磁気測定システムは、初期楕円面中心点判定部322において、中心点cxx、中心点cyy、及び中心点czzの3つの中心点の相互間の距離の全てが、第1閾値Δc以下であるか否か(第2の条件を充足するか否か)を判定するものであるが、本発明はこのような判定の方法に限定されるものでは無く、初期楕円面中心点判定部322は、中心点cxx、中心点cyy、及び中心点czzのうち2つの中心点間の距離が、第1閾値Δc以下であるか否かを判定するものであってもよい。
例えば、変形例8のように、初期楕円面生成部310が、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、2つの楕円面(例えは、第1楕円面Vxx及び第2楕円面Vyy)の各々の中心点(例えば、中心点cxx及び中心点cyy)の座標を算出する場合、初期楕円面中心点判定部322は、当該2つの中心点cxx及びcyyの間の距離が、第1閾値Δc以下であるか否かを判定するものであってもよい。
このような判定によっても、複数の磁気データq〜qの示す座標の分布の形状から楕円面の形状を特定することが困難な場合であるか否かを把握することが可能であり、不適切な初期楕円面補正行列Tが生成されることを防止することができる。
(10)変形例10
上述した実施形態及び変形例において、端末装置は、3次元磁気センサ60が順次出力する磁気データqの全てを、第1記憶部BU1に蓄積し、第1記憶部BU1にN個の磁気データq〜qが蓄積されたときに、周期的に、これらN個の磁気データq〜qをサーバ装置に送信するものであったが(図11参照)、本発明はこのような形態に限定されるものではなく、端末装置が正確な地磁気Bgの算出のために応答情報RESを必要とする場合にのみ、3次元磁気センサ60が順次出力する磁気データqを第1記憶部BU1に蓄積し、蓄積されたN個の磁気データq〜qをサーバ装置に送信するものであってもよい。
変形例10に係る地磁気測定システムは、実施形態に係る地磁気測定システムSYS(または、地磁気測定システムSYSa)に比べて、端末装置とサーバ装置との間の通信量を低減させることできるとともに、端末装置及びサーバ装置の処理負荷を軽減させることができ、端末装置の利便性を低下させることなく、地磁気Bgの正確な向きを算出することが可能となる。
図33は、変形例10に係る地磁気測定システムにおけるオフセットcOFFの採用について説明するための説明図である。なお、図33では、図11と同様、「磁気データ距離条件」及び各種通信時間等は、考慮していない。
図33に示すように、変形例10に係る地磁気測定システムの端末装置は、端末装置の備えるCPU10が、変形例10に係る端末側磁気データ処理プログラムを実行したときに、第1記憶部BU1に対する磁気データqの蓄積を開始する(図33(A))。そして、当該端末装置は、第1記憶部BU1にN個の磁気データq〜qが蓄積されたときに、これらをサーバ装置に送信し、当該N個の磁気データq〜qに基づいてサーバ装置が算出した応答中心点cSAをオフセットcOFFとして採用する(図33(B))。
また、変形例10に係る端末装置は、内部磁界Biが変化した場合に、蓄積部110の第1記憶部BU1に対する磁気データqの蓄積を再び開始する(図33(C))。そして、当該端末装置は、第1記憶部BU1にN個の磁気データq〜qが蓄積されたときに、これらをサーバ装置に送信し、当該N個の磁気データq〜qに基づいてサーバ装置が算出した応答中心点cSAをオフセットcOFFとして採用する(図33(D))。
このように、変形例10に係る端末装置は、応答中心点cSAに基づいてオフセットcOFFを更新する必要がある場合のみ、N個の磁気データq〜qを蓄積し、これをサーバ装置に送信するため、端末装置とサーバ装置との間の通信量を低減させることができる。
この場合、端末装置は、第1記憶部BU1が磁気データqを蓄積すべき状態であるか否かを示すフラグFgQを有してもよい。これにより、端末装置は、応答中心点cSAに基づいてオフセットcOFFを更新する必要がある場合のみ、N個の磁気データq〜qを蓄積することができる。
また、端末装置は、サーバ装置からの応答情報RESの受信待ちの期間(すなわち、端末装置がN個の磁気データq〜qをサーバ装置に送信後、サーバ装置から応答情報RESを受信するまでの期間)であるか否かを示すフラグFgSを有してもよい。端末装置がN個の磁気データq〜qをサーバ装置に送信後、サーバ装置が応答情報RESを供給する前の期間において、内部磁界Biが変化した場合、サーバ装置が算出する応答中心点cSAの座標は、変化後の内部磁界Biを正確に表さない。これに対して、端末装置がフラグFgSを有することで、内部磁界Biを正確に表さない応答中心点cSAがサーバ装置から送信されたときに、これを破棄することができる。
また、上述した実施形態及び変形例では、サーバ装置は、応答中心点cSAと応答補正行列Tとが算出された場合のみ、応答情報RESを生成するが、本発明はこのような形態に限定されるものではなく、応答中心点cSAと応答補正行列Tとが算出さない場合にも、応答情報RESを生成し、これを端末装置に送信するものであってもよい。この場合、応答情報RESは、応答中心点cSA及び応答補正行列Tの他に、応答中心点cSA及び応答補正行列Tの算出が成功したか否かを表すコードCodeを含んでもよい。
例えば、第2実施形態に係るサーバ装置SVaは、磁気データ分布判定処理、初期楕円面生成処理、または、歪判定処理における判定結果が否定である場合には、応答中心点cSA及び応答補正行列Tを生成しないが、このような場合に、変形例10に係るサーバ装置は、コードCodeに、応答中心点cSA及び応答補正行列Tの算出が失敗したことを表す値「0」を設定したうえで、コードCodeを含む応答情報RESを生成し、これを端末装置に送信してもよい。
変形例10に係る端末装置は、CPU10が変形例10に係る端末側磁気データ処理プログラムを実行したときに、図12のフローチャートに示す各処理を実行するが、ステップS11〜19の各々の処理内容は、上述した実施形態及び変形例と相違する。以下、図12、図34、及び図35を参照しつつ、変形例10に係る端末装置の動作について説明する。
まず、CPU10は、ステップS11において、初期化処理を実行する。具体的には、CPU10は、カウント値CtA、CtB、及びフラグFgA、FgB、FgC、FgOを初期化する他に、フラグFgQに、第1記憶部BU1が磁気データqを蓄積する状態であることを示す値「1」を設定し、フラグFgSに、サーバ装置からの応答情報RESの送信を待っている期間ではないことを表す値「0」を設定する。
次に、CPU10は、ステップS13において、磁気データ取得処理を実行する。図34(A)は、変形例10に係る端末装置が行う磁気データ取得処理の詳細を例示したフローチャートである。図34(A)に示すように、CPU10は、ステップSa130において、フラグFgQが「1」であるか否かを判定し、判定結果が肯定である場合には処理をステップS131に進める一方、判定結果が否定である場合には処理をステップS133に進める。すなわち、変形例10に係る端末装置は、フラグFgQが、第1記憶部BU1が磁気データqを蓄積する状態であることを示す値「1」に設定されている場合のみ、第1記憶部BU1に磁気データqを蓄積する。なお、図34(A)のステップS131〜S135に示す処理は、図13(A)におけるステップS131〜S135に示す処理と同様の処理である。
次に、CPU10は、ステップS15において、磁気データ送信処理を実行する。図34(B)は、変形例10に係る端末装置が行う磁気データ送信処理の詳細を例示したフローチャートである。図34(B)に示すように、CPU10は、ステップS152において、N個の磁気データq〜qをサーバ装置SVに送信した場合に、ステップSa154において、フラグFgQに、磁気データqを第1記憶部BU1が蓄積しない状態であることを示す値「0」に設定するとともに、フラグFgSを、サーバ装置からの応答情報RESの送信待ちの期間であることを表す値「1」に設定する。なお、図34(B)のステップS151〜S153に示す処理は、図13(B)におけるステップS151〜S153に示す処理と同様の処理である。
次に、CPU10は、ステップS17において、近似中心点算出処理を実行する。図35(A)は、変形例10に係る端末装置が行う近似中心点算出処理の詳細を例示したフローチャートである。図35(A)に示すように、CPU10は、ステップS174における判定結果が否定である場合(すなわち、ステップS172において算出された近似中心点cSBの示す座標と、オフセットcOFFの示す座標とが、オフセット距離条件を充足しない場合)に、ステップSa175において、第1記憶部BU1に格納された磁気データを破棄し、フラグFgOを「1」に設定し、カウント値CtAを「0」に設定し、フラグFgQを「1」に設定し、フラグFgSを「0」に設定する。なお、図35(A)のステップS171〜S174に示す処理は、図13(C)におけるステップS171〜S174に示す処理と同様の処理である。
すなわち、変形例10に係る端末装置は、内部磁界Biが変化した場合に、第1記憶部BU1に格納された磁気データを破棄したうえで、カウント値CtAを「0」に初期化し、フラグFgQを「1」に設定して、第1記憶部BU1への磁気データqの蓄積を再度開始させる。これにより、端末装置1からサーバ装置SVに送信されるN個の磁気データq〜qの中に、内部磁界Biが変化する前に3次元磁気センサ60から出力された磁気データqが混入することを防止することができる。
次に、CPU10は、ステップS19において、応答中心点受信判定処理を実行する。図35(B)は、変形例10に係る端末装置が行う応答中心点受信判定処理の詳細を例示したフローチャートである。図35(B)に示すように、CPU10は、ステップSa190において、フラグFgSが「1」であるか否かを判定し、判定結果が肯定である場合、処理をステップS191に進める一方、判定結果が否定である場合、応答中心点受信判定処理を終了させる。
端末装置がN個の磁気データq〜qをサーバ装置に送信後、サーバ装置から応答情報RESを受信するまでの期間において、内部磁界Biが変化した場合には、上述したステップSa175において、フラグFgSが「0」に設定される。従って、ステップSa190において、フラグFgSが「0」であると判定した場合に、応答中心点受信判定処理を終了させることにより、変化後の内部磁界Biを正確に表さない応答中心点cSAがサーバ装置から送信されたときに、当該応答中心点cSAの座標をオフセットcOFFとして採用することを防止できる。
また、CPU10は、ステップS191において、サーバ装置から応答情報RESが供給されたと判断されたとき、ステップSa192において、コードCodeの値が「1」であるか否かを判定する。ステップSa192における判定結果が肯定である場合、CPU10は、処理をステップSa193に進め、フラグFgAを「1」に設定するとともに、フラグFgSを「0」に初期化する。一方、ステップSa192における判定結果が否定である場合、CPU10は、処理をステップSa194に進め、フラグFgQに「1」を設定するとともに、フラグFgSを「0」に初期化する。
コードCodeに「0」が設定されている場合、つまり、サーバ装置で応答中心点cSA及び応答補正行列Tの算出に失敗した場合、端末装置は新たにN個の磁気データq〜qを蓄積し、これに基づいてサーバ装置が応答中心点cSA及び応答補正行列Tを含んだ応答情報RESを生成することが好ましい。変形例10に係る端末装置は、ステップSa192において、コードCodeの値が「0」であると判定した場合、フラグFgQを「1」に設定して、第1記憶部BU1への磁気データqの蓄積を再度開始させるため、サーバ装置から、応答中心点cSA及び応答補正行列Tを含む応答情報RESの供給を受けることが可能となる。
なお、ステップSa192において、CPU10は、当該応答中心点cSAの座標と、オフセットcOFFの示す座標とが、式(5.a)に示した「応答中心点妥当性条件」を充足するか否かを併せて判定してもよい。但し、内部磁界Biが変化した場合には、ステップSa175において、フラグFgSが「0」に設定されるため、「応答中心点妥当性条件」に係る判定は必ずしも必要ではない。
(11)変形例11
上述した実施形態及び変形例に係る地磁気測定システムにおいて、端末装置は、近似中心点cSBを算出する近似中心点算出部140を備え、オフセットcOFFを、サーバ装置の供給する応答中心点cSA、または、近似中心点cSBのいずれかに基づいて更新するものであったが、本実施形態はこのような態様に限定されるものではなく、オフセットcOFFを、サーバ装置の供給する応答中心点cSAにのみ基づいて更新するものであってもよい。この場合、端末装置は、近似中心点算出部140を備えず、近似中心点cSBの座標の算出を行わないものであってもよい。変形例11に係る端末装置は、地磁気Bgの向きの算出に係る処理負荷を小さく抑えることが可能となるため、簡素な機器であっても地磁気測定システムに適用することが可能となる。
(12)変形例12
上述した実施形態及び変形例に係る地磁気測定システムにおいて、サーバ装置は、端末装置においてソフトアイアン効果が生じていることを考慮して応答情報RESを生成したが、本発明はこのような態様に限定されるものではなく、ソフトアイアン効果を考慮せずに応答情報RESを生成するものであってもよい。
例えば、サーバ装置は、データ制御部710(またはデータ制御部710a)及びサーバ側送受信部720の他に、中心点算出部640を備え、中心点算出部640が算出する球面Sの中心点cを、応答中心点cSAに採用し、3行3列の単位行列Iを、応答補正行列Tに採用することで、応答情報RESを生成するものであってもよい。この場合、端末装置は、中心点cの座標を示すベクトルをオフセットcOFFと看做し、楕円補正を施すことなく、地磁気Bgの向きを算出してもよい。また、この場合、サーバ装置は、歪判定部540及び分布判定部620を更に備え、磁気データq〜qの示す座標の分布形状が3次元的であり、且つ、磁気データq〜qが外部磁界Bxの影響を受けない場合に、応答情報RESを生成するものであってもよい。
SYS…地磁気測定システム、SV…サーバ装置、1…端末装置、60…3次元磁気センサ、21…軟磁性材料、2…部品、130…地磁気算出部、140…近似中心点算出部、200…楕円面補正部、300…楕円面初期補正値生成部、400…楕円面最適補正値生成部、540…歪判定部、620…分布判定部、640…中心点算出部、710…データ制御部、720…サーバ側送受信部、Bg…地磁気、Bi…内部磁界、Bx…外部磁界、Bm…着磁磁界、q…磁気データ、s…変換後磁気データ、T…楕円面補正行列、cOFF…オフセット、TOP…最適楕円面補正行列、cEOP…最適中心点、c…中心点、cSA…応答中心点、cSB…近似中心点、T…応答補正行列、RES…応答情報。

Claims (4)

  1. サーバ装置と通信を行う端末装置であって、
    3方向の磁気成分をそれぞれ検出し、検出値を3軸の座標系において表現されるベクトルデータである磁気データとして順次出力する3次元磁気センサと、
    前記3次元磁気センサから順次出力される前記磁気データを蓄積する蓄積部と、
    前記蓄積部に前記磁気データが第1規定数蓄積されたときに、前記第1規定数の前記磁気データを前記サーバ装置に送信し、前記サーバ装置が前記第1規定数の前記磁気データに基づいて算出した、前記磁気データを較正するためのベクトルであるオフセットを受信する端末側送受信部と、
    前記蓄積部に前記磁気データが、前記第1規定数よりも少ない第2規定数蓄積されたときに、前記座標系において前記第2規定数の前記磁気データの各々が示す座標により定められる球面の中心点である近似中心点の座標を算出する近似中心点算出部と、
    を備え、
    前記オフセットの示す座標と前記近似中心点の座標との距離が所定の閾値よりも大きい場合、前記近似中心点の座標を示すベクトルによって前記オフセットを更新する、
    ことを特徴とする端末装置。
  2. サーバ装置と通信を行う端末装置であって、
    3方向の磁気成分をそれぞれ検出し、検出値を3軸の座標系において表現されるベクトルデータである磁気データとして順次出力する3次元磁気センサと、
    前記3次元磁気センサから順次出力される前記磁気データを蓄積する蓄積部と、
    前記蓄積部に前記磁気データが第1規定数蓄積されたときに、前記第1規定数の前記磁気データを前記サーバ装置に送信し、前記サーバ装置が前記第1規定数の前記磁気データに基づいて算出した、前記磁気データを較正するためのベクトルであるオフセットを受信する端末側送受信部と、
    前記蓄積部に前記磁気データが、前記第1規定数よりも少ない第2規定数蓄積されたときに、前記座標系において前記第2規定数の前記磁気データの各々が示す座標により定められる球面の中心点である近似中心点の座標を算出する近似中心点算出部と、
    を備え、
    前記蓄積部は、
    前記オフセットの示す座標と前記近似中心点の座標との距離が所定の閾値よりも大きい場合、前記第1規定数の前記磁気データの蓄積を開始する、
    ことを特徴とする端末装置。
  3. 前記サーバ装置は、
    前記端末装置から前記第1規定数の前記磁気データが供給されたとき、
    前記座標系において前記第1規定数の前記磁気データの各々が示す座標を近傍に有するように定められた最適楕円面の中心点の座標と、前記最適楕円面上の座標を前記最適楕円面の中心点を中心とする球面上の座標へと座標変換する最適楕円面補正行列とを算出する楕円面補正部と、
    前記最適楕円面の中心点を応答中心点として採用するとともに、前記最適楕円面補正行列を応答補正行列として採用し、前記応答中心点と前記応答補正行列とからなる応答情報を生成するデータ制御部と、
    前記応答情報を前記端末装置に送信するサーバ側送受信部と、
    を備え、
    前記端末側送受信部は、
    前記サーバ側送受信部が送信した前記応答情報を受信する、
    ことを特徴とする請求項1または2に記載の端末装置。
  4. 前記サーバ装置は、
    前記座標系において前記第1規定数の前記磁気データの各々が示す座標を近傍に有するように定められた球面の中心点の座標を算出する中心点算出部と、
    前記第1規定数の前記磁気データを表面近傍に有するように定められた立体の形状と前記球面の形状との相違の程度を示す歪評価値を算出し、前記歪評価値が歪許容値以下であるか否かを判定する歪判定部と、
    を更に備え、
    前記データ制御部は、
    前記歪判定部における判定結果が肯定である場合、
    前記中心点算出部が算出した中心点を応答中心点として採用するとともに、単位行列を応答補正行列として採用し、
    前記歪判定部における判定結果が否定である場合、
    前記最適楕円面の中心点を応答中心点として採用するとともに、前記最適楕円面補正行列を応答補正行列として採用する
    ことを特徴とする請求項3に記載の端末装置。
JP2012001603A 2012-01-06 2012-01-06 端末装置 Expired - Fee Related JP6019585B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012001603A JP6019585B2 (ja) 2012-01-06 2012-01-06 端末装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012001603A JP6019585B2 (ja) 2012-01-06 2012-01-06 端末装置

Publications (3)

Publication Number Publication Date
JP2013142555A JP2013142555A (ja) 2013-07-22
JP2013142555A5 JP2013142555A5 (ja) 2014-12-18
JP6019585B2 true JP6019585B2 (ja) 2016-11-02

Family

ID=49039196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012001603A Expired - Fee Related JP6019585B2 (ja) 2012-01-06 2012-01-06 端末装置

Country Status (1)

Country Link
JP (1) JP6019585B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021118713A1 (de) 2021-07-20 2023-01-26 Infineon Technologies Ag Sensorvorrichtungen und Verfahren zum Bestimmen eines Drehwinkels eines Magneten

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016029336A (ja) * 2012-12-21 2016-03-03 株式会社ニコン 電子機器
JP2016031245A (ja) * 2014-07-25 2016-03-07 旭化成エレクトロニクス株式会社 物理量データ補正装置、方位角検出装置、およびプログラム
CN108180924B (zh) * 2017-12-11 2020-11-27 歌尔科技有限公司 一种磁力计校准更新的方法和装置
JP6860029B2 (ja) * 2019-03-18 2021-04-14 Tdk株式会社 位置検出装置、信号処理回路および磁気センサシステム
WO2021214956A1 (ja) * 2020-04-23 2021-10-28 三菱電機株式会社 磁気センサ装置、磁気センシング方法およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3675393B2 (ja) * 2001-11-22 2005-07-27 ヤマハ株式会社 電子装置
JP4151784B2 (ja) * 2003-04-03 2008-09-17 旭化成エレクトロニクス株式会社 計測装置、方位角計測装置及びキャリブレーションプログラム、並びにキャリブレーション方法
JP5040103B2 (ja) * 2005-11-22 2012-10-03 ヤマハ株式会社 磁気センサ制御装置、方法及びプログラム
JP4830441B2 (ja) * 2005-10-11 2011-12-07 ヤマハ株式会社 磁気センサ制御装置、方法及びプログラム
KR20080026395A (ko) * 2006-09-20 2008-03-25 삼성전자주식회사 자기 환경을 고려한 컴퍼스 센서의 교정 방법 및 장치와이를 이용한 방위각 측정 방법 및 장치
JP2012189323A (ja) * 2011-03-08 2012-10-04 Yamaha Corp 磁気データ処理装置、磁気データ処理方法及び磁気データ処理プログラム。
JP5772265B2 (ja) * 2011-06-15 2015-09-02 ヤマハ株式会社 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム
JP5641236B2 (ja) * 2011-03-22 2014-12-17 ヤマハ株式会社 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム
JP5899726B2 (ja) * 2011-09-07 2016-04-06 ヤマハ株式会社 地磁気測定装置、地磁気測定方法、及び地磁気測定プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021118713A1 (de) 2021-07-20 2023-01-26 Infineon Technologies Ag Sensorvorrichtungen und Verfahren zum Bestimmen eines Drehwinkels eines Magneten
US11885648B2 (en) 2021-07-20 2024-01-30 Infineon Technologies Ag Sensor devices and methods for determining a rotation angle of a magnet

Also Published As

Publication number Publication date
JP2013142555A (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
JP6019585B2 (ja) 端末装置
US7532991B2 (en) Magnetic data processing device
US9341475B2 (en) Geomagnetism measurement apparatus
US9031805B2 (en) Geomagnetic field measurement device, offset determination method, and computer readable recording medium therefor
JP6191145B2 (ja) オフセット推定装置及びプログラム
JP5866893B2 (ja) 地磁気測定装置
JP4844179B2 (ja) 磁気データ処理装置、方法及びプログラム
US20110218769A1 (en) Magnetic data processing device, method, and program
CN104296776A (zh) 用于磁力计校准和补偿的***和方法
JP5899726B2 (ja) 地磁気測定装置、地磁気測定方法、及び地磁気測定プログラム
US10060743B2 (en) Method and apparatus of correcting output value of geomagnetic sensor
US11709056B2 (en) Method and device for magnetic field measurement by magnetometers
JP5772265B2 (ja) 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム
JP2012189323A (ja) 磁気データ処理装置、磁気データ処理方法及び磁気データ処理プログラム。
JP5641236B2 (ja) 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム
JP5375394B2 (ja) 磁気データ処理装置、磁気データ処理方法および磁気データ処理プログラム
US9476708B2 (en) Accelerometer based attitude determination
CN115327452A (zh) 磁力计数据的处理方法和装置
CN113758515B (zh) 零点校准方法、装置、电子设备及计算机可读存储介质
Lou et al. Realization of ellipsoid fitting calibration for three-axis magnetic sensor based on STM32 embedded system
JP5375791B2 (ja) 磁気データ処理装置、方法及びプログラム
JP2007327934A (ja) 磁気データ処理装置、方法およびプログラム
Miranda et al. Greedy calibration of the rotation between sensor and body frame without external references
CN112199814A (zh) 测量***的***误差自检校方法、装置、设备和介质
JP2011089912A (ja) 磁気データ処理装置、方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141201

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160309

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: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160919

R151 Written notification of patent or utility model registration

Ref document number: 6019585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees