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