JP3656661B2 - Current position calculation system and current position calculation method - Google Patents

Current position calculation system and current position calculation method Download PDF

Info

Publication number
JP3656661B2
JP3656661B2 JP14367295A JP14367295A JP3656661B2 JP 3656661 B2 JP3656661 B2 JP 3656661B2 JP 14367295 A JP14367295 A JP 14367295A JP 14367295 A JP14367295 A JP 14367295A JP 3656661 B2 JP3656661 B2 JP 3656661B2
Authority
JP
Japan
Prior art keywords
current position
vehicle
candidate point
candidate
road
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP14367295A
Other languages
Japanese (ja)
Other versions
JPH08334369A (en
Inventor
裕幸 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Xanavi Informatics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xanavi Informatics Corp filed Critical Xanavi Informatics Corp
Priority to JP14367295A priority Critical patent/JP3656661B2/en
Publication of JPH08334369A publication Critical patent/JPH08334369A/en
Application granted granted Critical
Publication of JP3656661B2 publication Critical patent/JP3656661B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Traffic Control Systems (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、該移動体の進行距離、進行方位などを測定して、これにより、当該移動体の現在位置を算出する現在位置算出システムに関するものである。
【0002】
【従来技術】
従来より、道路上を走行する車両の現在位置を算出する現在位置算出システムにおいて、該車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の進行距離とに基づいて算出されている。
【0003】
また、車両の進行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ1回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【0004】
さらに、このように車両の進行方向と進行距離から求めた現在位置の誤差を補正するために、特開昭63−148115号公報に記載のように、走行距離および方位変化量に基づき定まる車両の推定位置と、道路地図の誤差に基いて誤差量を得て、推定位置を中心とする誤差量の範囲内に位置するすべての道路上に対応させて、推定位置を自己位置として登録し、これら登録された推定位置の各道路に対する相関係数を算出して、道路に対する誤差が最も少ないことを示す相関係数に対応する推定位置を現在位置とする技術が開示されている。この公報に記載されたように、道路に整合するように、求められた車両の現在位置を修正する、いわゆる、マップマッチングの技術が知られており、このマップマッチングの技術により、現在位置算出の精度を高めることができる。
【0005】
【発明が解決しようとする課題】
上述したような技術を用いてマップマッチングを実行する場合に、車両が分岐点を通過すると、複数の推定位置が算出される可能性がある。すなわち、車両が進行して繰り返し分岐点を通過するのにしたがって、推定位置の数は、著しく増大することになる。一般には、マップマッチングを実行して車両の現在位置を算出する現在位置算出システムは、これに設けられたメモリの記憶容量の制限から、幾つかの推定位置を記憶することができるに過ぎない。さらに、この現在位置算出システムは、マップマッチングを実行するための処理時間の制限から、全ての推定位置を算出することができない場合もある。
【0006】
したがって、複数の推定位置から、いかなる推定位置を選択して、これに基づき新たな車両の現在位置を算出するか、或いは、分岐などで数多くの推定位置が得られた場合に、どの推定位置を残しておくかを適切に決定することが望まれている。
本発明は、複数の車両の推定位置があるときに、これらから適切な推定位置を選択することにより、より正確に車両の現在位置を算出する現在位置算出システムを提供することを目的とする。
【0007】
【課題を解決する手段】
本発明の目的は、車両に搭載され、該車両の現在位置を算出する現在位置算出システムであって、車両の進行方位を検出する方位検出手段と、車両の走行距離を算出する距離算出手段と、前記進行方位および前記走行距離に基づき得られた相対変位と、車両が何れかの道路上に位置する状態、或いは、車両が道路上に位置しない状態を示す候補点とに基づき、車両の現在位置であると予想される仮想現在位置を生成する仮想現在位置生成手段と、各候補点に基づき、少なくとも一つの候補点が得られるように、前記仮想現在位置と、地図データに含まれる道路データとを比較して、新たな候補点を生成する候補点生成手段とを備え、前記新たな候補点から選択された所定の一つを算出された車両の現在位置とするように構成された現在位置算出システムにより達成される。
【0008】
本発明の好ましい実施態様においては、さらに、候補点に対応する道路上の位置に、車両が存在する信憑性を示す信頼度を算出する信頼度算出手段を備え、前記候補点生成手段が、前記信頼度に基づき、各候補点が得るべき新たな候補点の数を示す候補数を決定する決定手段を有し、決定された候補数にしたがって、各候補点に基づく新たな候補点を生成するように構成されている。
【0009】
本発明のさらに好ましい実施態様においては、前記候補点生成手段が、候補点の総数にしたがって、各候補点に、予め定められた候補数を割り当てるように構成されている。
【0010】
本発明のさらに好ましい実施態様においては、前記候補数が、候補点の総数をアドレスとするテーブルに記憶されている。
【0011】
本発明のさらに好ましい実施態様においては、前記信頼度にしたがって、前記新たな候補点から所定の一つを、前記算出された現在位置として選択するように構成されている。
【0012】
本発明のさらに好ましい実施態様においては、前記候補点生成手段が、前記道路データに含まれるあるデータに対応する線分の方位と前記車両方位との間の方位差が、所定の角度値よりも小さい場合に、車両が前記線分に対応する道路上に存在すること示す候補点を生成するように構成されている。
【0013】
【作用】
本発明によれば、各候補点に基づき、少なくとも一つの候補点が得られる。すなわち、ある候補点から仮想現在位置が得られ、これに基づき、必ず、一つ以上の候補点が生成される。したがって、ある候補点が、車両の現在位置であったにもかかわらず、候補点を記憶するためのメモリの記憶容量の制限や、システムの処理時間の制限により、当該候補点に基づき、新たな候補点を得ることができない場合が生じるおそれを少なくすることができ、その結果、より正確に車両の現在位置を算出することが可能となる。
【0014】
本発明の好ましい実施態様によれば、信頼度に基づき、各候補点が得るべき新たな候補点の数を示す候補数が決定されるため、より道路の現在位置である信憑性の高い候補点に基づき、より多くの新たな候補点を生成することが可能となる。
【0015】
本発明のさらに好ましい実施態様によれば、各候補点には、候補点の総数にしたがって、予め定められ候補数が割り当てられるように構成されているため、候補点の総数が大きい場合、或いは、小さい場合の何れであっても、適切な数だけ新たな候補点を生成することができる。
【0016】
本発明のさらに好ましい実施態様によれば、候補数が、テーブルに記憶されているため、簡単な処理により、候補点の総数に基づく適切な候補数を得ることができる。
【0017】
【実施例】
以下、添付図面に基づいて、本発明の実施例につき詳細に説明を加える。
【0018】
図1は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。図1に示すように、この現在位置算出装置10は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ11と、地磁気を検出することで車両の進行方位を検出する方位センサ12と、車両のトランスミッションの出力軸の回転に比例した時間間隔でパルスを出力する車速センサ13を備えている。
【0019】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ17と、ディスプレイ17に表示する地図の縮尺切り替えの指令をユーザ(運転者)から受け付けるスイッチ14と、デジタル地図データを記憶しておくCD−ROM15と、そのCD−ROM15から地図データを読みだすためのドライバ16とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ18を備えている。本実施例において、上述したディジタル地図データには、複数の線分の端部を示す座標から構成される道路データ、或いは、該道路の道幅を示す道路幅データ、道路が高速道路或いは一般道路であるかを示す高速道路フラグなどが含まれる。
【0020】
コントローラ18は、角速度センサ11の信号(アナログ)をデジタル信号に変換するA/D変換器19と、方位センサ12の信号(アナログ)をデジタル信号に変換するA/D変換器20と、車速センサ13から出力されるパルス数を0.1秒毎にカウントするカウンタ26と、スイッチ14の押圧の有無を入力するパラレルI/O21と、CD−ROM15から読みだされた地図データを転送するDMA(Direct Memory Access)コントローラ22と、ディスプレイ17に地図画像を表示する表示プロセッサ23とを有する。
【0021】
また、コントローラ18は、さらに、マイクロプロセッサ24と、メモリ25とを有する。マイクロプロセッサ24は、A/D変換器19を介して得た角速度センサ11の信号、A/D変換器20を介して得た方位センサ12の信号、カウンタ26がカウントした車速センサ13の出力パルス数、パラレルI/O21を介して入力するスイッチ14の押圧の有無、DMAコントロ−ラ22を介して得たCD−ROM15からの地図データを受け入れて、それら信号に基づいて処理を行い、車両の現在位置を算出して、それを表示プロセッサ23を介してディスプレイ17に表示させる。この車両位置の表示は、図2に示すように、すでにディスプレイ17に表示している地図上に矢印マ−ク等を重畳して表示することにより行う。これにより、ユーザは、地図上で車両の現在位置を知ることができる。メモリ25は、このような動作を実現するための処理(後述)の内容を規定するプログラムなどを格納したROMと、マイクロプロセッサ24が処理を行う場合にワ−クエリアとして使用するRAMとを含んでいる。
【0022】
以下、このように構成された現在位置算出装置10の動作について説明する。
【0023】
装置10の動作は、全般的に、車両の進行方位及び進行距離を算出する処理と、算出された進行方位及び距離から車両の現在位置を決定する処理と、得られた車両位置および方位を表示する処理との三つの処理に分けることができるため、これらについて順次説明する。
【0024】
図3に、車両の進行方位及び進行距離を算出する処理の流れを説明する。
【0025】
この処理は、一定周期、たとえば100mS毎に起動され実行されるマイクロプロセッサ24のルーチンである。
【0026】
このルーチンでは、最初、A/D変換器19から角速度センサ11の出力値を読み込む(ステップ301)。この角速度センサ11の出力値には、方位変化が出力されるので、車両の進行方向の相対的な値しか検出できない。このため、次に、A/D変換器20から、地磁気センサからなる方位センサ12の出力値を読み込み(ステップ302)、この方位センサ12の出力値により算出された絶対方位と角速度センサ11から出力される方位変化(角速度出力)とを用いて、車両の推定方位を決定する(ステップ303)。
【0027】
この方位の決定は、たとえば、長い時間、車速が低い時には、角速度センサの誤差が大きいので、一定時間以上車速が低い場合には、方位センサの方位のみを利用するという方法により行う。
【0028】
次に、車速センサ13の出力するパルス数を、0.1秒毎に、カウンタ26で計数して、その計数値を読み込む(ステップ304)。この読み込んだ値に、距離係数を乗算することで、0.1秒間に進んだ距離を求める(ステップ305)。
【0029】
次に、このようにして求められた0.1秒間あたりの進行距離値を、前回得られた値に積算して、車両の進行距離が20mとなったかどうかを調べ(ステップ306)、20mに満たない場合(ステップ306でノー(No))、今回の処理を終了して、新たな処理を開始する。
【0030】
進行距離算出処理の結果、積算された進行距離が一定距離、例えば20mとなった場合(ステップ306でイエス(Yes))、その時点での進行方向と進行距離R(本実施例においては20m)とを出力する(ステップ307)。ステップ307では、さらに、積算距離を初期化して、新たに進行距離の積算を開始する。
【0031】
次に、算出された進行方位および進行距離に基づいて、車両の仮想現在位置を算出し、算出された仮想現在位置に基づき、車両の候補点を求める処理について説明する。
【0032】
図4に、この処理の流れを示す。
【0033】
本処理は、図3からの進行方位および進行距離が出力されるのを受けて起動され、実行されるマイクロプロセッサ24のルーチンである。すなわち、本実施例において、本処理は、車両が20m進む毎に起動される。
【0034】
さて、この処理では、まず、ステップ307で出力された進行方位と進行距離とを読み込む(ステップ401)。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。さらに、これらの各方向における移動量を、前回の車両の候補点を求める処理で得られた車両の候補点の位置に加算して、現在車両が存在すると推定される位置である仮想現在位置(A)を求める(ステップ402)。
【0035】
もし、装置の始動直後など、前回の車両の候補点を求める処理で得られた候補点が存在しない場合には、別途設定された位置を、前回得られた候補点の位置として用いて仮想現在位置(A)を求める。
【0036】
ここに、候補点につき説明を加える。装置の始動直後など、初期的な状態においては、仮想現在位置(A)は、ユーザ(運転者)がスイッチ14を用いて所定の情報を入力することなどにより、一意的に定まり、かつ、これは道路に対応する線分上に位置する。しかしながら、車両が走行した後には、方位センサなどの誤差などにより、仮想現在位置(A)が、道路に対応する線分上に存在しなくなる場合がある。その結果、たとえば、図5に示すように、道路が分岐している場合、すなわち、道路に対応する線分61の節点すなわち端部68から、二つの線分64および65があらわれる場合に、いずれの線分に対応する道路上に車両が存在するかが、明確にすることができない場合が多い。
【0037】
したがって、このような場合に、本実施例においては、後述する処理により得られた線分(図5に示す例では二つの線分)上に存在する点を、所定の条件の下で候補点として設定し、これらの現在位置、エラーコスト、後述する累算エラーコストなどを、それぞれ、メモリ25のRAMの所定の領域に記憶するように構成されている。なお、説明を容易にするため、以下の説明においては、特に複数の候補点であることを明示しない限り、単一の候補点から、新たな一以上の候補点を生成することとする。
【0038】
次いで、前回の車両の候補点を求める処理で得られたマッチング状態の候補点のみに関して、道路とのマッチングを行うための第1の道路検索処理が実行される(ステップ403)。なお、本実施例において、マッチング状態とは、ある仮想現在位置に関連して、該仮想現在位置との距離、或いは、その方位と車両の進行方位との間の方位差が、所定の範囲内であるような道路が存在し、その結果、仮想現在位置に基づき、道路上の所定の位置に候補点が得られた状態を称する。これに対して、ある仮想現在位置に関連して、上述した距離および方位差が、所定の範囲内であるような道路が存在しない場合が考えられる。本実施例においては、このような場合に、仮想現在位置Aに対応する点自体が候補点となり、このようにして得られた候補点を、フリー状態の候補点と称している。
【0039】
ここに、図6は、本実施例にかかる第1の道路検索処理を示すフローチャートである。
【0040】
図6に示すように、この道路検索処理においては、まず、CD−ROM15から、ドライバ16およびDMAコントローラ23を介して、所定の道路データを読み出す(ステップ601)。本実施例においては、道路データとして、図7に示すように、2点間を結ぶ複数の線分51ないし55で近似し、それら線分を、その始点と終点の座標によって表したものなどを用いている。たとえば、線分53は、その始点(x3、y3)と終点(x4、y4)によって表現される。したがって、このステップ601においては、前回の処理により得られたマッチング状態の候補点が位置する線分が選択されて、これに関するデータが読み出される。
【0041】
次に、ステップ601において選択された線分の座標に基づき、候補点の位置から車両の進行方向に沿って、20mに対応する長さだけ進められた位置を含む線分を検索し、この線分に関する座標データなどを一次候補線分を示すデータとして一時的に記憶する(ステップ602)。より詳細には、候補点が位置する線分の車両の進行方向の端部までの長さが、20mに対応する長さ以上であれば、当該線分を一次候補線分として、その座標データなどを記憶する。また、候補点が位置する線分の車両の進行方向の端部までの長さが、20mに対応する長さ未満であれば、当該線分に接続する線分を検索する。
【0042】
次いで、ステップ602において少なくとも一つの一次候補線分が見つけられたか否かを判断し(ステップ603)、ノー(No)と判断された場合には、ステップ604に進む。
【0043】
これに対して、ステップ603においてイエス(Yes)と判断された場合には、車両の進行方位と、一次候補線分の方位との間の角度を比較する角度比較処理が実行される(ステップ605)。図8は、本実施例にかかる角度比較処理を示すフローチャートである。図8に示すように、この処理においては、車両の進行方位と線分の方位との方位差θdを算出し(ステップ901)、この方位差θdの絶対値が、所定のしきい値θthよりも大きいか否かを判断する(ステップ902)。本実施例において、このしきい値θthは、30°に設定されている。ステップ902においてノー(No)と判断された場合には、処理を終了し、その一方、イエス(Yes)と判断された場合には、この道路を一次候補線分としない旨の判断がなされ、一時的に記憶されたこの一次候補線分に対応するデータが削除される(ステップ903)。
【0044】
図6のステップ605に示す角度比較処理が終了すると、ステップ602において複数の一次候補線分が記憶された場合には、他の一次候補線分についても角度比較処理が実行され(ステップ605、606)、全ての一次候補線分につき、角度比較処理が実行されると、ステップ607に進む。このようにして、前回の処理において得られた候補点が位置する線分、或いは、これに接続する線分のうち、その方位と車両の方位との間の方位差が、しきい値θth以下であるような線分に関連するデータが、一次候補線分を示すデータとして記憶される。
【0045】
ステップ607は、一時的に記憶された一次候補線分が、少なくとも一つ以上存在するかどうかを判断する。このステップ607においてノー(No)と判断された場合には、ステップ604に進む。これに対して、ステップ607においてイエス(Yes)と判断された場合には、垂線距離比較処理が実行される(ステップ608)。ここに、図9は、本実施例にかかる垂線距離比較処理を示すフローチャートである。図9に示すように、この処理においては、仮想現在位置から一次候補線分に向けて垂線をひき、この垂線の長さLを求める(ステップ1001)。次いで、この垂線の長さLが、予め定められたしきい値Lth以下であるか否かを判断する(ステップ1002)。すなわち、一次候補線分が仮想現在位置から、しきい値Lthの範囲に存在しているかどうかを判断する。このステップ1002においてイエスと判断された場合には、この一次候補線分に関連する種々のデータが、二次候補線分を示すデータとして記憶されるとともに、前回の処理で得られた候補点から、所定の線分に沿って、距離Rだけ離間した位置の座標データが、当該二次候補線分に対応する位置データとして記憶される(ステップ1003)
【0046】
その一方、ステップ1002においてノー(No)と判断された場合には、この一次候補線分に関連するデータは消去され、その結果、二次候補線分は生成されない(ステップ1004)。
【0047】
このように、垂線距離比較処理608が終了すると、全ての一次候補線分につき、処理が終了しているか否かが判断される(ステップ609)。
【0048】
ステップ608およびステップ609を繰り返すことにより、前回の処理により得られた候補点が位置する線分から、車両の進行方向に、該線分或いはこれに接続された線分に沿って、所定の距離Rだけ離間した点が存在し、その方位と車両の進行方位との間の方位差が、所定のしきい値θth以下であり、かつ、仮想現在位置との間の距離が、所定のしきい値Lth以下であるような二次候補線分を得ることができる。さらに、得られた二次線分に対応する位置データとして、前回の処理で得られた候補点から、所定の線分に沿って、距離Rだけ離間した位置の座標データを得ることができる。この座標データが、後述する候補点を示すデータに対応する。
【0049】
一次候補線分に関して、ステップ608および609の処理が終了すると、これらステップを経た結果、二次候補線分が得られているか否かを判断する(ステップ610)。このステップ610において、ノー(No)と判断された場合には、ステップ604に進み、その一方、イエス(Yes)と判断された場合には、処理を終了する。
【0050】
たとえば、図5において、線分61上に存在したある候補点62に対して、仮想現在位置Aが、点63に示す位置に表わされるとする。このような場合に、まず、候補点62が位置する線分61を選択し(ステップ601)、この線分上の候補点62から、車両の進行方向の端部68までの距離を判断する。図5の例の場合には、この線分に接続されている道路があるため、線分64、65に関連するデータが、それぞれ、一次候補線分を示すデータとして一時的に記憶され、それぞれに関連して、角度比較処理(ステップ605)が実行される。ここに、図5の例において、|θ(1)−θcar|<θth、かつ、|θ(2)−θcar|<θthであると仮定すると、ステップ605および606からなる処理ループが二回繰り返され、線分64、65のそれぞれに関連して、垂線距離比較処理(ステップ608)が実行される。
【0051】
さらに、図5の例において、L(1)<Lth、かつ、L(2)<Lthであったとすると、線分64、65に関連するデータが二次候補線分として記憶され、さらに、候補点62から、線分61および64、或いは、線分61および65に沿って、進行距離R(本実施例では20m)に対応する長さだけ進められた点が候補点66、67として設定され、この点の座標データ、仮想現在位置から線分までの距離L(1)、L(2)に対応するデータ、および、線分の角度θ(1)、θ(2)に対応するデータが記憶される。
【0052】
再度、図6の第1の道路検索処理の説明に戻る。ここで、ステップ603においてノー(No)と判断された場合、ステップ605の角度比較処理において、全ての一次候補線分が削除された場合(ステップ607でノー(No))、或いは、ステップ608の垂線距離比較処理において、二次候補線分が得られなかった場合(ステップ610でノー(No))には、仮想現在位置を示す座標データが、候補点を示すデータとなる。
【0053】
このようにステップ403の第1の道路検索処理が終了すると、前回の車両の候補点を求める処理で得られたフリー状態の候補点のみに関して、道路とのマッチングを行うための第2の道路検索処理が実行される(ステップ404)。第1の道路検索処理(ステップ403)および第2の道路検索処理(ステップ404)を実行することにより、前回の処理により得られた全ての候補点に関する新たな候補点を求めることが可能となる。図10は、本実施例にかかる第2の道路検索処理を示すフローチャートである。
【0054】
図10に示すように、この処理(ステップ1301ないし1304)は、図6に示すマッチング状態の候補点に対する第1の道路検索処理(図4のステップ403)に類似している。これら二つの処理の間の相違は以下の点にある。すなわち、第1の道路検索処理においては、前回の車両の候補点を求める処理で得られた候補点が位置する線分、あるいは、これに接続する線分を、一次候補線分として一時的に記憶し、これら一次候補線分から、さらに、その方位と車両方位との方位差が所定のしきい値θth以下であって、かつ、仮想現在位置からの距離に対応する長さが所定のしきい値Lth以内の線分を、二次候補線分として選択している。
【0055】
これに対して、第2の道路検索処理においては、仮想現在位置(A)を中心とする予め設定された距離D内にある線分をすべて抽出し(ステップ1301)、これら線分から、その方位と車両方位との方位差が所定のしきい値θth以下の線分を選択し(ステップ1302)、さらに、選択された線分と仮想現在位置との間の距離を求め、この距離に対応する長さが所定のしきい値Lth以内の線分を二次候補線分として選択している(ステップ1303)。換言すれば、第1の道路選択処理のステップ602においては、候補点が位置する線分、或いは、当該線分の分岐点から延びる幾つかの線分などが選択されるが、図10のステップ1302においては、読み出された地図データに含まれる道路データに基づき、抽出すべき線分が決定される。したがって、ステップ1301ないし1303を実行するための処理時間は、道路データに対応する道路の密度に依存し、特に、読み出された地図データに対応する地図が、市街地であった場合など、道路の密度が大きい場合に、この処理時間は、第1の道路検索処理における対応する処理を実行するのに必要な時間と比較すると大きい。
【0056】
この第2の道路検索処理において、ステップ1303が終了すると、ステップ1302およびステップ1303により取り出された線分、すなわち、その方位と車両方位との間の方位差が、しきい値θth以下であり、かつ、仮想現在位置からの距離に対応する長さがしきい値Lth以下であるような線分が、二次候補線分として選択され、該線分に関連する種々のデータが、二次候補線分を示すデータとして記憶される。また、現在地現在位置の存在する点、および、仮想現在位置から当該線分におろした垂線の足、すなわち、この垂線と線分との交点が、候補点と決定され、これら候補点の座標データが記憶される(ステップ1304)。なお、第2の道路検索処理においては、仮想現在位置からおろした垂線と線分との交点が候補点となるが、これは、前回の処理により得られた候補点が、フリー状態であり、したがって、たどるべき線分が存在しないためである。
【0057】
なお、この第2の道路検索処理において、仮想現在位置から所定の範囲D内に線分が存在しない場合、その方位と車両の進行方位との方位差がしきい値θth以下の線分が存在しない場合、或いは、仮想現在位置からの距離に対応する長さがしきい値Lth以下であるような線分が存在しない場合には、仮想現在位置に対応する点が、唯一の候補点となる。
【0058】
上述したように、ステップ404の第2の道路探索処理が終了すると、第1の道路検索処理および第2の道路検索処理により得られた複数の候補点から、所定のものを選択する候補点選択処理が実行される(ステップ405)。
【0059】
本実施例においては、最終的に7つの候補点のみが、メモリ25中のRAMに記憶されるようになっている。したがって、次回の処理において仮想現在位置を算出するための基礎とすべき候補点が、このステップ405により選択される。図11は、本実施例にかかる候補点選択処理を示すフローチャートである。なお、前述したように、本処理においては、最終的に7つの候補点が選択される(図11のステップ1114)が、このステップに至るまでの途中のステップでは、一時的に、最大で14の候補点が選択されるようになっている。
【0060】
この処理においては、まず、前回の処理により得られた候補点Aiがいくつあるかを調べ(ステップ1101)、これら候補点を、後述する車両の現在位置である信憑性を示す信頼度の値が大きい順にソートする(ステップ1102)。次いで、前回の処理で得られたそれぞれの候補点が、新たに、いくつの候補点を生成し得るかが決定される(ステップ1103)。より詳細には、図12に示す生成可能候補数テーブルが参照され、前回の処理により得られた候補点Aの数cntごとに、信頼度の値が最も大きい候補点A0ないしその値が最も小さい候補点A6が生成することができる候補点の数が決定される。
【0061】
たとえば、候補数Aiの数cntが3である場合には、A0に基づき7つの候補点、A1に基づき4つの候補点、および、A2に基づき3つの候補点を生成することが可能となる。また、候補点Aの信頼度の値が大きくなるのにしたがって、当該候補点に基づき生成され得る候補点の数が大きくなることに留意すべきである。
【0062】
このように、前回の処理において生成された候補点の数、および、これら候補点の信頼度の値にしたがって、各候補点に基づき生成され得る候補点の数が決定される理由を説明する。
【0063】
図5を用いて説明したように、マッチング状態の候補点が、分岐点を通過すると、分岐点に接続された線分の数だけ、新たな候補点が生成される場合がある。また、フリー状態の候補点に基づき得られた仮想現在位置の所定の範囲内に線分が存在する場合には、当該仮想現在位置に対応する点、および、仮想現在位置から線分におろした垂線と当該線分との交点の双方が、新たな候補点となる場合がある。このように、車両が走行するのにしたがって候補点の数は、累積的に大きくなる。その一方、メモリの記憶容量や、候補点を算出するための処理時間などにより、記憶することができる候補点の数は限定されている。
【0064】
したがって、本実施例においては、生成可能候補点テーブルにしたがって、前回の処理により得られた最大で7つの候補点のそれぞれが、少なくとも一つの新たな候補点を生成できるようにし、かつ、生成可能な新たな候補点の数は、候補点の信頼度の値にしたがって大きくなるようにしている。
【0065】
このようにステップ1103において、前回の処理により得られた候補点に基づき新たに生成可能な候補点の数が決定されると、前回の処理により得られた候補点A0ないしA7のそれぞれに基づき得られた新たな候補点Bijのエラーコスト、信頼度などが算出される(ステップ1105ないしステップ1111)。
【0066】
さらに、本実施例においては、前回の処理により得られた候補点に基づき、ステップ403或いはステップ404で得られた候補点の数が、生成可能な候補点の数に満たない場合には、残余の生成可能な候補点の数、すなわち、(当該候補点に基づき生成可能な候補点の数m)−(実際にステップ403或いはステップ404により得られた候補点Bijの数)は、その信頼度の値が当該候補点の次に大きな他の候補点に基づき生成可能な候補点の数に割り当てられる。
【0067】
より詳細には、まず、ステップ1104において残余数x=0に初期化され、次いで、y=生成可能な候補点の数m+残余数x−(実際に得られた候補点Bijの数)が算出される(ステップ1105)。このyが0(ゼロ)以上であった場合、すなわち、m+xが、実際に得られた候補点Bijの数以上であった場合には(ステップ1106でノーNo))、得られたyが、次回のステップ1105で用いるべき新たな残余数xとなり(ステップ1107)、得られた候補点Bijのそれぞれのエラーコスト、累算エラーコスト、および、信頼度が算出される(ステップ1108)。
【0068】
より詳細には、前回の処理で得られた候補点Aiに基づく仮想現在位置と、得られた候補点Bijが位置する二次候補線分との間の距離L(ij)と、候補点が位置する二次候補線分の方位と車両の方位との間の方位差θd(ij)とに基づき、以下の式により定義されるエラーコストec(ij)が算出される。
【0069】
ec(ij)=α×|θd(ij)|+β×L(ij)
ここに、αおよびβは、重み係数である。これら重み係数の値は、車両の進行方位と線分の方位との間のずれと、仮想現在位置と線分との間のずれとの何れを、道路が選択される上で重視するかにしたがって決定される。たとえば、進行方位とその方位と方位が近い道路を選択することを重視する場合は、αを大きくするようにする。
【0070】
次いで、算出されたエラーコストec(ij)と、前回の処理で得られた候補点Aiに関連する累算エラーコストesとにしたがって、下記の式により定義される、今回の処理における累算エラーコストes(ij)が算出される。
【0071】
es(ij)=(1−k)×es+k×ec(ij)
ここに、kは、0より大きく1より小さな重み係数である。この累算エラーコストes(ij)は、前回以前の処理において算出されたエラーコストを、今回の処理において算出されるエラーコストにどのくらい反映させるかを表わしている。
【0072】
さらに、算出された累算エラーコストes(ij)に基づき、下記の式に定義される信頼度trst(ij)が算出される。
【0073】
trst(ij)=100/(1+es(ij))
上記式から明らかなように、累算エラーコストe(ij)が大きくなるのにしたがって、信頼度trst(ij)は減少し、0(ゼロ)に近づく。その一方、これが小さくなるのにしたがって、信頼度trst(ij)は増大し、その値は、100に近づく。
【0074】
このような処理をすることにより、候補点Aiに対応して得られた候補点に関連する信頼度trst(ij)が求められる。
【0075】
なお、フリー状態の候補点に関連して、ステップ405で算出すべきエラーコストec(ij)には、マッチング状態である場合に得られるエラーコストの値よりも大きな一定の値が与えられる。
【0076】
その一方、yが負であった場合、すなわち、m+xが、実際に得られた候補点Bijよりも小さい場合には(ステップ1106でイエスYes))、ステップ1108と同様に、Bijのそれぞれにつき、エラーコストec(ij)、累積エラーコストes(ij)および信頼度trst(ij)が算出され、候補点Bijの各々に対応する信頼度trst(ij)の値にしたがって、これら新たな候補点Bijがソートされる(ステップ1109)。
【0077】
さらに、その信頼度の値が小さい方から、|y|個の候補点を削除する。すなわち、メモリ25のRAMに記憶されたこれら候補点に関連するデータが削除される(ステップ1110)。この場合には、yが負の場合には、残余数xは0(ゼロ)となるため、ステップ1111において、x=0とされる。
【0078】
このような処理を繰り返すことにより、最大で14個の候補点Bijを得ることができる。
【0079】
たとえば、図13に示すように、前回の処理によりA0ないしA6の7つの候補点が選れ、ステップ403或いはステップ404において、これら候補点に基づきそれぞれKi個の候補点Bijが得られている場合を考える。この場合には、各Aiに関連するステップ1105において、図13に示すようなyが生成され、このyの値にしたがって、ステップ1107およびステップ1108、或いは、ステップ1109ないしステップ1111が実行される。ここに、A5に関連して、y=2+0(これは、A4に関する処理で得られた残余数)−3=ー1であるため、3個のBijのうち、その信頼度の値の大きな2個のBijのみが残されることになる。
【0080】
ステップ1105ないしステップ1111までの処理を前回の処理により得られた候補点Aiのすべてに関連して実行すると(ステップ1112でイエス(Yes))、得られた候補点Bijを、その信頼度の値にしたがってソートし(ステップ1113)信頼度の大きい順に、所定の数(本実施例においては7個)の候補点のみが選択され、これら候補点に関連するデータが、メモリ25のRAMの所定の領域に記憶される(ステップ1114)。
【0081】
以上、詳述したように、候補点選択処理(図4のステップ405)が終了すると、選択された所定の数(本実施例においては7個)の候補点のうち、その信頼度の値が最も大きな候補点を、表示候補点、すなわち、ディスプレイ17上に表示するための候補点として、その位置、累算エラーコスト、信頼度、マッチング状態であるかフリー状態であるかを示す状態フラグなどを、メモリ25のRAMの所定の領域に記憶する。また、表示候補点以外の他の候補点の位置、累算エラーコスト、信頼度、状態フラグなども、RAMの所定の領域に記憶される(ステップ406)。
【0082】
最後に、表示候補点に関連するデータが出力され(ステップ407)、処理を終了する。
【0083】
図4のステップ401ないし406を実行することにより得られた表示候補点は、図14に示すフローチャートに基づく処理によりディスプレイ17の画面上に表示される。
【0084】
本処理は、1秒毎に起動され実行されるマイクロプロセッサ24のルーチンである。
【0085】
最初、スイッチ14が押圧により地図の縮尺の変更を指示されているかを、パラレルI/O21の内容を見て判断する(ステップ1401)。もし、押されていれば(ステップ1401でイエス(Yes))、それに対応して、所定の縮尺フラグを設定する(ステップ1402)。
【0086】
次に、図4の処理を実行することにより得られた表示候補点の位置および方位を示すデータを、メモリ25のRAMの所定の領域から読み出し(ステップ1403)、ステップ1402で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ17に、例えば、図2に示すような状態で表示する(ステップ1404)。
【0087】
そして、地図に重畳して、表示候補点の位置およびその方位を、たとえば、先に示した図2のように、矢印記号“↑”を用いて表示する(ステップ1405)。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図2のように表示する(ステップ1406)。
【0088】
なお、本実施例においては、上記のように矢印記号を用いて車両位置および方向を示したが、車両位置および方向の表示形態は、位置および進行方向が、表示状態が明確に示されるものであれば、その形態は任意でよい。また、北マーク等も同様である。
【0089】
本実施例によれば、候補点選択処理において、前回の処理により得られた候補点から、少なくとも一つの候補点が生成可能であるように、かつ、各候補点が道路の現在位置である信憑性を示す信頼度にしたがって、各候補点から生成可能な新たな候補点の数が決定されるため、道路の分岐などにより候補点が多数生成され得る状態になった場合であっても、適切な候補点に基づき、車両の現在位置をより正確に算出することが可能となる。
【0090】
また、本実施例によれば、マッチング状態の候補点から得られた仮想現在位置に関連して、当該候補点が位置する線分、或いは、これに接続された線分を検索するため、仮想現在位置の周辺に存在する全ての道路を検索する場合と比較すると、より短時間で、所望の線分を検索することが可能となる。
【0091】
さらに、本実施例によれば、マッチング状態の候補点の位置する線分および/または該候補点の位置する線分に接続された線分に沿って、車両の進行距離に対応する長さだけ、前記候補点から進められた位置を候補点とするため、算出された車両の現在位置と実際の車両の現在位置との間の誤差をより小さくすることが可能となる。
【0092】
本発明は、以上の実施例に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【0093】
たとえば、前記実施例においては、候補点選択処理が、最大で14個の候補点を一時的に保持し、最終的にこれら候補点から7個の候補点を選択するように構成されているが、一時的に保持され、或いは最終的に選択される候補点の数は、これに限定されるものではない。
【0094】
また、前記実施例の候補点選択処理においては、候補点Bijの信頼度に基づき、削除すべき候補点が決定されている(図11のステップ1109、1110)が、これに限定されるものではない。たとえば、候補点選択処理のための処理時間を小さくするためには、Bijのエラーコストに基づき、削除すべき候補点を決定し、残りの候補点の信頼度のみを算出するように構成してもよい。
【0095】
また、本実施例において用いられたパラメータは、例示のために与えられたものに過ぎず、したがって、これらパラメータは、装置の処理速度、車両が走行する道路の種別(例えば、一般道路、高速道路など)にしたがって変更可能であることを理解すべきである。
【0096】
さらに、本明細書において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウエアによって実現される場合も包含する。また、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【0097】
【発明の効果】
本発明によれば、複数の車両の推定位置があるときに、これらから適切な推定位置を選択することにより、より正確に車両の現在位置を算出する現在位置算出システムを提供することが可能となる。
【図面の簡単な説明】
【図1】 図1は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。
【図2】 図2は、本実施例にかかる地図および現在位置の表示例を示す図である。
【図3】 図3は、本実施例にかかる車両の進行方位および進行距離を算出する処理を示すフローチャートである。
【図4】 図4は、本実施例にかかる車両の候補点を算出する処理を示すフローチャートである。
【図5】 図5は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図6】 図6は、本実施例にかかる第1の道路検索処理を示すフローチャートである。
【図7】 図7は、本実施例にかかる道路データの一例を説明するための図である。
【図8】 図8は、本実施例にかかる角度比較処理を示すフローチャートである。
【図9】 図9は、本実施例にかかる垂線距離比較処理を示すフローチャートである。
【図10】 図10は、本実施例にかかる第2の道路検索処理を示すフローチャートである。
【図11】 図11は、本実施例にかかる候補点選択処理を示すフローチャートである。
【図12】 図12は、本実施例にかかる生成可能候補数テーブルを示す図である。
【図13】 図13は、本実施例にかかる候補点の選択を説明するための図である。
【図14】 図14は、本実施例にかかる現在位置表示処理を示すフローチャートである。
【符号の説明】
10 現在位置算出装置
11 角速度センサ
12 方位センサ
13 車速センサ
14 スイッチ
15 CD−ROM
16 CD−ROM読み取りドライバ
17 ディスプレイ
18 コントローラ
[0001]
[Industrial application fields]
The present invention relates to a current position calculation system that is mounted on a moving body such as a vehicle, measures a traveling distance, a traveling direction, and the like of the moving body, thereby calculating a current position of the moving body.
[0002]
[Prior art]
Conventionally, in a current position calculation system for calculating the current position of a vehicle traveling on a road, the current position of the vehicle is measured by a vehicle traveling direction measured by an orientation sensor such as a gyro and a vehicle speed sensor or a distance sensor. It is calculated based on the travel distance of the vehicle.
[0003]
Further, the travel distance of the vehicle is generally obtained by measuring the output shaft of the transmission or the rotation speed of the tire and multiplying the rotation speed by a distance coefficient that is the distance the vehicle travels per rotation of the tire. It is demanded by.
[0004]
Further, in order to correct the error of the current position obtained from the traveling direction and the traveling distance of the vehicle as described above, as described in Japanese Patent Laid-Open No. 63-148115, the vehicle determined based on the traveling distance and the amount of change in direction Based on the estimated position and the error of the road map, an error amount is obtained, and the estimated position is registered as a self position corresponding to all roads within the range of the error amount centered on the estimated position. A technique is disclosed in which a correlation coefficient for each road at a registered estimated position is calculated, and an estimated position corresponding to the correlation coefficient indicating that the error with respect to the road is the smallest is the current position. As described in this publication, a so-called map matching technique for correcting the current position of the obtained vehicle so as to match the road is known, and this map matching technique allows the calculation of the current position. Accuracy can be increased.
[0005]
[Problems to be solved by the invention]
When map matching is executed using the technique described above, a plurality of estimated positions may be calculated when the vehicle passes through a branch point. That is, as the vehicle travels and repeatedly passes through the branch point, the number of estimated positions increases significantly. In general, a current position calculation system that calculates the current position of a vehicle by executing map matching can only store several estimated positions due to the limitation of the storage capacity of a memory provided therein. Furthermore, the current position calculation system may not be able to calculate all estimated positions due to the processing time limit for executing map matching.
[0006]
Therefore, any estimated position is selected from a plurality of estimated positions, and the current position of a new vehicle is calculated based on the selected estimated position. It is desirable to decide appropriately whether to keep it.
An object of the present invention is to provide a current position calculation system that calculates a current position of a vehicle more accurately by selecting an appropriate estimated position from a plurality of estimated positions of a plurality of vehicles.
[0007]
[Means for solving the problems]
An object of the present invention is a current position calculation system that is mounted on a vehicle and calculates the current position of the vehicle, the direction detection means for detecting the traveling direction of the vehicle, and the distance calculation means for calculating the travel distance of the vehicle, Based on the relative displacement obtained based on the traveling direction and the travel distance and a candidate point indicating a state where the vehicle is located on any road or a state where the vehicle is not located on the road. Virtual current position generating means for generating a virtual current position that is expected to be a position, and the virtual current position and road data included in the map data so that at least one candidate point is obtained based on each candidate point And a candidate point generating means for generating a new candidate point, and a predetermined one selected from the new candidate point is set as the calculated current position of the vehicle Position calculation It is achieved by the system.
[0008]
In a preferred embodiment of the present invention, the image processing apparatus further includes reliability calculation means for calculating reliability indicating the credibility that the vehicle exists at a position on the road corresponding to the candidate point, and the candidate point generation means includes the Based on the reliability, it has a determining means for determining the number of candidates indicating the number of new candidate points that each candidate point should obtain, and generates new candidate points based on each candidate point according to the determined number of candidates. It is configured as follows.
[0009]
In a further preferred aspect of the present invention, the candidate point generating means is configured to assign a predetermined number of candidates to each candidate point according to the total number of candidate points.
[0010]
In a further preferred aspect of the present invention, the number of candidates is stored in a table having the total number of candidate points as an address.
[0011]
In a further preferred embodiment of the present invention, a predetermined one of the new candidate points is selected as the calculated current position according to the reliability.
[0012]
In a further preferred embodiment of the present invention, the candidate point generating means is configured such that the azimuth difference between the azimuth of the line corresponding to certain data included in the road data and the vehicle azimuth is greater than a predetermined angle value. In the case of being small, it is configured to generate candidate points indicating that the vehicle exists on the road corresponding to the line segment.
[0013]
[Action]
According to the present invention, at least one candidate point is obtained based on each candidate point. That is, a virtual current position is obtained from a certain candidate point, and one or more candidate points are always generated based on the virtual current position. Therefore, even though a certain candidate point is the current position of the vehicle, a new storage point based on the candidate point is newly created based on the limitation of the storage capacity of the memory for storing the candidate point or the limitation of the processing time of the system. The possibility that the candidate point cannot be obtained can be reduced, and as a result, the current position of the vehicle can be calculated more accurately.
[0014]
According to the preferred embodiment of the present invention, since the number of candidates indicating the number of new candidate points that each candidate point should obtain is determined based on the reliability, the candidate point with higher reliability that is the current position of the road Based on the above, it becomes possible to generate more new candidate points.
[0015]
According to a further preferred embodiment of the present invention, each candidate point is configured to be assigned a predetermined number of candidates according to the total number of candidate points, so that when the total number of candidate points is large, or In any case where the number is small, an appropriate number of new candidate points can be generated.
[0016]
According to a further preferred embodiment of the present invention, since the number of candidates is stored in the table, an appropriate number of candidates based on the total number of candidate points can be obtained by simple processing.
[0017]
【Example】
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0018]
FIG. 1 is a block diagram showing a configuration of a current position calculation apparatus according to an embodiment of the present invention. As shown in FIG. 1, the current position calculation device 10 includes an angular velocity sensor 11 that detects a change in traveling azimuth by detecting a yaw rate of the vehicle, and an azimuth sensor 12 that detects a traveling azimuth of the vehicle by detecting geomagnetism. And a vehicle speed sensor 13 that outputs pulses at time intervals proportional to the rotation of the output shaft of the vehicle transmission.
[0019]
In addition, a display 17 for displaying a map around the current position, a mark indicating the current position, and the like, and a command for switching the scale of the map displayed on the display 17 are used. The( A switch 14 received from the driver), a CD-ROM 15 for storing digital map data, and a driver 16 for reading the map data from the CD-ROM 15 are provided. Moreover, the controller 18 which controls operation | movement of each peripheral apparatus shown above is provided. In the present embodiment, the digital map data described above includes road data composed of coordinates indicating the end portions of a plurality of line segments, road width data indicating the road width of the road, and roads that are expressways or general roads. An expressway flag indicating whether or not there is included.
[0020]
The controller 18 includes an A / D converter 19 that converts a signal (analog) of the angular velocity sensor 11 into a digital signal, an A / D converter 20 that converts a signal (analog) of the azimuth sensor 12 into a digital signal, and a vehicle speed sensor. A counter 26 that counts the number of pulses output every 13 seconds, a parallel I / O 21 that inputs whether or not the switch 14 is pressed, and a DMA that transfers map data read from the CD-ROM 15 ( (Direct Memory Access) controller 22 and display processor 23 for displaying a map image on display 17.
[0021]
The controller 18 further includes a microprocessor 24 and a memory 25. The microprocessor 24 outputs a signal from the angular velocity sensor 11 obtained through the A / D converter 19, a signal from the direction sensor 12 obtained through the A / D converter 20, and an output pulse from the vehicle speed sensor 13 counted by the counter 26. Number, whether or not the switch 14 is input via the parallel I / O 21, the map data from the CD-ROM 15 obtained via the DMA controller 22 is received, and processing based on these signals is performed. The current position is calculated and displayed on the display 17 via the display processor 23. As shown in FIG. 2, the vehicle position is displayed by superimposing an arrow mark or the like on a map already displayed on the display 17. Thereby, the user can know the current position of the vehicle on the map. The memory 25 includes a ROM that stores a program that defines the contents of processing (to be described later) for realizing such an operation, and a RAM that is used as a work area when the microprocessor 24 performs processing. Yes.
[0022]
Hereinafter, the operation of the current position calculation device 10 configured as described above will be described.
[0023]
The operation of the apparatus 10 generally includes processing for calculating the traveling direction and distance of the vehicle, processing for determining the current position of the vehicle from the calculated traveling direction and distance, and displaying the obtained vehicle position and direction. Since these can be divided into three processes, i.e., the process to be performed, these will be described in turn.
[0024]
FIG. 3 illustrates a flow of processing for calculating the traveling direction and traveling distance of the vehicle.
[0025]
This process is a routine of the microprocessor 24 that is activated and executed at a constant cycle, for example, every 100 ms.
[0026]
In this routine, first, the output value of the angular velocity sensor 11 is read from the A / D converter 19 (step 301). Since an azimuth change is output as the output value of the angular velocity sensor 11, only a relative value in the traveling direction of the vehicle can be detected. For this reason, next, the output value of the azimuth sensor 12 composed of a geomagnetic sensor is read from the A / D converter 20 (step 302), and the absolute azimuth calculated from the output value of the azimuth sensor 12 and the output from the angular velocity sensor 11 are output. The estimated heading of the vehicle is determined using the heading change (angular velocity output) (step 303).
[0027]
For example, when the vehicle speed is low for a long time, the error of the angular velocity sensor is large. Therefore, when the vehicle speed is low for a certain time or more, the direction is determined by using only the direction of the direction sensor.
[0028]
Next, the number of pulses output from the vehicle speed sensor 13 is counted by the counter 26 every 0.1 second, and the counted value is read (step 304). By multiplying this read value by a distance coefficient, a distance advanced in 0.1 seconds is obtained (step 305).
[0029]
Next, the travel distance value per 0.1 second thus determined is added to the previously obtained value to check whether the travel distance of the vehicle has reached 20 m (step 306). If not satisfied (No in step 306), the current process is terminated and a new process is started.
[0030]
As a result of the travel distance calculation process, when the accumulated travel distance becomes a certain distance, for example, 20 m (Yes in Step 306), the travel direction and the travel distance R (20 m in this embodiment) at that time Are output (step 307). In step 307, the accumulated distance is further initialized, and the accumulated travel distance is newly started.
[0031]
Next, a process of calculating a virtual current position of the vehicle based on the calculated traveling direction and traveling distance and obtaining a candidate point of the vehicle based on the calculated virtual current position will be described.
[0032]
FIG. 4 shows the flow of this process.
[0033]
This process is a routine of the microprocessor 24 that is activated and executed in response to the output of the traveling direction and traveling distance from FIG. That is, in this embodiment, this process is started every time the vehicle travels 20 meters.
[0034]
Well, in this process, first, step 307 The travel direction and travel distance output in step 1 are read (step 401). Next, based on these values, the movement amount of the vehicle is obtained separately in the latitude and longitude directions. Furthermore, the movement amount in each direction is added to the position of the candidate point of the vehicle obtained in the process for obtaining the candidate point of the previous vehicle, and the virtual current position (the position where the current vehicle is estimated to exist) A) is obtained (step 402).
[0035]
If there is no candidate point obtained by the process of obtaining the previous candidate point of the vehicle, such as immediately after the start of the device, the virtual current position is set using the position set separately as the position of the previously obtained candidate point. The position (A) is obtained.
[0036]
Here, explanation is added for each candidate point. In an initial state such as immediately after the start of the device, the virtual current position (A) is uniquely determined by the user (driver) inputting predetermined information using the switch 14 and the like. Is located on the line corresponding to the road. However, after the vehicle travels, the virtual current position (A) may not exist on the line segment corresponding to the road due to an error such as a direction sensor. As a result, for example, as shown in FIG. 5, when the road is branched, that is, when two line segments 64 and 65 appear from the node or end 68 of the line segment 61 corresponding to the road, In many cases, it cannot be clarified whether a vehicle exists on the road corresponding to the line segment.
[0037]
Therefore, in such a case, in this embodiment, a point existing on a line segment (two line segments in the example shown in FIG. 5) obtained by the processing described later is selected as a candidate point under a predetermined condition. The current position, error cost, accumulated error cost, which will be described later, and the like are each stored in a predetermined area of the RAM of the memory 25. For ease of explanation, in the following explanation, one or more new candidate points are generated from a single candidate point unless it is clearly indicated that there are a plurality of candidate points.
[0038]
Next, the first road search process for matching with the road is executed only for the candidate points in the matching state obtained by the process for obtaining the candidate points of the previous vehicle (step 403). In this embodiment, the matching state means that a distance from the virtual current position or an azimuth difference between the direction and the traveling direction of the vehicle is within a predetermined range in relation to a certain virtual current position. This means a state in which a candidate point is obtained at a predetermined position on the road based on the virtual current position. On the other hand, in relation to a certain virtual current position, there may be a case where there is no road where the above-described distance and direction difference are within a predetermined range. In this embodiment, in such a case, the point itself corresponding to the virtual current position A is a candidate point, and the candidate point obtained in this way is referred to as a free state candidate point.
[0039]
FIG. 6 is a flowchart illustrating the first road search process according to the present embodiment.
[0040]
As shown in FIG. 6, in this road search process, first, predetermined road data is read from the CD-ROM 15 via the driver 16 and the DMA controller 23 (step 601). In this embodiment, as road data, as shown in FIG. 7, a plurality of line segments 51 to 55 connecting two points are approximated, and those line segments are expressed by coordinates of the start point and the end point. Used. For example, the line segment 53 is represented by its start point (x3, y3) and end point (x4, y4). Therefore, in this step 601, the line segment where the candidate point of the matching state obtained by the previous process is located is selected, and data relating to this is read out.
[0041]
Next, based on the coordinates of the line segment selected in step 601, a line segment including a position advanced by a length corresponding to 20 m along the traveling direction of the vehicle from the position of the candidate point is searched. Coordinate data relating to the minute is temporarily stored as data indicating the primary candidate line segment (step 602). More specifically, the length of the line segment where the candidate point is located to the end in the traveling direction of the vehicle is a length corresponding to 20 m. If it is above The coordinate data and the like are stored with the line segment as the primary candidate line segment. Further, the length to the end of the vehicle in the traveling direction of the line segment where the candidate point is located is a length corresponding to 20 m. Less than If so, a line segment connected to the line segment is searched.
[0042]
Next, in step 602, it is determined whether or not at least one primary candidate line segment has been found (step 603). If it is determined no (No), the process proceeds to step 604.
[0043]
On the other hand, if it is determined as Yes in step 603, an angle comparison process for comparing the angle between the traveling direction of the vehicle and the direction of the primary candidate line segment is executed (step 605). ). FIG. 8 is a flowchart showing the angle comparison processing according to the present embodiment. As shown in FIG. 8, in this process, an azimuth difference θd between the traveling azimuth of the vehicle and the azimuth of the line segment is calculated (step 901), and the absolute value of this azimuth difference θd is determined from a predetermined threshold value θth. Is also larger (step 902). In this embodiment, the threshold value θth is set to 30 °. When it is determined NO in step 902, the process is terminated. On the other hand, when it is determined YES, it is determined that the road is not a primary candidate line segment. The temporarily stored data corresponding to the primary candidate line segment is deleted (step 903).
[0044]
When the angle comparison process shown in step 605 of FIG. 6 is completed, if a plurality of primary candidate line segments are stored in step 602, the angle comparison process is also executed for the other primary candidate line segments (steps 605 and 606). ) When the angle comparison process is executed for all the primary candidate line segments, the process proceeds to step 607. In this way, the azimuth difference between the azimuth and the vehicle azimuth among the line segment where the candidate point obtained in the previous process is located or connected to this is less than the threshold θth. Is stored as data indicating the primary candidate line segment.
[0045]
Step 607 determines whether there is at least one primary candidate line segment temporarily stored. If it is determined NO in step 607, the process proceeds to step 604. On the other hand, if it is determined as Yes in step 607, a perpendicular distance comparison process is executed (step 608). FIG. 9 is a flowchart showing the perpendicular distance comparison process according to the present embodiment. As shown in FIG. 9, in this process, a perpendicular line is drawn from the virtual current position toward the primary candidate line segment, and the length L of this perpendicular line is obtained (step 1001). Next, it is determined whether or not the length L of the perpendicular is equal to or less than a predetermined threshold value Lth (step 1002). That is, it is determined whether or not the primary candidate line segment exists within the range of the threshold value Lth from the virtual current position. If the determination in step 1002 is YES, various data relating to the primary candidate line segment are stored as data indicating the secondary candidate line segment, and from the candidate points obtained in the previous process. The coordinate data at positions separated by a distance R along a predetermined line segment is stored as position data corresponding to the secondary candidate line segment. (Step 1003) .
[0046]
On the other hand, if it is determined NO in step 1002, the data related to the primary candidate line segment is deleted, and as a result, no secondary candidate line segment is generated (step 1004).
[0047]
Thus, when the perpendicular distance comparison process 608 is completed, it is determined whether or not the process has been completed for all primary candidate line segments (step 609).
[0048]
By repeating step 608 and step 609, a predetermined distance R from the line segment where the candidate point obtained by the previous process is located along the line segment or a line segment connected thereto in the traveling direction of the vehicle. There is a point that is separated by a distance, the azimuth difference between the azimuth and the traveling azimuth of the vehicle is less than or equal to a predetermined threshold value θth, and the distance from the virtual current position is a predetermined threshold value A secondary candidate line segment that is Lth or less can be obtained. Furthermore, as position data corresponding to the obtained secondary line segment, coordinate data of a position separated by a distance R along a predetermined line segment can be obtained from the candidate point obtained in the previous process. This coordinate data corresponds to data indicating candidate points to be described later.
[0049]
When the processing of steps 608 and 609 is completed for the primary candidate line segment, it is determined whether or not a secondary candidate line segment has been obtained as a result of these steps (step 610). If it is determined NO in step 610, the process proceeds to step 604. On the other hand, if YES is determined, the process is terminated.
[0050]
For example, in FIG. 5, it is assumed that the virtual current position A is represented at a position indicated by a point 63 with respect to a certain candidate point 62 existing on the line segment 61. In such a case, first, the line segment 61 where the candidate point 62 is located is selected (step 601), and the distance from the candidate point 62 on this line segment to the end 68 in the traveling direction of the vehicle is determined. In the case of the example of FIG. 5, since there is a road connected to this line segment, data related to the line segments 64 and 65 are temporarily stored as data indicating primary candidate line segments, respectively. In relation to, angle comparison processing (step 605) is executed. Here, in the example of FIG. 5, assuming that | θ (1) −θcar | <θth and | θ (2) −θcar | <θth, the processing loop consisting of steps 605 and 606 is repeated twice. Then, the perpendicular distance comparison process (step 608) is executed in relation to each of the line segments 64 and 65.
[0051]
Furthermore, in the example of FIG. 5, if L (1) <Lth and L (2) <Lth, the data related to the line segments 64 and 65 are stored as secondary candidate line segments, and further candidates Points that are advanced from the point 62 by a length corresponding to the travel distance R (20 m in this embodiment) along the line segments 61 and 64 or along the line segments 61 and 65 are set as candidate points 66 and 67. The coordinate data of this point, the data corresponding to the distances L (1) and L (2) from the virtual current position to the line segment, and the data corresponding to the angles θ (1) and θ (2) of the line segment Remembered.
[0052]
Returning to the description of the first road search process in FIG. 6 again. Here, when it is determined as No (No) at Step 603, when all the primary candidate line segments are deleted in the angle comparison process at Step 605 (No (No) at Step 607), or If the secondary candidate line segment is not obtained in the perpendicular distance comparison process (No in step 610), the coordinate data indicating the virtual current position becomes data indicating the candidate point.
[0053]
When the first road search process in step 403 is completed in this way, the second road search for matching with the road only with respect to the candidate points in the free state obtained by the process for obtaining the candidate points of the previous vehicle. Processing is performed (step 404). By executing the first road search process (step 403) and the second road search process (step 404), it becomes possible to obtain new candidate points for all candidate points obtained by the previous process. . Figure 10 These are the flowcharts which show the 2nd road search process concerning a present Example.
[0054]
As shown in FIG. 10, this process (steps 1301 to 1304) is similar to the first road search process (step 403 in FIG. 4) for the candidate points in the matching state shown in FIG. The difference between these two processes is as follows. That is, in the first road search process, the line segment where the candidate point obtained by the process for obtaining the candidate point of the previous vehicle is located or the line segment connected thereto is temporarily used as the primary candidate line segment. From these primary candidate line segments, further, the direction difference between the direction and the vehicle direction is equal to or smaller than a predetermined threshold value θth, and the length corresponding to the distance from the virtual current position is a predetermined threshold. A line segment within the value Lth is selected as a secondary candidate line segment.
[0055]
On the other hand, in the second road search process, all the line segments within the preset distance D centered on the virtual current position (A) are extracted (step 1301), and the direction is determined from these line segments. A line segment whose azimuth difference between the vehicle direction and the vehicle direction is equal to or smaller than a predetermined threshold value θth is selected (step 1302). A line segment whose length is within a predetermined threshold Lth is selected as a secondary candidate line segment (step 1303). In other words, in step 602 of the first road selection process, the line segment where the candidate point is located, or some line segments extending from the branch point of the line segment are selected. In 1302, a line segment to be extracted is determined based on the road data included in the read map data. Therefore, the processing time for executing steps 1301 to 1303 depends on the density of the road corresponding to the road data, and particularly when the map corresponding to the read map data is an urban area. When the density is high, this processing time is longer than the time required to execute the corresponding processing in the first road search processing.
[0056]
In this second road search process, when step 1303 ends, the line segment extracted in steps 1302 and 1303, that is, the azimuth difference between the azimuth and the vehicle azimuth is equal to or less than the threshold θth. A line segment whose length corresponding to the distance from the virtual current position is equal to or smaller than the threshold value Lth is selected as a secondary candidate line segment, and various data related to the line segment are selected as secondary candidate line segments. Is stored as data indicating. Also, the point where the current position is present and the leg of the perpendicular line drawn from the virtual current position to the line segment, that is, the intersection of the perpendicular line and the line segment are determined as candidate points, and the coordinate data of these candidate points Is stored (step 1304). In the second road search process, the virtual current position Rao The intersection point between the drawn perpendicular line and the line segment is a candidate point because the candidate point obtained by the previous processing is in a free state and therefore there is no line segment to be traced.
[0057]
In the second road search process, when there is no line segment within the predetermined range D from the virtual current position, there is a line segment whose azimuth difference between the direction and the traveling direction of the vehicle is equal to or smaller than the threshold value θth. Otherwise, or when there is no line segment whose length corresponding to the distance from the virtual current position is equal to or less than the threshold value Lth, the point corresponding to the virtual current position is the only candidate point.
[0058]
As described above, when the second road search process in step 404 ends, candidate point selection for selecting a predetermined one from a plurality of candidate points obtained by the first road search process and the second road search process Processing is executed (step 405).
[0059]
In the present embodiment, only seven candidate points are finally stored in the RAM in the memory 25. Therefore, the candidate point that should be the basis for calculating the virtual current position in the next process is selected in this step 405. FIG. 11 is a flowchart illustrating candidate point selection processing according to the present embodiment. As described above, in this process, seven candidate points are finally selected (steps in FIG. 11). 1114 However, in the middle steps up to this step, a maximum of 14 candidate points are temporarily selected.
[0060]
In this process, first, the number of candidate points Ai obtained by the previous process is checked (step 1101), and the reliability value indicating the reliability of the current position of the vehicle, which will be described later, is determined for these candidate points. Sort in descending order (step 1102). Next, it is determined how many candidate points can be newly generated for each candidate point obtained in the previous process (step 1103). More specifically, with reference to the generatable candidate number table shown in FIG. 12, for each number cnt of candidate points A obtained by the previous processing, the candidate point A0 having the largest reliability value or the smallest value is obtained. The number of candidate points that the candidate point A6 can generate is determined.
[0061]
For example, if the number cnt of the number of candidates Ai is 3, it is possible to generate seven candidate points based on A0, four candidate points based on A1, and three candidate points based on A2. It should be noted that as the reliability value of the candidate point A increases, the number of candidate points that can be generated based on the candidate point increases.
[0062]
The reason why the number of candidate points that can be generated based on each candidate point is determined according to the number of candidate points generated in the previous process and the reliability values of these candidate points will be described.
[0063]
As described with reference to FIG. 5, when candidate points in the matching state pass through a branch point, new candidate points may be generated as many as the number of line segments connected to the branch point. In addition, when a line segment exists within a predetermined range of the virtual current position obtained based on the candidate points in the free state, the point corresponding to the virtual current position and the line segment from the virtual current position are reduced. There are cases where both the intersection of the perpendicular line and the line segment become new candidate points. Thus, the number of candidate points increases cumulatively as the vehicle travels. On the other hand, the number of candidate points that can be stored is limited by the storage capacity of the memory, the processing time for calculating candidate points, and the like.
[0064]
Therefore, in this embodiment, according to the generatable candidate point table, each of up to seven candidate points obtained by the previous processing can generate and generate at least one new candidate point. The number of new candidate points is increased in accordance with the reliability value of the candidate points.
[0065]
As described above, when the number of candidate points that can be newly generated is determined based on the candidate points obtained by the previous process in step 1103, the number of candidate points A0 to A7 obtained by the previous process is obtained. The error cost, reliability, etc. of the new candidate point Bij thus obtained are calculated (steps 1105 to 1111).
[0066]
Further, in this embodiment, if the number of candidate points obtained in step 403 or 404 is less than the number of candidate points that can be generated based on the candidate points obtained in the previous process, The number of candidate points that can be generated, that is, (the number m of candidate points that can be generated based on the candidate point) − (the number of candidate points Bij actually obtained in step 403 or step 404) is the reliability. Is assigned to the number of candidate points that can be generated on the basis of another candidate point next to the candidate point.
[0067]
More specifically, first, in step 1104, the residual number x = 0 is initialized, and then y = the number m of candidate points that can be generated + the residual number x− (the number of actually obtained candidate points Bij). (Step 1105). If y is 0 (zero) or more, that is, if m + x is greater than or equal to the number of candidate points Bij actually obtained (in step 1106). No ( No )), The obtained y becomes a new residual number x to be used in the next step 1105 (step 1107), and the error cost, accumulated error cost, and reliability of each obtained candidate point Bij are calculated. (Step 1108).
[0068]
More specifically, the distance L (ij) between the virtual current position based on the candidate point Ai obtained in the previous process and the secondary candidate line segment where the obtained candidate point Bij is located, and the candidate point is Based on the azimuth difference θd (ij) between the azimuth of the secondary candidate line and the azimuth of the vehicle, an error cost ec (ij) defined by the following equation is calculated.
[0069]
ec (ij) = α × | θd (ij) | + β × L (ij)
Here, α and β are weighting factors. The values of these weighting factors should be used to select a road between a deviation between the traveling direction of the vehicle and the direction of the line segment, or a deviation between the virtual current position and the line segment. Therefore, it is determined. For example, when it is important to select a traveling direction and a road having a similar direction and direction, α is increased.
[0070]
Next, according to the calculated error cost ec (ij) and the accumulated error cost es related to the candidate point Ai obtained in the previous process, the accumulated error in the current process defined by the following equation Cost es (ij) is calculated.
[0071]
es (ij) = (1-k) * es + k * ec (ij)
Here, k is a weight coefficient larger than 0 and smaller than 1. This accumulated error cost es (ij) represents how much the error cost calculated in the previous process is reflected in the error cost calculated in the current process.
[0072]
Further, based on the calculated accumulated error cost es (ij), a reliability trst (ij) defined by the following equation is calculated.
[0073]
trst (ij) = 100 / (1 + es (ij))
As is clear from the above equation, the accumulated error cost e s As (ij) increases, the reliability trst (ij) decreases and approaches 0 (zero). On the other hand, as this becomes smaller, the reliability trst (ij) increases and its value approaches 100.
[0074]
By performing such processing, the reliability trst (ij) related to the candidate point obtained corresponding to the candidate point Ai is obtained.
[0075]
In relation to the candidate point in the free state, the error cost ec (ij) to be calculated in step 405 is given a constant value larger than the error cost value obtained in the matching state.
[0076]
On the other hand, if y is negative, that is, if m + x is smaller than the actually obtained candidate point Bij (in step 1106) Jesus ( Yes )), The error cost ec (ij), the accumulated error cost es (ij), and the reliability trst (ij) are calculated for each Bij as in step 1108, and the reliability trst corresponding to each of the candidate points Bij. These new candidate points Bij are sorted according to the value of (ij) (step 1109).
[0077]
Further, | y | candidate points are deleted from the one with the smaller reliability value. That is, data related to these candidate points stored in the RAM of the memory 25 is deleted (step 1110). In this case, when y is negative, the remaining number x is 0 (zero), and therefore x = 0 in step 1111.
[0078]
By repeating such processing, a maximum of 14 candidate points Bij can be obtained.
[0079]
For example, as shown in FIG. 13, seven candidate points A0 to A6 are selected by the previous process. If Consider the case where Ki candidate points Bij are obtained based on these candidate points in step 403 or step 404, respectively. In this case, in step 1105 related to each Ai, y as shown in FIG. 13 is generated, and step 1107 and step 1108 or steps 1109 to 1111 are executed according to the value of y. Here, in relation to A5, y = 2 + 0 (this is the remaining number obtained by the processing related to A4) −3 = −1, and therefore, among the three Bijs, the reliability value of 2 is large. Only Bij will be left.
[0080]
When the processing from step 1105 to step 1111 is executed in relation to all of the candidate points Ai obtained by the previous processing (Yes in step 1112), the obtained candidate points Bij are represented by their reliability values. (Step 1113) , Only a predetermined number (seven in this embodiment) of candidate points are selected in descending order of reliability, and data related to these candidate points is stored in a predetermined area of the RAM of the memory 25 (step 1114). ).
[0081]
As described above in detail, when the candidate point selection process (step 405 in FIG. 4) is completed, the reliability value of the predetermined number of candidate points (seven in this embodiment) is selected. The largest candidate point is set as a display candidate point, that is, a candidate point for displaying on the display 17, its position, accumulated error cost, reliability, state flag indicating whether it is a matching state or a free state, etc. Is stored in a predetermined area of the RAM of the memory 25. Further, the positions of candidate points other than the display candidate points, the accumulated error cost, the reliability, the status flag, and the like are also stored in a predetermined area of the RAM (step 406).
[0082]
Finally, data related to the display candidate point is output (step 407), and the process ends.
[0083]
Display candidate points obtained by executing steps 401 to 406 in FIG. 4 are displayed on the screen of the display 17 by processing based on the flowchart shown in FIG.
[0084]
This process is a routine of the microprocessor 24 that is activated and executed every second.
[0085]
First, it is determined by checking the contents of the parallel I / O 21 whether the switch 14 is instructed to change the scale of the map by pressing (step 1401). If it is pressed (Yes in Step 1401), a predetermined scale flag is set correspondingly (Step 1402).
[0086]
Next, data indicating the position and orientation of the display candidate point obtained by executing the processing of FIG. 4 is read from a predetermined area of the RAM of the memory 25 (step 1403), and the scale flag switched in step 1402 A map of a scale corresponding to the contents of is displayed on the display 17 in a state as shown in FIG. 2, for example (step 1404).
[0087]
Then, the position of the display candidate point and its orientation are displayed using the arrow symbol “↑” as shown in FIG. 2, for example, as shown in FIG. 2 (step 1405). Finally, a north mark indicating north and a distance mark corresponding to the scale are displayed as shown in FIG. 2 so as to be superimposed on these (step 1406).
[0088]
In the present embodiment, the vehicle position and direction are indicated by using the arrow symbols as described above. However, in the display form of the vehicle position and direction, the display state is clearly shown for the position and the traveling direction. If it exists, the form may be arbitrary. The same applies to the north mark and the like.
[0089]
According to the present embodiment, in the candidate point selection process, the confidence that at least one candidate point can be generated from the candidate points obtained by the previous process and each candidate point is the current position of the road. The number of new candidate points that can be generated from each candidate point is determined according to the reliability indicating the reliability, so even if a large number of candidate points can be generated due to road branching, etc. Based on such candidate points, the current position of the vehicle can be calculated more accurately.
[0090]
Further, according to the present embodiment, in order to search for the line segment where the candidate point is located or connected to the virtual current position obtained from the candidate point in the matching state, Compared with the case where all roads existing around the current position are searched, a desired line segment can be searched in a shorter time.
[0091]
Furthermore, according to the present embodiment, only the length corresponding to the travel distance of the vehicle along the line segment where the candidate point in the matching state is located and / or the line segment connected to the line segment where the candidate point is located. Since the position advanced from the candidate point is set as the candidate point, the error between the calculated current position of the vehicle and the actual current position of the vehicle can be further reduced.
[0092]
The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the invention described in the claims, and these are also included in the scope of the present invention. Needless to say.
[0093]
For example, in the embodiment, the candidate point selection process is configured to temporarily hold a maximum of 14 candidate points and finally select 7 candidate points from these candidate points. The number of candidate points that are temporarily held or finally selected is not limited to this.
[0094]
In the candidate point selection process of the embodiment, candidate points to be deleted are determined based on the reliability of the candidate points Bij (steps 1109 and 1110 in FIG. 11), but the present invention is not limited to this. Absent. For example, in order to reduce the processing time for candidate point selection processing, the candidate point to be deleted is determined based on the error cost of Bij, and only the reliability of the remaining candidate points is calculated. Also good.
[0095]
In addition, the parameters used in this embodiment are merely given for illustration, and therefore these parameters are the processing speed of the device, the type of road on which the vehicle is traveling (for example, general road, highway) It should be understood that the change can be made according to the above.
[0096]
Furthermore, in this specification, the means does not necessarily mean a physical means, but includes cases where the functions of the means are realized by software. Further, the function of one means may be realized by two or more physical means, or the functions of two or more means may be realized by one physical means.
[0097]
【The invention's effect】
According to the present invention, when there are estimated positions of a plurality of vehicles, it is possible to provide a current position calculation system that calculates the current position of the vehicle more accurately by selecting an appropriate estimated position from these. Become.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a current position calculation apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a display example of a map and a current position according to the present embodiment.
FIG. 3 is a flowchart illustrating a process of calculating a traveling direction and a traveling distance of the vehicle according to the present embodiment.
FIG. 4 is a flowchart illustrating a process for calculating candidate points for a vehicle according to the embodiment.
FIG. 5 is a diagram for explaining a line segment corresponding to a road, a virtual current position, and candidate points;
FIG. 6 is a flowchart illustrating a first road search process according to the embodiment.
FIG. 7 is a diagram for explaining an example of road data according to the embodiment.
FIG. 8 is a flowchart illustrating angle comparison processing according to the present embodiment.
FIG. 9 is a flowchart illustrating normal distance comparison processing according to the embodiment.
FIG. 10 is a flowchart of a second road search process according to the embodiment.
FIG. 11 is a flowchart of candidate point selection processing according to the embodiment.
FIG. 12 is a diagram illustrating a number of generatable candidates table according to the embodiment.
FIG. 13 is a diagram for explaining selection of candidate points according to the embodiment.
FIG. 14 is a flowchart illustrating a current position display process according to the embodiment.
[Explanation of symbols]
10 Current position calculation device
11 Angular velocity sensor
12 Direction sensor
13 Vehicle speed sensor
14 switch
15 CD-ROM
16 CD-ROM reader
17 Display
18 Controller

