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