(57)【要約】【課題】補正タイミングを自己判定して角速度センサーのオフセット補正を行うことができるセンサー装置、電子機器及び角速度センサーのオフセット補正方法を提供すること。【解決手段】初期状態検出部２１０は、加速度センサーの出力に基づいて加速度を算出し、算出した加速度と重力加速度が略一致する状態を初期状態として検出する。角速度算出部２２０は、初期状態における姿勢情報に基づいて初期状態における各検出軸方向の軸ベクトルを算出し、当該軸ベクトルと各検出軸方向の加速度成分と当該加速度成分の時間変化とに基づいて任意の軸回りに回転する角速度を算出する。角速度判定部２３０は、角速度算出部２２０が算出した角速度が略０である場合に、角速度センサーに加わる角速度が０であると判定する。オフセット補正部４０は、角速度センサーに加わる角速度が０であると判定された時に、角速度センサーの出力のオフセットを補正する。【選択図】図５
2012037405.tif 000002
【特許請求の範囲】
【請求項１】
角速度センサーと、３つ以上の加速度センサーと、を含むセンサー装置であって、
前記加速度センサーの出力に基づいて、前記角速度センサーに加わる角速度が０であるか否かを判定する判定部と、
前記判定部により前記角速度が０であると判定された時に、前記角速度センサーの出力のオフセットを補正するオフセット補正部と、を含み、
前記判定部は、
前記加速度センサーの出力に基づいて当該センサー装置に加わる加速度を算出し、算出した加速度と重力加速度が略一致する状態を初期状態として検出する初期状態検出部と、
前記初期状態における当該センサー装置の姿勢情報に基づいて前記初期状態における各検出軸方向の軸ベクトルを算出し、当該軸ベクトルと各検出軸方向の加速度成分と当該加速度成分の時間変化とに基づいて当該センサー装置が任意の軸回りに回転する角速度を算出する角速度算出部と、
前記角速度算出部が算出した角速度が略０である場合に、前記角速度センサーに加わる角速度が０であると判定する角速度判定部と、を含む、センサー装置。
【請求項２】
請求項１において、
前記角速度判定部は、
前記角速度算出部が算出した角速度が略０の状態が所定時間継続した場合に、前記角速度センサーに加わる角速度が０であると判定する、センサー装置。
【請求項３】
請求項１において、
前記判定部は、
制御信号に応じて第１の判定モードと第２の判定モードを切り替える判定モード制御部と、
前記第１の判定モードでは、前記初期状態検出部が前記初期状態を検出した場合に前記角速度センサーに加わる角速度が０であると判定し、前記第２の判定モードでは、前記角速度算出部が算出した角速度が略０である場合に前記角速度センサーに加わる角速度が０であると判定する角速度判定部と、を含む、センサー装置。
【請求項４】
請求項３において、
前記角速度判定部は、
前記第１の判定モードでは、前記初期状態検出部が所定時間継続して前記初期状態を検出した場合に前記角速度センサーに加わる角速度が０であると判定し、前記第２の判定モードでは、前記角速度算出部が算出した角速度が略０の状態が所定時間継続した場合に前記角速度センサーに加わる角速度が０であると判定する、センサー装置。
【請求項５】
請求項１乃至４のいずれかのセンサー装置を含む、電子機器。
【請求項６】
角速度センサーと、３つ以上の加速度センサーと、を含むセンサー装置において、前記角速度センサーの出力のオフセットを補正する角速度センサーのオフセット補正方法であって、
前記加速度センサーの出力に基づいて、前記角速度センサーに加わる角速度が０であるか否かを判定する判定ステップと、
前記判定ステップで前記角速度が０であると判定された時に、前記角速度センサーの出力のオフセットを補正するオフセット補正ステップと、を含み、
前記判定ステップは、
前記加速度センサーの出力に基づいて前記センサー装置に加わる加速度を算出し、算出した加速度と重力加速度が略一致する状態を初期状態として検出する初期状態検出ステップと、
前記初期状態における前記センサー装置の姿勢情報に基づいて前記初期状態における各検出軸方向の軸ベクトルを算出し、当該軸ベクトルと各検出軸方向の加速度成分と当該加速度成分の時間変化とに基づいて前記センサー装置が任意の軸回りに回転する角速度を算出する角速度算出ステップと、
前記角速度算出ステップで算出した角速度が略０である場合に、前記角速度センサーに加わる角速度が０であると判定する角速度判定ステップと、を含む、角速度センサーのオフセット補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサー装置、電子機器及び角速度センサーのオフセット補正方法に関する。
【背景技術】
【０００２】
近年、角速度を検出するセンサーモジュールや姿勢角を検知する姿勢角検知ユニットを利用した様々なシステムや電子機器が利用されている。これらのシステムや電子機器では、ジャイロセンサー（角速度センサー）のバイアスオフセット（ゼロ点オフセット）を排除しなければ静止時に静止していることを正しく検出することができないため、性能を向上させる上で、このバイアスオフセットを如何にして排除するかが最も重要な課題になっている。
【０００３】
従来より、製品の製造時等にバイアスオフセットを計測し、製品に組み込まれた不揮発性の記憶素子等に補正データを書き込むことでバイアスオフセットを補正する手法や、製品の使用時に静止状態を検出してオフセットのキャリブレーションを行う手法が実現されている。前者の手法では、バイアスオフセットの初期ばらつきを補正することができるが、温度変動等によるユーザー使用時のバイアス変動に対応することができない。一方、後者の手法では、ユーザーの使用環境において生じているバイアスのオフセットを使用環境においてキャリブレーション補正することができる。そのため、製造時の補正からの変動分や、線形関数で補正しきれない温度変動分を補正することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０１９７５１号公報
【特許文献２】特許４３１４５６６号公報
【特許文献３】特許２８５７０９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、使用環境下でバイアスオフセットのキャリブレーションを行う手法は、いずれもアプリケーション機能に連動して行われるものであった。例えば、特許文献１の手法ではプレイヤが弓を引く瞬間、特許文献２の手法では掃除機の充電時や方向転換時、特許文献３の手法ではナビゲーション装置の起動時にキャリブレーションを行うなど、アプリケーション側でキャリブレーションを行うタイミングを決定している。つまり、アプリケーションに組み込まれたキャリブレーション補正アルゴリズムとして実現されており、センサーユニット単体ではキャリブレーションのタイミングを決定する機能を有するものではなかった。そのため、アプリケーションの開発者がキャリブレーション補正の適切なタイミングを熟慮し、補正アルゴリズムを作成する手間が発生していた。
【０００６】
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、補正タイミングを自己判定して角速度センサーのオフセット補正を行うことができるセンサー装置、電子機器及び角速度センサーのオフセット補正方法を提供することができる。
【課題を解決するための手段】
【０００７】
（１）本発明は、角速度センサーと、３つ以上の加速度センサーと、を含むセンサー装置であって、前記加速度センサーの出力に基づいて、前記角速度センサーに加わる角速度が０であるか否かを判定する判定部と、前記判定部により前記角速度が０であると判定された時に、前記角速度センサーの出力のオフセットを補正するオフセット補正部と、を含む、センサー装置である。
【０００８】
センサー装置が停止していれば角速度センサーに角速度が加わらないので、この時の角速度センサーの出力電圧が０点電圧になる。そのため、このタイミングであれば０点電圧のオフセットを適切に補正することができる。本発明によれば、加速度センサーの出力に基づいて角速度センサーに角速度が加わらないタイミングを検出することができるので、そのタイミングで自動的に角速度センサーのオフセットを補正することができる。すなわち、本発明によれば、アプリケーション機能によらずセンサー装置単体で角速度センサーのオフセットを補正することができる。そのため、このセンサー装置を使用すれば、従来の手法のようにアプリケーション側に補正アルゴリズムを実装する必要がなく、ユーザーに負荷をかけずに角速度センサーのゼロ点オフセットを補正することができる。
【０００９】
また、本発明によれば、使用環境下で角速度センサーのゼロ点の変動を検知して補正することができる。
【００１０】
（２）このセンサー装置において、前記判定部は、前記加速度センサーの各々の検出軸方向の加速度成分の時間変化に基づいて、前記角速度センサーに加わる角速度が０であるか否かを判定するようにしてもよい。
【００１１】
（３）このセンサー装置において、前記判定部は、前記加速度センサーの出力に基づいて当該センサー装置に加わる加速度を算出し、算出した加速度と重力加速度が略一致する状態を初期状態として検出する初期状態検出部と、前記初期状態における当該センサー装置の姿勢情報に基づいて前記初期状態における各検出軸方向の軸ベクトルを算出し、当該軸ベクトルと各検出軸方向の加速度成分と当該加速度成分の時間変化とに基づいて当該センサー装置が任意の軸回りに回転する角速度を算出する角速度算出部と、前記角速度算出部が算出した角速度が略０である場合に、前記角速度センサーに加わる角速度が０であると判定する角速度判定部と、を含むようにしてもよい。
【００１２】
このセンサー装置によれば、加速度センサーが検知できないような小さい遠心力が加わった場合でも、初期状態からの加速度成分の時間変化をモニターすることで、角速度センサーに加わる角速度を検知することができる。そのため、角速度センサーのオフセット補正を行うタイミングの判定精度を高めることができる。
【００１３】
（４）このセンサー装置において、前記角速度判定部は、前記角速度算出部が算出した角速度が略０の状態が所定時間継続した場合に、前記角速度センサーに加わる角速度が０であると判定するようにしてもよい。
【００１４】
このようにすれば、センサー装置に所定時間継続して角速度が加わっていないのか瞬時的に角速度が０となっただけなのかを区別し、前者の場合だけ角速度センサーのオフセット補正を行うようにすることができる。
【００１５】
（５）このセンサー装置において、前記判定部は、前記加速度センサーの出力に基づいて当該センサー装置に加わる加速度を算出する加速度算出部と、前記加速度算出部が算出した加速度と重力加速度が略一致する場合に、前記角速度センサーに加わる角速度が０であると判定する角速度判定部と、を含むようにしてもよい。
【００１６】
センサー装置が回転状態にあると、角速度センサーは角速度を検出するので、そのタイミングでは適切なオフセット補正を行うことができない。一方、センサー装置に遠心力が働けば、加速度センサーが遠心力により発生する遠心加速度を検出するため、その検出加速度は重力加速度と一致しない。そのため、このセンサー装置によれば、加速度センサーの検出加速度が重力加速度と一致するか否かを判定する簡便な演算処理により、遠心力が加わっていない適切なタイミングで角速度センサーのオフセットを補正することができる。
【００１７】
（６）このセンサー装置において、前記角速度判定部は、前記加速度算出部が算出した加速度と重力加速度が略一致する状態が所定時間継続した場合に、前記角速度センサーに加わる角速度が０であると判定するようにしてもよい。
【００１８】
このようにすれば、センサー装置に所定時間継続して遠心力が加わっていないのか瞬時的に遠心力が０となっただけなのかを区別し、前者の場合だけ角速度センサーのオフセット補正を行うようにすることができる。
【００１９】
（７）このセンサー装置において、前記判定部は、前記加速度センサーの出力に基づいて当該センサー装置に加わる加速度を算出し、算出した加速度と重力加速度が略一致する状態を初期状態として検出する初期状態検出部と、前記初期状態における当該センサー装置の姿勢情報に基づいて前記初期状態における各検出軸方向の軸ベクトルを算出し、当該軸ベクトルと各検出軸方向の加速度成分と当該加速度成分の時間変化とに基づいて当該センサー装置が任意の軸回りに回転する角速度を算出する角速度算出部と、制御信号に応じて第１の判定モードと第２の判定モードを切り替える判定モード制御部と、前記第１の判定モードでは、前記初期状態検出部が前記初期状態を検出した場合に前記角速度センサーに加わる角速度が０であると判定し、前記第２の判定モードでは、前記角速度算出部が算出した角速度が略０である場合に前記角速度センサーに加わる角速度が０であると判定する角速度判定部と、を含むようにしてもよい。
【００２０】
このようにすれば、このセンサー装置を使用するアプリケーションに応じて、第１の判定モードと第２の判定モードのいずれを使用するかで、角速度センサーのオフセット補正タイミングの判定精度を変更することができる。すなわち、第１の判定モードにすれば、遠心力の検出による簡易な判定になり、第２の判定モードにすれば、加速度センサーで検出できないような微小な遠心力が加わった場合でもセンサー装置に加わる角速度が０か否かを判定することができる。
【００２１】
（８）このセンサー装置において、前記角速度判定部は、前記第１の判定モードでは、前記初期状態検出部が所定時間継続して前記初期状態を検出した場合に前記角速度センサーに加わる角速度が０であると判定し、前記第２の判定モードでは、前記角速度算出部が算出した角速度が略０の状態が所定時間継続した場合に前記角速度センサーに加わる角速度が０であると判定するようにしてもよい。
【００２２】
このようにすれば、第１の判定モードでは、センサー装置に所定時間継続して遠心力が加わっていないのか瞬時的に遠心力が０となっただけなのかを区別し、前者の場合だけ角速度センサーのオフセット補正を行うようにすることができる。また、第２の判定モードでは、センサー装置に所定時間継続して角速度が加わっていないのか瞬時的に角速度が０となっただけなのかを区別し、前者の場合だけ角速度センサーのオフセット補正を行うようにすることができる。
【００２３】
（９）本発明は、上記のいずれかのセンサー装置を含む、電子機器である。
【００２４】
（１０）本発明は、角速度センサーと、３つ以上の加速度センサーと、を含むセンサー装置において、前記角速度センサーの出力のオフセットを補正する角速度センサーのオフセット補正方法であって、前記加速度センサーの出力に基づいて、前記角速度センサーに加わる角速度が０であるか否かを判定する判定ステップと、前記判定ステップで前記角速度が０であると判定された時に、前記角速度センサーの出力のオフセットを補正するオフセット補正ステップと、を含む、角速度センサーのオフセット補正方法である。
【００２５】
（１１）この角速度センサーのオフセット補正方法において、前記判定ステップは、前記加速度センサーの出力に基づいて前記センサー装置に加わる加速度を算出し、算出した加速度と重力加速度が略一致する状態を初期状態として検出する初期状態検出ステップと、前記初期状態における前記センサー装置の姿勢情報に基づいて前記初期状態における各検出軸方向の軸ベクトルを算出し、当該軸ベクトルと各検出軸方向の加速度成分と当該加速度成分の時間変化とに基づいて前記センサー装置が任意の軸回りに回転する角速度を算出する角速度算出ステップと、前記角速度算出ステップで算出した角速度が略０である場合に、前記角速度センサーに加わる角速度が０であると判定する角速度判定ステップと、を含むようにしてもよい。
【図面の簡単な説明】
【００２６】
【図１】第１実施形態のセンサー装置の概略構成図。
【図２】第１実施形態のオフセット補正処理を行うタイミングの判定原理について説明するための図。
【図３】第１実施形態のオフセット補正処理の第１の例を示すフローチャート図。
【図４】第１実施形態のオフセット補正処理の第２の例を示すフローチャート図。
【図５】第２実施形態のセンサー装置の概略構成図。
【図６】Ｚ−Ｘ−Ｚ系のオイラー角について説明するための図。
【図７】第２実施形態のオフセット補正処理の第１の例を示すフローチャート図。
【図８】第２実施形態のオフセット補正処理の第２の例を示すフローチャート図。
【図９】第３実施形態のセンサー装置の概略構成図。
【図１０】第３実施形態のオフセット補正処理の第１の例を示すフローチャート図。
【図１１】第３実施形態のオフセット補正処理の第２の例を示すフローチャート図。
【図１２】本実施形態の電子機器の構成例を示す機能ブロック図。
【発明を実施するための形態】
【００２７】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００２８】
１．センサー装置
（１）第１実施形態
［構成］
図１は、第１実施形態のセンサー装置の概略構成図である。
【００２９】
図１に示すように、第１実施形態のセンサー装置１Ａは、３つの加速度センサー１０ｘ、１０ｙ、１０ｚを含む。加速度センサー１０ｘ、１０ｙ、１０ｚは、検出軸が互いに直交するように固定して配置されており、それぞれの検出軸方向に加わる加速度の大きさに応じたＤＣ電圧の検出信号を出力する。
【００３０】
また、センサー装置１Ａは、３つの角速度センサー（ジャイロセンサー）２０ｘ、２０ｙ、２０ｚを含む。角速度センサー２０ｘ、２０ｙ、２０ｚは、検出軸が互いに直交するように固定して配置されており、それぞれの検出軸回りに加わる角速度の大きさに応じたＤＣ電圧の検出信号を出力する。
【００３１】
本実施形態では、加速度センサー１０ｘと角速度センサー２０ｘは互いの検出軸が一致するように配置されており、この検出軸をｘ軸とする。同様に、加速度センサー１０ｙと角速度センサー２０ｙは互いの検出軸が一致するように配置されており、この検出軸をｙ軸とする。同様に、加速度センサー１０ｚと角速度センサー２０ｚは互いの検出軸が一致するように配置されており、この検出軸をｚ軸とする。
【００３２】
センサー装置１Ａは、判定部３０を含む。判定部３０は、加速度センサー１０ｘ、１０ｙ、１０ｚの出力に基づいて、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であるか否かを判定する。
【００３３】
本実施形態では、判定部３０は、加速度算出部１１０を含む。加速度算出部１１０は、加速度センサー１０ｘ、１０ｙ、１０ｚの出力に基づいてセンサー装置１Ａに加わる加速度を算出する。本実施形態では、加速度算出部１１０は、加速度センサー１０ｘ、１０ｙ、１０ｚの各出力電圧を所定の周期でサンプリングし、Ａ／Ｄ変換して得られるｘ軸、ｙ軸、ｚ軸方向の加速度成分ｇｘ、ｇｙ、ｇｚの２乗和ｇｘ２＋ｇｙ２＋ｇｚ２を計算する。
【００３４】
また、本実施形態では、判定部３０は、角速度判定部１２０を含む。角速度判定部１２０は、加速度算出部１１０が算出した加速度と重力加速度Ｇが略一致する場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。本実施形態では、角速度判定部１２０は、ｇｘ２＋ｇｙ２＋ｇｚ２＝Ｇ２であれば、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。
【００３５】
例えば、角速度判定部１２０は、加速度算出部１１０が算出した加速度と重力加速度Ｇが略一致する状態が所定時間継続した場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定するようにしてもよい。
【００３６】
センサー装置１Ａは、オフセット補正部４０を含む。オフセット補正部４０は、判定部３０により角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定された時に、角速度センサー２０ｘ、２０ｙ、２０ｚの出力のオフセット（ゼロ点オフセット）を補正する。本実施形態では、角速度センサー２０ｘ、２０ｙ、２０ｚはゼロ点電圧の調整機能を有しており、オフセット補正部４０は、オフセット補正処理のタイミングにおける角速度センサー２０ｘ、２０ｙ、２０ｚの出力電圧と仕様上のゼロ点電圧との誤差に応じたゼロ点調整信号を角速度センサー２０ｘ、２０ｙ、２０ｚに供給することで、これらの出力電圧を仕様上のゼロ点電圧と一致させる。
【００３７】
このように、本実施形態のセンサー装置１Ａは、加速度センサー１０ｘ、１０ｙ、１０ｚの出力電圧を周期的にサンプリングして順次得られる加速度の２乗和（ｇｘ２＋ｇｙ２＋ｇｚ２）と重力加速度の２乗（Ｇ２）が一致したタイミングで、角速度センサー２０ｘ、２０ｙ、２０ｚの出力のオフセット（ゼロ点オフセット）を自動的に補正する。
【００３８】
［オフセット補正タイミングの判定原理］
次に、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理を行うタイミングの判定原理について、図２（Ａ）及び図２（Ｂ）を用いて説明する。
【００３９】
センサー装置１Ａを地球上で使用する場合、センサー装置１Ａには常に重力が加わる。そのため、センサー装置１Ａが停止もしくは等速直線運動をしていれば、図２（Ａ）に示すように、加速度センサー１０ｘ、１０ｙ、１０ｚは重力加速度のみを検出する。図２（Ａ）において、ｇｘ、ｇｙ、ｇｚはｘ軸、ｙ軸、ｚ軸方向の加速度成分を、Ｇは重力加速度をそれぞれ表している。すなわち、ｇｘ、ｇｙ、ｇｚのベクトル和はＧと一致し、次の式（１）が成立する。
【００４０】
【数１】
2012037405.tif 000003
【００４１】
一方、センサー装置１Ａが任意の軸回りの回転運動をすれば遠心力が加わるため、図２（Ｂ）に示すように、加速度センサー１０ｘ、１０ｙ、１０ｚは重力加速度と遠心力による遠心加速度とを検出する。図２（Ｂ）において、ｇｘ、ｇｙ、ｇｚはｘ軸、ｙ軸、ｚ軸方向の加速度成分を、Ｇは重力加速度を、Ｒは遠心加速度を、ｎは回転軸をそれぞれ表している。すなわち、ｇｘ、ｇｙ、ｇｚのベクトル和はＧとＲのベクトル和と一致し、次の式（２）が成立する。
【００４２】
【数２】
2012037405.tif 000004
【００４３】
ここで、センサー装置１Ａが停止もしくは等速直線運動をしていれば（回転運動をしていなければ）、センサー装置１Ａには角速度が加わらないので、角速度センサー２０ｘ、２０ｙ、２０ｚはすべてゼロ点電圧を出力する。そのため、式（１）が成立する時は角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正（ゼロ点補正）を行うことができる。
【００４４】
一方、センサー装置１Ａが任意の軸回りの回転運動をしていれば、センサー装置１Ａにはこの回転運動の角速度が加わり、角速度センサー２０ｘ、２０ｙ、２０ｚは、この角速度のｘ軸成分、ｙ軸成分、ｚ軸成分を検出することになる。そのため、角速度センサー２０ｘ、２０ｙ、２０ｚの少なくとも１つの出力電圧はゼロ点電圧にならないので、式（２）が成立する（式（１）が成立しない）時はオフセット補正（ゼロ点補正）を行うことができない。
【００４５】
そこで、角速度判定部１２０は、式（１）が成立するか否かによってセンサー装置１Ａに加わる角速度が０か否かを判定し、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理のタイミングを制御する。ただし、実際には、加速度センサー１０ｘ、１０ｙ、１０ｚの出力オフセットやセンサー装置１Ａの使用環境におけるノイズ等の環境因により、センサー装置１Ａが停止若しくは等速運動をしていても加速度センサー１０ｘ、１０ｙ、１０ｚによって検出される加速度ｇが重力加速度Ｇと微妙に一致しないことが想定される。そのため、角速度判定部１２０は、例えば、ｇｘ２＋ｇｙ２＋ｇｚ２とＧ２の差が微小値Δ以下であれば、すなわちＧ２−Δ≦ｇｘ２＋ｇｙ２＋ｇｚ２≦Ｇ２＋Δを満たせば、センサー装置１Ａに加わる角速度が０であると判定するようにしてもよい。この微小値Δは、センサー装置１Ａを使用するアプリケーション側の仕様等によって適切な値が設定される。
【００４６】
［オフセット補正処理］
図３は、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理の第１の例を示すフローチャート図である。
【００４７】
まず、加速度算出部１１０が、加速度センサー１０ｘ、１０ｙ、１０ｚの検出信号をサンプリングし、ｘ軸、ｙ軸、ｚ軸方向の加速度成分ｇｘ，ｇｙ，ｇｚを計算する（ステップＳ１０）。
【００４８】
次に、加速度算出部１１０がｇｘ２＋ｇｙ２＋ｇｚ２を計算する（ステップＳ２０）。
【００４９】
次に、角速度判定部１２０がｇｘ２＋ｇｙ２＋ｇｚ２とＧ２が一致するか否かを判定し（ステップＳ３０）、ｇｘ２＋ｇｙ２＋ｇｚ２≠Ｇ２の場合は（ステップＳ３０のＮ）、ステップＳ１０とＳ２０の処理を再度行う。
【００５０】
一方、ｇｘ２＋ｇｙ２＋ｇｚ２＝Ｇ２の場合は（ステップＳ３０のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ４０）。
【００５１】
図４は、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理の第２の例を示すフローチャート図である。図４において、図３と同じ処理を行うステップには同じ符号を付しており、その説明を省略又は簡略する。
【００５２】
まず、角速度判定部１２０が所定時間Ｔ１の計測を開始する（ステップＳ２）。
【００５３】
次に、加速度算出部１１０がステップＳ１０とＳ２０の処理を行った後、角速度判定部１２０がｇｘ２＋ｇｙ２＋ｇｚ２とＧ２が一致するか否かを判定し（ステップＳ３０）、ｇｘ２＋ｇｙ２＋ｇｚ２≠Ｇ２の場合は（ステップＳ３０のＮ）、角速度判定部１２０が所定時間Ｔ１の計測を再度開始し（ステップＳ２）、加速度算出部１１０がステップＳ１０とＳ２０の処理を再度行う。
【００５４】
一方、ｇｘ２＋ｇｙ２＋ｇｚ２＝Ｇ２の場合は（ステップＳ３０のＹ）、角速度判定部１２０が、ステップＳ２で計測を開始してから所定時間Ｔ１が経過したか否かを判定し（ステップＳ３２）、所定時間Ｔ１が経過していない場合は（ステップＳ３２のＮ）、所定時間Ｔ１が経過するまで、ステップＳ１０、Ｓ２０、Ｓ３０の処理を繰り返し行う。ただし、所定時間Ｔ１が経過する前に、ステップＳ３０の判定処理でｇｘ２＋ｇｙ２＋ｇｚ２≠Ｇ２となった場合は、角速度判定部１２０が所定時間Ｔ１の計測を再度開始する。
【００５５】
所定時間Ｔ１が経過した場合は（ステップＳ３２のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ４０）。
【００５６】
このようにすれば、センサー装置１Ａに所定時間Ｔ１以上継続して遠心力が加わっていないのか瞬時的に遠心力が０となっただけなのかを区別し、前者の場合だけ角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行うようにすることができる。
【００５７】
以上に説明した第１実施形態のセンサー装置によれば、加速度センサーが検出する加速度が重力加速度と一致するか否かを判定する簡便な演算処理により、遠心力が加わっていない適切なタイミングで角速度センサーのオフセットを補正することができる。すなわち、第１実施形態のセンサー装置によれば、アプリケーション機能によらずセンサー装置単体で角速度センサーのオフセットを補正することができる。そのため、このセンサー装置を使用すれば、従来の手法のようにアプリケーション側に補正アルゴリズムを実装する必要がなく、ユーザーに負荷をかけずに角速度センサーのゼロ点オフセットを補正することができる。
【００５８】
また、第１実施形態のセンサー装置によれば、使用環境下で角速度センサーのゼロ点の変動を検知して補正することができる。そのため、場合によっては、出荷前に角速度センサーのオフセット調整をｓ実施したり、温度特性の補正用データを記憶素子に書き込む必要がなくなる。さらに、使用環境に応じて角速度センサーのオフセット補正量を調整することができるので、温度変化にも対応して角速度センサーのオフセット補正を行うことができる。特に、温度特性の補正用データがあったととしても補正が困難な非線形の温度変化にも対応することができる。
【００５９】
（２）第２実施形態
［構成］
図５は、第２実施形態のセンサー装置の概略構成図である。図５において、図１と同じ構成要素には同じ符号を付しており、その説明を省略又は簡略する。
【００６０】
図５に示すように、第２実施形態のセンサー装置１Ｂは、３つの加速度センサー１０ｘ、１０ｙ、１０ｚ、３つの角速度センサー（ジャイロセンサー）２０ｘ、２０ｙ、２０ｚに加えて、３つの地磁気センサー６０ｘ、６０ｙ、６０ｚを含んで構成されている。地磁気センサー６０ｘ、６０ｙ、６０ｚは、検出軸（ｘ軸、ｙ軸、ｚ軸）が互いに直交するように固定して配置されており、それぞれの検出軸方向に加わる地磁気の大きさに応じたＤＣ電圧の検出信号を出力する。
【００６１】
本実施形態では、加速度センサー１０ｘ、角速度センサー２０ｘ、地磁気センサー６０ｘは互いの検出軸が一致するように配置されており、この検出軸をｘ軸とする。同様に、加速度センサー１０ｙ、角速度センサー２０ｙ、地磁気センサー６０ｙは互いの検出軸が一致するように配置されており、この検出軸をｙ軸とする。同様に、加速度センサー１０ｚ、角速度センサー２０ｚ、地磁気センサー６０ｚは互いの検出軸が一致するように配置されており、この検出軸をｚ軸とする。
【００６２】
本実施形態では、このｘ軸、ｙ軸、ｚ軸を３つの座標軸とする直交座標系をセンサー座標系と呼ぶことにする。一方、空間上に固定された３つの直交する座標軸（Ｘ軸、Ｙ軸、Ｚ軸）による直交座標系を絶対座標系と呼ぶことにする。絶対座標系のＸ軸、Ｙ軸、Ｚ軸は、例えば、Ｘ軸の正の方向が北、Ｙ軸の正の方向が西、Ｚ軸の正の方向が重力方向と一致するように定義される。
【００６３】
センサー装置１Ｂは、姿勢情報検出部７０を含んで構成されている。姿勢情報検出部７０は、加速度センサー１０ｘ、１０ｙ、１０ｚ、角速度センサー２０ｘ、２０ｙ、２０ｚ、地磁気センサー６０ｘ、６０ｙ、６０ｚの各検出信号に基づいて、センサー装置１Ｂの現在の姿勢情報を算出する。
【００６４】
本実施形態では、絶対座標系（ＸＹＺ座標系）とセンサー座標系（ｘｙｚ座標系）が一致する状態を基準としてセンサー装置１Ｂの姿勢をＺ−Ｘ−Ｚ系のオイラー角で表現する。Ｚ−Ｘ−Ｚ系のオイラー角は、図６（Ａ）に示すように、絶対座標系（ＸＹＺ座標系）をＺ軸回りに角度φだけ回転させたＸ’Ｙ’Ｚ’座標系に変換し、次にＸ’Ｙ’Ｚ’座標系をＸ’軸回りに角度θだけ回転させたＸ’’Ｙ’’Ｚ’’座標系に変換し、最後にＸ’’Ｙ’’Ｚ’’座標系をＺ’’軸回りに角度ψだけ回転させたＸ’’’Ｙ’’’Ｚ’’’座標系に変換した時、Ｘ’’’Ｙ’’’Ｚ’’’座標系がセンサー座標系（ｘｙｚ座標系）と一致する時の（φ，θ，ψ）である。本実施形態では、Ｚ−Ｘ−Ｚ系のオイラー角（φ，θ，ψ）を、姿勢角（φ，θ，ψ）ということにする。
【００６５】
つまり、本実施形態では、姿勢情報検出部７０は、姿勢情報として姿勢角（φ，θ，ψ）の情報を出力する。
【００６６】
センサー装置１Ｂは、判定部５０を含む。判定部５０は、加速度センサー１０ｘ、１０ｙ、１０ｚの出力に基づいて、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であるか否かを判定する。
【００６７】
本実施形態では、判定部５０は、初期状態検出部２１０を含む。初期状態検出部２１０は、加速度センサー１０ｘ、１０ｙ、１０ｚの出力に基づいてセンサー装置１Ａに加わる加速度を算出し、算出した加速度と重力加速度Ｇが略一致する状態を初期状態として検出する。本実施形態では、初期状態検出部２１０は、加速度センサー１０ｘ、１０ｙ、１０ｚの各出力電圧を所定の周期でサンプリングし、Ａ／Ｄ変換して得られるｘ軸、ｙ軸、ｚ軸方向の加速度成分ｇｘ、ｇｙ、ｇｚの２乗和ｇｘ２＋ｇｙ２＋ｇｚ２を計算し、ｇｘ２＋ｇｙ２＋ｇｚ２＝Ｇ２の状態を初期状態として検出する。
【００６８】
ただし、実際には、加速度センサー１０ｘ、１０ｙ、１０ｚの出力オフセットやセンサー装置１Ｂの使用環境におけるノイズ等の環境因により、センサー装置１Ｂが停止若しくは等速運動をしていても加速度センサー１０ｘ、１０ｙ、１０ｚによって検出される加速度ｇが重力加速度Ｇと微妙に一致しないことが想定される。そのため、初期状態検出部２１０は、例えば、ｇｘ２＋ｇｙ２＋ｇｚ２とＧ２の差が微小値Δ以下であれば、すなわちＧ２−Δ≦ｇｘ２＋ｇｙ２＋ｇｚ２≦Ｇ２＋Δを満たした時に初期状態を検出する。この微小値Δは、センサー装置１Ｂを使用するアプリケーション側の仕様等によって適切な値が設定される。
【００６９】
ここで、図２（Ｂ）に示した遠心加速度Ｒがある程度大きい場合にはｇｘ２＋ｇｙ２＋ｇｚ２＝Ｇ２が成立しないので、初期状態検出部２１０により初期状態が検出されることはないが、遠心加速度Ｒが極めて小さい場合には初期状態検出部２１０により初期状態が検出される場合が想定される。そこで、以下に説明するように、判定部５０は、初期状態検出部２１０により初期状態が検出された場合は、その後の加速度検出成分の時間変化をモニターすることで実際の角速度ωが０か否かを判定する。
【００７０】
そのため、本実施形態では、判定部５０は、角速度算出部２２０を含む。角速度算出部２２０は、初期状態におけるセンサー装置１Ｂの姿勢情報に基づいて初期状態におけるｘ軸、ｙ軸、ｚ軸方向の軸ベクトルを算出し、当該軸ベクトルとｘ軸、ｙ軸、ｚ軸方向の加速度成分と当該加速度成分の時間変化とに基づいてセンサー装置１Ｂが任意の軸回りに回転する角速度ωを算出する。本実施形態では、角速度算出部２２０は、後述する式（７）、式（８）、式（９）により、軸ベクトルとしてｘ軸、ｙ軸、ｚ軸方向の単位ベクトルａｘＲ、ａｙＲ、ａｚＲを計算する。また、角速度算出部２２０は、後述する式（２４）、式（２５）、式（２６）により、加速度センサー１０ｘ、１０ｙ、１０ｚが検出する加速度成分ｇｘ、ｇｙ、ｇｚを含むＤ１、Ｄ２、Ｄ３を計算する。さらに、角速度算出部２２０は、Ｄ１、Ｄ２、Ｄ３の１階微分（実際には１階差分）と２階微分（実際には２階差分））を計算する。そして、角速度算出部２２０は、単位ベクトルａｘＲ、ａｙＲ、ａｚＲと、Ｄ１、Ｄ２、Ｄ３と、Ｄ１、Ｄ２、Ｄ３の１階微分と、Ｄ１、Ｄ２、Ｄ３の２階微分を用いて、後述する式（４０）によりω２を計算する。
【００７１】
また、本実施形態では、判定部５０は、角速度判定部２３０を含む。角速度判定部２３０は、角速度算出部２２０が算出した角速度が略０である場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。本実施形態では、角速度判定部２３０は、ω２＝０であれば、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。
【００７２】
例えば、角速度判定部２３０は、角速度算出部２２０が算出した角速度ωが略０の状態が所定時間継続した場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定するようにしてもよい。
【００７３】
なお、オフセット補正部４０は、第１実施形態と同様であるため、その説明を省略する。
【００７４】
このように、本実施形態のセンサー装置１Ｂは、初期状態におけるｘ軸、ｙ軸、ｚ軸方向の軸ベクトルと、加速度センサー１０ｘ、１０ｙ、１０ｚの出力電圧を周期的にサンプリングして順次得られるｘ軸、ｙ軸、ｚ軸方向の加速度成分と、当該加速度成分の時間変化とに基づいて計算される角速度ωの２乗が０となるタイミングで、角速度センサー２０ｘ、２０ｙ、２０ｚの出力のオフセット（ゼロ点オフセット）を自動的に補正する。
【００７５】
［オフセット補正タイミングの判定原理］
次に、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理を行うタイミングの判定原理について説明する。
【００７６】
本実施形態では、絶対座標系（ＸＹＺ座標系）とセンサー座標系（ｘｙｚ座標系）が一致する状態を基準として、センサー装置１Ｂの姿勢をＺ−Ｘ−Ｚ系のオイラー角で表現する。
【００７７】
図６（Ａ）に示すように、絶対座標系（ＸＹＺ座標系）をＺ軸回りに角度φだけ回転させたＸ’Ｙ’Ｚ’座標系に変換する回転行列Ｒ１は次式（３）で与えられる。
【００７８】
【数３】
2012037405.tif 000005
【００７９】
さらに、図６（Ｂ）に示すように、Ｘ’Ｙ’Ｚ’座標系をＸ’軸回りに角度θだけ回転させたＸ’’Ｙ’’Ｚ’’座標系に変換する回転行列Ｒ２は次式（４）で与えられる。
【００８０】
【数４】
2012037405.tif 000006
【００８１】
さらに、図６（Ｃ）に示すように、Ｘ’’Ｙ’’Ｚ’’座標系をＺ’’軸回りに角度ψだけ回転させたＸ’’’Ｙ’’’Ｚ’’’座標系に変換する回転行列Ｒ３は次式（５）で与えられる。
【００８２】
【数５】
2012037405.tif 000007
【００８３】
このＸ’’’Ｙ’’’Ｚ’’’座標系がセンサー座標系（ｘｙｚ座標系）と一致するなら、センサー装置１Ｂの姿勢を表現するＺ−Ｘ−Ｚ系のオイラー角（姿勢角）は（φ，θ，ψ）である。
【００８４】
従って、センサー装置１Ｂの姿勢角を（０，０，０）から（φ，θ，ψ）に変換する回転行列Ｒは、次式（６）で与えられる。
【００８５】
【数６】
2012037405.tif 000008
【００８６】
本実施形態では、センサー装置１Ｂが基準姿勢の時（姿勢角が（０，０，０）の時）は、絶対座標系（ＸＹＺ座標系）とセンサー座標系（ｘｙｚ座標系）が一致するので、ｘ軸、ｙ軸、ｚ軸方向の３つの単位ベクトルは、それぞれ絶対座標系（ＸＹＺ座標系）において（１，０，０）、（０，１，０）、（０，０，１）で表される。
【００８７】
本実施形態では、加速度センサー１０ｘ、１０ｙ、１０ｚの検出軸は常にセンサー座標系のｘ軸、ｙ軸、ｚ軸とそれぞれ一致するので、センサー装置１Ｂが基準姿勢の時（姿勢角が（０，０，０）の時）、加速度センサー１０ｘ、１０ｙ、１０ｚの検出軸方向の単位ベクトルａｘ、ａｙ、ａｚは、それぞれａｘ＝（１，０，０）、ａｙ＝（０，１，０）、ａｚ＝（０，０，１）になっている。
【００８８】
従って、センサー装置１Ｂの姿勢角が（φ，θ，ψ）の時のｘ軸、ｙ軸、ｚ軸方向の単位ベクトルａｘＲ、ａｙＲ、ａｚＲは、それぞれ次の式（７）、式（８）、式（９）で表される。
【００８９】
【数７】
2012037405.tif 000009
【００９０】
【数８】
2012037405.tif 000010
【００９１】
【数９】
2012037405.tif 000011
【００９２】
次に、センサー装置１Ｂが姿勢角（φ，θ，ψ）で停止又は等速直線運動していると仮定し、この状態からセンサー装置１Ｂが任意の軸ベクトルｎ＝（ｎｘ、ｎｙ、ｎｚ）の回りに角度δだけ回転する場合を考えると、この回転を表す回転行列Δは、次式（１０）で表される。
【００９３】
【数１０】
2012037405.tif 000012
【００９４】
したがって、軸ベクトルｎ＝（ｎｘ、ｎｙ、ｎｚ）の回りに角度δだけ回転した後のｘ軸、ｙ軸、ｚ軸方向の単位ベクトルａｘＲΔ、ａｙＲΔ、ａｚＲΔは、それぞれ次の式（１１）、式（１２）、式（１３）で表される。
【００９５】
【数１１】
2012037405.tif 000013
【００９６】
【数１２】
2012037405.tif 000014
【００９７】
【数１３】
2012037405.tif 000015
【００９８】
従って、単位ベクトルａｘＲΔ、ａｙＲΔ、ａｚＲΔが、重力方向の単位ベクトルｐ＝（０，０，１）とそれぞれ成す角度γｘ、γｙ、γｚは、それぞれ次の式（１４）、式（１５）、式（１６）で計算される。
【００９９】
【数１４】
2012037405.tif 000016
【０１００】
【数１５】
2012037405.tif 000017
【０１０１】
【数１６】
2012037405.tif 000018
【０１０２】
ここで、図２（Ｂ）で示した遠心加速度Ｒが極めて小さい場合は、加速度センサー１０ｘ、１０ｙ、１０ｚが検出する加速度成分ｇｘ、ｇｙ、ｇｚは、重力加速度Ｇのｘ軸、ｙ軸、ｚ軸方向の成分と一致する。すなわち、ｇｘ＝Ｇ・ｃｏｓγｘ、ｇｙ＝Ｇ・ｃｏｓγｙ、ｇｚ＝Ｇ・ｃｏｓγｚなので、式（１４）、式（１５）、式（１６）より、それぞれ次の式（１７）、式（１８）、式（１９）が導かれる。なお、式（１７）、式（１８）、式（１９）におけるＤ１、Ｄ２、Ｄ３はそれぞれ式（２０）、式（２１）、式（２２）で与えられる。
【０１０３】
【数１７】
2012037405.tif 000019
【０１０４】
【数１８】
2012037405.tif 000020
【０１０５】
【数１９】
2012037405.tif 000021
【０１０６】
【数２０】
2012037405.tif 000022
【０１０７】
【数２１】
2012037405.tif 000023
【０１０８】
【数２２】
2012037405.tif 000024
【０１０９】
式（１７）、式（１８）、式（１９）をまとめると、次の式（２３）が得られる。
【０１１０】
【数２３】
2012037405.tif 000025
【０１１１】
この式（２３）に対してクラメルの公式を適用すると、Ｄ１、Ｄ２、Ｄ３がそれぞれ次の式（２４）、式（２５）、式（２６）により求まる。
【０１１２】
【数２４】
2012037405.tif 000026
【０１１３】
【数２５】
2012037405.tif 000027
【０１１４】
【数２６】
2012037405.tif 000028
【０１１５】
Ｄ１、Ｄ２、Ｄ３は、それぞれ式（２０）、式（２１）、式（２２）により与えられるので、Ｄ１、Ｄ２、Ｄ３の１階微分はそれぞれ次の式（２７）、式（２８）、式（２９）で計算される。
【０１１６】
【数２７】
2012037405.tif 000029
【０１１７】
【数２８】
2012037405.tif 000030
【０１１８】
【数２９】
2012037405.tif 000031
【０１１９】
Ｄ１、Ｄ２、Ｄ３の２階微分は、式（２７）、式（２８）、式（２９）をさらに微分して、それぞれ次の式（３０）、式（３１）、式（３２）で計算される。
【０１２０】
【数３０】
2012037405.tif 000032
【０１２１】
【数３１】
2012037405.tif 000033
【０１２２】
【数３２】
2012037405.tif 000034
【０１２３】
ここで、式（２０）、式（２１）、式（２２）から、次式（３３）の関係式が得られる。
【０１２４】
【数３３】
2012037405.tif 000035
【０１２５】
また、式（２７）、式（２８）、式（２９）から、次式（３４）の関係式が得られる。
【０１２６】
【数３４】
2012037405.tif 000036
【０１２７】
また、式（３０）、式（３１）、式（３２）から、次式（３５）の関係式が得られる。
【０１２８】
【数３５】
2012037405.tif 000037
【０１２９】
式（３３）、式（３４）、式（３５）をまとめると、次の式（３６）が得られる。
【０１３０】
【数３６】
2012037405.tif 000038
【０１３１】
この式（３６）に対してクラメルの公式を適用すると、ｎｘ、ｎｙ、ｎｚがそれぞれ次の式（３７）、式（３８）、式（３９）により求まる。
【０１３２】
【数３７】
2012037405.tif 000039
【０１３３】
【数３８】
2012037405.tif 000040
【０１３４】
【数３９】
2012037405.tif 000041
【０１３５】
最後に、式（２７）と式（２８）からδを消去することで、次の式（４０）により、センサー装置１Ｂに加わる角速度ωの２乗が求まる。
【０１３６】
【数４０】
2012037405.tif 000042
【０１３７】
ここで、センサー装置１Ｂが初期状態のまま停止もしくは等速直線運動をしていれば（回転運動をしていなければ）、センサー装置１Ｂには角速度が加わらないので、角速度センサー２０ｘ、２０ｙ、２０ｚはすべてゼロ点電圧を出力する。この時、ｇｘ、ｇｙ、ｇｚの時間変化は０でありＤ１、Ｄ２、Ｄ３は一定値となるため、Ｄ１、Ｄ２、Ｄ３を１階微分した値はすべて０になる。そのため、式（４０）により計算されるω２が０になる。
【０１３８】
一方、センサー装置１Ｂが任意の軸ｎ＝（ｎｘ、ｎｙ、ｎｚ）回りの回転運動をしていれば、センサー装置１Ｂにはこの回転運動の角速度が加わり、角速度センサー２０ｘ、２０ｙ、２０ｚは、この角速度のｘ軸成分、ｙ軸成分、ｚ軸成分を検出することになる。この時、ｇｘ、ｇｙ、ｇｚが時間変化するため、式（４０）により計算されるω２が０にならない。
【０１３９】
そこで、角速度判定部２３０は、式（４０）で計算されるω２が０になるか否かによってセンサー装置１Ｂに加わる角速度が０か否かを判定し、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理のタイミングを制御する。ただし、実際には、加速度センサー１０ｘ、１０ｙ、１０ｚの出力オフセットやセンサー装置１Ｂの使用環境におけるノイズ等の環境因により、センサー装置１Ｂが停止若しくは等速運動をしていても加速度センサー１０ｘ、１０ｙ、１０ｚによって検出される加速度ｇが重力加速度Ｇと微妙に一致しないことが想定される。そのため、角速度判定部２３０は、例えば、式（４０）で計算されるω２が微小値Δ以下であれば、すなわちω２≦Δを満たせば、センサー装置１Ｂに加わる角速度が０であると判定するようにしてもよい。この微小値Δは、センサー装置１Ｂを使用するアプリケーション側の仕様等によって適切な値が設定される。
【０１４０】
［オフセット補正処理］
図７は、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理の第１の例を示すフローチャート図である。
【０１４１】
まず、初期状態検出部２１０が加速度センサー１０ｘ、１０ｙ、１０ｚの検出信号をサンプリングし、ｘ軸、ｙ軸、ｚ軸方向の加速度成分ｇｘ，ｇｙ，ｇｚを計算する（ステップＳ１１０）。
【０１４２】
次に、初期状態検出部２１０がｇ２＝ｇｘ２＋ｇｙ２＋ｇｚ２を計算する（ステップＳ１２０）。
【０１４３】
次に、初期状態検出部２１０がｇｘ２＋ｇｙ２＋ｇｚ２とＧ２が一致するか否かを判定し（ステップＳ１３０）、ｇ２≠Ｇ２（初期状態を未検出）の場合は（ステップＳ１３０のＮ）、ステップＳ１１０とＳ１２０の処理を再度行う。
【０１４４】
一方、ｇ２＝Ｇ２の場合は（ステップＳ１３０のＹ）、初期状態検出部２１０が初期状態を検出し（ステップＳ１４０）、角速度算出部２２０が、式（７）、式（８）、式（９）により、姿勢情報算出部７０が算出する姿勢角（φ，θ，ψ）から、初期状態における加速度センサー１０ｘ、１０ｙ、１０ｚのx軸方向、y軸方向、軸方向の単位ベクトルａｘＲ，ａｙＲ，ａｚＲを計算する（ステップＳ１５０）。
【０１４５】
次に、角速度算出部２２０が、ステップＳ１５０で得られた単位ベクトルａｘＲ，ａｙＲ，ａｚＲとステップＳ１１０で得られた加速度成分ｇｘ，ｇｙ，ｇｚから、式（２４）、式（２５）、式（２６）により、Ｄ１，Ｄ２，Ｄ３を計算する（ステップＳ１６０）。
【０１４６】
次に、角速度算出部２２０が、Ｄ１，Ｄ２，Ｄ３の１階微分を計算する（ステップＳ１７０）。具体的には、角速度算出部２２０が、ステップＳ１６０で計算した今回のＤ１，Ｄ２，Ｄ３と前回のＤ１，Ｄ２，Ｄ３（１サンプル前のｇｘ，ｇｙ，ｇｚから計算したＤ１，Ｄ２，Ｄ３）との各差分（Ｄ１，Ｄ２，Ｄ３の１階差分）を計算する。
【０１４７】
次に、角速度算出部２２０が、式（３０）、式（３１）、式（３２）により、Ｄ１，Ｄ２，Ｄ３の２階微分を計算する（ステップＳ１８０）。具体的には、角速度算出部２２０が、ステップＳ１７０で計算した今回のＤ１，Ｄ２，Ｄ３の１階差分と前回のＤ１，Ｄ２，Ｄ３の１階差分（１サンプル前のｇｘ，ｇｙ，ｇｚから計算したＤ１，Ｄ２，Ｄ３の１階差分）との各差分（Ｄ１，Ｄ２，Ｄ３の２階差分）を計算する。
【０１４８】
次に、角速度算出部２２０が、式（４０）により、ω２を計算する（ステップＳ１９０）。
【０１４９】
次に、角速度判定部２３０がω２＝０か否かを判定し（ステップＳ２００）、ω２≠０の場合は（ステップＳ２００のＮ）、ステップＳ１１０〜Ｓ１９０の処理を再度行う。
【０１５０】
一方、ω２＝０の場合は（ステップＳ２００のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ２１０）。
【０１５１】
図８は、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理の第２の例を示すフローチャート図である。図８において、図７と同じ処理を行うステップには同じ符号を付しており、その説明を省略又は簡略する。
【０１５２】
まず、初期状態検出部２１０がステップＳ１１０〜Ｓ１４０の処理を行う。
【０１５３】
まず、角速度判定部２３０が所定時間Ｔ２の計測を開始する（ステップＳ１４２）。
【０１５４】
次に、角速度算出部２２０がステップＳ１５０〜Ｓ１９０の処理を行った後、角速度判定部２３０がω２＝０か否かを判定し（ステップＳ２００）、ω２≠０の場合は（ステップＳ２００のＮ）、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を再度行う。
【０１５５】
一方、ω２＝０の場合は（ステップＳ２００のＹ）、角速度判定部２３０が、ステップＳ１４２で計測を開始してから所定時間Ｔ２が経過したか否かを判定し（ステップＳ２０２）、所定時間Ｔ２が経過していない場合は（ステップＳ２０２のＮ）、初期状態検出部２１０が加速度センサー１０ｘ、１０ｙ、１０ｚの検出信号をサンプリングしてｘ軸、ｙ軸、ｚ軸方向の加速度成分ｇｘ，ｇｙ，ｇｚを計算し（ステップＳ２０４）、所定時間Ｔ２が経過するまで、ステップＳ１５０〜Ｓ２００の処理を繰り返し行う。ただし、所定時間Ｔ２が経過する前に、ステップＳ２００の判定処理でω２≠０となった場合は、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を再度行う。
【０１５６】
所定時間Ｔ２が経過した場合は（ステップＳ２０２のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ２１０）。
【０１５７】
このようにすれば、センサー装置１Ｂに所定時間Ｔ２以上継続して角速度が加わっていないのか瞬時的に角速度が０となっただけなのかを区別し、前者の場合だけ角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行うようにすることができる。
【０１５８】
以上に説明した第２実施形態のセンサー装置によれば、第１実施形態のセンサー装置と同様の効果を奏することができる。さらに、第２実施形態のセンサー装置によれば、加速度センサーが検知できないような小さい遠心力が加わった場合でも、初期状態からの加速度成分の時間変化をモニターすることで、角速度センサーに加わる角速度を検知することができる。そのため、角速度センサーのオフセット補正を行うタイミングの判定精度を高めることができる。
【０１５９】
（３）第３実施形態
［構成］
図９は、第３実施形態のセンサー装置の概略構成図である。図９において、図５と同じ構成要素には同じ符号を付しており、その説明を省略又は簡略する。
【０１６０】
図９に示すように、第３実施形態のセンサー装置１Ｃは、図５の判定部４０に代えて判定部８０を含む。
【０１６１】
本実施形態では、判定部８０は、図５と同じ初期状態検出部２１０と角速度算出部２２０を含んで構成されている。
【０１６２】
また、本実施形態では、判定部８０は、判定モード制御部２４０を含む。判定モード制御部２４０は、制御信号に応じて第１の判定モードと第２の判定モードを切り替える。この制御信号は、センサー装置１Ｃの外部から供給されてもよいし、センサー装置１Ｃの内部で生成してもよい。
【０１６３】
また、本実施形態では、判定部８０は、角速度判定部２５０を含む。角速度判定部２５０は、第１の判定モードでは、初期状態検出部２１０が初期状態を検出した場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。本実施形態では、角速度判定部２５０は、第１の判定モードでは、ｇｘ２＋ｇｙ２＋ｇｚ２＝Ｇ２であれば、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。
【０１６４】
また、角速度判定部２５０は、第２の判定モードでは、角速度算出部２２０が算出した角速度が略０である場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。本実施形態では、角速度判定部２５０は、第２の判定モードでは、ω２＝０であれば、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定する。
【０１６５】
例えば、角速度判定部２５０は、第１の判定モードでは、初期状態検出部２１０が所定時間継続して初期状態を検出した場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定するようにしてもよい。また、例えば、角速度判定部２５０は、第２の判定モードでは、角速度算出部２２０が算出した角速度ωが略０の状態が所定時間継続した場合に、角速度センサー２０ｘ、２０ｙ、２０ｚに加わる角速度が０であると判定するようにしてもよい。
【０１６６】
このように、本実施形態のセンサー装置１Ｃは、第１の判定モードでは、加速度センサー１０ｘ、１０ｙ、１０ｚの出力電圧を周期的にサンプリングして順次得られる加速度の２乗和（ｇｘ２＋ｇｙ２＋ｇｚ２）と重力加速度の２乗（Ｇ２）が一致したタイミングで、角速度センサー２０ｘ、２０ｙ、２０ｚの出力のオフセット（ゼロ点オフセット）を自動的に補正する。また、本実施形態のセンサー装置１Ｃは、第２の判定モードでは、初期状態におけるｘ軸、ｙ軸、ｚ軸方向の軸ベクトルと、加速度センサー１０ｘ、１０ｙ、１０ｚの出力電圧を周期的にサンプリングして順次得られるｘ軸、ｙ軸、ｚ軸方向の加速度成分と、当該加速度成分の時間変化とに基づいて計算される角速度ωの２乗が０となるタイミングで、角速度センサー２０ｘ、２０ｙ、２０ｚの出力のオフセット（ゼロ点オフセット）を自動的に補正する。
【０１６７】
［オフセット補正処理］
図１０は、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理の第１の例を示すフローチャート図である。図１０において、図７と同じ処理を行うステップには同じ符号を付しており、その説明を省略又は簡略する。
【０１６８】
まず、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を行う。
【０１６９】
次に、第１の判定モードであれば（ステップＳ１４４のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ２１０）。
【０１７０】
第１の判定モードでなければ（すなわち第２の判定モードであれば）（ステップＳ１４４のＮ）、角速度算出部２２０がステップＳ１５０〜Ｓ１９０の処理を行った後、角速度判定部２５０がω２＝０か否かを判定し（ステップＳ２００）、ω２≠０の場合は（ステップＳ２００のＮ）、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を再度行う。
【０１７１】
一方、ω２＝０の場合は（ステップＳ２００のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ２１０）。
【０１７２】
図１１は、本実施形態における、角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正処理の第２の例を示すフローチャート図である。図１１において、図１０と同じ処理を行うステップには同じ符号を付しており、その説明を省略又は簡略する。
【０１７３】
まず、第１の判定モードであれば（ステップＳ１０２のＹ）、角速度判定部２５０が所定時間Ｔ１の計測を開始する（ステップＳ１０４）。
【０１７４】
次に、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を行う。
【０１７５】
次に、第１の判定モードであれば（ステップＳ１４４のＹ）、角速度判定部２５０が、ステップＳ１０４で計測を開始してから所定時間Ｔ１が経過したか否かを判定し（ステップＳ１４５）、所定時間Ｔ１が経過していない場合は（ステップＳ１４５のＮ）、所定時間Ｔ１が経過するまで、初期状態検出部２１０がステップＳ１１０〜Ｓ１４０の処理を再度行う。そして、所定時間Ｔ１が経過した場合は（ステップＳ１４５のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ２１０）。
【０１７６】
第１の判定モードでなければ（すなわち第２の判定モードであれば）（ステップＳ１４４のＮ）、角速度判定部２５０が所定時間Ｔ２の計測を開始する（ステップＳ１４８）。
【０１７７】
次に、角速度算出部２２０がステップＳ１５０〜Ｓ１９０の処理を行った後、角速度判定部２５０がω２＝０か否かを判定し（ステップＳ２００）、ω２≠０の場合は（ステップＳ２００のＮ）、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を再度行う。
【０１７８】
一方、ω２＝０の場合は（ステップＳ２００のＹ）、角速度判定部２５０が、ステップＳ１４８で計測を開始してから所定時間Ｔ２が経過したか否かを判定し（ステップＳ２０２）、所定時間Ｔ２が経過していない場合は（ステップＳ２０２のＮ）、初期状態検出部２１０が加速度センサー１０ｘ、１０ｙ、１０ｚの検出信号をサンプリングしてｘ軸、ｙ軸、ｚ軸方向の加速度成分ｇｘ，ｇｙ，ｇｚを計算し（ステップＳ２０４）、所定時間Ｔ２が経過するまで、ステップＳ１５０〜Ｓ２００の処理を繰り返し行う。ただし、所定時間Ｔ２が経過する前に、ステップＳ２００の判定処理でω２≠０となった場合は、初期状態検出部２１０が初期状態の検出処理（ステップＳ１１０〜Ｓ１４０の処理）を再度行う。
【０１７９】
所定時間Ｔ２が経過した場合は（ステップＳ２０２のＹ）、オフセット補正部４０が角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行う（ステップＳ２１０）。
【０１８０】
このようにすれば、第１の判定モードでは、センサー装置１Ｃに所定時間Ｔ１以上継続して遠心力が加わっていないのか瞬時的に遠心力が０となっただけなのかを区別し、前者の場合だけ角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行うようにすることができる。また、第２の判定モードでは、センサー装置１Ｃに所定時間Ｔ２以上継続して角速度が加わっていないのか瞬時的に角速度が０となっただけなのかを区別し、前者の場合だけ角速度センサー２０ｘ、２０ｙ、２０ｚのオフセット補正を行うようにすることができる。
【０１８１】
以上に説明した第３実施形態のセンサー装置によれば、第１実施形態のセンサー装置と同様の効果を奏することができる。さらに、第３実施形態のセンサー装置によれば、当該センサー装置を使用するアプリケーションに応じて、第１の判定モードと第２の判定モードのいずれを使用するかで、角速度センサーのオフセット補正タイミングの判定精度を変更することができる。すなわち、第１の判定モードにすれば、遠心力の検出による簡易な判定になり、第２の判定モードにすれば、加速度センサーで検出できないような微小な遠心力が加わった場合でも当該センサー装置に加わる角速度が０か否かを判定することができる。
【０１８２】
２．電子機器
図１２は、本実施形態のセンサー装置を含む電子機器の構成例を示す機能ブロック図である。本実施形態の電子機器５００は、センサー装置４００、ホストＣＰＵ３００、操作部３１０、表示部３２０、ＲＯＭ（Read Only Memory）３３０、ＲＡＭ（Random Access Memory）３４０、通信部３５０を含んで構成されている。
【０１８３】
ホストＣＰＵ（マイクロコンピューター）３００は、ＲＯＭ３３０に記憶されているプログラムに従って、各種の計算処理や制御処理を行う。具体的には、ホストＣＰＵ３００は、センサー装置４００に対して各種の制御コマンドを送信してセンサー装置４００の動作を制御したり、センサー装置４００からデータを受け取って各種の計算処理をする。また、ホストＣＰＵ３００は、操作部３１０からの操作信号に応じた各種の処理、表示部３２０に各種の情報を表示させるための表示信号を送信する処理、外部とデータ通信を行うために通信部３５０を制御する処理等を行う。
【０１８４】
操作部３１０は、操作キーやボタンスイッチ等により構成される入力装置であり、ユーザーによる操作に応じた操作信号をホストＣＰＵ３００に出力する。
【０１８５】
表示部３２０は、ＬＣＤ（Liquid Crystal Display）等により構成される表示装置であり、ホストＣＰＵ３００から入力される表示信号に基づいて各種の情報（例えば、ナビゲーション情報等）を表示する。
【０１８６】
ＲＯＭ３３０は、ホストＣＰＵ３００が各種の計算処理や制御処理を行うためのプログラムや、各種のアプリケーションプログラムやデータ等（例えば、ナビゲーションや姿勢制御を行うためのプログラムやデータ等）を記憶している。
【０１８７】
ＲＡＭ３４０は、ホストＣＰＵ３００の作業領域として用いられ、ＲＯＭ３３０から読み出されたプログラムやデータ、操作部３１０から入力されたデータ、ホストＣＰＵ３００が各種プログラムに従って実行した演算結果等を一時的に記憶する。
【０１８８】
通信部３５０は、ＣＰＵ３００と外部装置との間のデータ通信を成立させるための各種制御を行う。
【０１８９】
センサー装置４００は、例えば、前述した第１実〜第３実施形態のセンサー装置１Ａ、１Ｂ、１Ｃ等であり、電子機器５００の内部において、センサーのｘ軸、ｙ軸、ｚ軸が電子機器５００を基準として所定の方向に向くように固定して配置されている。そして、センサー装置４００は、当該センサー装置４００（電子機器５００）に加わる角速度が０でるか否かを判定し、角速度が０の時に角速度センサーの０点電圧のオフセットを補正する。このセンサー装置４００を電子機器５００に組み込むことにより、アプリケーションによらずセンサー装置の角速度センサーのオフセットを自動的に補正することができる。
【０１９０】
なお、電子機器５００としては、ゲームコントローラや３次元マウス等の入力機器、ラジコンヘリ等の玩具、ロボット、航法装置（ナビゲーション装置）、携帯電話機、モバイルパソコン等の種々の電子機器が挙げられる。
【０１９１】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１９２】
例えば、本実施形態のセンサー装置では、３つの角速度センサーを含んでいるが、１つ以上の角速度センサーを含んでいればよい。
【０１９３】
また、例えば、本実施形態のセンサー装置では、３つの加速度センサーを含んでいるが、３つ以上の加速度センサーを含み、それらの加速度センサーの一部又は全部の出力に基づいて互いに直交する３軸方向の加速度を算出するように変形してもよい。さらに、３つの加速度センサーは、必ずしも３つの検出軸が互いに直交するように配置されている必要はなく、３軸が互いに平行にならないように配置されていればよい。３軸が互いに直交しない場合は、アラインメント補正により、３軸方向の角速度を直交座標系における角速度に変換した後、本実施形態において説明した処理を行うようにすればよい。
【０１９４】
また、本実施形態のセンサー装置では、角速度センサー２０ｘ、２０ｙ、２０ｚがゼロ点電圧の調整機能を有し、オフセット補正部４０は角速度センサー２０ｘ、２０ｙ、２０ｚにゼロ点調整信号を供給することで、オフセット補正処理を実現しているが、これに限られない。例えば、角速度センサー２０ｘ、２０ｙ、２０ｚがゼロ点電圧の調整機能を有していない場合は、オフセット補正部４０は、オフセット補正処理のタイミングにおける角速度センサー２０ｘ、２０ｙ、２０ｚの出力電圧と仕様上のゼロ点電圧との誤差に応じた補正電圧を発生させ、この補正電圧と角速度センサー２０ｘ、２０ｙ、２０ｚの出力電圧とをそれぞれ電圧加算することで、これらの出力電圧を仕様上のゼロ点電圧と一致させるようにしてもよい。
【０１９５】
また、第２、第３実施形態のセンサー装置は、姿勢情報算出部７０を含む姿勢センサーとして構成されており、角速度算出部２２０は、姿勢情報算出部７０が算出する姿勢角を初期状態における姿勢角（φ，θ，ψ）としてω２の計算を行っているが、これに限られない。センサー装置が姿勢センサーでなければ姿勢情報算出部７０を含まず、角速度算出部２２０は、初期状態における姿勢角（φ，θ，ψ）をセンサー装置の外部から受け取って、ω２の計算を行うようにしてもよい。また、地磁気センサー６０ｘ、６０ｙ、６０ｚは必須の構成要素ではないので省略してもよい。
【０１９６】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１９７】
１Ａ，１Ｂ，１Ｃ  センサー装置、１０ｘ，１０ｙ，１０ｚ  加速度センサー、２０ｘ，２０ｙ，２０ｚ  角速度センサー、３０  判定部、４０  オフセット補正部、５０  判定部、６０ｘ，６０ｙ，６０ｚ  地磁気センサー、７０  姿勢情報算出部、１１０  加速度算出部、１２０  角速度判定部、２１０  初期状態検出部、２２０  角速度算出部、２３０  角速度判定部、２４０  判定モード制御部、２５０  角速度判定部、３００  ホストＣＰＵ、３１０  操作部、３２０  表示部、３３０  ＲＯＭ、３４０  ＲＡＭ、３５０  通信部、４００  センサー装置、５００  電子機器
【図１】
2012037405.tif 000043
【図２】
2012037405.tif 000044
【図３】
2012037405.tif 000045
【図４】
2012037405.tif 000046
【図５】
2012037405.tif 000047
【図６】
2012037405.tif 000048
【図７】
2012037405.tif 000049
【図８】
2012037405.tif 000050
【図９】
2012037405.tif 000051
【図１０】
2012037405.tif 000052
【図１１】
2012037405.tif 000053
【図１２】
2012037405.tif 000054