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