JP6019585B2 - 端末装置 - Google Patents
端末装置 Download PDFInfo
- 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
Links
Images
Landscapes
- Measuring Magnetic Variables (AREA)
Description
一方、地磁気は、磁極北に向かう水平成分と伏角方向の鉛直成分とを有する磁界であり、地面に対して一定の方向と一定の大きさとを有する一様な磁界である。従って、地面に対して端末装置の姿勢を変化させる場合には、端末装置から見た地磁気の方向も変化することになる。すなわち、端末装置に搭載された3次元磁気センサから見た場合、地磁気は、端末装置の姿勢の変化に伴い向きを変化させる一定の大きさのベクトルとして表される。
3次元磁気センサを上下左右方向に回転させて3次元的に大きく姿勢変化させつつ複数の磁気データを取得した場合、3次元磁気センサが順次出力する複数のベクトルデータの示す複数の座標は、内部磁界を表すベクトルの示す座標を中心点とし、地磁気を表すベクトルの大きさを半径とする球面近傍に分布する。
ソフトアイアン効果が生じている場合、楕円面近傍に存在する座標に基づいて、地磁気の正確な向きを算出することはできない。地磁気の正確な向きを算出するためには、楕円面上の座標を、球面上の座標へと移動させる座標変換、すなわち、楕円面の中心点を起点として楕円面の主軸方向に伸縮するように移動させる座標変換を行う必要がある。このような、楕円面上の座標を球面上の座標へ変換する処理を、楕円補正と呼ぶ。楕円補正を行うことで算出される座標変換後の座標から、球面の中心点の示す座標を減算することにより、地磁気の向きを算出することができる。
内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標は、内部磁界の向き及び大きさを表す。そして、サーバ装置が、内部磁界が変化する前に3次元磁気センサから出力された磁気データに基づいてオフセットを算出した場合、内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標と、オフセットの示す座標とは、乖離する。従って、オフセットの示す座標と、近似中心点の座標との距離が所定の閾値以下であるか否かを判定することで、内部磁界の変化の有無を判定することができる。
この態様に係る端末装置は、第2規定数の磁気データが蓄積部に蓄積されたときに、当該第2規定数の磁気データに基づいて近似中心点を算出する。そして、オフセットの示す座標と近似中心点の座標との距離が所定の閾値よりも大きいか否かを判定する。さらに、内部磁界が変化したと判定された場合には、変化後の内部磁界を表す近似中心点によりオフセットを更新する。すなわち、この態様に係る端末装置は、オフセットの示す座標と内部磁界の示す座標とが乖離した状態の継続を防止することができ、常に正確な地磁気の向きを算出することができる。
内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標は、内部磁界の向き及び大きさを表す。そして、サーバ装置が、内部磁界が変化する前に3次元磁気センサから出力された磁気データに基づいてオフセットを算出した場合、内部磁界が変化した後に3次元磁気センサから出力された磁気データに基づいて算出される近似中心点の座標と、オフセットの示す座標とは、乖離する。従って、オフセットの示す座標と、近似中心点の座標との距離が所定の閾値以下であるか否かを判定することで、内部磁界の変化の有無を判定することができる。
この態様に係る端末装置は、第2規定数の磁気データが蓄積部に蓄積されたときに、当該第2規定数の磁気データに基づいて近似中心点を算出する。そして、オフセットの示す座標と近似中心点の座標との距離が所定の閾値よりも大きいか否かを判定する。そして、距離が所定の閾値よりも大きい場合、内部磁界が変化した後に第1規定数の磁気データの蓄積を開始し、内部磁界が変化した後のオフセットをサーバ装置から取得できる。すなわち、この態様に係る端末装置は、オフセットの示す座標と内部磁界の示す座標とが乖離した状態の継続を防止することができ、常に正確な地磁気の向きを算出することができる。
この態様によれば、複数の磁気データの分布形状を正確に表現する最適楕円面の形状を特定し、最適楕円面の中心点である最適中心点と、最適楕円面上の座標から最適中心点を中心とする球面上の座標への座標変換を表す最適楕円面補正行列とを、サーバ装置において算出する。そして、最適中心点の座標及び最適楕円面補正行列を、端末装置に送信する。従って、端末装置が、大容量のメモリや高性能のCPU等を備えない簡易な機器である場合であっても、当該端末装置が検出した磁気データに基づいて、正確な地磁気の向きを算出することが可能となる。
以下、本発明の第1実施形態に係る地磁気測定システムについて説明する。図1は、第1実施形態に係る地磁気測定システムSYSの構成を示すブロック図である。
図1に示すように、第1実施形態に係る地磁気測定システムSYSは、複数の端末装置1と、サーバ装置SVとを備える。複数の端末装置1の各々は、ネットワークNWを介して、サーバ装置SVと接続される。各端末装置1は、磁界を検出し、磁気データを出力する3次元磁気センサを備える(図9(A)参照)。地磁気測定システムSYSは、端末装置1に備えられた3次元磁気センサからの出力に基づいて、当該端末装置1から見た地磁気の向きを算出する。
以下では、地磁気測定システムSYSによる地磁気の向きの算出方法についての説明を行う前提として、まず、各端末装置1が備える3次元磁気センサが検出する磁界の概要について説明する。
本実施形態では、3次元磁気センサが検出する磁界として、測定対象である地磁気の他に、3次元磁気センサが搭載される機器に備えられる部品が発する磁界の存在を想定する。具体的には、部品が発する磁界として、内部磁界、及び着磁磁界の存在を想定する。
以下、図2乃至図6を用いて、本実施形態において想定するこれら3種類の磁界の概要、及び、これらの磁界を3次元磁気センサが検出した場合に3次元磁気センサから出力されるベクトルデータについて説明する。
内部磁界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の材質、大きさ、形状等に依存して、向き及び大きさを変化させる磁界である。
地上座標系ΣGは、地上に固定された座標系であり、地上の任意の一点を原点とし、互いに直交する3つの方向、例えば、東、北、及び鉛直上向きを、それぞれx軸、y軸、及びz軸とする座標系である。
センサ座標系ΣSは3次元磁気センサ60に固定された座標系であり、3次元磁気センサ60の有する3つの各々のセンサモジュールの出力する値を、それぞれ、x軸(第1軸)、y軸(第2軸)、z軸(第3軸)上にプロットするように設けられた座標系である。すなわち、3次元磁気センサ60が出力する磁気データは、センサ座標系ΣSのベクトルデータとして表現される。なお、図2に示す姿勢μは、地上座標系ΣGにおけるセンサ座標系ΣSの各軸の向き(すなわち、地上座標系ΣGにおける、3次元磁気センサ60の向き)を表す。
以下において、姿勢μを変化させた場合、地上座標系ΣG及びセンサ座標系ΣSの各々において、内部磁界Bi及び着磁磁界Bmの向きがどのように変化するかについて説明する。
図3は、内部磁界Bi及び地磁気Bgの向き及び大きさを、地上座標系ΣGにおいて表した図である。端末装置1の姿勢μが、姿勢μ1から姿勢μ2に変化した場合、内部磁界GBiは、大きさは一定であるが、向きは姿勢μの変化に伴い変化する。一方、地磁気GBgの向き及び大きさは一定である。
従って、磁気データqiの示す座標から内部磁界SBiを引き算することにより、センサ座標系ΣSにおける地磁気SBgの向き及び大きさを算出することが可能となる。このように、検出対象である地磁気Bgの正確な向きを得るために、磁気データqiの示す座標から、3次元磁気センサ60の出力する内部磁界Biを表す球面SGの中心点cOGの示す座標を減算する処理を、補正処理と呼ぶ。
また、補正処理において磁気データqiから取り除かれるベクトルをオフセットcOFFと呼ぶ。すなわち、オフセットcOFFは、内部磁界を表すベクトルSBiであり、センサ座標系ΣSにおいて、原点から球面SGの中心点cOGを示すベクトルとして表される。
3次元磁気センサ60が検出する着磁磁界GBm(μ)の向き及び大きさは、姿勢μと、センサ座標系ΣSにおける軟磁性材料21の位置SPmとに依存する。例えば、図5の場合、3次元磁気センサ60は(センサ座標系ΣSにおいて)、着磁磁界GBm(μ1)を、地磁気GBg(μ1)と同じ方向を向いた磁界として検出する。また、3次元磁気センサ60は(センサ座標系ΣSにおいて)、着磁磁界GBm(μ2)を、地磁気GBg(μ2)とは逆の方向を向いた磁界として検出する。
なお、軟磁性材料21は、地磁気Bgの他に、部品2が発するセンサ座標系ΣSから見て一定の向き及び大きさの磁界によっても磁化される。センサ座標系ΣSから見て一定の向き及び大きさの磁界により磁化される結果として軟磁性材料21が発する磁界は、端末装置1の姿勢μが変化した場合であっても一定の方向及び大きさを有する。このような、軟磁性材料21が磁化された結果発する磁界のうち、姿勢μが変化しても一定の向き及び大きさを有する磁界は、前述した内部磁界Biに包含されるものとする。
磁気データq1は、中心点cOGの示す座標を起点とし、地磁気SBg(μ1)と同じ向きを有する着磁磁界SBm(μ1)と、地磁気SBg(μ1)とを加算したベクトルSBE(μ1)により示される座標である。よって、磁気データq1は球面SGの外側に存在する。一方、磁気データq2は、中心点cOGの示す座標を起点とし、地磁気SBg(μ2)と逆向きの着磁磁界SBm(μ2)と、地磁気SBg(μ2)とを加算したベクトルSBE(μ2)により示される座標である。よって、磁気データq2は球面SGの内側に存在する。
すなわち、磁気データq1及びq2は、球面SGを、ベクトルSBg(μ1)方向に引き延ばし、且つ、ベクトルSBg(μ2)方向に縮めることで得られる楕円面VE上に分布する。
このように、3次元磁気センサが、軟磁性材料を備える機器に組み込まれている場合、軟磁性材料が地磁気等の機器の外部からの磁界により磁化される結果として生じる着磁磁界の影響により、3次元磁気センサの測定する複数の磁気データの示す座標が球面近傍に分布せず、楕円面近傍に分布する。このような、軟磁性材料が磁化された結果生じる磁界の影響により、複数の磁気データの示す座標が楕円面近傍に分布する現象は、ソフトアイアン効果と呼ばれている。
図7は、3次元磁気センサ60の姿勢μをμ1〜μN(Nは精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す9以上の自然数)と変化させつつ磁界を測定した場合に、3次元磁気センサ60が出力するN個の磁気データq1〜qNの示す座標を、センサ座標系ΣSにおいてプロットした図である。図7は、ソフトアイアン効果により、複数の磁気データq1〜qNの示す座標が、中心点cOGを中心とする楕円面VE上に分布する場合を想定している。なお、図7では、3次元磁気センサ60の測定誤差を考慮していないが、測定誤差を考慮する場合、複数の磁気データq1〜qNの示す座標は、楕円面VE上には分布せず、楕円面VEの近傍に確率的に分布する。つまり、楕円面VEは、複数の磁気データq1〜qNの示す座標との誤差を最小化するようにして定められる楕円面である。
このとき、中心点cOGから磁気データqiの表す座標を示すベクトルSBE(μi)は、地磁気を表すベクトルSBg(μi)のうち、主軸LE1に平行な成分をrE1/rG倍したベクトル、主軸LE2に平行な成分をrE2/rG倍したベクトル、及び主軸LE3に平行な成分をrE3/rG倍したベクトルの和を表すベクトルとなる。
従って、中心点cOGから磁気データqiの表す座標を示すベクトルSBE(μi)の向きと、地磁気を表すベクトルSBg(μi)の向きとは異なる。また、ベクトルSBE(μi)及びベクトルSBE(μj)とのなす角(つまり、2つの磁気データqi及びqjの示す座標を、中心点cOGから見たときのなす角)と、地磁気を表すベクトルSBg(μi)及びベクトルSBg(μj)のなす角とは、異なる。このように、ソフトアイアン効果が生じている場合、磁気データqiの座標から中心点cOGの座標を減算しても、地磁気SBg(μi)の向きを正確に求めることはできない。
このように、地磁気Bgの向きを算出するために、楕円面近傍に分布する複数の磁気データの示す座標を、当該楕円面と同一の中心点を有する半径1の球面近傍に分布する複数の座標へと変換する処理を、楕円補正と呼ぶ。
ここで、楕円面補正行列TEは、以下の式(1.b)に示される3行3列の対称行列である。また、式(1.c)に示される3次元の変数ベクトルqは、磁気データqiの座標を表すための変数ベクトルであり、式(1.d)に示される3次元の変数ベクトルsは、変換後磁気データsiの座標を表すための変数ベクトルであり、式(1.e)に示される3次元の変数ベクトルcは、中心点cOGの座標(すなわち、オフセットcOFF)を表すための変数ベクトルである。
なお、式(1.a)において、ベクトル(q−c)は、楕円面VEの中心点cOGをセンサ座標系ΣSの原点に平行移動させて得られる楕円面上の座標を示し、ベクトル(s−c)は、座標系ΣSの原点を中心とする半径1の球面上の座標を示す。
ここで、楕円面補正行列TEの有する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の逆数に等しくなるように定められる。すなわち、楕円面補正行列TEは、任意のベクトルに対して、固有ベクトルuT1方向の成分を固有値λT1倍に伸縮し、固有ベクトルuT2方向の成分を固有値λT2倍に伸縮し、固有ベクトルuT3方向の成分を固有値λT3倍に伸縮する行列である。
なお、楕円面補正行列TEの有する3つの固有値をλT1、λT2、及びλT3は、いずれも正の値であり、楕円面補正行列TEは、正定値行列である。
しかし、ずれ角ψは、軟磁性材料21と3次元磁気センサ60との相互位置関係(すなわち、図5に示すベクトルSPmの向き及び大きさ)に依存する値である。従って、ベクトルSPmよりずれ角ψを特定することが可能であり、特定されたずれ角ψと、複数の変換後磁気データsiとから、正確な地磁気Bgの向きを算出することが可能である。また、軟磁性材料21の配置を工夫することにより、ずれ角ψを小さく抑えることも可能である。
図9(A)は、本発明の第1実施形態に係る端末装置1の構成を示すブロック図である。
端末装置1は、各種の構成要素とバスを介して接続され装置全体を制御するCPU10、CPU10の作業領域として機能するRAM20、端末側磁気データ処理プログラム70等の各種プログラム及びデータを記憶したROM30、通信を実行する通信部40、画像を表示する表示部50、及び、磁気を検出して磁気データを出力する3次元磁気センサ60を備える。
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は、地磁気の向きを示す方位情報である矢印等を地図上に表示してもよい。
RAM920は、CPU910の作業領域として用いられる。この作業領域には、端末装置1から送信された磁気データを格納するための第3記憶領域Area3と、各種管理情報を格納するための領域とを含む。なお、これらの作業領域は、ハードディスク950上に設けられるものであってもよい。
なお、図10では、記載の便宜上、端末装置1のCPU10が端末側磁気データ処理プログラム70を実行することにより実現される機能に対して、符号「1」を付与し、サーバ装置SVのCPU910がサーバ側磁気データ処理プログラム960を実行することにより実現される機能に対して、符号「SV」を付与している。
また、地磁気測定システムSYSのうち、サーバ装置SVは、端末装置1との通信を行うサーバ側送受信部720、端末装置1との間で送受信される情報を管理するデータ制御部710、及び、端末装置1から送信された複数の磁気データに基づいて最適中心点cEOPの座標及び最適楕円面補正行列TOPを算出する楕円面補正部200、を備える。
ここで、最適中心点cEOPとは、端末装置1から送信された複数の磁気データの各々の示す座標との誤差を最小化するように定められる楕円面である最適楕円面VEOPの中心点である。また、最適楕円面補正行列TOPとは、最適楕円面VEOP上の座標を、最適中心点cEOPを中心とする球面SEOP上の座標へと変換するための、3行3列の対称行列である。
具体的には、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqiを第1記憶部BU1に格納する。そして、蓄積部110は、第1記憶部BU1にN個の磁気データq1〜qNが蓄積され、当該N個の磁気データq1〜qNを端末側送受信部120が取得したときに、第1記憶部BU1に格納されたデータを破棄する。前述したように、Nは、精度よくオフセットを導出するために必要な磁気データの規定測定回数を表す「9」以上の自然数である。
ここで、第1記憶部BU1は、RAM20の第1記憶領域Area1により形成され、第2記憶部BU2は、RAM20の第2記憶領域Area2により形成される。
なお、本実施形態において、蓄積部110は、第1記憶部BU1に蓄積されたN個の磁気データq1〜qNを出力した場合、当該N個の磁気データq1〜qNの全部を破棄するが、古い方から一定割合のデータのみを破棄してもよい。
本実施形態において、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqiの全てを第1記憶部BU1に格納するが、本発明はこのような態様に限定されるものではない。例えば、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqiの示す座標と、蓄積部110に直前に格納された磁気データqi−1の示す座標との距離が所定値よりも大きい場合に限り、磁気データqiを第1記憶部BU1に格納してもよい。また、蓄積部110は、3次元磁気センサ60から順次出力される磁気データqiの示す座標と、蓄積部110に既に格納されている磁気データq1〜qi−1の各々の示す座標との距離が所定値よりも大きい場合に限り、磁気データqiを第1記憶部BU1に格納してもよい。
ここで、磁気データqiの示す座標は、以下の式(2.b)に示す3次元のベクトルで表される。また、M(第2規定数)を、0<M≦Nを満たす自然数とし、「k」を、1≦k<Mを満たす自然数とする。本実施形態において、Mは「4」である。また、以下の式(2.a)に現れる「qBn」は、3次元磁気センサ60が磁気データqiを出力したときに、第2記憶部BU2に格納されている磁気データの各々が示す座標であり、以下の式(2.c)に示す3次元のベクトルで表される。なお、Δqは、0よりも大きな所定の値である。すなわち、以下の式(2.a)は、3次元磁気センサ60から出力された磁気データqiの示す座標と、第2記憶部BU2に格納されているk個の磁気データqB1〜qBkの各々の示す座標とのそれぞれ距離の全てが、所定の値Δqよりも大きいという条件を表す。当該条件を、以下では「磁気データ距離条件」と称する。このように、蓄積部110は、磁気データqiの示す座標が磁気データ距離条件を充足する場合に、当該磁気データqiを第2記憶部BU2に格納する。
また、蓄積部110は、第2記憶部BU2にM個の磁気データqB1〜qBMが蓄積され、当該M個の磁気データqB1〜qBMを近似中心点算出部140が取得したときに、第2記憶部BU2に格納されたデータを破棄する。
なお、本実施形態では、蓄積部110は、「磁気データ距離条件」を充足する場合に、3次元磁気センサ60が出力する磁気データqiを第2記憶部BU2に格納するが、当該条件を充足するか否かを判定すること無く、第2記憶部BU2に格納してもよい。
さらに、蓄積部110は、後述する各種カウンタ及び各種フラグ等の管理情報を格納する。
近似中心点cSBの座標の算出は、公知の方法を適宜適用して算出すればよい。近似中心点cSBの座標を以下の式(3.b)に示す3次元のベクトルで表す。このとき、例えば、以下の式(3.a)に示す連立一次方程式の解として、近似中心点cSBの座標を算出することができる。なお、式(3.a)に現れる変数cSBwは、計算上用いられる変数である。
オフセット採用部131は、応答中心点cSAの座標を表すベクトルまたは近似中心点cSBの座標を表すベクトルのうちいずれか一方を、オフセットcOFFとして採用する。そして、オフセット採用部131は、応答中心点cSAの座標を表すベクトルをオフセットcOFFとして採用する場合、応答補正行列TAを楕円面補正行列TEとして採用する。一方、オフセット採用部131は、近似中心点cSBの座標を表すベクトルをオフセットcOFFとして採用する場合、3行3列の単位行列Iを楕円面補正行列TEとして採用する。
地磁気ベクトル計算部132は、式(1.a)に示すように、3次元磁気センサ60から出力される磁気データqiに対して、楕円面補正行列TE及びオフセットcOFFを用いた楕円補正を行い、地磁気SBgの向きを算出する。
なお、式(1.a)から明らかなように、オフセット採用部131が楕円面補正行列TEとして、単位行列Iを採用する場合、地磁気SBgの向きは、単に、磁気データqiの示す座標から近似中心点cSBの座標を減算することで算出される。すなわち、この場合、地磁気ベクトル計算部132は、実質的には楕円補正を行わず、単なるベクトルの減算処理により地磁気SBgの向きを算出する。
具体的には、データ制御部710は、サーバ側送受信部720が出力する複数の磁気データq1〜qNを保持する。
また、データ制御部710は、楕円面補正部200が最適中心点cEOPの示す座標及び最適楕円面補正行列TOPを算出したとき、最適中心点cEOPを応答中心点cSAとして採用するとともに、最適楕円面補正行列TOPを応答補正行列TAとして採用する。そして、データ制御部710は、応答中心点cSAの示す座標及び応答補正行列TAを要素とする応答情報RESを生成する。
楕円面初期補正値生成部300は、データ制御部710に格納される複数の磁気データq1〜qNに基づいて初期中心点cE0の座標及び初期楕円面補正行列T0を算出する。ここで、初期中心点cE0とは、複数の磁気データq1〜qNの示す座標を近傍に有する初期楕円面VE0の中心点である。また、初期楕円面補正行列T0とは、初期楕円面VE0上の座標を、初期中心点cE0を中心とする球面SE0上の座標へと変換するための3行3列の対称行列である。なお、初期中心点cE0及び初期楕円面補正行列T0の具体的な算出方法については後述する。
複数の磁気データq1〜qNの示す座標と最適楕円面VEOPとの誤差が最小化され「0」となる場合、楕円面VEと最適楕円面VEOPとは一致し、最適中心点cEOPと中心点cOG(すなわち、内部磁界Biの示す座標)とは一致する。なお、最適中心点cEOP及び最適楕円面補正行列TOPの算出方法の詳細については後述する。
[3. オフセットの更新]
なお、この図においては、簡単のために、蓄積部110が複数の磁気データqB1〜qBMを蓄積するための条件である「磁気データ距離条件」を考慮しない。すなわち、この図において、蓄積部110は、3次元磁気センサ60がM個の磁気データq1〜qMを出力したときに、これらを磁気データqB1〜qBMとして蓄積することを前提とする。また、この図においては、簡単のために、端末装置1とサーバ装置SVとの間の通信時間、サーバ装置SVにおける応答中心点cSAの算出時間、等は考慮しない。すなわち、この図において、サーバ装置SVは、3次元磁気センサ60がN個の磁気データq1〜qNを出力したら、直ちに応答中心点cSAを算出し、これを端末装置1に供給するものと仮定する。
そこで、本実施形態に係る端末装置1は、近似中心点算出部140において、内部磁界Biが変化したか否かを判定し、内部磁界Biが変化したと判定された場合には、オフセット採用部131において、オフセットcOFFを、変化後の内部磁界Biを表す値に更新する。
そこで、本実施形態に係る近似中心点算出部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の変化を把握することが可能となる。
なお、内部磁界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. 地磁気測定システムの動作を表すフローチャート]
このように、CPU10は、ステップS11の初期化処理と、ステップS13の磁気データ取得処理とを実行することにより、蓄積部110として機能する。
図13(A)は、磁気データ取得処理の詳細を例示したフローチャートである。ステップS131において、CPU10は、3次元磁気センサ60が出力する磁気データqiを、RAM20に設けられる第1記憶領域Area1に格納する。次に、ステップS132において、CPU10は、カウント値CtAに「1」を加算(カウントアップ)する。そして、ステップS133において、CPU10は、当該磁気データqiの示す座標が、磁気データ距離条件を充足するか否かを判定し、判定結果が肯定である場合には処理をステップS134に進める一方、判定結果が否定である場合には磁気データ取得処理を終了させたうえで、処理をステップS15に進める。ステップS134において、CPU10は、当該磁気データqiを、磁気データqBとして、第2記憶領域Area2に格納する。ステップS135において、CPU10は、カウント値CtBに「1」を加算したうえで、磁気データ取得処理を終了させたうえで、処理をステップS15に進める。
図13(B)は、磁気データ送信処理の詳細を例示したフローチャートである。まず、ステップS151において、CPU10は、第1記憶領域Area1に格納された磁気データqiの個数が、N個以上であるか否かを判定する。そして、判定結果が肯定である場合、CPU10は処理をステップS152に進める一方、判定結果が否定である場合、CPU10は磁気データ送信処理を終了させたうえで、処理をステップS17に進める。ステップS152において、CPU10は、第1記憶領域Area1に格納されたN個の磁気データq1〜qNを、サーバ装置SVに対して送信する。その後、ステップS153において、CPU10は、第1記憶領域Area1に格納されたN個の磁気データq1〜qNを破棄するとともに、カウント値CtAを「0」に設定(初期化)したうえで、磁気データ送信処理を終了させ、処理をステップS17に進める。
なお、この例では、CPU10は、ステップS153において、第1記憶領域Area1に格納されたN個の磁気データq1〜qNの全てを破棄するが、古い方から一定割合の磁気データのみを破棄してもよい。
すなわち、CPU10は、ステップS17の近似中心点算出処理を実行することにより、近似中心点算出部140として機能する。
図13(C)は、近似中心点算出処理の詳細を例示したフローチャートである。まず、ステップS171において、CPU10は、第2記憶領域Area2に格納された磁気データqBの個数が、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に示す処理の後に実施してもよい。
このように、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に蓄積された磁気データq1〜qNに基づいて算出された応答中心点cSAの座標は、変化後の内部磁界を表すベクトルSBiの示す座標から離れた座標である可能性が高い。また、端末装置1がサーバ装置SVに対して磁気データq1〜qNを送信した後、サーバ装置SVが応答中心点cSAを生成するまでの間に、内部磁界Biに変化が生じた場合、応答中心点cSAの示す座標は、変化後の内部磁界を表すベクトルSBiの示す座標から離れた座標である可能性が高い。そこで、本実施形態では、応答中心点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を表した値に更新されるからである。
このように、CPU10は、ステップS21のオフセット採用処理を実行することにより、オフセット採用部131として機能する。
ステップS211において、CPU10は、フラグFgAが「1」を示すか否かを判定し、判定結果が肯定であれば処理をステップS212に進め、判定結果が否定であれば処理をステップS221に進める。ステップS212において、CPU10は、応答中心点受信判定処理(ステップS19)において受信した応答中心点cSAの座標を示すベクトルにより、オフセットcOFFを更新する。また、CPU10は、楕円面補正行列TEとして応答補正行列TAを採用する。ステップ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は、楕円面補正行列TEとして単位行列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は、楕円面補正行列TEとして単位行列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を更新する。
すなわち、CPU10は、ステップS23の地磁気計算処理を実行することにより、地磁気ベクトル計算部132として機能する。
一方、判定結果が否定の場合、CPU910は、処理をステップS41に進める。
すなわち、CPU910は、ステップS33の初期楕円面生成処理を実行することにより、楕円面初期補正値生成部300として機能する。
すなわち、CPU910は、ステップS35の最適楕円面生成処理を実行することにより、楕円面最適補正値生成部400として機能する。
すなわち、CPU910は、ステップS31の磁気データ格納処理と、ステップS39の応答情報送信処理とを実行することにより、サーバ側送受信部720として機能する。
すなわち、CPU910は、ステップS37の応答情報生成処理と、ステップS41のデータ初期化処理とを実行することにより、データ制御部710として機能する。
図16は、楕円面初期補正値生成部300の機能構成を示す機能ブロック図である。
楕円面初期補正値生成部300は、複数の磁気データq1〜qNに基づいて、まず複数の磁気データq1〜qNの示す座標を近傍に有する第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzを生成したうえで、これら3つの楕円面に基づいて初期楕円面VE0を生成する。以下、本実施形態における初期楕円面VE0の生成方法について具体的に説明する。
以下において、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzと、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標の算出方法について述べる。
但し、ベクトルθXXは、式(9)に示すように、式(7)の9つの係数を並べた9次元のベクトルである。また、行列Rxxは、式(10)に示すように、式(13)に示す9次元のベクトルQxxに対して、式(11)に示す複数の磁気データq1〜qNの示す座標の各々を代入して得られるN個のベクトルを転置したうえで各行に並べたN行9列の行列である。ベクトルWxxは、式(12)に示すように、複数の磁気データq1〜qNの示す座標のうち、x成分の2乗値にマイナスを掛けた値を各成分に有する、N次元のベクトルである。
しかし、3次元磁気センサ60の測定誤差等を考慮すると、複数の磁気データq1〜qNの示す各々の座標の全てが、式(7)に示す楕円面上に正確に一致する位置に存在することはない。従って、式(8)は解を有さず、式(8)の解としてベクトルθXXを算出することはできない。そこで、本実施形態では、式(8)の解として尤もらしいベクトルθXXを、統計的手法を用いることにより算出する。
例えば、式(7)の右辺に現れる8つの項(xy、xz、y2、yz、z2、x、y、及びz)をそれぞれ独立変数と看做し、式(7)の左辺に現れるx2を従属変数と看做したうえで、最小二乗法を用いて式(14)に示す正規方程式を導出し、その解として、ベクトルθXXを求める。この正規方程式の解として表されるベクトルθXXは、行列(Rxx TRxx)が正則なときに、式(15)で表すことができる。式(15)により算出されたベクトルθXXを係数として式(7)に適用することにより表される楕円面を、第1楕円面Vxxと呼ぶ。
このとき、初期楕円面係数行列判定部321は、第1楕円面係数行列Dxx、第2楕円面係数行列Dyy、及び第3楕円面係数行列Dzzが第1の条件を充足するか否かを判定する。また、初期楕円面中心点判定部322は、中心点cxxの座標、中心点cyyの座標、及び中心点czzの座標が第2の条件を充足するか否かを判定する。
ここで、初期楕円面補正行列T0とは、図18に示すように、初期中心点cE0を中心点とする初期楕円面VE0上の座標を、初期中心点cE0を中心点とする球面SE0上の座標へと変換する行列である。初期楕円面VE0は、第1楕円面Vxx、第2楕円面Vyy、及び、第3楕円面Vzzのうち、少なくとも1つの楕円面に基づいて定められる楕円面であり、複数の磁気データq1〜qNの示す座標を近傍に有する楕円面である。
なお、初期補正値生成部330は、初期楕円面係数行列判定部321における判定結果が否定である場合、または、初期楕円面中心点判定部322における判定結果が否定である場合には、初期楕円面VE0を算出することができないと判断する。この場合、初期補正値生成部330は、初期中心点cE0の座標及び初期楕円面補正行列T0を算出しない。
初期楕円面補正行列T0は、第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は、いずれも複数の磁気データq1〜qNの示す座標を近傍に有し、いずれの中心点も同一の座標と看做すことができるため、これら3つの楕円面は(厳密には異なる形状を有するものの)実質的に同一の楕円面と看做すことができる。この場合、初期楕円面VE0として、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのいずれを採用してもよい。
本実施形態では、初期楕円面VE0として、第1楕円面Vxxを採用する。このとき、初期楕円面補正行列T0及び、初期中心点cE0の座標は、以下に示す式(52)及び式(53)により表される。
初期補正値生成部330は、以上のように、初期楕円面補正行列T0と初期中心点cE0の座標とを算出する。
具体的には、まず、式(6)に示す楕円面方程式を、x2の項、y2の項、またはz2の項の何れか1つの項で割り算をすることにより、楕円面方程式と等価な、以下の式(59)に示す連立一次方程式に変形する。次に、最小二乗法を用いて、式(59)から、以下の式(60)に示す正規方程式を算出する。行列(RTR)が正則なときには、楕円面の形状を示すベクトルθは、式(60)に示す正規方程式の解として、以下の式(61)により算出される。式(61)により算出されるベクトルθと、式(43)、式(44)、及び(50)とを用いて、初期楕円面補正行列T0及び初期中心点cE0を算出する。
なお、例えば、式(6)に示す楕円面方程式を、z2の項により割り算することで、式(59)に示す連立一次方程式を算出する場合、ベクトルθは、以下の式(62)に示す9次元のベクトルであり、行列Rは、以下の式(63)に示す9次元のベクトルQに対して式(11)に示す複数の磁気データq1〜qNの示す座標を代入して得たベクトルを転置して各行に並べて生成される以下の式(64)に示すN行9列の行列であり、ベクトルWは、以下の式(65)に示す9次元のベクトルである。
この場合、複数の磁気データq1〜qNの示す座標の分布形状が同一であっても、選択される評価軸が相違すれば、算出される楕円面の形状は異なる。しかし、対比例は、1つの楕円面のみを算出するため、仮に2つ以上の評価軸を用いて2つ以上の楕円面を算出したならば把握できるはずの複数の楕円面の形状の相違について、把握することができない。例えば、2つ以上の楕円面が算出されることを前提とする、第2の条件を用いた判定を行うことができない。
従って、図19に示す例のように、本実施形態に係る方法により、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、少なくとも2つの楕円面を算出していたならば、第2の条件についての判定結果が否定となるような場合であっても、対比例によれば初期楕円面補正行列T0が算出されることになる。
このように、対比例は、複数の磁気データq1〜qNの示す座標の分布の形状から楕円面の形状を特定することが困難な場合であっても、複数の磁気データq1〜qNの示す座標の分布形状を正確に表さない不適切な初期楕円面VE0に基づいた初期楕円面補正行列T0を生成する。
さらに、楕円面初期補正値生成部300は、第1の条件及び第2の条件を用いて、算出された3つの異なる楕円面が、互いに近い形状を有することを判定する。つまり、複数の磁気データq1〜qNの示す座標の分布の形状が楕円面の形状とは大きく異なる形状であり、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち1つ以上が楕円面とは異なる形状となる場合、第1の条件は満たされない。また、図19に示す例のように、算出された3つの楕円面各々の中心点の相互間距離が離れている場合には、第2の条件は満たされない。
このように、楕円面初期補正値生成部300は、初期楕円面補正行列T0を生成する際に、3つの異なる楕円面を生成したうえで、第1の条件及び第2の条件が満たされているか否かを判定するため、複数の磁気データq1〜qNの示す座標の分布の形状から、楕円面の形状を特定することが困難な場合に、複数の磁気データq1〜qNの示す座標の分布の形状とは異なる不正確な初期楕円面VE0に基づいた、不適切な初期楕円面補正行列T0が生成されることを防止する。
初期楕円面補正行列T0は、式(66)に示すように、初期中心点cE0を起点として磁気データqiの示す座標を終点とするベクトル(qi−cEO)を、初期楕円面VE0の3つの主軸方向に伸縮させることで、初期中心点cE0を起点として変換後磁気データs0iの示す座標を終点とするベクトル(s0i−cEO)に変換する行列である。磁気データqiの示す座標が、初期楕円面VE0上に存在する場合には、変換後磁気データs0iの示す座標は、初期中心点cE0を中心とする球面SE0上に位置する。
図18に示すように、初期楕円面VE0は、複数の磁気データq1〜qNの示す座標を近傍に有するように定められる楕円面であるが、複数の磁気データq1〜qNの示す座標との誤差を最小化するように定められた楕円面ではない。従って、複数の磁気データq1〜qNの示す座標と、初期楕円面VE0との間の誤差が大きい場合、初期楕円面VE0の中心点である初期中心点cE0の示す座標と、地磁気Bgを表す球面SGの中心点cOGの示す座標との間の誤差も大きくなる。この場合、磁気データqiの示す座標を初期楕円面補正行列T0及び初期中心点cE0により楕円補正した変換後磁気データs0iと、初期中心点cE0とに基づいて、地磁気Bgの正確な向きを算出することはできない。
最適楕円面VEOPは、複数の磁気データq1〜qNの示す座標との誤差を最小化する楕円面であるため、楕円面VEと、最適楕円面VEOPとは、同一の図形と看做すことができる。よって、最適中心点cEOPの示す座標と中心点cOGの示す座標(オフセットcOFF)との誤差は、初期中心点cE0の示す座標と中心点cOGの示す座標との誤差に比べて小さく、最適中心点cEOPと中心点cOGとは、同一の座標を示すと看做すことができる。このような、最適楕円面補正行列TOPと、最適中心点cEOPとに基づいて、磁気データqiの示す座標を楕円補正することにより、正確な地磁気Bgの向きを得ることができる。
ここで、楕円面最適化関数fEL(T,c)は、以下の式(69)に示す3行3列の対称行列である変数行列Tの各成分と、式(1.e)に示した変数ベクトルcの各要素とを変数とする関数であり、以下の式(70)として表すことができる。変数行列T及び変数ベクトルcの初期値には、初期楕円面補正行列T0及び初期中心点cE0の座標が適用される。
つまり、楕円面最適化関数fEL(T,c)は、複数の第2変数ベクトルT(qi−c)を、変数ベクトルcの示す座標が起点となるように配置した場合、複数の第2変数ベクトルの各々が示す座標と、変数ベクトルcの示す座標を中心とする半径1の球面との誤差を表す。このとき、複数の第2変数ベクトルT(qi−c)の示す複数の座標を表すデータを、複数の変換後データsX1〜sXNと呼ぶ。楕円面最適化関数fEL(T,c)の値を最小化することにより、複数の変換後データsX1〜sXNの示す座標と、変数ベクトルcの示す座標を中心とする半径1の球面との誤差を最小化することができる。楕円面最適化関数fEL(T,c)の値を最小化する複数の変換後データsX1〜sXNを、複数の変換後磁気データs1〜sNと称する。
なお、本実施形態では、説明の便宜上、第2変数ベクトルT(qi−c)を、変数ベクトルcの示す座標を起点として配置しているが、第2変数ベクトルT(qi−c)を、センサ座標系ΣSの原点が起点となるように配置しても構わない。すなわち、式(68)は、第2変数ベクトルT(qi−c)をセンサ座標系ΣSの原点が起点となるように配置した場合、第2変数ベクトルT(qi−c)の示す座標と、センサ座標系ΣSの原点を中心とする半径1の球面との誤差を表す。また、この場合、複数の変換後磁気データs1〜sNは、原点を中心とする半径1の球面近傍に分布する。
ニュートン法、最急降下法等の、非線形最適化演算は、非線形関数の示す値を最適化(最小化または最大化)するように、非線形関数の変数の値を逐次更新する。そして、非線形最適化演算は、非線形関数の値及び変数の値が予め規定された停止規準を満たしたときに、変数の値の更新を停止し、このときの変数の値を最適解として採用する。
なお、非線形最適化演算の停止規準としては、公知の基準を適宜適用すればよい。例えば、アルミホの規準(Armijo’s rule)を適用してもよい。
本実施形態は、初期楕円面VE0に基づいて、初期楕円面補正行列T0及び初期中心点cE0を算出し、これらの値を非線形最適化演算の初期値として適用する。複数の磁気データq1〜qNの示す座標を近傍に有するように定められた初期楕円面VE0は、複数の磁気データq1〜qNの示す座標との誤差を最小化する楕円面VEと近い形状を有する。従って、初期楕円面補正行列T0及び初期中心点cE0の示す座標は、大局的最適解として算出されるべき値である楕円面補正行列TE及び中心点cOGの示す座標に近い値である(図8及び図18参照)。このような初期値を用いた非線形最適化演算を行うことにより算出される最適楕円面補正行列TOP及び最適中心点cEOPの示す座標は、局所的最適解ではなく、大局的最適解(厳密には、大局的最適解の近似値)となる。このように、本実施形態の非線形最適化演算は、大局的最適解に近い値の適切な初期値が設定されるため、局所的最適解に陥ることなく、大局的最適解を最適解として算出することができる。
しかし、対称行列に限定されない変数行列TRは、任意のベクトルを変数行列TRの3つの固有ベクトル方向に各々伸縮させる座標変換に加え、任意のベクトルの向きを回転させる座標変換を表す場合がある。そのため、第1変数ベクトル(qi−c)を変数行列TRにより変換することで得られるベクトルTR(qi−c)は、第2磁気ベクトルT(qi−c)を任意角度回転させたベクトルとして算出される場合がある。すなわち、図20に示すように、変数行列TRを用いて算出される変換後磁気データROsiの示す座標は、変数行列Tを用いて算出される変換後磁気データsiの示す座標を、球面SEOP上で任意角度回転させた座標として算出される。
この場合、変数行列TRを用いて算出される変換後磁気データROsiの示す座標に基づいて、地磁気Bgの向きを算出することは困難である。
従って、実対称行列である変数行列Tを用いる非線形最適化演算は、最適楕円面補正行列TOPを、任意のベクトルを最適楕円面補正行列TOPの各固有ベクトル方向に各々伸縮させる座標変換を表す行列として算出するため、最適楕円面補正行列TOPは、回転を伴う座標変換は行わない。このような最適楕円面補正行列TOPにより、磁気データqiの示す座標を、変換後磁気データsiの示す座標へと変換することにより、地磁気Bgの正確な向きを得ることができる。
また、変数行列TRは3行3列の行列で9個の独立した成分を有し、楕円面最適化関数fEL(TR,c)の変数は12個となるのに対して、本実施形態に係る変数行列Tは対称行列であるため6個の独立した成分を有し、楕円面最適化関数fEL(T,c)の変数は9個である。従って、本実施形態に係る非線形最適化演算は、変数行列TRを用いる非線形最適化演算に比べて変数の数が少なく、計算負荷が低減される。
なお、楕円面最適補正値生成部400は、算出した最適楕円面補正行列TOPが正定値行列であることを判定し、判定結果が肯定である場合のみ、最適楕円面補正行列TOP及び最適中心点cEOPをデータ制御部710に格納し、判定結果が否定である場合には、これらの算出結果を破棄してもよい。最適楕円面補正行列TOPは、楕円面上の座標を、当該楕円面の主軸方向に伸縮させることにより、球面上の座標へと変換する行列であるため、最適楕円面補正行列TOPの有する3つの固有値は、いずれも正の値となる必要があるからである。
なお、本実施形態では、説明の便宜上、第2磁気ベクトル(si−cEOP)を、最適中心点cEOPの示す座標を起点として配置しているが(図8参照)、第2磁気ベクトル(si−cEOP)を、センサ座標系ΣSの原点を起点として配置しても構わない。この場合、球面SEOPは、センサ座標系ΣSの原点を中心とする半径1の球面を表し、変換後磁気データsiは原点を中心とする半径1の球面近傍に分布する。
以上で説明したように、第1実施形態に係る地磁気測定システムSYSは、複数の磁気データq1〜qNの示す座標が楕円面近傍に分布すると仮定して、複数の磁気データq1〜qNの示す座標を近傍に有する楕円面を特定し、複数の磁気データq1〜qNの示す座標を当該楕円面と同一の中心点を有する球面近傍に座標変換する楕円補正を行った。
これにより、3次元磁気センサ60を搭載する機器が軟磁性材料を備え、ソフトアイアン効果が生じている場合に、複数の磁気データq1〜qNに基づいて、地磁気Bgの正確な方向を算出することができる。
上述の通り、M個の磁気データqB1〜qBMの示す座標を用いた4元一次連立方程式を解くことで近似中心点cSBを算出する近似中心点算出処理に比べて、Mよりも大きなN個の磁気データq1〜qNに基づいて、初期中心点cE0及び初期楕円面補正行列T0を算出する初期楕円面生成処理や、最適中心点cEOP及び最適楕円面補正行列TOPを算出する最適楕円面生成処理は、負荷の大きな処理である。
第1実施形態に係る地磁気測定システムSYSは、楕円補正等の地磁気Bgの向きを算出する処理のうち、処理負荷の大きな演算を、全てサーバ装置SVにおいて実施するため、端末装置1における処理負荷を小さく抑えることができる。すなわち、本実施形態に係る地磁気測定システムSYSは、端末装置1の備えるCPUの処理能力に制約がある場合、または、端末装置1の備えるメモリの容量に制約がある場合であっても、正確且つ高速に地磁気Bgの向きを算出することができる。また、本実施形態に係る地磁気測定システムSYSは、端末装置1における処理負荷を小さく抑え、消費電力量を小さく抑えるため、携帯電話機、PDA端末等のようなバッテリーで給電される携帯機器を端末装置1として適用したときに、端末装置1のバッテリー使用時間を短縮させること無く、地磁気Bgの向きを算出することができる。
第1実施形態では、複数の磁気データq1〜qNの示す座標が楕円面近傍に分布しているものと看做して楕円補正を行う。この楕円補正に用いる楕円面の3つの主軸は、直交関係を保ちつつ任意の方向を向くことができるため、第1実施形態に係る楕円補正は、楕円面の主軸とセンサ座標系ΣSの3軸の方向が一致する場合についても、適用することが可能である。
従って、第1実施形態の楕円補正は、センサ感度のバラつきが原因で複数の磁気データq1〜qNの示す座標が楕円面近傍に分布する場合、つまり、楕円面の主軸とセンサ座標系ΣSの3軸の方向が一致する場合であっても、地磁気Bgの正確な向きを算出することができる。
これにより、複数の磁気データq1〜qNの示す座標の分布の形状から、楕円面の形状を特定することが困難な場合に、複数の磁気データq1〜qNの示す座標の分布の形状とは異なる不正確な初期楕円面VE0に基づいた、不適切な初期楕円面補正行列T0及び初期中心点cE0の座標が生成されることを防止することが可能となり、不正確な値がオフセットとして採用されることを防止することが可能となった。
非線形最適化は、初期値に、大局的最適解に近い値を採用することで、局所的最適解が最適解として算出される可能性を低減させ、大局的最適解が最適解として算出される可能性を高める。従って、本実施形態に係る非線形最適化演算は、局所的最適解が最適解として算出される可能性を低減し、不適切な最適楕円面補正行列TOPを用いた楕円補正による不正確な地磁気Bgの向きが算出される可能性を低減した。
すなわち、最適楕円面VEOP近傍に位置する磁気データqiの示す座標を楕円補正することで算出される変換後磁気データsiの示す座標は、最適中心点cEOPから見て、地磁気Bgと同じ方向を向く座標として求められるため、変換後磁気データsiに基づいて、正確な地磁気Bgの向きを算出することができる。
以下、第2実施形態について説明する。
第1実施形態では、3次元磁気センサ60が測定する対象の磁界を、地磁気Bg、内部磁界Bi、及び着磁磁界Bmに限定し、複数の磁気データq1〜qNの示す座標が楕円面近傍に分布する場合を想定した。
しかし、端末装置1の外部に磁界を生じる物体が存在する場合、物体の発する外部磁界Bxの影響により、複数の磁気データq1〜qNの示す座標は、楕円面とは異なる形状に分布することがある。この場合には、複数の磁気データq1〜qNの示す座標が楕円面近傍に分布すると仮定して算出された楕円面の中心点の示す座標は、3次元磁気センサ60のオフセットを示す座標とは一致しない可能性が高く、楕円面の中心点の示す座標をオフセットとして補正を行っても正確な地磁気Bgの向きを求めることはできない。
また、端末装置1が軟磁性材料21を備えない場合、ソフトアイアン効果は生じないため、複数の磁気データq1〜qNの示す座標は、図4に示したように球面近傍に分布し、楕円面近傍には分布しない。この場合、楕円補正を行わなくても、正確な地磁気Bgの向きを求めることができる。
第2実施形態は、端末装置1の外部の物体の発する外部磁界Bxが存在する場合、及び、端末装置1が軟磁性材料21を備えず着磁磁界Bmが存在しない場合にも対応した地磁気測定システムを実現することを目的とする。
図22に示すように、第2実施形態に係るサーバ装置SVaは、分布判定部620、中心点算出部640、楕円面球面変換部520、及び歪判定部540を備える点と、データ制御部710の代わりにデータ制御部710aを備える点とを除き、第1実施形態に係るサーバ装置SV(図10参照)と同様に構成される。
中心点算出部640は、センサ座標系ΣSにおいて、複数の磁気データq1〜qNの示す座標を近傍に有する球面Sの中心点cSの示す座標を算出する。図4において説明したように、3次元磁気センサ60が測定する磁界が、地磁気Bg及び内部磁界Biである場合、複数の磁気データq1〜qNの示す座標が、球面SGの近傍に分布するため、球面Sと球面SGとは一致すると看做すことができ、球面Sの中心点cSの座標を示すベクトルを、オフセットcOFFとして採用することができる。第2実施形態に係るサーバ装置SVaは、中心点算出部640を備えることで、着磁磁界Bmが存在せず、複数の磁気データq1〜qNの示す座標が球面近傍に分布する場合に、簡易な方法により、3次元磁気センサ60のオフセットcOFFの候補となる座標を算出することが可能となる。
歪判定部540は、センサ座標系ΣSにおいて、複数の入力座標(複数の磁気データq1〜qNの示す座標、または、複数の変換後磁気データs1〜sNの示す座標)がある立体近傍に分布すると仮定して、当該立体の形状と球面の形状との相違の程度を評価することで、立体の形状を球面と看做すことができる否かを判定する。
外部磁界Bxが存在し、複数の磁気データq1〜qNの示す座標が球面または楕円面とは異なる歪んだ形状の立体近傍に分布する場合、3次元磁気センサ60のオフセットcOFFの候補となる値を算出することは、困難である。
第2実施形態に係るサーバ装置SVaは、歪判定部540を備えることで、外部磁界Bxの影響が大きく、オフセットcOFFの候補となる座標の算出が困難な場合に、不正確な値がオフセットcOFFとして採用されることを防止することができる。これにより、端末装置1及び端末装置1aが、不正確なオフセットを用いた補正処理により不正確な地磁気Bgの向きを算出することを防止することが可能となる。
具体的には、データ制御部710aは、サーバ側送受信部720が出力する複数の磁気データq1〜qNを保持する。また、データ制御部710aは、楕円面球面変換部520が算出する複数の変換後磁気データs1〜sNと、中心点算出部640が算出する球面Sの中心点cSの座標と、楕円面補正部200が算出する最適中心点cEOPの座標及び最適楕円面補正行列TOPと、分布判定部620における判定結果を示す情報と、歪判定部540における判定結果を示す情報とを、保持する。
また、詳細は後述するが、データ制御部710aは、所定の条件の下、最適中心点cEOPまたは中心点cSのうち一方を応答中心点cSAとして採用する。そして、データ制御部710aは、最適中心点cEOPを応答中心点cSAとして採用する場合、最適楕円面補正行列TOPを応答補正行列TAとして採用することで、応答情報RESを生成する。一方、データ制御部710aは、中心点cSを応答中心点cSAとして採用する場合、3行3列の単位行列Iを応答補正行列TAとして採用することで、応答情報RESを生成する。
なお、データ制御部710aが中心点cSを応答中心点cSAとして採用し、且つ、オフセット採用部131が応答中心点cSAの座標を示すベクトルをオフセットcOFFとして採用する場合、式(1.a)から明らかなように、地磁気ベクトル計算部132は、3次元磁気センサ60が順次出力する磁気データqiの示す座標から、中心点cSの座標を減算することにより、地磁気SBgの向きを算出する。すなわち、この場合、地磁気ベクトル計算部132は、楕円補正を行わず、単なるベクトルの減算処理として地磁気SBgの向きを算出することになる。
なお、図24では、簡単のために、着磁磁界Bmは存在せず、内部磁界Bi、地磁気Bg、及び外部磁界Bxのみが存在する場合を想定する。
3次元磁気センサ60が、内部磁界Bi、地磁気Bg、及び外部磁界Bxを測定する場合、複数の磁気データq1〜qNの各々の表す座標は、内部磁界を表すベクトルSBi、地磁気を表すベクトルSBg(μ)、及び外部磁界を表すベクトルSBx(μ、Ps)の和を表すベクトルにより示される。従って、複数の磁気データq1〜qNの示す座標は、中心点cOGを起点とする地磁気を表すベクトルSBg(μ)の終点を表す球面SGと、中心点cOGを起点とする外部磁界を表すベクトルSBx(μ、Ps)の終点を表す曲面SXとを、中心点cOGを起点として重ね合わせた立体SDの表面近傍に分布する。
また、図25(B)に示すように、不均一な外部磁界Bxが大きい場合であっても、立体SDの形状がほぼ球面と看做せる場合がある。例えば、不均一な外部磁界Bxが存在する場合であっても、N個の磁気データq1〜qNを取得する際に、端末装置1または端末装置1aの利用者が端末装置1または端末装置1aを手で握って3次元磁気センサ60の位置PSが変化するように振るのではなく、3次元磁気センサ60の位置PSを固定して姿勢μのみを変化させる場合には、外部磁界Bxは、センサ座標系ΣSにおいて、姿勢μに基づいてその方向のみを変化させる一定の大きさのベクトルSBx(μ)として表現される。この場合、外部磁界Bxを表す曲面SXの形状は、中心点cOGを中心とする球面となるため、中心点cOGを中心とする球面SGと、中心点cOGを中心とする球面の形状の曲面SXとを、中心点cOGを中心に重ね合わせた立体SDの形状は、中心点cOGを中心とする球面となる。従って、複数の磁気データq1〜qNの示す座標に基づいて、立体SDの表す球面の中心点の座標を算出することにより、球面SGの中心点cOGの示す座標を算出することができる。
すなわち、図22に示すように、楕円面補正部200、楕円面球面変換部520、及び歪判定部540は、複数の磁気データq1〜qNの示す座標の分布の形状が、球面と看做すことのできる形状、楕円面と看做すことのできる形状、または、球面と看做すことも楕円面と看做すこともできない歪んだ形状、のいずれに該当するかを判断する、歪形状判断部500として機能する。
そして、歪形状判断部500が、複数の磁気データq1〜qNの示す座標の分布の形状を、球面と看做すことのできる形状、または、楕円面と看做すことのできる形状であると判断した場合、サーバ装置SVaは、オフセットcOFFの候補となる座標を示す応答中心点cSAを生成するが、球面とも楕円面とも異なる歪んだ形状であると判断した場合、応答中心点cSAを生成しない。
このように、本実施形態に係る地磁気測定システムSYSaは、歪形状判断部500を備えることにより、外部磁界Bxの影響による不正確なオフセットが算出されることを防止することが可能になるとともに、外部磁界Bxの影響が無視できる程度に小さい場合には、ソフトアイアン効果の発生の有無に関わらず正確なオフセットcOFFの算出が可能になる。
図26は、第2実施形態に係るサーバ装置SVaの動作を表すフローチャートである。当該フローチャートに示される処理は、CPU910が第2サーバ側磁気データ処理プログラムを実行している状態で、端末装置1または端末装置1aから複数の磁気データq1〜qNを受信したときに開始される。
すなわち、CPU910は、ステップS53の磁気データ分布判定処理を実行することにより、分布判定部620として機能する。
すなわち、CPU910は、ステップS55の中心点算出処理を実行することにより、中心点算出部640として機能する。
すなわち、CPU910は、ステップS59の初期楕円面生成処理を実行することにより、楕円面初期補正値生成部300として機能する。
すなわち、CPU910は、ステップS61の最適楕円面生成処理を実行することにより、楕円面最適補正値生成部400として機能する。
すなわち、CPU910は、ステップS63の楕円面球面変換処理を実行することにより、楕円面球面変換部520として機能する。
すなわち、CPU910は、ステップS57の歪判定処理、または、ステップS65の歪判定処理を実行することにより、歪判定部540として機能する。
なお、以下では、ステップS57においてCPU910が行う歪判定処理と、ステップS65においてCPU910が行う歪判定処理とを区別する場合、前者を第1の歪判定処理と称し、後者を第2の歪判定処理と称する。また、第1の歪判定処理において形状が評価される立体SDと区別するため、第2の歪判定処理において形状が評価される立体を立体SDEと称する。第1の歪判定処理と第2の歪判定処理とは、複数の入力座標の値が異なる以外は、同一の処理である。
N個の磁気データq1〜qNを取得する際に、利用者が端末装置1(または端末装置1a)を手で握って回転させるのではなく、端末装置1(または端末装置1a)の位置を固定したままその姿勢のみを変化させるようにすると、外部磁界Bxの影響を低く抑えることができる(図25(B)参照)。そのため、ステップS65における判定結果が否定である場合には、端末装置1(または端末装置1a)の位置を固定したまま回転させることを、利用者に対して指示してもよい。利用者に対する指示は、端末装置1(または端末装置1a)の表示部50に画像や動画等を表示したり、音声等を用いたりすることで、行ってもよい。
一方、CPU910は、ステップS57の歪判定処理における判定結果が否定である場合、ステップS61の最適楕円面生成処理においてCPU910が算出した最適中心点cEOPを応答中心点cSAとして採用し、ステップS61の最適楕円面生成処理においてCPU910が算出した最適楕円面補正行列TOPを応答補正行列TAとして採用し、応答中心点cSAの座標と応答補正行列TAとを要素とする応答情報RESを生成する。
すなわち、CPU910は、ステップS51の磁気データ格納処理と、ステップS69の応答情報送信処理とを実行することにより、サーバ側送受信部720として機能する。
すなわち、CPU910は、ステップS67の応答情報生成処理と、ステップS71のデータ初期化処理とを実行することにより、データ制御部710aとして機能する。
すなわち、本実施形態の地磁気測定装置は、N個の磁気データq1〜qNの示す座標の分布形状が、球面、楕円面、及び球面とも楕円面とも異なる歪んだ形状の立体のうち、いずれの形状と看做すことが適当であるかについて、判別することが可能となる。
これにより、本実施形態に係る地磁気測定システムSYSaは、N個の磁気データq1〜qNの示す座標が、球面または楕円面の近傍に分布する場合には、これらの中心点をオフセットとして採用することにより、正確な地磁気の向きを算出することができる。一方、N個の磁気データq1〜qNの示す座標が、球面とも楕円面とも異なる歪んだ形状の立体の近傍に分布する場合、本実施形態に係る地磁気測定システムSYSaは、オフセットの算出を防止するため、不正確な地磁気の向きの算出を防止することができる。
図27を参照しつつ、ステップS55において、サーバ装置SVa(CPU910)が実行する中心点算出処理について説明する。中心点算出処理は、端末装置1(または端末装置1a)から供給されるN個の磁気データq1〜qNの示す座標が、半径rSの球面Sの近傍に分布すると仮定して、球面Sの中心点cSの座標を算出する処理である。球面Sは、端末装置1(または端末装置1a)のセンサ座標系ΣSにおいて、複数の磁気データq1〜qNの示す座標を近傍に有するように定められる球面の中心点の座標を求めるために、計算の便宜上導入される球面であり、地磁気Bgを表す球面SGとは異なる球面である。なお、以下において記載されるベクトル及び座標は、特に断りがない場合には、端末装置1(または端末装置1a)のセンサ座標系ΣSにおいて表現されたものであるとする。
以下では、ステップS53において、サーバ装置SVa(CPU910)が実行する磁気データ分布判定処理について説明する。
例えば、図28に示すように、複数の磁気データq1〜qNの示す座標が、センサ座標系ΣSの平面π上の円πC近傍に2次元的に分布する場合、球面Sは、円πCを切断面に有するような球面であるということしか特定できない。円πCを切断面に有するような球面は、円πCの中心点πCOを通り平面πに直交する直線πL上の中心点cπ1を中心とする球面Sπ1であるかもしれないし、直線πL上の中心点cπ2を中心とする球面Sπ2であるかもしれない。つまり、球面Sの中心点cSは、直線πL上に位置することまでは特定可能であるが、具体的に直線πL上のどの位置に存在するかについては特定不可能である。このように、複数の磁気データq1〜qNの示す座標が2次元的に分布する場合、複数の磁気データq1〜qNに基づいて、正確な(オフセットcOFFの候補となる座標を表す)中心点cSを算出することはできない。
図29に示すように、各固有ベクトルu1〜u3を重心座標系ΣCの原点qCを起点となるように配置する。このとき、例えばj=1の場合について検討する。固有値λ1は、ベクトルCqiを、固有ベクトルu1へ射影した長さLi1の二乗(Li1)2を、N個の磁気データCqi(i=1、2、…N)について平均した値に等しい。すなわち、固有値λjは、N個の磁気データCqiが、重心qCから固有ベクトルuj方向にどの程度離れているか、つまり、複数の磁気データq1〜qNの示す座標の分布が固有ベクトルujの方向にどの程度の広がり有するかを表す。
サーバ装置SVa(CPU910)は、ステップS57において第1の歪判定処理を実行するとともに、ステップS65において第2の歪判定処理を実行する。第2の歪判定処理は、複数の入力座標として、複数の磁気データq1〜qNの示す座標の代わりに、複数の変換後磁気データs1〜sNの示す座標を用いる点を除いて、第1の歪判定処理と同様の処理である。
以下12.1節において、第1の歪判定処理について述べた上で、12.2節において、第2の歪判定処理について述べる。
歪判定処理では、複数の入力座標、すなわち、複数の磁気データq1〜qNの示す座標が、球面とは異なる歪んだ形状の立体SDの表面近傍に分布すると仮定する。立体SDは、図30に示すように、球面(第2球面)S2と、歪誤差ベクトルk(E)とを、足し合わせることで得られる図形であり、以下の式(83)により表される。以下では、式(83)に示す方程式を、立体方程式と呼ぶ。
ここで、球面S2は、中心点(第2球面の中心点)cS2を中心とする球面であり、立体方程式のうち、歪誤差ベクトルk(E)以外の成分「X(c−qC)−j」として表される。
歪誤差ベクトルk(E)は、以下の式(84)により表されるN次元ベクトルである。但し、歪評価行列Eは、以下の式(85)に表される3行3列の対称行列であり、基準点wKEは、以下の式(86)により表される3次元ベクトルである。また、式(83)の右辺に現れる0NはN次元の零ベクトルである。式(83)の左辺に現れる変数ベクトルcは、式(1.e)で示された3次元のベクトルであるが、本節では、球面S2の中心点cS2を表すための変数として用いる。
歪判定処理は、立体方程式のうち、歪を表す成分k(E)の大きさを評価することにより、立体SDの形状と、球面S2の形状とが、どの程度相違しているかについて評価する。具体的には、立体方程式における歪誤差ベクトルk(E)の影響の大きさを、後述する式(93)及び式(94)で示される歪評価値gD(E)に基づいて評価する。
なお、第1の歪判定処理では、基準点wKEとして、以下の式(89)に示すように、球面Sの中心点cSを採用する。
立体誤差ベクトルδSDは、複数の磁気データq1〜qNの示す座標と、立体SDの表面との誤差を表す、N次元のベクトルである。立体誤差ベクトルδSDのノルムを最小にする変数ベクトルc及び歪評価行列E、換言すれば、以下の式(92)で示す歪評価関数fSD(E、c)を最小化する変数ベクトルc及び歪評価行列Eによって、複数の磁気データq1〜qNの示す座標を表面近傍に有する立体SDが表現される。
まず、第1球面誤差ベクトルδSは、複数の磁気データq1〜qNの示す座標と、球面Sとの誤差を吸収するためのベクトルである。第1球面誤差ベクトルδSを構成する1行目〜N行目の各要素は、それぞれ独立した変数である。従って、第1球面誤差ベクトルδSによって、複数の磁気データq1〜qNが示す座標と球面Sとの誤差を吸収する場合には、複数の磁気データq1〜qNが示す座標と球面SとのN個の誤差の各々は、互いに制約の無い、N個が互いに独立して定められる値となる。つまり、第1球面誤差ベクトルδSによって表されるN個の誤差は、それぞれが独立に確率的に定められるものであり、N個の誤差は全体として、対称性を有し、かつ方向依存性のないホワイトノイズである。
すなわち、中心点算出処理は、複数の磁気データq1〜qNの示す座標と、球面Sとの誤差をホワイトノイズである第1球面誤差ベクトルδSにより表現し、第1球面誤差ベクトルδSを最小化する球面Sの中心点cSを求める処理である。
第2球面誤差ベクトルδS2は、第1球面誤差ベクトルδSと同様に、磁気データq1〜qNの示す座標と、球面S2との誤差を、ホワイトノイズとして表現するベクトルである。
一方、歪誤差ベクトルk(E)は、式(87)で示した3変数二次形式の関数ke(v)を各要素とするベクトルである。3変数の二次形式は、変数が2次の項から構成される関数であり、3次元空間上の様々な曲面、例えば、直線、平面、柱面、球面、楕円面、錐面、1葉双曲面、2葉双曲面、及び各種放物面等を描くことができる。従って、歪誤差ベクトルk(E)は、各磁気データq1〜qNが示す座標と球面S2とのN個の誤差の各々を、互いに独立したものではなく、N個の誤差の全てが同一の関数ke(v)により表される3次元空間上の曲面上に存在するという制約を持った値として表現する。
このように、立体誤差ベクトルδSDは、各磁気データq1〜qNが示す座標と球面S2とのN個の誤差を、ホワイトノイズである第2球面誤差ベクトルδS2と、球面S2からの歪を表す歪誤差ベクトルk(E)とに分離して表現する。
このように、立体方程式における歪誤差ベクトルk(E)の影響が小さい場合、中心点算出手段において算出した球面Sの中心点cSの示す座標は、球面SGの中心点cOGの示す座標と等しいと看做されるため、中心点cSの示す座標をオフセットcOFFとして採用することができる。
また、立体方程式における歪誤差ベクトルk(E)の影響が大きい場合、歪評価関数fSD(E、c)と、中心点算出関数fS(c)とは、異なる関数となる。この場合、図31に示すように、歪評価関数fSD(E、c)を最小化して求められる立体SDと、中心点算出関数fS(c)を最小化して求められる球面Sとは、異なる図形となり、立体SDの表面近傍に分布する複数の磁気データq1〜qNの示す座標は、球面Sの近傍に分布すると看做すことはできない。
中心点算出処理は、複数の磁気データq1〜qNの示す座標が球面Sの近傍に存在していることを前提として、球面SGの中心点cOGと等しいと看做すことのできる中心点cSの示す座標を算出する処理である。従って、複数の磁気データq1〜qNの示す座標が球面Sの近傍に存在しない場合、中心点cSと、中心点cOGとは、一致しない。この場合、中心点cSの座標を示すベクトルを、オフセットcOFFとして採用することはできない。
歪評価値gD(E)が、歪許容値δ0以下の小さな値であれば、立体SDと球面S2とは等しい図形であると看做すことができ、立体SDの表面近傍に分布する複数の磁気データq1〜qNの示す座標は、球面Sの近傍に分布すると看做すこともできる。この場合、中心点算出処理により求められた球面Sの中心点cSの座標を表すベクトルを磁気センサのオフセットcOFFとして採用することができる。
つまり、歪誤差ベクトルk(E)を構成する複数の要素の絶対値は、当該要素に対応する磁気データqiの示す座標を基準点wKEの示す座標から表したベクトル(qi−wKE)と、歪評価行列Eが有する3つの固有値のうち絶対値の大きさが最大となる最大固有値λE1に対応する固有ベクトルuE1とが平行となる場合には、大きな値となる。
従って、球面S2との誤差が大きな座標を示す磁気データqiが多く存在する領域を、基準点wKEの示す座標から表した方向と、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向とが等しくなるように歪評価行列Eの各成分を定める場合、歪誤差ベクトルk(E)は、複数の磁気データq1〜qNの示す座標と、球面S2との誤差の大きさを正確に表現する。
歪評価関数fSD(E、c)を最小化する歪評価行列Eは、複数の磁気データq1〜qNの示す座標と、球面S2との誤差を正確に表現するように定められる。従って、歪評価行列Eの各成分は、最大固有値λE1に対応する固有ベクトルuE1の向きと、球面S2からの誤差が大きな磁気データが多く存在する領域を基準点wKEの示す座標から表したベクトルの方向とが、近づくように定められる。そして、歪評価行列Eの最大固有値λE1は、球面S2からの誤差が大きな磁気データqiについての、その誤差の大きさを表現する値となる。
本実施形態は、立体SDと球面との形状の相違の程度を示す歪評価値gD(E)を、歪評価行列Eの最大固有値λE1の値に基づいて定める。従って、歪評価値gD(E)によって、球面S2からの距離が大きな座標を示す磁気データqiと、球面S2との誤差の大きさ、すなわち、立体SDと球面との形状の相違の程度を評価することが可能となる。
まず、式(87)に示した関数ke(v)は、以下の式(95)に変形できる。また、歪誤差ベクトルk(E)の第i行目の要素ke(qi−wKE)は、式(97)によって示される6次元のベクトルke2(i)、及び、式(98)によって表される歪評価行列Eの各成分を並べた6次元のベクトルeEを用いて、以下の式(96)に変形できる。
一方、歪評価値gD(E)が歪許容値δ0よりも大きな値である場合には、球面Sの中心点cSの座標を表すベクトルを、オフセットcOFFとして採用することはできない。この場合、サーバ装置SVa(CPU910)は、処理をステップS59の初期楕円面生成処理に進める。
すなわち、本実施形態に係る地磁気測定システムSYSaは、第1の歪判定処理を行うことにより、ソフトアイアン効果の有無を判断し、ソフトアイアン効果が生じていないと判断される場合には、楕円補正を行うことなく地磁気Bgの向きを算出する。これにより、本実施形態に係る地磁気測定システムSYSaは、地磁気Bgの向きの算出に係る計算負荷を大幅に低減することが可能となる。
なお、球面S2の中心点cS2の座標は、関数gSD(e)を最小化する解e0のうち式(101)のeXに相当する3次元のベクトルを、式(102)に代入した場合の、変数ベクトルcとして算出される。
図32を参照しつつ、ステップS65において、サーバ装置SVa(CPU910)が実施する第2の歪判定処理について説明する。
第2の歪判定処理は、ステップS57(第1の歪判定処理)における判定結果が否定である場合、すなわち、図32(A)に示すように、複数の磁気データq1〜qNの示す座標を近傍に有する立体SDの形状が球面とは異なる歪んだ形状であると判定された場合に、図32(B)に示すように、複数の変換後磁気データs1〜sNの示す座標の分布形状を評価するための処理である。すなわち、第2の歪判定処理は、複数の入力座標として、複数の変換後磁気データs1〜sNの示す座標を用いる。
逆に、不均一な外部磁界Bxが存在する場合、図32(A)に示すように、複数の磁気データq1〜qNの示す座標を近傍に有する立体SDは、球面とは異なる歪んだ形状を有し、且つ、楕円面とも異なる形状を有する。この場合、複数の磁気データq1〜qNの示す座標を、最適楕円面補正行列TOPにより変換して得られる複数の変換後磁気データs1〜sNの示す座標は、図32(B)に示すように球面SEOPとは異なる歪んだ形状の立体SDEの近傍に分布する。
一方、図32(B)に示すように、立体SDEの形状が、球面の形状とは異なる歪を持った形状であると評価される場合、複数の磁気データq1〜qNが不均一な外部磁界Bxの影響を受けたものであると看做すことができる。この場合、地磁気測定システムSYSaは、地磁気Bgの向きを算出することはできない。すなわち、この場合、サーバ装置SVa(CPU910)は、応答情報RESを生成することなく、図26のフローチャートに示す処理を終了させる。
前述の通り、第2の歪判定処理は、歪判定処理に用いる複数の入力座標として、複数の磁気データq1〜qNの示す座標を用いる代わりに、複数の変換後磁気データs1〜sNの示す座標を用いる点を除いて、第1の歪判定処理と同様の処理である。
つまり、第2の歪判定処理は、第1の歪判定処理で用いた複数の磁気データq1〜qNの示す座標に対して、以下の式(104)、式(105)に示す複数の変換後磁気データs1〜sNの示す座標の値を代入した後に、12.1節で述べた第1の歪判定処理を実行する処理である。この場合、第1の歪判定処理において用いられる各種行列、ベクトル等の値のうち、複数の磁気データq1〜qNに基づいて算出される値は、第2の歪判定処理では、複数の変換後磁気データs1〜sNに基づいて算出される。具体的には、歪判定処理で用いる値のうち、10節で述べた中心点算出処理において算出される値、例えば、式(83)に示す立体方程式に現れる行列X等は、複数の磁気データq1〜qNの示す座標代わりに、複数の変換後磁気データs1〜sNの示す座標を用いて算出される。また、第2の歪判定処理は、複数の磁気データq1〜qNに基づいて算出される重心qC(式(74)参照)の代わりに、以下の式(106)に示す、複数の変換後磁気データs1〜sNの示す座標に基づいて算出される重心sCを用いる。また、第2の歪判定処理は、基準点wKEとして、複数の磁気データq1〜qNに基づいて算出される中心点cSを採用(式(89)参照)する代わりに、以下の式(107)に示すように、複数の変換後磁気データs1〜sNに基づいて算出される最適中心点cEOPを採用する。
第2の歪判定処理は、このようにして複数の変換後磁気データs1〜sNの示す座標に基づいて定められる歪評価関数fSD(E、c)の値を最小化して求められる歪評価行列Eから歪評価値gD(E)を算出することにより、立体SDEと球面との形状の相違の程度を評価する。
一方、複数の変換後磁気データs1〜sNの示す座標に基づき算出された歪評価値gD(E)が歪許容値δ0よりも大きな値である場合、不均一な外部磁界Bxの影響が存在すると看做すことができる。この場合、球面SEOPの最適中心点cEOPの座標を表すベクトルを、オフセットcOFFとして採用することはできない。したがって、この場合、サーバ装置SVa(CPU910)は、応答情報RESを生成することなく、図26のフローチャートに示す処理を終了させる。
なお、本実施形態において、第1の歪判定処理における歪許容値δ0と、第2の歪判定処理における歪許容値δ0とは等しい値に設定されるが、異なる値に設定してもよい。
以上に示したように、第2実施形態に係る地磁気測定システムSYSaは、歪判定部540を備えることにより、複数の磁気データq1〜qNの示す座標を近傍に有する立体SDと球面との形状の相違の程度を評価する。
そして、立体SDの形状が球面と看做すことができる場合、地磁気測定システムSYSaは、簡易な計算により地磁気Bgの向きを算出することができる。具体的には、地磁気測定システムSYSaは、歪判定部540において、複数の磁気データq1〜qNの示す座標が球面近傍に分布すると判定された場合、中心点算出部640が算出する中心点cSの座標を表すベクトルを、オフセットcOFFとして採用することができる。そして、地磁気測定システムSYSaは、中心点cSの示す座標と、磁気データqiの示す座標とに基づいて、簡易な計算により地磁気Bgの向きを算出する。
このように、第2実施形態に係る地磁気測定システムSYSaは、3次元磁気センサ60が軟磁性材料を備えない端末装置1aに搭載され、ソフトアイアン効果が生じていない場合には、楕円補正を行うこと無く地磁気Bgの向きを算出するため、計算負荷を軽減することができる。
そして、立体SDEの形状が球面とは異なる歪んだ形状である場合、つまり、立体SDの歪の原因が不均一な外部磁界Bxである場合には、地磁気測定システムSYSaは、不均一な外部磁界Bxの影響下で測定された複数の磁気データq1〜qNの示す座標に基づいてオフセットcOFFが算出されることを防止する。
一方、立体SDEの形状が球面であると看做せる場合、つまり、ソフトアイアン効果が生じており、且つ、不均一な外部磁界Bxの影響がない場合、地磁気測定システムSYSaは、最適中心点cEOPの示す座標、最適楕円面補正行列TOP、及び、3次元磁気センサ60の出力する磁気データqiの示す座標に基づいて、地磁気Bgの向きを算出することができる。
このように、地磁気測定システムSYSaは、歪形状判断部500(楕円面補正部200、楕円面球面変換部520、及び歪判定部540)を備えることで、複数の磁気データq1〜qNの示す座標を近傍に有する立体SDが、球面、楕円面、及び、球面とも楕円面とも異なる歪んだ形状の立体のいずれであるかを判別し、不正確なオフセットcOFFによる不正確な地磁気Bgの算出を防止することができる。
これにより、地磁気測定システムSYSaは、複数の磁気データq1〜qNの示す座標が2次元的または1次元的に分布している場合に、中心点算出部640が中心点cSの座標を算出することを防止できる。
すなわち、本実施形態に係る地磁気測定システムSYSaは、不正確な中心点cSがオフセットcOFFとして採用されることを防止できるとともに、不要な処理が実行されることを未然に防止することで処理負荷を軽減することができる。
また、複数の磁気データq1〜qNの示す座標が2次元的または1次元的に分布している場合に、複数の磁気データq1〜qNの示す座標の分布の形状から、楕円面の形状を特定することが困難であることが多い。本実施形態に係る地磁気測定システムSYSaは、このような場合に、楕円面補正部200が楕円補正を行うことを防止することで、不要な処理が実行されることを未然に防止し、処理負荷を軽減することができる。
第2実施形態に係る地磁気測定システムSYSaは、処理負荷の大きな演算を、全てサーバ装置SVaにおいて実施するため、端末装置1(または、端末装置1a)における処理負荷を小さく抑えることができる。すなわち、本実施形態に係る地磁気測定システムSYSaは、端末装置1(または、端末装置1a)の備えるCPUの処理能力に制約がある場合、または、メモリの容量に制約がある場合であっても、正確且つ高速に地磁気Bgの向きを算出することができる。
本発明は上述した実施形態に限定されるものではなく、例えば、以下の変形が可能である。また、以下に示す変形例のうちの2以上の変形例を、矛盾しない範囲で適宜組み合わせることもできる。
上述した第2実施形態において、歪誤差ベクトルk(E)に用いられる基準点wKEには、式(89)に示した中心点cS、または式(107)に示した最適中心点cEOPが採用されるが、本発明はこのような形態に限定されるものでは無く、基準点wKEとして、式(74)に示した重心qC、または式(106)に示した重心sCを採用してもよい。
歪評価行列Eの各成分は、基準点wKEの示す座標から見て、歪評価行列Eの最大固有値λE1に対応する固有ベクトルuE1の方向と、球面S2からの誤差が大きな磁気データqi(または、変換後磁気データsi)が多く存在する領域を示す方向とが、近づくように定められる。また、歪評価行列Eの最大固有値λE1は、基準点wKEから見て、固有ベクトルuE1の方向に存在する磁気データqi(または、変換後磁気データsi)の示す座標と球面S2との誤差の大きさを表す値となる。
従って、基準点wKEをどのような値に設定しても、複数の磁気データq1〜qN(または複数の変換後磁気データs1〜sN)の示す座標が、基準点wKEから見て広く分布している場合には、歪評価行列Eによって、立体SD(または立体SDE)と球面S2との形状の相違の程度を評価することが可能となる。
上述した第2実施形態及び変形例において、第1の歪判定処理及び第2の歪判定処理は、いずれも、1つの基準点wKEを用いた歪誤差ベクトルk(E)に基づいて算出される歪評価値gD(E)により、立体SD(または立体SDE)と球面との形状の相違の程度を評価するが、本発明はこのような形態に限定されるものではなく、2つの基準点wKEを用いて算出される異なる2つの歪誤差ベクトルk(E)により、2つの歪評価値gD(E)を算出して、立体SD(または立体SDE)と球面との形状の相違の程度を評価してもよい。
例えば、第2の歪判定処理において、まず、最適中心点cEOPを基準点wKEに採用して算出された歪評価値gD(E)に基づいて立体SDEと球面との形状の相違の程度を評価し、その後、重心sCを基準点wKEに採用して算出された歪評価値gD(E)に基づいて立体SDEと球面との形状の相違の程度を評価してもよい。この場合、2度の評価の両方において、立体SDEの形状が球面の形状と看做すことができる場合に、歪判定処理の結果を肯定としてもよい。
このように、2つの基準点wKEを用いて、複数の磁気データq1〜qN(または、複数の変換後磁気データs1〜sN)の示す座標と球面S2との誤差の大きさを評価することにより、1つの基準点wKEのみを用いる場合に比べて、立体SD(または、立体SDE)と球面との形状の相違の程度を正確に評価することができる。
上述した第2実施形態及び変形例において、地磁気測定システムは、第1の歪判定処理及び第2の歪判定処理の双方を行うが、本発明はこのような形態に限定されるものでは無く、第1の歪判定処理または第2の歪判定処理のうち、一方のみを実施してもよい。
例えば、地磁気測定システムが、第1の歪判定処理のみを行う場合、複数の磁気データq1〜qNの示す座標を近傍に有する立体SDの形状が、球面と看做すことができるか否かを判定することができるため、ソフトアイアン効果が生じているか否かを判定することができる。そして、ソフトアイアン効果が生じていない場合、地磁気測定システムは、初期楕円面生成処理、最適楕円面生成処理、楕円面球面変換処理、第2の歪判定処理を行うこと無く、地磁気Bgの向きを算出することができるため、計算負荷の低減が可能となる。
そして、第2の歪判定処理における判定結果が肯定である場合、複数の磁気データq1〜qNの示す座標を近傍に有する立体SDの形状は、楕円面と看做すことができるため、地磁気測定システムは、3次元磁気センサ60が出力する磁気データqiの示す座標に対して、最適楕円面補正行列TOP、及び、最適中心点cEOPを用いた楕円補正を施すことにより、地磁気Bgの向きを算出することができる。なお、楕円面には球面が含まれるため(例えば、楕円面補正行列TEの有する3つの固有値が全て1の場合、等)、地磁気測定システムは、ソフトアイアン効果の発生の有無にかかわらず、地磁気Bgの向きを算出することができる。
一方、第2の歪判定処理における判定結果が否定である場合、複数の磁気データq1〜qNは不均一な外部磁界Bxの影響を受けているため、地磁気測定システムは、複数の磁気データq1〜qNに基づいてオフセットcOFFが算出されることを防止する。
上述した実施形態及び変形例において、地磁気測定システムは、楕円面最適補正値生成部400を備え、最適楕円面補正行列TOP及び最適中心点cEOPに基づいて、磁気データqiの示す座標を、変換後磁気データsiの示す座標へと変換する楕円補正を行うが、本発明はこのような形態に限定されるものでは無く、地磁気測定システムは、楕円面最適補正値生成部400を備えずに構成されてもよい。この場合、地磁気測定システムは、応答補正行列TA及び応答中心点cSAとして、楕円面初期補正値生成部300が算出する初期楕円面補正行列T0及び初期中心点cE0を採用してもよい。この場合、地磁気測定システムは、最適楕円面生成処理を行わないため、地磁気Bgの算出に係る計算負荷を低減することができる。
なお、楕円面初期補正値生成部300は、空間Ω上の第1評価軸ξ1、第2評価軸ξ2、及び、第3評価軸ξ3の3つの異なる評価軸を用いて、3つの異なる楕円面を生成した後に、これらの3つの楕円面の中心点の相互間の距離が第1閾値Δc以下であるか否かを判定し、判定結果が肯定となる場合に限り、初期楕円面補正行列T0及び初期中心点cE0を生成する。従って、初期楕円面補正行列T0及び初期中心点cE0により表される初期楕円面VE0は、複数の磁気データq1〜qNの示す座標との誤差を最小化する楕円面ではないが、複数の磁気データq1〜qNの示す座標の分布形状を正確に表す。すなわち、変形例4に係る地磁気測定システムは、ソフトアイアン効果が生じている場合であっても、初期楕円面補正行列T0及び初期中心点cE0を用いた楕円補正により、正確な地磁気Bgの向きを算出することができる。
上述した実施形態及び変形例において、地磁気測定システムは、楕円面初期補正値生成部300において、第1楕円面Vxx、第2楕円面Vyy、及び、第3楕円面Vzzを生成し、これら3つの楕円面に基づいて、初期楕円面補正行列T0及び初期中心点cE0を算出するが、本発明はこのような形態に限定されるものではなく、公知の方法を適宜適用して初期楕円面補正行列T0及び初期中心点cE0を算出してもよい。
例えば、初期楕円面補正行列T0及び初期中心点cE0を、非特許文献2に開示された方法(つまり、5節に示した対比例)に基づいて算出してもよい。また、初期楕円面補正行列T0として3行3列の単位行列を採用し、初期中心点cE0としてセンサ座標系ΣSの原点SO=(0,0,0)Tを採用してもよい。この場合、初期楕円面補正行列T0及び初期中心点cE0の算出に係る計算負荷を低減することが可能となる。
上述した第2実施形態及び変形例において、地磁気測定システムは、第2の歪判定処理に用いられる複数の入力座標として、複数の変換後磁気データs1〜sNの示す座標を適用したが、本発明はこのような形態に限定されるものでは無く、複数の変換後磁気データs1〜sNの示す座標を最適中心点cEOPを起点として表した複数のベクトル、すなわち、ベクトル(s1−cEOP)〜ベクトル(sN−cEOP)を複数の入力座標に適用してもよい。この場合、歪判定処理に用いられるデータのサイズを小さくすることができ、処理に必要なメモリのサイズの節約をすると共に、処理速度を向上させるという利点を有する。
上述した実施形態および変形例において、地磁気測定システムは、初期楕円面判定部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の座標及び初期楕円面補正行列T0を算出するものであってもよい。
上述した実施形態及び変形例において、地磁気測定システムは、初期楕円面生成部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つの中心点間の距離)を評価することにより、複数の磁気データq1〜qNの示す座標から楕円面の形状を特定することが困難な場合であるか否かを把握することが可能である。従って、地磁気測定システムが、初期楕円面生成部310において、第1楕円面Vxx、第2楕円面Vyy、及び第3楕円面Vzzのうち、少なくとも2つの楕円面各々の係数行列及び中心点の座標を算出すれば、不適切な初期楕円面補正行列T0が生成されることを防止することができる。また、地磁気測定システムが、初期楕円面生成部310において、2つの楕円面各々の係数行列及び中心点の座標を算出する場合、3つの楕円面各々の係数行列及び中心点の座標を算出する場合に比べて、計算負荷の軽減が可能となる。
なお、地磁気測定システムが、初期楕円面生成部310において、2つの楕円面の各々の係数行列及び中心点の座標を算出する場合、地磁気測定システムは、初期補正値生成部330において、当該2つの楕円面のうち、少なくとも1つの楕円面の係数行列に基づいて初期楕円面補正行列T0を算出すればよい。同様に、地磁気測定システムは、初期補正値生成部330において、当該2つの楕円面のうち、少なくとも1つの楕円面の中心点に基づいて、初期中心点cE0の座標を算出すればよい。
上述した実施形態及び変形例において、地磁気測定システムは、初期楕円面中心点判定部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以下であるか否かを判定するものであってもよい。
このような判定によっても、複数の磁気データq1〜qNの示す座標の分布の形状から楕円面の形状を特定することが困難な場合であるか否かを把握することが可能であり、不適切な初期楕円面補正行列T0が生成されることを防止することができる。
上述した実施形態及び変形例において、端末装置は、3次元磁気センサ60が順次出力する磁気データqiの全てを、第1記憶部BU1に蓄積し、第1記憶部BU1にN個の磁気データq1〜qNが蓄積されたときに、周期的に、これらN個の磁気データq1〜qNをサーバ装置に送信するものであったが(図11参照)、本発明はこのような形態に限定されるものではなく、端末装置が正確な地磁気Bgの算出のために応答情報RESを必要とする場合にのみ、3次元磁気センサ60が順次出力する磁気データqiを第1記憶部BU1に蓄積し、蓄積されたN個の磁気データq1〜qNをサーバ装置に送信するものであってもよい。
変形例10に係る地磁気測定システムは、実施形態に係る地磁気測定システムSYS(または、地磁気測定システムSYSa)に比べて、端末装置とサーバ装置との間の通信量を低減させることできるとともに、端末装置及びサーバ装置の処理負荷を軽減させることができ、端末装置の利便性を低下させることなく、地磁気Bgの正確な向きを算出することが可能となる。
図33に示すように、変形例10に係る地磁気測定システムの端末装置は、端末装置の備えるCPU10が、変形例10に係る端末側磁気データ処理プログラムを実行したときに、第1記憶部BU1に対する磁気データqiの蓄積を開始する(図33(A))。そして、当該端末装置は、第1記憶部BU1にN個の磁気データq1〜qNが蓄積されたときに、これらをサーバ装置に送信し、当該N個の磁気データq1〜qNに基づいてサーバ装置が算出した応答中心点cSAをオフセットcOFFとして採用する(図33(B))。
また、変形例10に係る端末装置は、内部磁界Biが変化した場合に、蓄積部110の第1記憶部BU1に対する磁気データqiの蓄積を再び開始する(図33(C))。そして、当該端末装置は、第1記憶部BU1にN個の磁気データq1〜qNが蓄積されたときに、これらをサーバ装置に送信し、当該N個の磁気データq1〜qNに基づいてサーバ装置が算出した応答中心点cSAをオフセットcOFFとして採用する(図33(D))。
このように、変形例10に係る端末装置は、応答中心点cSAに基づいてオフセットcOFFを更新する必要がある場合のみ、N個の磁気データq1〜qNを蓄積し、これをサーバ装置に送信するため、端末装置とサーバ装置との間の通信量を低減させることができる。
また、端末装置は、サーバ装置からの応答情報RESの受信待ちの期間(すなわち、端末装置がN個の磁気データq1〜qNをサーバ装置に送信後、サーバ装置から応答情報RESを受信するまでの期間)であるか否かを示すフラグFgSを有してもよい。端末装置がN個の磁気データq1〜qNをサーバ装置に送信後、サーバ装置が応答情報RESを供給する前の期間において、内部磁界Biが変化した場合、サーバ装置が算出する応答中心点cSAの座標は、変化後の内部磁界Biを正確に表さない。これに対して、端末装置がフラグFgSを有することで、内部磁界Biを正確に表さない応答中心点cSAがサーバ装置から送信されたときに、これを破棄することができる。
例えば、第2実施形態に係るサーバ装置SVaは、磁気データ分布判定処理、初期楕円面生成処理、または、歪判定処理における判定結果が否定である場合には、応答中心点cSA及び応答補正行列TAを生成しないが、このような場合に、変形例10に係るサーバ装置は、コードCodeに、応答中心点cSA及び応答補正行列TAの算出が失敗したことを表す値「0」を設定したうえで、コードCodeを含む応答情報RESを生成し、これを端末装置に送信してもよい。
すなわち、変形例10に係る端末装置は、内部磁界Biが変化した場合に、第1記憶部BU1に格納された磁気データを破棄したうえで、カウント値CtAを「0」に初期化し、フラグFgQを「1」に設定して、第1記憶部BU1への磁気データqiの蓄積を再度開始させる。これにより、端末装置1からサーバ装置SVに送信されるN個の磁気データq1〜qNの中に、内部磁界Biが変化する前に3次元磁気センサ60から出力された磁気データqiが混入することを防止することができる。
端末装置がN個の磁気データq1〜qNをサーバ装置に送信後、サーバ装置から応答情報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及び応答補正行列TAの算出に失敗した場合、端末装置は新たにN個の磁気データq1〜qNを蓄積し、これに基づいてサーバ装置が応答中心点cSA及び応答補正行列TAを含んだ応答情報RESを生成することが好ましい。変形例10に係る端末装置は、ステップSa192において、コードCodeの値が「0」であると判定した場合、フラグFgQを「1」に設定して、第1記憶部BU1への磁気データqiの蓄積を再度開始させるため、サーバ装置から、応答中心点cSA及び応答補正行列TAを含む応答情報RESの供給を受けることが可能となる。
なお、ステップSa192において、CPU10は、当該応答中心点cSAの座標と、オフセットcOFFの示す座標とが、式(5.a)に示した「応答中心点妥当性条件」を充足するか否かを併せて判定してもよい。但し、内部磁界Biが変化した場合には、ステップSa175において、フラグFgSが「0」に設定されるため、「応答中心点妥当性条件」に係る判定は必ずしも必要ではない。
上述した実施形態及び変形例に係る地磁気測定システムにおいて、端末装置は、近似中心点cSBを算出する近似中心点算出部140を備え、オフセットcOFFを、サーバ装置の供給する応答中心点cSA、または、近似中心点cSBのいずれかに基づいて更新するものであったが、本実施形態はこのような態様に限定されるものではなく、オフセットcOFFを、サーバ装置の供給する応答中心点cSAにのみ基づいて更新するものであってもよい。この場合、端末装置は、近似中心点算出部140を備えず、近似中心点cSBの座標の算出を行わないものであってもよい。変形例11に係る端末装置は、地磁気Bgの向きの算出に係る処理負荷を小さく抑えることが可能となるため、簡素な機器であっても地磁気測定システムに適用することが可能となる。
上述した実施形態及び変形例に係る地磁気測定システムにおいて、サーバ装置は、端末装置においてソフトアイアン効果が生じていることを考慮して応答情報RESを生成したが、本発明はこのような態様に限定されるものではなく、ソフトアイアン効果を考慮せずに応答情報RESを生成するものであってもよい。
例えば、サーバ装置は、データ制御部710(またはデータ制御部710a)及びサーバ側送受信部720の他に、中心点算出部640を備え、中心点算出部640が算出する球面Sの中心点cSを、応答中心点cSAに採用し、3行3列の単位行列Iを、応答補正行列TAに採用することで、応答情報RESを生成するものであってもよい。この場合、端末装置は、中心点cSの座標を示すベクトルをオフセットcOFFと看做し、楕円補正を施すことなく、地磁気Bgの向きを算出してもよい。また、この場合、サーバ装置は、歪判定部540及び分布判定部620を更に備え、磁気データq1〜qNの示す座標の分布形状が3次元的であり、且つ、磁気データq1〜qNが外部磁界Bxの影響を受けない場合に、応答情報RESを生成するものであってもよい。
Claims (4)
- サーバ装置と通信を行う端末装置であって、
3方向の磁気成分をそれぞれ検出し、検出値を3軸の座標系において表現されるベクトルデータである磁気データとして順次出力する3次元磁気センサと、
前記3次元磁気センサから順次出力される前記磁気データを蓄積する蓄積部と、
前記蓄積部に前記磁気データが第1規定数蓄積されたときに、前記第1規定数の前記磁気データを前記サーバ装置に送信し、前記サーバ装置が前記第1規定数の前記磁気データに基づいて算出した、前記磁気データを較正するためのベクトルであるオフセットを受信する端末側送受信部と、
前記蓄積部に前記磁気データが、前記第1規定数よりも少ない第2規定数蓄積されたときに、前記座標系において前記第2規定数の前記磁気データの各々が示す座標により定められる球面の中心点である近似中心点の座標を算出する近似中心点算出部と、
を備え、
前記オフセットの示す座標と前記近似中心点の座標との距離が所定の閾値よりも大きい場合、前記近似中心点の座標を示すベクトルによって前記オフセットを更新する、
ことを特徴とする端末装置。 - サーバ装置と通信を行う端末装置であって、
3方向の磁気成分をそれぞれ検出し、検出値を3軸の座標系において表現されるベクトルデータである磁気データとして順次出力する3次元磁気センサと、
前記3次元磁気センサから順次出力される前記磁気データを蓄積する蓄積部と、
前記蓄積部に前記磁気データが第1規定数蓄積されたときに、前記第1規定数の前記磁気データを前記サーバ装置に送信し、前記サーバ装置が前記第1規定数の前記磁気データに基づいて算出した、前記磁気データを較正するためのベクトルであるオフセットを受信する端末側送受信部と、
前記蓄積部に前記磁気データが、前記第1規定数よりも少ない第2規定数蓄積されたときに、前記座標系において前記第2規定数の前記磁気データの各々が示す座標により定められる球面の中心点である近似中心点の座標を算出する近似中心点算出部と、
を備え、
前記蓄積部は、
前記オフセットの示す座標と前記近似中心点の座標との距離が所定の閾値よりも大きい場合、前記第1規定数の前記磁気データの蓄積を開始する、
ことを特徴とする端末装置。 - 前記サーバ装置は、
前記端末装置から前記第1規定数の前記磁気データが供給されたとき、
前記座標系において前記第1規定数の前記磁気データの各々が示す座標を近傍に有するように定められた最適楕円面の中心点の座標と、前記最適楕円面上の座標を前記最適楕円面の中心点を中心とする球面上の座標へと座標変換する最適楕円面補正行列とを算出する楕円面補正部と、
前記最適楕円面の中心点を応答中心点として採用するとともに、前記最適楕円面補正行列を応答補正行列として採用し、前記応答中心点と前記応答補正行列とからなる応答情報を生成するデータ制御部と、
前記応答情報を前記端末装置に送信するサーバ側送受信部と、
を備え、
前記端末側送受信部は、
前記サーバ側送受信部が送信した前記応答情報を受信する、
ことを特徴とする請求項1または2に記載の端末装置。 - 前記サーバ装置は、
前記座標系において前記第1規定数の前記磁気データの各々が示す座標を近傍に有するように定められた球面の中心点の座標を算出する中心点算出部と、
前記第1規定数の前記磁気データを表面近傍に有するように定められた立体の形状と前記球面の形状との相違の程度を示す歪評価値を算出し、前記歪評価値が歪許容値以下であるか否かを判定する歪判定部と、
を更に備え、
前記データ制御部は、
前記歪判定部における判定結果が肯定である場合、
前記中心点算出部が算出した中心点を応答中心点として採用するとともに、単位行列を応答補正行列として採用し、
前記歪判定部における判定結果が否定である場合、
前記最適楕円面の中心点を応答中心点として採用するとともに、前記最適楕円面補正行列を応答補正行列として採用する
ことを特徴とする請求項3に記載の端末装置。
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)
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)
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)
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 | ヤマハ株式会社 | 地磁気測定装置、地磁気測定方法、及び地磁気測定プログラム |
-
2012
- 2012-01-06 JP JP2012001603A patent/JP6019585B2/ja not_active Expired - Fee Related
Cited By (2)
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 |