本発明を具体的に説明する前に、まず概要を述べる。本発明の実施例は、車両等に搭載され、車両の旋回による角速度を導出する角速度算出装置に関する。角速度算出装置は、角速度センサからの出力電圧に対して、オフセット値と感度係数とを使用しながら、角速度を導出する。前述のごとく、角速度センサのオフセット値は、温度の変動の影響を受ける。また、オフセット値の誤差は、感度係数の算出精度に影響を与える。従来、角速度センサのオフセット値は、角速度が「0」になる車両停止時や直進走行時の角速度センサからの出力電圧を用いて補正される。車両の走行状態は、車速センサや加速度センサ、角速度センサの出力値の組合せから判断されるが、正確に走行状態を判断することが困難である場合がある。例えば、微速で移動している場合には、所定期間における車速センサの出力が「0」、かつ、加速度センサと角速度センサの出力変化が非常に小さいため停止と判断される場合があり、このときに角速度センサのオフセット値を補正すると補正誤差が含まれる可能性がある。
前述のごとく、オフセット値が正常な変化の範囲内で急激に変化した場合、真のオフセット値に追随するのに時間を要する可能性がある。例えば、角速度センサの出力にはホワイトノイズが含まれるが、それ以外にも、不規則なステップ状のシフトが存在する場合がある。出力値がステップ状に変化すると、変化後のオフセット値が真のオフセット値であるか、ノイズであるかを区別する必要がある。不規則なステップ状のシフトが存在するような状況であっても角速度の導出精度を高めるためには、角速度センサのオフセット値を短期間で高精度に導出することが要求される。これに対応するために、本実施例に係る角速度算出装置は、次の処理を実行する。
角速度算出装置は、車両に搭載された角速度センサから出力電圧を入力するとともに、車両に搭載されたGPS受信機から測位データを入力する。ここで、角速度センサからの出力電圧が、車両の角速度に相当する。また、測位データには、車両の方位、車両の速度、車両の高度等が含まれる。角速度算出装置は、測位データと出力電圧とをもとに、車両の走行状態を推定する。走行状態として、例えば、停止状態、直進走行状態、非直進走行状態のいずれかが特定される。また、角速度算出装置は、走行状態に応じた導出方法にて仮のオフセット値を逐次導出し、逐次導出した仮のオフセット値に対してローパスフィルタによるフィルタ処理を実行する。角速度算出装置は、仮のオフセット値をもとに、ステップ状の変化がない状態(以下、「ステップ状非変化」という)、ステップ状の変化がある状態(以下、「ステップ状変化」という)、ステップ状の変化を越えるノイズが含まれる状態(以下、「ステップ状を越えた変化」という)のいずれかを検出する。角速度算出装置は、ステップ状非変化、ステップ状変化、ステップ状を越えた変化に応じてオフセット値を出力する。
図1は、本発明の実施例に係る角速度センサからの出力信号の一例を示す。横軸は、時間を示し、縦軸は、角速度センサのオフセット値を示す。0[sec]から200[sec]の全体として、オフセット値は、温度変化の影響を受けて緩やかに上昇している。しかしながら、80[sec]付近から130[sec]付近において、オフセット値ではステップ状のシフトが発生している。
図2は、本発明の実施例に係る角速度算出装置100の構成を示す。角速度算出装置100は、測定部10、パラメータ演算部12、角速度変換部14、制御部16を含む。また、測定部10は、GPS測位部20、有効性判定部22、角速度センサ24を含み、パラメータ演算部12は、オフセット値演算部26、感度係数演算部28を含む。さらに信号として、GPS測位データ200、出力信号202、オフセット値204、感度係数206が含まれる。ここで、パラメータ演算部12は角速度センサ補正装置であるともいえる。
GPS測位部20は、図示しないGPS衛星からの信号を受信して、GPS測位データ200を算出する。GPS測位データ200には、経緯度、車両の高度であるGPS高度、移動速度であるGPS速度、車両の方位であるGPS方位、PDOP(Position Dilution Precision)、捕捉衛星数等が含まれる。ここで、PDOPは、GPS測位データ200におけるGPS衛星位置の誤差が受信点位置にどのように反映されるかの指標であり、測位誤差に相当する。なお、GPS測位データ200には、これら以外の値が含まれていてもよい。また、GPS測位データ200の算出は、公知の技術によってなされればよいので、ここでは説明を省略する。また、GPS測位部20は、GPS測位データ200をサンプリング間隔ごとに、つまり周期的に算出する。GPS測位部20は、GPS測位データ200を有効性判定部22へ逐次出力する。
有効性判定部22は、GPS測位部20からのGPS測位データ200を逐次入力する。有効性判定部22は、GPS測位データ200から、GPS測位データ200それぞれの有効性を判定する。例えば、有効性判定部22は、PDOPの値が第1のしきい値以下であり、かつGPS速度が第2のしきい値以上である場合に、それらに対応したGPS方位が有効であると判定する。また、有効性判定部22は、上記の条件が満たされない場合に、対応したGPS方位が無効であると判定する。これは、一般的にPDOPの値が大きい場合やGPS速度が小さい場合に、GPS方位の精度が低くなる傾向があるからである。さらに具体的に説明すると、PDOPの値が6以下であり、かつGPS速度が20km/h以上である場合に、有効性判定部22は、GPS方位の有効性をフラグで表す。
また、有効性判定部22は、GPS速度が第3のしきい値以上である場合に、当該GPS速度が有効であると判定する。ここで、第3のしきい値は、第2のしきい値と同じでもよい。このような処理の結果、有効性判定部22は、GPS測位データ200に含まれたGPS方位等の各値に対して、有効あるいは無効が示されたフラグを付加する(以下、フラグが付加されたGPS測位データ200もまた「GPS測位データ200」という)。有効性判定部22は、オフセット値演算部26、感度係数演算部28へGPS測位データ200を逐次出力する。
角速度センサ24は、例えば、振動ジャイロ等のジャイロ装置に相当し、車両の進行方向の変化を車両の相対的な角度変化として検出する。つまり、角速度センサ24は、車両の旋回角速度を検出する。検出された角速度は、例えば、0V〜5Vのアナログ信号として出力される。その際、時計回りの旋回に対応した正の角速度は5V側への2.5Vからの偏差電圧として出力され、反時計回りの旋回に対応した負の角速度は0V側への2.5Vからの偏差電圧として出力される。また、2.5Vは、角速度のオフセット値、つまり零点であり、温度等の影響を受けドリフトする。
また、2.5Vからの角速度の偏差程度である感度係数(mV/deg/sec)は、水平な状態において許容誤差内に収まる所定の値として定められている。この許容誤差原因は、ジャイロ装置の個体差や経年変化、温度による影響等である。ジャイロ装置の電圧値は、図示しないAD(Analog to Digital)変換装置によって、例えば、サンプリング間隔100msecでAD変換され、その結果のデジタル信号が出力される。当該デジタル信号は、前述の出力電圧に相当し、以下では、出力信号202という用語を使用する。なお、ジャイロ装置として、公知の技術が使用されればよいので、ここでは説明を省略する。角速度センサ24は、角速度変換部14、オフセット値演算部26、感度係数演算部28へ出力信号202を出力する。この出力信号202がオフセット値204において取得した角速度に相当する。ここで、オフセット値演算部26、感度係数演算部28は、有効性判定部22からのGPS測位データ200と、角速度センサ24からの出力信号202とを取得するので、これらは「取得部」であるといえる。
オフセット値演算部26は、有効性判定部22からのGPS測位データ200、角速度センサ24からの出力信号202を入力する。また、オフセット値演算部26は、感度係数演算部28から感度係数206も入力する。オフセット値演算部26は、GPS測位データ200、出力信号202、感度係数206をもとに、角速度センサ24のオフセット値(以下、「オフセット値204」という)を算出する。なお、オフセット値演算部26での処理の詳細は後述する。オフセット値演算部26は、オフセット値204を感度係数演算部28、角速度変換部14へ出力する。
感度係数演算部28は、有効性判定部22からのGPS測位データ200、角速度センサ24からの出力信号202を入力する。また、感度係数演算部28は、オフセット値演算部26からオフセット値204も入力する。感度係数演算部28は、所定期間、例えば10秒間にわたって入力された、GPS測位データ200、出力信号202、オフセット値204をもとに、角速度センサ24の感度係数(以下、前述の「感度係数206」という)を算出する。なお、感度係数の演算には公知の技術が使用されればよいので、ここでは説明を省略する。感度係数演算部28は、感度係数206をオフセット値演算部26、角速度変換部14へ出力する。
角速度変換部14は、角速度センサ24からの出力信号202、オフセット値演算部26からのオフセット値204、感度係数演算部28からの感度係数206を入力する。角速度変換部14は、出力信号202、オフセット値204、感度係数206をもとに、前述の式(1)を計算することによって、車両の角速度ωを算出する。角速度変換部14は、角速度ωを出力する。制御部16は、角速度算出装置100全体の動作を制御する。
この構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
図3は、オフセット値演算部26の構成を示す。オフセット値演算部26は、状態推定部30、状態別オフセット値導出部32、オフセット値補正部34を含む。また、状態推定部30は、停止推定部40、直進走行推定部42、非直進走行推定部44を含み、状態別オフセット値導出部32は、停止時オフセット値導出部46、直進走行時オフセット値導出部48、非直進走行時オフセット値導出部50を含む。さらに信号として、仮オフセット値210が含まれる。
状態推定部30は、GPS測位データ200、出力信号202を入力する。状態推定部30は、停止推定部40、直進走行推定部42、非直進走行推定部44において、車両の走行状態を推定する。ここでは、車両の走行状態として、車両が停止あるいは直進している状態であるか、残りの状態、つまり非直進走行している状態であるかを推定する。
停止推定部40は、図示しない有効性判定部22において有効であると判定されたGPS測位データ200を取得する。また、停止推定部40は、GPS測位データ200からGPS速度を抽出し、GPS速度が「0」であるかを確認する。一方、停止推定部40は、所定期間内における出力信号202の分散値を計算し、分散値と第4のしきい値とを比較する。停止推定部40は、GPS速度が0であり、かつ分散値が第4のしきい値よりも小さい場合に、車両が停止状態であると判定する。前述のごとく、GPS速度が小さい場合、その精度は低くなる傾向があるが、停止推定部40は、出力信号202の分散値を併せて使用することによって停止と判断する。ここで、所定期間は、例えば、GPS速度のサンプリング間隔である1secとされる。所定期間において、出力信号202の分散値が小さいときは、車両の揺れ等がない安定した状態であると推定される。停止推定部40は、停止状態ではないと判定した場合、その旨を非直進走行推定部44へ出力する。
直進走行推定部42は、図示しない有効性判定部22において有効であると判定されたGPS測位データ200を取得する。また、直進走行推定部42は、GPS測位データ200からGPS方位を抽出し、GPS方位の所定期間にわたる変化(以下、「GPS方位変化」という)を導出する。さらに、直進走行推定部42は、GPS方位変化が「0」であるかを確認する。また、直進走行推定部42は、所定期間における出力信号202の分散値を計算し、分散値と第5のしきい値とを比較する。なお、第5のしきい値は、第4のしきい値と同一であってもよい。ここで、所定期間は、例えば、GPS方位変化が連続して0であるような期間に設定される。
直進走行推定部42は、GPS方位変化が0であり、かつ分散値が第5のしきい値よりも小さい場合に、車両が直進走行状態であると判定する。所定期間において、出力信号202の分散値が小さいときは、微妙な蛇行等の影響がない直進走行状態であると推定される。なお、ドライバの運転状況や道路形状によるが、例えば、市街地等において、直進走行状態の検出頻度は、一般的に、停止推定部40による停止状態の判定よりも少なく、その期間は数秒間程度である。直進走行推定部42は、直進走行状態ではないと判定した場合、その旨を非直進走行推定部44へ出力する。非直進走行推定部44は、停止推定部40から、停止状態ではない旨を入力し、かつ直進走行推定部42から、直進走行状態ではない旨を入力した場合、車両が非直進走行状態であると判定する。
状態別オフセット値導出部32は、GPS測位データ200、出力信号202、感度係数206を入力する。状態別オフセット値導出部32は、状態推定部30において推定した車両の走行状態に応じて、角速度センサ24の仮オフセット値210を逐次導出する。ここで、停止推定部40において停止状態と判定された場合、停止時オフセット値導出部46が出力信号202をもとに仮オフセット値210を逐次導出する。また、直進走行推定部42において直進走行状態と判定された場合、直進走行時オフセット値導出部48が出力信号202をもとに仮オフセット値210を逐次導出する。
また、非直進走行推定部44において非直進走行状態と判定された場合、非直進走行時オフセット値導出部50がGPS測位データ200、出力信号202、感度係数206をもとに仮オフセット値210を逐次導出する。つまり、車両の走行状態に応じて停止時オフセット値導出部46から非直進走行時オフセット値導出部50は、GPS測位データ200、出力信号202、感度係数206の組合せを変更しながら、仮オフセット値210を導出する。また、GPS測位データ200が無効であり、状態推定部30が走行状態を推定できなかった場合、仮オフセット値210を導出不能として、その旨がオフセット値補正部34に出力される。そのため、停止時オフセット値導出部46、直進走行時オフセット値導出部48、非直進走行時オフセット値導出部50を含んだ状態別オフセット値導出部32がオフセット値導出部であるといえる。
停止時オフセット値導出部46は、停止状態と判定された場合に、出力信号202をもとに、角速度センサ24の仮オフセット値210を逐次導出する。具体的に説明すると、停止時オフセット値導出部46は、停止時に車両の旋回角速度が「0」になることを利用し、出力信号202の平均値を仮オフセット値210として算出する。直進走行時オフセット値導出部48は、直進走行状態と判定された場合に、出力信号202をもとに、角速度センサ24の仮オフセット値210を逐次導出する。具体的に説明すると、ここでも車両の旋回角速度が0であるので、直進走行時オフセット値導出部48は、出力信号202の平均値を仮オフセット値210として算出する。
非直進走行時オフセット値導出部50は、非直進走行状態であると判定された場合に、GPS測位データ200中のGPS方位、出力信号202、感度係数206とをもとに、例えば、GPS方位のサンプリング間隔における仮オフセット値210を逐次導出する。仮オフセット値210は、次のように導出される。
Goffset=1/n・ΣGout−Δθ・Gsensitivity・・・(2)
ここで、nは、GPS方位のサンプリング間隔における出力信号202のサンプル数であり、ΣGout(mV)は、GPS方位のサンプリング間隔における出力信号202の合計値である。また、Δθ(deg)は、GPS方位変化量であり、Gsensitivity(mV/deg/sec)は、感度係数206である。
感度係数206は、通常、図示しない感度係数演算部28から入力されるが、角速度算出装置100の起動直後などのような状態において、感度係数206が未だ算出されていないこともありえる。そのような場合、非直進走行時オフセット値導出部50は、図示しないジャイロ装置の仕様によって決定される感度係数206を初期値として使用する。また、非直進走行時オフセット値導出部50は、前回の走行終了時に感度係数演算部28からの感度係数206を記憶しておき、初期値として使用してもよい。
オフセット値補正部34は、状態別オフセット値導出部32において逐次導出した仮オフセット値210を入力する。オフセット値補正部34は、仮オフセット値210に対して統計処理を実行するとともに、時間に対する仮オフセット値210を変化を検出し、変化が所定値より小さい期間を計数する。また、オフセット値補正部34は、計数した期間と統計処理の結果とを関連付けて記憶する。オフセット値補正部34は、状態別オフセット値導出部32からの仮オフセット値210が導出された場合は統計処理の結果を出力し、導出不能となったときは、計数した期間が最大である統計処理の結果を出力する。以下では、図4を使用しながら、オフセット値補正部34での処理を説明する。
図4は、オフセット値補正部34の構成を示す。オフセット値補正部34は、平均値算出部60、差分絶対値算出部62、傾き絶対値算出部64、オフセット値変化検出部66、オフセット値フィルタ処理部68、オフセット値判定部70を含む。また、信号として、差分絶対値212、傾き絶対値214が含まれる。
平均値算出部60は、仮オフセット値210を入力する。平均値算出部60は、入力した仮オフセット値210に対する期間Taでの移動平均を計算することによって、仮オフセット値210の平均値を算出する。期間Taとは、例えば、5[秒]等であり、車両に取り付けられた角速度算出装置100内の温度の変化が大きくなく、角速度センサ24のオフセットの温度による変動が微小であるような期間が設定される。平均値算出部60は、算出した平均値Va[V]を差分絶対値算出部62へ逐次出力する。
差分絶対値算出部62は、平均値算出部60から平均値Va[V]を逐次入力する。差分絶対値算出部62は、逐次入力した平均値Va[V]の差分の絶対値を算出する。具体的に説明すると、差分絶対値算出部62は、平均値を少なくとも期間Taにわたって保持し、入力した平均値と期間Ta以前に入力した平均値との差分の絶対値を算出する。差分絶対値算出部62は、算出した絶対値|Va’−Va|[V](以下、「差分絶対値212」ともいう)をオフセット値変化検出部66へ逐次出力する。なお、Va’は以前の平均値を示す。
傾き絶対値算出部64は、仮オフセット値210を入力する。また、傾き絶対値算出部64は、入力した仮オフセット値210と、図示しないマイクロコンピュータ等に備わっている計時機能から取得される起動後の経過時間とを関連付けて、期間Tsにわたってリングバッファ等に記憶する。期間Tsとは、期間Taよりも大きい値であり、例えば、10秒等である。なお、期間Tsを「第1期間」と呼ぶ場合、期間Taは「第2期間」と呼ばれる。傾き絶対値算出部64は、時間と仮オフセット値210に対し関数近似し、仮オフセット値210の傾きを算出する。傾き絶対値算出部64は、例えば、時間をX軸、仮オフセット値210をY軸として、最小二乗法を用いて一次関数で近似する。最小二乗法を適用すると、仮オフセット値210の傾きγn(V/sec)は次のように算出される。
ここで、mは仮オフセット値210のサンプル数、t[sec]は時間、Ofs[V]は仮オフセット値210である。傾き絶対値算出部64は、算出した仮オフセット値210の傾き絶対値|γn|(V/sec)(以下、「傾き絶対値214」ともいう)をオフセット値変化検出部66へ逐次出力する。
オフセット値変化検出部66は、差分絶対値算出部62からの差分絶対値212と、傾き絶対値算出部64からの傾き絶対値214とを入力する。オフセット値変化検出部66は、差分絶対値212と傾き絶対値214とをもとに、仮オフセット値210における変化の状態を検出する。仮オフセット値210における変化の状態とは、「ステップ状非変化」、「ステップ状変化」、「ステップ状を越えた変化」のいずれかである。この検出のために、オフセット値変化検出部66は、テーブルを保持しており、当該テーブルを参照することによって、仮オフセット値210における変化の状態を検出する。
図5は、オフセット値変化検出部66において記憶されるテーブルのデータ構造を示す。図示のごとく、差分絶対値条件欄500、傾き絶対値条件欄502、変化フラグ欄504が含まれる。差分絶対値条件欄500には、変化フラグ欄504を決定するための差分絶対値212に対する条件として、「Vth以上」、「Vth未満」が示されている。ここで、「Vth」は差分絶対値212に対するしきい値であり、これには、仮オフセット値210に含まれるノイズによる変動幅以上の値が設定される。また、傾き絶対値条件欄502には、変化フラグを決定するための傾き絶対値214に対する条件として、「γth以上」、「γth未満」が示されている。ここで、「γth」は傾き絶対値214に対するしきい値であり、これには、例えば、予め測定した、角速度算出装置100の起動後数秒間の温度変動に対する仮オフセット値210の傾き絶対値214以上の値が設定される。変化フラグ欄504には、各条件に対応した変化フラグを記憶する。ここで、変化フラグ欄504における「1」は「ステップ状変化」を示し、「0」は「ステップ状非変化」を示し、「−1」は「ステップ状を越えた変化」を示す。図4に戻る。
このようにオフセット値変化検出部66は、時間経過に対する角速度センサ24の仮オフセット値210の変化の傾きである傾き絶対値214が大きいときにステップ状の変化を検出する。オフセット値変化検出部66は、テーブルを参照しながら、出力する変化フラグを決定する。また、オフセット値変化検出部66は、期間Taにおいて、角速度センサ24の仮オフセット値210の変化の絶対値である差分絶対値212がしきい値以上である場合に、出力する変化フラグをノイズとして決定する。オフセット値変化検出部66は、決定した変化フラグをオフセット値判定部70へ出力する。
オフセット値フィルタ処理部68は、仮オフセット値210を入力する。オフセット値フィルタ処理部68は、仮オフセット値210に対して統計処理を実行することによって、角速度センサ24から出力された角速度を補正するためのオフセット値204を導出する。オフセット値フィルタ処理部68の構成を説明するために、ここでは図6を使用する。
図6は、オフセット値フィルタ処理部68の構成を示す。オフセット値フィルタ処理部68は、α乗算部80、加算部82、1−α乗算部84を含む。図示のごとく、オフセット値フィルタ処理部68は、IIR(Infinite Impulse Responce)フィルタを含むように構成されており、IIRフィルタによってローパスフィルタを構成する。α乗算部80は、仮オフセット値210に忘却係数「α」を乗算する。α乗算部80は、乗算結果を加算部82へ出力する。
加算部82は、α乗算部80からの乗算結果と、1−α乗算部84からの乗算結果とを逐次加算する。加算部82は、加算結果をオフセット値204として逐次出力する。1−α乗算部84は、オフセット値204に係数「1−α」を乗算する。なお、係数「1−α」のうちの「α」は、α乗算部80でのαと同様であるので、ここでは説明を省略する。1−α乗算部84は、加算部82へ乗算結果をフィードバックする。図4に戻る。オフセット値フィルタ処理部68は、導出したオフセット値204をオフセット値判定部70へ出力する。
オフセット値判定部70は、仮オフセット値210と、オフセット値変化検出部66からの変化フラグと、オフセット値フィルタ処理部68からのオフセット値204とを入力する。ここで、差分絶対値算出部62における差分絶対値212の導出処理には時間2×Ta[秒]を要し、傾き絶対値算出部64における傾き絶対値214の導出処理にはTs[秒]を要する。そのため、オフセット値判定部70は入力値をリングバッファ等に保存し、変化フラグとオフセット値204とを同期させる。
オフセット値判定部70は、仮オフセット値210に付加されているフラグが有効であり、変化フラグが「0」または「1」であれば、入力したオフセット値204を出力する。特に、変化フラグ「0」である場合、オフセット値判定部70は、変化フラグが「0」である期間、つまり仮オフセット値210の時間に対する変化が少ない期間を計数し、期間とオフセット値204とを関連付けて記憶する。また、オフセット値判定部70は、仮オフセット値210に付加されているフラグが無効、あるいは変化フラグが「−1」であれば、記憶した期間が最大であるオフセット値204を出力する。ここでは、図7を使用してオフセット値判定部70が記憶するデータの詳細を以下に説明する。
図7(a)−(b)は、オフセット値判定部70において記憶されるデータ構造を示す。図示のごとく、期間最大値と計測中の行と、期間欄700とオフセット値欄702とが含まれる。期間最大値の行には、期間が最大であるときの期間とオフセット値204が記録され、計測中の行には、現在計測中である期間とオフセット値204が記録される。
オフセット値判定部70は、仮オフセット値210のフラグが有効である場合に、変化フラグが連続して「0」である期間を図示しないマイクロコンピュータ等に備わっている計時機能から取得する。また、オフセット値判定部70は、図7(a)のごとく、計時した期間と入力したオフセット値204を計測中の行へ記憶する。このとき、計測中の行の期間が、期間最大値の行の期間以上であれば、オフセット値判定部70は、図7(b)のごとく、期間最大値の行を計測中の行で置換する。
オフセット値判定部70は、変化フラグが「1」または「−1」の場合に、計測中の行に記憶された期間欄700をとオフセット値欄702とを消去する。また、オフセット値判定部70は、期間に対してしきい値を設定し、しきい値以上の場合はオフセット値欄702のみを更新する。このしきい値とは、例えば、予め実験等で得られたステップ状の変化の期間より大きく、角速度センサ24のオフセットの温度による変化がステップ状の変化と同じになる期間より小さくなるような値が設定される。このようにすることで、ステップ状の変化検出後も期間最大値を更新できるので、角速度センサ24のオフセットの温度による変化に追随できる。
つまり、オフセット値判定部70は、オフセット値変化検出部66においてステップ状非変化を検出した場合、非変化が連続する期間と、オフセット値204とを記憶するとともに、入力したオフセット値204を出力する。一方、オフセット値判定部70は、オフセット値変化検出部66においてステップ状を越えた変化を検出した場合、連続する期間が最大であるときに記憶されたオフセット値204を出力するとともに、非変化が連続する期間をリセットする。なお、オフセット値判定部70は、仮オフセット値210の導出が不能になった場合も、オフセット値変化検出部66においてステップ状を越えた変化を検出した場合と同様の処理を実行する。オフセット値判定部70は、オフセット値変化検出部66においてステップ状変化を検出した場合、入力したオフセット値204を出力するとともに、非変化が連続する期間をリセットする。
図8を使用しながらオフセット値補正部34に入力される仮オフセット値210に対する差分の絶対値と傾きの絶対値を説明する。図8は、オフセット値補正部34による処理の概要を示す。図示のごとく、オフセット値補正部34に入力される仮オフセット値210においてステップ状のシフトが発生している。ここでは、時間A[秒]付近において、仮オフセット値210がステップ状にシフトしている。平均値算出部60は、時間A[秒]前後の期間Taにおける仮オフセット値210の平均値V1と平均値V2を算出する。また、差分絶対値算出部62は、絶対値|V1−V2|を算出する。さらに、傾き絶対値算出部64は、期間Tsにおける仮オフセット値210の傾きを算出する。オフセット値補正部34は、絶対値|V1−V2|が「Vth」未満、かつ、傾きの絶対値が「γth」以上であった場合に、仮オフセット値210に発生したステップ状のシフトを検出する。
図9は、オフセット値補正部34による処理の別の概要を示す。図9では、時間A[秒]において仮オフセット値210のフラグが有効となり、時間D[秒]において仮オフセット値210のフラグが無効となった場合を示している。また、時間B[秒]付近と時間C[秒]付近において、仮オフセット値210がステップ状にシフトしている。オフセット値判定部70は、時間A[秒]からオフセット値の記録を開始し、時間B[秒]付近においてステップ状のシフトが検出されるまで、期間とオフセット値204を記憶する。時間B[秒]直前では、期間最大値および計測中共に、期間TAB[秒]、オフセット値VB[V]が記録される。ステップ状のシフトを検出したタイミングで、計測中の行のデータは初期化される。
また、時間B[秒]から時間C[秒]までは計測中の行にデータが記憶され、時間C[秒]直前では、期間TBC[秒]、オフセット値VC[V]が記憶されるが、ステップ状のシフトを検出したタイミングでTAB>TBCであるので、期間最大値の行のデータは更新されない。さらに、時間C[秒]から時間D[秒]まで、計測中の行にデータが記憶され、時間D[秒]では、期間TCD[秒]、オフセット値VD[V]が記憶されるが、TAB>TCDであるので、期間最大値の行のデータは更新されない。したがって、オフセット値判定部70は、仮オフセット値210のフラグが無効となった時間D[秒]以降、仮オフセット値210のフラグが有効となるまで、期間最大値の行に記憶されたVB[V]をオフセット値204として出力する。
以上の構成による角速度算出装置100の動作を説明する。図10は、角速度算出装置100によるオフセット値の導出手順を示すフローチャートである。差分絶対値212がVthよりも小さく(S10のY)、傾き絶対値214がγth以上である場合(S12のY)、オフセット値判定部70は、入力したオフセット値204を出力するとともに、期間をリセットする(S14)。傾き絶対値214がγth以上でない場合(S12のN)、オフセット値判定部70は、入力したオフセット値204、期間を記憶するとともに、入力したオフセット値204を出力する(S16)。差分絶対値212がVthよりも小さくない場合(S10のN)、オフセット値判定部70は、最大の期間に対応したオフセット値204を出力するとともに、期間をリセットする(S18)。
本発明の実施例によれば、差分絶対値と傾き絶対値とをもとに、ステップ状非変化、ステップ状変化、ステップ状を越えた変化のいずれかを検出するので、ノイズの影響が大きい環境であるか否か、ステップ状のシフトを伴うノイズが含まれる環境であるか否かを判定できる。また、ノイズの影響が大きい環境であるか否か、ステップ状のシフトを伴うノイズが含まれる環境であるか否かに応じて、オフセット値に関する処理を実行するので、角速度センサのオフセット値が急激に変化する場合でも角速度の導出精度の低下を抑制できる。また、ステップ状非変化が検出された場合、非変化が連続する期間と、オフセット値とを記憶するので、定常的なオフセット値を取得できる。また、ステップ状非変化が検出された場合、入力したオフセット値を出力するので、最新のオフセット値を使用させることができる。
また、ステップ状を越えた変化が検出された場合、連続する期間が最大であるときに記憶されたオフセット値を出力するので、ステップ状を越えた変化が検出されない場合における確からしいオフセット値を出力できる。また、ステップ状を越えた変化が検出された場合、非変化が連続する期間をリセットするので、環境の変化を処理に反映できる。また、ステップ状変化が検出された場合、入力したオフセット値を出力するので、最新のオフセット値を使用させることができる。また、ステップ状変化が検出された場合、非変化が連続する期間をリセットするので、環境の変化を処理に反映できる。
また、時間経過に対する角速度センサの仮のオフセット値の変化の傾きが所定値よりも小さい期間を計数し、計数した期間とフィルタ処理後のオフセット値とを関連付けて記憶するので、両者の値を対応付けることができる。また、計数した期間とフィルタ処理後のオフセット値とを関連付けて記憶するとともに、計数した期間が最大となるオフセット値を出力するので、仮のオフセット値が導出不能な期間でも、ステップ状のシフトを伴うノイズがオフセット値へ与える影響を軽減できる。また、仮のオフセット値が導出可能な期間において、仮のオフセット値に対してローパスフィルタによるフィルタ処理を実行するので、角速度センサのオフセット値が急激に変化する場合でもオフセット値の変動に追従できる。また、オフセット値の変動に追従するので、角速度センサのオフセット値が急激に変化する場合でも角速度の導出精度の低下を抑制できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本発明の実施例において、有効性判定部22は、GPS測位データ200の有効性を判定するために、PDOPを使用している。しかしながらこれに限らず例えば、有効性判定部22は、GDOP(Geometric Dilution Of Precision)、HDOP(Horizontal Dilution Of Precision)等や、これらの組合せを使用してもよい。本変形例によれば、さまざまなパラメータを判定に使用できる。
本発明の実施例において、オフセット値フィルタ処理部68は、IIRフィルタを含むように形成されている。しかしながらこれに限らず例えば、オフセット値フィルタ処理部68は、FIR(Finite Impulse Response)フィルタを含むように形成されていてもよい。その際、忘却係数は、タップ係数として設定される。本変形例によれば、フィルタ構成の自由度を向上できる。