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