Claims (7)

車両の現在位置を算出する現在位置算出システムであって、
車両の進行方位を検出する方位検出手段と、
車両の走行距離を算出する距離算出手段と、
前記進行方位および前記走行距離に基づき得られた相対変位と、車両が何れかの道路上に位置する状態、或いは、車両が道路上に位置しない状態を示す候補点とに基づき、車両の現在位置であると予想される仮想現在位置を生成する仮想現在位置生成手段と、
各候補点に基づき、少なくとも一つの候補点が得られるように、前記仮想現在位置および前記検出された車両の進行方位と、地図データに含まれる道路データとを比較して、新たな候補点を生成する候補点生成手段と、
前記新たな候補点から選択された所定の一つを算出された車両の現在位置に推定する手段と、
前記候補点に対応する道路上の位置に、車両が存在する信憑性を示す信頼度を算出する信頼度算出手段と、を有し、
前記候補点生成手段は、前記信頼度に基づいて各候補点が得るべき新たな候補点の数を示す候補数を決定し、該決定された候補数にしたがって、各候補点に基づく新たな候補点を生成すること
を特徴とする現在位置算出システム。
A current position calculation system for calculating a current position of a vehicle,
Direction detection means for detecting the traveling direction of the vehicle;
A distance calculating means for calculating a travel distance of the vehicle;
The current position of the vehicle based on the relative displacement obtained based on the traveling direction and the travel distance and a candidate point indicating a state where the vehicle is located on any road or a state where the vehicle is not located on the road Virtual current position generating means for generating a virtual current position expected to be,
Based on each candidate point, the virtual current position and the detected traveling direction of the vehicle are compared with road data included in the map data so that a new candidate point is obtained so that at least one candidate point is obtained. Candidate point generating means for generating;
Means for estimating a predetermined one selected from the new candidate points to the calculated current position of the vehicle ;
A reliability calculation means for calculating a reliability indicating the credibility that the vehicle exists at a position on the road corresponding to the candidate point;
The candidate point generation means determines the number of candidates indicating the number of new candidate points that each candidate point should obtain based on the reliability, and according to the determined number of candidates, a new candidate based on each candidate point A current position calculation system characterized by generating points .
前記候補点生成手段が、候補点の総数にしたがって、各候補点に、予め定められた候補数を割り当てるように構成されたこと
を特徴とする請求項に記載の現在位置算出システム。
The current position calculation system according to claim 1 , wherein the candidate point generation unit is configured to assign a predetermined number of candidates to each candidate point according to the total number of candidate points.
前記候補点生成手段が、候補点の総数ごとに、各候補点から生成され得る候補数を記憶したテーブルを有し、前記候補数が、前記テーブルから得られるデータに基づき決定されること
を特徴とする請求項に記載の現在位置算出システム。
The candidate point generation unit has a table storing the number of candidates that can be generated from each candidate point for each total number of candidate points, and the number of candidates is determined based on data obtained from the table. The current position calculation system according to claim 2 .
前記推定する手段は、
前記信頼度にしたがって、前記新たな候補点から所定の一つ前記算出された現在位置として選択すること
を特徴とする請求項に記載の現在位置算出システム。
The estimating means includes
The current position calculation system according to claim 1 , wherein a predetermined one of the new candidate points is selected as the calculated current position according to the reliability.
前記候補点生成手段が、前記道路データに含まれるあるデータに対応する線分の方位と前記車両方位との間の方位差が、所定の角度値よりも小さい場合に、車両が前記線分に対応する道路上に存在すること示す候補点を生成するように構成されたこと
を特徴とする請求項1ないしの何れか一項に記載の現在位置算出システム。
When the candidate point generation means determines that the azimuth difference between the azimuth of a line segment corresponding to certain data included in the road data and the vehicle azimuth is smaller than a predetermined angle value, the vehicle becomes the line segment. current position calculating system as claimed in any one of claims 1 to 4, characterized in that it is configured to generate the candidate points shown that present on the corresponding road.
車両の現在位置を算出する現在位置算出システムが行なう現在位置算出方法であって、
前記現在位置算出システムは、
車両の進行方位を検出するステップと、
車両の走行距離を算出するステップと、
前記進行方位および前記走行距離に基づき得られた相対変位と、車両が何れかの道路上に位置する状態、或いは、車両が道路上に位置しない状態を示す候補点とに基づき、車両の現在位置であると予想される仮想現在位置を生成するステップと、
各候補点に基づき、少なくとも一つの候補点が得られるように、前記仮想現在位置および前記検出された車両の進行方位と、地図データに含まれる道路データとを比較して、新たな候補点を生成する候補点生成ステップと、
前記新たな候補点から選択された所定の一つを算出された車両の現在位置に推定するステップと
前記候補点に対応する道路上の位置に、車両が存在する信憑性を示す信頼度を算出するステップと、を行ない、
前記候補点生成ステップは、
前記信頼度に基づき、各候補点が得るべき新たな候補点の数を示す候補数を決定し、該決定された候補数にしたがって、各候補点に基づく新たな候補点を生成すること
を特徴とする現在位置算出方法。
A current position calculation method performed by a current position calculation system for calculating a current position of a vehicle,
The current position calculation system includes:
Detecting the traveling direction of the vehicle;
Calculating the mileage of the vehicle;
The current position of the vehicle based on the relative displacement obtained based on the traveling direction and the travel distance and a candidate point indicating a state where the vehicle is located on any road or a state where the vehicle is not located on the road Generating a virtual current position expected to be;
Based on each candidate point, the virtual current position and the detected traveling direction of the vehicle are compared with road data included in the map data so that a new candidate point is obtained so that at least one candidate point is obtained. A candidate point generation step to generate;
Estimating a predetermined one selected from the new candidate points to the calculated current position of the vehicle ;
Performing a step of calculating the reliability indicating the credibility that the vehicle exists at a position on the road corresponding to the candidate point;
The candidate point generation step includes:
Based on the reliability, determining the number of candidates indicating the number of new candidate points that each candidate point should obtain, and generating new candidate points based on each candidate point according to the determined number of candidates <br> A current position calculation method characterized by the following:
所定の候補点に関連する候補数が、前記予め定められた候補数よりも小さい場合に、これらの差に対応する数を、前記所定の候補点の信頼度より小さな信頼度を有する他の候補点に関連する候補数に加算するように構成されたこと
を特徴とする請求項またはに記載の現在位置算出システム。
When the number of candidates related to a predetermined candidate point is smaller than the predetermined number of candidates, the number corresponding to these differences is set as another candidate having a reliability smaller than the reliability of the predetermined candidate point. current position calculating system as defined in claim 2 or 3, characterized in that it is configured to add the number of candidates to be associated with the point.
JP14367295A 1995-06-09 1995-06-09 Current position calculation system and current position calculation method Expired - Lifetime JP3656661B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14367295A JP3656661B2 (en) 1995-06-09 1995-06-09 Current position calculation system and current position calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14367295A JP3656661B2 (en) 1995-06-09 1995-06-09 Current position calculation system and current position calculation method

