(57)【要約】【課題】ユーザの運動状態等に関わらず、角速度センサのオフセット値を適切に補正することができる電子機器及び電子機器のセンサ較正方法、電子機器のセンサ較正プログラムを提供する。【解決手段】地磁気センサ１２０により取得された地磁気に対して、センサ座標系を重力座標系に変換する処理を施し、磁気データを鉛直成分と水平成分とに分解する。そして、磁気データの水平成分から磁北方向を決定する特徴点を２点以上検出し、重力軸周りの回転角度θz_magを検出する。また、角速度センサ１１２により取得された角速度データに対して同様の座標変換処理を施して、磁気データにおいて２点の特徴点を検出した区間Δｔにおける回転角度θz_gyroを算出する。回転角度θz_magと回転角度θz_gyroとの差分角度Δθzが所定の閾値α以上である場合に、重力座標系における各軸周りのオフセット値が算出される。【選択図】図３
2017049115.tif 000002
【特許請求の範囲】
【請求項１】
角速度データを取得する角速度センサと、
磁気データを取得する地磁気センサと、
前記角速度センサのオフセット値を算出する演算回路部と、
を備え、
前記演算回路部は、前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記オフセット値を算出することを特徴とする電子機器。
【請求項２】
更に、加速度データを取得する加速度センサを備え、
前記演算回路部は、前記地磁気センサ及び前記角速度センサを、前記加速度データに基づいて推定される重力方向に設定される中心軸の回りに回転させたときに前記磁気データに基づいて検出される前記第１の回転角度と、前記角速度データに基づいて算出される前記第２の回転角度と、の比較に基づいて前記オフセット値を算出することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記演算回路部は、
前記磁気データ及び前記角速度データを、前記重力方向を基準とする座標系に変換する座標変換処理を施し、
前記地磁気センサと前記角速度センサを前記中心軸の周りに回転させて、前記座標変換処理後の前記磁気データの前記重力方向に垂直な水平成分から地球の磁極方向を決定する特徴点が２点以上検出されたときの前記磁気データの水平成分の回転角度を前記第１の回転角度として検出し、前記磁気データにおいて前記２点以上の前記特徴点が検出されたときに前記座標変換処理後の前記角速度データに基づいて算出される回転角度を前記第２の回転角度として取得する、
ことを特徴とする請求項２に記載の電子機器。
【請求項４】
前記演算回路部は、前記磁気データの前記水平成分が最大値又は最小値となる角度方向を、前記特徴点として検出することを特徴とする請求項３に記載の電子機器。
【請求項５】
温度データを取得する温度センサをさらに備え、
前記演算回路部は、前記温度センサにより所定の温度変化が検出されたときに、前記オフセット値の算出を実行することを特徴とする請求項１乃至４のいずれか一項に記載の電子機器。
【請求項６】
前記演算回路部は、前記角速度センサ又は前記地磁気センサにより前記電子機器の動きが検出されたときに、前記オフセット値の算出を実行することを特徴とする請求項１乃至５のいずれか一項に記載の電子機器。
【請求項７】
前記演算回路部は、前記角速度センサ又は前記地磁気センサにより前記電子機器を所定の角度以上回転させる動作が行われたことが検出されたときに、前記オフセット値の算出を実行することを特徴とする請求項６に記載の電子機器。
【請求項８】
温度データを取得する温度センサと、
前記オフセット値を所定の温度範囲ごとに対応付けて保持するオフセットテーブルと、
をさらに備え、
前記演算回路部は、前記温度センサにより検出された温度が、前記オフセットテーブルに前記オフセット値が保持されていない前記温度範囲に属している場合に、前記磁気データに対して前記座標変換処理を施して２点以上の前記特徴点を検出し、前記角速度センサの前記オフセット値を算出し、前記オフセット値を、前記温度センサにより検出された温度が属する前記温度範囲に対応付けて前記オフセットテーブルに保持することを特徴とする請求項３又は４に記載の電子機器。
【請求項９】
電子機器のセンサ較正方法であって、
前記電子機器は、角速度データを取得する角速度センサと、磁気データを取得する地磁気センサと、を備え、
前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記角速度センサのオフセット値を算出する、
ことを特徴とする電子機器のセンサ較正方法。
【請求項１０】
電子機器のセンサ較正プログラムであって、
前記電子機器は、角速度データを取得する角速度センサと、磁気データを取得する地磁気センサと、を備え、
前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記角速度センサのオフセット値を算出させる、
ことを特徴とする電子機器のセンサ較正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、角速度センサを備えた電子機器、及び、当該電子機器におけるセンサ較正方法、並びに、センサ較正プログラムに関する。
【背景技術】
【０００２】
近年、携帯電話機やスマートフォン（高機能携帯電話機）、ナビゲーション端末、スマートウォッチ等の携帯型（又は装着型）の電子機器において、ユーザの運動状態や移動軌跡等のデータを利用した種々のサービスが提供されている。これらの電子機器には、一般に、物体の角速度の変化を検出する角速度センサ（又は、ジャイロセンサ）をはじめとする、各種のモーションセンサが搭載されている。ここで、角速度センサは、従来、航空機やロボットの姿勢制御、撮像装置の手振れ補正、ゲームコントローラ等の分野で広く利用されてきたものであるが、近年普及が著しいスマートフォンやスマートウォッチに搭載されて、ユーザの運動状態の計測等の分野においても利用されている。
【０００３】
角速度センサは、上述したように物体、すなわち、角速度センサを搭載した電子機器や、当該電子機器を携帯又は装着したユーザの身体の動作における、角速度の変化を検出するものであるため、物体が回転していない状態（例えば静止状態）においては、本来（理想的には）、角速度はゼロとなる。しかしながら、角速度センサの出力値には、一般に、本来の角速度の値（真の値）に加えて、角速度センサの製造ばらつきや搭載される電子機器の特性等に起因する固有のオフセット値が含まれている。すなわち、角速度センサの出力値は、静止状態であってもゼロにはならず、固有のオフセット値を示す。そのため、角速度センサの出力値は、上記のオフセット値を相殺する演算処理を行ったうえで、各種のアプリケーションで利用される。
【０００４】
ところで、上述した角速度センサの出力値に含まれるオフセット値は、主に、角速度センサの周辺環境（特に、温度変化）の影響を受けて変化することが知られている。そのため、角速度センサの出力値から本来の角速度の値を正確に取得するためには、オフセット値の変化を的確に把握してオフセット値を補正するキャリブレーション処理が必要になる。
【０００５】
このような角速度センサのオフセット値の補正方法としては、例えば、角速度センサを含むセンサ装置において、角速度センサに加わる角速度が０であると判定した場合（例えばセンサ装置が静止状態にある場合）に、角速度センサの出力のオフセットを補正する手法が、特許文献１に記載されている。また、オフセット値の他の補正方法としては、例えば、移動体の特定の走行状態（直進）において、地磁気センサとジャイロセンサ（角速度センサ）の検出値（出力値）の正確さを比較し、ジャイロセンサよりも正確な検出値が出力される地磁気センサの検出値に基づいて、ジャイロセンサの検出値を補正する手法が、特許文献２に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−３７４０５号公報
【特許文献２】特開２０１１−１１２５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１、２には、角速度センサが静止状態や特定の動作状態（一定方向に移動する直進動作）にある場合にのみ、角速度センサのオフセット値を補正する手法が開示されている。このような手法においては、オフセット値の補正が実行されるタイミングが、角速度センサが静止状態や特定の動作状態にある場合に限定されてしまい、ユーザの運動状態や移動軌跡等を正確に把握することができないという問題を有している。すなわち、ユーザによる任意の運動中や移動中に、温度変化により角速度センサのオフセット値に変化が生じた場合、当該運動時等の角速度を短い周期で正確に取得することができないという問題を有していた。
【０００８】
そこで、本発明は、上述した問題点に鑑み、ユーザの運動状態等に関わらず、角速度センサのオフセット値を適切に補正することができる電子機器及び電子機器のセンサ較正方法、電子機器のセンサ較正プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る電子機器は、
角速度データを取得する角速度センサと、
磁気データを取得する地磁気センサと、
前記角速度センサのオフセット値を算出する演算回路部と、
を備え、
前記演算回路部は、前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記オフセット値を算出することを特徴とする。
【００１０】
本発明は、
電子機器のセンサ較正方法であって、
前記電子機器は、角速度データを取得する角速度センサと、磁気データを取得する地磁気センサと、を備え、
前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記角速度センサのオフセット値を算出する、
ことを特徴とする
【００１１】
本発明は、
電子機器のセンサ較正プログラムであって、
前記電子機器は、角速度データを取得する角速度センサと、磁気データを取得する地磁気センサと、を備え、
前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記角速度センサのオフセット値を算出させる、
ことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ユーザの運動状態等に関わらず、角速度センサのオフセット値を適切に補正することができ、正確な角速度を取得することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る電子機器の複数の適用例を示す概略構成図である。
【図２】第１の実施形態に係る電子機器の一例を示す機能ブロック図である。
【図３】第１の実施形態に係る電子機器におけるセンサ較正方法の一例を示すフローチャートである。
【図４】第１の実施形態に適用される座標変換処理を示す概念図である。
【図５】第１の実施形態に適用される座標変換後のＸ′軸及びＹ′軸における地磁気センサの出力波形の例を示す波形図である。
【図６】第１の実施形態に適用される特徴点検出処理における地磁気センサの回転角度を示す概略図である。
【図７】第２の実施形態に係る電子機器におけるセンサ較正方法の一例を示すフローチャートである。
【図８】第２の実施形態に適用されるオフセットテーブルの一例を示す概略図である。
【発明を実施するための形態】
【００１４】
以下、本発明に係る電子機器及びセンサ較正方法、センサ較正プログラムについて、実施形態を示して詳しく説明する。
＜第１の実施形態＞
（電子機器）
図１は、本発明に係る電子機器の複数の適用例を示す概略構成図である。また、図２は、本発明の第１の実施形態に係る電子機器の一例を示す機能ブロック図である。
【００１５】
本発明に係る電子機器は、例えばユーザの運動情報や移動軌跡等を利用した種々のサービスを、ユーザに提供するための機能を備えた電子機器に適用される。具体的には、電子機器は、例えば図１（ａ）に示すような腕時計型やリストバンド型の外観のスマートウォッチ１０や、図１（ｂ）に示すようなＧＰＳロガーやナビゲーション端末等のアウトドア機器２０、図１（ｃ）に示すようなスマートフォン３０やタブレット端末等に適用される。以下、説明の都合上、これらの機器を「電子機器１００」と総称する。
【００１６】
本発明の第１の実施形態に係る電子機器１００は、例えば図２に示すように、角速度センサ１１２及び加速度センサ１１４を含むモーションセンサ１１０と、地磁気センサ１２０と、温度センサ１３０と、通信機能部１４０と、入力操作部１５０と、出力部１６０と、演算回路部１７０と、メモリ部１８０と、電源供給部１９０と、を有している。ここで、演算回路部１７０は、本発明に係る座標変換部、特徴点検出部、回転角度比較部、オフセット値算出部及びオフセット制御部に対応する。
【００１７】
モーションセンサ１１０は、少なくとも角速度センサ（ジャイロセンサ）１１２と、加速度センサ１１４とを含み、ユーザの身体の動きや運動状態、電子機器１００に加わる特定方向の力等を検出する。角速度センサ１１２は、ユーザの身体の動きに応じて電子機器１００に生じる移動方向の変化（角速度）を計測する。角速度センサ１１２は、３軸角速度センサを有し、後述する加速度センサ１１４により出力される加速度データを規定する、互いに直交する３軸について、各軸に沿った回転運動の回転方向に生じる角速度成分（角速度信号）を検出して角速度データとして出力する。また、加速度センサ１１４は、ユーザの身体の動きに応じて電子機器１００に生じる移動速度の変化の割合（加速度）を計測する。加速度センサ１１４は、３軸加速度センサを有し、互いに直交する３軸方向の各々に沿った加速度成分（加速度信号）を検出して加速度データとして出力する。ここで、本実施形態において、加速度データは、後述する演算回路部１７０において角速度センサ１１２のオフセット値の補正を行う際に用いられる。角速度センサ１１２及び加速度センサ１１４により取得されたセンサデータ（角速度データ、加速度データ）は、時間データに関連付けられてメモリ部１８０の所定の記憶領域に保存される。
【００１８】
地磁気センサ１２０は、直交する３軸方向の地磁気を検出するセンサであって、地球の磁場（磁界）を検出して磁気データ（又は、３次元の方向データ）として出力する。この磁気データは、後述する演算回路部１７０において電子機器１００を基準とする方位を算出する際に用いられる。また、本実施形態において、磁気データは、後述する演算回路部１７０において角速度センサ１１２のオフセット値の補正を行う際に用いられる。地磁気センサ１２０により取得された磁気データは、時間データに関連付けられて後述するメモリ部１８０の所定の記憶領域に保存される。
【００１９】
温度センサ１３０は、電子機器の周辺環境や機器内部における温度の変化を検出して温度データとして出力する。本実施形態において、温度データは、後述する演算回路部１７０において角速度センサ１１２のオフセット値の補正を行う際の条件（トリガー）としても用いられる。温度センサ１３０により取得された温度データは、時間データに関連付けられてメモリ部１８０の所定の記憶領域に保存される。
【００２０】
通信機能部１４０は、電子機器１００の外部の通信機器やネットワーク（いずれも図示を省略）との間で、各種のデータを送信又は受信する。ここで、通信機能部１４０を介して行われる通信は、例えば有線や無線、メモリカード等を用いた所定の通信形式が適用される。
【００２１】
入力操作部１５０は、例えば図１に示した電子機器１００（スマートウォッチ１０やアウトドア機器２０、スマートフォン３０等）の筐体に設けられた操作スイッチ１５２やタッチパネル１５４等を有している。入力操作部１５０は、例えば電子機器１００の動作電源やアプリケーションソフトウェアの操作、後述する出力部１６０（表示部や音響部等）により報知する項目の設定等の、各種の入力操作に用いられる。
【００２２】
出力部１６０は、電子機器１００の筐体に設けられた表示部１６２や音響部１６４、振動部（図示を省略）等を有している。出力部１６０は、少なくとも上述したモーションセンサ１１０により取得されたセンサデータや地磁気センサ１２０により取得された磁気データ等に基づいて生成される、ユーザの運動状態や移動軌跡等に関する情報や、後述する角速度センサ１１２のオフセット値の補正の実行状態に関する情報等の、各種の情報を視覚や聴覚、触覚等を通してユーザに提供又は報知する。
【００２３】
演算回路部１７０は、計時機能を備えたＣＰＵ（中央演算処理装置）やＭＰＵ（マイクロプロセッサ）等の演算処理装置（コンピュータ）であって、動作クロックに基づいて、所定の制御プログラムやアルゴリズムプログラムを実行する。これにより、演算回路部１７０は、モーションセンサ１１０や地磁気センサ１２０等におけるセンシング動作や、センサデータ基づいてユーザの運動状態や移動軌跡等に関する情報を生成する動作、後述する角速度センサ１１２のオフセット値の補正処理等の、各種の動作を制御する。なお、角速度センサ１１２のオフセット値補正方法については、詳しく後述する。
【００２４】
メモリ部１８０は、上述したモーションセンサ１１０や地磁気センサ１２０、演算回路部１７０等において取得されたり生成（算出）されたりしたデータ等を、時間データに関連付けて所定の記憶領域に保存する。また、メモリ部１８０は、演算回路部１７０において実行される角速度センサ１１２のオフセット値の補正処理により生成される各種のデータを所定の記憶領域に保存する。また、メモリ部１８０は、演算回路部１７０において実行される制御プログラムやアルゴリズムプログラムを保存する。なお、これらのプログラムは、演算回路部１７０に予め組み込まれているものであってもよい。また、メモリ部１８０は、その一部又は全部が、例えばメモリカード等のリムーバブル記憶媒体としての形態を有し、電子機器１００に対して着脱可能に構成されているものであってもよい。
【００２５】
電源供給部１９０は、電子機器１００内部の各構成に駆動用電力を供給する。電源供給部１９０は、例えば市販のボタン型電池等の一次電池や、リチウムイオン電池等の二次電池、あるいは、振動や光、熱、電磁波等のエネルギーにより発電する環境発電技術による電源等を、単独で、あるいは、併用して適用することができる。
【００２６】
（電子機器のセンサ較正方法）
次に、第１の実施形態に係る電子機器におけるセンサ較正方法（角速度センサのオフセット値補正方法）について、図面を参照して説明する。ここで、以下に示す電子機器１００のセンサ較正方法（図３に示すフローチャート）は、上述した演算回路部１７０が所定の制御プログラム及びアルゴリズムプログラムに従って処理を実行することにより実現される。
【００２７】
図３は、本実施形態に係る電子機器におけるセンサ較正方法の一例を示すフローチャートである。図４は、本実施形態に適用される座標変換処理を示す概念図であり、図５は、本実施形態に適用される座標変換後のＸ′軸及びＹ′軸における地磁気センサの出力波形の例を示す波形図である。図６は、本実施形態に適用される特徴点検出処理における地磁気センサの回転角度を示す概略図である。
【００２８】
本実施形態に係る電子機器１００のセンサ較正方法においては、まず、電子機器１００が起動すると、少なくとも角速度センサ１１２及び加速度センサ１１４を含むモーションセンサ１１０や、地磁気センサ１２０、温度センサ１３０によるセンシング動作が実行される。そして、この状態で所定の条件が設定されることにより、演算回路部１７０は、図３のフローチャートに示すような角速度センサ１１２のオフセット値の補正方法に係る一連の処理動作を開始する。
【００２９】
ここで、一連のオフセット値補正処理を開始するための条件（トリガー）としては、例えば温度センサ１３０により予め設定された温度変化（例えば、±１０℃以上の変化）が検出された時点であってもよいし、電子機器１００が起動して角速度センサ１１２がセンシング動作を開始した時点であってもよい。また、他の条件として、モーションセンサ１１０や地磁気センサ１２０等により電子機器１００、又は、電子機器１００を携帯又は装着したユーザの動作（厳密には、地磁気センサ１２０の向きの変化）が検出された時点であってもよい。さらに他の条件として、上述したプログラムにおいて予め設定された一定時間の経過ごとに、定期的にオフセット値補正処理を開始するものであってもよいし、ユーザが入力操作部１５０（操作スイッチ１５２やタッチパネル１５４等）を意図的に操作することにより、任意のタイミングで開始するものであってもよい。
【００３０】
演算回路部１７０は、角速度センサ１１２のオフセット値補正処理を開始すると、モーションセンサ１１０（角速度センサ１１２、加速度センサ１１４）及び地磁気センサ１２０から出力される各検出値を取得して、センサデータとしてメモリ部１８０に保存する（ステップＳ１０２）。
【００３１】
次いで、演算回路部１７０は、加速度センサ１１４の検出値（加速度データ）から重力方向を推定する（ステップＳ１０４）。具体的には、加速度センサ１１４により取得された加速度データから重力加速度成分を抽出して重力方向を推定する場合、ユーザの動作に起因する運動加速度成分はノイズと考えることができるので、加速度データを例えばローパスフィルタ（ＬＰＦ）を通過させることにより直流（ＤＣ）成分のみを抽出すると、重力加速度成分のみが得られ、重力方向が推定される。
【００３２】
次いで、演算回路部１７０は、加速度データにより推定された重力方向に基づいて、地磁気センサ１２０の検出値（磁気データ）から磁北方向を推定する（ステップＳ１０６）。具体的には、演算回路部１７０は、まず、図４（ａ）に示すように、加速度センサ１１４の座標系（Ｘ、Ｙ、Ｚ軸からなるセンサ座標系）で取得された加速度データに基づく出力ベクトル（図中、「加速度センサ出力」と表記）を、図４（ｂ）に示すように、重力方向を基準とするベクトル（０,０,｜Ｇ｜)となるＸ′、Ｙ′、Ｚ′軸からなる座標系（便宜的に「重力座標系」と記す）に変換する。ここで、図４（ａ）のセンサ座標系は、電子機器１００に搭載されたモーションセンサ１１０の動きとともに移動する座標であり、加速度センサ出力は、加速度センサ１１４により取得された加速度データから運動加速度成分を除いた出力ベクトルであって、重力方向を示している。また、図４（ｂ）の｜Ｇ｜は加速度データの出力ベクトルの大きさに対応する。また、座標変換後の重力座標系における重力方向Ｚ′は、例えば、加速度センサ１１４により一定期間収集した加速度データの平均をベクトルとして算出する手法によっても導出される。なお、上記の座標変換処理としては、例えばアフィン変換公式等の周知の手法を適用することができる。
【００３３】
次いで、演算回路部１７０は、上述した加速度データにおける座標変換と同様の座標変換処理を磁気データに施すことにより、図４（ｂ）に示すように、磁気データの出力ベクトル（図中、「地磁気センサ出力」と表記）を、鉛直方向成分（重力座標系の重力方向Ｚ′の成分）と、水平方向成分（重力座標系のＸ′−Ｙ′平面内の成分）に分解する。この水平方向成分は磁北（磁極）方向に相当し、地球上の地点ごとに所定の偏角を加味して回転させることにより真北方向が求められる。
【００３４】
次いで、演算回路部１７０は、重力座標系における磁気データの水平方向成分について、図５に示すように、Ｘ′軸又はＹ′軸の検出値が最大値又は最小値となる特徴点を検出する特徴点検出処理を実行し、２点以上の特徴点を検出したか否かを判定する（ステップＳ１０８）。具体的には、ステップＳ１０６において鉛直方向成分と水平方向成分とに分解した磁気データについて、重力軸（図４（ｂ）の重力座標系のＺ′軸）を中心軸にして、重力軸に垂直なＸ′−Ｙ′平面内で、磁気データの水平方向成分を一周（３６０度回転）させた場合の、Ｘ′軸及びＹ′軸における出力成分（検出値）の波形は、例えば図５のように示される。ここで、磁気データの水平方向成分を、重力軸を中心にして回転させる手法としては、例えばユーザが電子機器１００を携帯又は装着して所定の角度（例えば３６０°）回転する手法や、ユーザが電子機器１００を携帯又は装着して周回コースを移動する手法、ユーザが机上等に電子機器１００を置いた状態で所定の角度回転させる手法等を適用することができる。
【００３５】
なお、この特徴点検出処理は、後述するように、磁気データの水平方向成分に含まれる複数の特徴点を検出するためのものであるので、必ずしも地磁気センサ１２０を一回転させる必要はなく、図５に示した波形において、少なくとも２点以上の特徴点を含む範囲で、Ｘ′軸及びＹ′軸の角度の変化を生じさせる角度だけ回転させるものであればよい。したがって、例えばユーザが電子機器１００を携帯又は装着している状態では、ユーザが特に意識することなく日常的な動作や任意の運動等を行うことによっても、２点以上の特徴点を含む範囲の角度（少なくとも９０°以上）の変化を良好に生じさせることができる。すなわち、電子機器１００における特別な操作やユーザによる特別な動作を必要とすることなく、バックグラウンドでの処理により磁気データのＸ′軸及びＹ′軸における出力成分の波形を取得することができる。
【００３６】
図５に示した磁気データのＸ′軸及びＹ′軸における出力成分の波形において、Ｘ′軸又はＹ′軸が磁北方向を向いた状態（例えばＸ′軸が９０°、Ｙ′軸が３６０°）では、当該出力成分に最大値が得られ、一方、Ｘ′軸又はＹ′軸が磁北方向と逆向き（磁南方向）を向いた状態（例えばＸ′軸が２７０°、Ｙ′軸が１８０°）では、最小値が得られる。ここで、Ｘ′軸とＹ′軸は位相差が９０°であるので、Ｘ′軸における出力成分が最大値を得る付近ではＹ′軸における出力成分は単調に減少し、また、Ｘ′軸における出力成分が最小値を得る付近ではＹ′軸における出力成分は単調に増加する。本実施形態においては、このようなＸ′軸又はＹ′軸における出力成分が最大値又は最小値となる点（図中、丸印で表記）を特徴点と定義して、特徴点検出処理において、Ｘ′軸及びＹ′軸の角度の変化に応じて特徴点を順次検出する。検出された特徴点は、メモリ部１８０の所定の記憶領域に保存される。これにより、２点以上の特徴点を検出することにより、Ｘ′軸及びＹ′軸における出力成分の回転角度（例えば９０°）を正確に求めることができる。
【００３７】
そして、ステップＳ１０８において、図５に示したＸ′軸又はＹ′軸における出力成分の波形に、２点以上の特徴点が検出されない場合（ステップＳ１０８のＮｏ）には、演算回路部１７０は、ステップＳ１０２に戻ってモーションセンサ１１０（角速度センサ１１２、加速度センサ１１４）及び地磁気センサ１２０から出力される各検出値を取得する動作を実行する。一方、ステップＳ１０８において、Ｘ′軸又はＹ′軸における出力成分に２点以上の特徴点が検出された場合（ステップＳ１０８のＹｅｓ）には、演算回路部１７０は、当該特徴点に基づいて回転角度（第１の回転角度）θz_magを検出する（ステップＳ１１０）。ここで、図６（ａ）〜（ｃ）に示すように、２点の特徴点が検出された時点での、Ｘ′、Ｙ′、Ｚ′の各軸周りの地磁気センサの回転角度を、それぞれθx_mag、θy_mag、θz_magと規定する。ステップＳ１１０においては、図６（ａ）に示した地磁気センサのＺ′軸周りの回転角度θz_magが特徴点検出面（Ｘ′−Ｙ′平面）における回転角度として検出される。すなわち、加速度センサ１１４及び地磁気センサ１２０により取得されたセンサデータに基づいて特徴点検出処理により２点の特徴点間の回転角度θz_magが検出される。
【００３８】
次いで、演算回路部１７０は、ステップＳ１０８の特徴点検出処理において上記の回転角度θz_magを検出した特徴点検出区間Δｔについて、角速度センサ１１２の検出値（角速度データ）から回転角度（第２の回転角度）θz_gyroを算出する（ステップＳ１１２）。具体的には、演算回路部１７０は、まず、角速度センサ１１２の検出値を、図４に示した磁気データに施した座標変換処理と同様の手法により、重力方向を基準とするＸ′、Ｙ′、Ｚ′軸からなる座標系（重力座標系）に変換する。そして、演算回路部１７０は、図５に示した地磁気センサ１２０の検出値（磁気データ）から２点以上の特徴点を検出した各時刻の時間差（特徴点検出区間Δｔ）について、座標変換後の角速度センサ１１２の検出値を時間積分することにより回転角度θz_gyroを算出する。ここで、図６（ｄ）〜（ｆ）に示すように、特徴点が検出された時点での、Ｘ′、Ｙ′、Ｚ′の各軸周りの角速度センサの回転角度を、それぞれθx_gyro、θy_gyro、θz_gyroと規定する。ステップＳ１１２においては、ステップＳ１１０と同様に、図６（ｄ）に示した角速度センサのＺ′軸周りの回転角度θz_gyroが特徴点検出面（Ｘ′−Ｙ′平面）における回転角度として検出される。すなわち、角速度センサ１１２により取得された角速度データに基づいて特徴点検出区間Δｔの回転角度θz_gyroが算出される。ここで、角速度センサ１１２からの検出値（角速度データ）に温度変化に起因する所定のオフセット値が含まれている場合には、角速度センサ１１２の検出値を時間積分して算出される回転角度θz_gyroは、ステップＳ１１０において、特徴点検出処理により検出された回転角度θz_magとは必然的に異なる数値が得られることになる。なお、本実施形態における角速度センサの回転角度θx_gyro、θy_gyro、θz_gyroは、角速度センサ１１２の検出値を時間積分して算出されるものであるため、上記の図６（ａ）〜（ｃ）に示した地磁気センサの回転角度の場合と同等の表記をすることは厳密には適切ではないが、図６（ｄ）〜（ｆ）のように概念的に示すことにより適切に理解することが可能になる。
【００３９】
次いで、演算回路部１７０は、上記の回転角度θz_magと回転角度θz_gyroとを比較し（ステップＳ１１４）、回転角度θz_magと回転角度θz_gyroとの差分となる角度Δθzが予め設定された閾値α以上か否かを判定する（ステップＳ１１６）。回転角度θz_magと回転角度θz_gyroとの差が閾値αよりも小さい場合（ステップＳ１１６のＮｏ）には、演算回路部１７０は、角速度センサ１１２のオフセット値に変化が生じていない、あるいは、その変化が許容範囲内であると判定して、ステップＳ１０２に戻ってモーションセンサ１１０（角速度センサ１１２、加速度センサ１１４）及び地磁気センサ１２０から出力される各検出値を取得する動作を実行する。一方、ステップＳ１１６において、回転角度θz_magと回転角度θz_gyroとの差分角度Δθzが閾値α以上の場合（ステップＳ１１６のＹｅｓ）には、演算回路部１７０は、角速度センサ１１２がオフセット値の変化により本来の角速度の値（真の値）からずれた角速度を検出したと判定して、Ｘ′、Ｙ′、Ｚ′の各軸周りのオフセット値を算出する（ステップＳ１１８）。
【００４０】
なお、ステップＳ１１６において、回転角度θz_magと回転角度θz_gyroとの差分角度Δθzの大きさを比較する対象となる閾値αは、角速度センサ１１２のオフセット値を高い精度で算出する必要がある場合には、例えば±５°程度の角度範囲に設定され、オフセット値を比較的低い精度で算出する場合には、例えば±１０°程度の角度範囲に設定される。なお、閾値αの角度範囲は、上記の数値に限定されるものではなく、角速度データを使用するアプリケーションが要求する精度や角速度センサ１１２の検出特性等に応じて、適宜設定されるものである。
【００４１】
また、回転角度θz_magと回転角度θz_gyroとの差分角度Δθzは、角速度センサ１１２において特徴点検出区間Δｔの間に経時的に累積したオフセット分（オフセット値）に相当する。そこで、演算回路部１７０は、Ｘ′、Ｙ′、Ｚ′の各軸について、次式に示すように、角速度センサ１１２により取得される磁気データに生じているオフセット値を算出する。
Ｘ′軸周り：（θx_gyro−θx_mag）／Δｔ
Ｙ′軸周り：（θy_gyro−θy_mag）／Δｔ
Ｚ′軸周り：（θz_gyro−θz_mag）／Δｔ
【００４２】
すなわち、Ｘ′、Ｙ′、Ｚ′の各軸のオフセット値は、角速度センサ１１２のセンサデータに基づいて算出された各回転角度θx_gyro、θy_gyro、θz_gyro（「θgyro」と総称する）から、特徴点検出処理により取得された、各軸に対応する角回転角度θx_mag、θy_mag、θz_mag（「θmag」と総称する）を減算した差分（単位［deg］）を、特徴点検出区間Δｔ（単位［sec］）により除算することにより算出される。この場合、算出されたオフセット値の単位は、［dps］で表される。算出されたオフセット値は、メモリ部１８０の所定の記憶領域に上書き保存（更新）されることにより補正され（ステップＳ１２０）、角速度センサ１１２により取得される角速度データのオフセット補正の際に適用される。その後、演算回路部１７０は、角速度センサ１１２のオフセット値補正処理を終了する判断をするまで（ステップＳ１２２のＹｅｓ）、ステップＳ１０２に戻って、上述した一連の処理動作を繰り返し実行する。
【００４３】
なお、図３に示したフローチャートにおいては図示を省略したが、演算回路部１７０は、上述した一連の処理動作の実行中、処理動作を中断又は終了させる入力操作や動作状態の変化を常時監視して、当該入力操作や状態変化を検出した場合には、処理動作を強制的に終了する。具体的には、演算回路部１７０は、ユーザによる動作電源の遮断操作や、電源供給部１９０における電池残量の低下、実行中の機能やアプリケーションの異常等を検出して、一連の処理動作を強制的に中断して終了する。
【００４４】
これにより、演算回路部１７０は、例えば電子機器１００を携帯又は装着したユーザの運動状態や移動軌跡等に関連する各種のアプリケーションを実行する際に、角速度センサ１１２により取得された角速度データの各軸の出力成分に対して、上述した角速度センサ１１２のオフセット値補正処理により補正された最新（直近）のオフセット値を相殺する演算処理（オフセット補正）を行う。ここで、角速度センサのオフセット値の変化は、一般に時間の経過に対して略比例する、ＤＣ（直流）成分的な特徴を有しているので、演算回路部１７０は、角速度センサ１１２の検出値（角速度データ）により求められる角度から、上記の角速度データに基づいて算出された各回転角度θgyroから特徴点検出処理により取得された各回転角度θmagとの各差分角度Δθを減算することにより、本来の角速度の値（真の値）を導出することができる。
【００４５】
このように、本実施形態においては、地磁気センサにより取得された磁気データ（地磁気センサ出力）に対して、センサ座標系を加速度センサにより取得された加速度データ（加速度センサ出力）に基づく重力座標系に変換する処理を施し、磁気データを鉛直成分と水平成分とに分解する。そして、磁気データの水平成分から磁北方向を決定する特徴点を２点以上検出し、重力軸であるＺ′軸周りの回転角度θz_magを検出する。また、角速度センサ１１２により取得された角速度データに対して、上記と同様の座標変換処理を施して、磁気データにおいて２点の特徴点を検出した区間Δｔにおいて回転角度θz_gyroを算出する。そして、特徴点検出処理により検出された回転角度θz_magと角速度データに基づいて算出された回転角度θz_gyroとの差分角度Δθzが所定の閾値α以上である場合には、重力座標系における各軸周りのオフセット値が算出される。ここで、角速度データに基づいて算出された回転角度θz_gyroと、特徴点検出処理により取得された回転角度θz_magとの差分角度Δθが、角速度センサ１１２において経時的に累積したオフセット分（オフセット値）として算出される。そして、角速度センサ１１２により取得された角速度データに対して、算出されたオフセット値を相殺する演算処理を行うことにより、ユーザの身体の動きに応じて電子機器１００に生じる移動方向の変化（角速度）が算出される。
【００４６】
したがって、本実施形態に係る電子機器においては、角速度センサのオフセット値補正処理を実行（開始）する際や、特徴点検出処理に基づいて角速度センサのオフセット値を補正する際の判断処理を含む一連の処理動作を、ユーザが特に意識することなく日常の自然な動作や任意の運動等を行うことにより、オフセット値を自動で適切に補正することができ、正確な角速度を取得することができる。
【００４７】
また、電子機器１００を強い磁場が存在する環境で使用した場合、方位検出手段である地磁気センサ１２０の近傍に配置された金属パッケージの電子部品等が着磁してしまうことにより、地磁気センサ１２０から出力される検出値に基づいて算出される方位は、当該磁場の影響を受けて正確な方位とは異なってしまうことになる。これに対して、本実施形態においては、地磁気センサ１２０を回転させたときに検出される２点以上の特徴点に基づく回転角度を用いて角速度センサ１１２のオフセット値を算出する手法を有しているので、地磁気センサ１２０の着磁の有無（すなわち、地磁気センサ１２０のオフセット異常）や地磁気センサ１２０により算出される方位の精度（正確さ）に影響されることなく、オフセット値を適切に補正することができる。
【００４８】
なお、本実施形態においては、電子機器１００として、温度センサ１３０と通信機能部１４０を備えた構成を示したが、本発明はこれに限定されるものではない。すなわち、上述したように、図３のフローチャートに示した角速度センサ１１２のオフセット値補正方法を実行するための条件（トリガー）として、温度変化を検出する手法を適用する場合には、温度センサ１３０は必須であるが、温度変化を検出する手法以外の手法を適用する場合には、電子機器１００は、温度センサ１３０を備えていない構成であってもよい。また、電子機器１００が、モーションセンサ１１０や地磁気センサ１２０等により取得されたセンサデータや、当該センサデータに基づいて生成される各種の情報を、電子機器１００の外部の機器やネットワークに送受信する形態を有する場合には、通信機能部１４０は必須であるが、各種の情報を電子機器１００の外部に送受信しない形態の場合には、電子機器１００は、通信機能部１４０を備えていない構成であってもよい。
【００４９】
（変形例）
上述した第１の実施形態に係る電子機器のセンサ較正方法（角速度センサのオフセット値補正方法）は、次に示すような変形例を適用することができる。すなわち、上述した実施形態においては、加速度センサ１１４及び地磁気センサ１２０により取得されたセンサデータに基づいて、磁気データの水平方向成分に含まれる特徴点を検出し、２点以上の特徴点が検出されるまで図３に示したフローチャートのステップＳ１０２〜Ｓ１０８の処理動作を繰り返し実行する手法を有している。この手法においては、電子機器１００を携帯又は装着したユーザが動作していない場合や、角速度センサ１１２のオフセット値が変化していない場合に、上記のステップＳ１０２〜Ｓ１０８の処理動作が繰り返し実行されてしまう可能性がある。
【００５０】
そこで、第１の変形例においては、上記のステップＳ１０８における特徴点検出処理において、演算回路部１７０は、ステップＳ１０２〜Ｓ１０８の処理動作を繰り返し実行する際の時間経過、又は、角速度センサ１１２周辺の温度変化のうちの、少なくともいずれか一方を監視し、所定の時間経過を検出した場合や、温度変化を検出しない場合には、角速度センサ１１２のオフセット値補正処理を終了する。ここで、処理動作の繰り返し時間の経過（タイムアウト）は、例えば演算回路部１７０に備えられた計時機能（ＣＰＵタイマー）により計測される。また、角速度センサ１１２周辺の温度変化は、例えば図２に示した温度センサ１３０により検出される。なお、上記のオフセット値補正処理の終了後、温度センサ１３０により所定の温度変化（例えば、±１０℃以上の変化）が検出された場合には、演算回路部１７０は、図３に示したオフセット値補正処理を再度開始する。
【００５１】
また、第２の変形例においては、演算回路部１７０は、上記のステップＳ１０２において取得される加速度データや磁気データを監視し、加速度データ及び磁気データに基づいてユーザが動作していない状態（動作が微小な状態を含む）や、静止状態にあると判定した場合には、ステップＳ１０８において２点以上の特徴点が検出される確率が低いため、モーションセンサ１１０及び地磁気センサ１２０によりセンサデータを取得する動作を継続する。ここで、演算回路部１７０は、ステップＳ１０２の処理動作が所定の時間継続した場合には、角速度センサ１１２のオフセット値補正処理を終了する。この場合、オフセット値補正処理の終了に先立って、あるいは、終了時に、出力部１６０を介して、オフセット値補正を適切に実行するために、ユーザに所定の動作を促す旨の情報や、オフセット値補正を終了する旨の情報等を提供又は報知するものであってもよい。一方、加速度データ及び磁気データに基づいてユーザが動作していると判定した場合には、ステップＳ１０８において２点以上の特徴点が検出される確率が高くなるため、演算回路部１７０は、ステップＳ１０４の処理動作を実行する。
【００５２】
このように、上記の各変形例を第１の実施形態に適用することにより、角速度センサ１１２のオフセット値補正方法における、無駄な処理動作の実行を抑制して電力の無駄な消費を抑制することができるとともに、オフセット値補正処理を適切に実行することができる。
【００５３】
さらに、上述した実施形態及び第２の変形例においては、モーションセンサ１１０や地磁気センサ１２０のセンサデータを監視することにより判定されるユーザの動作状態（ユーザが動作しているか否か）を、オフセット値補正処理を開始するための条件（トリガー）や、ステップＳ１０２〜Ｓ１０８の処理動作の有効性（すなわち、特徴点検出処理において特徴点が検出される確率）の判断に使用する手法を有している。この手法においては、例えばユーザは動作しているものの、電子機器１００を継続的に回転させていない場合のように、ユーザの動作状態によっては、上記のステップＳ１０８において２点以上の特徴点を検出することができない場合が発生する可能性がある。
【００５４】
そこで、第３の変形例においては、演算回路部１７０は、モーションセンサ１１０や地磁気センサ１２０のセンサデータに基づいて、ユーザの動作状態をより詳細に判定する。具体的には、演算回路部１７０は、ユーザが曲がり角を曲がったり周回コースを移動したりすることにより、進行方向が所定の角度（少なくとも９０°）以上変化する動作を検知した場合や、電子機器１００を継続的に回転させる動作を検知した場合に、オフセット値補正処理を開始したり、ステップＳ１０２〜Ｓ１０８の処理動作が有効であると判断したりする。すなわち、演算回路部１７０は、地磁気センサ１２０の向きを変化させて所定の角度以上回転させる動作が行われた場合に、上記のステップＳ１０８において２点以上の特徴点を有効に検出することができるものと判定する。
【００５５】
このように、第３の変形例を第１の実施形態に適用することにより、上記のステップＳ１０８において２点以上の特徴点を有効かつ確実に検出することができるので、無駄な処理動作の実行を抑制して電力の無駄な消費をさらに抑制することができるとともに、オフセット値補正処理をより適切に実行することができる。
【００５６】
なお、上記の各変形例は、第１の実施形態に個別に適用するものであってもよいし、複数の変形例を任意に組み合わせて第１の実施形態に適用するものであってもよい。例えば、前回のオフセット値の補正処理の実行から相当の時間が経過している場合や、温度センサ１３０により所定の温度変化を検知した場合には、演算回路部１７０は、ユーザの動作状態を監視して、例えば曲がり角を曲がる動作（進行方向が変化する動作）を検知した場合に、図３に示したオフセット値補正処理を実行する。これにより、無駄な処理動作の実行を抑制しつつ、オフセット値を自動で適切に補正することができ、正確な角速度を取得することができる。
【００５７】
＜第２の実施形態＞
次に、本発明の第２の実施形態に係る電子機器及びセンサ較正方法について、図面を参照して説明する。ここで、上述した第１の実施形態と同等の構成及び方法については、その説明を簡略化する。
【００５８】
上述した第１の実施形態及びその変形例においては、磁気データにおける特徴点検出処理により検出された回転角度θz_magと、角速度データに基づいて算出された回転角度θz_gyroとの差分角度Δθzに基づいて、角速度センサ１１２のオフセット値を算出し、算出されたオフセット値を用いて、角速度センサ１１２により取得された角速度データをオフセット補正することにより、本来の角速度の値（真の値）を導出する手法について説明した。第２の実施形態においては、所定の温度変化ごとに、第１の実施形態に示した角速度センサ１１２のオフセット値補正処理を適用して算出されたオフセット値を、各温度範囲に対応付けてテーブルデータとして保持することを特徴としている。
【００５９】
第２の実施形態に係る電子機器１００は、上述した第１の実施形態に示した各機能ブロック（図２参照）において、温度センサ１３０を必須の構成として備えるとともに、メモリ部１８０の所定の記憶領域に、後述するオフセットテーブルが保存されている。また、電子機器１００に備えられる演算回路部１７０は、上述した第１の実施形態と同様に、磁気データにおける特徴点検出処理により検出された回転角度θz_magと、角速度データに基づいて算出された回転角度θz_gyroとの差分角度Δθzに基づいて、角速度センサ１１２のオフセット値を算出する機能に加え、算出されたオフセット値を現在の温度の温度範囲に対応付けて、メモリ部１８０のオフセットテーブルに登録、保持する機能を有している。そして、演算回路部１７０は、温度センサ１３０により検出された温度変化に基づいて、第１の実施形態及びその変形例に示したオフセット値補正処理に基づいて算出されたオフセット値、又は、現在の温度の温度範囲に対応付けてオフセットテーブルに登録されたオフセット値のいずれかを用いて、本来の角速度の値（真の値）を導出する演算処理を実行する。
【００６０】
次に、本実施形態に係る電子機器におけるセンサ較正方法（角速度センサのオフセット値補正方法）について、図面を参照して説明する。ここで、以下に示す電子機器１００のセンサ較正方法（図７に示すフローチャート）も第１の実施形態と同様に、演算回路部１７０が所定の制御プログラム及びアルゴリズムプログラムに従って処理を実行することにより実現される。
【００６１】
図７は、本実施形態に係る電子機器におけるセンサ較正方法の一例を示すフローチャートである。図８は、本実施形態に適用されるオフセットテーブルの一例を示す概略図である。
【００６２】
本実施形態に係る電子機器１００のセンサ較正方法においては、例えば図７のフローチャートに示すように、まず、電子機器１００が起動すると、演算回路部１７０は、少なくとも温度センサ１３０によるセンシング動作を開始して、温度センサ１３０から出力される検出値（温度データ）を取得してメモリ部１８０の所定の記憶領域に保存する（ステップＳ２０２）。そして、演算回路部１７０は、メモリ部１８０に保存されたオフセットテーブルを参照して、温度センサ１３０により取得された現在の温度が属する温度範囲（具体的には、基準温度に対する温度変化により現在の温度が属する温度範囲）において、上述した第１の実施形態に示したオフセット値補正処理に基づいて算出されたオフセット値が既に登録されているか（取得済みか）否かを判定する（ステップＳ２０４）。
【００６３】
ここで、オフセットテーブルは、例えば図８に示すように、予め設定された基準温度に対して高温（温度上昇）側及び低温（温度下降）側に例えば１０℃ごとの温度範囲・・・−２０〜−１０℃、−１０〜０℃、０〜＋１０℃、＋１０〜＋２０℃、・・・を規定して、各温度範囲に対して第１の実施形態に示したオフセット値補正処理に基づいて算出されたオフセット値が登録されている。なお、オフセットテーブルは、電子機器１００の初期状態（初回起動時）においては、全ての温度範囲に対応するオフセット値が未登録（ブランク）の状態に設定され、また、次回以降の電子機器１００の起動時には前回までに登録されたオフセット値が保持されている。また、オフセットテーブルに設定される温度範囲は、オフセット補正された角速度データを使用するアプリケーションが要求する精度や角速度センサ１１２の検出特性等に応じて、その分解能（温度範囲の幅）が決定される。
【００６４】
そして、ステップＳ２０４において、オフセットテーブルの現在の温度に対応する温度範囲において、オフセット値補正処理に基づいて算出されたオフセット値が登録されていない場合（ステップＳ２０４のＮｏ）には、演算回路部１７０は、上述した第１の実施形態と同様のオフセット値補正処理（図３のフローチャート参照）を開始する。ここで、図７のフローチャートに示したステップＳ２０６〜Ｓ２２２の各処理動作は、それぞれ、図３のフローチャートに示したステップＳ１０２〜Ｓ１１８の各処理動作に対応する。また、本実施形態においては、図７のフローチャートに示した各処理動作に限定されるものではなく、上述した第１の実施形態の変形例を適用した処理動作を実行するものであってもよい。
【００６５】
角速度センサ１１２のオフセット値補正処理（ステップＳ２０６〜Ｓ２２２）においては、上述した第１の実施形態と同様に、磁気データにおける特徴点検出処理により検出された回転角度θz_magと、角速度データに基づいて算出された回転角度θz_gyroとの差分角度Δθzに基づいて、角速度センサ１１２のオフセット値が算出される。算出されたオフセット値は、基準温度に対する温度変化により現在の温度が属する温度範囲に対応付けて、オフセットテーブルに登録することにより補正され（ステップＳ２２４、Ｓ２２６）、角速度センサ１１２により取得される角速度データのオフセット補正の際に適用される。その後、演算回路部１７０が、角速度センサ１１２のオフセット値補正処理を終了する判断をするまで（ステップＳ２２８のＹｅｓ）、ステップＳ２０２に戻って、上述した一連の処理動作が繰り返し実行される。
【００６６】
一方、ステップＳ２０４において、オフセットテーブルの現在の温度に対応する温度範囲に、オフセット値補正処理に基づいて算出されたオフセット値が既に登録されている場合（ステップＳ２０４のＹｅｓ）には、演算回路部１７０は、上述したステップＳ２０６〜Ｓ２２８の処理動作を実行することなく、オフセット値補正処理を終了する。すなわち、現在の温度に対応付けられてオフセットテーブルに既に登録されているオフセット値を用いて、角速度センサ１１２により取得される角速度データをオフセット補正することにより、本来の角速度の値（真の値）が導出される。
【００６７】
このように、本実施形態においては、一定の温度変化ごとに、第１の実施形態及びその変形例に示したオフセット値補正処理を実行して角速度センサ１１２のオフセット値を取得することにより、オフセット値が各温度範囲に対応付けてオフセットテーブルに登録されて保持される。これにより、上述した第１の実施形態に示した作用効果に加え、角速度センサ１１２に固有のオフセット値のバラツキ特性を、オフセットテーブルの形態で自動的に学習することができ、常に温度変化に応じた適切なオフセット値を用いて角速度データをオフセット補正することができ、正確な角速度を導出することができる。
【００６８】
なお、本実施形態においては、オフセットテーブルに設定される温度範囲として、一定の温度範囲（例えば１０℃）を規定した場合について説明したが、本発明はこれに限定されるものではない。すなわち、角速度データを使用するアプリケーションが要求する精度や角速度センサ１１２の検出特性等に応じて、例えば基準温度近傍の温度領域では温度範囲を狭く（例えば５℃）設定し、基準温度から十分離れた温度領域では広く（例えば１０℃）設定するものであってもよい。
【００６９】
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００７０】
（付記）
［１］
角速度データを取得する角速度センサと、
磁気データを取得する地磁気センサと、
前記角速度センサのオフセット値を算出する演算回路部と、
を備え、
前記演算回路部は、前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記オフセット値を算出することを特徴とする電子機器。
【００７１】
［２］
更に、加速度データを取得する加速度センサを備え、
前記演算回路部は、前記地磁気センサ及び前記角速度センサを、前記加速度データに基づいて推定される重力方向に設定される中心軸の回りに回転させたときに前記磁気データに基づいて検出される前記第１の回転角度と、前記角速度データに基づいて算出される前記第２の回転角度と、の比較に基づいて前記オフセット値を算出することを特徴とする［１］に記載の電子機器。
【００７２】
［３］
前記演算回路部は、
前記磁気データ及び前記角速度データを、前記重力方向を基準とする座標系に変換する座標変換処理を施し、
前記地磁気センサと前記角速度センサを前記中心軸の周りに回転させて、前記座標変換処理後の前記磁気データの前記重力方向に垂直な水平成分から地球の磁極方向を決定する特徴点が２点以上検出されたときの前記磁気データの水平成分の回転角度を前記第１の回転角度として検出し、前記磁気データにおいて前記２点以上の前記特徴点が検出されたときに前記座標変換処理後の前記角速度データに基づいて算出される回転角度を前記第２の回転角度として取得する、
ことを特徴とする［２］に記載の電子機器。
【００７３】
［４］
前記演算回路部は、前記磁気データの前記水平成分が最大値又は最小値となる角度方向を、前記特徴点として検出することを特徴とする［３］に記載の電子機器。
【００７４】
［５］
温度データを取得する温度センサをさらに備え、
前記演算回路部は、前記温度センサにより所定の温度変化が検出されたときに、前記オフセット値の算出を実行することを特徴とする［１］乃至［４］のいずれか一項に記載の電子機器。
【００７５】
［６］
前記演算回路部は、前記角速度センサ又は前記地磁気センサにより前記電子機器の動きが検出されたときに、前記オフセット値の算出を実行することを特徴とする［１］乃至［５］のいずれか一項に記載の電子機器。
【００７６】
［７］
前記演算回路部は、前記角速度センサ又は前記地磁気センサにより前記電子機器を所定の角度以上回転させる動作が行われたことが検出されたときに、前記オフセット値の算出を実行することを特徴とする［６］に記載の電子機器。
【００７７】
［８］
温度データを取得する温度センサと、
前記オフセット値を所定の温度範囲ごとに対応付けて保持するオフセットテーブルと、
をさらに備え、
前記演算回路部は、前記温度センサにより検出された温度が、前記オフセットテーブルに前記オフセット値が保持されていない前記温度範囲に属している場合に、前記磁気データに対して前記座標変換処理を施して２点以上の前記特徴点を検出し、前記角速度センサの前記オフセット値を算出し、前記オフセット値を、前記温度センサにより検出された温度が属する前記温度範囲に対応付けて前記オフセットテーブルに保持することを特徴とする［３］又は［４］に記載の電子機器。
【００７８】
［９］
電子機器のセンサ較正方法であって、
前記電子機器は、角速度データを取得する角速度センサと、磁気データを取得する地磁気センサと、を備え、
前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記角速度センサのオフセット値を算出する、
ことを特徴とする電子機器のセンサ較正方法。
【００７９】
［１０］
電子機器のセンサ較正プログラムであって、
前記電子機器は、角速度データを取得する角速度センサと、磁気データを取得する地磁気センサと、を備え、
前記地磁気センサ及び前記角速度センサを同じ角度だけ同時に回転させたときに前記磁気データに基づいて検出される第１の回転角度と、前記角速度データに基づいて算出される第２の回転角度と、の比較に基づいて前記角速度センサのオフセット値を算出させる、
ことを特徴とする電子機器のセンサ較正プログラム。
【符号の説明】
【００８０】
１００    電子機器
１１０    モーションセンサ
１１２    角速度センサ
１１４    加速度センサ
１２０    地磁気センサ
１３０    温度センサ
１４０    通信機能部
１７０    演算回路部
１８０    メモリ部
【図１】
2017049115.tif 000003
【図２】
2017049115.tif 000004
【図３】
2017049115.tif 000005
【図４】
2017049115.tif 000006
【図５】
2017049115.tif 000007
【図６】
2017049115.tif 000008
【図７】
2017049115.tif 000009
【図８】
2017049115.tif 000010