(57)【特許請求の範囲】
【請求項１】
車両に搭載され、前記車両の現在位置を算出する現在位置算出システムであって、
複数の線分からなる道路地図を記憶した記憶手段と、
前記車両の進行方位を検出する方位検出手段と、
前記車両の走行距離を測定する距離測定手段と、
前記車両の現在位置を算出する現在位置算出手段と
を備え、
前記現在位置算出手段は、
前回算出された候補点毎に、当該候補点と、前記進行方位および前記走行距離から得られる当該候補点が算出されてからの相対変位とに基づいて、前記車両の仮想現在位置を算出する仮想現在位置算出手段と、
前記前回算出された候補点毎に、当該候補点が位置する線分を前記記憶手段から読み出し、前記前回算出された候補点から当該読み出した線分における前記車両の進行方位側の端部までの残り距離が、前記前回算出された候補点が算出されてから前記距離測定手段によって測定された前記車両の走行距離である進行距離未満の場合に、当該読み出した線分に接続された線分を前記記憶手段から検索し、当該検索した線分を候補線分として選択する道路選択手段と、
前記前回算出された候補点毎に、前記残り距離が前記進行距離未満の場合に、前記前回算出された候補点が位置する線分および前記道路選択手段によって選択された候補線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出し、前記残り距離が前記進行距離以上の場合に、前記前回算出された候補点が位置する線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出する候補点算出手段と、
前記仮想現在位置算出手段によって算出された前記車両の仮想現在位置から前記候補点算出手段によって算出された今回の候補点が位置する線分までの距離、および前記車両の進行方位と前記今回の候補点が位置する線分の方位との方位差に基づいて、前記今回の候補点の信頼度を算出する信頼度算出手段と、
前記信頼度算出手段によって算出された信頼度に基づいて、前記今回の候補点の中から前記車両の現在位置を決定する現在位置決定手段と
を有することを特徴とする現在位置算出システム。
【請求項２】
前記道路選択手段は、
検索した線分のうち、前記仮想現在位置の車両の進行方位との方位差が所定範囲内の線分を前記候補線分として選択し、
前記候補点算出手段は、
前記残り距離が前記進行距離未満の場合、前記前回算出された候補点が位置する線分および前記道路選択手段によって選択された候補線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出し、
前記残り距離が前記進行距離以上の場合であって、かつ前記前回算出された候補点が位置する線分の方位と前記仮想現在位置の車両の進行方位との方位差が所定範囲内の場合には、前記前回算出された候補点が位置する線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出することを特徴とする請求項１に記載の現在位置算出システム。
【請求項３】
前記道路選択手段は、
検索した線分のうち、前記仮想現在位置から所定距離以内にある線分を前記候補線分として選択し、
前記候補点算出手段は、
前記残り距離が前記進行距離未満の場合、前記前回算出された候補点が位置する線分および前記道路選択手段によって選択された候補線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出し、
前記残り距離が前記進行距離以上の場合であって、かつ前記前回算出された候補点が位置する線分が前記仮想現在位置から所定距離以内にある場合には、前記前回算出された候補点が位置する線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出することを特徴とする請求項１または２に記載の現在位置算出システム。
【請求項４】
前記候補点算出手段は、
前記残り距離が前記進行距離未満であって、かつ前記前回算出された候補点が位置する線分に接続された線分が前記記憶手段内に存在しない場合に、前記仮想現在位置を今回の候補点であるフリーの候補点としてさらに算出し、
前記前回算出された候補点が前記フリーの候補点である場合に、前記フリーの候補点に基づいて算出された前記仮想現在位置から所定距離以内に存在する線分を検索し、前記フリーの候補点に基づいて算出され前記仮想現在位置から当該検索した線分への垂線の交点を今回の候補点として算出することを特徴とする請求項１から３のいずれかに記載の現在位置算出システム。
【請求項５】
車両に搭載され、当該車両の現在位置を算出する現在位置算出システムにおける現在位置算出方法であって、
現在位置算出システムは、
複数の線分からなる道路地図を記憶手段に記憶する記憶ステップと、
前記車両の進行方位を検出する方位検出ステップと、
前記車両の走行距離を測定する距離測定ステップと、
前記車両の現在位置を算出する現在位置算出ステップと
を行い、
前記現在位置算出ステップは、
前回算出された候補点毎に、当該候補点と、前記進行方位および前記走行距離から得られる当該候補点が算出されてからの相対変位とに基づいて、前記車両の仮想現在位置を算出する仮想現在位置算出ステップと、
前記前回算出された候補点毎に、当該候補点が位置する線分を前記記憶手段から読み出し、前記前回算出された候補点から当該読み出した線分における前記車両の進行方位側の端部までの残り距離が、前記前回算出された候補点が算出されてから前記距離測定ステップにおいて測定した前記車両の走行距離である進行距離未満の場合に、当該読み出した線分に接続された線分を前記記憶手段から検索し、当該検索した線分を候補線分として選択する道路選択ステップと、
前記前回算出された候補点毎に、前記残り距離が前記進行距離未満の場合に、前記前回算出された候補点が位置する線分および前記道路選択ステップにおいて選択した候補線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出し、前記残り距離が前記進行距離以上の場合に、前記前回算出された候補点が位置する線分に沿って、前記前回算出された候補点から前記進行距離だけ進めた位置を今回の候補点として算出する候補点算出ステップと、
前記仮想現在位置算出ステップにおいて算出した前記車両の仮想現在位置から前記候補点算出ステップにおいて算出した今回の候補点が位置する線分までの距離、および前記車両の進行方位と前記今回の候補点が位置する線分の方位との方位差に基づいて、前記今回の候補点の信頼度を算出する信頼度算出ステップと、
前記信頼度算出ステップにおいて算出した信頼度に基づいて、前記今回の候補点の中から前記車両の現在位置を決定する現在位置決定ステップと
を含むことを特徴とする現在位置算出方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、該移動体の進行距離、進行方位などを測定して、これにより、当該移動体の現在位置を算出する現在位置算出システムに関するものであり、より詳細には、該移動体が道路上に存在すると判断された場合に、処理時間を増大させることなく、より正確に移動体の現在位置を算出する現在位置算出システムに関するものである。
【０００２】
【従来技術】
従来より、道路上を走行する車両の現在位置を算出する現在位置算出システムにおいて、該車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の進行距離とに基づいて算出されている。
【０００３】
また、車両の進行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ１回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【０００４】
さらに、特開昭６１−５６９１０号公報に記載されたように、車両の進行方向と進行距離から求めた現在位置に基づき、ＣＤ−ＲＯＭなどに記憶された地図データに含まれる所定の線分を取り出し、求められた現在位置から、該線分に垂線をおろし、垂線と線分との交点を表示装置に表示すべき位置とする、いわゆるマップマッチングの技術が知られており、このマップマッチングにより、表示装置上に、所定の道路と整合する車両の現在位置を示すシンボルを表わすことができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来のマップマッチングの技術においては、求められた現在位置と線分との垂線の足に対応する位置を、表示すべき車両の位置と推定するため、実際に道路に沿って車両が走行した後の車両の位置と、表示すべき車両の位置との間の誤差が生じ、車両が走行するのにしたがってこの誤差が累積され、その結果、車両が実際に走行している位置と、算出された車両の現在位置との間に数百メートル程度の誤差が生じる可能性もあるという問題点があった。
【０００６】
本発明は、車両の現在位置を、より少ない処理時間で、かつ、より正確に算出する現在位置算出システムを提供することを目的とする。
【０００７】
【課題を解決する手段】
本発明の目的は、車両に搭載され、該車両の現在位置を算出する現在位置算出システムであって、車両の進行方位を検出する方位検出手段と、車両の走行距離を算出する距離算出手段と、前記進行方位および前記走行距離に基づき得られた相対変位と、車両が何れかの道路上に位置する状態、或いは、車両が道路上に位置しない状態を示す候補点とに基づき、車両の現在位置であると予想される仮想現在位置を生成する仮想現在位置生成手段と、前記道路上に位置する状態を示す候補点に関連して、前記候補点が位置する道路或いはこれに接続された道路を検索する道路検索手段と、前記道路検索手段により検索された道路に沿って、前記候補点から、車両の走行距離だけ進められた位置を算出する位置算出手段とを備え、前記位置算出手段により得られた位置に対応する点を新たな候補点とするように構成された現在位置算出システムにより達成される。
【０００８】
本発明の好ましい実施態様においては、前記道路検索手段が、前記候補点が位置する道路或いはこれに接続された道路であって、その方位と前記進行方位との間の方位差が所定の範囲内である道路を選択するように構成されている。
【０００９】
本発明のさらに好ましい実施態様においては、前記道路検索手段が、前記候補点が位置する道路或いはこれに接続された道路であって、前記仮想現在位置からの距離が所定の範囲内である道路を選択するように構成されている。
【００１０】
本発明のさらに好ましい実施態様においては、さらに、前記道路上に位置しない状態を示す候補点に関連して、前記候補点から所定の範囲内に存在する道路を検索する第２の道路検索手段と、前記道路上に存在しない状態を示す候補点に関連する仮想現在位置から、前記第２の道路検索手段により検索された道路への垂線の交点を算出する第２の位置算出手段とを備え、前記第２の算出手段により得られた位置に対応する点を、他の新たな候補点とするように構成されている。
【００１１】
本発明のさらに好ましい実施態様においては、さらに、前記新たな候補点が車両の現在位置であることの信憑性を示す信頼度を算出する信頼度算出手段と、前記新たな候補点に関連する信頼度を比較し、最も信頼度の値が大きな候補点の位置を、車両の現在位置とする判断手段とを備えている。
【００１２】
本発明のさらに好ましい実施態様においては、前記道路検索手段が、前記候補点が位置する点から前記車両が位置する線分の車両の進行方向に存する端部までの距離を算出する残り距離算出手段と、前記算出された距離が、車両の進行距離よりも小さい場合に、前記端部に接続された線分を検索する接続線分検索手段とを備えている。
【００１３】
【作用】
本発明によれば、候補点が位置する道路およびこれに接続された道路を検索し、検索された道路に、新たな候補点を生成するため、処理時間を要することなく、より正確な車両の現在位置を求めることが可能となる。
【００１４】
また、本発明によれば、候補点から、車両の走行距離だけ進められた位置に対応する点を新たな候補点とするため、算出された新たな候補点の位置と、車両の現実の位置との間の誤差をより少なくすることが可能となる。
【００１５】
本実施例の好ましい実施態様によれば、さらに、その方位と車両の進行方位との間の方位差が所定の範囲内である道路が選択され、選択された道路に関連して新たな候補点が得られるため、無駄な処理を経ることなく、正確な車両の現在位置を算出することが可能となる。
【００１６】
本実施例の好ましい実施態様によれば、さらに、仮想現在位置からの距離が所定の範囲内である道路が選択され、選択された道路に関して新たな候補点が得られるため、無駄な処理を経ることなく、正確な車両の現在位置を算出することが可能となる。
【００１７】
【実施例】
以下、添付図面に基づいて、本発明の実施例につき詳細に説明を加える。
【００１８】
図１は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。図１に示すように、この現在位置算出装置１０は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ１１と、地磁気を検出することで車両の進行方位を検出する地磁気センサ１２と、車両のトランスミッションの出力軸の回転に比例した時間間隔でパルスを出力する車速センサ１３を備えている。
【００１９】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ１７と、ディスプレイ１７に表示する地図の縮尺切り替えの指令をユーザに（運転者）から受け付けるスイッチ１４と、デジタル地図データを記憶しておくＣＤ−ＲＯＭ１５と、そのＣＤ−ＲＯＭ１５から地図データを読みだすためのドライバ１６とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ１８を備えている。本実施例において、上述したディジタル地図データには、複数の線分の端部を示す座標から構成される道路データ、或いは、該道路の道幅を示す道路幅データ、道路が高速道路或いは一般道路であるかを示す高速道路フラグなどが含まれる。
【００２０】
コントローラ１８は、角速度センサ１１の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器１９と、地磁気センサ１２の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器２０と、車速センサ１３から出力されるパルス数を０．１秒毎にカウントするカウンタ２６と、スイッチ１４の押圧の有無を入力するパラレルＩ／Ｏ２１と、ＣＤ−ＲＯＭ１５から読みだされた地図データを転送するＤＭＡ（Direct Memory Access）コントローラ２２と、ディスプレイ１７に地図画像を表示する表示プロセッサ２３とを有する。
【００２１】
また、コントローラ１８は、さらに、マイクロプロセッサ２４と、メモリ２５とを有する。マイクロプロセッサ２４は、Ａ／Ｄ変換器１９を介して得た角速度センサ１１の信号、Ａ／Ｄ変換器２０を介して得た地磁気センサ１２の信号、カウンタ２６がカウントした車速センサ１３の出力パルス数、パラレルＩ／Ｏ２１を介して入力するスイッチ１４の押圧の有無、ＤＭＡコントロ−ラ２２を介して得たＣＤ−ＲＯＭ１５からの地図データを受け入れて、それら信号に基づいて処理を行い、車両の現在位置を算出して、それを表示プロセッサ２３を介してディスプレイ１７に表示させる。この車両位置の表示は、図２に示すように、すでにディスプレイ１７に表示している地図上に矢印マ−ク等を重畳して表示することにより行う。これにより、ユーザは、地図上で車両の現在位置を知ることができる。メモリ２５は、このような動作を実現するための処理（後述）の内容を規定するプログラムなどを格納したＲＯＭと、マイクロプロセッサ２４が処理を行う場合にワ−クエリアとして使用するＲＡＭとを含んでいる。
【００２２】
以下、このように構成された現在位置算出装置１０の動作について説明する。
【００２３】
装置１０の動作は、全般的に、車両の進行方位及び進行距離を算出する処理と、算出された進行方位及び距離から車両の現在位置を決定する処理と、得られた車両位置および方位を表示する処理との三つの処理に分けることができるため、これらについて順次説明する。
【００２４】
図３に、車両の進行方位及び進行距離を算出する処理の流れを説明する。
【００２５】
この処理は、一定周期、たとえば１００ｍＳ毎に起動され実行されるマイクロプロセッサ２４のルーチンである。
【００２６】
このルーチンでは、最初、Ａ／Ｄ変換器１９から角速度センサ１１の出力値を読み込む（ステップ３０１）。この角速度センサ１１の出力値には、方位変化が出力されるので、車両の進行方向の相対的な値しか検出できない。このため、次に、Ａ／Ｄ変換器２０から地磁気センサ１２の出力値を読み込み（ステップ３０２）、この地磁気センサ１２の出力値により算出された絶対方位とジャイロ１１から出力される方位変化（角速度出力）とを用いて、車両の推定方位を決定する（ステップ３０３）。
【００２７】
この方位の決定は、たとえば、長い時間、車速が低い時には、角速度センサの誤差が大きいので、一定時間以上車速が低い場合には、地磁気センサ方位のみを利用するという方法により行う。
【００２８】
次に、車速センサ１３の出力するパルス数を、０．１秒毎に、カウンタ２６で計数して、その計数値を読み込む（ステップ３０４）。この読み込んだ値に、距離係数を乗算することで、０．１秒間に進んだ距離を求める（ステップ３０５）。
【００２９】
次に、このようにして求められた０．１秒間あたりの進行距離値を、前回得られた値に積算して、車両の進行距離が２０ｍとなったかどうかを調べ（ステップ３０６）、２０ｍに満たない場合（ステップ３０６でノー（Ｎｏ））、今回の処理を終了して、新たな処理を開始する。
【００３０】
進行距離算出処理の結果、積算された進行距離が一定距離、例えば２０ｍとなった場合（ステップ３０６でイエス（Ｙｅｓ））、その時点での進行方向と進行距離Ｒ（本実施例においては２０ｍ）とを出力する（ステップ３０７）。ステップ３０７では、さらに、積算距離を初期化して、新たに進行距離の積算を開始する。
【００３１】
次に、算出された進行方位および進行距離に基づいて、車両の仮想現在位置を算出し、算出された仮想現在位置に基づき、車両の候補点を求める処理について説明する。
【００３２】
図４に、この処理の流れを示す。
【００３３】
本処理は、図３からの進行方位および進行距離が出力されるのを受けて起動され、実行されるマイクロプロセッサ２４のルーチンである。すなわち、本実施例において、本処理は、車両が２０ｍ進む毎に起動される。
【００３４】
さて、この処理では、まず、ステップ４０７で出力された進行方位と進行距離とを読み込む（ステップ４０１）。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。さらに、これらの各方向における移動量を、前回の車両の候補点を求める処理で得られた車両の候補点の位置に加算して、現在車両が存在すると推定される位置である仮想現在位置（Ａ）を求める（ステップ４０２）。
【００３５】
もし、装置の始動直後など、前回の車両の候補点を求める処理で得られた候補点が存在しない場合には、別途設定された位置を、前回得られた候補点の位置として用いて仮想現在位置（Ａ）を求める。
【００３６】
ここに、候補点につき説明を加える。装置の始動直後など、初期的な状態においては、仮想現在位置（Ａ）は、ユーザ（運転者）がスイッチ１４を用いて所定の情報を入力することなどにより、一意的に定まり、かつ、これは道路に対応する線分上に位置する。しかしながら、車両が走行した後には、ジャイロなどの方位センサの誤差などにより、仮想現在位置（Ａ）が、道路に対応する線分上に存在しなくなる場合がある。その結果、たとえば、図５に示すように、道路が分岐している場合、すなわち、道路に対応する線分６１の節点すなわち端部６８から、二つの線分６４および６５があらわれる場合に、いずれの線分に対応する道路上に車両が存在するかが、明確にすることができない場合が多い。
【００３７】
したがって、このような場合に、本実施例においては、後述する処理により得られた線分（図５に示す例では二つの線分）上に存在する点を、所定の条件の下で候補点として設定し、これらの現在位置、エラーコスト、後述する累算エラーコストなどを、それぞれ、メモリ２５のＲＡＭの所定の領域に記憶するように構成されている。なお、説明を容易にするため、以下の説明においては、特に複数の候補点であることを明示しない限り、単一の候補点から、新たな一以上の候補点を生成することとする。
【００３８】
次いで、前回の車両の候補点を求める処理で得られたマッチング状態の候補点のみに関して、道路とのマッチングを行うための第１の道路検索処理が実行される（ステップ４０３）。なお、本実施例において、マッチング状態とは、ある仮想現在位置に関連して、該仮想現在位置との距離、或いは、その方位と車両の進行方位との間の方位差が、所定の範囲内であるような道路が存在し、その結果、仮想現在位置に基づき、道路上の所定の位置に候補点が得られた状態を称する。これに対して、ある仮想現在位置に関連して、上述した距離および方位差が、所定の範囲内であるような道路が存在しない場合が考えられる。本実施例においては、このような場合に、仮想現在位置Ａに対応する点自体が候補点となり、このようにして得られた候補点を、フリー状態の候補点と称している。
【００３９】
ここに、図６および図７は、本実施例にかかる第１の道路検索処理を詳細に示すフローチャートである。
【００４０】
図６に示すように、この道路検索処理においては、まず、ＣＤ−ＲＯＭ１５から、ドライバ１６およびＤＭＡコントローラ２３を介して、所定の道路データを読み出す（ステップ６０１）。本実施例においては、道路データとして、図８に示すように、２点間を結ぶ複数の線分５１ないし５５で近似し、それら線分を、その始点と終点の座標によって表したものなどを用いている。たとえば、線分５３は、その始点（ｘ３、ｙ３）と終点（ｘ４、ｙ４）によって表現される。したがって、このステップ６０１においては、前回の処理により得られたマッチング状態の候補点が位置する線分が選択されて、これに関するデータが読み出される。
【００４１】
次に、ステップ６０１において選択された線分の座標に基づき、候補点の位置から線分の車両の進行方向の端部までの長さが、２０ｍに対応する長さ以下であるかどうかを判断する（ステップ６０２）。このステップ６０２においてＮｏ（ノー）と判断された場合には、当該線分が、一次候補線分として一時的に記憶される（ステップ６０３）。これに対して、ステップ６０２においてＹｅｓ（イエス）と判断された場合には、この線分の車両の進行方向の端部に接続されている線分が存在するか否かを判断する（ステップ６０４）。
【００４２】
線分の端部に、他の線分が接続されている場合には、この接続されている線分を、一次候補線分として一時的に記憶される（ステップ６０５）。ここで、線分の端部に複数の線分が接続されている場合には、これら複数の線分のそれぞれが、一次候補線分として一時的に記憶される。その一方、このステップ６０４においてＮｏ（ノー）と判断された場合には、ステップ６０６に進む。
【００４３】
次いで、車両の進行方位と、線分の方位との間の角度を比較する角度比較処理が実行される（ステップ６０７）。図９は、本実施例にかかる角度比較処理を示すフローチャートである。図９に示すように、この処理においては、車両の進行方位と線分の方位との方位差θｄを算出し（ステップ９０１）、この方位差θｄの絶対値が、所定のしきい値θthよりも大きいか否かを判断する（ステップ９０２）。本実施例において、このしきい値θthは、３０°に設定されている。ステップ９０２においてノー（Ｎｏ）と判断された場合には、処理を終了し、その一方、イエス（Ｙｅｓ）と判断された場合には、この道路を一次候補線分としない旨の判断がなされ、一時的に記憶されたこの一次候補線分に対応するデータが削除される（ステップ９０３）。
【００４４】
図６のステップ６０７に示す角度比較処理が終了すると、ステップ６０８において複数の一次候補線分が記憶された場合には、他の一次候補線分についても角度比較処理が実行され（ステップ６０７、６０８）、全ての一次候補線分につき、角度比較処理が実行されると、ステップ６０９に進む。このようにして、前回の処理において得られた候補点が位置する線分、或いは、これに接続する線分のうち、その方位と車両の方位との間の方位差が、しきい値θth以下であるような線分が、一次候補線分として記憶される。
【００４５】
ステップ６０９は、一時的に記憶された一次候補線分が、少なくとも一つ以上存在するかどうかを判断する。このステップ６０９においてノー（Ｎｏ）と判断された場合には、ステップ６０６に進む。その一方、ステップ６０９においてイエス（Ｙｅｓ）と判断された場合には、前回の処理において得られた候補点から、１或いは２の線分に沿って、車両の進行した距離Ｒ、本実施例では２０ｍに対応する長さだけ進められた位置が、一次候補線分上にないか否かを判断する（ステップ６１０）。例えば、前述したステップ６０２でノー（Ｎｏ）と判断された結果得られた一次候補線分に関しては、このステップ６１０においてノー（Ｎｏ）と判断される。また、前述したステップ６０２でイエス（Ｙｅｓ）と判断された場合に得られた一次候補線分であっても、前回の処理で得られた候補点の位置から、この点が位置する線分の端部までの長さと、得られた一次候補線分の長さとの和が、距離Ｒ、すなわち、本実施例では２０ｍに対応する長さより以上である場合には、このステップ６１０において、ノー（Ｎｏ）と判断される。換言すれば、このステップ６１０において、イエス（Ｙｅｓ）と判断される場合は、前回の処理で得られた候補点の位置から、この点が位置する線分の端部までの長さと、得られた一次候補線分の長さとの和が、距離Ｒ、すなわち、本実施例においては２０ｍに対応する長さに満たない場合に限られる。
【００４６】
さて、ステップ６１０においてノー（Ｎｏ）と判断された場合には、垂線距離比較処理が実行される（ステップ６１１）。ここに、図１０は、本実施例にかかる垂線距離比較処理を示すフローチャートである。図１０に示すように、この処理においては、仮想現在位置から一次候補線分に向けて垂線をひき、この垂線の長さＬを求める（ステップ１００１）。次いで、この垂線の長さＬが、予め定められたしきい値Ｌth以下であるか否かを判断する（ステップ１００２）。すなわち、一次候補線分が仮想現在位置から、しきい値Ｌthの範囲に存在しているかどうかを判断する。このステップ１００２においてイエスと判断された場合には、この一次候補線分が、二次候補線分として記憶されるとともに、前回の処理で得られた候補点から、所定の線分に沿って、距離Ｒだけ離間した位置の座標データが、当該二次候補線分に対応する位置データとして記憶される。
【００４７】
その一方、ステップ１００２においてノー（Ｎｏ）と判断された場合には、この一次候補線分は消去され、その結果、二次候補線分は生成されない（ステップ１００４）。
【００４８】
このように、垂線距離比較処理６１１が終了すると、全ての一次候補線分につき、処理が終了しているか否かが判断される（ステップ６１２）。
【００４９】
これに対して、前述したステップ６１０においてイエス（Ｙｅｓ）と判断された場合には、さらに、一次候補線分の車両の進行方向の端部に接続された線分が無いか否かが判断される（ステップ６１３）。このステップにおいてイエス（Ｙｅｓ）と判断された場合、すなわち、接続された線分が存在しないと判断された場合には、この一次候補線分は消去され、その結果、二次候補線分は生成されず（ステップ６１４）。ステップ６１２に進む。その一方、ステップ６１３においてノー（Ｎｏ）と判断された場合には、この接続された線分を、一次候補線分として一時的に記憶し（ステップ６１５）、さらに、角度比較処理が実行される（ステップ６１６）。
【００５０】
ステップ６１０ないしステップ６１６の処理を繰り返すことにより、前回の処理により得られた候補点が位置する線分から、車両の進行方向に、該線分或いはこれに接続された線分に沿って、所定の距離Ｒだけ離間した点が存在し、その方位と車両の進行方位との間の方位差が、所定のしきい値θth以下であり、かつ、仮想現在位置との間の距離が、所定のしきい値Ｌth以下であるような二次候補線分を得ることができる。さらに、得られた二次線分に対応する位置データとして、前回の処理で得られた候補点から、所定の線分に沿って、距離Ｒだけ離間した位置の座標データを得ることができる。この座標データが、後述する候補点を示すデータに対応する。
【００５１】
一次候補線分に関して、ステップ６１０ないしステップ６１６の処理が終了すると、これらステップを経た結果、二次候補線分が得られているか否かを判断する（ステップ６１７）。このステップ６１７において、ノー（Ｎｏ）と判断された場合には、ステップ６０６に進み、その一方、イエス（Ｙｅｓ）と判断された場合には、処理を終了する。
【００５２】
たとえば、図５において、線分６１上に存在したある候補点６２に対して、仮想現在位置Ａが、点６３に示す位置に表わされるとする。このような場合に、まず、候補点６２が位置する線分６１を選択し（ステップ６０１）、この線分上の候補点６２から、車両の進行方向の端部６８までの距離を判断する（ステップ６０２）。図５の例の場合には、この線分に接続されている道路があるため、線分６４、６５が、それぞれ、一次候補線分として一時的に記憶され、それぞれに関連して、角度比較処理（ステップ６０７）が実行される。ここに、図５の例において、｜θ(１)−θcar｜＜θth、かつ、｜θ(２)−θcar｜＜θthであると仮定すると、ステップ６１０、６１１および６１２からなる処理ループが二回繰り返され、線分６４、６５のそれぞれに関連して、垂線距離比較処理（ステップ６１１）が実行される。
【００５３】
さらに、図５の例において、Ｌ(１)＜Ｌth、かつ、Ｌ(２)＜Ｌthであったとすると、線分６４、６５が二次候補線分として記憶され、さらに、候補点６２から、線分６１および６４、或いは、線分６１および６５に沿って、進行距離Ｒ（本実施例では２０ｍ）に対応する長さだけ進められた点が候補点６６、６７として設定され、この点の座標データ、仮想現在位置から線分までの距離Ｌ（１）、Ｌ（２）に対応するデータ、および、線分の角度θ（１）、θ（２）に対応するデータが記憶される。
【００５４】
また、図１１に示すように、線分６４上の候補点６６に対して、新たな仮想現在位置Ａが、点７１に示す位置に表わされ、その一方、線分６５上の候補点６７に対して、新たな現在位置Ａ‘が、点７２に示す位置に表わされるとする。この場合にも、候補点６６に関連して、線分７３、７４が、一次候補線分として一時的に記憶されるとともに、候補点６７に関連して、線分７５が、一次候補線分として一時的に記憶される。さらに、これらに一次候補線分に関連して、角度比較処理、一定の条件を満たしている場合には、さらに垂線距離比較処理が実行される。図１１に示す例において、線分７３ないし７５が、二次候補線分となり得るものであったとすると、図１２に示すように、候補点６６から、線分６４および７３、或いは、線分６４および７４に沿って、若しくは、候補点６７から、線分６５および７５に沿って、車両の走行距離Ｒ（本実施例では２０ｍ）に対応する長さだけ進められた点が、候補点８１、８２、８３として設定され、これらの座標データが記憶されるとともに、これら候補点に対応して、仮想現在位置Ａから、線分７３、７４までのそれぞれの距離Ｌ１（１）、Ｌ１（２）に対応するデータ、および、仮想現在位置Ａ’から、線分７５までの距離Ｌ２（１）に対応するデータと、線分７３、７４の角度θ１（１）、θ１（２）に対応するデータ、および、線分７５の角度θ２（１）に対応するデータとが記憶される。
【００５５】
再度、図６および図７の第１の道路検索処理に戻る。ここで、ステップ６０４においてノー（Ｎｏ）と判断された場合、すなわち、前回の処理において得られた候補点が位置する線分の車両の進行方向の端部に接続している線分が存在しない場合、ステップ６０７ないし６０８において、一次候補線分が得られなかった場合（ステップ６０９でノー（Ｎｏ））、或いは、ステップ６１０ないしステップ６１６において、二次候補線分が得られなかった場合（ステップ６１７でノー（Ｎｏ））には、仮想現在位置を示す座標データが、候補点を示すデータとなる。
【００５６】
このようにステップ４０３の第１の道路検索処理が終了すると、前回の車両の候補点を求める処理で得られたフリー状態の候補点に関して、道路とのマッチングを行うための第２の道路検索処理が実行される（ステップ４０４）。図１３は、本実施例にかかる第２の道路検索処理を示すフローチャートである。
【００５７】
図１３に示すように、この処理（ステップ１３０１ないし１３０４）は、図５に示すマッチング状態の候補点に対する第１の道路検索処理（図４のステップ４０３）に類似している。これら二つの処理の間の相違は以下の点にある。すなわち、第１の道路検索処理においては、前回の車両の候補点を求める処理で得られた候補点が位置する線分、あるいは、これに接続する線分を、一次候補線分として一時的に記憶し、これら一次候補線分から、さらに、その方位と車両方位との方位差が所定のしきい値θth以下であって、かつ、仮想現在位置からの距離に対応する長さが所定のしきい値Ｌth以内の線分を、二次候補線分として選択している。これに対して、第２の道路検索処理においては、仮想現在位置（Ａ）を中心とする予め設定された距離Ｄ内にある線分をすべて抽出し（ステップ１３０１）、これら線分から、その方位と車両方位との方位差が所定のしきい値θth以下の線分を選択し（ステップ１３０２）、さらに、選択された線分と仮想現在位置との間の距離を求め、この距離に対応する長さが所定のしきい値Ｌth以内の線分を選択している（ステップ１３０３）。換言すれば、第１の道路選択処理においては、候補点が位置している線分、或いは、当該線分の分岐点から延びる幾つかの線分などが選択されるが、図１３のステップ１３０２の処理においては、読み出された地図データに対応する地図中の道路データから、抽出すべき線分が決定される。したがって、ステップ１３０１ないし１３０３を実行するための処理時間は、道路データに対応する道路の密度に依存し、特に、読み出された地図データに対応する地図が、市街地であった場合など、道路の密度が大きい場合などでは、この処理時間は、第１の道路検索処理における対応する処理を実行するのに必要な時間と比較すると大きい。
【００５８】
この第２の道路検索処理において、ステップ１３０３が終了すると、ステップ１３０２およびステップ１３０３により取り出された線分、すなわち、その方位と車両方位との間の方位差が、しきい値θth以下であり、かつ、仮想現在位置からの距離に対応する長さがしきい値Ｌth以下であるような線分が二次候補線分として選択されるとともに、仮想現在位置から当該線分におろした垂線の足、すなわち、この垂線と線分との交点が、候補点として設定され、この座標データが記憶される（ステップ１３０４）。また、設定された候補点に対応して、仮想現在位置から線分までの距離を示すデータ、および、線分の方位と車両方位との間の方位差を示すデータが、記憶される。なお、第２の道路検索処理においては、仮想現在位置から線分おろした垂線と線分との交点が候補点となるが、これは、前回の処理により得られた候補点が、フリー状態であり、したがって、たどるべき線分が存在しないためである。
【００５９】
なお、この第２の道路検索処理において、仮想現在位置から所定の範囲Ｄ内に線分が存在しない場合、その方位と車両の進行方位との方位差がしきい値θth以下の線分が存在しない場合、或いは、仮想現在位置からの距離に対応する長さがしきい値Ｌth以下であるような線分が存在しない場合には、仮想現在位置に対応する点が候補点となる。
【００６０】
上述したように、ステップ４０４の第２の道路探索処理が終了すると、第１の道路検索処理および第２の道路検索処理により得られたｎ個の候補点に関連する垂線の長さＬ（ｉ）（１≦ｉ≦ｎ）と、候補点が位置する二次候補線分の方位と車両の方位との間の方位差θd（ｉ）とに基づき、以下の式により定義されるエラーコストｅｃ（ｉ）が算出される（ステップ４０４）。
【００６１】
ｅｃ（ｉ）＝α×｜θd（ｉ）｜＋β×Ｌ（ｉ）
ここに、αおよびβは、重み係数である。これら重み係数の値は、車両の進行方位と線分の方位との間のずれと、仮想現在位置と線分との間のずれとの何れを、道路が選択される上で重視するかにしたがって決定される。たとえば、進行方位とその方位と方位が近い道路を選択することを重視する場合は、αを大きくするようにする。
【００６２】
ついで、算出されたエラーコストｅｃ（ｉ）と、前回の処理で得られた候補点に関連する累算エラーコストｅｓとにしたがって、下記の式により定義される、今回の処理における累算エラーコストｅｓを算出する（ステップ４０５）。
【００６３】
ｅｓ（ｉ）＝（１−ｋ）×ｅｓ＋ｋ×ｅｃ（ｉ）
ここに、ｋは、０より大きく１より小さな重み係数である。この累算エラーコストｅｓ（ｉ）は、前回以前の処理において算出されたエラーコストを、今回の処理において算出されるエラーコストにどのくらい反映させるかを表わしている。
【００６４】
さらに、算出された累算エラーコストｅｓ（ｉ）に基づき、下記の式に定義される信頼度ｔｒｓｔ（ｉ）を算出する（ステップ４０６）。
【００６５】
ｔｒｓｔ（ｉ）＝１００／（１＋ｅｓ（ｉ））
上記式から明らかなように、累算エラーコストｅｃ（ｉ）が大きくなるのにしたがって、信頼度ｔｒｓｔ（ｉ）は減少し、０（ゼロ）に近づく。その一方、これが小さくなるのにしたがって、信頼度ｔｒｓｔ（ｉ）は増大し、その値は、１００に近づく。
【００６６】
このような処理をすることにより、ある候補点に対応して得られたｎ個の二次候補線分に関連する信頼度ｔｒｓｔ（ｉ）が求められる。候補点が複数存在する場合には、それぞれの候補点に対応して得られた複数の二次候補線分に関連する信頼度ｔｒｓｔを算出すればよい。
【００６７】
なお、フリー状態の候補点に関連して、ステップ４０５で算出すべきエラーコストｅｃ（ｎ）には、マッチング状態である場合に得られるエラーコストの値よりも大きな一定の値が与えられる。
【００６８】
次いで、このように得られた候補点の各々に対応する信頼度ｔｒｓｔの値にしたがって、これら新たな候補点をソートし（ステップ４０８）、最も信頼度の値の大きな候補点Ｃを、表示候補点ＣＤ、すなわち、ディスプレイ１７上に表示するための候補点として、その位置、累算エラーコスト、信頼度、マッチング状態であるかフリー状態であるかを示す状態フラグなどを、メモリ２５のＲＡＭの所定の領域に記憶するとともに、表示候補点以外の他の候補点の位置、累算エラーコスト、信頼度、状態フラグなども、ＲＡＭの所定の領域に記憶する（ステップ４０９）。なお、本実施例においては、７個の候補点に関連するデータを記憶可能に構成されている。したがって、図４のステップ４０１ないし４０８の処理を実行した結果、８個以上の候補点が算出された場合には、これらのうち、信頼度ｔｒｓｔの値が大きい順に７個の候補点に関連する種々のデータが、メモリ２５のＲＡＭの所定の領域に記憶されることになる。
【００６９】
最後に、表示候補点に関連するデータが出力され（ステップ４１０）、処理を終了する。
【００７０】
図４のステップ４０１ないし４１０を実行することにより得られた表示候補点は、図１４に示すフローチャートに基づく処理によりディスプレイ１７の画面上に表示される。
【００７１】
本処理は、１秒毎に起動され実行されるマイクロプロセッサ２４のルーチンである。
【００７２】
最初、スイッチ１４が押圧により地図の縮尺の変更を指示されているかを、パラレルＩ／Ｏ２１の内容を見て判断する（ステップ１４０１）。もし、押されていれば（ステップ１４０１でイエス（Ｙｅｓ））、それに対応して、所定の縮尺フラグを設定する（ステップ１４０２）。
【００７３】
次に、図４の処理を実行することにより得られた表示候補点の位置および方位を示すデータを、メモリ２５のＲＡＭの所定の領域から読み出し（ステップ１４０３）、ステップ１４０２で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ１７に、例えば、図２に示すような状態で表示する（ステップ１４０４）。
【００７４】
そして、地図に重畳して、表示候補点の位置およびその方位を、たとえば、先に示した図２のように、矢印記号“↑”を用いて表示する（ステップ１４０５）。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図２のように表示する（ステップ１４０６）。
【００７５】
なお、本実施例においては、上記のように矢印記号を用いて車両位置および方向を示したが、車両位置および方向の表示形態は、位置および進行方向が、表示状態が明確に示されるものであれば、その形態は任意でよい。また、北マーク等も同様である。
【００７６】
本実施例によれば、マッチング状態の候補点から得られた仮想現在位置に関連して、当該候補点が位置する線分、或いは、これに接続された線分を検索するため、仮想現在位置の周辺に存在する全ての道路を検索する場合と比較すると、より短時間で、所望の線分を検索することが可能となる。
【００７７】
また、本実施例によれば、マッチング状態の候補点の位置する線分および／または該候補点の位置する線分に接続された線分に沿って、車両の進行距離に対応する長さだけ、前記候補点から進められた位置を候補点とするため、算出された車両の現在位置と実際の車両の現在位置との間の誤差をより小さくすることが可能となる。
【００７８】
本発明は、以上の実施例に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００７９】
たとえば、前記実施例においては、第１の道路検索処理において、マッチング状態の候補点の位置する線分或いはこれに接続された線分を一次候補線分として一時的に記憶し、これに関して角度比較処理を実行し、さらに、角度比較処理により方位差が所定の範囲内である一次候補線分が、所定の長さに満たない場合には、さらに、これに接続された線分を検索している。これは、本実施例においては、第１の道路検索処理が、車両の走行距離２０ｍごとに実行されるため、候補点が位置している線分およびこれに接続する線分に対応する道路上に、車両が実際に位置している信憑性が高いからである。
【００８０】
しかしながら、本発明は、このようなアルゴリズムに限定されるものではない。すなわち、候補点が位置する線分から、車両の走行距離だけ、線分に沿って進められた点を含む線分を、まず、すべて検索し、検索されたすべての線分に関して、角度比較処理を実行するように構成しても良い。
【００８１】
また、本実施例において用いられたパラメータは、例示のために与えられたものに過ぎず、したがって、これらパラメータは、装置の処理速度、車両が走行する道路の種別（例えば、一般道路、高速道路など）にしたがって変更可能であることを理解すべきである。
【００８２】
さらに、本明細書において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウエアによって実現される場合も包含する。また、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【００８３】
【発明の効果】
本発明によれば、車両の現在位置を、より少ない処理時間で、かつ、より正確に算出する現在位置算出システムを提供することが可能となる。
【図面の簡単な説明】
【図１】  図１は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。
【図２】  図２は、本実施例にかかる地図および現在位置の表示例を示す図である。
【図３】  図３は、本実施例にかかる車両の進行方位および進行距離を算出する処理を示すフローチャートである。
【図４】  図４は、本実施例にかかる車両の候補点を算出する処理を示すフローチャートである。
【図５】  図５は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図６】  図６は、本実施例にかかる第１の道路検索処理を示すフローチャートである。
【図７】  図７は、本実施例にかかる第１の道路検索処理を示すフローチャートである。
【図８】  図８は、本実施例にかかる道路データの一例を説明するための図である。
【図９】  図９は、本実施例にかかる角度比較処理を示すフローチャートである。
【図１０】  図１０は、本実施例にかかる垂線距離比較処理を示すフローチャートである。
【図１１】  図１１は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図１２】  図１２は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図１３】  図１３は、本実施例にかかる第２の道路検索処理を示すフローチャートである。
【図１４】  図１４は、本実施例にかかる現在位置表示処理を示すフローチャートである。
【符号の説明】
１０      現在位置算出装置
１１      角速度センサ
１２      方位センサ
１３      車速センサ
１４      スイッチ
１５      ＣＤ−ＲＯＭ
１６      ＣＤ−ＲＯＭ読み取りドライバ
１７      ディスプレイ
１８      コントローラ
【図１】
0003693383.tif 000002
【図２】
0003693383.tif 000003
【図３】
0003693383.tif 000004
【図４】
0003693383.tif 000005
【図５】
0003693383.tif 000006
【図６】
0003693383.tif 000007
【図７】
0003693383.tif 000008
【図８】
0003693383.tif 000009
【図９】
0003693383.tif 000010
【図１０】
0003693383.tif 000011
【図１１】
0003693383.tif 000012
【図１２】
0003693383.tif 000013
【図１３】
0003693383.tif 000014
【図１４】
0003693383.tif 000015