(57)【特許請求の範囲】
【請求項１】
ジャイロセンサーを搭載した移動体の停止を判定する停止判定方法であって、
前記ジャイロセンサーの検出結果から角加速度を求めることと、
所定時間分の前記角加速度の誤差分散を算出することと、
前記角加速度の誤差分散を用いて前記移動体が停止しているか否かを判定する第１の停止判定を行うことと、
前記ジャイロセンサーの検出結果の誤差分散である検出誤差分散を算出することと、
前記検出誤差分散の時間変化を用いて前記移動体が停止しているか否かを判定する第２の停止判定を行うことと、
を含む停止判定方法。
【請求項２】
前記算出することは、前記所定時間よりも短い所定の単位時間ずつ前記所定時間の始点となる時刻をずらして前記所定時間分の前記角加速度の誤差分散を算出することを含む、
請求項１に記載の停止判定方法。
【請求項３】
前記第１の停止判定は、前記単位時間が経過する毎に前記移動体が停止しているか否かを判定することを含む、
請求項２に記載の停止判定方法。
【請求項４】
前記検出誤差分散を算出することは、前記所定時間よりも長い所定の標本時間分の前記ジャイロセンサーの検出結果から、前記検出誤差分散を算出することである、
請求項１〜３の何れか一項に記載の停止判定方法。
【請求項５】
前記第１の停止判定の判定結果と前記第２の停止判定の判定結果とに基づいて、前記移動体が停止しているか否かを最終判断することを更に含む、
請求項１〜４の何れか一項に記載の停止判定方法。
【請求項６】
少なくともジャイロセンサーを有するモーションセンサー部を搭載した移動体の停止を判定する停止判定方法であって、
前記モーションセンサー部の出力値が所定の停止条件を満たすか否かに応じて前記移動体が停止しているか否かを判定することと、
請求項１〜５の何れか一項に記載の停止判定方法を実行し、停止と判定された場合に前記停止条件をキャリブレーションすることと、
を含む停止判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジャイロセンサーを搭載した移動体の停止を判定する停止判定方法等に関する。
【背景技術】
【０００２】
いわゆるシームレス測位やモーションセンシング、姿勢制御など様々な分野において、慣性センサーの活用が注目されている。慣性センサーとしては、ジャイロセンサーや加速度センサー、圧力センサー、地磁気センサーなどが広く知られており、これらの慣性センサーが種々の民生機器に搭載されて利用されている。
【０００３】
慣性センサーの検出結果を利用する技術として、例えば特許文献１には、ジャイロセンサーの検出結果の分散を用いて移動体の停止判定を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−９６５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術をそのまま適用して移動体の停止判定を行う場合、次のような問題がある。近年では、小型で安価な慣性センサーとして、半導体の微細加工技術を応用したＭＥＭＳ（Micro Electro Mechanical Systems）センサーが種々の民生機器に搭載されている。ＭＥＭＳセンサーは、小型、軽量、安価、低消費電力といった利点を有するが、その反面、衝撃や振動、温度変化といった外界の影響を受け易い欠点を有する。
【０００６】
移動体として例えば自動車を想定した場合、自動車が停止している状態であっても、アイドリング状態でエンジンが動作していたり、車内でエアコンが動作していたりすると、ジャイロセンサーが車体の微小な振動を検知してしまう。つまり、自動車が停止している状態であっても、自動車の現在の状況に応じて種々の誤差成分がジャイロセンサーの出力値に重畳され得る。そのため、単純にジャイロセンサーの検出結果の分散を用いて停止判定を行う場合、移動体の状況によっては誤判定が頻発するおそれがあり、精細な停止判定を実現することはできなかった。
【０００７】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、移動体の停止判定を行うための新たな手法を提案することにある。
【課題を解決するための手段】
【０００８】
以上の課題を解決するための第１の形態は、ジャイロセンサーを搭載した移動体の停止を判定する停止判定方法であって、前記ジャイロセンサーの検出結果から角加速度を求めることと、所定時間分の前記角加速度の誤差分散を算出することと、前記誤差分散を用いて前記移動体が停止しているか否かを判定する第１の停止判定を行うことと、を含む停止判定方法である。
【０００９】
また、他の形態として、移動体に搭載されて当該移動体の停止を判定する停止判定装置であって、ジャイロセンサーと、前記ジャイロセンサーの検出結果から角加速度を求める角加速度算出部と、所定時間分の前記角加速度の誤差分散を算出する誤差分散算出部と、前記誤差分散を用いて前記移動体が停止しているか否かを判定する停止判定部と、を備えた停止判定装置を構成してもよい。
【００１０】
この第１の形態等によれば、ジャイロセンサーの検出結果から角加速度が求められる。そして、所定時間分の角加速度の誤差分散が算出され、当該誤差分散を用いて移動体が停止しているか否かが判定される。
【００１１】
ジャイロセンサーにより検出される角速度には、温度や振動といった外界の影響に起因する誤差成分が含まれ得る。そこで、第１の形態等では、ジャイロセンサーの検出結果に対して時間微分を行うなどして角加速度を求めることで、ジャイロセンサーの検出結果に含まれる誤差成分の影響を排斥する。そして、角加速度の誤差分散を用いて移動体が停止しているか否かを判定することで、停止判定を適切に行うことができる。
【００１２】
また、第２の形態として、第１の形態の停止判定方法であって、前記算出することは、前記所定時間よりも短い所定の単位時間ずつ時間をずらしながら、前記所定時間分の前記角加速度の誤差分散を算出することを含み、前記第１の停止判定は、前記単位時間が経過する毎に前記移動体の停止を判定することを含む、停止判定方法を構成してもよい。
【００１３】
この第２の形態によれば、所定時間よりも短い所定の単位時間ずつ時間をずらしながら、所定時間分の角加速度の誤差分散が算出される。そして、単位時間が経過する毎に移動体の停止が判定される。これにより、単位時間間隔で移動体の停止判定を行うことが可能となる。
【００１４】
また、第３の形態として、第１又は第２の形態の停止判定方法であって、前記ジャイロセンサーの検出結果の誤差分散である検出誤差分散を算出することと、前記検出誤差分散の時間変化を用いて前記移動体が停止しているか否かを判定する第２の停止判定を行うことと、を更に含む停止判定方法を構成してもよい。
【００１５】
この第３の形態によれば、ジャイロセンサーの検出結果の誤差分散である検出誤差分散が算出される。そして、検出誤差分散の時間変化を用いて移動体が停止しているか否かを判定する第２の停止判定が行われる。上述したように、ジャイロセンサーの検出結果には誤差成分が含まれ得るため、その検出誤差分散にも誤差成分が重畳され得る。しかし、ある１つの時間断面で見た場合の検出誤差分散を用いるのではなく、複数の時間断面で見た場合の検出誤差分散の時間変化を用いることで、移動体の停止判定を適切に行うことができる。
【００１６】
また、第４の形態として、第３の形態の停止判定方法であって、前記第２の停止判定は、停止判定する前所定回数分の前記検出誤差分散を用いて当該検出誤差分散の前記時間変化を分析することを含む、停止判定方法を構成してもよい。
【００１７】
この第４の形態によれば、停止判定する前所定回数分の検出誤差分散を用いて当該検出誤差分散の時間変化を分析することで、移動体の停止判定の正確性を高めることができる。
【００１８】
また、第５の形態として、第３又は第４の形態の停止判定方法であって、前記検出誤差分散を算出することは、前記所定時間より長い所定の標本時間分の前記ジャイロセンサーの検出結果から、前記検出誤差分散を算出することである、停止判定方法を構成してもよい。
【００１９】
この第５の形態によれば、所定時間より長い所定の標本時間分のジャイロセンサーの検出結果から、検出誤差分散が算出される。
【００２０】
また、第６の形態として、第３〜第５の何れかの形態の停止判定方法であって、前記第１の停止判定の判定結果と前記第２の停止判定の判定結果とに基づいて、前記移動体が停止しているか否かを最終判断することを更に含む、停止判定方法を構成してもよい。
【００２１】
この第６の形態によれば、第１の停止判定の判定結果と第２の停止判定の判定結果とに基づいて、移動体が停止しているか否かが最終判断される。２種類の停止判定結果を併用することで、移動体の停止判定を確実に行うことができる。
【００２２】
また、第７の形態として、少なくともジャイロセンサーを有するモーションセンサー部を搭載した移動体の停止を判定する停止判定方法であって、前記モーションセンサー部の出力値が所定の停止条件を満たすか否かに応じて前記移動体が停止しているか否かを判定することと、第１〜第６の何れかの形態の停止判定方法を実行し、停止と判定された場合に前記停止条件をキャリブレーションすることと、を含む停止判定方法を構成してもよい。
【００２３】
この第７の形態によれば、モーションセンサー部の出力値が所定の停止条件を満たすか否かに応じて移動体が停止しているか否かが判定されるが、その停止条件が、第１〜第６の何れかの形態の停止判定方法によって停止と判定された場合にキャリブレーションされる。これにより、モーションセンサー部の出力値に基づく停止判定が適正化される。
【図面の簡単な説明】
【００２４】
【図１】第１の停止判定方法の説明図。
【図２】角加速度誤差分散に対する閾値判定の説明図。
【図３】第２の停止判定方法の説明図。
【図４】第２の停止判定方法における停止判定の説明図。
【図５】従来の停止判定方法を用いて停止判定を行った実験結果の一例。
【図６】実施形態の第２の停止判定方法を用いて停止判定を行った実験結果の一例。
【図７】カーナビゲーション装置の機能構成の一例を示すブロック図。
【図８】センサーデータのデータ構成の一例を示す図。
【図９】精細停止判定用データのデータ構成の一例を示す図。
【図１０】第１のナビゲーション処理の流れを示すフローチャート。
【図１１】精細停止判定処理の流れを示すフローチャート。
【図１２】変形例における記憶部のデータ構成の一例を示す図。
【図１３】第２のナビゲーション処理の流れを示すフローチャート。
【図１４】停止条件キャリブレーション処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２５】
以下図面を参照して、ジャイロセンサーを搭載した移動体の停止判定を行う好適な実施形態について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけではないことは勿論である。
【００２６】
１．原理
１−１．第１の停止判定方法
１番目の停止判定方法は、ジャイロセンサーの検出結果から角加速度を求め、この角加速度を用いて移動体の停止判定を行う方法である。
【００２７】
図１は、第１の停止判定方法の説明図である。図１において、横軸は時間軸を示し、時間軸の上に示した下向きの矢印はジャイロセンサーの検出タイミングを示す。本実施形態では、ジャイロセンサーの検出時間間隔のことを「単位時間」として説明する。単位時間は、例えば“１０ミリ秒”である。
【００２８】
先ず、ジャイロセンサーの所定の蓄積時間分の検出結果を用いて角加速度の時系列データを取得する。具体的には、蓄積時間分の角速度の時系列データに対して時間微分を行って、角加速度の時系列データを得る。蓄積時間は、単位時間よりも長い時間とし、例えば単位時間の整数倍の時間を設定する。具体的には、単位時間が“１０ミリ秒”であれば、例えばその２０倍の時間である“２００ミリ秒”を蓄積時間として設定する。
【００２９】
角加速度を算出する手法としては、例えば、隣接する検出時刻におけるジャイロセンサーの検出結果の時間差分を計算する手法や、所定期間分のジャイロセンサーの検出結果に対する平滑化処理を行って連続的な曲線を算出し、その時間微分を計算する手法など、様々な手法を適用することができる。本実施形態では、角速度を“ω”と表記し、角加速度を“α”と表記する。
【００３０】
その後、当該蓄積時間における角加速度“α”の誤差分散（以下、「角加速度誤差分散」と称す。）を算出する。角加速度誤差分散は、角加速度“α”の誤差のばらつきを示す指標値である。誤差分散は種々の定義が可能であるが、本実施形態では、蓄積時間分の角速度“α”の時系列データの標本分散を角加速度誤差分散と定義する。より具体的には、蓄積時間分の角加速度“α”の時系列データの平均値を算出する。そして、各々の角加速度“α”のデータと平均値との差の二乗和をデータ数で除算することで、角加速度誤差分散（標本分散）を算出する。この角加速度誤差分散を“σ2α”と表記する。
【００３１】
また、本実施形態では、角加速度誤差分散“σ2α”の算出を、単位時間ずつ時間をずらしながら行う。すなわち、単位時間ずつ時間をずらしながら、最新の蓄積時間分の角加速度“α”の誤差分散を算出する。例えば、単位時間が“１０ミリ秒”であり、蓄積時間が“２００ミリ秒”であるとする。この場合は、１０ミリ秒ずつ時間をずらしながら、最新の２００ミリ秒分の角加速度“α”の時系列データを用いて角加速度誤差分散“σ2α”を算出する。第１の停止判定方法では、このようにして算出した角加速度誤差分散“σ2α”に対する閾値判定を行うことで、移動体が停止しているか否かの判定を行う。
【００３２】
図２は、角加速度誤差分散“σ2α”に対する閾値判定の説明図である。図２において、横軸は時間軸を示し、縦軸は角加速度誤差分散“σ2α”を示す。予め、角加速度誤差分散“σ2α”に対する閾値“θα”を設定する。閾値“θα”は、停止状態と移動状態とを分離可能な値を経験的に決定することが望ましい。例えば、移動中と停止中のジャイロセンサーの検出結果を用いて角加速度誤差分散“σ2α”のサンプルデータを取得し、このサンプルデータを用いて移動状態と停止状態とを分離するのに適した値を選択・決定する。
【００３３】
角加速度誤差分散“σ2α”が閾値“θα”未満（或いは閾値以下）であれば（σ2α＜θα）、移動体は停止していると判定する。それに対して、角加速度誤差分散“σ2α”が閾値“θα”以上（或いは閾値超）であれば（σ2α≧θα）、移動体は移動していると判定する。図２においては、最初の一定期間の間移動体は停止しており、角加速度誤差分散“σ2α”が閾値“θα”未満となるため、移動体は停止していると判定される。その後、移動体が移動を開始すると、角加速度誤差分散“σ2α”が急激に立ち上がり、角加速度誤差分散“σ2α”が閾値“θα”を超えるため、移動体は移動していると判定される。
【００３４】
なお、上述したように、本実施形態では単位時間ずつ時間をずらしながら角加速度誤差分散“σ2α”を算出するため、ジャイロセンサーの検出タイミング毎に角加速度誤差分散“σ2α”に対する閾値判定を行って停止を判定することができる。
【００３５】
１−２．第２の停止判定方法
２番目の停止判定方法は、ジャイロセンサーにより検出された角速度の誤差分散の時間変化を用いて移動体の停止判定を行う方法である。
【００３６】
図３は、第２の停止判定方法の説明図である。図３において、横軸は時間軸を示し、時間軸の上に示した下向きの矢印はジャイロセンサーの検出タイミングを示す。先ず、ジャイロセンサーの検出結果から所定の蓄積時間分の角速度“ω”の時系列データを得る。そして、角加速度誤差分散の算出と同様に、蓄積時間分の角速度“ω”の時系列データの誤差分散（以下、「角速度誤差分散」と称す。）を算出する。
【００３７】
この場合も、例えば角速度“ω”の時系列データの標本分散を角速度誤差分散と定義することができる。つまり、各々の角速度“ω”のデータと平均値との差の二乗和をデータ数で除算することで、角速度誤差分散（標本分散）を算出する。この角速度誤差分散を“σ2ω”と表記する。角速度誤差分散“σ2ω”は、ジャイロセンサーの検出結果の誤差分散（検出誤差分散）に相当する。
【００３８】
第１の停止判定方法と同様に、第２の停止判定方法においても、単位時間ずつ時間をずらしながら角速度誤差分散“σ2ω”を算出する。例えば、単位時間が“１０ミリ秒”であり、蓄積時間が“２００ミリ秒”であるとする。この場合は、１０ミリ秒ずつ時間をずらしながら、最新の２００ミリ秒分の角速度“ω”の時系列データを用いて角速度誤差分散“σ2ω”を算出する。
【００３９】
次いで、角速度誤差分散“σ2ω”を、所定の標本値算出時間分集める。標本値算出時間は、標本値を算出するための時間（標本時間）であり、蓄積時間よりも長い時間、例えば蓄積時間の整数倍の時間を設定する。具体的には、蓄積時間が“２００ミリ秒”である場合は、例えばその５倍の時間である“１０００ミリ秒＝１秒”を標本値算出時間として設定する。そして、標本値算出時間に含まれる角速度誤差分散“σ2ω”を用いて標本値を算出する。
【００４０】
標本値とする値は適宜選択可能であるが、本実施形態では、標本値算出時間に含まれる角速度誤差分散“σ2ω”の平均値を計算して標本値とする。本実施形態では、この標本値（角速度誤差分散の平均値）を“σ2AVE”と表記する。図３において、実線で囲った矩形のひとまとまりが、１つの標本値“σ2AVE”を算出するための角速度誤差分散“σ2ω”の組合せに対応する。
【００４１】
連続する複数の標本値算出時間それぞれについて標本値“σ2AVE”を算出し、所定の標本値変化判定時間分の標本値の組“σ2AVE（１），σ2AVE（２），・・・，σ2AVE（ｎ）”を生成する。標本値変化判定時間は、標本値の時間変化を判定するための時間であり、標本値算出時間よりも長い時間、例えば標本値算出時間の整数倍の時間を設定する。例えば、標本値算出時間を“１０００ミリ秒＝１秒”とした場合は、その５倍の時間である“５秒”を標本値変化判定時間として設定する。
【００４２】
本実施形態では、標本値変化判定時間分の標本値の組“σ2AVE（１），σ2AVE（２），・・・，σ2AVE（ｎ）”のことを「標本値組」と称する。標本値組を構成する各標本値の括弧書きの数字は、標本値の番号を示す。例えば、上記のように標本値変化判定時間を“５秒”とした場合は、５秒分の標本値組“σ2AVE（１），σ2AVE（２），σ2AVE（３），σ2AVE（４），σ2AVE（５）”を生成する。そして、標本値組を構成する標本値の時間変化に基づいて、移動体が停止しているか否かの判定を行う。
【００４３】
図４は、第２の停止判定方法における停止判定の説明図である。図４において、横軸は時間軸であり、縦軸は標本値を示す。標本値組を構成する標本値“σ2AVE”を時系列にプロットしていき、これらの標本値“σ2AVE”の近似直線を算出する。近似直線は、例えば最小二乗法を用いて算出することができる。すなわち、各々の標本値“σ2AVE”から近似直線までの距離の二乗和を最小化する直線を算出する。そして、算出した近似直線の傾きに対する閾値判定を行う。具体的には、近似直線の傾きが所定の閾値未満（或いは閾値以下）であれば、移動体は停止していると判定する。それに対して、近似直線の傾きが閾値以上（或いは閾値超）であれば、移動体は移動していると判定する。
【００４４】
図５及び図６は、第２の停止判定方法によって実際に移動体の停止判定を行った実験結果を示す図である。図５は従来の停止判定方法を用いて停止判定を行った実験結果の一例であり、図６は本実施形態の第２の停止判定方法を用いて停止判定を行った実験結果の一例である。これらの図において、横軸は時間軸であり、縦軸は移動体の速度（単位はメートル毎秒［ｍ／ｓ］）を示す。また、速度のサンプルデータを細い実線で示し、誤った停止判定（誤判定）がなされた部分には太点線を、正しい停止判定（正判定）がなされた部分には太実線を重畳して図示している。
【００４５】
図５を見ると、従来の停止判定方法では、速度がほぼゼロとなる部分では停止判定が正しく行われているが、停止から移動、又は、移動から停止に切り替わる部分において停止判定が正しく行われず、停止判定の誤判定率が高くなっていることがわかる。それに対して、図６を見ると、本実施形態の第２の停止判定方法では、図５において誤判定された部分についても正しい判定がなされており、停止判定の正確性が向上していることがわかる。これにより、本実施形態の停止判定方法の有効性が実証された。
【００４６】
１−３．停止の最終判断
上記の第１の停止判定方法及び第２の停止判定方法をそれぞれ個別に用いて移動体の停止判定を行うことができるのは勿論である。その他に、第１の停止判定方法と第２の停止判定方法とを併用して移動体の停止判定を行うことも可能である。
【００４７】
問題となるのは、第１の停止判定方法を単独で用いた場合、特に移動体が移動している状態から停止状態に移行する移行段階において、誤判定が生ずる可能性が高まることである。移動体が移動している状態から停止状態に移行する際には、角加速度誤差分散が徐々に減少していき、角加速度誤差分散が所定の閾値未満（或いは閾値以下）となった時点で停止と判定されることになる。しかし、移動体がほぼ停止しているがまだ微妙に動いている場合に、角加速度誤差分散のレベルが停止時に観測される角加速度のノイズのレベルと同じとなる結果、閾値判定によって停止と誤判定される場合がある。
【００４８】
かかる問題に対処するため、以下のように停止判定を行うことにすればより好適である。すなわち、第１の停止判定方法によって移動体が停止していると判定され、且つ、第２の停止判定方法によっても移動体が停止していると判定された場合に、移動体は停止していると判定する。つまり、第１及び第２の停止判定方法をＡＮＤ条件として、両方の判定結果が停止である場合に、移動体は停止していると最終判断する。
【００４９】
２．実施例
次に、上述した原理に従って移動体の停止を判定する停止判定装置の実施例について説明する。ここでは、移動体の停止判定装置を具備する電子機器の一種として、自動車に搭載されるナビゲーション装置を例に挙げて説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけでないことは勿論である。
【００５０】
２−１．機能構成
図７は、本実施例におけるカーナビゲーション装置１の機能構成の一例を示すブロック図である。カーナビゲーション装置１は、移動体の一種である自動車に設置されるナビゲーション用の電子機器であり、自動車の停止判定を行う自動車停止判定装置を備えて構成される。
【００５１】
本実施例において、カーナビゲーション装置１は、処理部１０と、操作部２０と、表示部３０と、音出力部４０と、通信部５０と、時計部６０と、ＩＭＵ（Inertial Measurement Unit）７０と、記憶部８０とを備えて構成される。
【００５２】
処理部１０は、記憶部８０に記憶されているシステムプログラム等の各種プログラムに従ってカーナビゲーション装置１の各部を統括的に制御する制御装置であり、ＣＰＵ（Central Processing Unit）等のプロセッサーを有して構成される。処理部１０は、ＩＭＵ７０の検出結果を利用した慣性航法演算処理を行って自動車の位置（位置座標）を算出する。そして、算出位置を指し示した地図を表示部３０に表示させる処理を行う。
【００５３】
本実施形態において、処理部１０は、ジャイロセンサーの検出結果から角加速度を求める角加速度算出部や、所定の蓄積時間分の角加速度の誤差分散を算出する誤差分散算出部、角加速度の誤差分散を用いて自動車が停止しているか否かを判定する停止判定部として機能する。
【００５４】
操作部２０は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部１０に出力する。この操作部２０の操作により、目的地の入力等の各種指示入力がなされる。
【００５５】
表示部３０は、ＬＣＤ（Liquid Crystal Display）等により構成され、処理部１０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部３０には、ナビゲーション画面等が表示される。
【００５６】
音出力部４０は、スピーカー等により構成され、処理部１０から入力される音出力信号に基づいた各種音出力を行う音出力装置である。音出力部４０からは、ナビゲーション用の音声ガイダンス等が音出力される。
【００５７】
通信部５０は、カーナビゲーション装置１の管理サーバー等の外部装置と無線通信を行うための通信装置である。この機能は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）といった公知の無線通信方式の技術を用いて実現される。
【００５８】
時計部６０は、カーナビゲーション装置１の内部時計であり、水晶発振器等を有する発振回路を備えて構成される。時計部６０の計時時刻は、処理部１０に随時出力される。
【００５９】
ＩＭＵ７０は、慣性センサーを備えて構成されるセンサーユニットであり、例えばジャイロセンサー７１と加速度センサー７３とを備えて構成される。ＩＭＵ７０は、装置本体の動作を検出するモーションセンサー部として機能し、予めセンサーに対応付けられたローカル座標系の直交３軸それぞれの検出軸の加速度及び各検出軸の軸周りの角速度を検出可能に構成される。なお、ジャイロセンサー７１及び加速度センサー７３は、それぞれが独立したセンサーであってもよいし、一体型のセンサーであってもよい。
【００６０】
記憶部８０は、ＲＯＭ（Read Only Memory）やフラッシュＲＯＭ、ＲＡＭ（Random Access Memory）等の記憶装置によって構成され、カーナビゲーション装置１のシステムプログラムや、ナビゲーション機能等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。
【００６１】
２−２．データ構成
図７に示すように、記憶部８０には、プログラムとして、処理部１０により読み出され、第１のナビゲーション処理（図１０参照）として実行される第１のナビゲーションプログラム８１が記憶されている。また、第１のナビゲーションプログラム８１は、精細停止判定処理（図１１参照）として実行される精細停止判定プログラム８１１をサブルーチンとして記憶している。精細停止判定プログラム８１１は、第１の停止判定プログラム８１１１と第２の停止判定プログラム８１１２とを含む。
【００６２】
第１のナビゲーション処理とは、処理部１０が、精細停止判定処理を行って自動車の停止を精細に判定し、その判定結果に応じた測位処理を行って、自動車の位置を算出する処理である。そして、処理部１０は、算出位置をプロットしたナビゲーション画面を生成して表示部３０に表示させたり、ナビゲーション用の音声ガイダンスを生成して音出力部４０から音出力させる。
【００６３】
また、精細停止判定処理とは、処理部１０が、原理で説明した第１の停止判定方法及び第２の停止判定方法に基づく停止判定を行って、自動車が停止しているか否かを精細に判定する処理である。これらの処理については、フローチャートを用いて詳細に後述する。
【００６４】
また、記憶部８０には、データとして、センサーデータ８３と、精細停止判定用データ８５と、ナビゲーション用データ８７とが記憶される。
【００６５】
センサーデータ８３は、ＩＭＵ７０の検出結果が時系列に記憶されたデータであり、そのデータ構成例を図８に示す。センサーデータ８３には、ＩＭＵ７０の検出時刻８３１と、ジャイロセンサー７１により検出された角速度検出値８３３と、加速度センサー７３により検出された加速度検出値８３５とが対応付けて記憶される。ｋ個分の検出時刻８３１によって１つの蓄積時間が形成される。
【００６６】
精細停止判定用データ８５は、精細停止判定処理の処理用データであり、そのデータ構成例を図９に示す。精細停止判定用データ８５には、停止判定を行う判定時刻８５１と、第１の停止判定用データ８５３と、第２の停止判定用データ８５５とが対応付けて記憶される。ｍ個分の判定時刻８５１によって１つの標本値算出時間が形成される。
【００６７】
第１の停止判定用データ８５３は、第１の停止判定処理用のデータであり、各判定時刻８５１それぞれについて、角加速度誤差分散と、第１の停止判定結果とが対応付けて記憶されている。第１の停止判定結果には「停止」又は「移動」が記憶される。
【００６８】
また、第２の停止判定用データ８５５は、第２の停止判定処理用のデータであり、各判定時刻８５１それぞれについて、角速度誤差分散と、標本値組と、第２の停止判定結果とが対応付けて記憶される。標本値組には、標本値変化判定時間分のｎ個の標本値が記憶される。また、第２の停止判定結果には「停止」又は「移動」が記憶される。
【００６９】
ナビゲーション用データ８７は、ナビゲーション処理の処理用データである。ナビゲーション用データ８７には、加速度センサーにより検出された加速度を積分することで求められる自動車の速度ベクトルや、速度ベクトルを用いて算出される自動車の位置といったデータが記憶される。
【００７０】
２−３．処理の流れ
図１０は、記憶部８０に記憶された第１のナビゲーションプログラム８１に従って処理部１０が実行する第１のナビゲーション処理の流れを示すフローチャートである。
最初に、処理部１０は、ＩＭＵ７０からセンサーデータ８３を入力するまで待機し（ステップＡ１；Ｎｏ）、センサーデータ８３を入力すると（ステップＡ１；Ｙｅｓ）、記憶部８０に記憶された精細停止判定プログラム８１１に従って精細停止判定処理を行う（ステップＡ３）。
【００７１】
図１１は、精細停止判定処理の流れを示すフローチャートである。
先ず、処理部１０は、第１の停止判定処理を行う（ステップＢ１）。具体的には、過去蓄積時間分（例えば２００ミリ秒分）の角速度の時系列データに対して時間微分を行って、角加速度の時系列データを取得する。そして、取得した角加速度の時系列データを用いて、当該蓄積時間における角加速度誤差分散を算出して、第１の停止判定用データ８５３に記憶させる。そして、算出した角加速度誤差分散に対する閾値判定を行い、角加速度誤差分散が所定の閾値未満（或いは閾値以下）であれば、第１の停止判定用データ８５３の第１の停止判定結果を「停止」とする。また、角加速度誤差分散が閾値以上（或いは閾値超）であれば、第１の停止判定結果を「移動」とする。
【００７２】
次いで、処理部１０は、第２の停止判定処理を行う（ステップＢ３）。具体的には、最新の標本値算出時間分（例えば１秒分）の角速度の誤差分散に対する平均処理を行って角速度誤差分散の平均値を算出して、当該標本値算出時間における標本値を取得する。そして、所定の標本値変化判定時間分（例えば５秒分）の標本値組を生成し、当該標本値組に含まれる標本値を用いて、例えば最小二乗法を利用して近似直線を算出する。そして、算出した近似直線の傾きに対する閾値判定を行い、傾きが所定の閾値未満（或いは閾値以下）であれば、第２の停止判定による判定結果を「停止」とする。また、傾きが閾値以上（或いは閾値超）であれば、第２の停止判定結果を「移動」とする。
【００７３】
その後、処理部１０は、第１の停止判定結果と第２の停止判定結果とがそれぞれ「停止」であるかを判定し（ステップＢ５，Ｂ７）、何れも「停止」であれば（ステップＢ５；Ｙｅｓ及びステップＢ７；Ｙｅｓ）、自動車が停止していると最終判断する（ステップＢ９）。また、何れか一方でも停止判定結果が「停止」でなければ（ステップＢ５；Ｎｏ又はステップＢ７；Ｎｏ）、処理部１０は、自動車が移動していると最終判断する（ステップＢ１１）。
【００７４】
例えば、図９の精細停止判定用データ８５において、判定時刻“ｔ１”及び“ｔ２”では、第１の停止判定結果及び第２の停止判定結果が何れも「停止」であるため、処理部１０は、自動車が停止していると最終判断する。しかし、判定時刻“ｔ３”では、第１の停止判定結果は「停止」であるが、第２の停止判定結果は「移動」であるため、処理部１０は、自動車が移動していると最終判断する。最終判断を行った後、処理部１０は、精細停止判定処理を終了する。
【００７５】
図１０の第１のナビゲーション処理に戻って、処理部１０は、精細停止判定処理の判定結果が停止であるかを判定し（ステップＡ５）、停止判定であれば（ステップＡ５；Ｙｅｓ）、位置をホールドする（ステップＡ７）。すなわち、停止と判定された期間は、ステップＡ９の慣性航法演算処理によって算出した最新の位置を変化させないように、その位置にホールド（固定）する。
【００７６】
一方、自動車が移動していると判定した場合は（ステップＡ５；Ｎｏ）、処理部１０は、慣性航法演算処理を行う（ステップＡ９）。具体的には、加速度センサー７３により検出された加速度を積分して自動車の速度ベクトルを算出する。そして、算出した速度ベクトルから単位時間当たりの移動方向及び移動距離を求め、前回の算出位置に加算することで、自動車の位置を新たに算出・更新する。
【００７７】
次いで、処理部１０は、最新の算出位置で表示部３０のナビゲーション画面を表示更新する（ステップＡ１１）。そして、処理部１０は、処理を終了するか否かを判定し（ステップＡ１３）、まだ処理を終了しないと判定した場合は（ステップＡ１３；Ｎｏ）、ステップＡ１に戻る。また、処理を終了すると判定した場合は（ステップＡ１３；Ｙｅｓ）、処理部１０は、第１のナビゲーション処理を終了する。
【００７８】
３．作用効果
ジャイロセンサーを搭載した移動体において、ジャイロセンサーによって単位時間毎に検出される角速度の時系列データに対する時間微分が行われて角加速度が求められる。そして、単位時間よりも長い所定の蓄積時間分の角加速度の時系列データを用いて角加速度の誤差分散である角加速度誤差分散が算出され、当該角加速度誤差分散に対する閾値判定が行われることで、移動体が停止しているか否かを判定する第１の停止判定が行われる。
【００７９】
ジャイロセンサーにより検出される角速度には、温度や振動といった外界の影響に起因する誤差成分（ノイズ成分）が含まれ得る。そのため、本実施形態では、ジャイロセンサーにより検出される時系列の角速度に対して時間微分を行って角加速度を求めることで、角速度に含まれる誤差成分の影響を排斥する。そして、角加速度の誤差分散を用いて移動体が停止しているか否かを判定することで、移動体の停止判定を適切に行うことができる。
【００８０】
また、本実施形態では、ジャイロセンサーの検出結果から蓄積時間分の角速度の誤差分散が算出される。そして、所定の標本値算出時間分の角速度の誤差分散の平均値を標本値として、所定の標本値変化判定時間分の標本値組が生成される。そして、生成された標本値組に含まれる標本値の時間変化に基づいて、移動体が停止しているか否かを判定する第２の停止判定が行われる。
【００８１】
前述したように、ジャイロセンサーの検出結果には種々の誤差成分が含まれ得るため、角速度の誤差分散にも誤差成分が重畳され得ることとなる。しかし、ある１つの時間断面で見た場合の角速度の誤差分散を用いるのではなく、複数の時間断面で見た場合の角速度の誤差分散の時間変化を用いることで、移動体の停止判定を適切に行うことができる。
【００８２】
さらに、本実施形態では、第１の停止判定と第２の停止判定とを併用して、移動体の停止判定の最終判断が行われる。すなわち、第１の停止判定の判定結果と第２の停止判定の判定結果の両方が停止である場合に、移動体は停止していると最終判断され、何れか一方でも判定結果が移動であれば、移動体は移動していると最終判断される。このように２種類の停止判定方法を併用して移動体の停止判定を行うことで、移動体の停止判定を確実に行うことができる。
【００８３】
４．変形例
４−１．停止条件のキャリブレーション
上述した実施形態では、第１の停止判定方法及び第２の停止判定方法を用いて移動体の停止判定を精細に行うものとして説明した。この精細な停止判定の他に、停止判定を簡易に行うことも可能である。
【００８４】
より具体的には、第２の停止判定方法では、ジャイロセンサーにより検出された角速度の誤差分散を算出したが、この角速度誤差分散に対する閾値判定を行って移動体の停止を判定してもよい。すなわち、角速度誤差分散が所定の簡易停止判定用閾値未満（或いは簡易停止判定用閾値以下）となることを停止条件として、角速度誤差分散に対する閾値判定を行って停止判定を実現してもよい。
【００８５】
この場合は、簡易停止判定用閾値の校正（キャリブレーション）を行うこととすれば好適である。移動体として四輪の自動車を想定した場合、自動車が停止していたとしてもアイドリング状態であれば、エンジンの動作による車体の振動をジャイロセンサーが検知してしまう。また、車内でエアコンが動作しているような場合には、その動作による振動をもジャイロセンサーは検知してしまう。このように、単純に停止している状態といっても、ジャイロセンサーにより検出される角速度の総体的な値は、移動体の状況に応じてその都度変化するものである。そのため、固定的な閾値を用いるのではなく、閾値を可変に設定して停止判定を行うことが適切である。
【００８６】
そこで、原理で説明した「１−１．第１の停止判定〜１−３．停止の最終判断」の何れかの停止判定方法によって移動体が停止していると判定された場合に、停止判定用の条件（停止条件）をキャリブレーションする処理を行う。そして、以後の停止判定では、キャリブレーションされた停止条件を用いて停止判定を行う。この場合の実施例について以下説明する。
【００８７】
図１２は、この場合におけるカーナビゲーション装置１の記憶部８０のデータ構成の一例を示す図である。なお、図５の記憶部８０と同一のデータについては同一の符号を付して説明を省略する。
【００８８】
記憶部８０には、プログラムとして、第２のナビゲーション処理（図１３参照）として実行される第２のナビゲーションプログラム８２が記憶されている。また、第２のナビゲーションプログラム８２には、精細停止判定プログラム８１１と、停止条件キャリブレーション処理（図１４参照）として実行される停止条件キャリブレーションプログラム８１３と、簡易停止判定処理として実行される簡易停止判定プログラム８１５とがサブルーチンとして含まれている。
【００８９】
また、記憶部８０には、データとして、センサーデータ８３と、精細停止判定用データ８５と、ナビゲーション用データ８７と、簡易停止判定用データ８８と、簡易停止判定用閾値８９とが記憶される。簡易停止判定用データ８８は、簡易停止判定処理の処理用データであり、簡易停止判定に用いる角速度誤差分散や、簡易停止判定の判定結果などが記憶される。また、簡易停止判定用閾値８９は、停止条件キャリブレーション処理で設定される閾値である。
【００９０】
図１３は、記憶部８０に記憶された第２のナビゲーションプログラム８２に従って処理部１０が実行する第２のナビゲーション処理の流れを示すフローチャートである。なお、図１０の第１のナビゲーション処理と同一のステップについては同一の符号を付して説明を省略し、第１のナビゲーション処理とは異なるステップを中心に説明する。
【００９１】
最初に、処理部１０は、初期キャリブレーションとして、記憶部８０に記憶された停止条件キャリブレーションプログラム８１３に従って停止条件キャリブレーション処理を実行する（ステップＣ１）。この初期キャリブレーションとしての停止条件キャリブレーション処理は、自動車のエンジンを始動した後、自動車の移動を開始する前に実行すべき処理である。
【００９２】
図１４は、停止条件キャリブレーション処理の流れを示すフローチャートである。
先ず、処理部１０は、ＩＭＵ７０からデータを入力するまで待機し（ステップＤ１；Ｎｏ）、データを入力した場合は（ステップＤ１；Ｙｅｓ）、記憶部８０の精細停止判定プログラム８１１に従って精細停止判定処理を行う（ステップＤ３）。精細停止判定処理の処理フローは、図１１に示した通りである。
【００９３】
処理部１０は、精細停止判定処理の判定結果が「停止」であれば（ステップＤ５；Ｙｅｓ）、簡易停止判定用閾値設定処理を行う（ステップＤ７）。具体的には、自動車の停止中にジャイロセンサーにより検出された角速度の時系列データを用いて、当該停止期間中における角速度の誤差分散（角速度誤差分散）を算出する。そして、算出した角速度誤差分散を用いて簡易停止判定用閾値８９を設定する。例えば、当該停止期間中に検出された角速度の平均値（角速度平均値）を算出し、角速度平均値に角速度誤差分散を加算した値を簡易停止判定用閾値８９として設定する。そして、処理部１０は、停止条件キャリブレーション処理を終了する。
【００９４】
図１３の第２のナビゲーション処理に戻って、停止条件キャリブレーション処理を実行した後、処理部１０は、ＩＭＵ７０からデータを入力するまで待機し（ステップＣ２；Ｎｏ）、データを入力した場合は（ステップＣ２；Ｙｅｓ）、記憶部８０に記憶された簡易停止判定プログラム８１５に従って簡易停止判定処理を行う（ステップＣ３）。簡易停止判定処理は、ジャイロセンサーにより検出された蓄積時間分の角速度の誤差分散を算出し、当該角速度誤差分散に対して簡易停止判定用閾値８９を用いた閾値判定を行うことで実現する。角速度誤差分散が簡易停止判定用閾値８９以下（或いは未満）であれば「停止」と判定する。
【００９５】
次いで、処理部１０は、簡易停止判定処理の判定結果が「停止」であれば（ステップＣ５；Ｙｅｓ）、位置をホールドする（ステップＡ７）。また、簡易停止判定処理の判定結果が「停止」ではなく「移動」であれば（ステップＣ５；Ｎｏ）、処理部１０は、慣性航法演算処理を行う（ステップＡ９）。
【００９６】
なお、第２のナビゲーション処理では、初期キャリブレーションとして停止条件キャリブレーション処理を実行するものとして説明したが、他の所定の実行タイミングで停止条件キャリブレーション処理を実行することとしてもよい。例えば、移動体が移動している状態から停止状態に変化したタイミングを実行タイミングとして、停止条件キャリブレーション処理を実行してもよい。
【００９７】
また、上記の停止条件キャリブレーション処理は、角速度誤差分散を用いた簡易停止判定処理を行う際の停止条件をキャリブレーションする処理として説明したが、精細停止判定処理を行う際の停止条件をキャリブレーションする処理としてもよい。この場合は、例えば簡易停止判定処理によって移動体が停止していると判定された場合に、精細停止判定処理において停止条件として用いる閾値判定用の閾値（以下、「精細判定用閾値」と称す。）を設定する処理を行う。
【００９８】
より具体的には、簡易停止判定処理によって停止と判定された場合は、ジャイロセンサーにより検出された時系列の角速度に対する時間微分を行って、角加速度のサンプルデータを取得する。そして、取得した角加速度のサンプルデータを用いて角加速度誤差分散を算出し、当該角加速度誤差分散を用いて精細判定用閾値を設定する。精細判定用閾値は、例えば停止期間中の角加速度平均値に角加速度誤差分散を加算した値とすることができる。
【００９９】
４−２．誤差分散
上述した実施形態では、角加速度及び角速度の誤差分散を、それぞれ角加速度及び角速度の時系列データの標本分散として定義したが、誤差分散の定義はこれに限られない。例えば、角加速度及び角速度の不偏分散を誤差分散と定義してもよいし、標本分散又は不偏分散の正の平方根で表される標準偏差を誤差分散と定義してもよい。何れの定義を用いたとしても、上記の実施形態と同様の手法で停止判定を行うことができる。
【０１００】
４−３．標本値
また、上述した実施形態では、標本値算出時間分の角速度誤差分散の平均値を標本値として第２の停止判定を行うものとして説明したが、標本値はこれに限られない。例えば、角速度誤差分散の平均値ではなく中央値を選択して標本値としてもよい。また、標本値算出時間分の角速度の時系列データの誤差分散を標本値としてもよい。すなわち、単位時間毎に検出される角速度の時系列データを標本値算出時間分蓄積し、蓄積した標本値算出時間分の角速度の誤差分散を算出して、当該標本値算出時間における標本値としてもよい。
【０１０１】
４−４．標本値の近似
また、上述した実施形態の第２の停止判定方法では、最小二乗法を利用するなどして標本値組を構成する標本値の近似直線を求めるものとして説明したが、標本値の近似はこれに限られない。例えば、標本値を直線ではなく曲線で近似し、その近似曲線を微分することで得られる値（近似曲線の微分値）に対する閾値判定を行って停止を判定してもよい。
【０１０２】
４−５．各種時間の設定
上記の実施形態で停止判定に用いた各種の時間は適宜設定変更可能である。すなわち、単位時間、蓄積時間、標本値算出時間及び標本値変化判定時間の各種の時間として設定する値は、本発明を適用するシステムに応じて適宜設定してよい。
【符号の説明】
【０１０３】
１  カーナビゲーション装置、  １０  処理部、  ２０  操作部、  ３０  表示部、  ４０  音出力部、  ５０  通信部、  ６０  時計部、  ７０  ＩＭＵ、  ７１  ジャイロセンサー、  ７３  加速度センサー、  ８０  記憶部
【図１】
0005625557.tif 000002
【図２】
0005625557.tif 000003
【図３】
0005625557.tif 000004
【図４】
0005625557.tif 000005
【図５】
0005625557.tif 000006
【図６】
0005625557.tif 000007
【図７】
0005625557.tif 000008
【図８】
0005625557.tif 000009
【図９】
0005625557.tif 000010
【図１０】
0005625557.tif 000011
【図１１】
0005625557.tif 000012
【図１２】
0005625557.tif 000013
【図１３】
0005625557.tif 000014
【図１４】
0005625557.tif 000015