(57)【特許請求の範囲】
【請求項１】
電子機器であって、
磁気データとして地磁気を検出する磁気センサと、
前記磁気センサより前記磁気データを取得する磁気データ取得部と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気データ取得部により取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出部と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定部と、を有し、
前記磁気データ取得部は、前記移動経路特定部により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、当該分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、前記ユーザの現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得部、前記オフセット算出部における動作を停止して低消費電力モードに移行することを特徴とする電子機器。
【請求項２】
前記磁気データ取得部は、移動中の前記ユーザが前記分岐点に到達すると予測されるタイミングより予め設定された時間だけ前の第１のタイミングから、前記分岐点を通過して予め設定された時間が経過した後の第２のタイミングまでの間で、前記磁気センサより前記磁気データを取得することを特徴とする請求項１に記載の電子機器。
【請求項３】
電子機器であって、
磁気データとして地磁気を検出する磁気センサと、
前記磁気センサより前記磁気データを取得する磁気データ取得部と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気データ取得部により取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出部と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定部と、
前記ユーザが移動するコースを設定するコース設定部と、
前記移動経路特定部により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定する分岐点推定部と、を有し、
前記磁気データ取得部は、前記コース設定部により設定された前記ユーザが移動するコースに基づいて、前記分岐点推定部により推定された前記移動経路上の分岐点のうち、前記ユーザの現在位置が前記進行方向を変化させる分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記進行方向を変化させる分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得部、前記オフセット算出部における動作を停止して低消費電力モードに移行することを特徴とする電子機器。
【請求項４】
前記磁気データ取得部は、移動中の前記ユーザが前記進行方向を変化させる分岐点に到達すると予測されるタイミングより予め設定された時間だけ前の第１のタイミングから、前記進行方向を変化させる分岐点を通過して予め設定された時間が経過した後の第２のタイミングまでの間で、前記磁気センサより前記磁気データを取得することを特徴とする請求項３に記載の電子機器。
【請求項５】
前記磁気データ取得部は、前記ユーザの移動速度に応じて、前記磁気データの取得のサンプリング周波数を設定することを特徴とする請求項１乃至４のいずれかに記載の電子機器。
【請求項６】
前記電子機器の地理的な位置を取得する測位センサを有し、
前記オフセット算出部は、前記磁気センサにより取得された前記磁気データに対して、所定の座標変換処理を施して、前記磁気データを重力方向の鉛直成分と、前記重力方向に垂直な水平成分に分解し、前記磁気データの水平成分から磁北方向を決定する特徴点の検出時点における前記磁気センサの出力ベクトルと、前記測位センサにより取得された位置情報に基づいて導出される地磁気ベクトルとの差分ベクトルを、前記磁気センサのオフセット値として算出することを特徴とする請求項１乃至５のいずれかに記載の電子機器。
【請求項７】
前記オフセット算出部は、前記磁気センサにより取得された前記磁気データのうち、個別の平面においてそれぞれに含まれる複数の前記磁気データにより形成される各円周を推定し、前記各円周の中心座標を通り、前記個別の平面に垂直な直線相互の交点を、前記磁気センサのオフセット値として算出することを特徴とする請求項１乃至６のいずれかに記載の電子機器。
【請求項８】
前記磁気センサの前記オフセット値の変化を監視するオフセット監視部を有し、
前記オフセット監視部において前記オフセット値の変化を検知した場合に、前記磁気データ取得部において前記磁気センサにより前記磁気データを取得させ、前記オフセット算出部において前記磁気センサの前記オフセット値を算出することを特徴とする請求項１乃至７のいずれかに記載の電子機器。
【請求項９】
前記オフセット算出部により算出された前記オフセット値に基づいて、前記磁気データを補正して、前記電子機器を基準とする方位を算出する方位算出部を有することを特徴とする請求項１乃至８のいずれかに記載の電子機器。
【請求項１０】
磁気データとして地磁気を検出する磁気センサを有する電子機器のセンサ較正方法であって、
前記磁気センサより前記磁気データを取得する磁気データ取得工程と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出工程と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定工程と、を有し、
前記磁気データ取得工程は、前記移動経路特定工程により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、当該分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、前記ユーザの現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得工程、前記オフセット算出工程における動作を停止して低消費電力モードに移行することを特徴とするセンサ較正方法。
【請求項１１】
磁気データとして地磁気を検出する磁気センサを有する電子機器のセンサ較正方法であって、
前記磁気センサより前記磁気データを取得する磁気データ取得工程と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出工程と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定工程と、
前記ユーザが移動するコースを設定するコース設定工程と、
前記移動経路特定工程により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定する分岐点推定工程と、を有し、
前記磁気データ取得工程は、前記コース設定工程により設定された前記ユーザが移動するコースに基づいて、前記分岐点推定工程により推定された前記移動経路上の分岐点のうち、前記ユーザの現在位置が前記進行方向を変化させる分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記進行方向を変化させる分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得工程、前記オフセット算出工程における動作を停止して低消費電力モードに移行することを特徴とするセンサ較正方法。
【請求項１２】
磁気データとして地磁気を検出する磁気センサを有する電子機器のコンピュータに、
前記磁気センサより前記磁気データを取得する磁気データ取得手段、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出手段、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定手段、を実行させ、
前記磁気データ取得手段は、前記移動経路特定手段により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、当該分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、前記ユーザの現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得手段、前記オフセット算出手段における動作を停止して低消費電力モードに移行することを特徴とするセンサ較正プログラム。
【請求項１３】
磁気データとして地磁気を検出する磁気センサを有する電子機器のコンピュータに、
前記磁気センサより前記磁気データを取得する磁気データ取得手段、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出手段、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定手段、
前記ユーザが移動するコースを設定するコース設定手段、
前記移動経路特定手段により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定する分岐点推定手段、を実行させ、
前記磁気データ取得手段は、前記コース設定手段により設定された前記ユーザが移動するコースに基づいて、前記分岐点推定手段により推定された前記移動経路上の分岐点のうち、前記ユーザの現在位置が前記進行方向を変化させる分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記進行方向を変化させる分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得手段、前記オフセット算出手段における動作を停止して低消費電力モードに移行することを特徴とするセンサ較正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地磁気を検出するための磁気センサを備えた電子機器、及び、当該電子機器に適用可能な磁気センサのセンサ較正方法、並びに、センサ較正プログラムに関する。
【背景技術】
【０００２】
近年、携帯電話機やスマートフォン（高機能携帯電話機）、ナビゲーション端末、スポーツウォッチ等の携帯型（又は装着型）の電子機器の分野において、位置情報や地図情報を利用した種々のサービスが提供されている。これらの電子機器は、一般に磁気センサ（電子コンパスともいう）を備え、この磁気センサにより検出された地磁気に基づいて、方位を測定する手法が採用されている。
【０００３】
ところで、このような電子機器には、磁気センサの他にもスピーカや様々な電子部品が搭載されているため、磁気センサの周囲にはスピーカや着磁した電子部品の金属パッケージ等から漏れる磁気が存在している。また、電子機器の周囲に強い磁界が存在している場合もある。そのため、電子機器に搭載された磁気センサは、電子機器内部の電子部品等から発生する磁界や電子機器の周囲の磁界と、本来の検出対象である地磁気とが合成された磁界を検出することになる。これにより、着磁状態で磁気センサにより検出された地磁気の測定値に基づいて算出された方位は、実際の（正確な）方位とは異なることになる。このような問題を解決するために、電子機器内部の電子部品等から発生する磁界に起因する方位の誤差（＝オフセット）分を補正するためのキャリブレーション処理が必要になる。
【０００４】
従来、磁気センサのキャリブレーションによるオフセットの補正手法は、種々提案されている。例えば特許文献１には、３軸方向の地磁気を検出する磁気センサを任意の方向に変化させて取得した磁気データが球面上に分布することを利用して、磁気センサにより取得された磁気データ群の各点の近傍に、球面が位置するような特定の球の中心座標を統計的手法によって推定し、その中心座標に基づいてオフセット情報（オフセット値）を算出する手法が開示されている。また、例えば特許文献２には、３軸の地磁気センサを傾けた状態で地表面に平行に回転させて取得した磁気データ（磁界データ）が同一平面内に存在する場合に、当該磁気データの分布軌跡となる円弧の中心座標と半径を求めて、仮オフセット値として算出する手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４３９１４１６号公報
【特許文献２】特開２００６−７８４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した磁気センサのオフセット値の取得方法においては、球面上や円弧状（又は円周状）に分布したデータ群に対して統計的手法や数学的手法を用いることにより、球や円弧の中心座標を求めて、オフセット値を算出している。このような手法においては、磁気センサにより取得されるデータ群が球面上や円弧状に比較的均一に分布している場合には、良好に中心座標を求めることができるが、データ群が局所的に分布している場合には、統計的手法や数学的手法に使用するデータが類似した数値になるため、上記の中心座標を正確に求めることができない場合がある。そのため、このような類似のデータを使用してオフセット値の算出処理を繰り返しても（又は継続しても）、オフセット値を算出することはできず、結果的に無駄な演算処理を繰り返すことになって無駄に電力を消費してしまうという問題を有していた。また、磁気センサのキャリブレーション処理を行う際には、上述した特許文献等にも記載されているように、一般にユーザ（機器利用者）が磁気センサを搭載した電子機器に対して、向きを変化させる動作や特定の操作等を行う必要があり、当該動作等が煩わしいという問題も有していた。
【０００７】
そこで、本発明は、上述した問題点に鑑み、ユーザによるキャリブレーション処理に伴う特定の動作等を必要とすることなく、磁気センサのオフセット補正を行うことができる電子機器及びセンサ較正方法、センサ較正プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る一態様の電子機器は、
電子機器であって、
磁気データとして地磁気を検出する磁気センサと、
前記磁気センサより前記磁気データを取得する磁気データ取得部と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気データ取得部により取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出部と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定部と、を有し、
前記磁気データ取得部は、前記移動経路特定部により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、当該分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、前記ユーザの現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得部、前記オフセット算出部における動作を停止して低消費電力モードに移行することを特徴とする。
本発明に係る他の態様の電子機器は、
電子機器であって、
磁気データとして地磁気を検出する磁気センサと、
前記磁気センサより前記磁気データを取得する磁気データ取得部と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気データ取得部により取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出部と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定部と、
前記ユーザが移動するコースを設定するコース設定部と、
前記移動経路特定部により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定する分岐点推定部と、を有し、
前記磁気データ取得部は、前記コース設定部により設定された前記ユーザが移動するコースに基づいて、前記分岐点推定部により推定された前記移動経路上の分岐点のうち、前記ユーザの現在位置が前記進行方向を変化させる分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記進行方向を変化させる分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得部、前記オフセット算出部における動作を停止して低消費電力モードに移行することを特徴とする。
【０００９】
本発明に係る一態様のセンサ校正判定方法は、
磁気データとして地磁気を検出する磁気センサを有する電子機器のセンサ較正方法であって、
前記磁気センサより前記磁気データを取得する磁気データ取得工程と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出工程と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定工程と、を有し、
前記磁気データ取得工程は、前記移動経路特定工程により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、当該分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、前記ユーザの現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得工程、前記オフセット算出工程における動作を停止して低消費電力モードに移行することを特徴とする。
本発明に係る他の態様のセンサ校正判定方法は、
磁気データとして地磁気を検出する磁気センサを有する電子機器のセンサ較正方法であって、
前記磁気センサより前記磁気データを取得する磁気データ取得工程と、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出工程と、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定工程と、
前記ユーザが移動するコースを設定するコース設定工程と、
前記移動経路特定工程により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定する分岐点推定工程と、を有し、
前記磁気データ取得工程は、前記コース設定工程により設定された前記ユーザが移動するコースに基づいて、前記分岐点推定工程により推定された前記移動経路上の分岐点のうち、前記ユーザの現在位置が前記進行方向を変化させる分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記進行方向を変化させる分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得工程、前記オフセット算出工程における動作を停止して低消費電力モードに移行することを特徴とする。
【００１０】
本発明に係る一態様のセンサ校正判定プログラムは、
磁気データとして地磁気を検出する磁気センサを有する電子機器のコンピュータに、
前記磁気センサより前記磁気データを取得する磁気データ取得手段、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出手段、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定手段、を実行させ、
前記磁気データ取得手段は、前記移動経路特定手段により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、当該分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、前記ユーザの現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得手段、前記オフセット算出手段における動作を停止して低消費電力モードに移行することを特徴とする。
本発明に係る他の態様のセンサ校正判定プログラムは、
磁気データとして地磁気を検出する磁気センサを有する電子機器のコンピュータに、
前記磁気センサより前記磁気データを取得する磁気データ取得手段、
前記電子機器を装着又は携帯しているユーザの進行方向が変化した時点の前と後で、前記磁気センサより取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出手段、
前記ユーザの移動経路を地図情報に対応付ける移動経路特定手段、
前記ユーザが移動するコースを設定するコース設定手段、
前記移動経路特定手段により対応付けられた前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定する分岐点推定手段、を実行させ、
前記磁気データ取得手段は、前記コース設定手段により設定された前記ユーザが移動するコースに基づいて、前記分岐点推定手段により推定された前記移動経路上の分岐点のうち、前記ユーザの現在位置が前記進行方向を変化させる分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記進行方向を変化させる分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得手段、前記オフセット算出手段における動作を停止して低消費電力モードに移行することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザによるキャリブレーション処理に伴う特定の動作等を必要とすることなく、低消費電力で磁気センサのオフセット補正を行うことができ、正確な方位を検出することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る電子機器の複数の適用例を示す概略構成図である。
【図２】本発明に係る電子機器の一実施形態を示す機能ブロック図である。
【図３】一実施形態に係る電子機器における制御方法の一例を示すフローチャートである。
【図４】磁気センサの出力分布例とオフセット補正との関係を示す概念図である。
【図５】一実施形態に係る制御方法においてコース設定をした場合の移動経路と磁気データの取得動作との関係を示す概念図である。
【図６】一実施形態において取得される磁気データの出力分布例を示す概念図である。
【図７】一実施形態に係る制御方法においてコース設定をしない場合の移動経路と磁気データの取得動作との関係を示す概念図である。
【図８】一実施形態に適用可能なキャリブレーション処理（第１の具体例）における座標変換処理を示す概念図である。
【図９】一実施形態に適用可能なキャリブレーション処理（第１の具体例）における特徴点検出処理を示す概念図である。
【図１０】一実施形態に適用可能なキャリブレーション処理（第１の具体例）におけるオフセット算出処理を示す概念図である。
【図１１】一実施形態に適用可能なキャリブレーション処理（第２の具体例）を示す概念図である。
【発明を実施するための形態】
【００１３】
以下、本発明に係る電子機器及びセンサ較正方法、センサ較正プログラムについて、実施形態を示して詳しく説明する。
＜電子機器＞
図１は、本発明に係る電子機器の複数の適用例を示す概略構成図である。また、図２は、本発明に係る電子機器の一実施形態を示す機能ブロック図である。
【００１４】
本発明に係る電子機器は、例えば位置情報や地図情報を利用した種々のサービスを、ユーザに提供するための機能を備えた電子機器に適用される。具体的には、電子機器は、例えば図１（ａ）に示すような腕時計型やリストバンド型の外観のスポーツウォッチ１０や、図１（ｂ）に示すような登山等のアウトドア機器（例えばＧＰＳロガーやナビゲーション端末）２０、図１（ｃ）に示すようなスマートフォン３０やタブレット端末等に適用される。以下、説明の都合上、これらの機器を「電子機器１００」と総称する。
【００１５】
本実施形態に係る電子機器１００は、例えば図２に示すように、磁気センサ１１０と、モーションセンサ（測位センサ）１２０と、ＧＰＳ受信回路（測位センサ）１３０と、入出力インターフェース部１４０と、入力操作部１５０と、出力部１６０と、演算回路部（移動経路特定部、磁気データ取得部、オフセット算出部、オフセット監視部、方位算出部）１７０と、メモリ部１８０と、電源供給部１９０と、を有している。
【００１６】
磁気センサ１１０は、直交する３軸方向の地磁気を検出するセンサであって、地球の磁場（磁界）を検出して磁気データ（又は、３次元の方向データ）として出力する。この磁気データは、例えば、後述する演算回路部１７０において電子機器１００を基準とする方位を算出する際に用いられる。磁気センサ１１０により取得された磁気データは、時間データに関連付けられて後述するメモリ部１８０の所定の記憶領域に保存される。
【００１７】
モーションセンサ１２０は、少なくとも加速度センサ１２２と、角速度センサ（ジャイロセンサ）１２４とを含み、ユーザの身体の動きや運動状態、電子機器１００に加わる特定方向の力等を検出する。加速度センサ１２２は、ユーザの身体の動きに応じて電子機器１００に生じる移動速度の変化の割合（加速度）を計測する。加速度センサ１２２は、３軸加速度センサを有し、互いに直交する３軸方向の各々に沿った加速度成分（加速度信号）を検出して加速度データとして出力する。また、角速度センサ１２４は、ユーザの身体の動きに応じて電子機器１００に生じる移動方向の変化（角速度）を計測する。角速度センサ１２４は、３軸角速度センサを有し、上記加速度データを規定する、互いに直交する３軸について、各軸に沿った回転運動の回転方向に生じる角速度成分（角速度信号）を検出して角速度データとして出力する。加速度センサ１２２及び角速度センサ１２４により取得されたセンサデータ（加速度データ、角速度データ）は、時間データに関連付けられてメモリ部１８０の所定の記憶領域に保存される。メモリ部１８０に保存されたセンサデータは、後述するＧＰＳ受信回路１３０における測位精度が低い場合や、測位が不能な場合等に、ＧＰＳ受信回路１３０により取得される測位データと併せて演算処理を行うことにより正確な位置情報を得るデッドレコニング（推測航法又は自律航法）に使用される。すなわち、モーションセンサ１２０は、ＧＰＳ受信回路１３０の機能を補完して、あるいは、ＧＰＳ受信回路１３０の機能と併用して、位置情報を取得するための機能を有している。
【００１８】
ＧＰＳ受信回路１３０は、複数のＧＰＳ衛星からの電波を、ＧＰＳアンテナ（図示を省略）を介して受信することにより、緯度、経度情報に基づく地理的な位置情報を取得して、測位データとして出力する。ここで、電子機器１００を任意の方向に向けているときや、電子機器１００を装着又は携帯したユーザが移動しているときに、ＧＰＳ受信回路１３０により取得された測位データは、演算回路部１７０において電子機器１００が向いている方位や移動方向を算出する際に用いられる。ＧＰＳ受信回路１３０により取得された測位データは、時間データに関連付けられてメモリ部１８０の所定の記憶領域に保存される。
【００１９】
入出力インターフェース部（以下、「入出力Ｉ／Ｆ部」と記す）１４０は、電子機器１００の外部の周辺機器や情報機器、通信ネットワーク等（図示を省略）との間で、有線や無線を用いた所定の通信形式により各種のデータを入出力又は送受信する。本実施形態においては、入出力Ｉ／Ｆ部１４０は、少なくとも、ユーザがランニング等で移動する経路を含む所定の範囲の地図情報を取得する。取得された地図情報はメモリ部１８０の所定の記憶領域に保存される。メモリ部１８０に保存された地図情報は、後述する演算回路部１７０におけるユーザの移動経路のマップマッチングや、移動（走行）予定コースの設定、磁気データの取得等の各種の処理を実行する際に使用される。
【００２０】
入力操作部１５０は、例えば図１に示した電子機器１００（スポーツウォッチ１０やアウトドア機器２０、スマートフォン３０等）の筐体に設けられた操作スイッチ１５２やタッチパネル１５４等を有している。入力操作部１５０は、例えば電子機器１００の動作電源やＧＰＳ受信回路１３０における測位動作のオン、オフ操作、アプリケーションソフトウェアの操作、後述する出力部１６０（表示部や音響部等）により提供又は報知する項目の設定等の、各種の入力操作に用いられる。
【００２１】
出力部１６０は、電子機器１００の筐体に設けられた表示部１６２や音響部１６４、振動部（図示を省略）等を有している。出力部１６０は、少なくとも上述した磁気センサ１１０により取得された磁気データに基づく方位や、モーションセンサ１２０により取得されたセンサデータ、ＧＰＳ受信回路１３０により取得された測位データに基づく位置情報や地図情報、アラーム等の、各種の情報を視覚や聴覚、触覚等を通してユーザに提供又は報知する。
【００２２】
演算回路部１７０は、計時機能を備えたＣＰＵ（中央演算処理装置）やＭＰＵ（マイクロプロセッサ）等の演算処理装置であって、動作クロックに基づいて、所定の制御プログラムやアルゴリズムプログラムを実行する。これにより、演算回路部１７０は、磁気センサ１１０やモーションセンサ１２０におけるセンシング動作や、ＧＰＳ受信回路１３０における測位動作、後述する磁気センサ１１０におけるキャリブレーション処理や方位算出処理、出力部１６０における報知動作等の、各種の動作を制御する。なお、磁気センサ１１０のキャリブレーション処理を含む電子機器１００の制御方法については、詳しく後述する。
【００２３】
メモリ部１８０は、上述した磁気センサ１１０により取得された磁気データや、モーションセンサ１２０により取得されたセンサデータ、ＧＰＳ受信回路１３０により取得された測位データ等を、時間データに関連付けて所定の記憶領域に保存する。また、メモリ部１８０は、演算回路部１７０において実行される制御方法（センサ較正方法）において生成される各種データや、磁気センサ１１０のオフセット値、マップマッチング処理に使用する地図情報等を所定の記憶領域に保存する。また、メモリ部１８０は、磁気センサ１１０やモーションセンサ１２０、ＧＰＳ受信回路１３０等の、各構成における動作を実行するための制御プログラムや、上記の磁気データやセンサデータ、測位データに基づいて、磁気センサ１１０のキャリブレーション処理を実行するためのアルゴリズムプログラムを保存する。なお、これらのプログラムは、演算回路部１７０に予め組み込まれているものであってもよい。また、メモリ部１８０は、その一部又は全部が、例えばメモリカード等のリムーバブル記憶媒体としての形態を有し、電子機器１００に対して着脱可能に構成されているものであってもよい。
【００２４】
電源供給部１９０は、電子機器１００内部の各構成に駆動用電力を供給する。電源供給部１９０は、電子機器１００が携帯型の機器である場合には、例えば市販のボタン型電池等の一次電池や、リチウムイオン電池等の二次電池が適用される。また、電源供給部１９０は、上記の一次電池や二次電池のほか、振動や光、熱、電磁波等のエネルギーにより発電する環境発電（エナジーハーベスト）技術による電源等を、単独で、あるいは、他の電源と併用して適用するものであってもよい。
【００２５】
＜電子機器の制御方法＞
次に、本実施形態に係る電子機器における制御方法（センサ較正方法）について、図面を参照して説明する。ここで、以下のフローチャートに示す電子機器の制御方法は、上述した演算回路部１７０が所定の制御プログラム及びアルゴリズムプログラムに従って処理を実行することにより実現される。
【００２６】
図３は、本実施形態に係る電子機器における制御方法の一例を示すフローチャートである。図４は、磁気センサの出力分布例とオフセット補正との関係を示す概念図である。図５は、本実施形態に係る制御方法においてコース設定をした場合の移動経路と磁気データの取得動作との関係を示す概念図である。図６は、本実施形態において取得される磁気データの出力分布例を示す概念図である。図７は、本実施形態に係る制御方法においてコース設定をしない場合の移動経路と磁気データの取得動作との関係を示す概念図である。
【００２７】
本実施形態に係る電子機器１００の制御方法においては、磁気センサ１１０及びモーションセンサ１２０、ＧＰＳ受信回路１３０を備えた電子機器１００において、例えば図３のフローチャートに示すような一連の処理が実行される。まず、ユーザが入力操作部１５０を操作することにより、電源供給部１９０から電子機器１００内部の各構成に駆動用電力が供給されて、電子機器１００が起動する。これにより、演算回路部１７０が、少なくとも磁気センサ１１０及びモーションセンサ１２０によるセンシング動作、ＧＰＳ受信回路１３０による測位動作を含む通常処理を実行する（ステップＳ１０２）。
【００２８】
この通常動作において、３軸の磁気センサ１１０を備えた電子機器１００を一定の地磁気の中で回転や移動させた場合、磁気センサ１１０により取得される磁気データを３次元座標上でプロットすると、例えば図４に示すように、概ね球面Ｓｐ上に広く分布する。ここで、この球面Ｓｐにより形成される球の中心点Ｐａは、磁気センサ１１０により取得される磁気データ群の基準点を示し、球の半径ｒは、地磁気の大きさ（強さ）に対応する。また、この球の中心点Ｐａは、磁気センサ１１０が周辺の磁場の影響を受けて（着磁して）、本来の（真の）磁気データ群の基準点Ｐｃに対して一定の誤差（＝オフセット）を生じている。したがって、球の中心点Ｐａと真の基準点Ｐｃとの差分に相当するオフセット値（図中、「オフセットベクトル」と表記）を算出して、磁気センサ１１０により取得される磁気データ群に対してオフセット値を引くオフセット補正を行うことにより、磁気センサ１１０の周辺磁場の影響を除去して、電子機器１００を基準とする正確な方位を算出することができる。
【００２９】
一方、電子機器１００の環境が、磁気センサ１１０の周辺に強い磁場が存在する環境に変化すると、その磁界の影響を受けて磁気センサ１１０の着磁状態が変化することになり、磁気センサ１１０は、当該磁界と測定対象である地磁気とが合成された磁界を検出することになる。そのため、着磁状態が変化した磁気センサ１１０により取得された磁気データ群（図中、「着磁後の磁気データ群」と表記）の分布は、オフセット値が算出された当初の磁気データ群の分布（球面Ｓｐ及びその球の中心点Ｐａ）の３次元座標上の位置から変化（移動）することになる（図中、球面Ｓｐ′及びその球の中心点Ｐａ′）。この場合、着磁後の磁気データ群に対して、上述した予め算出されたオフセット値を用いた補正を行うと、算出される方位が正確な方位とは異なってしまうことになる。
【００３０】
そこで、本実施形態においては、演算回路部１７０により、通常処理中のオフセット値の変化（オフセット異常）を監視し、キャリブレーション処理を実行するか否かを判定する（ステップＳ１０４）。具体的には、演算回路部１７０は、磁気センサ１１０により取得された磁気データ群に対して、算出されたオフセット値を用いた補正を行い、その分布が３次元座標の基準点Ｐｃを中心にした球面上にない場合には、オフセット異常があり、キャリブレーション処理の実施が必要であると判定する。あるいは、演算回路部１７０は、一定期間取得した磁気データと中心点Ｐａとの距離（すなわち地磁気の大きさ）、又は、補正後の磁気データと基準点Ｐｃとの距離にバラツキが生じている場合には、オフセット異常があり、キャリブレーション処理の実施が必要であると判定する。一方、補正後の磁気データ群の分布が３次元座標の基準点Ｐｃを中心にした球面上にあって、当該磁気データと基準点Ｐｃとの距離にバラツキが生じていない場合には、演算回路部１７０は、オフセット異常なしと判定して、ステップＳ１０２に戻って通常処理を継続する。
【００３１】
なお、ステップＳ１０４におけるオフセット異常の判定処理は、ステップＳ１０２の通常処理中にバックグラウンドで実行される。また、オフセット異常の判定処理は、上述した手法に限定されるものではない。例えば、ＧＰＳ受信回路１３０により取得される測位データに基づいて導出される当該地点の地磁気の大きさ（強さ）と、磁気センサ１１０により取得される磁気データに基づいて算出される磁気センサ出力ベクトルの大きさとを比較して、その差が所定の閾値以上である場合にはオフセット異常であると判定するものであってもよい。
【００３２】
ステップＳ１０４において、オフセット異常と判定した場合には、演算回路部１７０は、磁気センサ１１０の動作モードを低消費電力モードに移行させる（ステップＳ１０６）。すなわち、オフセット異常の状態では、磁気センサ１１０により取得される磁気データは周辺磁場の影響を受けているため、正確な方位の算出等ができず、無効なデータの取得と無駄な演算処理を実行することになる。そのため、演算回路部１７０は、磁気センサ１１０による磁気データの取得、及び、当該磁気データを用いた各種の演算処理を実質的に中断又は停止して、磁気センサ１１０を含む演算処理に関わる機能部を低消費電力状態に移行させる。
【００３３】
次いで、演算回路部１７０は、ユーザの移動経路についてコースが設定されているか否か判定する（ステップＳ１０８）。ここで、ユーザが移動経路をコース設定する場合には、例えばユーザは移動を予定している経路を含む領域（自己の現在地点を含む領域であっても含まない領域であってもよい。）の地図情報を予め取得して、当該地図情報中に移動経路を入力し、メモリ部１８０に保存しておく。なお、地図情報については、入出力Ｉ／Ｆ部１４０を介してネットワーク上のサーバや地図ディスク等から、現在地点や移動経路を含む所定の範囲の地図情報を取得する。
【００３４】
ステップＳ１０８において、図５に示すように、ユーザの移動経路についてコースＣＰが設定されている場合には、演算回路部１７０は、ユーザの現在位置が、コース設定により移動方向が変化するノードの近傍にあるか否かを判断する（ステップＳ１１０）。また、図７に示すように、ユーザの移動経路についてコースが設定されていない場合には、演算回路部１７０は、ユーザの現在位置が、地図情報に含まれる各ノードの近傍にあるか否かを判断する（ステップＳ１１２）。ステップＳ１１０又はＳ１１２において、ユーザの現在位置が所定のノード近傍にないと判断した場合には、演算回路部１７０は、ステップＳ１０６に戻って、ユーザの現在位置が所定のノード近傍に到達するまで、磁気センサ１１０を低消費電力モードで動作させる。
【００３５】
ここで、ユーザの現在位置や移動経路を特定する手法としては、ＧＰＳ受信回路１３０により取得される測位データや、モーションセンサ１２０により取得されるセンサデータに基づいて位置情報を求め、図５、図７に示すように、この位置情報を地図情報に含まれる道路網ＲＮにマッチングさせるマップマッチングの手法を適用することができる。具体的には、演算回路部１７０は、ＧＰＳ受信回路１３０により取得される緯度、経度データを含む測位データと、磁気センサ１１０や加速度センサ１２２により取得される方位データ及び距離データとに基づいて、単位時間当たりの進行方向と移動距離を求める。そして、緯度、経度データに基づく絶対位置に対して、上記の進行方向と移動距離に対応するベクトルを順次加算することにより現在位置を推定するデッドレコニングによる手法を用いて、ユーザの現在位置を推定する。ここで、このような現在位置の推定方法においては、ＧＰＳにおける測位精度の誤差や、デッドレコニングにおけるセンサ誤差による累積誤差を原因とするノイズを含んでいるため、正しい移動経路を得られない場合がある。
【００３６】
そこで、本実施形態においては、演算回路部１７０において、マップマッチング手法を適用することによりＧＰＳ受信回路１３０や磁気センサ１１０、モーションセンサ１２０により取得された位置情報（現在位置）を、地図情報に含まれる道路網ＲＮに対応付けて（マッチングして）、道路上を移動した経路を特定する。これにより、演算回路部１７０は、マップマッチング後のユーザの現在位置及び移動経路と、地図情報に含まれる道路網ＲＮとに基づいて、ユーザ（厳密には、磁気センサ１１０）がノードの近傍に位置しているか否かを判断するとともに、ユーザが次に通過するノードを推定する。
【００３７】
また、地図情報に含まれる道路網ＲＮは、交差点や分岐点、道路相互の結節点を示す、上記の「ノード」と、当該ノード間の道路区間である「リンク」の組み合わせによって表現される。この道路網ＲＮに含まれるノードにおいて、ユーザが延伸方向の異なる道路を進むと、地磁気ベクトルが大きく変化する。例えば図６（ａ）に示すように、道路Ｒ１を進行方向Ｄ１に移動していたユーザが、ノードＮＤで方向を変えて、交差する道路Ｒ２を進行方向Ｄ２に移動した場合、磁気センサの向きが曲がり角となるノードＮＤの前後で大きく変化する。これにより、磁気センサ１１０により取得される磁気データは、例えば図６（ｂ）に示すように、進行方向の変化に伴って、その変化方向（図中、点線矢印で表記）に沿って円弧状に広く分布する。ここで、磁気センサ１１０のキャリブレーション処理においては、上述したように、３軸の磁気センサを任意の方向に向けて取得される磁気データを３次元座標上でプロットした際に、図４に示したように、概ね球面上に広く分布、あるいは、円弧（又は、円周）状に広く分布することが好ましい。このような分布を示す磁気データを用いることにより、球面や円を良好に推定して中心座標を正確に算出することができる。
【００３８】
そこで、本実施形態においては、図６（ｂ）に示したような分布が得られる磁気データ、すなわち、進行方向（すなわち、地磁気ベクトルに対する方向）が大きく変化する各ノードの近傍における磁気データのみを多数取得して、これらをキャリブレーション処理に用いることによりオフセット値を効率的かつ精度良く算出する。
【００３９】
ここで、磁気センサ１１０により磁気データを取得する際（測定開始から終了まで）の条件となる「ノード近傍」となる領域や範囲（図５、図７中、点線丸で表記）は、次のように定義される。まず、「ノード近傍」となる領域を規定する距離（点線丸の半径に相当する）又は範囲を、特定の数値に設定した場合、一定のサンプリング周波数で磁気データを取得すると、ユーザの移動速度に依存して当該領域の通過時間が変化することになるため、磁気データのサンプリング数も変化することになる。上述したように、ユーザの進行方向が変化する各ノード近傍で極力多くの磁気データを取得することがオフセット値を算出する上で好ましいので、「ノード近傍」を規定する距離又は範囲は、ユーザが現在の移動速度でノードを通過すると仮定した場合、例えばノードに到達する１０秒前程度の位置から、ノード通過後１０秒経過程度の位置までであることが好ましい。このとき、磁気センサ１１０は、少なくとも、ノード通過後、ノード近傍を離脱するまでの間、地磁気ベクトルに変化がない状態である必要がある。これにより、進行方向（地磁気ベクトルに対する方向）が大きく変化する際の磁気データを良好に取得することができる。また、ノード近傍を規定する時間設定については、上記のノード通過時点の前後１０秒程度に限定されるものではなく、少なくとも磁気センサ１１０がノード近傍に到達する前までに磁気データの取得が可能な状態（測定状態）にあること、及び、道路網のデータと実際の道路の様子との間に存在するずれ等を考慮して決定するものであればよい。
【００４０】
以上のような技術思想に基づいて、ステップＳ１１０又はＳ１１２において、ユーザの現在位置が、データ取得範囲である所定のノード近傍にあると判断した場合には、演算回路部１７０は、磁気センサ１１０を起動させて、低消費電力モードから通常モードに復帰させる（ステップＳ１１４）。さらに、演算回路部１７０は、ノード近傍において所定数以上の磁気データが取得されるように、ユーザの移動速度に応じて磁気データのサンプリング周波数（Ｈｚ）を設定する（ステップＳ１１６）。そして、演算回路部１７０は、ユーザがノード近傍に位置している期間（ノード通過時点の前後各１０秒程度）、移動速度に応じた所定のサンプリング周波数で、磁気センサ１１０により磁気データを取得（測定）する（ステップＳ１１８）。取得した磁気データは、メモリ部１８０の所定の記憶領域に保存される。
【００４１】
次いで、演算回路部１７０は、ノード近傍において磁気センサ１１０により取得された磁気データが、キャリブレーション処理に使用するデータとして有効か否かを判断する処理を実行する（ステップＳ１２０）。すなわち、上述したように、キャリブレーション処理においては、３次元座標上で概ね球面上に、あるいは、円弧（又は、円周）状に広く分布する磁気データを使用することにより、球面や円の中心座標であるオフセット値を精度良く算出することができる。そこで、本実施形態においては、演算回路部１７０により、ステップＳ１１８において取得された磁気データが、ノードを通過する前後で地磁気ベクトルが大きく変化するノード近傍で測定され、キャリブレーション処理に必要かつ十分なデータの分布（範囲）やデータ数等を有している有効なデータであるか否かを判断する（ステップＳ１２２）。
【００４２】
具体的には、演算回路部１７０は、上記のステップＳ１０８のコース設定判断において、コース設定されている場合には、演算回路部１７０は、例えば図５に示すように、予め設定されたコースＣＰ（図中、点線矢印で表記）において、進行方向（地磁気ベクトルに対する方向）が大きく変化することが予め判明しているノードＮＤａ、ＮＤｂ、ＮＤｄ、ＮＤｇの近傍で取得された磁気データを有効なデータであると判断する。なお、図中、実線矢印は、マップマッチングにより特定されたユーザの移動経路である。
【００４３】
一方、ステップＳ１０８のコース設定判断において、コース設定されていない場合には、演算回路部１７０は、例えば図７に示すように、マップマッチングにより特定されたユーザの移動経路（図中、実線矢印）やその進行方向、地図情報に含まれる道路網ＲＮに基づいて、ユーザが通過する全てのノードＮＤａ、ＮＤｂ、ＮＤｃ、・・・において磁気データが取得される。そして、演算回路部１７０は、これらの磁気データのうち、進行方向（地磁気ベクトルに対する方向）が大きく変化するノードＮＤａ、ＮＤｂ、ＮＤｄ、ＮＤｇの近傍で取得された磁気データを有効なデータであると判断し、進行方向が変化しないノードＮＤｃ、ＮＤｅ、ＮＤｆの近傍で取得された磁気データを無効なデータであると判断する。ここで、無効なデータと判断された磁気データは、進行方向が変化しない状態で取得されるため、３次元座標上での分布が類似又は同一のデータとなる。そのため、このような磁気データを、仮に後述するキャリブレーションに使用した場合には、球面や円の中心座標を推定することができず、無駄な演算処理を実行することになる。
【００４４】
ステップＳ１２０、Ｓ１２２において、キャリブレーション処理に有効な磁気データが取得されていると判断した場合には、演算回路部１７０は、当該磁気データを使用してキャリブレーション処理を実行し、オフセット値を算出する（ステップＳ１２４）。ここで、有効と判断された磁気データを使用したキャリブレーション処理の手法としては、特に限定するものではなく、例えば上述した特許文献等に記載された周知の手法を適用するものであってもよいし、後述する具体例に示す手法を適用するものであってもよい。一方、ステップＳ１２０、Ｓ１２２において、取得した磁気データが有効ではない（無効であると）判断した場合には、演算回路部１７０は、ステップＳ１０６に戻って、ユーザが次のデータ取得範囲であるノード近傍に到達するまで、磁気センサ１１０を低消費電力モードで動作させる。
【００４５】
次いで、演算回路部１７０は、ステップＳ１２４において算出されたオフセット値について、有効か否かを判定する（ステップＳ１２６）。具体的には、演算回路部１７０は、例えばステップＳ１０４と同様に、磁気センサ１１０により取得された磁気データ群に対して、ステップＳ１２４において算出されたオフセット値を用いた補正を行い、その分布が図４に示したように、３次元座標の基準点Ｐｃを中心にした球面上にある場合には、当該オフセット値が有効であると判定する。そして、演算回路部１７０は、当該オフセット値をメモリ部１８０の所定の記憶領域に保存して、オフセット値を更新する（ステップＳ１２８）。一方、補正後の磁気データ群の分布が３次元座標の基準点Ｐｃを中心にした球面上にない場合には、演算回路部１７０は、当該オフセット値が無効であると判定する。そして、演算回路部１７０は、ステップＳ１０６に戻って、ユーザの現在位置が所定のノード近傍に到達するまで、磁気センサ１１０を低消費電力モードで動作させる。
【００４６】
次いで、演算回路部１７０は、ユーザが電子機器１００を使用する際に、磁気センサ１１０により取得される磁気データに対して、更新されたオフセット値を用いて補正を行うことにより、電子機器１００を基準とする方位を算出する（ステップＳ１３０）。ここで、演算回路部１７０は、ステップＳ１０２の通常処理に戻って、通常処理として方位算出処理を実行するものであってもよい。
【００４７】
なお、上述した一連の処理動作は、ユーザが特に意識することなく、電子機器１００の日常的な使用状態においてバックグラウンドで自動的に実行される。また、図３に示したフローチャートにおいては図示を省略したが、演算回路部１７０は、上述した一連の処理動作の実行中、処理動作を中断又は終了させる入力操作や動作状態の変化を常時監視して、当該入力操作や状態変化を検出した場合には、処理動作を強制的に終了する。具体的には、演算回路部１７０は、ユーザによる動作電源の遮断操作や、電源供給部１９０における電池残量の低下、実行中の機能やアプリケーションの異常等を検出して、一連の処理動作を強制的に中断して終了する。
【００４８】
このように、本実施形態においては、磁気センサ１１０を搭載した電子機器１００を携帯したユーザの現在位置及び移動経路を、ＧＰＳによる測位データ、又は、当該測位データとモーションセンサにより取得される方位データ及び距離データとを用いたデッドレコニングによる測位データを用いて測定する。そして、測定されたユーザの現在位置及び移動経路を、マップマッチング法により地図情報に含まれる道路網に対応付けて特定するとともに、道路網における移動経路上のノードを推定する。そして、ユーザの移動経路上の各ノードにおいて進行方向（地磁気ベクトルに対する方向）の変化の有無を判定し、当該変化のあるノード近傍で取得した磁気データを、磁気センサのキャリブレーション処理における有効なデータとして使用して、オフセット値を算出する。
【００４９】
すなわち、本実施形態においては、磁気センサにより取得する磁気データの取捨選択を行うことにより、有効な磁気データを用いたオフセット算出処理においてのみ、磁気データの取得動作やオフセット値の演算処理に関わる機能部を起動し、無効な磁気データの取得動作や、無効な磁気データや類似又は同一のデータを用いた無駄な演算処理の実行が回避される（実行する必要がない）。このとき、磁気データの取得動作や、磁気データ等を用いた演算処理に関わる機能部は低消費電力モードに移行する。
【００５０】
したがって、本実施形態に係る電子機器によれば、ユーザが移動することにより通過するノード近傍で、キャリブレーション処理に使用する有効な磁気データのみを効率的に取得してオフセット値を精度良く算出することができるとともに、ノード間のリンク部分ではセンサや演算処理に関わる機能部を低消費電力モードに移行することにより、処理負担を軽減して消費電力を削減することができる。
【００５１】
また、本実施形態においては、オフセット異常を監視して、磁気データの取得動作や、有効な磁気データを使用したキャリブレーション処理等を含む一連の処理動作を、ユーザに特に意識させることなくバックグラウンドで実行する。したがって、本実施形態に係る電子機器によれば、ユーザが意識して特定の動作や操作を行わなくても、磁気センサのキャリブレーション処理（オフセット補正）を自動で実行して、正確な方位を算出することができる。
【００５２】
＜キャリブレーション処理の具体例＞
次に、上述した電子機器の制御方法に適用可能なキャリブレーション処理の他の具体例について簡単に説明する。本実施形態に係る制御方法に、以下に示すキャリブレーション処理を適用した場合であっても、ユーザによる特別な動作等を必要とすることなく、低消費電力でオフセット値を精度良く算出することができる。
【００５３】
（第１の具体例）
図８は、本実施形態に適用可能なキャリブレーション処理（第１の具体例）における座標変換処理を示す概念図である。図９は、本実施形態に適用可能なキャリブレーション処理（第１の具体例）における特徴点検出処理を示す概念図である。図１０は、本実施形態に適用可能なキャリブレーション処理（第１の具体例）におけるオフセット算出処理を示す概念図である。
【００５４】
上述した実施形態に適用可能なキャリブレーション処理の第１の例は、まず、演算回路部１７０は、３軸の磁気センサ１１０により取得された磁気データ（磁気センサ出力）に対して、図８に示すように、センサ座標系Ａ（ｘ，ｙ，ｚ）を加速度センサにより取得された加速度データに基づく重力方向Ｚを基準とする座標系Ｂ（ｘ′，ｙ′，ｚ′）に変換する座標変換を施す。これにより、演算回路部１７０は、磁気センサ出力を重力方向の鉛直成分と、重力方向に垂直な水平成分とに分解する。
【００５５】
次いで、図９に示すように、演算回路部１７０は、磁気センサ出力の鉛直成分が得られる重力軸を中心にして、磁気センサを水平に回転させることにより得られる磁気センサ出力の水平成分の波形が最大値又は最小値となり、その回転角度が磁北方向、又は、その逆向きの磁南方向に対応する特徴点を検出する。
【００５６】
次いで、図１０に示すように、演算回路部１７０は、この特徴点の検出時点における磁気センサ出力ベクトルＡと、ＧＰＳ受信回路１３０により取得される位置情報等に基づいて取得される地磁気ベクトルＢとを比較する。これにより、演算回路部１７０は、差分ベクトルＣを磁気センサのオフセット値として算出する。
【００５７】
このキャリブレーション処理の手法においては、上述した効果に加え、電子機器の姿勢に変化がない場合であっても、磁気センサ出力の水平成分の波形に基づいて特徴点を検出して、磁気センサ１１０のオフセット値を精度良く算出することができる。
【００５８】
（第２の具体例）
図１１は、本実施形態に適用可能なキャリブレーション処理（第２の具体例）を示す概念図である。
【００５９】
上述した実施形態に適用可能な第２のキャリブレーション処理の第２の例は、まず、演算回路部１７０は、３軸の磁気センサにより取得された磁気データのうち、図１１（ａ）に示すように、任意の３点の磁気データを選別して、当該磁気データを含む平面Ｆａを算出する。
【００６０】
次いで、演算回路部１７０は、磁気センサにより取得された磁気データから、上記の平面Ｆａに近接する（所定の垂直距離内の）磁気データを選択し、図１１（ｂ）に示すように、平面Ｆａ上に当該選択された磁気データ群により形成される円周Ｃａを推定する。そして、演算回路部１７０は、推定された円周Ｃａの中心座標を通り、平面Ｆａに垂直な直線Ｌａを算出する。
【００６１】
次いで、演算回路部１７０は、同様の処理を、異なる磁気データ群についても繰り返し実行し、図１１（ｃ）に示すように、推定された円周Ｃｂの中心座標を通り、平面Ｆｂに垂直な直線Ｌｂを算出する。そして、演算回路部１７０は、複数の直線Ｌａ、Ｌｂ相互の交点（又は近似点）Ｐｄをオフセット値として算出する。
【００６２】
このキャリブレーション処理の手法においては、上述した効果に加え、磁気センサにより取得した磁気データが３次元座標上の球面の特定の領域に局所的に分布する場合であっても、磁気センサ１１０のオフセット値を比較的精度良く算出することができる。
【００６３】
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲とを含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００６４】
（付記）
［１］
電子機器であって、
磁気データとして地磁気を検出する磁気センサと、
前記電子機器の地理的な位置を検出する測位センサと、
前記測位センサにより検出された位置情報に基づいて、前記電子機器を装着または携帯しているユーザの現在位置及び移動経路を推定し、該推定した前記ユーザの現在位置及び移動経路を地図情報に対応付ける移動経路特定部と、
前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、前記ユーザの前記現在位置が前記分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得する磁気データ取得部と、
前記磁気データ取得部により取得された前記磁気データのうち、前記ユーザの進行方向が変化した時点の前と後で取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出するオフセット算出部と、
を有することを特徴とする電子機器。
【００６５】
［２］
前記磁気データ取得部は、前記ユーザの移動速度に応じて、前記磁気データの取得のサンプリング周波数を設定することを特徴とする［１］に記載の電子機器。
【００６６】
［３］
前記磁気データ取得部は、移動中の前記ユーザが前記分岐点に到達すると予測されるタイミングより予め設定された時間だけ前の第１のタイミングから、前記分岐点を通過して予め設定された時間が経過した後の第２のタイミングまでの間で、前記磁気センサより前記磁気データを取得することを特徴とする［１］又は［２］に記載の電子機器。
【００６７】
［４］
前記磁気データ取得部は、前記ユーザの前記現在位置が前記分岐点の近傍であるときに、前記磁気センサより前記磁気データを取得し、前記ユーザの前記現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気センサ及び前記磁気データ取得部、前記オフセット算出部における動作を停止して低消費電力モードに移行することを特徴とする［１］乃至［３］のいずれかに記載の電子機器。
【００６８】
［５］
前記オフセット算出部は、前記磁気センサにより取得された前記磁気データに対して、所定の座標変換処理を施して、前記磁気データを重力方向の鉛直成分と、前記重力方向に垂直な水平成分に分解し、前記磁気データの水平成分から磁北方向を決定する特徴点の検出時点における前記磁気センサの出力ベクトルと、前記測位センサにより取得された前記位置情報に基づいて導出される地磁気ベクトルとの差分ベクトルを、前記磁気センサのオフセット値として算出することを特徴とする［１］乃至［４］のいずれかに記載の電子機器。
【００６９】
［６］
前記オフセット算出部は、前記磁気センサにより取得された前記磁気データのうち、個別の平面においてそれぞれに含まれる複数の前記磁気データにより形成される各円周を推定し、前記各円周の中心座標を通り、前記個別の平面に垂直な直線相互の交点を、前記磁気センサのオフセット値として算出することを特徴とする［１］乃至［５］のいずれかに記載の電子機器。
【００７０】
［７］
前記磁気センサの前記オフセット値の変化を監視するオフセット監視部を、さらに備え、
オフセット監視部において前記オフセット値の変化を検知した場合に、磁気データ取得部において前記磁気センサにより前記磁気データを取得させ、前記オフセット算出部において前記磁気センサの前記オフセット値を算出することを特徴とする［１］乃至［６］のいずれかに記載の電子機器。
【００７１】
［８］
前記オフセット算出部により算出された前記オフセット値に基づいて、前記磁気データを補正して、前記電子機器を基準とする方位を算出する方位算出部を、さらに備えることを特徴とする［１］乃至［７］のいずれかに記載の電子機器。
【００７２】
［９］
測位センサにより検出された位置情報に基づいて、前記測位センサ及び磁気データとして地磁気を検出する磁気センサを有する電子機器を装着または携帯しているユーザの現在位置及び移動経路を推定し、該推定した前記ユーザの現在位置及び移動経路を地図情報に対応付け、
前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、前記ユーザの前記現在位置が前記分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得し、
前記取得された前記磁気データのうち、前記ユーザの進行方向が変化した時点の前と後で取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出すること、
を特徴とするセンサ較正方法。
【００７３】
［１０］
前記ユーザの移動速度に応じて、前記磁気データの取得のサンプリング周波数を設定することを特徴とする［９］に記載のセンサ較正方法。
【００７４】
［１１］
前記ユーザの前記現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気データを取得する動作、及び、前記磁気センサの前記オフセット値を算出する動作を停止して低消費電力モードに移行することを特徴とする［９］又は［１０］に記載のセンサ較正方法。
【００７５】
［１２］
コンピュータに、
測位センサにより検出された位置情報に基づいて、前記測位センサ及び磁気データとして地磁気を検出する磁気センサを有する電子機器を装着または携帯しているユーザの現在位置及び移動経路を推定し、該推定した前記ユーザの現在位置及び移動経路を地図情報に対応付けさせ、
前記地図情報と前記ユーザの前記移動経路とに基づいて、前記移動経路上の分岐点を推定し、前記ユーザの前記現在位置が前記分岐点を通過する前と通過した後とで、前記磁気センサより前記磁気データを取得させ、
前記取得された前記磁気データのうち、前記ユーザの進行方向が変化した時点の前と後で取得された前記磁気データに基づいて、前記磁気センサのオフセット値を算出させること、
を特徴とするセンサ較正プログラム。
【００７６】
［１３］
前記ユーザの移動速度に応じて、前記磁気データの取得のサンプリング周波数を設定させることを特徴とする［１２］に記載のセンサ較正プログラム。
【００７７】
［１４］
前記ユーザの前記現在位置が前記分岐点の近傍にない場合には、少なくとも前記磁気データを取得する動作、及び、前記磁気センサの前記オフセット値を算出する動作を停止して低消費電力モードに移行させることを特徴とする［１２］又は［１３］に記載のセンサ較正プログラム。
【符号の説明】
【００７８】
１００    電子機器
１１０    磁気センサ
１２０    モーションセンサ
１２２    加速度センサ
１３０    ＧＰＳ受信回路
１４０    入出力Ｉ／Ｆ部
１７０    演算回路部
１８０    メモリ部
【図１】
0006384662.tif 000002
【図２】
0006384662.tif 000003
【図３】
0006384662.tif 000004
【図４】
0006384662.tif 000005
【図５】
0006384662.tif 000006
【図６】
0006384662.tif 000007
【図７】
0006384662.tif 000008
【図８】
0006384662.tif 000009
【図９】
0006384662.tif 000010
【図１０】
0006384662.tif 000011
【図１１】
0006384662.tif 000012