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