(57)【特許請求の範囲】
【請求項１】
車両に搭載され、前記車両の現在位置を算出する現在位置算出装置であって、
前記車両の進行方位を検出する方位検出手段と、
前記車両の走行距離を測定する距離測定手段と、
道路地図を記憶した地図記憶手段と、
前記距離測定手段で測定された前記車両の走行距離、前記方位検出手段で検出された前記車両の進行方位、および、前記地図記憶手段に記憶されている前記道路地図を用いて、前記車両の現在位置を順次算出する現在位置算出手段と、
前記車両が旋回中か否かを判定する状態判定手段と、
前記現在地算出手段で算出された前記車両の現在位置に基づいて、前記記憶手段から読み出した道路地図と共に前記車両の現在位置を表示する表示手段と、を有し、
前記現在位置算出手段は、
前記状態判定手段で前記車両が旋回中の状態でないと判定されている場合、前回算出した現在位置と前記車両の進行方位および走行距離とから仮現在位置を推定し、推定した仮現在位置を前記道路地図に照合してマップマッチング処理により道路リンク上に今回の現在位置を算出し、
前記状態判定手段で前記車両が旋回中の状態であると判定されている場合、前回算出した現在位置が存在する道路リンクと前記車両の進行方向上前方に接続する道路リンクを特定し、特定した道路リンク各々について、前回算出した現在位置から当該道路リンクの中点近傍に設定した着目点までの道のりに相当する距離を、前回現在位置を算出してから前記車両が走行したときに前記方位検出手段で検出される前記車両の進行方位と、当該道路リンクの方位との差分を求め、当該差分が所定値以下の道路リンクの前記着目点を今回の現在位置として算出すること
を特徴とする現在位置算出装置。
【請求項２】
請求項１に記載の現在位置算出装置であって、
前記現在位置算出手段は、
前記状態判定手段で前記車両が旋回中の状態であると判定されている場合、前記車両の進行方位が、前回算出した現在位置が存在する道路リンクの方位と当該道路リンクの前記車両の進行方向上前方に接続する道路リンクの方位との間に設けた判定用方位以下となった場合に、前記接続する道路リンクを特定すること
を特徴とする現在位置算出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、該移動体の進行距離、進行方位などを測定して、これにより、当該移動体の現在位置を算出する現在位置算出装置に関するものである。
【０００２】
【従来技術】
従来の道路上を走行する車両の現在位置を算出する現在位置算出装置において、該車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の進行距離とに基づいて算出されている。
【０００３】
また、車両の進行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ１回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【０００４】
さらに、特開昭６３−１４８１１５号公報に記載のように、走行距離および方位変化量に基づき定まる車両の現在位置を中心とする所定の範囲内の道路を道路地図より抽出し、推定位置と抽出した各道路の相関に基づいて最も相関の高い道路上に現在位置を修正することにより、車両の進行方向と進行距離から求めた現在位置の誤差を補正する技術が知られている。また、このような推定位置と道路との相関としては、推定位置と道路との距離や車両の進行方位と道路の方位差が用いられることが多い。
【０００５】
このような道路に整合するように、求められた車両の現在位置を修正する、いわゆる、マップマッチングの技術によれば、現在位置算出の精度を高めることができる。
【０００６】
【発明が解決しようとする課題】
前述したマップマッチングの技術は、道路地図に基づいて現在位置を修正するものであるため、道路地図が正確であることを前提としている。
【０００７】
一方、カ−ナビゲ−ションシステム等に適用される現在位置算出装置に用いられる道路地図は、通常、図２０のように、直線のリンクの組合せａによって道路の位置、形状が表現されている。したがい、道路のカ−ブ（曲線形状の箇所）等においては、図２０に示すように、現実の道路形状ｂを正しく表していない場合が多い。そして、このような地点においては、道路地図が正確に現実の道路形状を表していないために、推定位置と道路との距離や車両の進行方位と道路の方位差を推定位置と道路との相関として用いるマップマッチングの技術を適用すると、かえって誤った道路上に現在位置が求まってしまうことがある。
【０００８】
反面、前述したマップマッチングの技術を適用せずに、走行距離および方位変化量に基づき定まる車両の現在位置を、そのまま用いた場合にも次のような問題が生じる。
【０００９】
すなわち、一般的に、カ−ナビゲ−ションシステムでは求めた現在位置を、運転者に知らせるために、求めた現在位置周辺の道路地図を当該道路地図上の現在位置を示すマ−クと共に表示する。しかし、前述したマップマッチングの技術を適用しない場合には、現在位置を示すマ−クは、道路上に表示されるとは限らない。特に、カ−ブ等において道路地図が正確に現実の道路形状を表していない場合には、走行距離および方位変化量に基づき求めた車両の現在位置が正しい場合であっても、現在位置を示すマ−クは、走行中の道路に対応する道路地図上の道路とかけ離れた位置に表示されることがある。道路上を走行しているにも関わらずに、その道路外の離れた位置が現在位置として表示されることになるため、このような表示は、運転者にとって極めて不自然である。また、運転者が、現在位置を把握できなってしまう場合もある。
【００１０】
そこで、本発明は、カ−ブにおいても、走行している道路を正しく推定し、推定した道路に近い位置に現在位置を表示することのできる現在位置算出装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
前記目的達成のために、本発明は、車両に搭載され、前記車両の現在位置を算出する現在位置算出装置であって、
前記車両の進行方位を検出する方位検出手段と、
前記車両の走行距離を測定する距離測定手段と、
道路地図を記憶した地図記憶手段と、
前記距離測定手段で測定された前記車両の走行距離、前記方位検出手段で検出された前記車両の進行方位、および、前記地図記憶手段に記憶されている前記道路地図を用いて、前記車両の現在位置を順次算出する現在位置算出手段と、
前記車両が旋回中か否かを判定する状態判定手段と、
前記現在地算出手段で算出された前記車両の現在位置に基づいて、前記記憶手段から読み出した道路地図と共に前記車両の現在位置を表示する表示手段と、を有し、
前記現在位置算出手段は、
前記状態判定手段で前記車両が旋回中の状態でないと判定されている場合、前回算出した現在位置と前記車両の進行方位および走行距離とから仮現在位置を推定し、推定した仮現在位置を前記道路地図に照合してマップマッチング処理により道路リンク上に今回の現在位置を算出し、
前記状態判定手段で前記車両が旋回中の状態であると判定されている場合、前回算出した現在位置が存在する道路リンクと前記車両の進行方向上前方に接続する道路リンクを特定し、特定した道路リンク各々について、前回算出した現在位置から当該道路リンクの中点近傍に設定した着目点までの道のりに相当する距離を、前回現在位置を算出してから前記車両が走行したときに前記方位検出手段で検出される前記車両の進行方位と、当該道路リンクの方位との差分を求め、当該差分が所定値以下の道路リンクの前記着目点を今回の現在位置として算出すること
を特徴とする現在位置算出装置を提供する。
【００１３】
【作用】
本発明によれば、車両が旋回するカーブにおいても、現実の道路との方位の誤差が最も小さいと推定される道路の中点近傍の着目点において、走行している道路を、車両方位と道路方位から推定し、この道路上に設けた着目点に現在位置を推定することにより、より正しく車両が走行している道路を推定し、かつ、この道路の近傍に現在位置を表示させるようにすることができる。
【００１４】
【実施例】
以下、本発明の実施例を説明する。
【００１５】
図１は、本発明の実施例に係る現在位置算出装置の構成を示すブロックダイヤグラムである。図１に示すように、この現在位置算出装置１０は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ１１と、地磁気を検出することで車両の進行方位を検出する地磁気センサ１２と、車両のトランスミッションの出力軸の回転に比例した時間間隔でパルスを出力する車速センサ１３を備えている。
【００１６】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ１７と、ディスプレイ１７に表示する地図の縮尺切り替えの指令をユーザ（運転者）から受け付けるスイッチ１４と、デジタル地図データを記憶しておくＣＤ−ＲＯＭ１５と、そのＣＤ−ＲＯＭ１５から地図データを読みだすためのドライバ１６とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ１８を備えている。本実施例において、上述したディジタル地図データには、複数のリンクの端部を示す座標から構成される道路データ、或いは、該道路の道幅を示す道路幅データ、道路が高速道路或いは一般道路であるかを示す高速道路フラグなどが含まれる。
【００１７】
コントローラ１８は、角速度センサ１１の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器１９と、地磁気センサ１２の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器２０と、車速センサ１３から出力されるパルス数を０．１秒毎にカウントするカウンタ２６と、スイッチ１４の押圧の有無を入力するパラレルＩ／Ｏ２１と、ＣＤ−ＲＯＭ１５から読みだされた地図データを転送するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ２２と、ディスプレイ１７に地図画像を表示する表示プロセッサ２３とを有する。
【００１８】
また、コントローラ１８は、さらに、マイクロプロセッサ２４と、メモリ２５とを有する。マイクロプロセッサ２４は、Ａ／Ｄ変換器１９を介して得た角速度センサ１１の信号、Ａ／Ｄ変換器２０を介して得た地磁気センサ１２の信号、カウンタ２６がカウントした車速センサ１３の出力パルス数、パラレルＩ／Ｏ２１を介して入力するスイッチ１４の押圧の有無、ＤＭＡコントロ−ラ２２を介して得たＣＤ−ＲＯＭ１５からの地図データを受け入れて、それら信号に基づいて処理を行い、車両の現在位置を算出して、それを表示プロセッサ２３を介してディスプレイ１７に表示させる。この車両位置の表示は、図２に示すように、すでにディスプレイ１７に表示している地図上に矢印マ−ク等を重畳して表示することにより行う。これにより、ユーザは、地図上で車両の現在位置を知ることができる。メモリ２５は、このような動作を実現するための処理（後述）の内容を規定するプログラムなどを格納したＲＯＭと、マイクロプロセッサ２４が処理を行う場合にワ−クエリアとして使用するＲＡＭとを含んでいる。
【００１９】
以下、このように構成された現在位置算出装置１０の動作について説明する。装置１０の動作は、概略的にいうと、車両の進行方位及び距離から車両の現在位置を決定する現在位置決定処理と、得られた車両の現在位置および方位を表示する表示処理との２つの処理に分けることができるため、これらについて順次説明する。
【００２０】
まず、車両の進行方位及び距離から車両の現在位置を決定する現在位置決定処理について説明する。
【００２１】
この処理は、複数の処理より構成されるが、その内の主要な処理は、次の４つの処理である。
【００２２】
すなわち、車両が直進しているか、旋回を開始したか、旋回中か、旋回を終了したかを２ｍ車両が走行する毎に判定する旋回判定処理、車両が直進している場合に２０ｍ車両が走行する毎に行われる直進処理、車両が旋回を開始した時に行われる旋回開始処理、車両が旋回中である場合に２ｍ車両が走行する毎に行われる旋回中処理、車両が旋回を終了した時に行われる旋回終了処理を、その主要な処理としている。
【００２３】
以下、マイクロプロセッサ２１４が行う各処理について説明する。
【００２４】
まず、図３に、車両が２ｍ走行する毎に行う処理の処理手順を示す。
【００２５】
この処理では、まず、地図データを読みだし（ステップ３０１）、旋回判定処理を行う（ステップ３０２）。旋回判定処理では後述するように、車両が直進している場合にはｄｉｒ＿ｆが０に、旋回を開始した場合にはｄｉｒ＿ｆが１に、旋回中の場合にはｄｉｒ＿ｆが２に、旋回を終了した場合にはｄｉｒ＿ｆが３に設定される。
【００２６】
そこで、ステップ３０３、３０４、３０５では、ｄｉｒ＿ｆの値より車両の走行状態を判定し、ｄｉｒ＿ｆが１の場合には旋回開始処理を行い（ステップ３０６）、ｄｉｒ＿ｆが２の場合には旋回中処理を行い（ステップ３０８）、ｄｉｒ＿ｆが３の場合には旋回終了処理を行う（ステップ３０７）
前述した直進処理は、後述するようにｄｉｒ＿ｆが０の場合に２０ｍ車両が走行する毎に実行される。
【００２７】
次に、ステップ３０１の旋回判定処理について説明する。
【００２８】
図４に旋回判定処理の処理手順を示す。
【００２９】
この処理では前述したように、車両が直進しているか、旋回を開始したか、旋回中か、旋回を終了したかを判定する。
【００３０】
この処理では、まず、ｄｉｒ＿ｆを直進を表す０に設定する。
【００３１】
車両方位θ６を求め、この車両方位と過去６回の車両方位θ０〜θ５の平均θａｖｅとの差の絶対値θｄが所定のしきい値θｔｈ以下であり、かつ、現在まで差の絶対値θｄが連続してしきい値θｔｈ以下であった回数ｃｎｔが所定のしきい値ｃｎｔｔｈより多ければ、直進していると判定し（ステップ１５１０）、ｄｉｒ＿ｆを直進を表す０のままとする。
【００３２】
また、差の絶対値θｄが所定のしきい値θｔｈより大きく、現在まで差の絶対値θｄが連続してしきい値θｔｈ以下であった回数ｃｎｔが所定のしきい値ｃｎｔｔｈより多ければ旋回開始と判定し（ステップ１５１１）、ｄｉｒ＿ｆを旋回開始を表す１とする（ステップ１５１６）。
【００３３】
また、差の絶対値θｄが所定のしきい値θｔｈより大きく現在まで差の絶対値θｄが連続してしきい値θｔｈ以下であった回数ｃｎｔが所定のしきい値ｃｎｔｔｈ以下である場合、または、差の絶対値θｄが所定のしきい値θｔｈより小さく現在まで差の絶対値θｄが連続してしきい値θｔｈ以下であった回数ｃｎｔが所定のしきい値ｃｎｔｔｈに達していない場合には、旋回中と判定し（ステップ１５１２）、ｄｉｒ＿ｆを旋回中を表す２とする（ステップ１５１５）。
【００３４】
残る差の絶対値θｄが所定のしきい値θｔｈ以下であって現在まで差の絶対値θｄが連続してしきい値θｔｈ以下であった回数ｃｎｔが所定のしきい値ｃｎｔｔｈに等しい場合には、旋回終了と判定し、ｄｉｒ＿ｆを旋回終了を表す３とする（ステップ１５１４）。
【００３５】
すなわち、車両方位と過去６回の車両方位（θ０〜θ５）の平均（θａｖｅ）との差の絶対値（θｄ）が所定値（θｔｈ）以下である回数（ｃｎｔ）が所定回数（ｃｎｔｔｈ＋１）以上続いているときに直進と判定し、次回の差の絶対値（θｄ）が所定値（θｔｈ）以下であれば次回に直進と判定できる時に旋回終了と判定する。また、今回の差の絶対値（θｄ）が所定値（θｔｈ）以下であれば直進と判定できたのにもかかわらず、今回の差の絶対値（θｄ）が所定値（θｔｈ）以上となってしまったときに旋回開始と判定する。
【００３６】
さて、車両方位が安定していないときにマップマッチングを実行すると、不適当な現在位置が算出されてしまったり、うまく現在位置を算出することができない場合がある。しかし、本実施例では、車両方位と過去の一定距離分の車両方位の平均との差の絶対値が一定値以下で、一定距離以上安定したか否かによって直進か、旋回動作をしているかを判定するので、車両方位が安定している場合のみ（直進と判定された場合にのみ）後述する直進処理を実行しマップマッチングによって現在位置を算出することができる。
【００３７】
さて、図４において、ステップ１５２０、１５２１、１５０２は本装置の起動直後に、車両方位が６個になるまで、車両方位θｃａｒをθ０〜θ５に順次蓄積していく処理であり、車両方位が一旦６個蓄積できたら実行されなくなる処理である。なお、起動時にｎは０に初期化される。
【００３８】
次に、ステップ１５０３〜１５０７、１５２２は、その時点で蓄積されている６つの車両方位θ０〜θ５のうちθ０を消去し、θ１〜θ５を一つづつシフトしθ１〜θ５を新たなθ０〜θ４とし、今回の車両方位θｃａｒを取り込んで、これを新たなθ５とする処理である。
【００３９】
次にステップ１５０８は、前述した過去６回分の車両方位（θ０〜θ５）の平均値θａｖｅを求める処理であり、ステップ１５０９は今回の車両方位θｎとステップ１５０８で求めた車両方位の差の絶対値θｄを求める処理である。
【００４０】
そして、ステップ１５１０〜１５１０は、前述したように、直進、旋回開始、旋回中、旋回終了を判定し、ｄｉｒ＿ｆの値を確定する処理である。
【００４１】
最後に、ステップ１５１７〜１５１９は、しきい値θｔｈ以下の差の絶対値θｄの現在まで連続数ｃｎｔを計数する処理である。ここで求めた連続数ｃｎｔは、次回の旋回判定処理において、前述したように直進、旋回開始、旋回中、旋回終了の判定に用いられることになる。
【００４２】
以上、旋回判定処理について説明したように、この処理によって車両が２ｍ走行される度に、直進、旋回開始、旋回中、旋回終了が判定され、ｄｉｒ＿ｆが、その値が判定結果を示すように設定される。
【００４３】
さて、このような旋回判定処理の判定結果が直進であり、ｄｉｒ＿ｆが０に設定されている期間は、図３に示すように旋回開始処理、旋回中処理、旋回終了処理は実行されずに、２０ｍ車両が走行する度に直進処理が実行されることになる。
【００４４】
以下、まず、この直進処理について説明する。
【００４５】
直進処理は２０ｍ走行毎にマップマッチングによって現在位置を求める処理である。
【００４６】
図５に、直進処理の処理手順を示す。
【００４７】
この処理では、まず、ｄｉｒ＿ｆが０か否かを判定する（ステップ４００）。すなわち、現在直進と判定されている状態か否かを判定し、直進と判定されている状態でなければ、そのまま処理を終了する。したがい、直進処理は旋回開始、旋回中、旋回終了と判定されている際には実行されない。
【００４８】
さて現在直進と判定されている状態であれば、前回の直進処理実行時もしくは旋回終了処理実行時から現在までの進行距離Ｒと、現在の車両の進行方位θｃａｒとを読み込む（ステップ４０１）。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。
【００４９】
さらに、これらの各方向における移動量を、前回の直進処理で求まった各候補点の位置に、それぞれ加算して、前回の直進処理で求まった各候補点対応に、現在車両が存在すると推定される位置である仮想現在位置（Ａ）を求める（ステップ４０２）。候補点は、直進処理において、現在位置の候補と成り得る位置として後述するステップ４０３、４０４で求まる１または複数の位置であるが、その詳細については後述する。
【００５０】
もし、装置の始動直後など、前回の車両の候補点を求める処理で得られた候補点が存在しない場合には、別途設定された位置を、前回得られた候補点の位置として用いて仮想現在位置（Ａ）を求める。
【００５１】
ついで、前回の直進処理で得られた後述するフリー状態の候補点のみに関して、道路とのマッチングを行うための道路検索処理が実行され、１または複数の候補点と、その信頼度ｔｒｓｔが求められる（ステップ４０３）。フリー状態の候補点とは、道路上にマッチングできなかった候補点を指し、信頼度とは各候補点の現在位置としての確からしさを指すが、その詳細については後述する。また、このステップ４０３で実行される検索候補点選択処理の詳細についても後述する。
【００５２】
次に、検索候補点選択処理が実行された後に、前回の直進処理で得られた後述するマッチング状態の候補点のみに関して、道路とのマッチングを行うための道路検索処理が実行され、１または複数の候補点と、その信頼度ｔｒｓｔが求められる（ステップ４０４）。マッチング状態の候補点とは道路上にマッチングされた候補点を指すが、その詳細については後述する。
【００５３】
ついで、これらのステップ４０３、４０４で得られた候補点の各々に対応する信頼度ｔｒｓｔの値にしたがって、これら新たな候補点をソートし（ステップ４０５）、最も信頼度の値の大きな候補点Ｃを、表示候補点ＣＤ、すなわち、ディスプレイ１７上に表示するための候補点として、その位置、後述する累算エラーコストｅｓ、信頼度、マッチング状態であるかフリー状態であるかを示す状態フラグなどを、メモリ２５のＲＡＭの所定の領域に記憶するとともに、表示候補点以外の他の候補点の位置、累算エラーコストｅｓ、信頼度ｔｒｓｔ、状態フラグなども、ＲＡＭの所定の領域に記憶する（ステップ４０６）。なお、本実施例においては、７個の候補点に関連するデータを記憶可能に構成されている。したがって、図５のステップ４０１ないし４０６の処理を実行した結果、候補点が８個以上算出された場合には、これらのうち、信頼度ｔｒｓｔの値が大きい順に７個の候補点に関連する種々のデータが、メモリ２５のＲＡＭの所定の領域に記憶されることになる。
【００５４】
そして、最後に、表示候補点の座標データを出力し（ステップ４０７）、処理を終了する。
【００５５】
次に、ステップ４０３のフリー状態の前回の候補点のみに関して行う道路とのマッチングを行うための道路検索処理と、ステップ４０４のマッチング状態の前回の候補点のみに関して行う道路とのマッチングを行うための道路検索処理の詳細について説明する。
【００５６】
まず、ステップ４０４の道路検索処理について説明する。
【００５７】
図６に、ステップ４０４の道路検索処理の詳細を示す。
【００５８】
この処理は、前回の直進処理または旋回終了処理で得られたマッチング状態の各候補点について、それぞれ行われる。
【００５９】
この道路検索処理においては、まず、処理対象のマッチング状態の前回の候補点に対応して得られた仮想現在位置（Ａ）の周辺の地図を、ＣＤ−ＲＯＭ１５から、ドライバ１６およびＤＭＡコントローラ２３を介して読み出す（ステップ５０１）。
【００６０】
そして、前回の候補点が位置するリンクと、処理対象のマッチング状態の前回の候補点を中心とし、前回候補点を求めた時点からの走行距離Ｒを半径とする領域内にある、前回の候補点が位置するリンクに車両の走行方向上前方に直接または間接的に接続しているリンクとを選択して、これらを取り出す（ステップ５０２）。
【００６１】
なお、前述したように、本実施例においては、道路データとして、図７に示すように、２点間を結ぶ複数のリンク５１ないし５５で近似し、それらリンクを、その始点と終点の座標によって表したものなどを用いている。たとえば、リンク５３は、その始点（ｘ３、ｙ３）と終点（ｘ４、ｙ４）によって表現される。
【００６２】
次に、ステップ５０２で取り出されたリンクの中から、そのリンクの方位が、求められている車両方向と、所定値以内にあるリンクだけを選択し（ステップ５０３）、選択した取り出されたｎ個すべてのリンクに対して、仮想現在位置（Ａ）から垂線をおろし、その垂線Ｌ（ｎ）の長さを求める（ステップ５０４）。
【００６３】
次に、これら垂線の長さに基づき、ステップ５０３で選択されたすべてのリンクに対して、以下の式によりに定義されるエラーコスト値ｅｃ（ｎ）を算出する。    ｅｃ（ｎ）＝α×｜θｃａｒ−θ（ｎ）｜＋β｜Ｌ（ｎ）｜
ここでは、θｃａｒは、仮想現在位置（Ａ）における車両方位を表す。またθ（ｎ）は、リンクの方位、Ｌ（ｎ）は、仮想現在位置（Ａ）からリンクまでの距離、すなわち垂線の長さ、αおよびβは、重み係数である。これら重み係数の値は、進行方向と道路の方位のずれと現在位置と道路のずれのどちらを、現在位置が、その上にある道路を選択する上で重視するかによって変化させてよい。たとえば、進行方向と方位が近い道路を重視する場合は、αを大きくするようにする。
【００６４】
次に、算出されたエラーコストｅｃ（ｎ）と、処理対象の前回の候補点の累算エラーコストｅｓとにしたがって、下記の式により定義される、ステップ５０４で選択された各リンクの累算エラーコストｅｓ（ｎ）を算出する（ステップ５０５）。
【００６５】
ｅｓ（ｎ）＝（１−ｋ）×ｅｓ＋ｋ×ｅｃ（ｎ）
ここに、ｋは、０より大きく１より小さな重み係数である。この累算エラーコストｅｓ（ｎ）は、前回以前の処理において算出されたエラーコストを、今回の処理において算出されるエラーコストにどのくらい反映させるかを表わしている。  さらに、算出された累算エラーコストｅｓ（ｎ）に基づき、下記の式に定義される信頼度ｔｒｓｔ（ｎ）を算出する（ステップ５０５）。
【００６６】
ｔｒｓｔ（ｎ）＝１００／（１＋ｅｓ（ｎ））
上記式から明らかなように、累算エラーコストｅｓ（ｎ）が大きくなるのにしたがって、信頼度ｔｒｓｔ（ｎ）は減少し、０（ゼロ）に近づく。その一方、これが小さくなるのにしたがって、信頼度ｔｒｓｔ（ｎ）は増大し、その値は、１００に近づく。
【００６７】
このような処理をすることにより、処理対象の前回の候補点の存在するリンクに接続し、かつ、リンクの方位が車両方位と近いｎ個のリンクに各々関連する信頼度ｔｒｓｔ（ｎ）が求められる。
【００６８】
ついで、処理対象の前回の候補点から、ステップ５０３で選択したｎ個の各リンクに沿って、車両の進行した距離Ｒに対応する長さだけ、それぞれ進めた点を新たな候補点とする（ステップ５０６）。したがって、ステップ５０３で選択されたリンクが複数（ｎが複数）ある場合には、ｎ個の新たな候補点Ｃ（ｎ）が生成されることになる。いいかえるならば、前回のマッチング状態の候補点の各々に対して複数の新たな候補点が生成される可能性がある。
【００６９】
そして、ステップ５０３で選択したｎ個の各リンクの累算エラーコストｅｓ（ｎ）を、当該リンクにそって距離Ｒ進めて求めた新たな候補点Ｃ（ｎ）の累算エラ−コストとする。
【００７０】
以上の処理によって順次候補点が求まっていくようすの一例を図８〜１０に示しておく。
【００７１】
図８に示すように、ある回の直進処理において、リンク６１上に存在したある候補点６２に対して、仮想現在位置（Ａ）が、点６３に示す位置に表わされるとする。このような場合に、仮想現在位置（Ａ）から、候補点６２が位置するリンク６１に接続されたリンクであって、その方位と車両方位との差が所定値以下であるようなリンク６４、６５を取り出し、現在位置Ａから、リンク６４、６５までの距離Ｌ（１）、Ｌ（２）を算出するともに、算出された距離、リンク６４、６５の角度θ（１）、θ（２）および車両方位θｃａｒなどに基づき、関連するエラーコスト、累算エラーコスト、信頼度を算出する。さらに、先に求めた車両の進行距離Ｒに基づき、ある候補点６２から、リンク６１および６４、或いは、リンク６１および６５に沿って、進行距離Ｒに対応する長さだけ進められた位置を算出し、この位置に対応する点を、それぞれ候補点６６、６７とする。
【００７２】
次回の直進処理では、図９に示すように、リンク６４上の候補点６６に対して、新たな仮想現在位置（Ａ）が、点７１に示す位置に表わされ、その一方、リンク６５上の候補点６７に対して、新たな仮想現在位置（Ａ’）が、点７２に示す位置に表わされるとする。この場合には、仮想現在位置（Ａ）から、リンク６４に接続されたリンクであって、その方位と車両方位との差が所定値以下であるようなリンク７３、７４を取り出すとともに、新たな仮想現在位置（Ａ’）から、リンク６５に接続されたリンクであって、その方位と車両方位との差が所定値以下であるようなリンク７５を取り出す。ついで、仮想現在位置（Ａ）から、リンク７３、７４までのそれぞれの距離Ｌ１（１）およびＬ１（２）を算出するともに、仮想現在位置（Ａ’）から、リンク７５までの距離Ｌ２（１）を算出する。さらに、現在位置Ａに関連して算出された距離、リンク７３、７４の角度θ１（１）およびθ１（２）ならびに車両方位θｃａｒなどに基づき、関連するエラーコスト、累算エラーコストおよび信頼度を算出するとともに、現在位置Ａ’に関連して算出された距離、リンク７５の角度θ２（１）および車両方位θｃａｒなどに基づき、関連
するエラーコスト、累算エラーコストおよび信頼度を算出する。
【００７３】
さらに、車両の走行距離Ｒに基づき、候補点６６から、リンク６４および７３、或いは、リンク６４および７４に沿って、若しくは、候補点６７から、リンク６５および７５に沿って、車両の走行距離Ｒに対応する長さだけ進められた位置を算出し、この位置に対応する点を、それぞれ新たな候補点とする。図１０は、このように新たに求められた候補点８１ないし８３を示している。
【００７４】
さて、以上のような処理によって求められた候補点は全て道路上にマッチングされたマッチング状態の候補点である。
【００７５】
一方、ステップ５０３で選択される、処理対象の前回のマッチング状態の候補点が位置するリンク或いは、これに接続されたリンクであって、その方位と車両の進行方位との差が所定値以下であるようなリンクが存在しない場合が考えられる。この場合には、仮想現在位置（Ａ）を、ある候補点から算出された次の候補点とする。
【００７６】
このような候補点は、道路上にマッチングされなかった候補点であり、フリー状態の候補点である。なお、ここで、ステップ５０５では、フリー状態の候補点には、エラーコストｅｃ（ｎ）として、マッチング状態の候補点に与えられる可能性のあるエラーコストの値よりも大きな一定の値が与えられる。
【００７７】
以上、図５のステップ４０４のマッチング状態の前回の候補点のみに関して行う、道路とのマッチングを行うための道路検索処理の詳細について説明した。
【００７８】
次に、図５のステップ４０３の前回の直進処理もしくは旋回終了処理で得られた後述するフリー状態の候補点のみに関して、道路とのマッチングを行うための道路検索処理の詳細について説明する。
【００７９】
図１１に、このフリ−状態の前回の候補点に対する道路検索処理の処理手順を示す。
【００８０】
この処理は、前回の直進処理もしくは旋回終了処理で求まったフリー状態の各候補点の、それぞれについて行われる。
【００８１】
図示するように、この処理は、図６に示したマッチング状態の候補点に対する道路検索処理に類似している。
【００８２】
これら二つの処理の間の相違は、マッチング状態の候補点に対する道路検索処理においては、前回の車両の候補点を求める処理で得られた候補点が位置するリンクと、これに直接もしくは間接的に接続するリンクを取り出し、これらリンクから、センサ方位との方位差が所定値内のリンクを選択している（図６のステップ５０２、５０３）のに対して、フリー状態の候補点道路検索処理においては、ステップ１１０１において仮想現在位置（Ａ）を中心とする予め設定された距離Ｄ内にあるリンクをすべて抽出し、これらリンクから、センサ方位との方位差が所定値内のリンクを選択している（ステップ１２０２）点にある。
【００８３】
すなわち、図５のステップ５０２、５０３の処理においては、単一のリンク、或いは、分岐点から延びる幾つかのリンクを取り出せばよいが、図１２のステップ１２０２の処理においては、読み出された地図データに対応する地図中の道路データから、抽出すべきリンクが決定される。
【００８４】
また、このフリー状態の候補点に対する道路検索処理において、処理対象の前回のフリー状態の候補点に対する仮想現在位置（Ａ）から所定の範囲Ｄ内に、その方位と車両の進行方位との差が所定値以下のリンクが存在する場合には、仮想現在位置から当該リンクにおろされた垂線とこのリンクとの交点が、新たなマッチング状態の候補点となる。また、処理対象の前回のフリー状態の候補点に対する仮想現在位置（Ａ）もフリ−状態の候補点となる。
【００８５】
また、フリー状態の候補点に対する仮想現在位置（Ａ）から所定の範囲Ｄ内に、その方位と車両の進行方位との差が所定値以下のリンクが存在しない場合には、仮想現在位置に対応する点のみがフリ−状態の候補点となる。
【００８６】
各候補点のエラ−コストｅｃ、累算エラ−コストｅｓ、信頼度ｔｒｓｔの求め方は、先にマッチング状態の候補点に対する道路検索処理において説明したものと全く同じである。
【００８７】
以上、直進処理について説明した。
【００８８】
以下、旋回開始処理、旋回中処理、旋回終了処理の各々の詳細について説明する。
【００８９】
旋回開始処理の処理手順を図１２に、旋回中処理の処理手順を図１３に、旋回終了処理の処理手順を図１４に示す。
【００９０】
旋回開始処理、旋回中処理、旋回終了処理は、典型的には、直進処理−旋回開始処理−旋回中処理−旋回終了処理−直進処理といったように、直進処理と直進処理の間に、旋回開始処理−旋回中処理−旋回終了処理の順序で実行される。
【００９１】
そこで、まず、先に説明した直進処理と、これらの旋回開始処理、旋回中処理、旋回終了処理が、どのように連結するかについて説明する。
【００９２】
直進処理直後の旋回開始処理時には、前述したように直前の直進処理で求められた１または複数の候補点が存在している。
【００９３】
旋回開始処理では、図１２のステップ１２０１、１２０７、１２０８の処理によって、直前の直進処理で求められた各候補点について異なるｉの値が与えられ、かつ、各候補点について、ステップ１２０６の処理が実行されるようにする。ステップ１２０６の処理では、各候補点の座標や累算エラ−コストｅｓやフリ−状態の候補かマッチング状態の候補かの情報を、旋回基準点の情報Ｐ０（ｉ）として記憶する。Ｐ０（ｉ）のｉは、その候補点に与えられたｉの値を示す。
【００９４】
また、この後、図１２のステップ１２０９で、センサ出力より求まる車両方位角θｃａｒに基づいて、直前の直進処理以降の車両のＸ方向の移動距離とＹ方向の移動距離を求め、それぞれ、ｄｘ、ｄｙとする。なお、図１２のステップ１２０９中のｌｔは、直前の直進処理が実行されてからの車両の進行距離を表している。
【００９５】
一方、旋回中処理では図１３のステップ１３３１で、ｄｘ、ｄｙに、順次車両の移動距離を、ｄｘ、ｄｙが常に直前の直進処理以降の車両のＸ方向の移動距離とＹ方向の移動距離を表すように、蓄積していく。
【００９６】
これらの処理により、旋回終了処理の実行時には、ｄｘ、ｄｙは直前の直進処理から旋回終了処理までの車両のＸ方向の移動距離とＹ方向の移動距離を表していることになる。
【００９７】
さて、旋回終了処理では、旋回開始処理で旋回基準点の情報として記憶したＰ０（ｉ）として記憶した、直前の直進処理で求められた候補点の座標や累算エラ−コストｅｓやフリ−状態の候補かマッチング状態の候補かの情報を順次読みだし、フリ−状態の候補点であった旋回基準点については（ステップ１４０１の判定がＮｏの場合）、その候補点のＸ、Ｙ座標に、ｄｘ、ｄｙを加算した座標を求め、この座標の点を新たなフリ−状態の候補点とする。また、この候補点のエラ−コストｅｃ、累算エラーコストｅｓ、信頼度ｔｒｓｔ（ｎ）を前述した直進処理におけるフリ−の候補点についてのエラ−コストｅｃ、累算エラ−コストｅｓ、信頼度ｔｒｓｔの求め方と同じ方法によって求める（ステップ１４１７）。ただし、累算エラ−コストｅｓの計算に用いる前回の累算エラ−コストｅｓとしては、Ｐ０（ｉ）に記憶した累算エラ−コストｅｓ、すなわち、旋回基準点である候補点の累算エラ−コストｅｓの値を用いる。
【００９８】
また、マッチング状態の候補点であった旋回基準点については、まず、当該旋回基準点についての旋回候補リンクを順次抽出し（ステップ１４１３）、その旋回候補リンクの方位が現在の車両方位θｃａｒとの差の絶対値が所定のしきい値θｔｈｂ以下であるかを判定する（ステップ１４０３）。ここで、旋回候補リンクとは、旋回基準点であるマッチング状態であった候補点が存在したリンクに接続するリンクのうちの、後述する旋回開始処理、旋回中処理により現在位置が存在する可能性のあるリンクとして選択されているリンクである。この旋回候補リンクについては後に詳述する。
【００９９】
そして、このマッチング状態であった候補点について、旋回開始処理で旋回基準点の情報として記憶したＰ０（ｉ）に記憶したＸ、Ｙ座標に、ｄｘ、ｄｙを加算した座標を求め（ステップ１４０５）、この座標の点から、方位が現在の車両方位θｃａｒとの差の絶対値が所定のしきい値θｔｈｂ以下であった各旋回候補リンクに垂線を降ろし、この垂線の長さが所定のしきい値Ｌｔｈ以下であれば（ステップ１４０７）、この垂線の足の位置（垂線の線旋回候補リンクの交点）を新たなマッチング状態の候補点とし、そのエラ−コストｅｃ、累算エラ−コストｅｓ、信頼度を、前述した直進処理におけるマッチグ状態の候補点についてのエラ−コストｅｃ、累算エラ−コストｅｓ、信頼度ｔｒｓｔの求め方と同じ方法によって求める。ただし、累算エラ−コストｅｓの計算に用いる前回の累算エラ−コストｅｓとしては、Ｐ０（ｉ）に記憶した累算エラ−コストｅｓ、すなわち、旋回基準点である候補点の累算エラ−コストｅｓの値を用いる。なお、方位が現在の車両方位θｃａｒとの差の絶対値が所定のしきい値θｔｈｂ以下であり、かつ、その旋回候補リンクに降ろした垂線の長さが所定のしきい値Ｌｔｈ以下である垂線が全く存在しない場合も考えられるが、この場合には、フリ−状態の候補点であった旋回基準点と同様に扱い、旋回開始処理で旋回基準点の情報として記憶したＰ０（ｉ）に記憶したＸ、Ｙ座標に、ｄｘ、ｄｙを加算した座標の点を新たなフリ−状態の候補点とするようにする（ステップ１４１２）。
【０１００】
そして、全ての旋回基準点について以上の処理が終了したら（ステップ１４１３）、旋回候補リンクを全て削除し（ステップ１４１５）、以上で生成した新たな候補点の中から最も信頼度の高い候補点を選択し、この候補点の座標を表示候補点の座標として出力し処理を終了する（ステップ１４１７）。
【０１０１】
結果、旋回終了処理の終了時には、直進処理終了時と同様に１または複数の候補点が求まる。したがい、この直後の直進処理では、これらの候補点を前回の候補点として処理を行うことができる。
【０１０２】
なお、旋回開始処理、旋回中処理、旋回終了処理は、直進処理−旋回開始処理−旋回中処理−旋回終了処理−旋回開始処理−旋回中処理−旋回終了処理−直進処理といったように、直進処理と直進処理の間に、旋回開始処理−旋回中処理−旋回終了処理の順序で複数回実行されることもある。この場合には、２回目の旋回開始処理では、直前の旋回終了処理で求められた各候補点を前回の候補点として前述した処理を同様に行う。
【０１０３】
また、旋回終了処理において求める新たな候補点のエラ−コストｅｃの値には、ｄｘ、ｄｙより求まる旋回開始処理後の車両の移動距離を反映するするようにしてもよい。すなわち、移動距離が大きければ大きいほど、誤差等が蓄積し、旋回終了位置で適正な候補点が求まる確率は低下すると考え、移動距離が大きければ大きいほど信頼度が低下するよう、移動距離が大きければ大きいほどエラ−コストｅｃが大きくなるようにしてもよい。
【０１０４】
以上、先に説明した直進処理と、これらの旋回開始処理、旋回中処理、旋回終了処理が、どのように連結するかについて説明した。
【０１０５】
以下、旋回中処理において出力される表示候補点と、旋回開始処理、旋回中処理によって求められる前述した旋回候補リンクについて説明する。
【０１０６】
まず、以下の説明で用いるパラメ−タについて図１５を用いて説明する。
【０１０７】
旋回開始処理、旋回中処理では、後述するように旋回開始点という点をリンク上設定する。そして、旋回開始処理では、旋回開始点が存在するリンクと当該リンクに直接または間接的に接続する所定範囲内のリンクとを旋回候補リンクとして抽出する。また、旋回中処理では、旋回開始点が存在するリンクの車両走行方向上前方に接続するリンクを旋回候補リンクとして抽出する。そして、各旋回候補リンクに対して、接続点距離ｌ＿ｃｎ、旋回開始車両方位θｌｓｔ、旋回候補リンク長ｌ＿ｌｅｎ、リンク相対角度ｌａ＿ｒｅ、旋回リンク方位ｌａ、旋回候補リンク上走行距離ｌ＿ｒｕｎ、旋回候補リンク有効距離ｌ＿ｅｆを定義する。
【０１０８】
図１５に示すように、旋回開始車両方位θｌｓｔは、その旋回候補リンクを求める基準となった旋回開始点を求めた時点の車両方位を表し、旋回候補リンク長ｌ＿ｌｅｎは、その旋回候補リンクの長さを表し、旋回候補リンク方位ｌａは、その旋回候補リンクの方位を表す。また、リンク相対角度ｌａ＿ｒｅは、その旋回候補リンクの方位ｌａと、その旋回候補リンクに対応する旋回開始点が位置するリンクの方位との差を表す。また、旋回候補リンク上走行距離ｌ＿ｒｕｎは、その旋回候補リンクを求める基準となった旋回開始点から、その旋回開始候補リンクへと車両が走行したと仮定した場合に、現在車両が、その旋回候補リンク上を走行したと考えられる距離を表す。また、旋回候補リンク有効距離ｌ＿ｅｆは、その旋回候補リンクを求める基準となった旋回開始点を求めた時点からの走行距離を表す。
【０１０９】
以下、旋回開始処理、旋回中処理によって、どのように旋回候補リンク、表示候補点が求められていくかについて、図１６を参照しながら説明する。
【０１１０】
旋回開始処理では、まず、現在存在する候補点（直前の直進処理もしくは旋回終了処理で求められた候補点）のうちの、マッチング状態の各候補点について図１２に示すように以下の処理を行う。
【０１１１】
すなわち、そのマッチング状態の候補点を、その候補点が求められてから走行距離分リンク上で進めた位置を旋回開始点として、その旋回開始点の位置するリンクと、当該リンクに直接または間接的に接続する所定範囲内のリンクを全て旋回候補リンクとして抽出し（ステップ１２０３、１２０５）、各旋回候補リンクについて、旋回開始車両方位θｌｓｔ、旋回候補リンク長ｌ＿ｌｅｎ、リンク相対角度ｌａ＿ｒｅ、旋回リンク方位ｌａを算出し、抽出した各旋回リンクに対応させて、算出した旋回開始車両方位θｌｓｔ、旋回候補リンク長ｌ＿ｌｅｎ、リンク相対角度ｌａ＿ｒｅ、旋回候補リンク方位ｌａを記憶する。
【０１１２】
また、前述したステップ１２０６の旋回開始基準点の情報Ｐｏ（ｉ）の記憶の際に、その旋回基準点に対応するマッチング状態の候補点について行われたステップ１２０３〜１２０５で生成された旋回候補リンクを表す情報を、その旋回基準点に対応づけて記憶する。
【０１１３】
以上の処理によって、図１６に示すように、マッチング状態の候補点Ａに対して、旋回開始点Ｃや、３つ旋回候補リンク、すなわち、旋回開始点Ｃが位置するリンクと旋回候補リンクＤ、Ｅが求まることになる。走行上、車両の後方に位置するリンクも選択するのは、マッチング状態の候補点Ａの位置の進みすぎや遅れがある可能性があることを考慮したものである。
【０１１４】
なお、旋回開始処理では表示候補点の座標等は出力されない。
【０１１５】
次に、旋回中処理では、図１３に示すように、その時点で存在する各旋回候補リンクについて（ステップ１３２９）、以下の処理を行う。
【０１１６】
すなわち、まず、その時点の車両方位θｃａｒと旋回開始車両方位θｌｓｔとの差を求め、これをａｎｇｌとし（ステップ１３０５）、リンク相対角度ｌａ＿ｒｅが正であってａｎｇｌがリンク相対角度ｌａ＿ｒｅの１／２より小さくなったか（ステップ１３０７、１３３５）、リンク相対角度ｌａ＿ｒｅが負であってａｎｇｌがリンク相対角度ｌａ＿ｒｅの１／２より大きくなったか（ステップ１３０７、１３０９）を判定し、いずれかであれば、車両が、その旋回候補リンクと当該旋回候補リンク求める基準となった旋回開始点が位置するリンクとの接続点に既に達していると考え、旋回候補リンク上走行距離ｌ＿ｒｕｎに、２ｍを加算し、当該接続点を通過してからの距離を表すように更新する（ステップ１３１１）。ここで、ステップ１３０７、１３０９または１３３５を満たしてから、旋回候補リンク上走行距離ｌ＿ｒｕｎの計数を開始するのは、次の理由によるものである。すなわち、道路地図においては、リンクによってカ−ブ等の形状が直線で近似されているため、実際の道路形状は、リンクと次のリンクの接続点の位置で、そのリンクの方位と、その次のリンクの方位の中間の方位を向いた形状に近似した形状であろうと推定できるため、この中間の方位を車両が向いた時点で、その旋回候補リンクへの接続点に車両が到達したものと推定するのである。
【０１１７】
さて、ステップ１３１２で旋回候補リンク上走行距離ｌ＿ｒｕｎを更新したら、次に、旋回候補リンク上走行距離ｌ＿ｒｕｎが、旋回候補リンク長ｌ＿ｌｅｎの１／２を超えたかを判定し（ステップ１３１２）、超えていれば、さらに、その時点の車両方位θｃａｒと旋回候補リンク方位ｌａの差の絶対値が所定値θｔｈｃ以下かを判定し、所定値以下であれば、その旋回候補リンクの中点を、新たな旋回開始点として、旋回開始処理における場合と同様に新たに旋回候補リンクを生成する処理を行う。すなわち、旋回開始点の位置するリンクに車両の進行方向上前方に直接接続する全てのリンクを旋回候補リンクとして抽出し（ステップ１３１７、１３２１）、各旋回候補リンクについて、旋回開始車両方位θｌｓｔ、旋回候補リンク長ｌ＿ｌｅｎ、リンク相対角度ｌａ＿ｒｅ、旋回リンク方位ｌａを算出し、抽出した各旋回リンクに対応させて、算出した旋回開始車両方位θｌｓｔ、旋回候補リンク長ｌ＿ｌｅｎ、リンク相対角度ｌａ＿ｒｅ、旋回候補リンク方位ｌａを記憶する。また、この生成した旋回候補リンクを表す情報を、当該旋回候補リンクが生成する元となった旋回候補リンクが対応付けられている旋回開始基準点に対応づけて記憶する。この対応は、前述した旋回終了処理で、各旋回基準点に対応する旋回候補リンクを抽出する際に用いられる。
【０１１８】
さて、このように、本実施例では、図１７に示すように、車両の方位が、車両が旋回を開始したと推定される位置が存在するリンクＫの方位と、このリンクが接続する次のリンクＬの方位の中間の方位以下の方位となった後に、次のリンクＬを走行していると仮定した場合に車両が次のリンクの中点に達する距離分走行したならば、車両方位とリンク方位の差を求め、これが所定値以下であれば、この次のリンクＬの中点Ｍに相当する位置に達しているものと推定し、この中点の位置Ｍを現在位置として求める。
【０１１９】
ここで、このように車両の方位と、接続する２つのリンクの中間の方位を比較するのは、前述したように、道路地図においては、リンクによってカ−ブ等の形状が直線で近似されているため、実際の道路形状は、リンクと次のリンクの接続点の位置で、そのリンクの方位と、その次のリンクの方位の中間の方位を向いた形状に近似した形状であろうと推定できるため、この中間の方位を車両が向かない限り、この次のリンク上に車両が進んだとは考えられないでからある。
【０１２０】
また、車両がリンクの中点に到達する距離を走行した時点で、リンクの方位と車両の方位の差を求めるのは、もし、このリンクに車両が進んでいれば、車両がリンクの中点に到達する距離を走行した時点で車両は、このリンクの中点に対応する現実の道路の位置にあり、かつ、リンクの中点付近が現実の道路との方位誤差が最も小さいと考えられるため、この位置では車両方位とリンク方位が近い値となると考えられるためである。
【０１２１】
さて、旋回中処理では、ステップ１３１５の処理によって、求められた旋回開始点の座標はステップ１３３０で表示候補点の座標として出力する。ただし、ステップ１３１５は、条件を満たす複数の旋回候補リンクに対して実行される場合があるので、この場合には、初めに求まった旋回開始点の座標を表示候補点の座標として出力する。また、いずれの旋回候補点を条件を満たさずに、ステップ１３１５において全く新たな旋回開始点が生成されなかった場合には、表示候補点の座標を出力しない。
【０１２２】
さて、このようにして、旋回中処理では、順次、旋回開始点を旋回候補リンクの中点に設定しながら、旋回候補リンクを求め、旋回開始点を表示候補点としていく。また、もはや、車両が存在する可能性のない旋回候補リンクの削除を次のように行っている。
【０１２３】
すなわち、ステップ１３２３において、旋回中処理を実行する度に、ステップ１３０９または１３３５、１３１２を満たさない旋回候補リンクやステップ１３１５で中点に新たな旋回開始点が設定された旋回個補リンクについて、旋回候補リンク有効距離ｌ＿ｒｅｆに２ｍを加算し、その旋回候補リンクを求める基準となった旋回開始点を求めた時点からの走行距離を表すように加算し（ステップ１３２３）、この旋回候補リンク有効距離ｌ＿ｒｅｆが１００ｍを超えたならば、この旋回候補リンクの情報を削除する。すなわち、先に旋回開始基準点に対応付けて記憶した、この旋回候補リンクを表す情報や、この旋回候補リンクについての各パラメ−タを消去する。これは、１００ｍ間走行しても、ステップ１３０９または１３３５を満たさない旋回候補リンクには、車両が進んでいないと考えられるからである。また、ステップ１３１５で、中点に旋回開始点が設定されたリンクについても、もはや不要であるので、その旋回候補リンクが生成されてから１００ｍ間走行した時点で消去するようにしたものである。
【０１２４】
また、ステップ１３０９または１３３５、１３１２を満たしながら、車両方位とリンク方位の差が所定値より大きい、すなわち、ステップ１３１３を満たさない旋回開始候補リンクについては、リンクの中点付近が車両方位とリンク方位が最も近くなると考えられるのに、この点においてもしきい値以上方位差が大きいのであるから、この旋回候補リンクに車両が存在する可能性がないと考え、即座に削除している。
【０１２５】
以上、旋回開始処理、旋回中処理において生成される旋回候補リンク、旋回中処理において出力される表示候補点について説明した。なお、以上説明してきたように、旋回開始処理、旋回中処理において生成される旋回開始点や、旋回中処理において出力される表示候補点は、この後に行われる旋回終了処理には何の影響もあたえず、旋回基準点と、移動距離ｄｘ，ｄｙと、最後まで削除されずに生き残った旋回候補リンクのみが旋回終了処理において用いられていることに留意されたい。
【０１２６】
以上、旋回開始処理、旋回中処理、旋回終了処理について説明した。
【０１２７】
以下、残る表示処理について説明する。
【０１２８】
図１８に、表示処理の処理手順を示す。
【０１２９】
本処理は、１秒毎に起動され実行されるマイクロプロセッサ２４のルーチンである。
【０１３０】
この処理では、最初、スイッチ１４が押圧により地図の縮尺の変更を指示されているかを、パラレルＩ／Ｏ２１の内容を見て判断する（ステップ１８０１）。もし、押されていれば（ステップ１８０１でＹｅｓ）、それに対応して、所定の縮尺フラグを設定する（ステップ１８０２）。
【０１３１】
次に、直進処理、旋回中処理、旋回終了処理から出力される表示候補点の座標に、センサから求めた方位と走行距離から求まる、当該表示候補点の座標が出力されてからの車両の移動量を加算した座標を現在位置（Ｂ）とし、現在位置（Ｂ）およびを含む地図を読みだし（ステップ１８０３）、ステップ１８０２で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ１７に、例えば、図２に示すような状態で表示する（ステップ１８０４）。
【０１３２】
そして、地図に重畳して、現在位置（Ｂ）の位置および現在の車両方位θｃａｒを、たとえば、先に示した図２のように、矢印記号“↑”を用いて表示する（ステップ１８０５）。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図２のように表示する（ステップ１８０６）。
【０１３３】
結果、旋回中処理においては、たとえば、図１９に示すように、旋回開始点Ｇをスタ−ト位置として仮定して描いた車両の走行の軌跡（破線）に対して、リンクの中点毎に、現在位置の表示がリンク上に引き込まれるような表示が無されることになるので、リンクからかけ離れた位置に現在位置を示すマ−クが表示されてしまうことを防げることができたことになる。
【０１３４】
以上、本発明の実施例について説明した。
【０１３５】
なお、以上の実施例で示した２０ｍ等の数値等は、全て例示であり、かならずしも、これに限られるものはない。また、本明細書において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウエアによって実現される場合も包含する。また、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【０１３６】
【発明の効果】
以上のように、本発明によれば、カ−ブにおいても、走行している道路を正しく推定し、推定した道路に近い位置に現在位置を表示することのできる現在位置算出装置を提供することができる。
【図面の簡単な説明】
【図１】図１は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。
【図２】図２は、本実施例にかかる地図および現在位置の表示例を示す図である。
【図３】図３は、旋回判定処理、旋回開始処理、旋回中処理、旋回終了処理を起動する処理の処理手順を示すフローチャートである。
【図４】図４は、旋回判定処理の処理手順を示すフローチャートである。
【図５】図５は、直進処理の処理手順を示すフローチャートである。
【図６】図６は、マッチング状態の候補点の道路検索処理の処理手順を示すフローチャートである。
【図７】図７は、道路地図上の道路の表現形式を説明するための図である。
【図８】図８は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図９】図９は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図１０】図１０は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図１１】図１１は、フリ−状態の候補点の道路検索処理の処理手順を示すフローチャートである。
【図１２】図１２は、旋回開始処理の処理手順を示すフローチャートである。
【図１３】図１３は、旋回中処理の処理手順を示すフローチャートである。
【図１４】図１４は、旋回終了処理の処理手順を示すフローチャートである。
【図１５】図１５は、旋回開始処理、旋回中書医で用いる各種パラメ−タの意味を表す図である。
【図１６】図１６は、旋回候補リンクの生成のようすを示す図である。
【図１７】図１７は、旋回中処理による旋回開始点設定のようすを示す図である。
【図１８】図１８は、現在位置表示処理の処理手順を示すフローチャートである。
【図１９】図１９は、現在位置表示処理の処理によって、旋回中の現在位置が表示されていくようすを示す図である。
【図２０】図２０は、カ−ブをリンクで近似した道路地図を表す図である。
【符号の説明】
１０      現在位置算出装置
１１      角速度センサ
１２      方位センサ
１３      車速センサ
１４      スイッチ
１５      ＣＤ−ＲＯＭ
１６      ＣＤ−ＲＯＭ読み取りドライバ
１７      ディスプレイ
１８      コントローラ
【図１】
0003545837.tif 000002
【図２】
0003545837.tif 000003
【図３】
0003545837.tif 000004
【図４】
0003545837.tif 000005
【図５】
0003545837.tif 000006
【図６】
0003545837.tif 000007
【図７】
0003545837.tif 000008
【図８】
0003545837.tif 000009
【図９】
0003545837.tif 000010
【図１０】
0003545837.tif 000011
【図１１】
0003545837.tif 000012
【図１２】
0003545837.tif 000013
【図１３】
0003545837.tif 000014
【図１４】
0003545837.tif 000015
【図１５】
0003545837.tif 000016
【図１６】
0003545837.tif 000017
【図１７】
0003545837.tif 000018
【図１８】
0003545837.tif 000019
【図１９】
0003545837.tif 000020
【図２０】
0003545837.tif 000021