(57)【要約】【課題】ユーザによるキャリブレーション処理に伴い、磁気データの取得期間中に磁気センサの向きを任意に変化させることなく、磁気センサのオフセット補正を行う。【解決手段】磁気センサ１１０により取得された磁気データを３次元座標上にプロットした際に、磁気データ群が分布する球面を特定の平面により切断した場合に得られる円周、及び、当該円周の中心座標を通り、上記平面に垂直な直線を算出する。電子機器１００の移動に伴う磁気データの座標点の変化を監視して、磁気センサ１１０を磁気ジャイロとして使用して取得した回転角βと、角速度センサ１２４により取得した回転角αと、磁気データの各座標点と、ＧＰＳ受信回路１３０により取得した地磁気の大きさと、に基づく三角錐を特定する。上記直線上に存在し、三角錐の一辺に対応する磁気オフセットベクトルを規定する球の中心座標を算出して、磁気センサ１１０のオフセット値として決定する。【選択図】図３
2019128205.tif 000002
【特許請求の範囲】
【請求項１】
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう方位測定装置の磁気オフセット値算出方法であって、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出するとともに、前記円周の中心座標を算出するステップと、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出するステップと、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて、前記直線上に存在すると推定される前記球の中心座標を算出して前記方位測定装置の磁気オフセット値を算出するステップと、
を含むことを特徴とする磁気オフセット値算出方法。
【請求項２】
前記球の中心座標を算出して前記磁気オフセット値を決定するステップは、
前記３次元座標の原点と、前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した任意の２つの前記地磁気データに対応する前記座標点と、前記直線上に存在すると推定される前記球の中心座標と、をそれぞれ頂点とする三角錐を特定して、前記三角錐の一辺を規定する前記球の中心座標を算出することにより前記磁気オフセット値を求めることを特徴とする請求項１に記載の磁気オフセット値算出方法。
【請求項３】
前記第１の回転角度は、前記３次元座標の原点を基準とし、前記２つの地磁気データに対応する前記座標点間の各軸周りの回転角であり、
前記第２の回転角度は、前記球の中心座標を基準とし、前記２つの地磁気データに対応する前記座標点間の各軸周りの回転角であり、
前記地磁気の大きさデータは、前記球の中心座標と、前記２つの地磁気データに対応する前記座標点との間の距離に対応することを特徴とする請求項２に記載の磁気オフセット値算出方法。
【請求項４】
前記磁気オフセット値が変化したか否かを判定するステップを、さらに有し、
前記オフセット値が変化したと判定されたときに、前記円周の中心座標を算出するステップと、前記球の中心座標が存在すると推定される前記直線を算出するステップと、前記磁気オフセット値を算出するステップと、を実行することを特徴とする請求項１乃至３のいずれかに記載の磁気オフセット値算出方法。
【請求項５】
前記方位測定装置の移動動作を検知するステップを、さらに有し、
前記方位測定装置の移動方向が変化したことが検知されたときに、前記円周の中心座標を算出するステップと、前記球の中心座標が存在すると推定される前記直線を算出するステップと、前記磁気オフセット値を算出するステップと、を実行することを特徴とする請求項１乃至４のいずれかに記載の磁気オフセット値算出方法。
【請求項６】
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう方位測定装置の磁気オフセット値算出プログラムであって、
コンピュータに、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出させるとともに、前記円周の中心座標を算出させるステップと、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出させるステップと、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて、前記直線上に存在すると推定される前記球の中心座標を算出させて前記方位測定装置の磁気オフセット値を算出させるステップと、
を実行させることを特徴とする磁気オフセット値算出プログラム。
【請求項７】
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう電子機器であって、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出するとともに、前記円周の中心座標を算出する中心座標算出部と、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出する直線抽出部と、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて前記直線上に存在すると推定される前記球の中心座標を算出して前記方位測定装置の磁気オフセット値を算出する磁気オフセット値算出部と、
を含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地磁気を検出するための磁気センサにおける磁気オフセット値算出方法、及び、磁気オフセット値算出プログラム、並びに、磁気センサを備え、当該磁気オフセット値算出方法を適用した電子機器に関する。
【背景技術】
【０００２】
近年、携帯電話機やスマートフォン（高機能携帯電話機）、ナビゲーション端末、スポーツウォッチ等の携帯型（又は装着型）の電子機器の分野において、位置情報や地図情報を利用した種々のサービスが提供されている。これらの電子機器は、一般に磁気センサ（電子コンパスともいう）を備え、この磁気センサにより検出された地磁気に基づいて、方位を測定する手法が採用されている。
【０００３】
ところで、上述したような電子機器には、磁気センサの他にも様々な電子部品が搭載されているため、磁気センサの周囲にはスピーカや着磁した電子部品の金属パッケージ等から漏れる磁気が存在している。また、電子機器の使用環境によっては周囲に強い磁界が存在している場合もある。そのため、電子機器に搭載された磁気センサは、本来の検出対象である地磁気に加え、電子機器内部の電子部品等から発生する磁界や電子機器の周囲の磁界が合成された磁界を検出することになる。これにより、着磁状態で磁気センサにより検出された地磁気の測定値に基づいて算出された方位は、実際の（正確な）方位とは異なることになる。このような問題を解決するために、電子機器内部の電子部品等から発生する磁界に起因する誤差（以下、「磁気オフセット」と記す）分を補正するためのキャリブレーション処理が必要になる。
【０００４】
従来、磁気センサのキャリブレーション処理による磁気オフセットの推定手法は、種々提案されている。例えば特許文献１には、３軸方向の地磁気を検出する磁気センサの方向を任意に変化させて取得された磁気データが球面上に分布することを利用して、磁気センサにより取得された磁気データ群の各点の近傍に、球面が位置するような特定の球の中心座標を統計的手法によって推定し、その中心座標に基づいてオフセット情報（オフセット値）を算出する手法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４３９１４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に開示された、磁気センサのオフセット値の取得方法においては、磁気データの取得期間中に磁気センサの向きを任意に変化させる必要がある。
【０００７】
そこで、本発明は、上述した問題点に鑑み、ユーザによるキャリブレーション処理に伴い、磁気データの取得期間中に磁気センサの向きを任意に変化させることなく、磁気センサのオフセット補正を行うことができる磁気オフセット値算出方法及び磁気オフセット値算出プログラム、電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る磁気オフセット値算出方法は、
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう方位測定装置の磁気オフセット値算出方法であって、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出するとともに、前記円周の中心座標を算出するステップと、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出するステップと、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて、前記直線上に存在すると推定される前記球の中心座標を算出して前記方位測定装置の磁気オフセット値を算出するステップと、
を含むことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ユーザによるキャリブレーション処理に伴い、磁気データの取得期間中に磁気センサの向きを任意に変化させることなく、磁気センサのオフセット補正を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る電子機器の複数の適用例を示す概略構成図である。
【図２】本発明に係る電子機器の一実施形態を示す機能ブロック図である。
【図３】一実施形態に係る電子機器における制御方法の一例を示すフローチャートである。
【図４】磁気センサにより取得される磁気データの分布例とオフセット補正との関係を示す概念図である。
【図５】一実施形態に係るキャリブレーション処理（その１）を説明するための図である。
【図６】一実施形態に係るキャリブレーション処理（その２）を説明するための図である。
【図７】一実施形態に係るキャリブレーション処理（その３）を説明するための図である。
【図８】一実施形態に係るキャリブレーション処理（その４）を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る磁気オフセット値算出方法及び磁気オフセット値算出プログラム、電子機器について、実施形態を示して詳しく説明する。
【００１２】
＜電子機器＞
まず、本発明に係る磁気オフセット値算出方法及び磁気オフセット値算出プログラムを適用可能な電子機器について説明する。
図１は、本発明に係る電子機器の複数の適用例を示す概略構成図である。また、図２は、本発明に係る電子機器の一実施形態を示す機能ブロック図である。
【００１３】
本発明に係る電子機器は、例えば位置情報や地図情報を利用した種々のサービスをユーザに提供するための機能を備えた、携帯型又は装着型の電子機器に適用される。具体的には、電子機器は、例えば図１（ａ）に示すような腕時計型やリストバンド型の外観のスポーツウォッチ１０や、図１（ｂ）に示すような登山時等に携行するアウトドア機器（例えばＧＰＳロガーやナビゲーション端末）２０、図１（ｃ）に示すようなスマートフォン３０やタブレット端末等に適用される。以下、説明の都合上、これらの機器を「電子機器１００」と総称する。
【００１４】
本実施形態に係る電子機器１００は、例えば図２に示すように、磁気センサ（磁気データ取得部）１１０と、加速度センサ１２２及び角速度センサ（ジャイロセンサ；角速度取得部）１２４を備えたモーションセンサ１２０と、ＧＰＳ受信回路（位置情報取得部）１３０と、入出力インターフェース部（以下、「入出力Ｉ／Ｆ部」と記す）１４０と、入力操作部１５０と、出力部１６０と、演算回路部１７０と、メモリ部１８０と、電源供給部１９０と、を有している。ここで、演算回路部１７０は、少なくとも本発明における中心座標算出部、直線抽出部、磁気オフセット値算出部の各構成に対応する。
【００１５】
また、図２においては、図１に示した各電子機器に本発明を適用した場合に、磁気データ、又は、磁気データに基づいて算出される方位を利用した種々のサービスを、ユーザに提供する際に必要とされる構成も併せて示す。なお、後述する磁気オフセット値算出方法を適用した磁気センサ１１０のキャリブレーション処理を実現するためには、図２に示した構成のうち、少なくとも磁気センサ１１０と、角速度センサ１２４と、ＧＰＳ受信回路１３０等の位置情報取得手段とが演算回路部１７０に接続された構成を有していればよく、入出力Ｉ／Ｆ部１４０や出力部１６０は必ずしも有していなくてもよい。
【００１６】
磁気センサ１１０は、電子機器１００の周辺の磁場の大きさ及び方向を検知する３軸磁気センサであって、互いに直交する３軸方向における磁場の大きさを検出して磁気データとして出力する。磁気センサ１１０が検知する磁場は、その場所の地磁気に加え、磁気センサ１１０の近傍に存在する磁石や磁性体等により生じる周辺磁場を含んでいる。この磁気データは、例えば、演算回路部１７０において電子機器１００を基準とする方位を算出する際に用いられる。磁気センサ１１０により取得される磁気データは、時間データに関連付けられて後述するメモリ部１８０の所定の記憶領域に保存される。
【００１７】
モーションセンサ１２０は、少なくとも加速度センサ１２２と、角速度センサ（ジャイロセンサ）１２４とを含み、ユーザの身体の動きや運動状態、電子機器１００に加わる特定方向の力等を検出する。加速度センサ１２２は、ユーザの身体の動きに応じて電子機器１００に生じる移動速度の変化の割合（加速度）を計測する。加速度センサ１２２は、３軸加速度センサを有し、互いに直交する３軸方向の各々に沿った加速度成分（加速度信号）を検出して、センサデータとして加速度データを出力する。
【００１８】
また、角速度センサ１２４は、ユーザの身体の動きに応じて電子機器１００に生じる移動方向の変化（角速度）を計測する。角速度センサ１２４は、３軸角速度センサを有し、上記加速度データを規定する、互いに直交する３軸について、各軸に沿った回転運動の回転方向に生じる角速度成分（角速度信号）を検出して、センサデータとして角速度データを出力する。加速度センサ１２２及び角速度センサ１２４により取得されるセンサデータ（加速度データ、角速度データ）は、時間データに関連付けられてメモリ部１８０の所定の記憶領域に保存される。なお、本実施形態においては、モーションセンサ１２０として加速度センサ１２２と角速度センサ１２４を有する場合について示したが、後述するキャリブレーション処理を実現するためには、少なくとも角速度センサ１２４を有していればよい。
【００１９】
ＧＰＳ受信回路１３０は、ＧＰＳ（Global Positioning System；全地球測位システム）を構成する複数のＧＰＳ衛星からの電波を、ＧＰＳアンテナ（図示を省略）を介して受信することにより、緯度、経度情報に基づく地理的な位置情報を取得して、測位データ（位置データ）として出力する。ここで、電子機器１００を任意の方向に向けているときや、電子機器１００を携帯又は装着したユーザが移動しているときに、ＧＰＳ受信回路１３０により取得される測位データは、演算回路部１７０において電子機器１００が向いている方位や移動方向を算出する際に用いられる。ＧＰＳ受信回路１３０により取得される測位データは、時間データに関連付けられてメモリ部１８０の所定の記憶領域に保存される。
【００２０】
なお、上記ＧＰＳ受信回路１３０は、ＧＰＳ以外の衛星測位システム、例えばＧＬＯＮＡＳＳ（Global Navigation Satellite System）や我が国の地域航法衛星システムである準天頂衛星システムＱＺＳＳ（Quasi-Zenith Satellite System）等にも対応して、それらの衛星からの到来電波も受信し、より高い精度で現在位置の３次元座標と現在時刻とを算出できるものでも良い。その場合、以下の説明においてＧＰＳ受信回路１３０による測位動作について記述した際には、上記ＧＰＳ以外の衛星測位システムによる測位動作も合わせて実行するものとする。
【００２１】
また、本実施形態においては、ユーザが携帯する電子機器１００の地理的な位置情報を取得する手段（位置情報取得部）として、ＧＰＳ衛星からの電波を受信するＧＰＳ受信回路１３０を備えた形態を一例として示したが、本発明はこれに限定されるものではない。少なくとも電子機器１００の大まかな現在位置を示す情報を取得することができるものであれば、例えば、Ｗｉ‐Ｆｉ（Wireless Fidelity；登録商標）等の無線通信方式においてアクセスポイントが有する位置情報を取得するものであってもよいし、携帯電話等の回線網における基地局を利用した三角測量により位置情報を取得するものであってもよい。また、近距離無線通信方式に利用されるビーコン信号により位置情報を取得するものであってもよい。
【００２２】
入出力Ｉ／Ｆ部１４０は、電子機器１００の外部の周辺機器や情報機器、通信ネットワーク等（図示を省略）との間で、有線や無線を用いた所定の通信形式により各種のデータや信号を入出力又は送受信する。入出力Ｉ／Ｆ部１４０は、例えば、身体の他の部位に装着したセンサ機器との間で、心拍データ等の生体情報を送受信したり、パーソナルコンピュータ等の情報処理装置やネットワーク上のサーバとの間で、取得した磁気データやセンサデータ等を送受信したり、地図情報等を取得したりする。
【００２３】
入力操作部１５０は、例えば図１に示した電子機器１００（スポーツウォッチ１０やアウトドア機器２０、スマートフォン３０等）の筐体に設けられた操作スイッチ１５２やタッチパネル１５４等を有している。入力操作部１５０は、例えば、電子機器１００の動作電源やＧＰＳ受信回路１３０における測位動作のオン、オフ操作、アプリケーションソフトウェアの操作、各構成における機能設定等の、各種の入力操作に用いられる。
【００２４】
出力部１６０は、電子機器１００の筐体に設けられた表示部１６２や音響部１６４、振動部（図示を省略）等を有している。出力部１６０は、少なくとも上述した磁気センサ１１０により取得される磁気データに基づく方位や、モーションセンサ１２０により取得されるセンサデータ、ＧＰＳ受信回路１３０により取得される測位データに基づく位置情報や地図情報、アラーム等の、各種の情報を視覚や聴覚、触覚等を通してユーザに提供又は報知する。
【００２５】
演算回路部１７０は、計時機能を備えたＣＰＵ（中央演算処理装置）やＭＰＵ（マイクロプロセッサ）等の演算処理装置であって、動作クロックに基づいて、所定の制御プログラムやアルゴリズムプログラムを実行する。これにより、演算回路部１７０は、磁気センサ１１０やモーションセンサ１２０におけるセンシング動作や、ＧＰＳ受信回路１３０における測位動作、後述する磁気センサ１１０のキャリブレーション処理や方位算出処理、出力部１６０における情報提供動作等の、各種の動作を制御する。なお、磁気センサ１１０のキャリブレーション処理を含む電子機器１００の制御方法については、詳しく後述する。
【００２６】
メモリ部１８０は、上述した磁気センサ１１０により取得される磁気データや、モーションセンサ１２０により取得されるセンサデータ、ＧＰＳ受信回路１３０により取得される測位データ等を、時間データに関連付けて所定の記憶領域に保存する。また、メモリ部１８０は、演算回路部１７０において実行される処理動作により生成される各種データや、磁気センサ１１０のオフセット値を所定の記憶領域に保存する。また、メモリ部１８０は、磁気センサ１１０やモーションセンサ１２０、ＧＰＳ受信回路１３０等の、各構成における動作を制御するための制御プログラムや、上記の磁気データや角速度データ等に基づいて、磁気センサ１１０のキャリブレーション処理を実行するためのアルゴリズムプログラムを保存する。なお、これらのプログラムは、演算回路部１７０に予め組み込まれているものであってもよい。また、メモリ部１８０は、その一部又は全部が、例えばメモリカード等のリムーバブル記憶媒体としての形態を有し、電子機器１００に対して着脱可能に構成されているものであってもよい。
【００２７】
電源供給部１９０は、電子機器１００内部の各構成に駆動用電力を供給する。電源供給部１９０は、電子機器１００が携帯型の機器である場合には、例えば市販のボタン型電池等の一次電池や、リチウムイオン電池等の二次電池が適用される。また、電源供給部１９０は、上記の一次電池や二次電池のほか、振動や光、熱、電磁波等のエネルギーにより発電する環境発電（エナジーハーベスト）技術による電源等を、単独で、或いは、併用して適用するものであってもよい。
【００２８】
＜電子機器の制御方法＞
次に、本実施形態に係る電子機器における制御方法について、図面を参照して説明する。ここで、以下のフローチャートに示す電子機器の制御方法は、本発明に係る磁気オフセット値算出方法を適用した磁気センサ１１０のキャリブレーション処理を含むものであって、上述した演算回路部１７０が所定の制御プログラム及びアルゴリズムプログラムに従って処理を実行することにより実現される。
【００２９】
図３は、本実施形態に係る電子機器における制御方法の一例を示すフローチャートである。図４は、磁気センサにより取得される磁気データの分布例とオフセット補正との関係を示す概念図である。また、図５〜図８は、本実施形態に係るキャリブレーション処理を説明するための図である。
【００３０】
本実施形態に係る電子機器１００の制御方法においては、磁気センサ１１０と、モーションセンサ１２０である角速度センサ１２４と、位置情報取得手段であるＧＰＳ受信回路１３０とを備えた電子機器１００において、例えば図３のフローチャートに示すような一連の処理が実行される。
【００３１】
まず、ユーザが入力操作部１５０を操作することにより、電源供給部１９０から電子機器１００内部の各構成に駆動用電力が供給されて、電子機器１００が起動する。これにより、演算回路部１７０は、磁気センサ１１０及びモーションセンサ１２０によるセンシング動作、ＧＰＳ受信回路１３０による測位動作を含む通常処理を実行する（ステップＳ１０２）。
【００３２】
この通常処理において、磁気センサ１１０を備えた電子機器１００を一定の地磁気を有する第１環境の中で回転や移動させながら磁気センサ１１０により取得される複数の磁気データを、磁気センサ１１０の３軸を座標軸とする３次元座標空間上でプロットした場合、各磁気データに対応する座標点は、例えば図４中央に示すように、概ね球面Ｓｐ上に分布する。この球面Ｓｐを有する球の中心点Ｐａは、磁気センサ１１０により取得される磁気データ群の基準点を示し、球の半径Ｒは、地磁気の大きさ（強さ）に対応する。
【００３３】
この球の中心点Ｐａは、磁気センサ１１０が電子機器１００の周辺磁場の影響を受けて着磁すると、３次元座標空間の基準点（原点）Ｐｃに対してずれ（＝オフセット）を生じる。この場合、球の中心点Ｐａと基準点Ｐｃとの差分に相当するオフセット値（図中、「オフセットベクトル」と表記）を算出して、磁気センサ１１０により取得される磁気データ群に対して、算出されたオフセット値を差し引くオフセット補正を行うことにより、磁気センサ１１０の周辺磁場の影響を除去して、電子機器１００を基準とする正確な方位を算出することができる。
【００３４】
ここで、電子機器１００の周辺の環境が、例えば、周辺磁場が強まる、或いは、磁場の方向が変わる第２環境に変化した場合、その周辺磁場の変化の影響を受けて磁気センサ１１０が検知する磁場も変化することになる。すなわち、磁気センサ１１０は、本来の検出対象である地磁気に加え、電子機器内部の電子部品等から発生する磁界や周辺磁場の変化分がさらに合成された磁界を検出することになる。そのため、この第２環境で磁気センサ１１０により取得される磁気データ群（図中、「着磁後の磁気データ群」と表記）に対応する座標点の３次元座標空間での分布は、図４右下に示すように、オフセット値が算出された当初の磁気データ群に対応する座標点の分布（球面Ｓｐ及びその球の中心点Ｐａ）の３次元座標空間上の位置から変化（移動）することになる（図中、球面Ｓｐ′及びその球の中心点Ｐａ′）。このため、この環境で取得された磁気データ群に対して、当初算出されたオフセット値を用いた補正を行うと、算出される方位が正確な方位とは異なってしまうことになる。この場合、オフセット値を算出し直す必要がある。
【００３５】
そこで、本実施形態に係る制御方法においては、上記の通常処理の実行中に、演算回路部１７０がオフセット値の変化を監視して、このオフセット値が変化したか否かを判定する処理を実行する（ステップＳ１０４）。具体的には、演算回路部１７０は、磁気センサ１１０により取得された磁気データ群に対して、現在のオフセット値を用いた補正を行ったときに、その補正後の磁気データ群に対応する座標点が３次元座標空間の基準点（原点）Ｐｃを中心にした球面上に分布しているか否かを判定する。そして、補正後の磁気データ群に対応する座標点がこの球面上に分布していない場合、すなわち、補正後の磁気データ群に対応する座標点が分布する球体の中心座標が３次元座標空間の基準点（原点）Ｐｃの座標からずれている場合には、演算回路部１７０は、現在のオフセット値は適切でなく、オフセット値が現在のオフセット値から変化していると判定し（ステップＳ１０４のＹｅｓ）、キャリブレーション処理を起動する（ステップＳ１０６）。
【００３６】
或いは、演算回路部１７０は、一定期間取得した磁気データに対応する座標点と中心点Ｐａとの距離（図４に示した球の半径Ｒ、すなわち地磁気の大きさ）、又は、補正後の磁気データと基準点Ｐｃとの距離にバラツキが生じている場合には、オフセット値が変化していると判定し（ステップＳ１０４のＹｅｓ）、キャリブレーション処理を起動する（ステップＳ１０６）。
【００３７】
一方、現在のオフセット値を用いた補正後の磁気データ群に対応する座標点が３次元座標空間の基準点Ｐｃを中心にした球面上に分布していて、当該磁気データと基準点Ｐｃとの距離にバラツキが生じていない場合には、演算回路部１７０は、オフセット値は現在のオフセット値から変化していないと判定し（ステップＳ１０４のＮｏ）、ステップＳ１０２に戻って通常処理を継続する。
【００３８】
なお、ステップＳ１０４におけるオフセット値の算出が必要か否かの判定処理は、ユーザに特に意識させることなくバックグラウンドで実行される。また、オフセット値の算出が必要か否かの判定処理は、上述した手法に限定されるものではない。例えば、ＧＰＳ受信回路１３０により取得される測位データ（緯度、経度情報）に基づいて導出される当該地点の地磁気の大きさ（強さ）と、磁気センサ１１０により取得される磁気データに基づいて算出される磁気センサ出力ベクトルの大きさとを比較して、その差が所定の閾値以上である場合にはオフセット値の算出が必要と判定するものであってもよい。
【００３９】
ここで、電子機器１００の現在位置を示す緯度、経度情報に基づいて、当該地点の地磁気の大きさ（強さ）を求める手法としては、例えば、全地球的な規模ではＩＧＲＦ（International Geomagnetic Reference Field；国際標準地球磁場）を用いて求めることができ、また、日本国内等の局所的な規模では国土地理院が公表している磁気図や近似式を用いて求めることができる。また、他の手法として、緯度、経度情報と地磁気の大きさを対応付けたリストデータを予めメモリ部１８０等に格納しておき、ＧＰＳ受信回路１３０により取得される測位データ（緯度、経度情報）に基づいて、当該リストデータを参照して地磁気の大きさを抽出するものであってもよい。
【００４０】
以下、本実施形態に適用されるキャリブレーション処理について、具体的に説明する。
まず、演算回路部１７０は、図５に示すように、磁気センサ１１０により取得した磁気データ群に対応する、３次元座標空間における座標点の分布に基づいて、３次元座標空間の特定の平面ＦＮ上に形成される円周（又は、円弧）ＣＮの中心座標ＰＮを取得しているか否かを判定する（ステップＳ１０８）。ここで、平面ＦＮ上に形成される円周ＣＮの中心座標ＰＮとは、磁気センサ１１０により取得される磁気データ群が分布する球面ＳｐＮを、特定の平面ＦＮにより切断した場合の断面形状である半径ＲＮの円周の中心座標であって、後述するオフセット値算出処理に使用される重要なパラメータである。この円周ＣＮの中心座標ＰＮは、後述するステップＳ１１０〜Ｓ１１８の一連の処理により算出される。したがって、磁気センサ１１０により磁気データの測定を始めた直後や、十分な数の磁気データが収集されていない状態では、演算回路部１７０は、ステップＳ１０８において「Ｎｏ」と判定して、ステップＳ１１０〜Ｓ１１８の一連の処理を実行する。
【００４１】
すなわち、特定の平面ＦＮ上に形成される円周ＣＮの中心座標ＰＮが取得されていない場合には、演算回路部１７０は、所定のサンプリング周波数で、移動している電子機器１００の磁気センサ１１０により時間の経過とともに複数の磁気データ（磁気データ群）を取得するとともに、モーションセンサ１２０の角速度センサ１２４により複数の角速度データ（角速度データ群）を取得する（ステップＳ１１０）。取得した磁気データ群及び角速度データ群は、メモリ部１８０の所定の記憶領域に保存される。また、このとき、演算回路部１７０は、モーションセンサ１２０の加速度センサ１２２により複数の加速度データ（加速度データ群）、及び、ＧＰＳ受信回路１３０により電子機器１００の現在位置を求めるための測位データ（緯度、経度情報）を同時に取得して、メモリ部１８０の所定の記憶領域に保存する。
【００４２】
次いで、演算回路部１７０は、３次元座標空間において磁気データ群が分布する球面ＳｐＮを切断し、その断面を有する特定の平面ＦＮをすでに抽出しているか否かを判定する（ステップＳ１１２）。ステップＳ１１２において、特定の平面ＦＮがすでに抽出されている場合（ステップＳ１１２のＹｅｓ）には、演算回路部１７０は、磁気データ群から当該平面ＦＮ上に存在しているとみなせる磁気データを取得する（ステップＳ１１６）。
【００４３】
一方、特定の平面ＦＮが抽出されていない場合（ステップＳ１１２のＮｏ）には、演算回路部１７０は、当該平面ＦＮを抽出した後（ステップＳ１１４）に、磁気データ群から当該平面ＦＮ上に存在しているとみなせる磁気データを取得する（ステップＳ１１６）。
【００４４】
ここで、ステップＳ１１４において、特定の平面ＦＮを抽出する処理は、具体的には、磁気データが３次元の方向データ（ｒ，θ，φ）として取得されている場合、演算回路部１７０は、まず、それらの磁気データ群から、角度成分（θ，φ）が異なる少なくとも３個の磁気データ（第１の磁気データ）を選別又は抽出する。そして、演算回路部１７０は、図６（ａ）に示すように、選別した３個の磁気データに対応する座標点をｘｙｚの３次元座標空間にプロットしたとき、これらの３点（ｘ１，ｙ１，ｚ１）、（ｘ２，ｙ２，ｚ２）、（ｘ３，ｙ３，ｚ３）が含まれる平面ＦＮを抽出する。
【００４５】
そして、演算回路部１７０は、取得した磁気データ群から、上記の算出された平面ＦＮ上に存在しているとみなせる磁気データ（第２の磁気データ）を取捨選択する。具体的には、演算回路部１７０は、図６（ｂ）に示すように、各磁気データについて平面ＦＮへの垂線を引いて、平面ＦＮまでの距離（垂線距離）が所定の閾値Ｈth以下であるか否かを判定する。演算回路部１７０は、垂線距離が閾値Ｈth以下である場合には、当該磁気データに対応する座標点は平面ＦＮ上に存在しているとみなして、その磁気データを選択して取得する（ステップＳ１１６）。一方、垂線距離が閾値Ｈthより大きい場合には当該磁気データに対応する座標点は平面ＦＮ上には存在していないとみなす。ここで、垂線距離を判定する基準となる閾値Ｈthは、電子機器１００が使用される環境（例えば日本国内）における、一般的な地磁気の強さである４５０ミリガウス（ｍＧ）程度に比較して、極めて微小な数値（例えば±１ミリガウス程度）に設定される。これにより、平面ＦＮのごく近傍に位置する磁気データの座標点のみが平面ＦＮ上に存在するものとみなされる。
【００４６】
次いで、演算回路部１７０は、上記の平面ＦＮ上に分布する磁気データを含んで形成される円周ＣＮを推定し、その円周ＣＮの中心座標ＰＮを算出する（ステップＳ１１８）。具体的には、円周ＣＮの中心座標ＰＮを（ＸＮ，ＹＮ，ＺＮ）、当該円周ＣＮの半径をＲＮとした場合、図６（ｃ）に示すような中心座標ＰＮ及び半径ＲＮからなる球は、次の（１１）式で表される。
（ｘ−ＸＮ）２＋（ｙ−ＹＮ）２＋（ｚ−ＺＮ）２＝ＲＮ２      ・・・（１１）
【００４７】
また、上記のステップＳ１１４において抽出した平面ＦＮは、次の（１２）式の方程式で表される。ここで、ａ、ｂ、ｃ、ｄは係数であって、平面ＦＮに垂直な法線ベクトルは（ａ、ｂ、ｃ）で表される。
ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０      ・・・（１２）
【００４８】
（１２）式において、中心座標ＰＮ（ＸＮ，ＹＮ，ＺＮ）は上記の平面ＦＮ上であるので、次の（１３）式が成り立つ。
ａＸＮ＋ｂＹＮ＋ｃＺＮ＋ｄ＝０
ＺＮ＝−（ａＸＮ＋ｂＹＮ＋ｄ）／ｃ      ・・・（１３）
ここで、Ａ＝−ａ／ｃ、Ｂ＝−ｂ／ｃ、Ｃ＝−ｄ／ｃとおくと、（１３）式は、次の（１４）式で表される。
ＺＮ＝ＡＸＮ＋ＢＹＮ＋Ｃ      ・・・（１４）
【００４９】
以上から次の（１５）式が成り立つ。
(ｘ−ＸＮ)２＋(ｙ−ＹＮ)２＋{ｚ−(ＡＸＮ＋ＢＹＮ＋Ｃ)}２＝ＲＮ２・・・（１５）
平面ＦＮ上に分布する磁気データ（ｘｉ，ｙｉ，ｚｉ）から円周ＣＮの中心座標ＰＮ（ＸＮ，ＹＮ，ＺＮ）までの距離ｄｉは次の（１６）式で表される。
【００５０】
【数１】
2019128205.tif 000003
【００５１】
ここで、次の(１７)式のように、距離ｄｉの二乗値と半径ＲＮの二乗値との差を推定誤差εｉと定義する。
εｉ＝ｄｉ２−ＲＮ２      ・・・（１７）
さらに、次の（１８）式のように、推定誤差εｉの二乗総和値Ｓを定義する。そして、この二乗総和値Ｓが最小となるような中心座標ＰＮ（ＸＮ，ＹＮ，ＺＮ）を算出する。
Ｓ＝Σεｉ２      ・・・（１８）
【００５２】
そして、演算回路部１７０は、図７（ａ）に示すように、上記の一連の処理により算出した円周ＣＮの中心座標ＰＮ（ＸＮ，ＹＮ，ＺＮ）を通り、平面ＦＮに垂直な直線ＬＮを算出する。ここで、図５、図７（ｂ）に示すように、磁気センサ１１０により取得される磁気データ群が分布する球面ＳｐＮを有する球の中心座標Ｐｂは、算出された直線ＬＮ上に存在すると推定することができる。
【００５３】
その後、演算回路部１７０は、ステップＳ１０８に戻って、３次元座標空間の特定の平面ＦＮ上に形成される円周ＣＮの中心座標ＰＮを取得しているか否かを再度判定する処理を実行する。
【００５４】
ステップＳ１０８において、特定の平面ＦＮ上に形成される円周ＣＮの中心座標ＰＮが取得されている場合には、演算回路部１７０は、オフセット値算出処理を含む以下の一連の処理（ステップＳ１２０〜Ｓ１２４）を実行する。
【００５５】
本実施形態においては、磁気センサ１１０により取得される磁気データ群が分布する球面ＳｐＮを有する球の中心座標Ｐｂを算出することにより、磁気センサ１１０のオフセット値を算出する。具体的には、演算回路部１７０は、図８（ａ）に示すように、まず、電子機器１００を一の地点から二の地点に移動する際に、磁気センサ１１０により取得される磁気データＡ、Ｂに対応する座標点の時間変化を監視して地磁気ベクトルを追尾することにより、地磁気ベクトルの変化速度から角速度を計算する磁気ジャイロとして使用して、３次元座標の基準点Ｐｃを基準とし、磁気データＡ、Ｂに対応する座標点間の各軸周りの回転角βを算出する。また、演算回路部１７０は、磁気センサ１１０により磁気データＡ、Ｂを取得した同じタイミングで、角速度センサ１２４により磁気センサ１１０を有する電子機器１００の角速度データを取得して、球の中心座標Ｐｂを基準とし、磁気データＡ、Ｂに対応する座標点間の各軸周りの回転角αを算出する。
【００５６】
ここで、磁気センサ１１０に磁気オフセットが無い場合には、磁気データＡ、Ｂから算出した回転角βと、磁気データＡ、Ｂと同じタイミングで角速度センサ１２４により取得された角速度データから算出した回転角αとは等しくなる（β＝α）。一方、磁気センサ１１０が磁気オフセットを有している場合には、図４に示したように、磁気センサ１１０は本来の検出対象である地磁気ベクトルに加え、周辺磁場に起因する磁気オフセットベクトルが合成されたベクトル（合成ベクトル）が検出されることになるため、磁気センサ１１０により取得された磁気データＡ、Ｂから算出した回転角βと、角速度センサ１２４により取得された角速度データから算出した回転角αとは等しくない（β≠α）。また、図７（ｂ）に示したように、磁気センサ１１０により取得される磁気データ群が分布する球面ＳｐＮを有する球の中心座標Ｐｂは、磁気オフセットベクトルに対応し、球面ＳｐＮを切断する特定の平面ＦＮ上に形成される円周ＣＮの中心座標ＰＮを通り、平面ＦＮに垂直な直線ＬＮ上に存在する。
【００５７】
そこで、演算回路部１７０は、上記の各条件に基づいて、図８（ａ）、（ｂ）に示すように、３次元座標空間の原点である基準点Ｐｃと、磁気センサ１１０により取得された磁気データＡ、Ｂに対応する各座標点と、直線Ｌ（直線ＬＮに対応する）上に存在する球の中心座標Ｐｂと、をそれぞれ頂点とし、角速度データから計測された回転角α、磁気データＡ、Ｂから算出した回転角β、及び、球の半径Ｒに対応し、測位データに基づいて導出される現在位置の地磁気の大きさＭを有する三角錐を特定する（ステップＳ１２０）。
【００５８】
この三角錐は、図８（ａ）、（ｂ）に示した各パラメータに基づいて一義的に決定されるものであり、基準点Ｐｃから球の中心座標Ｐｂに向かうベクトルが磁気オフセットベクトルに対応し、球の中心座標Ｐｂから球面Ｓｐ上に分布する磁気データＡ、Ｂに対応する座標点に向かうベクトルが地磁気ベクトルに対応する。これにより、特定された三角錐に基づいて着磁状態における磁気オフセット値を推定することができる。なお、電子機器１００の現在位置の地磁気の大きさは、ステップＳ１０４において説明したように、ＩＧＲＦを用いて求めるものであってもよいし、国土地理院が公表している磁気図や近似式を用いて求めるものであってもよいし、電子機器１００内に予め保存されたリストデータを用いて求めるものであってもよい。
【００５９】
具体的には、演算回路部１７０は、特定された三角錐の一辺に対応する磁気オフセットベクトルを規定する球の中心座標Ｐｂ（Ｃｘ,Ｃｙ,Ｃｚ）を算出することにより、磁気センサ１１０のオフセット値を求める（ステップＳ１２２）。図５、図７（ｂ）に示したように、球の中心座標Ｐｂ（Ｃｘ,Ｃｙ,Ｃｚ）は、特定の平面ＦＮ上に形成される円周ＣＮの中心座標ＰＮを通り、特定の平面ＦＮに垂直な直線ＬＮ（図８（ａ）では直線Ｌ）上に存在することから、平面ＦＮに垂直な法線ベクトル（ａ，ｂ，ｃ）、及び、平面ＦＮ上の円周ＣＮの中心座標ＰＮ（ＸＮ，ＹＮ，ＺＮ）を用いて、次の（２１）式のように表される。ここで、ｐは係数である。
【００６０】
【数２】
2019128205.tif 000004
【００６１】
また、３次元座標における球の中心座標Ｐｂと球面ＳｐＮ上に分布する磁気データＡ、Ｂに対応する座標点との間の距離は、球の半径であって、地磁気の大きさ（地磁気ベクトルの長さ）Ｍに対応することから、次の（２２）式のように表され、（２３）式の関係が得られる。ここで、磁気データＢに対応する座標点を（ＸＢ，ＹＢ，ＺＢ）で表す。
【００６２】
【数３】
2019128205.tif 000005
【００６３】
（２３）式において、平面ＦＮに垂直な法線ベクトル（ａ，ｂ，ｃ）、平面ＦＮ上の円周ＣＮの中心座標ＰＮ（ＸＮ，ＹＮ，ＺＮ）、及び、磁気データＢに対応する座標点（ＸＢ，ＹＢ，ＺＢ）は既知であることから、係数ｐを算出することができる。算出された係数ｐを（２１）式に代入することにより、球の中心座標Ｐｂ（Ｃｘ,Ｃｙ,Ｃｚ）が算出されて磁気オフセット値として決定される。
【００６４】
ここで、上述した一連の処理により算出された中心座標Ｐｂは、近傍に配置された電子部品等の着磁による影響を受けた磁気センサ１１０の新たなオフセット値（オフセットベクトル）である。算出されたオフセット値は、演算回路部１７０によりメモリ部１８０の所定の記憶領域に上書き保存されて、オフセット値が更新される（ステップＳ１２４）。
【００６５】
なお、上述したオフセット値算出処理においては、磁気センサ１１０により取得した任意の磁気データを含む、特定の平面上の円周の中心座標を通り、平面に垂直な直線上に球の中心座標が存在すると推定して、既知のパラメータにより特定された三角錐の一辺に対応する磁気オフセットベクトルを規定する球の中心座標を算出する場合について説明したが、本発明はこれに限定されるものではない。すなわち、本発明は、２つ以上の平面について同様の手法を用いて、それぞれ個別の三角錐を特定して球の中心座標を個別に算出し、統計的手法を用いて一の球の中心座標を決定するものであってもよい。これによれば、球の中心座標であるオフセット値の算出精度をさらに向上させることができる。
【００６６】
その後、演算回路部１７０は、磁気センサ１１０により取得された磁気データ（図４に示した中心点Ｐａ′の球面Ｓｐ′に分布するデータ群、又は、図８（ａ）に示した中心座標Ｐｂの球面Ｓｐに分布するデータ群）に対して、メモリ部１８０に保存されている更新されたオフセット値を用いて補正を行うことにより、電子機器１００を基準とする方位を算出する。なお、演算回路部１７０は、上記のステップＳ１２４の後にステップＳ１０２の通常処理に戻って、通常処理として方位算出処理を実行するものであってもよい。
【００６７】
なお、図３に示したフローチャートにおいては図示を省略したが、演算回路部１７０は、上述した一連の処理動作の実行中、処理動作を中断又は終了させる入力操作や動作状態の変化を常時監視して、当該入力操作や状態変化を検出した場合には、処理動作を強制的に終了する。具体的には、演算回路部１７０は、実行中の機能やアプリケーションの終了や、ユーザによる動作電源の遮断操作、電源供給部１９０における電池残量の低下、その他動作状態の異常等を検出した場合には、一連の処理動作を強制的に中断して終了する。
【００６８】
また、上述した一連の処理動作においては、ステップＳ１０４においてオフセット値が変化したことに伴ってオフセット値の算出が必要と判定された場合に、ステップＳ１０６以降のキャリブレーション処理を実行する制御方法を示したが、本発明はこれに限定されるものではない。例えば、モーションセンサ１２０が有する加速度センサ１２２から出力される加速度データや角速度センサ１２４から出力される角速度データに基づいて電子機器１００を携帯又は装着したユーザが曲がり角などを曲がって移動方向が変化したことが検知された際に、上述したステップＳ１０６以降のキャリブレーション処理を自動的に実行して、取得した磁気データ群が分布する球面を有する球の中心座標を算出することにより、磁気センサ１１０のオフセット値を算出するものであってもよい。
【００６９】
このように、本実施形態においては、３軸の磁気センサ１１０により取得された磁気データに対応する座標点を３次元座標上にプロットした際に、磁気データ群が球面上に分布することに基づいて、統計的手法により当該球面を特定の平面により切断した場合の断面形状である円周、及び、当該円周の中心座標を推定する。ここで、円周の中心座標を通り、特定の平面に垂直な直線上には、磁気データ群が分布する球面を有する球の中心座標が存在する。そして、電子機器１００を一の地点から二の地点に移動する際に、磁気センサ１１０により取得される磁気データに対応する座標点の変化を監視することにより、磁気センサ１１０を磁気ジャイロとして使用して取得した３次元座標の基準点Ｐｃにおける回転角βと、角速度センサ１２４により同時期に取得した角速度データに基づく回転角αと、一及び二の地点に対応する磁気データの各座標点と、ＧＰＳ受信回路１３０により同時期に取得した測位データに基づく現在位置における地磁気の大きさと、に基づいて規定される三角錐を特定する。そして、上記の直線上に存在し、特定された三角錐の一辺に対応する磁気オフセットベクトルを規定する球の中心座標を算出することにより、磁気センサ１１０のオフセット値として決定する。
【００７０】
これにより、本実施形態においては、磁気データ群が分布する球面を切断する特定の平面上に、磁気センサ１１０により取得された磁気データが分布する程度の（換言すると、磁気センサ１１０により取得された、少なくとも３点の磁気データにより特定の平面、又は、当該平面上の円周を規定することができる程度の）、電子機器１００の小さな動きであっても、磁気センサのオフセット値を算出することができる。したがって、本実施形態においては、キャリブレーション処理に伴い、ユーザが携帯又は装着する電子機器に対して磁気センサの向きを任意に変化させるような特定の動作等を必要とせず（すなわち、電子機器をほとんど動かすことなく）、簡易な動作で磁気センサのオフセット補正を良好に行うことができる。
【００７１】
また、本実施形態においては、オフセット値の変化を監視して、キャリブレーション処理を実行するか否かの判断処理や、取得した磁気データに基づくオフセット値算出処理等を含む一連の処理動作を、ユーザに特に意識させることなくバックグラウンドで実行する。したがって、本実施形態に係る電子機器によれば、ユーザが意識して特定の動作や操作を行わなくても、磁気センサのキャリブレーション処理（オフセット補正）を自動で実行して、正確な方位を算出することができる。
【００７２】
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００７３】
（付記）
［１］
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう方位測定装置の磁気オフセット値算出方法であって、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出するとともに、前記円周の中心座標を算出するステップと、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出するステップと、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて、前記直線上に存在すると推定される前記球の中心座標を算出して前記方位測定装置の磁気オフセット値を算出するステップと、
を含むことを特徴とする磁気オフセット値算出方法。
【００７４】
［２］
前記球の中心座標を算出して前記磁気オフセット値を決定するステップは、
前記３次元座標の原点と、前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した任意の２つの前記地磁気データに対応する前記座標点と、前記直線上に存在すると推定される前記球の中心座標と、をそれぞれ頂点とする三角錐を特定して、前記三角錐の一辺を規定する前記球の中心座標を算出することにより前記磁気オフセット値を求めることを特徴とする［１］に記載の磁気オフセット値算出方法。
【００７５】
［３］
前記第１の回転角度は、前記３次元座標の原点を基準とし、前記２つの地磁気データに対応する前記座標点間の各軸周りの回転角であり、
前記第２の回転角度は、前記球の中心座標を基準とし、前記２つの地磁気データに対応する前記座標点間の各軸周りの回転角であり、
前記地磁気の大きさデータは、前記球の中心座標と、前記２つの地磁気データに対応する前記座標点との間の距離に対応することを特徴とする［２］に記載の磁気オフセット値算出方法。
【００７６】
［４］
前記磁気オフセット値が変化したか否かを判定するステップを、さらに有し、
前記オフセット値が変化したと判定されたときに、前記円周の中心座標を算出するステップと、前記球の中心座標が存在すると推定される前記直線を算出するステップと、前記磁気オフセット値を算出するステップと、を実行することを特徴とする［１］乃至［３］のいずれかに記載の磁気オフセット値算出方法。
【００７７】
［５］
前記方位測定装置の移動動作を検知するステップを、さらに有し、
前記方位測定装置の移動方向が変化したことが検知されたときに、前記円周の中心座標を算出するステップと、前記球の中心座標が存在すると推定される前記直線を算出するステップと、前記磁気オフセット値を算出するステップと、を実行することを特徴とする［１］乃至［４］のいずれかに記載の磁気オフセット値算出方法。
【００７８】
［６］
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう方位測定装置の磁気オフセット値算出プログラムであって、
コンピュータに、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出させるとともに、前記円周の中心座標を算出させるステップと、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出させるステップと、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて、前記直線上に存在すると推定される前記球の中心座標を算出させて前記方位測定装置の磁気オフセット値を算出させるステップと、
を実行させることを特徴とする磁気オフセット値算出プログラム。
【００７９】
［７］
地磁気データを取得する磁気データ取得部と、
角速度データを取得する角速度取得部と、
位置データを取得する位置情報取得部と、を備え、
前記磁気データ取得部により取得した地磁気データに基づいて方位測定を行なう電子機器であって、
前記方位測定装置が一の地点から二の地点に移動する際に、前記磁気データ取得部により取得した複数の前記地磁気データに基づいて、３次元座標空間内の前記地磁気データに対応する座標点により形成される円周が存在する特定の平面を抽出するとともに、前記円周の中心座標を算出する中心座標算出部と、
前記円周の中心座標を通り、前記平面に垂直な直線であって、前記３次元座標空間内で前記複数の地磁気データが分布する球面を有する球の中心座標が存在すると推定される直線を算出する直線抽出部と、
前記方位測定装置が前記一の地点から前記二の地点に移動する際に、前記磁気データ取得部により取得した前記地磁気データに対応する前記座標点と、前記地磁気データに基づいて算出した第１の回転角度と、前記角速度取得部により取得した前記角速度データに基づいて算出した第２の回転角度と、前記位置情報取得部により取得した前記位置データに基づいて規定される前記地磁気の大きさデータと、に基づいて前記直線上に存在すると推定される前記球の中心座標を算出して前記方位測定装置の磁気オフセット値を算出する磁気オフセット値算出部と、
を含むことを特徴とする電子機器。
【符号の説明】
【００８０】
１００    電子機器
１１０    磁気センサ
１２０    モーションセンサ
１２２    加速度センサ
１２４    角速度センサ
１３０    ＧＰＳ受信回路
１４０    入出力Ｉ／Ｆ部
１７０    演算回路部
１８０    メモリ部
【図１】
2019128205.tif 000006
【図２】
2019128205.tif 000007
【図３】
2019128205.tif 000008
【図４】
2019128205.tif 000009
【図５】
2019128205.tif 000010
【図６】
2019128205.tif 000011
【図７】
2019128205.tif 000012
【図８】
2019128205.tif 000013