(57)【要約】【課題】移動状態であっても、オフセット値を精度よく算出する。【解決手段】オフセット算出装置１０は、ジャイロセンサ５０から出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、ジャイロセンサ５０によるセンシング対象の回転状態を判定する判定部２０と、判定部２０によってセンシング対象が無回転状態であると判定された期間に対応するセンサデータに基づいて、センサデータのオフセット値を算出する算出部３０と、を備える。【選択図】図４
2020139883.tif 000002
【特許請求の範囲】
【請求項１】
角速度センサから出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、前記角速度センサによるセンシング対象の回転状態を判定する判定部と、
前記判定部によって前記センシング対象が無回転状態であると判定された期間に対応する前記センサデータに基づいて、前記センサデータのオフセット値を算出する算出部と、
を備えるオフセット算出装置。
【請求項２】
前記センサデータに応じた数値は、前記センサデータの移動平均の分散値に応じた数値である
請求項１に記載のオフセット算出装置。
【請求項３】
前記判定部は、
前記センサデータに応じた数値の時系列データに対して導出された第１の期間による移動平均値に基づいて、前記センシング対象の回転状態を判定する第１の回転判定部と、
前記センサデータに応じた数値の時系列データに対して導出された前記第１の期間よりも長い期間である第２の期間による移動平均値に基づいて、前記センシング対象の回転状態を判定する第２の回転判定部と、
前記第１の回転判定部の判定結果及び前記第２の回転判定部の判定結果の組み合わせに基づいて、前記センシング対象の回転状態を判定する第３の回転判定部と、
を備える請求項１又は請求項２に記載のオフセット算出装置。
【請求項４】
前記第１の回転判定部の判定結果が無回転状態を示し、前記第２の回転判定部の判定結果が回転状態を示す場合、所定期間の経過後に前記センシング対象が回転状態又は無回転状態の何れかであると判定される
請求項３に記載のオフセット算出装置。
【請求項５】
前記算出部は、前記所定期間の経過後に前記センシング対象が無回転状態であると判定された場合、前記所定期間に対応する前記センサデータによって前記センサデータのオフセット値を算出する
請求項４に記載のオフセット算出装置。
【請求項６】
前記第３の回転判定部は、前記第１の回転判定部の判定結果及び前記第２の回転判定部の判定結果の組み合わせに基づいて、前記センシング対象が回転状態、無回転状態及び判定保留状態の何れかであると判定し、
前記算出部は、前記第３の回転判定部の判定結果が、前記センシング対象が無回転状態であることを示す場合、及び前記所定期間継続して前記センシング対象が判定保留状態であることを示す場合に、前記センサデータのオフセット値を算出する
請求項４又は請求項５の何れか１項に記載のオフセット算出装置。
【請求項７】
前記算出部は、前記第３の回転判定部の判定結果が、前記センシング対象が判定保留状態であることを示す状態から前記所定期間内に無回転状態であることを示す状態に遷移した場合は、当該判定保留状態であると判定された期間に対応するセンサデータに基づいて前記センサデータのオフセット値を算出する
請求項６に記載のオフセット算出装置。
【請求項８】
前記センサデータを所定の遅延時間遅延させて出力する遅延部を更に含み、
前記算出部は、前記遅延部から出力される遅延したセンサデータを用いて、前記センサデータのオフセット値を算出する
請求項１から請求項７の何れか１項に記載のオフセット算出装置。
【請求項９】
前記算出部は、前記センサデータの所定時間内における時間推移によって示される信号波形の波形部分の面積に応じた数値に基づいて、前記センサデータのオフセット値を算出する
請求項１から請求項８の何れか１項に記載のオフセット算出装置。
【請求項１０】
前記算出部は、前記センサデータの前記所定時間内における時間推移によって示される信号波形の正側の波形部分の面積と負側の波形部分の面積との差分を、前記所定時間に応じた数値で除算することで、前記センサデータのオフセット値を算出する
請求項９に記載のオフセット算出装置。
【請求項１１】
請求項９又は請求項１０に記載のオフセット算出装置と、
前記オフセット算出装置の前記算出部により算出された前記センサデータのオフセット値に基づいて、前記センサデータを補正する補正部と、
を含み、
前記算出部は、前記補正部により補正された前記センサデータの前記所定時間内における時間推移によって示される信号波形の正側の波形部分の面積及び負側の波形部分の面積が同じになるように、前記センサデータのオフセット値を算出する
オフセット補正装置。
【請求項１２】
角速度センサから出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、前記角速度センサによるセンシング対象の回転状態を判定し、前記センシング対象が無回転状態であると判定された期間に対応する前記センサデータに基づいて前記センサデータのオフセット値を算出する
オフセット算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフセット算出装置、オフセット補正装置及びオフセット算出方法に関する。
【背景技術】
【０００２】
従来、ジャイロセンサにより検出した角速度に関するセンサデータに応じて回転状態を判定する場合に、精度よく回転状態を判定するため、センサデータに含まれるオフセットを除去する種々の方法が提案されている。例えば、無回転状態におけるセンサデータの平均値を求めてオフセット値とし、センサデータの出力をオフセット値を用いて補正する方法がある。
【０００３】
例えば、特許文献１に記載のオフセットドリフト補正装置は、ジャイロセンサを装備した移動体において、ジャイロセンサから出力される角速度の大きさに対する閾値を用いて移動体が回転状態か否かを判定する。また、ジャイロセンサの出力と適応フィルタの出力（推定オフセットレベル）との差（誤差値）を平均化し、無回転状態であると判断した場合にのみ、平均化した誤差値を用いて推定オフセットレベルを更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３２４９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ジャイロセンサが搭載された装置においては、無回転状態であっても、歩行時や走行時等の移動状態にある場合には、一方向に振動が生じる場合がある。
【０００６】
図１には、無回転状態で移動状態にある場合にジャイロセンサから出力されるセンサデータの一例が示されている。（ａ１）及び（ｂ１）はセンサデータである角速度の時間推移であり、（ａ２）及び（ｂ２）は角速度の積分値である角度の時間推移である。（ａ１）に示すように、センサデータの振動に偏りがない場合は、（ａ２）に示すように角度の推移は一定となる。一方、移動状態によっては、（ｂ１）に示すように、センサデータの振動の中心が偏る場合があり、この場合（ｂ２）に示すように角度の推移はドリフトする。例えば、ズボンのポケットにジャイロセンサが搭載された装置を入れて歩行すると、直線上に歩行しても、ジャイロセンサのセンサデータの振動に偏りが生じる場合がある。
【０００７】
何れの場合においても、無回転状態で振動が生じることで、上記特許文献１では、例えば、短期間で移動体の回転状態を判定した場合に、無回転状態にもかかわらず回転状態と誤判定し、推定オフセットレベルが更新されないという問題がある。
【０００８】
本発明は、以上の点に鑑みてなされたものであり、移動状態であっても、オフセット値を精度よく算出することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るオフセット算出装置は、角速度センサから出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、前記角速度センサによるセンシング対象の回転状態を判定する判定部と、前記判定部によって前記センシング対象が無回転状態であると判定された期間に対応する前記センサデータに基づいて、前記センサデータのオフセット値を算出する算出部と、を備える。
【００１０】
本発明に係るオフセット算出方法は、角速度センサから出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、前記角速度センサによるセンシング対象の回転状態を判定し、前記センシング対象が無回転状態であると判定された期間に対応する前記センサデータに基づいて前記センサデータのオフセット値を算出する。
【発明の効果】
【００１１】
本発明によれば、移動状態であっても、オフセット値を精度よく算出することができる。
【図面の簡単な説明】
【００１２】
【図１】無回転状態で移動状態にある場合にジャイロセンサから出力されるセンサデータの一例を示す図である。
【図２】各実施形態に係るオフセット補正装置の構成の一例を示すブロック図である。
【図３】各実施形態に係るオフセット算出装置のハードウェア構成の一例を示すブロック図である。
【図４】第１の実施形態に係るオフセット算出装置の機能的な構成の一例を示すブロック図である。
【図５】第１の実施形態に係る導出処理の一例を示すフローチャートである。
【図６】第１の実施形態に係る第１及び第２の回転判定処理の一例を示すフローチャートである。
【図７】第１の実施形態に係る導出処理並びに第１及び第２の回転判定処理の一例を示す図である。
【図８】第１の実施形態に係る第３の回転判定処理の一例を示すフローチャートである。
【図９】第１の実施形態に係る算出期間判定処理の一例を示すフローチャートである。
【図１０】第１の実施形態に係る分散値の時間推移の一例を示す図である。
【図１１】第２の実施形態に係るオフセット算出装置の機能的な構成の一例を示す機能ブロック図である。
【図１２】第２の実施形態に係る面積計算処理の一例を示すフローチャートである。
【図１３】第２の実施形態に係るオフセット算出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。なお、各図面において同一又は対応する構成要素には同一の参照符号を付与している。
【００１４】
まず、図２を参照して、各実施形態に係るオフセット補正装置７０の機能構成を説明する。図２に示すように、オフセット補正装置７０は、オフセット算出装置１０、ジャイロセンサ５０及び補正部６０を備える。ジャイロセンサ５０から出力される角速度値に関するセンサデータがオフセット算出装置１０及び補正部６０に入力される。オフセット算出装置１０から出力されるオフセット値が補正部６０に入力される。オフセット補正装置７０は、例えば、スマートフォン及びタブレットコンピュータ等の携帯端末装置に搭載される。
【００１５】
ジャイロセンサ５０は、センシング対象の角速度を検出して、検出した角速度の大きさを示す角速度値をセンサデータとして出力する。ジャイロセンサ５０は、例えば、特定の１軸の角速度値を検出するセンサであってもよいし、複数軸（２軸又は３軸）の角速度値の各々を検出するセンサであってもよい。ジャイロセンサ５０は、１軸の角速度を検出するセンサである場合には、当該軸の角速度値をセンサデータとして出力する。また、複数軸の角速度を検出するセンサである場合には、軸毎の角速度値をセンサデータとして出力し、この場合、ジャイロセンサ５０は、各軸の角速度を単一のデバイスで検出してもよいし、軸毎に異なるデバイスで検出してもよい。
【００１６】
オフセット算出装置１０は、ジャイロセンサ５０から出力されるセンサデータに重畳するオフセット量に相当するオフセット値を算出する。
【００１７】
補正部６０は、オフセット算出装置１０により算出されたオフセット値に基づいて、ジャイロセンサ５０から出力されるセンサデータを補正する。なお、補正部６０は、オフセット算出装置１０とは異なるデバイスとは限らず、オフセット算出装置１０と同一のデバイスによって構成されていてもよい。
【００１８】
次に、図３を参照して、本実施形態に係るオフセット算出装置１０のハードウェア構成を説明する。図３に示すように、オフセット算出装置１０は、ＣＰＵ（Central Processing Unit）１１、一時記憶領域としてのメモリ１２、入出力ポート１３及び不揮発性の記憶部１４を含む。ＣＰＵ１１、メモリ１２、入出力ポート１３及び記憶部１４は、バス１９に接続される。
【００１９】
記憶部１４は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、及びフラッシュメモリ等の不揮発性の記憶媒体によって実現される。記憶媒体としての記憶部１４には、判定処理プログラム１５、算出処理プログラム１６及び遅延処理プログラム１７が記憶される。ＣＰＵ１１は、記憶部１４から各プログラムを読み出してからメモリ１２に展開し、展開した各プログラムを実行する。
【００２０】
［第１の実施形態］
図４を参照して、本実施形態に係るオフセット算出装置１０の機能的な構成を説明する。図４に示すように、オフセット算出装置１０は、判定部２０、算出部３０及び遅延部４０を備える。ＣＰＵ１１が判定処理プログラム１５を実行することで、判定部２０として機能する。また、ＣＰＵ１１が算出処理プログラム１６を実行することで、算出部３０として機能する。また、ＣＰＵ１１が遅延処理プログラム１７を実行することで、遅延部４０として機能する。なお、図４には、オフセット算出装置１０とともに使用されるジャイロセンサ５０及び補正部６０も示されている。
【００２１】
判定部２０は、ジャイロセンサ５０から出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、オフセット補正装置７０の回転状態を判定する。また、判定部２０は、導出部２２、第１の回転判定部２４、第２の回転判定部２６及び第３の回転判定部２８を備える。
【００２２】
導出部２２は、ジャイロセンサ５０から出力されるセンサデータに応じた数値の時系列データを導出する。具体的には、導出部２２は、ジャイロセンサ５０から出力されるセンサデータによって示される角速度の移動平均値Ａを算出し、移動平均値Ａの移動平均を更に算出することにより移動平均Ｂを算出する。導出部２２は、移動平均値Ａと移動平均値Ｂとの差分Ｃを二乗した数値Ｄの時系列データを導出する。
【００２３】
第１の回転判定部２４は、導出部２２によって導出された数値Ｄの時系列データに対して第１の期間による移動平均値を導出し、オフセット補正装置７０が搭載された機器（例えば、スマートフォン及びタブレットコンピュータ等の携帯端末装置、以下、対象機器という）の回転状態を暫定的に判定し、暫定的な第１の回転判定結果を出力する。第１の期間とは、第１の回転判定部２４が移動平均値を導出する際に用いる数値Ｄの時系列データのデータ区間の長さである。
【００２４】
第２の回転判定部２６は、導出部２２によって導出された数値Ｄの時系列データに対して第１の期間よりも長い期間である第２の期間による移動平均値を導出し、対象機器の回転状態を暫定的に判定し、暫定的な第２の回転判定結果を出力する。第２の期間とは、第２の回転判定部２６が移動平均値を導出する際に用いる数値Ｄの時系列データのデータ区間の長さである。
【００２５】
第３の回転判定部２８は、第１の回転判定結果及び第２の回転判定結果の組み合わせに基づいて、対象機器の回転状態を最終的に判定し、最終的な第３の回転判定結果を出力する。第３の回転判定部２８は、第１の回転判定結果及び第２の回転判定結果の組み合わせに基づいて、対象機器が回転状態、無回転状態及び判定保留状態の何れかであると判定した結果を、第３の回転判定結果として出力する。
【００２６】
遅延部４０は、センサデータを所定の遅延時間遅延させて出力する。所定の遅延時間とは、判定部２０の各処理で生じる遅延時間（すなわち、導出部２２にジャイロセンサ５０からのセンサデータが入力されてから、第３の回転判定部２８から第３の回転判定結果が出力されるまでの期間）に相当する時間である。すなわち、遅延部４０は、判定部２０の各処理で生じる遅延時間に合わせてジャイロセンサ５０から出力されるセンサデータを遅延させており、遅延部４０から出力されるセンサデータは、判定部２０から出力される第３の回転判定結果の出力タイミングと同期している。
【００２７】
算出部３０は、判定部２０によって対象機器が無回転状態であると判定された期間に対応するセンサデータに基づいて、センサデータのオフセット値を算出する。すなわち、算出部３０は、第３の回転判定結果が、対象機器が無回転状態であることを示す場合に、当該無回転状態であると判定された期間に対応するセンサデータに基づいてセンサデータのオフセット値を算出する。
【００２８】
また、算出部３０は、第３の回転判定結果が、対象機器が所定期間継続して判定保留状態であることを示す場合に、当該判定保留状態であると判定された期間は、無回転状態であったと推定し、当該判定保留状態であると判定された期間に対応するセンサデータに基づいて、センサデータのオフセット値を事後的に算出する。また、算出部３０は、第３の回転判定結果が、対象機器が判定保留状態であることを示す状態から所定期間内に無回転状態であることを示す状態に遷移した場合は、当該判定保留状態であると判定された期間は、無回転状態であったと推定し、当該判定保留状態であると判定された期間に対応するセンサデータに基づいてセンサデータのオフセット値を事後的に算出する。また、算出部３０は、第３の回転判定結果が、対象機器が判定保留状態であることを示す状態から所定期間内に回転状態であることを示す状態に遷移した場合は、当該判定保留状態であると判定された期間は、回転状態であったと推定し、当該判定保留状態であると判定された期間に対応するセンサデータに基づくオフセット値を算出しないよう事後的に決定する。
【００２９】
算出部３０は、遅延部４０から出力される遅延したセンサデータを用いて、センサデータのオフセット値を算出する。すなわち、算出部３０は、判定部２０から出力される対象機器の回転状態の判定結果と、遅延部４０から出力される遅延したセンサデータとに基づいて、センサデータのオフセット値を算出する。
【００３０】
次に、本実施形態に係る判定部２０の作用を説明する。ＣＰＵ１１が判定処理プログラム１５を実行することで、導出部２２における導出処理、第１の回転判定部２４における第１の回転判定処理、第２の回転判定部２６における第２の回転判定処理、第３の回転判定部２８における第３の回転判定処理が実行される。
【００３１】
まず、図５を参照して、本実施形態に係る導出処理を説明する。図５に示す導出処理は、例えば、ジャイロセンサ５０から出力されたセンサデータを、オフセット算出装置１０が受信した場合に実行される。
【００３２】
ステップＳ１１で、導出部２２は、ジャイロセンサ５０から出力されるセンサデータに対して移動平均処理をし、移動平均値Ａを導出する。ステップＳ１２で、導出部２２は、移動平均値Ａに対して更に移動平均処理をし、移動平均値Ｂを導出する。ステップＳ１３で、導出部２２は、移動平均値Ａと移動平均値Ｂの差分Ｃを導出する。ステップＳ１４で、導出部２２は、差分Ｃの二乗した数値Ｄを導出する。導出部２２は、ステップＳ１１からステップＳ１４の処理を繰り返し実施することで、数値Ｄの時系列データを導出する。
【００３３】
次に、図６を参照して、本実施形態に係る第１の回転判定処理及び第２の回転判定処理を説明する。図６に示す第１及び第２の回転判定処理は、例えば、導出部２２において数値Ｄの時系列データが導出された後に実行される。以下、図６における移動平均値Ｅについて、第１の回転判定処理においては移動平均値Ｅ１、第２の回転判定処理においては移動平均値Ｅ２と記載する。
【００３４】
まず、第１の回転判定処理について説明する。ステップＳ２１で、第１の回転判定部２４は、導出部２２において導出した数値Ｄの時系列データに対して第１の期間による移動平均処理をし、移動平均値Ｅ１を導出する。
【００３５】
ステップＳ２２で、第１の回転判定部２４は、移動平均値Ｅ１と閾値Ｔとを比較する。閾値Ｔはあらかじめ設定した値である。移動平均値Ｅ１が閾値Ｔ以上である場合（ステップＳ２２ Ｙ）、第１の回転判定部２４は、対象機器が回転状態の可能性があると判定し、暫定的な第１の回転判定結果をＴＲＵＥ判定とする（ステップＳ２３）。一方、移動平均値Ｅ１が閾値Ｔよりも小さい場合（ステップＳ２２ Ｎ）、第１の回転判定部２４は、対象機器が無回転状態の可能性があると判定し、暫定的な第１の回転判定結果をＦＡＬＳＥ判定とする（ステップＳ２４）。
【００３６】
第２の回転判定処理は、第２の回転判定部２６が、上述した第１の回転判定処理と同様の処理を行い、第２の回転判定結果を導出するが、ステップＳ２１において、第１の期間よりも長い第２の期間による移動平均処理をし、移動平均値Ｅ２を導出する。すなわち、移動平均値Ｅ２の導出に用いるデータ区間の長さは、移動平均値Ｅ１の導出に用いるデータ区間の長さより長い。なお、ステップＳ２２における閾値Ｔは、上述した第１の回転判定処理と同じものである。
【００３７】
図７に、上述した導出処理並びに第１及び第２の回転判定処理の一例を示す。図７に示す時間は、例えば、導出処理の開始からの時間である。角速度は、ジャイロセンサ５０から出力されるセンサデータの角速度値である。なお、図７には１秒毎の角速度値が示されているが、ジャイロセンサ５０の測定間隔は１秒とは限らず、それ以外であってもよい。Ａは導出処理のステップＳ１１で導出部２２が導出した移動平均値Ａであり、Ｂは導出処理のステップＳ１２で導出部２２が導出した移動平均値Ｂであり、Ｃは導出処理のステップＳ１３で導出部２２が導出した差分Ｃであり、Ｄは導出処理のステップＳ１４で導出部２２が導出した数値Ｄである。Ｅ１は第１の回転判定処理のステップＳ２１で第１の回転判定部２４が導出した移動平均値Ｅ１であり、Ｅ２は第２の回転判定処理のステップＳ２１で第２の回転判定部２６が導出した移動平均値Ｅ２である。
【００３８】
まず、導出部２２は、角速度の移動平均値Ａを導出する（ステップＳ１１）。移動平均値Ａの導出に用いるデータ区間の長さは、例えば、５秒とする。移動平均値Ａの導出に用いるデータ区間の長さは、長いほど回転状態の判定の精度が向上する一方で、遅延も大きくなる。
【００３９】
次に、導出部２２は、移動平均値Ａに対してさらに移動平均処理をし、移動平均値Ｂを導出する（ステップＳ１２）。移動平均値Ｂの導出に用いるデータ区間の長さは、判定の精度を向上させるため、移動平均値Ａの導出に用いるデータ区間の長さよりも長いことが好ましく、例えば、１０秒とする。
【００４０】
次に、導出部２２は、移動平均値Ａと移動平均値Ｂの差分Ｃを導出する（ステップＳ１３）。すなわち、差分Ｃは移動平均値Ａの偏差である。次に、導出部２２は、差分Ｃの二乗である数値Ｄを導出する（ステップＳ１４）。
【００４１】
次に、第１の回転判定部２４及び第２の回転判定部２６は、それぞれ、数値Ｄの移動平均値Ｅ１及びＥ２を導出する（ステップＳ２１）。すなわち、移動平均値Ｅ１及びＥ２は移動平均値Ａの分散値である。分散値は、対象機器が回転状態である場合は大きく、無回転状態である場合は小さくなる特徴がある。移動平均値Ｅ１の導出に用いるデータ区間の長さは、判定の精度を向上させるため、移動平均値Ｂの導出に用いるデータ区間の長さよりも長いことが好ましく、例えば、２０秒とする。また、移動平均値Ｅ２の導出に用いるデータ区間の長さは、例えば、３０秒とする。
【００４２】
図１０に、上述した第１及び第２の回転判定処理で導出した、移動平均値Ｅ１及びＥ２の時間推移の一例を示す。第１の回転判定処理において、時刻０〜ｔ１、時刻ｔ２〜ｔ３及び時刻ｔ５〜ｔ７の期間は、移動平均値Ｅ１が閾値Ｔよりも小さいので（ステップＳ２２ Ｎ）、第１の回転判定部２４は、第１の回転判定結果をＦＡＬＳＥ判定として出力する（ステップＳ２４）。一方、時刻ｔ１〜ｔ２、時刻ｔ３〜ｔ５及び時刻ｔ７〜ｔ９の期間は、移動平均値Ｅ１が閾値Ｔ以上なので（ステップＳ２２ Ｙ）、第１の回転判定部２４は、第１の回転判定結果をＴＲＵＥ判定として出力する（ステップＳ２３）。
【００４３】
移動平均値Ｅ１は移動平均値Ｅ２よりも移動平均値の導出に用いるデータ区間の長さが短いので、例えば、時刻ｔ１〜ｔ２及び時刻ｔ７〜ｔ９間のような一時的な振動による変動が大きく、第１の回転判定結果は、無回転状態にもかかわらずＴＲＵＥ判定とされる誤判定が起こりやすいという課題がある。一方で、例えば、時刻ｔ３〜ｔ４及び時刻ｔ５〜ｔ６のように、移動平均値Ｅ１の時間推移は、移動平均値Ｅ２の時間推移に比べて遅延が少なく、回転状態の判定を高速に行うことができるという利点がある。
【００４４】
第２の回転判定処理において、時刻０〜ｔ４及び時刻ｔ６以降の期間は、移動平均値Ｅ２が閾値Ｔよりも小さいので（ステップＳ２２ Ｎ）、第２の回転判定部２６は、第２の回転判定結果をＦＡＬＳＥ判定として出力する（ステップＳ２４）。一方、時刻ｔ４〜ｔ６の期間は、移動平均値Ｅ２が閾値Ｔ以上なので（ステップＳ２２ Ｙ）、第２の回転判定部２６は、第２の回転判定結果をＴＲＵＥ判定として出力する（ステップＳ２３）。
【００４５】
移動平均値Ｅ２は移動平均値Ｅ１よりも移動平均値の導出に用いるデータ区間の長さが長いので、例えば、時刻ｔ３〜ｔ４及び時刻ｔ５〜ｔ６のように、移動平均値Ｅ２の時間推移は、移動平均値Ｅ１の時間推移よりも遅延が大きく、第２の回転判定結果は、回転状態の判定に遅延が生じやすいという課題がある。一方で、移動平均値Ｅ２の時間推移においては、例えば、時刻ｔ１〜ｔ２及び時刻ｔ７〜ｔ９において移動平均値Ｅ１の時間推移において生じる一時的な振動は生じないので、第２の回転判定部２６における回転状態の判定の精度は、第１の回転判定部２４における回転状態の判定の精度よりも高いという利点がある。
【００４６】
このように、移動平均値の導出に用いるデータ区間の長さが互いに異なる第１の回転判定結果と第２の回転判定結果とでは、異なる性質をもつ。そこで、第３の回転判定部２８では、第１の回転判定結果及び第２の回転判定結果の組み合わせに基づいて、最終的な回転状態の判定し、最終的な第３の回転判定結果を出力する。これにより、対象機器が移動状態であっても、精度よく当該機器の回転状態の判定を行うことが可能となる。
【００４７】
図８を参照して、本実施形態に係る第３の回転判定処理を説明する。図８に示す第３の回転判定処理は、例えば、第１の回転判定結果及び第２の回転判定結果の双方が導出された後に実行される。
【００４８】
ステップＳ３１で、第３の回転判定部２８は、第１の回転判定結果及び第２の回転判定結果の組み合わせを判定する。ステップＳ３１で、第１の回転判定結果及び第２の回転判定結果の双方がＦＡＬＳＥ判定である場合、ステップＳ３２に移行する。ステップＳ３２で、第３の回転判定部２８は、オフセット補正装置７０の回転状態が無回転状態であることを示す判定信号を第３の回転判定結果として出力する。
【００４９】
ステップＳ３３で、第３の回転判定部２８は、再度第１の回転判定結果及び第２の回転判定結果の組み合わせを判定し、ともにＦＡＬＳＥ判定である場合は（ステップＳ３３ Ｙ）、ステップＳ３２に戻る。一方、ステップＳ３３で、第１の回転判定結果及び第２の回転判定結果の少なくとも一方がＴＲＵＥ判定である場合は（ステップＳ３３ Ｎ）、後述するステップＳ３４に移行する。
【００５０】
ステップＳ３１で、第１の回転判定結果及び第２の回転判定結果の一方がＴＲＵＥ判定で、他方がＦＡＬＳＥ判定である場合、第３の回転判定部２８は、ステップＳ３４に移行する。ステップＳ３４で、第３の回転判定部２８は、対象機器の回転状態の判定を保留し、判定保留状態を示す判定信号を第３の回転判定結果として出力する。
【００５１】
ステップＳ３５で、第３の回転判定部２８は、第２の回転判定結果がＴＲＵＥ判定であるか否かを判定する。第２の回転判定結果がＴＲＵＥ判定であった場合は（ステップＳ３５ Ｙ）、後述するステップＳ３７に移行する。一方、第２の回転判定結果がＦＡＬＳＥ判定であった場合は（ステップＳ３５ Ｎ）、ステップＳ３６に移行する。
【００５２】
ステップＳ３６で、第３の回転判定部２８は、第１の回転判定結果がＦＡＬＳＥ判定であるか否かを判定する。第１の回転判定結果がＦＡＬＳＥ判定であった場合は（ステップＳ３６ Ｙ）、ステップＳ３２に移行する。一方、第１の回転判定結果がＴＲＵＥ判定であった場合は（ステップＳ３６ Ｎ）、ステップＳ３４に戻る。
【００５３】
ステップＳ３１で、第１の回転判定結果及び第２の回転判定結果の双方がＴＲＵＥ判定である場合、第３の回転判定部２８は、ステップＳ３７に移行する。ステップＳ３７で、ＣＰＵ１１は、オフセット補正装置７０が回転状態であることを示す判定信号を第３の回転判定結果として出力する。
【００５４】
ステップＳ３８で、第３の回転判定部２８は、再度第１の回転判定結果及び第２の回転判定結果の組み合わせを判定し、ともにＦＡＬＳＥ判定である場合は（ステップＳ３８ Ｙ）、ステップＳ３２に移行する。一方、ステップＳ３８で、第１の回転判定結果及び第２の回転判定結果の少なくとも一方がＴＲＵＥ判定である場合は（ステップＳ３８ Ｎ）、ステップＳ３５に移行する。
【００５５】
次に、本実施形態に係る算出部３０の作用を説明する。ＣＰＵ１１が算出処理プログラム１６を実行することで、算出期間判定処理が実行される。
【００５６】
図９を参照して、本実施形態に係る算出期間判定処理を説明する。図９に示す算出期間判定処理は、例えば、第３の回転判定部２８において第３の回転判定結果が出力された後に実行される。
【００５７】
ステップＳ４１で、算出部３０は、出力された第３の回転判定結果が、無回転状態、判定保留状態及び回転状態の何れの場合を示すものかを判定する。
【００５８】
ステップＳ４１で、第３の回転判定結果が無回転状態を示すものである場合、ステップＳ４２に移行する。ステップＳ４２で、算出部３０は、第３の回転判定結果として無回転状態を示す判定信号が出力されている期間である無回転判定期間について、オフセット値を算出する。
【００５９】
ステップＳ４１で、第３の回転判定結果が回転状態を示すものである場合、算出部３０は、算出期間判定処理を終了する。すなわち、第３の回転判定結果として回転状態を示す判定信号が出力されている期間である回転判定期間については、オフセット値の算出を行わないようにする。
【００６０】
ステップＳ４１で、第３の回転判定結果が判定保留状態を示すものである場合、ステップＳ４３に移行する。ステップＳ４３で、算出部３０は、最初に第３の回転判定結果として判定保留状態を示す判定信号が出力されてから、所定期間内に、第３の回転判定結果として回転状態を示す判定信号が出力されるか否かを判定する。すなわち、算出部３０は、第３の回転判定部２８から回転状態及び無回転状態の何れかを示す判定信号が出力されるか、所定期間が経過するまで待機する。所定期間は、予め定められた期間である。
【００６１】
ステップＳ４３で、所定期間内に回転状態を示す判定信号が出力された場合は、算出部３０は、算出期間判定処理を終了する。すなわち、第３の回転判定結果として判定保留状態を示す判定信号が出力されている期間である判定保留期間も回転状態であったと推定し、当該判定保留期間に対応するセンサデータに基づくオフセット値の算出を行わないようにする。
【００６２】
一方、ステップＳ４３で、所定期間内に無回転状態を示す判定信号が出力された場合は、算出部３０は、ステップＳ４４に移行する。ステップＳ４４で、算出部３０は、判定保留期間及び無回転判定期間の各々について、オフセット値を算出する。すなわち、判定保留期間も無回転状態であったと推定し、判定保留期間及び無回転判定期間の各々についてオフセット値の算出を行うようにする。また、所定期間経過後も判定保留状態を示す判定信号が継続して出力され続けた場合も、ステップＳ４４で、無回転状態を示す判定信号が出力された場合と同様の処理をする。
【００６３】
次に、図１０を参照して、上述した第３の回転判定処理及び算出期間判定処理の一例を説明する。まず、例えば、時刻０〜ｔ１の期間のように移動平均値Ｅ１及びＥ２が推移する場合を説明する。時刻０で、第１の回転判定結果及び第２の回転判定結果の双方がＦＡＬＳＥ判定であるので（ステップＳ３１ Ｆ／Ｆ）、第３の回転判定部２８は、無回転状態を示す判定信号を出力する（ステップＳ３２）。その後、時刻０〜ｔ１の期間においても、第１の回転判定結果及び第２の回転判定結果の双方がＦＡＬＳＥ判定であるので（ステップＳ３３ Ｙ）、第３の回転判定部２８は、時刻０〜ｔ１の期間に亘り無回転状態を示す判定信号を出力し続ける（ステップＳ３２）。判定信号が無回転状態を示すものであるので（ステップＳ４１ 無回転状態）、算出部３０は、時刻０〜ｔ１の期間に対応するセンサデータに基づいてオフセット値を算出する（ステップＳ４２）。
【００６４】
次に、例えば、時刻ｔ１〜ｔ２の期間のように移動平均値Ｅ１及びＥ２が推移する場合を説明する。時刻ｔ１で、第１の回転判定結果がＴＲＵＥ判定となるので（ステップＳ３３ Ｎ）、第３の回転判定部２８は、判定保留状態を示す判定信号を出力する（ステップＳ３４）。その後、時刻ｔ１〜ｔ２の期間において、第２の回転判定結果がＦＡＬＳＥ判定であり（ステップＳ３５ Ｎ）、第１の回転判定結果がＴＲＵＥ判定であるので（ステップＳ３６ Ｎ）、第３の回転判定部２８は、時刻ｔ１〜ｔ２の期間に亘り判定保留状態を示す判定信号を出力し続ける（ステップＳ３４）。
【００６５】
時刻ｔ２で、第１の回転判定結果がＦＡＬＳＥ判定となるので（ステップＳ３６ Ｙ）、第３の回転判定部２８は、無回転状態を示す判定信号を出力する（ステップＳ３２）。判定保留状態と判定した時刻ｔ１から所定期間内に、無回転状態を示す判定信号が出力されたので（ステップＳ４３ 無回転状態に遷移）、算出部３０は、判定保留期間ｔ１〜ｔ２は無回転状態であったと推定し、時刻ｔ１〜ｔ２に対応するセンサデータに基づいてオフセット値を算出する（ステップＳ４４）。
【００６６】
次に、例えば、時刻ｔ３〜ｔ５の期間のように移動平均値Ｅ１及びＥ２が推移する場合を説明する。時刻ｔ３で、第１の回転判定結果がＴＲＵＥ判定となるので（ステップＳ３３ Ｎ）、第３の回転判定部２８は、判定保留状態を示す判定信号を出力する（ステップＳ３４）。その後、時刻ｔ３〜ｔ４の期間において、第２の回転判定結果がＦＡＬＳＥ判定であり（ステップＳ３５ Ｎ）、第１の回転判定結果がＴＲＵＥ判定であるので（ステップＳ３６ Ｎ）、第３の回転判定部２８は、時刻ｔ３〜ｔ４の期間に亘り判定保留状態を示す判定信号を出力し続ける（ステップＳ３４）。
【００６７】
時刻ｔ４で、第２の回転判定結果がＴＲＵＥ判定となるので（ステップＳ３５ Ｙ）、第３の回転判定部２８は、回転状態を示す判定信号を出力する（ステップＳ３７）。判定保留状態と判定した時刻ｔ３から所定期間内に、回転状態を示す判定信号が出力されたので（ステップＳ４３ 回転状態に遷移）、算出部３０は、判定保留期間ｔ３〜ｔ４は回転状態であったと推定し、時刻ｔ３〜ｔ４の期間に対応するセンサデータに基づくオフセット値の算出を行わないようにする。
【００６８】
その後、時刻ｔ４〜ｔ５の期間においても、第１の回転判定結果及び第２の回転判定結果の双方がＴＲＵＥ判定であるので（ステップＳ３８ Ｎ）（ステップＳ３５ Ｙ）、第３の回転判定部２８は、時刻ｔ４〜ｔ５の期間に亘り回転状態を示す判定信号を出力し続ける（ステップＳ３７）。したがって、算出部３０は、時刻ｔ４〜ｔ５の期間に対応するセンサデータに基づくオフセット値の算出を行わないようにする（ステップＳ４１ 回転状態）。
【００６９】
次に、例えば、時刻ｔ５〜ｔ６の期間のように移動平均値Ｅ１及びＥ２が推移する場合を説明する。時刻ｔ５で、第１の回転判定結果はＦＡＬＳＥ判定となるが、第２の回転判定結果はＴＲＵＥ判定であるので（ステップＳ３８ Ｎ）（ステップＳ３５ Ｙ）、第３の回転判定部２８は、回転状態を示す判定信号を出力し続ける（ステップＳ３７）。したがって、算出部３０は、時刻ｔ５〜ｔ６の期間に対応するセンサデータに基づくオフセット値の算出を行わないようにする（ステップＳ４１ 回転状態）。
【００７０】
次に、例えば、時刻ｔ７〜ｔ９の期間のように移動平均値Ｅ１及びＥ２が推移する場合を説明する。時刻ｔ７で、第１の回転判定結果がＴＲＵＥ判定となるので（ステップＳ３３ Ｎ）、第３の回転判定部２８は、判定保留状態を示す判定信号を出力する（ステップＳ３４）。その後、時刻ｔ７〜ｔ８の期間において、第２の回転判定結果がＦＡＬＳＥ判定であり（ステップＳ３５ Ｎ）、第１の回転判定結果がＴＲＵＥ判定であるので（ステップＳ３６ Ｎ）、第３の回転判定部２８は、時刻ｔ７〜時刻ｔ８の期間に亘り判定保留状態を示す判定信号を出力し続ける（ステップＳ３４）。
【００７１】
時刻ｔ８で、時刻ｔ７から所定期間が経過する。時刻ｔ８〜ｔ９においても、第２の回転判定結果がＦＡＬＳＥ判定であり（ステップＳ３５ Ｎ）、第１の回転判定結果がＴＲＵＥ判定であるので（ステップＳ３６ Ｎ）、第３の回転判定部２８は、時刻ｔ７〜ｔ９の期間に亘り判定保留状態を示す判定信号を出力し続ける（ステップＳ３４）。時点ｔ７から所定期間が経過した後も回転状態に遷移しないので（ステップＳ４３ Ｎ）、算出部３０は、判定保留期間ｔ７〜ｔ９は無回転状態であったと推定し、時刻ｔ７〜ｔ９の期間に対応するセンサデータに基づいてオフセット値を算出する（ステップＳ４４）。
【００７２】
このように、本実施形態に係る第３の回転判定処理及び算出期間判定処理によれば、時刻ｔ１〜ｔ２の期間で第１の回転判定結果のみがＴＲＵＥ判定となったのは、一時的な振動によるものと判断し、その間は無回転状態であったと推定することができる。また、時刻ｔ３〜ｔ４の期間で第１の回転判定結果のみがＴＲＵＥ判定となったのは、第２の回転判定結果が第１の回転判定結果よりも遅延していることによるものと判断し、その間は回転状態であったと推定することができる。また、時刻ｔ５〜ｔ６の期間で第２の回転判定結果のみがＴＲＵＥ判定となったのは、第２の回転判定結果が第１の回転判定結果よりも遅延していること、又は一時的に第１の回転判定結果がＦＡＬＳＥ判定となったことによるものと判断し、その間は回転状態であったと推定することができる。また、時刻ｔ７〜ｔ９の期間で第１の回転判定結果のみがＴＲＵＥ判定となったのは、移動状態で生じる振動に偏りが生じること等によるものと判断し、その間は無回転状態であったと推定することができる。
【００７３】
すなわち、算出部３０は、対象機器が無回転状態であると推定された期間について、オフセット値を算出することができる。また、判定保留期間について、事後的に回転状態を判断し、オフセット値を算出するか否かを判定することができる。
【００７４】
以上説明したように、本実施形態によれば、判定部２０が、ジャイロセンサ５０から出力されるセンサデータに応じた数値の時系列データに対して導出された、互いに異なる複数の期間の各々による移動平均値に基づいて、ジャイロセンサ５０によるセンシング対象の回転状態を判定し、算出部３０が、判定部２０によって対象機器が無回転状態であると判定された期間に対応するセンサデータに基づいて、センサデータのオフセット値を算出する。すなわち、移動平均値の導出に用いるデータ区間の長さが互いに異なる移動平均値に基づいて回転状態を判定するので、回転状態の判定を精度よく行うことができ、その結果、対象機器が移動状態であっても、オフセット値を精度よく算出することができる。
【００７５】
また、本実施形態によれば、対象機器が移動状態であっても、ジャイロセンサ５０から出力されるセンサデータのみに基づいて回転状態を判定することができる。したがって、移動状態であるか否かを検出するための他のセンサ（例えば、加速度センサ及び地磁気センサ）がなくても、オフセット値を算出することができる。
【００７６】
なお、本実施形態では、第１の回転判定結果及び第２の回転判定結果の組み合わせに基づいて、回転状態を判定したが、これに限らない。例えば、移動平均値Ｅ１及びＥ２の導出に用いたデータ区間の長さとは異なる長さのデータ区間を用いてさらに分散値を導出し、閾値Ｔと比較することで、３以上の暫定的な回転判定結果の組み合わせに基づいて最終的な回転状態を判定してもよい。
【００７７】
また、本実施形態では、移動平均値Ｅ１及びＥ２、すなわちセンサデータの分散値に基づいて、回転状態を判定したが、これに限らない。例えば、分散値の代わりに、センサデータの短時間の平均と長時間の平均を導出し、その組み合わせに基づいて、回転状態を判定してもよい。
【００７８】
［第２の実施形態］
上述した第１の実施形態に係るオフセット算出装置１０によれば、算出部３０は、対象機器が無回転状態であると推定された期間に対応するセンサデータに対して移動平均処理し、移動平均値をオフセット値として出力するものである。この場合、無回転状態のセンサデータにおいて生じる振動が、図１（ａ１）のような振動であれば、精度よくオフセット値を検出することができる。しかしながら、無回転状態においてセンサデータに生じる振動が、図１（ｂ１）のように偏った振動である場合、センサデータに対する移動平均値をオフセット値とすると、振動の偏りが新たなオフセットとなるという課題が生じる。そこで、第２の実施形態に係るオフセット算出装置１０は、上記のセンサデータの振動の偏りを加味してオフセット値を算出するものとする。
【００７９】
図１１を参照して、本実施形態に係るオフセット算出装置１０の機能的な構成を説明する。本実施形態は、第１の実施形態と算出部３０の機能的な構成が異なる。ＣＰＵ１１が算出処理プログラム１６を実行することで、算出部３０として機能する。その他の機能的な構成は、第１の実施形態と同様であるため、説明を省略する。
【００８０】
算出部３０は、センサデータの所定時間内における時間推移によって示される信号波形の波形部分の面積に応じた数値に基づいて、センサデータのオフセット値を算出する。
【００８１】
また、算出部３０は、算出期間判定部３１、面積計算部３２及びオフセット算出部３４を備える。算出期間判定部３１は、第１の実施形態で説明した算出期間判定処理を実行する。面積計算部３２は、センサデータの所定時間内における時間推移によって示される信号波形の正側の波形部分の面積と負側の波形部分の面積とを計算する。オフセット算出部３４は、正側の波形部分の面積と負側の波形部分の面積との差分を、所定時間に応じた数値で除算することで、センサデータのオフセット値を算出する。すなわち、オフセット算出部３４は、補正部６０により補正されたセンサデータの所定時間内における時間推移によって示される信号波形の正側の波形部分の面積及び負側の波形部分の面積が同じになるように、センサデータのオフセット値を算出する。
【００８２】
次に、本実施形態に係る算出部３０の作用を説明する。ＣＰＵ１１が算出処理プログラム１６を実行することで、算出期間判定部３１における算出期間判定処理、面積計算部３２における面積計算処理、オフセット算出部３４におけるオフセット算出処理が実行される。
【００８３】
まず、図１２を参照して、本実施形態に係る面積計算処理を説明する。図１２に示す面積計算処理は、例えば、算出期間判定部３１が、オフセット値を算出する期間を決定した後に実行される。
【００８４】
ステップＳ５１で、面積計算部３２は、遅延部４０から出力されるセンサデータの角速度値が０以上であるか否かを判定する。センサデータが０以上である場合（ステップＳ５１ Ｙ）、面積計算部３２は、角速度値をプラス面積として加算し（ステップＳ５２）、ステップＳ５４に移行する。
【００８５】
一方、ステップＳ５１で、センサデータの角速度値が０未満である場合（ステップＳ５１ Ｎ）、面積計算部３２は、角速度値をマイナス面積として加算し（ステップＳ５３）、ステップＳ５４に移行する。なお、マイナス面積は、オフセット算出処理における計算のため、絶対値で計算する。
【００８６】
ステップＳ５４において、面積計算部３２は、最初にステップＳ５１の判定を行ってから所定時間が経過したか否かを判定し、所定時間が経過する前は、ステップＳ５１〜Ｓ５３を繰り返す。所定時間は、オフセット値を算出するために最低限必要な積算数に応じた時間である。
【００８７】
所定時間が経過した場合は（ステップＳ５４ Ｙ）、ステップＳ５５に移行し、面積計算部３２は、プラス面積及びマイナス面積を出力する。
【００８８】
なお、面積を計算する場合に、角速度値に対し時間で積分しなくてもよい。オフセット算出処理でオフセット値を算出する場合に、面積を時間で微分することになるので、計算の簡略化のため、角速度値を積算するようにしてよい。
【００８９】
次に、図１３を参照して、本実施形態に係るオフセット算出処理を説明する。図１３に示すオフセット算出処理は、例えば、面積計算部３２からプラス面積又はマイナス面積が出力された場合に実行される。
【００９０】
ステップＳ６１において、オフセット算出部３４は、プラス面積とマイナス面積との差分を計算し、その差分を、プラス面積及びマイナス面積を導出する際に実施した積算処理の積算数で除算する。この除算した値が、オフセット値となる。すなわち、オフセット値は、補正部６０により補正されたセンサデータの所定時間内における時間推移によって示される信号波形のプラス面積とマイナス面積とが均等になるように算出した値である。
【００９１】
このように算出したオフセット値は、ジャイロセンサ５０が持つオフセットに振動の偏りも加味して算出したものであるため、ジャイロセンサ５０と振動の偏りの双方のキャリブレーションを同時に実施することができる。
【００９２】
以上説明したように、本実施形態によれば、算出部３０は、対象機器が無回転状態であると推定された期間に対応するセンサデータの所定時間内における時間推移によって示される信号波形の波形部分の面積に応じた数値に基づいて、センサデータのオフセット値を算出する。これにより、無回転状態におけるセンサデータに偏りのある振動が生じる移動状態であっても、オフセット値を精度よく算出することができる。
【００９３】
なお、本実施形態では、オフセット値を算出するための数値として、センサデータの面積に応じた数値を用いることとしているが、これに限定されるものではない。例えば、プラス側の最大値と、マイナス側の最小値との平均を用いてもよい。
【００９４】
また、上記各実施形態では、角速度センサの一例としてジャイロセンサ５０を用いたが、これに限らない。例えば、地磁気センサから出力されるセンサデータを用いて、センシング対象の回転状態を判定し、センサデータのオフセット値を算出してもよい。
【符号の説明】
【００９５】
１０  オフセット算出装置
１１  ＣＰＵ
１２  メモリ
１３  入出力ポート
１４  記憶部
１５  判定処理プログラム
１６  算出処理プログラム
１７  遅延処理プログラム
２０  判定部
２２  導出部
２４  第１の回転判定部
２６  第２の回転判定部
２８  第３の回転判定部
３０  算出部
３１  算出期間判定部
３２  面積計算部
３４  オフセット算出部
４０  遅延部
５０  ジャイロセンサ
６０  補正部
７０  オフセット補正装置
【図１】
2020139883.tif 000003
【図２】
2020139883.tif 000004
【図３】
2020139883.tif 000005
【図４】
2020139883.tif 000006
【図５】
2020139883.tif 000007
【図６】
2020139883.tif 000008
【図７】
2020139883.tif 000009
【図８】
2020139883.tif 000010
【図９】
2020139883.tif 000011
【図１０】
2020139883.tif 000012
【図１１】
2020139883.tif 000013
【図１２】
2020139883.tif 000014
【図１３】
2020139883.tif 000015