Publications (2)

Publication Number Publication Date
JPH08334369A JPH08334369A (en) 1996-12-17
JP3656661B2 true JP3656661B2 (en) 2005-06-08

Family

ID=15344260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14367295A Expired - Lifetime JP3656661B2 (en) 1995-06-09 1995-06-09 Current position calculation system and current position calculation method

Country Status (1)

Country Link
JP (1) JP3656661B2 (en)

Also Published As

Publication number Publication date
JPH08334369A (en) 1996-12-17

Similar Documents

Publication Publication Date Title
JP3545839B2 (en) Current position calculation device
KR100231285B1 (en) Current position calculating device
JP3634006B2 (en) Current position calculation device
JP3656661B2 (en) Current position calculation system and current position calculation method
JP3596943B2 (en) Current position calculation system and current position calculation method
JP3758710B2 (en) Current position calculation system and current position calculation method
JP3660392B2 (en) Current position calculation system and current position calculation method
JP3682091B2 (en) Current position calculation system and current position calculation method
JP3634005B2 (en) Current position calculation device
JP3693383B2 (en) Current position calculation system and current position calculation method
JP3679450B2 (en) Current position calculation device and current position calculation method
JP3660389B2 (en) Current position calculation system and current position calculation method
JP3599420B2 (en) Current position calculation device
JP3656662B2 (en) Current position calculation device
JP3798444B2 (en) Current position calculation system and current position calculation method
JP3569028B2 (en) Current position calculation device
JP3764508B2 (en) Current position calculation system and current position calculation method
JP3587904B2 (en) Current position calculation device
JP3859743B2 (en) Current position calculation device
JP3599422B2 (en) Current position calculation device
JP3596941B2 (en) Current position calculation device
JP3596944B2 (en) Current position calculation system and current position calculation method
JP3792270B2 (en) Current position calculation system and current position calculation method
JPH08334351A (en) Present location calculating device
JP3679826B2 (en) Current position calculation system and current position calculation method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050301

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140318

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term