JP3545838B2 - Current position calculation device - Google Patents

Current position calculation device Download PDF

Info

Publication number
JP3545838B2
JP3545838B2 JP14356695A JP14356695A JP3545838B2 JP 3545838 B2 JP3545838 B2 JP 3545838B2 JP 14356695 A JP14356695 A JP 14356695A JP 14356695 A JP14356695 A JP 14356695A JP 3545838 B2 JP3545838 B2 JP 3545838B2
Authority
JP
Japan
Prior art keywords
vehicle
current position
turning
link
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 - Fee Related
Application number
JP14356695A
Other languages
Japanese (ja)
Other versions
JPH08334363A (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.)
Xanavi Informatics Corp
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 JP14356695A priority Critical patent/JP3545838B2/en
Priority to US08/660,898 priority patent/US5941934A/en
Priority to KR1019960020476A priority patent/KR100231285B1/en
Priority to DE69626341T priority patent/DE69626341T2/en
Priority to EP96109281A priority patent/EP0747669B1/en
Priority to EP02026369A priority patent/EP1288623B1/en
Priority to DE69637218T priority patent/DE69637218T2/en
Publication of JPH08334363A publication Critical patent/JPH08334363A/en
Application granted granted Critical
Publication of JP3545838B2 publication Critical patent/JP3545838B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、該移動体の進行距離、進行方位などを測定して、これにより、当該移動体の現在位置を算出する現在位置算出装置に関するものである。
【0002】
【従来技術】
従来の道路上を走行する車両の現在位置を算出する現在位置算出装置において、該車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の進行距離とに基づいて算出されている。
【0003】
また、車両の進行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ1回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【0004】
さらに、特開昭63−148115号公報に記載のように、走行距離および方位変化量に基づき定まる車両の現在位置を中心とする所定の範囲内の道路を道路地図より抽出し、推定位置と抽出した各道路の相関に基づいて最も相関の高い道路上に現在位置を修正することにより、車両の進行方向と進行距離から求めた現在位置の誤差を補正する技術が知られている。また、このような推定位置と道路との相関としては、推定位置と道路との距離や車両の進行方位と道路の方位差が用いられることが多い。
【0005】
このような道路に整合するように、求められた車両の現在位置を修正する、いわゆる、マップマッチングの技術によれば、現在位置算出の精度を高めることができる。
【0006】
【発明が解決しようとする課題】
前述したマップマッチングの技術は、道路地図に基づいて現在位置を修正するものであるため、道路地図が正確であることを前提としている。
【0007】
一方、カ−ナビゲ−ションシステム等に適用される現在位置算出装置に用いられる道路地図は、通常、図20のように、直線のリンクの組合せaによって道路の位置、形状が表現されている。したがい、道路のカ−ブ(曲線形状の箇所)等においては、図20に示すように、現実の道路形状bを正しく表していない場合が多い。そして、このような地点においては、道路地図が正確に現実の道路形状を表していないために、推定位置と道路との距離や車両の進行方位と道路の方位差を推定位置と道路との相関として用いるマップマッチングの技術を適用すると、かえって誤った道路上に現在位置が求まってしまうことがある。
【0008】
反面、前述したマップマッチングの技術を適用せずに、走行距離および方位変化量に基づき定まる車両の現在位置を、そのまま用いた場合にも次のような問題が生じる。
【0009】
すなわち、一般的に、カ−ナビゲ−ションシステムでは求めた現在位置を、運転者に知らせるために、求めた現在位置周辺の道路地図を当該道路地図上の現在位置を示すマ−クと共に表示する。しかし、前述したマップマッチングの技術を適用しない場合には、現在位置を示すマ−クは、道路上に表示されるとは限らない。特に、カ−ブ等において道路地図が正確に現実の道路形状を表していない場合には、走行距離および方位変化量に基づき求めた車両の現在位置が正しい場合であっても、現在位置を示すマ−クは、走行中の道路に対応する道路地図上の道路とかけ離れた位置に表示されることがある。道路上を走行しているにも関わらずに、その道路外の離れた位置が現在位置として表示されることになるため、このような表示は、運転者にとって極めて不自然である。また、運転者が、現在位置を把握できなってしまう場合もある。
【0010】
そこで、本発明は、カ−ブにおいても、道路に近い位置に現在位置を表示することのできる現在位置算出装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
前記目的達成のために、本発明は、車両に搭載され、前記車両の現在位置を算出する現在位置算出装置であって、
前記車両の進行方位を検出する方位検出手段と、
前記車両の走行距離を測定する距離測定手段と、
道路地図を記憶した地図記憶手段と、
前記方位検出手段が検出した車両の進行方位を補正する進行方位補正手段と、
前記距離測定手段で測定された前記車両の走行距離、前記方位検出手段で検出された前記車両の進行方位、および、前記地図記憶手段に記憶されている前記道路地図を用いて、前記車両の現在位置を順次算出する現在位置算出手段と、
前記車両が旋回中か否かを判定する状態判定手段と、
前記現在地算出手段で算出された前記車両の現在位置に基づいて、前記記憶手段から読み出した道路地図と共に前記車両の現在位置を表示する表示手段と、を有し、
前記現在位置算出手段は、
前記状態判定手段で前記車両が旋回中の状態でないと判定されている場合、前回算出した現在位置と前記車両の進行方位および走行距離とから仮現在位置を推定し、推定した仮現在位置を前記道路地図に照合してマップマッチング処理により道路リンク上に今回の現在位置を算出し、
前記状態判定手段で前記車両が旋回中の状態であると判定されている場合、前回算出した現在位置が存在する道路リンクと前記車両の進行方向上前方に接続する道路リンクを特定し、特定した道路リンク各々について、前回算出した現在位置から当該道路リンクの中点近傍に設定した着目点までの道のりに相当する距離を、前回現在位置を算出してから前記車両が走行したときに前記方位検出手段で検出される前記車両の進行方位と、当該道路リンクの方位との差分を求め、当該差分が所定値以下の道路リンクの前記着目点を今回の現在位置として算出し、
前記進行方位補正手段は、
前記現在位置算出手段が現在位置を算出した際の前記方位検出手段が検出した前記車両の進行方位と、前記現在位置が存在する道路リンクの方位との差に応じた量、もしくは、当該差の実績に応じた量、前記方位検出手段が検出する前記車両の進行方位を前記差が減少する方向に補正すること
を特徴とする現在位置算出装置を提供する。
【0012】
【作用】
本発明に係る現在位置算出装置によれば、進行方位補正手段は、現在位置算出手段が現在位置を推定した際の前記方位検出手段が検出した車両の進行方位と推定された道路の方位との差、もしくは、当該差の実績に応じた量、前記方位検出手段が検出した車両の進行方位を前記差が減少する方向に補正する。
【0013】
したがい、これに基づき算出された現在位置は、より道路に近い位置となる。したがい、カ−ブ等において、道路に近い位置に現在位置を表示することができる。
【0014】
【実施例】
以下、本発明の実施例を説明する。
【0015】
図1は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。図1に示すように、この現在位置算出装置10は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ11と、地磁気を検出することで車両の進行方位を検出する地磁気センサ12と、車両のトランスミッションの出力軸の回転に比例した時間間隔でパルスを出力する車速センサ13を備えている。
【0016】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ17と、ディスプレイ17に表示する地図の縮尺切り替えの指令をユーザに(運転者)から受け付けるスイッチ14と、デジタル地図データを記憶しておくCD−ROM15と、そのCD−ROM15から地図データを読みだすためのドライバ16とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ18を備えている。本実施例において、上述したディジタル地図データには、複数のリンクの端部を示す座標から構成される道路データ、或いは、該道路の道幅を示す道路幅データ、道路が高速道路或いは一般道路であるかを示す高速道路フラグなどが含まれる。
【0017】
コントローラ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とを有する。
【0018】
また、コントローラ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とを含んでいる。
【0019】
以下、このように構成された現在位置算出装置10の動作について説明する。装置10の動作は、概略的にいうと、車両の進行方位及び距離から車両の現在位置を表す表示候補点を決定する現在位置決定処理と、得られた車両の現在位置および方位を表示する表示処理との2つの処理に分けることができるため、これらについて順次説明する。
【0020】
まず、車両の進行方位及び距離から車両の現在位置を決定する現在位置決定処理について説明する。
【0021】
この処理は、複数の処理より構成されるが、その内の主要な処理は、次の4つの処理である。
【0022】
すなわち、車両が直進しているか、旋回を開始したか、旋回中か、旋回を終了したかを2m車両が走行する毎に判定する旋回判定処理、車両が直進している場合に20m車両が走行する毎に行われる直進処理、車両が旋回を開始した時に行われる旋回開始処理、車両が旋回中である場合に2m車両が走行する毎に行われる旋回中処理、車両が旋回を終了した時に行われる旋回終了処理を、その主要な処理としている。
【0023】
以下、マイクロプロセッサ214が行う各処理について説明する。
【0024】
まず、図3に、車両が2m走行する毎に行う処理の処理手順を示す。
【0025】
この処理では、まず、地図データを読みだし(ステップ301)、旋回判定処理を行う(ステップ302)。旋回判定処理では後述するように、車両が直進している場合にはdir_fが0に、旋回を開始した場合にはdir_fが1に、旋回中の場合にはdir_fが2に、旋回を終了した場合にはdir_fが3に設定される。
【0026】
そこで、ステップ303、304、305では、dir_fの値より車両の走行状態を判定し、dir_fが1の場合には旋回開始処理を行い(ステップ306)、dir_fが2の場合には旋回中処理を行い(ステップ308)、dir_fが3の場合には旋回終了処理を行う(ステップ307)
前述した直進処理は、後述するようにdir_fが0の場合に20m車両が走行する毎に実行される。
【0027】
次に、ステップ301の旋回判定処理について説明する。
【0028】
図4に旋回判定処理の処理手順を示す。
【0029】
この処理では前述したように、車両が直進しているか、旋回を開始したか、旋回中か、旋回を終了したかを判定する。
【0030】
この処理では、まず、dir_fを直進を表す0に設定する。
【0031】
そして、以下の処理で車両方位θnを利用して車両の旋回開始、旋回中、旋回終了を判定する。ただし、以下の処理では、車両方位として、センサの出力する車両方位θsを直接用いずに、修正した車両方位θcar=θs−θ1/2を車両方位として用いる(ステップ1520、1507)。ここで、θ1/2は、後述するように旋回中処理、旋回終了処理、直進処理の各々において求められ更新される。旋回中処理、旋回終了処理、直進処理においては、後述するように前記表示候補点を求めるは、この際、これらの処理では、θ1/2を、表示候補点が求められた時点のセンサ出力の車両方位θsと、表示候補点が存在する道路方位の1/2として求める。ただし、表示候補点が道路上に存在しない場合(後述するフリ−状態の候補点が表示候補点として選択された場合)には、θ1/2を0とする。なお、センサの出力する車両方位θsとは、地磁気センサ12と角速度センサ11の出力値に基づき求まる車両方位を指している。
【0032】
さて、θcar=θs−θ1/2によって表される車両方位は、車両方位をより道路に近い方向に修正したものとなる。すなわち、センサが出力する車両方位と道路の方位差は、車体の着磁によるセンサ誤差等によって生じたものである可能性があることを考慮し、θ1/2を減ずることにより、センサ出力の車両方位θsを、ある程度車両方位を道路との方位差が少ない方向へ補正するようにしたものである。
【0033】
さて、dir_fを直進を表す0に設定したら(ステップ1501)、車両方位θ6を求め、この車両方位と過去6回の車両方位θ0〜θ5の平均θaveとの差の絶対値θdが所定のしきい値θth以下であり、かつ、現在まで差の絶対値θdが連続してしきい値θth以下であった回数cntが所定のしきい値cntthより多ければ、直進していると判定し(ステップ1510)、dir_fを直進を表す0のままとする。
【0034】
また、差の絶対値θdが所定のしきい値θthより大きく、現在まで差の絶対値θdが連続してしきい値θth以下であった回数cntが所定のしきい値cntthより多ければ旋回開始と判定し(ステップ1511)、dir_fを旋回開始を表す1とする(ステップ1516)。
【0035】
また、差の絶対値θdが所定のしきい値θthより大きく現在まで差の絶対値θdが連続してしきい値θth以下であった回数cntが所定のしきい値cntth以下である場合、または、差の絶対値θdが所定のしきい値θthより小さく現在まで差の絶対値θdが連続してしきい値θth以下であった回数cntが所定のしきい値cntthに達していない場合には、旋回中と判定し(ステップ1512)、dir_fを旋回中を表す2とする(ステップ1515)。
【0036】
残る差の絶対値θdが所定のしきい値θth以下であって現在まで差の絶対値θdが連続してしきい値θth以下であった回数cntが所定のしきい値cntthに等しい場合には、旋回終了と判定し、dir_fを旋回終了を表す3とする(ステップ1514)。
【0037】
すなわち、車両方位と過去6回の車両方位(θ0〜θ5)の平均(θave)との差の絶対値(θd)が所定値(θth)以下である回数(cnt)が所定回数(cntth+1)以上続いているときに直進と判定し、次回の差の絶対値(θd)が所定値(θth)以下であれば次回に直進と判定できる時に旋回終了と判定する。また、今回の差の絶対値(θd)が所定値(θth)以下であれば直進と判定できたのにもかかわらず、今回の差の絶対値(θd)が所定値(θth)以上となってしまったときに旋回開始と判定する。
【0038】
さて、車両方位が安定していないときにマップマッチングを実行すると、不適当な現在位置が算出されてしまったり、うまく現在位置を算出することができない場合がある。しかし、本実施例では、車両方位と過去の一定距離分の車両方位の平均との差の絶対値が一定値以下で、一定距離以上安定したか否かによって直進か、旋回動作をしているかを判定するので、車両方位が安定している場合のみ(直進と判定された場合にのみ)後述する直進処理を実行しマップマッチングによって現在位置を算出することができる。
【0039】
さて、図4において、ステップ1520、1521、1502は本装置の起動直後に、車両方位が6個になるまで、車両方位θcarをθ0〜θ5に順次蓄積していく処理であり、車両方位が一旦6個蓄積できたら実行されなくなる処理である。なお、起動時にnは0に初期化される。
【0040】
次に、ステップ1503〜1507、1520は、その時点で蓄積されている7つの車両方位θ0〜θ5のうちθ0を消去し、θ1〜θ5を一つづつシフトしθ1〜θ5を新たなθ0〜θ4とし、今回のセンサ出力車両方位θsを取り込んで、これを修正した車両方位を新たなθ5とする処理である。
【0041】
次にステップ1508は、前述した過去6回分の修正した車両方位(θ0〜θ5)の平均値θaveを求める処理であり、ステップ1509は今回の修正した車両方位θnとステップ1508で求めた車両方位の差の絶対値θdを求める処理である。
【0042】
そして、ステップ1510〜1510は、前述したように、直進、旋回開始、旋回中、旋回終了を判定し、dir_fの値を確定する処理である。
【0043】
最後に、ステップ1517〜1519は、しきい値θth以下の差の絶対値θdの現在まで連続数cntを計数する処理である。ここで求めた連続数cntは、次回の旋回判定処理において、前述したように直進、旋回開始、旋回中、旋回終了の判定に用いられることになる。
【0044】
以上、旋回判定処理について説明したように、この処理によって車両が2m走行される度に、直進、旋回開始、旋回中、旋回終了が判定され、dir_fが、その値が判定結果を示すように設定される。また、センサ出力の車両方位θsを修正したθcarが求められることになる。
【0045】
さて、このような旋回判定処理の判定結果が直進であり、dir_fが0に設定されている期間は、図3に示すように旋回開始処理、旋回中処理、旋回終了処理は実行されずに、20m車両が走行する度に直進処理が実行されることになる。
【0046】
以下、まず、この直進処理について説明する。
【0047】
直進処理は20m走行毎にマップマッチングによって現在位置を求める処理である。
【0048】
図5に、直進処理の処理手順を示す。
【0049】
この処理では、まず、dir_fが0か否かを判定する(ステップ400)。すなわち、現在直進と判定されている状態か否かを判定し、直進と判定されている状態でなければ、そのまま処理を終了する。したがい、直進処理は旋回開始、旋回中、旋回終了と判定されている際には実行されない。
【0050】
さて現在直進と判定されている状態であれば、前回の直進処理実行時もしくは旋回終了処理実行時から現在までの進行距離Rと、現在の修正された車両方位θcarとを読み込む(ステップ401)。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。
【0051】
さらに、これらの各方向における移動量を、前回の直進処理で求まった各候補点の位置に、それぞれ加算して、前回の直進処理で求まった各候補点対応に、現在車両が存在すると推定される位置である仮想現在位置(A)を求める(ステップ402)。候補点は、直進処理において、現在位置の候補と成り得る位置として後述するステップ403、404で求まる1または複数の位置であるが、その詳細については後述する。
【0052】
もし、装置の始動直後など、前回の車両の候補点を求める処理で得られた候補点が存在しない場合には、別途設定された位置を、前回得られた候補点の位置として用いて仮想現在位置(A)を求める。
【0053】
ついで、前回の直進処理で得られた後述するフリー状態の候補点のみに関して、道路とのマッチングを行うための道路検索処理が実行され、1または複数の候補点と、その信頼度trstが求められる(ステップ403)。フリー状態の候補点とは、道路上にマッチングできなかった候補点を指し、信頼度とは各候補点の現在位置としての確からしさを指すが、その詳細については後述する。また、このステップ403で実行される検索候補点選択処理の詳細についても後述する。
【0054】
次に、検索候補点選択処理が実行された後に、前回の直進処理で得られた後述するマッチング状態の候補点のみに関して、道路とのマッチングを行うための道路検索処理が実行され、1または複数の候補点と、その信頼度trstが求められる(ステップ404)。マッチング状態の候補点とは道路上にマッチングされた候補点を指すが、その詳細については後述する。
【0055】
ついで、これらのステップ403、404で得られた候補点の各々に対応する信頼度trstの値にしたがって、これら新たな候補点をソートし(ステップ405)、最も信頼度の値の大きな候補点Cを、表示候補点CD、すなわち、ディスプレイ17上に表示するための候補点として、その位置、後述する累算エラーコストes、信頼度、マッチング状態であるかフリー状態であるかを示す状態フラグなどを、メモリ25のRAMの所定の領域に記憶するとともに、表示候補点以外の他の候補点の位置、累算エラーコストes、信頼度trst、状態フラグなども、RAMの所定の領域に記憶する(ステップ406)。なお、本実施例においては、7個の候補点に関連するデータを記憶可能に構成されている。したがって、図5のステップ401ないし406の処理を実行した結果、候補点が8個以上算出された場合には、これらのうち、信頼度trstの値が大きい順に7個の候補点に関連する種々のデータが、メモリ25のRAMの所定の領域に記憶されることになる。
【0056】
そして、センサが出力する車両方位θsから選択した表示候補点の位置する道路方位θlを減じた値を1/2にした値をθ1/2とし(ステップ407)、最後に、表示候補点の座標データを出力し(ステップ408)処理を終了する。ただし、前述したように、フリー状態の候補点が表示候補点として選択された場合には、θ1/2を0とする。
【0057】
次に、ステップ403のフリー状態の前回の候補点のみに関して行う道路とのマッチングを行うための道路検索処理と、ステップ404のマッチング状態の前回の候補点のみに関して行う道路とのマッチングを行うための道路検索処理の詳細について説明する。
【0058】
まず、ステップ404の道路検索処理について説明する。
【0059】
図6に、ステップ404の道路検索処理の詳細を示す。
【0060】
この処理は、前回の直進処理または旋回終了処理で得られたマッチング状態の各候補点について、それぞれ行われる。
【0061】
この道路検索処理においては、まず、処理対象のマッチング状態の前回の候補点に対応して得られた仮想現在位置(A)の周辺の地図を、CD−ROM15から、ドライバ16およびDMAコントローラ23を介して読み出す(ステップ501)。
【0062】
そして、処理対象のマッチング状態の前回の候補点が位置するリンク、或いはこのリンクに接続されたリンクを選択して、これらを取り出す(ステップ502)。
【0063】
なお、前述したように、本実施例においては、道路データとして、図7に示すように、2点間を結ぶ複数のリンク51ないし55で近似し、それらリンクを、その始点と終点の座標によって表したものなどを用いている。たとえば、リンク53は、その始点(x3、y3)と終点(x4、y4)によって表現される。
【0064】
次に、ステップ502で取り出されたリンクの中から、そのリンクの方位が、修正した車両方位θcarと、所定値以内にあるリンクだけを選択し(ステップ503)、選択した取り出されたn個すべてのリンクに対して、仮想現在位置(A)から垂線をおろし、その垂線L(n)の長さを求める(ステップ504)。
【0065】
次に、これら垂線の長さに基づき、ステップ503で選択されたすべてのリンクに対して、以下の式によりに定義されるエラーコスト値ec(n)を算出する。
【0066】
ec(n)=α×|θcar−θ(n)|+β|L(n)|
ここでは、θcarは、仮想現在位置(A)における車両方位を表す。またθ(n)は、リンクの方位、L(n)は、仮想現在位置(A)からリンクまでの距離、すなわち垂線の長さ、αおよびβは、重み係数である。これら重み係数の値は、進行方向と道路の方位のずれと現在位置と道路のずれのどちらを、現在位置が、その上にある道路を選択する上で重視するかによって変化させてよい。たとえば、進行方向と方位が近い道路を重視する場合は、αを大きくするようにする。
【0067】
次に、算出されたエラーコストec(n)と、処理対象の前回の候補点の累算エラーコストesとにしたがって、下記の式により定義される、ステップ504で選択された各リンクの累算エラーコストes(n)を算出する(ステップ505)。
【0068】
es(n)=(1−k)×es+k×ec(n)
ここに、kは、0より大きく1より小さな重み係数である。この累算エラーコストes(n)は、前回以前の処理において算出されたエラーコストを、今回の処理において算出されるエラーコストにどのくらい反映させるかを表わしている。 さらに、算出された累算エラーコストes(n)に基づき、下記の式に定義される信頼度trst(n)を算出する(ステップ505)。
【0069】
trst(n)=100/(1+es(n))
上記式から明らかなように、累算エラーコストes(n)が大きくなるのにしたがって、信頼度trst(n)は減少し、0(ゼロ)に近づく。その一方、これが小さくなるのにしたがって、信頼度trst(n)は増大し、その値は、100に近づく。
【0070】
このような処理をすることにより、処理対象の前回の候補点の存在するリンクに接続し、かつ、リンクの方位が車両方位と近いn個のリンクに各々関連する信頼度trst(n)が求められる。
【0071】
ついで、処理対象の前回の候補点から、ステップ503で選択したn個の各リンクに沿って、車両の進行した距離Rに対応する長さだけ、それぞれ進めた点を新たな候補点とする(ステップ506)。したがって、ステップ503で選択されたリンクが複数(nが複数)ある場合には、n個の新たな候補点C(n)が生成されることになる。いいかえるならば、前回のマッチング状態の候補点の各々に対して複数の新たな候補点が生成される可能性がある。
【0072】
そして、ステップ503で選択したn個の各リンクの累算エラーコストes(n)を、当該リンクにそって距離R進めて求めた新たな候補点C(n)の累算エラ−コストとする。
【0073】
以上の処理によって順次候補点が求まっていくようすの一例を図8〜10に示しておく。
【0074】
図8に示すように、ある回の直進処理において、リンク61上に存在したある候補点62に対して、仮想現在位置(A)が、点63に示す位置に表わされるとする。このような場合に、仮想現在位置(A)から、候補点62が位置するリンク61に接続されたリンクであって、その方位と修正した車両方位θcarとの差が所定値以下であるようなリンク64、65を取り出し、現在位置Aから、リンク64、65までの距離L(1)、L(2)を算出するともに、算出された距離、リンク64、65の角度θ(1)、θ(2)および修正した車両方位θcarなどに基づき、関連するエラーコスト、累算エラーコスト、信頼度を算出する。さらに、先に求めた車両の進行距離Rに基づき、ある候補点62から、リンク61および64、或いは、リンク61および65に沿って、進行距離Rに対応する長さだけ進められた位置を算出し、この位置に対応する点を、それぞれ候補点66、67とする。
【0075】
次回の直進処理では、図9に示すように、リンク64上の候補点66に対して、新たな仮想現在位置(A)が、点71に示す位置に表わされ、その一方、リンク65上の候補点67に対して、新たな仮想現在位置(A’)が、点72に示す位置に表わされるとする。この場合には、仮想現在位置(A)から、リンク64に接続されたリンクであって、その方位と修正した車両方位との差が所定値以下であるようなリンク73、74を取り出すとともに、新たな仮想現在位置(A’)から、リンク65に接続されたリンクであって、その方位と修正した車両方位θcarとの差が所定値以下であるようなリンク75を取り出す。ついで、仮想現在位置(A)から、リンク73、74までのそれぞれの距離L1(1)およびL1(2)を算出するともに、仮想現在位置(A’)から、リンク75までの距離L2(1)を算出する。さらに、現在位置Aに関連して算出された距離、リンク73、74の角度θ1(1)およびθ1(2)ならびに修正した車両方位θcarなどに基づき、関連するエラーコスト、累算エラーコストおよび信頼度を算出するとともに、現在位置A’に関連して算出された距離、リンク75の角度θ2(1)および修正した車両方位θcarなどに基づき、関連
するエラーコスト、累算エラーコストおよび信頼度を算出する。
【0076】
さらに、車両の走行距離Rに基づき、候補点66から、リンク64および73、或いは、リンク64および74に沿って、若しくは、候補点67から、リンク65および75に沿って、車両の走行距離Rに対応する長さだけ進められた位置を算出し、この位置に対応する点を、それぞれ新たな候補点とする。図10は、このように新たに求められた候補点81ないし83を示している。
【0077】
さて、以上のような処理によって求められた候補点は全て道路上にマッチングされたマッチング状態の候補点である。
【0078】
一方、ステップ503で選択される、処理対象の前回のマッチング状態の候補点が位置するリンク或いは、これに接続されたリンクであって、その方位と修正した車両方位θcarとの差が所定値以下であるようなリンクが存在しない場合が考えられる。この場合には、仮想現在位置(A)を、ある候補点から算出された次の候補点とする。
【0079】
このような候補点は、道路上にマッチングされなかった候補点であり、フリー状態の候補点である。なお、ここで、ステップ505では、フリー状態の候補点には、エラーコストec(n)として、マッチング状態の候補点に与えられる可能性のあるエラーコストの値よりも大きな一定の値が与えられる。
【0080】
以上、図5のステップ404のマッチング状態の前回の候補点のみに関して行う道路とのマッチングを行うための道路検索処理の詳細について説明した。
【0081】
次に、図5のステップ403の前回の直進処理または旋回終了処理で得られた後述するフリー状態の候補点のみに関して、道路とのマッチングを行うための道路検索処理の詳細について説明する。
【0082】
図11に、このフリ−状態の前回の候補点に対する道路検索処理の処理手順を示す。
【0083】
この処理は、前回の直進処理もしくは旋回終了処理で求まったフリー状態の各候補点の、それぞれについて行われる。
【0084】
図示するように、この処理は、図6に示したマッチング状態の候補点に対する道路検索処理に類似している。
【0085】
これら二つの処理の間の相違は、道路検索処理においては、前回の車両の候補点を求める処理で得られた候補点が位置する線分、あるいは、これに接続する線分を取り出し、これら線分から、修正した車両方位θcarとの方位差が所定値内の線分を選択している(図6のステップ502、503)のに対して、フリー状態の候補点道路検索処理においては、仮想現在位置(A)を中心とする予め設定された距離D内にある線分をすべて抽出し、これら線分から、修正した車両方位θcarとの方位差が所定値内の線分を選択している(ステップ1202)点にある。
【0086】
すなわち、図5のステップ502、503の処理においては、単一の線分、或いは、分岐点から延びる幾つかの線分を取り出せばよいが、図12のステップ1102の処理においては、読み出された地図データに対応する地図中の道路データから、抽出すべき線分が決定される。
【0087】
また、このフリー状態の候補点に対する道路検索処理において、処理対象の前回のフリー状態の候補点に対する仮想現在位置(A)から所定の範囲D内に、その方位と車両の進行方位との差が所定値以下の線分が存在する場合には、仮想現在位置から当該線分におろされた垂線とこの線分との交点が、新たなマッチング状態の候補点となる。また、処理対象の前回のフリー状態の候補点に対する仮想現在位置(A)もフリ−状態の候補点となる。
【0088】
また、フリー状態の候補点に対する仮想現在位置(A)から所定の範囲D内に、その方位と車両方位θcarとの差が所定値以下の線分が存在しない場合には、仮想現在位置に対応する点のみがフリ−状態の候補点となる。
【0089】
各候補点のエラ−コストec、累積エラ−コストes、信頼度trstの求め方は、先にマッチング状態の候補点に対する道路検索処理において説明したものと全く同じである。
【0090】
以上、直進処理について説明した。
【0091】
以下、旋回開始処理、旋回中処理、旋回終了処理の各々の詳細について説明する。
【0092】
旋回開始処理の処理手順を図12に、旋回中処理の処理手順を図13に、旋回終了処理の処理手順を図14に示す。
【0093】
旋回開始処理、旋回中処理、旋回終了処理は、典型的には、直進処理−旋回開始処理−旋回中処理−旋回終了処理−直進処理といったように、直進処理と直進処理の間に、旋回開始処理−旋回中処理−旋回終了処理の順序で実行される。
【0094】
そこで、まず、先に説明した直進処理と、これらの旋回開始処理、旋回中処理、旋回終了処理が、どのように連結するかについて説明する。
【0095】
直進処理直後の旋回開始処理時には、前述したように直前の直進処理で求められた1または複数の候補点が存在している。
【0096】
旋回開始処理では、図12のステップ1201、1207、1208の処理によって、直前の直進処理で求められた各候補点について異なるiの値が与えられ、かつ、各候補点について、ステップ1206の処理が実行されるようにする。ステップ1206の処理では、各候補点の座標や累積エラ−コストesやフリ−状態の候補かマッチング状態の候補かの情報を、旋回基準点の情報P0(i)として記憶する。P0(i)のiは、その候補点に与えられたiの値を示す。
【0097】
また、この後、図12のステップ1209で、修正した車両方位角θcarに基づいて、直前の直進処理以降の車両のX方向の移動距離とY方向の移動距離を求め、それぞれ、dx、dyとする。なお、図12のステップ1209中のltは、直前の直進処理が実行されてからの車両の進行距離を表している。
【0098】
一方、旋回中処理では図13のステップ1333で、dx、dyに、順次車両の移動距離を、dx、dyが常に直前の直進処理以降の車両のX方向の移動距離とY方向の移動距離を表すように、蓄積していく。
【0099】
これらの処理により、旋回終了処理の実行時には、dx、dyは直前の直進処理から旋回終了処理までの車両のX方向の移動距離とY方向の移動距離を表していることになる。
【0100】
さて、旋回終了処理では、旋回開始処理で旋回基準点の情報として記憶したP0(i)として記憶した、直前の直進処理で求められた候補点の座標や累積エラ−コストesやフリ−状態の候補かマッチング状態の候補かの情報を順次読みだし、フリ−状態の候補点であった旋回基準点については(ステップ1401の判定がNoの場合)、その候補点のX、Y座標に、dx、dyを加算した座標を求め、この座標の点を新たなフリ−状態の候補点とする。また、この候補点のエラ−コストec、累算エラーコストes、信頼度trst(n)を前述した直進処理におけるフリ−の候補点についてのエラ−コストec、累積エラ−コストes、信頼度trstの求め方と同じ方法によって求める(ステップ1417)。ただし、累積エラ−コストesの計算に用いる前回の累積エラ−コストesとしては、P0(i)に記憶した累積エラ−コストes、すなわち、旋回基準点である候補点の累積エラ−コストesの値を用いる。
【0101】
また、マッチング状態の候補点であった旋回基準点については、まず、当該旋回基準点についての旋回候補リンクを順次抽出し(ステップ1413)、その旋回候補リンクの方位が現在の車両方位θcarとの差の絶対値が所定のしきい値θthb以下であるかを判定する(ステップ1403)。ここで、旋回候補リンクとは、旋回基準点であるマッチング状態であった候補点が存在したリンクに接続するリンクのうちの、後述する旋回中の処理により現在位置が存在する可能性のあるリンクとして選択されているリンクである。この旋回候補リンクについては後に詳述する。
【0102】
そして、このマッチング状態であった候補点について、旋回開始処理で旋回基準点の情報として記憶したP0(i)に記憶したX、Y座標に、dx、dyを加算した座標を求め(ステップ1405)、この座標の点から、方位が現在の車両方位θcarとの差の絶対値が所定のしきい値θthb以下であった各旋回候補リンクに垂線を降ろし、この垂線の長さが所定のしきい値Lth以下であれば(ステップ1407)、この垂線の足の位置(垂線の線旋回候補リンクの交点)を新たなマッチング状態の候補点とし、そのエラ−コストec、累積エラ−コストes、信頼度を、前述した直進処理におけるマッチグ状態の候補点についてのエラ−コストec、累積エラ−コストes、信頼度trstの求め方と同じ方法によって求める。ただし、累積エラ−コストesの計算に用いる前回の累積エラ−コストesとしては、P0(i)に記憶した累積エラ−コストes、すなわち、旋回基準点である候補点の累積エラ−コストesの値を用いる。なお、方位が現在の車両方位θcarとの差の絶対値が所定のしきい値θthb以下であり、かつ、その旋回候補リンクに降ろした垂線の長さが所定のしきい値Lth以下である垂線が全く存在しない場合も考えられるが、この場合には、フリ−状態の候補点であった旋回基準点と同様に扱い、旋回開始処理で旋回基準点の情報として記憶したP0(i)に記憶したX、Y座標に、dx、dyを加算した座標の点を新たなフリ−状態の候補点とするようにする(ステップ1412)。
【0103】
そして、全ての旋回基準点について以上の処理が終了したら(ステップ1413)、旋回候補リンクを全て削除し(ステップ1415)、以上で生成した新たな候補点の中から最も信頼度の高い候補点を表示候補点として選択し、この候補点の座標を表示候補点の座標として出力する(ステップ1417)。また、直進処理における場合(図5ステップ407)と同様に、θ1/2を求める(ステップ1419)。
【0104】
結果、旋回終了処理の終了時には、直進処理終了時と同様に1または複数の候補点が求まる。したがい、この直後の直進処理では、これらの候補点を前回の候補点として処理を行うことができる。
【0105】
なお、旋回開始処理、旋回中処理、旋回終了処理は、直進処理−旋回開始処理−旋回中処理−旋回終了処理−旋回開始処理−旋回中処理−旋回終了処理−直進処理といったように、直進処理と直進処理の間に、旋回開始処理−旋回中処理−旋回終了処理の順序で複数回実行されることもある。この場合には、2回目の旋回開始処理では、直前の旋回終了処理で求められた各候補点を前回の候補点として前述した処理を同様に行う。
【0106】
また、旋回終了処理において求める新たな候補点のエラ−コストecの値には、dx、dyより求まる旋回開始処理後の車両の移動距離を反映するするようにしてもよい。すなわち、移動距離が大きければ大きいほど、誤差等が蓄積し、旋回終了位置で適正な候補点が求まる確率は低下すると考え、移動距離が大きければ大きいほど信頼度が低下するよう、移動距離が大きければ大きいほどエラ−コストecが大きくなるようにしてもよい。
【0107】
以上、先に説明した直進処理と、これらの旋回開始処理、旋回中処理、旋回終了処理が、どのように連結するかについて説明した。
【0108】
以下、旋回中処理において出力される表示候補点と、旋回開始処理、旋回中処理によって求められる前述した旋回候補リンクについて説明する。
【0109】
まず、以下の説明で用いるパラメ−タについて図15を用いて説明する。
【0110】
旋回開始処理、旋回中処理では、後述するように旋回開始点という点をリンク上設定する。そして、旋回開始処理では、旋回開始点が存在するリンクと当該リンクに直接または間接的に接続する所定範囲内のリンクとを旋回候補リンクとして抽出する。また、旋回中処理では、旋回開始点が存在するリンクの車両走行方向上前方に接続するリンクを旋回候補リンクとして抽出する。そして、各旋回候補リンクに対して、接続点距離l_cn、旋回開始車両方位θlst、旋回候補リンク長l_len、リンク相対角度la_re、旋回リンク方位la、旋回候補リンク上走行距離l_run、旋回候補リンク有効距離l_efを定義する。
【0111】
図15に示すように、旋回開始車両方位θlstは、その旋回候補リンクを求める基準となった旋回開始点を求めた時点の車両方位を表し、旋回候補リンク長l_lenは、その旋回候補リンクの長さを表し、旋回候補リンク方位laは、その旋回候補リンクの方位を表す。また、リンク相対角度la_reは、その旋回候補リンクの方位laと、その旋回候補リンクに対応する旋回開始点が位置するリンクの方位との差を表す。また、旋回候補リンク上走行距離l_runは、その旋回候補リンクを求める基準となった旋回開始点から、その旋回開始候補リンクへと車両が走行したと仮定した場合に、現在車両が、その旋回候補リンク上を走行したと考えられる距離を表す。また、旋回候補リンク有効距離l_efは、その旋回候補リンクを求める基準となった旋回開始点を求めた時点からの走行距離を表す。
【0112】
以下、旋回開始処理、旋回中処理によって、どのように旋回候補リンク、表示候補点が求められていくかについて、図16を参照しながら説明する。
【0113】
旋回開始処理では、まず、現在存在する候補点(直前の直進処理もしくは旋回終了処理で求められた候補点)のうちの、マッチング状態の各候補点について図12に示すように以下の処理を行う。
【0114】
すなわち、そのマッチング状態の候補点を、その候補点が求められてから走行距離分リンク上で進めた位置を旋回開始点として、その旋回開始点の位置するリンクと、当該リンクに直接または間接的に接続する所定範囲内のリンクを全て旋回候補リンクとして抽出し(ステップ1203、1205)、各旋回候補リンクについて、旋回開始車両方位θlst、旋回候補リンク長l_len、リンク相対角度la_re、旋回リンク方位laを算出し、抽出した各旋回リンクに対応させて、算出した旋回開始車両方位θlst、旋回候補リンク長l_len、リンク相対角度la_re、旋回候補リンク方位laを記憶する。
【0115】
また、前述したステップ1206の旋回開始基準点の情報Po(i)の記憶の際に、その旋回基準点に対応するマッチング状態の候補点について行われたステップ1203〜1205で生成された旋回候補リンクを表す情報を、その旋回基準点に対応づけて記憶する。
【0116】
以上の処理によって、図16に示すように、マッチング状態の候補点Aに対して、旋回開始点Cや、3つの旋回候補リンク、すなわち、旋回開始点Cが位置するリンクとリンクD、Eが求まることになる。走行上車両の後方のリンクも選択するのは、マッチング状態の候補点Aの位置の進みすぎや遅れがある可能性があることを考慮したものである。
【0117】
なお、旋回開始処理では表示候補点の座標等は出力されない。
【0118】
次に、旋回中処理では、図13に示すように、その時点で存在する各旋回候補リンクについて(ステップ1329)、以下の処理を行う。
【0119】
すなわち、まず、その時点の車両方位θcarと旋回開始車両方位θlstとの差を求め、これをanglとし(ステップ1305)、リンク相対角度la_reが正であってanglがリンク相対角度la_reの1/2より小さくなったか(ステップ1307、1335)、リンク相対角度la_reが負であってanglがリンク相対角度la_reの1/2より大きくなったか(ステップ1307、1309)を判定し、いずれかであれば、車両が、その旋回候補リンクと当該旋回候補リンク求める基準となった旋回開始点が位置するリンクとの接続点に既に達していると考え、旋回候補リンク上走行距離l_runに、2mを加算し、当該接続点を通過してからの距離を表すように更新する(ステップ1311)。ここで、ステップ1307、1309または1335を満たしてから、旋回候補リンク上走行距離l_runの計数を開始するのは、次の理由によるものである。すなわち、道路地図においては、リンクによってカ−ブ等の形状が直線で近似されているため、実際の道路形状は、リンクと次のリンクの接続点の位置で、そのリンクの方位と、その次のリンクの方位の中間の方位を向いた形状に近似した形状であろうと推定できるため、この中間の方位を車両が向いた時点で、その旋回候補リンクへの接続点に車両が到達したものと推定するのである。
【0120】
さて、ステップ1312で旋回候補リンク上走行距離l_runを更新したら、次に、旋回候補リンク上走行距離l_runが、旋回候補リンク長l_lenの1/2を超えたかを判定し(ステップ1312)、超えていれば、さらに、その時点の車両方位θcarと旋回候補リンク方位laの差の絶対値が所定値θthc以下かを判定し、所定値以下であれば、その旋回候補リンクの中点を、新たな旋回開始点として、旋回開始処理における場合と同様に新たに旋回候補リンクを生成する処理を行う。すなわち、旋回開始点の位置するリンクに車両の進行方向上前方に直接接続する全てのリンクを旋回候補リンクとして抽出し(ステップ1317、1321)、各旋回候補リンクについて、旋回開始車両方位θlst、旋回候補リンク長l_len、リンク相対角度la_re、旋回リンク方位laを算出し、抽出した各旋回リンクに対応させて、算出した旋回開始車両方位θlst、旋回候補リンク長l_len、リンク相対角度la_re、旋回候補リンク方位laを記憶する。また、この生成した旋回候補リンクを表す情報を、当該旋回候補リンクが生成する元となった旋回候補リンクが対応付けられている旋回開始基準点に対応づけて記憶する。この対応は、前述した旋回終了処理で、各旋回基準点に対応する旋回候補リンクを抽出する際に用いられる。
【0121】
さて、このように、本実施例では、図17に示すように、車両の方位が、車両が旋回を開始したと推定される位置が存在するリンクKの方位と、このリンクが接続する次のリンクLの方位の中間の方位以下の方位となった後に、次のリンクLを走行していると仮定した場合に車両が次のリンクの中点に達する距離分走行したならば、車両方位とリンク方位の差を求め、これが所定値以下であれば、この次のリンクLの中点Mに相当する位置に達しているものと推定し、この中点の位置Mを現在位置として求める。
【0122】
ここで、このように車両の方位と、接続する2つのリンクの中間の方位を比較するのは、前述したように、道路地図においては、リンクによってカ−ブ等の形状が直線で近似されているため、実際の道路形状は、リンクと次のリンクの接続点の位置で、そのリンクの方位と、その次のリンクの方位の中間の方位を向いた形状に近似した形状であろうと推定できるため、この中間の方位を車両が向かない限り、この次のリンク上に車両が進んだとは考えられないでからある。
【0123】
また、車両がリンクの中点に到達する距離を走行した時点で、リンクの方位と車両の方位の差を求めるのは、もし、このリンクに車両が進んでいれば、車両がリンクの中点に到達する距離を走行した時点で車両は、このリンクの中点に対応する現実の道路の位置にあり、かつ、リンクの中点付近が現実の道路との方位誤差が最も小さいと考えられるため、この位置では車両方位とリンク方位が近い値となると考えられるためである。
【0124】
さて、旋回中処理では、ステップ1315の処理によって、求められた旋回開始点の座標はステップ1330で表示候補点の座標として出力する。ただし、ステップ1315は、条件を満たす複数の旋回候補リンクに対して実行される場合があるので、この場合には、初めに求まった旋回開始点の座標を表示候補点の座標として出力する。また、この表示候補点の存在する道路とセンサ出力の車両方位θsより前述したようにθ1/2を算出する(ステップ1332)。また、いずれの旋回候補点を条件を満たさずに、ステップ1315において全く新たな旋回開始点が生成されなかった場合には、表示候補点の座標を出力しない。また、θ1/2も更新しない。
【0125】
さて、このようにして、旋回中処理では、順次、旋回開始点を旋回候補リンクの中点に設定しながら、旋回候補リンクを求め、旋回開始点を表示候補点としていく。また、もはや、車両が存在する可能性のない旋回候補リンクの削除を次のように行っている。
【0126】
すなわち、ステップ1323において、旋回中処理を実行する度に、ステップ1309または1335、1312を満たさない旋回候補リンクやステップ1315で中点に新たな旋回開始点が設定された旋回個補リンクについて、旋回候補リンク有効距離l_refに2mを加算し、その旋回候補リンクを求める基準となった旋回開始点を求めた時点からの走行距離を表すように加算し(ステップ1323)、この旋回候補リンク有効距離l_refが100mを超えたならば、この旋回候補リンクの情報を削除する。すなわち、先に旋回開始基準点に対応付けて記憶した、この旋回候補リンクを表す情報や、この旋回候補リンクについての各パラメ−タを消去する。これは、100m間走行しても、ステップ1309または1335を満たさない旋回候補リンクには、車両が進んでいないと考えられるからである。また、ステップ1315で、中点に旋回開始点が設定されたリンクについても、もはや不要であるので、その旋回候補リンクが生成されてから100m間走行した時点で消去するようにしたものである。
【0127】
また、ステップ1309または1335、1312を満たしながら、車両方位とリンク方位の差が所定値より大きい、すなわち、ステップ1313を満たさない旋回開始候補リンクについては、リンクの中点付近が車両方位とリンク方位が最も近くなると考えられるのに、この点においてもしきい値以上方位差が大きいのであるから、この旋回候補リンクに車両が存在する可能性がないと考え、即座に削除している。
【0128】
以上、旋回開始処理、旋回中処理において生成される旋回候補リンク、旋回中処理において出力される表示候補点について説明した。なお、以上説明してきたように、旋回開始処理、旋回中処理において生成される旋回開始点や、旋回中処理において出力される表示候補点は、この後に行われる旋回終了処理には何の影響もあたえず、旋回基準点と、移動距離dx、dyと、最後まで削除されずに生き残った旋回候補リンクのみが旋回終了処理において用いられていることに留意されたい。
【0129】
以上、旋回開始処理、旋回中処理、旋回終了処理について説明した。
【0130】
以下、残る表示処理について説明する。
【0131】
図18に、表示処理の処理手順を示す。
【0132】
本処理は、1秒毎に起動され実行されるマイクロプロセッサ24のルーチンである。
【0133】
この処理では、最初、スイッチ14が押圧により地図の縮尺の変更を指示されているかを、パラレルI/O21の内容を見て判断する(ステップ1801)。もし、押されていれば(ステップ1801でYes)、それに対応して、所定の縮尺フラグを設定する(ステップ1802)。
【0134】
次に、直進処理、旋回中処理、旋回終了処理から出力される表示候補点の座標に、前述したようにθ1/2を用いて修正した車両方位θcarと走行距離から求まる、当該表示候補点の座標が出力されてからの車両の移動量を加算した座標を現在位置(B)とし、現在位置(B)およびを含む地図を読みだし(ステップ1803)、ステップ1802で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ17に、例えば、図2に示すような状態で表示する(ステップ1804)。
【0135】
そして、地図に重畳して、現在位置(B)の位置および現在の車両方位θcarを、たとえば、先に示した図2のように、矢印記号“↑”を用いて表示する(ステップ1805)。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図2のように表示する(ステップ1806)。
【0136】
結果、旋回中処理においては、たとえば、図19に示すように、旋回開始点Gをスタ−ト位置として仮定して描いた車両の走行の軌跡(破線)に対して、リンクの中点毎に、現在位置の表示がリンク上に引き込まれるような表示が成されることになるので、リンクからかけ離れた位置に現在位置を示すマ−クが表示されてしまうことを防げることができることになる。また、さらに、θ1/2を用いてセンサ出力の車両方位θsを、より車両方位と道路方位が近くなるように修正した車両方位θcarによって現在位置を求め表示するので、より道路に近い位置に現在位置が表示されていくことになる。
【0137】
以上、本発明の実施例について説明した。
【0138】
なお、以上の処理では直進処理においても、修正した車両方位θcarを用いたが、直進処理においてはセンサ出力の車両方位θsを直接用いるようにしてもよい。この場合は、直進処理期間中、すなわちdir_f=0の期間中は、表示処理においても、車両方位θcarに代えてセンサ出力の車両方位θsに基づいて現在位置(B)を求めるようにする。
【0139】
旋回判定処理における、旋回開始、旋回中、旋回終了、直進の判定も、修正した車両方位θcarに代えてセンサ出力の車両方位θsに基づいて判定を行うようにしてもよい。
【0140】
また、θ1/2=(θs−θl)/2によって求める代わりに、θ1/2=(θcar−θl)/2+θ1/2’によって求めるようにしてもよい。θ1/2’は、それまでのθ1/2である。このようにすると、車両方位θcarと現実の車両方位との誤差中に含まれる、定常的なセンサ誤差やの影響を0に近付け、漸次、地図上の道路方位に車両方位を近付けていくことができる。また、道路地図が誤っている場合でも、漸次、地図上の道路方位に車両方位θcarを近付けていくことができる。
【0141】
なお、以上の実施例で示した20m等の数値等は、全て例示であり、かならずしも、これに限られるものはない。また、本明細書において、手段とは、必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウエアによって実現される場合も包含する。また、一つの手段の機能が二以上の物理的手段により実現されても、二以上の手段の機能が一つの物理的手段により実現されてもよい。
【0142】
【発明の効果】
以上のように、本発明によれば、カ−ブにおいても、走行している道路を推定し、推定した道路に近い位置に現在位置を表示することのできる現在位置算出装置を提供することができる。
【図面の簡単な説明】
【図1】図1は、本発明の実施例にかかる現在位置算出装置の構成を示すブロックダイヤグラムである。
【図2】図2は、本実施例にかかる地図および現在位置の表示例を示す図である。
【図3】図3は、旋回判定処理、旋回開始処理、旋回中処理、旋回終了処理を起動する処理の処理手順を示すフローチャートである。
【図4】図4は、旋回判定処理の処理手順を示すフローチャートである。
【図5】図5は、直進処理の処理手順を示すフローチャートである。
【図6】図6は、マッチング状態の候補点の道路検索処理の処理手順を示すフローチャートである。
【図7】図7は、道路地図上の道路の表現形式を説明するための図である。
【図8】図8は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図9】図9は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図10】図10は、道路に対応する線分、仮想現在位置および候補点を説明するための図である。
【図11】図11は、フリ−状態の候補点の道路検索処理の処理手順を示すフローチャートである。
【図12】図12は、旋回開始処理の処理手順を示すフローチャートである。
【図13】図13は、旋回中処理の処理手順を示すフローチャートである。
【図14】図14は、旋回終了処理の処理手順を示すフローチャートである。
【図15】図15は、旋回開始処理、旋回中書医で用いる各種パラメ−タの意味を表す図である。
【図16】図16は、旋回候補リンクの生成のようすを示す図である。
【図17】図17は、旋回中処理による旋回開始点設定のようすを示す図である。
【図18】図18は、現在位置表示処理の処理手順を示すフローチャートである。
【図19】図19は、現在位置表示処理の処理によって、旋回中の現在位置が表示されていくようすを示す図である。
【図20】図20は、カ−ブをリンクで近似した道路地図を表す図である。
【符号の説明】
10 現在位置算出装置
11 角速度センサ
12 方位センサ
13 車速センサ
14 スイッチ
15 CD−ROM
16 CD−ROM読み取りドライバ
17 ディスプレイ
18 コントローラ
[0001]
[Industrial applications]
The present invention relates to a current position calculation device that is mounted on a moving object such as a vehicle and measures a traveling distance, a traveling direction, and the like of the moving object, and thereby calculates a current position of the moving object.
[0002]
[Prior art]
In a conventional current position calculating device that calculates the current position of a vehicle traveling on a road, the current position of the vehicle is determined by a traveling direction of the vehicle measured by a direction sensor such as a gyro and a vehicle measured by a vehicle speed sensor or a distance sensor. Is calculated based on the traveling distance of the vehicle.
[0003]
The traveling distance of a vehicle is generally measured by measuring the output shaft of a transmission or the number of rotations of a tire, and multiplying the number of rotations by a distance coefficient which is a distance that the vehicle travels per rotation of the tire. Is required by
[0004]
Further, as described in JP-A-63-148115, a road within a predetermined range centered on the current position of the vehicle determined based on the traveling distance and the azimuth change amount is extracted from the road map, and the estimated position is extracted. A technique is known in which the current position is corrected on the road having the highest correlation based on the correlation between the roads, thereby correcting an error in the current position obtained from the traveling direction and the traveling distance of the vehicle. In addition, as the correlation between the estimated position and the road, the distance between the estimated position and the road, or the difference between the traveling direction of the vehicle and the direction of the road is often used.
[0005]
According to the so-called map matching technique of correcting the obtained current position of the vehicle so as to match such a road, the accuracy of the current position calculation can be improved.
[0006]
[Problems to be solved by the invention]
Since the above-described map matching technique corrects the current position based on a road map, it is assumed that the road map is accurate.
[0007]
On the other hand, a road map used in a current position calculation device applied to a car navigation system or the like usually expresses the position and shape of a road by a combination of straight links as shown in FIG. Therefore, in many cases, such as a curve of a road (curved portion), the actual road shape b is not correctly represented as shown in FIG. At such a point, since the road map does not accurately represent the actual road shape, the distance between the estimated position and the road, and the difference between the heading of the vehicle and the direction of the road are correlated with the estimated position and the road. If the map matching technique used as the above is applied, the current position may be found on the wrong road.
[0008]
On the other hand, the following problem also occurs when the current position of the vehicle determined based on the travel distance and the azimuth change amount is used as it is without applying the above-described map matching technique.
[0009]
That is, in general, the car navigation system displays a road map around the obtained current position together with a mark indicating the current position on the road map in order to inform the driver of the obtained current position. . However, when the above-described map matching technique is not applied, the mark indicating the current position is not always displayed on the road. In particular, when the road map does not accurately represent the actual road shape in a curve or the like, the current position is indicated even if the current position of the vehicle obtained based on the traveling distance and the azimuth change amount is correct. The mark may be displayed at a position far away from the road on the road map corresponding to the traveling road. Such a display is extremely unnatural for the driver, since a remote position outside the road is displayed as the current position even though the vehicle is traveling on the road. Also, the driver may not be able to grasp the current position.
[0010]
Therefore, an object of the present invention is to provide a current position calculating device capable of displaying the current position at a position close to a road even on a curve.
[0011]
[Means for Solving the Problems]
To achieve the above object, the present invention is a current position calculation device mounted on a vehicle and calculating a current position of the vehicle,
An azimuth detecting means for detecting a headed direction of the vehicle,
A distance measuring means for measuring a travel distance of the vehicle,
Map storage means for storing a road map,
Traveling direction correcting means for correcting the traveling direction of the vehicle detected by the direction detecting means,
Using the travel distance of the vehicle measured by the distance measurement means, the traveling direction of the vehicle detected by the direction detection means, and the road map stored in the map storage means, Current position calculating means for sequentially calculating the position,
State determination means for determining whether or not the vehicle is turning;
On the basis of the current position of the vehicle calculated by the current position calculating means includes a display means for displaying the current position of the vehicle with a road map read from said storage means,
The current position calculation means,
If it is determined by the state determination means that the vehicle is not in a turning state, the provisional current position is estimated from the current position calculated last time and the traveling azimuth and the traveling distance of the vehicle, and the estimated provisional current position is calculated. This current position is calculated on the road link by the map matching process by comparing with the road map,
When it is determined that the vehicle is in a turning state by the state determination unit, a road link in which the current position calculated last time is present and a road link connected forward in the traveling direction of the vehicle are specified and specified. For each of the road links, the direction corresponding to the distance from the current position calculated last time to the point of interest set near the midpoint of the road link is calculated when the vehicle has traveled since the previous current position was calculated. Calculating the difference between the direction of travel of the vehicle detected by the means and the direction of the road link, calculating the point of interest of the road link whose difference is equal to or less than a predetermined value as the current position of this time,
The heading correction means,
The amount the current position calculating unit according to the difference between the heading of said vehicle detected by said azimuth detecting means when calculating the current position and orientation of the road link in which the current position is present, or, of the difference A current position calculation device is provided, which corrects an amount according to an actual result and a traveling direction of the vehicle detected by the direction detecting means in a direction in which the difference decreases.
[0012]
[Action]
According to the current position calculating device according to the present invention, the traveling direction correcting means is configured to determine the traveling direction of the vehicle detected by the direction detecting means when the current position calculating means estimates the current position and the estimated direction of the road. The difference, or an amount corresponding to the actual result of the difference, and the traveling direction of the vehicle detected by the direction detecting means are corrected in a direction in which the difference decreases.
[0013]
Accordingly, the current position calculated based on this is a position closer to the road. Accordingly, the current position can be displayed at a position close to the road on a curve or the like.
[0014]
【Example】
Hereinafter, examples of the present invention will be described.
[0015]
FIG. 1 is a block diagram showing the configuration of the current position calculating device according to the embodiment of the present invention. As shown in FIG. 1, the current position calculating device 10 includes an angular velocity sensor 11 that detects a change in a traveling direction by detecting a yaw rate of a vehicle, and a geomagnetic sensor 12 that detects a traveling direction of a 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 transmission of the vehicle.
[0016]
The display 17 displays a map around the current position, a mark indicating the current position, and the like; a switch 14 that receives a command to switch the scale of the map displayed on the display 17 from the driver (driver); and stores digital map data. And a driver 16 for reading map data from the CD-ROM 15. Further, a controller 18 for controlling the operation of each peripheral device described above is provided. In the present embodiment, the digital map data described above includes road data composed of coordinates indicating the ends of a plurality of links, or road width data indicating the road width of the road, and the road is an expressway or a general road. A highway flag that indicates whether or not a highway is included.
[0017]
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 geomagnetic sensor 12 into a digital signal, and a vehicle speed sensor. A counter 26 that counts the number of pulses output from the switch 13 every 0.1 second, a parallel I / O 21 that inputs the presence or absence of pressing of the switch 14, and a DMA that transfers map data read from the CD-ROM 15 ( It has a Direct Memory Access controller 22 and a display processor 23 for displaying a map image on the display 17.
[0018]
The controller 18 further has a microprocessor 24 and a memory 25. The microprocessor 24 includes a signal of the angular velocity sensor 11 obtained through the A / D converter 19, a signal of the geomagnetic sensor 12 obtained through the A / D converter 20, and an output pulse of the vehicle speed sensor 13 counted by the counter 26. The number, the presence or absence of pressing of the switch 14 input through the parallel I / O 21, the map data from the CD-ROM 15 obtained through the DMA controller 22 are received, and the processing is performed based on these signals, and The current position is calculated and displayed on the display 17 via the display processor 23. The display of the vehicle position is performed by superimposing an arrow mark or the like on the map already displayed on the display 17 as shown in FIG. Thereby, the user can know the current position of the vehicle on the map. The memory 25 includes a ROM storing a program for defining the contents of processing (described later) for realizing such an operation, and a RAM used as a work area when the microprocessor 24 performs processing. I have.
[0019]
Hereinafter, the operation of the current position calculating device 10 configured as described above will be described. The operation of the device 10 is, roughly speaking, a current position determination process for determining a display candidate point representing the current position of the vehicle from the traveling direction and distance of the vehicle, and a display for displaying the obtained current position and direction of the vehicle. Since these processes can be divided into two processes, these will be sequentially described.
[0020]
First, the current position determination processing for determining the current position of the vehicle from the traveling direction and the distance of the vehicle will be described.
[0021]
This process is composed of a plurality of processes, of which the main processes are the following four processes.
[0022]
That is, a turn determination process that determines whether the vehicle is traveling straight, starts turning, is turning, or has finished turning every time the vehicle travels 2 m. When the vehicle is traveling straight, the 20 m vehicle travels. A straight-ahead process performed each time the vehicle starts turning, a turning start process performed when the vehicle starts turning, a turning process performed each time the vehicle travels 2 m when the vehicle is turning, and a process performed when the vehicle finishes turning. The turning end process is the main process.
[0023]
Hereinafter, each process performed by the microprocessor 214 will be described.
[0024]
First, FIG. 3 shows a processing procedure of processing performed every time the vehicle travels 2 m.
[0025]
In this process, first, map data is read (step 301), and a turning determination process is performed (step 302). In the turn determination process, as described later, dir_f is set to 0 when the vehicle is traveling straight, dir_f is set to 1 when the vehicle starts turning, and dir_f is set to 2 when the vehicle is turning, and the turn is ended. In this case, dir_f is set to 3.
[0026]
Therefore, in steps 303, 304, and 305, the traveling state of the vehicle is determined from the value of dir_f. If dir_f is 1, a turn start process is performed (step 306). If dir_f is 2, a turn-in-process is performed. (Step 308), and if dir_f is 3, turn completion processing is performed (step 307).
The straight traveling process described above is executed each time the 20 m vehicle travels when dir_f is 0 as described later.
[0027]
Next, the turning determination processing in step 301 will be described.
[0028]
FIG. 4 shows a processing procedure of the turning determination processing.
[0029]
In this process, as described above, it is determined whether the vehicle is traveling straight, has started turning, is turning, or has finished turning.
[0030]
In this process, first, dir_f is set to 0 indicating straight ahead.
[0031]
In the following processing, the start of the turn, the turning, and the end of the turn are determined by using the vehicle direction θn. However, in the following processing, the corrected vehicle direction θcar = θs−θ1 / 2 is used as the vehicle direction without directly using the vehicle direction θs output from the sensor as the vehicle direction (steps 1520 and 1507). Here, θ1 / 2 is obtained and updated in each of the turning process, the turning end process, and the straight traveling process, as described later. In the turning process, the turning end process, and the straight-ahead process, the display candidate points are obtained as described later. In this process, θ1 / 2 is used in these processes to determine the sensor output at the time when the display candidate points are obtained. It is determined as the vehicle direction θs and 道路 of the road direction where the display candidate point exists. However, when the display candidate point does not exist on the road (when a free state candidate point described later is selected as a display candidate point), θ1 / 2 is set to 0. The vehicle direction θs output from the sensor indicates a vehicle direction obtained based on the output values of the geomagnetic sensor 12 and the angular velocity sensor 11.
[0032]
The vehicle direction represented by θcar = θs−θ1 / 2 is obtained by correcting the vehicle direction to a direction closer to the road. That is, considering that the difference between the vehicle azimuth output from the sensor and the azimuth of the road may be caused by a sensor error or the like due to the magnetization of the vehicle body, by reducing θ1 / 2, the vehicle output of the sensor is reduced. The azimuth θs is corrected so that the azimuth difference between the vehicle and the road is small to some extent.
[0033]
Now, when dir_f is set to 0 indicating straight ahead (step 1501), the vehicle direction θ6 is obtained, and the absolute value θd of the difference between this vehicle direction and the average θave of the past six vehicle directions θ0 to θ5 is a predetermined threshold. If the number of times cnt that is equal to or less than the value θth and the absolute value θd of the difference is continuously equal to or less than the threshold value θth up to the present is greater than a predetermined threshold value cntth, it is determined that the vehicle is traveling straight (step 1510). ), And dir_f is kept at 0 indicating straight ahead.
[0034]
If the absolute value θd of the difference is larger than the predetermined threshold value θth and the number of times cnt in which the absolute value θd of the difference has continuously been equal to or smaller than the threshold value θth is larger than the predetermined threshold value cntth, the turning is started. (Step 1511), and dir_f is set to 1 representing the start of turning (step 1516).
[0035]
Also, when the absolute value θd of the difference is larger than the predetermined threshold value θth and the number of times cnt in which the absolute value θd of the difference is continuously equal to or smaller than the threshold value θth up to the present is equal to or smaller than the predetermined threshold value cntth, or In the case where the number of times cnt in which the absolute value of the difference θd is smaller than the predetermined threshold value θth and the absolute value of the difference θd is continuously equal to or smaller than the threshold value θth up to the present does not reach the predetermined threshold value cntth, It is determined that the vehicle is turning (step 1512), and dir_f is set to 2 indicating that the vehicle is turning (step 1515).
[0036]
When the number of times cnt in which the remaining absolute value θd of the difference is equal to or smaller than the predetermined threshold value θth and the absolute value of the difference θd is continuously equal to or smaller than the threshold value θth up to the present time is equal to the predetermined threshold value cntth, Is determined to be the end of the turn, and dir_f is set to 3 representing the end of the turn (step 1514).
[0037]
That is, the number of times (cnt) in which the absolute value (θd) of the difference between the vehicle direction and the average (θave) of the past six vehicle directions (θ0 to θ5) is equal to or smaller than the predetermined value (θth) is equal to or larger than the predetermined number (cntth + 1) If it is determined that the vehicle is going straight ahead, and if the absolute value (θd) of the next difference is equal to or less than the predetermined value (θth), it is determined that the turn is to be completed when it can be determined that the vehicle is going straight ahead the next time. If the absolute value (θd) of the current difference is equal to or smaller than the predetermined value (θth), the absolute value (θd) of the current difference is equal to or larger than the predetermined value (θth) even though it is determined that the vehicle is traveling straight. It is determined that the turn has started when the vehicle has been turned.
[0038]
Now, if map matching is performed when the vehicle direction is not stable, an inappropriate current position may be calculated, or the current position may not be calculated properly. However, in the present embodiment, whether the vehicle is going straight or turning is determined by whether or not the absolute value of the difference between the vehicle direction and the average of the vehicle directions for a certain distance in the past is equal to or less than a certain value and is stable for a certain distance or more. Therefore, only when the vehicle azimuth is stable (only when it is determined that the vehicle is traveling straight), it is possible to execute the later-described traveling process and calculate the current position by map matching.
[0039]
In FIG. 4, steps 1520, 1521, and 1502 are processes for accumulating the vehicle azimuth θcar in the order of θ0 to θ5 until the number of vehicle azimuths becomes six immediately after the activation of the present apparatus. This is a process that will not be executed if six are accumulated. Note that n is initialized to 0 at the time of startup.
[0040]
Next, steps 1503 to 1507 and 1520 delete the θ0 of the seven vehicle directions θ0 to θ5 stored at that time, shift θ1 to θ5 one by one, and change θ1 to θ5 to new θ0 to θ4. In this process, the current sensor output vehicle direction θs is fetched, and the corrected vehicle direction is set as a new θ5.
[0041]
Next, step 1508 is a process for obtaining the average value θave of the corrected vehicle azimuths (θ0 to θ5) for the past six times, and step 1509 is a process of calculating the current corrected vehicle azimuth θn and the vehicle azimuth obtained in step 1508. This is a process for obtaining the absolute value θd of the difference.
[0042]
Then, as described above, steps 1510 to 1510 are processing for determining straight traveling, turning start, turning, and turning end, and determining the value of dir_f.
[0043]
Finally, steps 1517 to 1519 are processing for counting the number of consecutive times cnt of the absolute value θd of the difference equal to or smaller than the threshold value θth up to the present. The continuation number cnt obtained here is used in the next turn determination process to determine the straight running, the start of the turn, the turning, and the end of the turn as described above.
[0044]
As described above, every time the vehicle travels 2 m, straight-ahead running, turning start, turning, and turning end are determined, and dir_f is set so that the value indicates the determination result. Is done. Further, θcar obtained by correcting the vehicle direction θs of the sensor output is obtained.
[0045]
By the way, during the period in which the result of the turning determination process is straight traveling and dir_f is set to 0, the turning start process, the turning process, and the turning end process are not executed as shown in FIG. Each time the 20 m vehicle runs, the straight traveling process is executed.
[0046]
Hereinafter, the straight traveling process will be described first.
[0047]
The straight traveling process is a process of obtaining the current position by map matching every 20 m of travel.
[0048]
FIG. 5 shows a processing procedure of the straight traveling processing.
[0049]
In this process, first, it is determined whether or not dir_f is 0 (step 400). That is, it is determined whether or not the vehicle is currently in a state where it is determined that the vehicle is going straight, and if not, the process is terminated. Accordingly, the straight traveling process is not executed when it is determined that the turning is started, during turning, or ended.
[0050]
If it is determined that the vehicle is traveling straight ahead, the travel distance R from the previous execution of the straight traveling process or the execution of the turning end process to the present and the current corrected vehicle direction θcar are read (step 401). Next, based on those values, the movement amount of the vehicle is separately obtained in the latitude and longitude directions.
[0051]
Further, the amount of movement in each of these directions is added to the position of each candidate point obtained in the previous straight-ahead processing, respectively, and it is estimated that a vehicle currently exists for each candidate point obtained in the previous straight-ahead processing. The virtual current position (A), which is the current position, is determined (step 402). The candidate points are one or a plurality of positions determined in steps 403 and 404 described later as positions that can be candidates for the current position in the straight-ahead processing, and details thereof will be described later.
[0052]
If there is no candidate point obtained in the previous process for obtaining a candidate point for the vehicle, for example, immediately after the start of the apparatus, the position set separately is used as the position of the candidate point obtained last time, and the virtual current Find the position (A).
[0053]
Next, with respect to only the free candidate points, which will be described later, obtained in the previous straight-ahead processing, a road search process for matching with the road is executed, and one or more candidate points and their reliability trst are obtained. (Step 403). The free state candidate points indicate candidate points that could not be matched on the road, and the reliability indicates the certainty of each candidate point as the current position, the details of which will be described later. The details of the search candidate point selection process executed in step 403 will also be described later.
[0054]
Next, after the search candidate point selection processing is executed, only one or more candidate points in the matching state, which will be described later, obtained in the previous straight-ahead processing are subjected to road search processing for matching with a road. And the reliability trst thereof are obtained (step 404). The candidate point in the matching state indicates a candidate point matched on the road, and details thereof will be described later.
[0055]
Next, these new candidate points are sorted according to the value of the reliability trst corresponding to each of the candidate points obtained in steps 403 and 404 (step 405), and the candidate point C having the highest reliability value is sorted. As a display candidate point CD, that is, as a candidate point for displaying on the display 17, its position, an accumulated error cost es described later, reliability, a state flag indicating whether the state is a matching state or a free state, and the like. Is stored in a predetermined area of the RAM of the memory 25, and the positions of the candidate points other than the display candidate points, the accumulated error cost es, the reliability trst, the state flag, and the like are also stored in the predetermined area of the RAM. (Step 406). In this embodiment, data relating to seven candidate points can be stored. Therefore, when eight or more candidate points are calculated as a result of executing the processing of steps 401 to 406 in FIG. 5, among these, various candidate points related to the seven candidate points in descending order of the value of the reliability trst are shown. Is stored in a predetermined area of the RAM of the memory 25.
[0056]
Then, the value obtained by subtracting the road direction θl at which the selected display candidate point is located from the vehicle direction θs output from the sensor is reduced to 1/2 (step 407), and finally, the coordinates of the display candidate point The data is output (step 408), and the process ends. However, as described above, when a candidate point in the free state is selected as a display candidate point, θ1 / 2 is set to 0.
[0057]
Next, in step 403, a road search process for performing matching with the road only for the previous candidate point in the free state, and in step 404 for performing matching with the road for only the previous candidate point in the matching state. The details of the road search process will be described.
[0058]
First, the road search processing in step 404 will be described.
[0059]
FIG. 6 shows details of the road search processing in step 404.
[0060]
This processing is performed for each candidate point in the matching state obtained in the previous straight-ahead processing or turning end processing.
[0061]
In this road search process, first, a map around the virtual current position (A) obtained corresponding to the previous candidate point of the matching state to be processed is obtained from the CD-ROM 15 by the driver 16 and the DMA controller 23. (Step 501).
[0062]
Then, a link in which the previous candidate point in the matching state to be processed is located or a link connected to this link is selected and taken out (step 502).
[0063]
As described above, in the present embodiment, as shown in FIG. 7, the road data is approximated by a plurality of links 51 to 55 connecting two points, and the links are represented by the coordinates of the start point and the end point. What is shown is used. For example, the link 53 is represented by its start point (x3, y3) and end point (x4, y4).
[0064]
Next, from the links extracted in step 502, only the links whose link directions are within the corrected vehicle direction θcar and a predetermined value are selected (step 503), and all the selected n extracted links are selected. The vertical line is lowered from the virtual current position (A) for the link of (a), and the length of the vertical line L (n) is obtained (step 504).
[0065]
Next, an error cost value ec (n) defined by the following equation is calculated for all the links selected in step 503 based on the lengths of these perpendiculars.
[0066]
ec (n) = α × | θcar−θ (n) | + β | L (n) |
Here, θcar represents the vehicle direction at the virtual current position (A). Θ (n) is the link direction, L (n) is the distance from the virtual current position (A) to the link, that is, the length of the perpendicular, and α and β are weighting factors. The values of these weighting factors may be changed depending on which of the deviation between the traveling direction and the azimuth of the road and the deviation between the current position and the road is important in selecting the road on which the current position is located. For example, when importance is attached to a road whose direction is close to the traveling direction, α is increased.
[0067]
Next, according to the calculated error cost ec (n) and the accumulated error cost es of the previous candidate point to be processed, the accumulation of each link selected in step 504 is defined by the following equation. The error cost es (n) is calculated (step 505).
[0068]
es (n) = (1−k) × es + k × ec (n)
Here, k is a weight coefficient larger than 0 and smaller than 1. The accumulated error cost es (n) indicates how much the error cost calculated in the previous process is reflected in the error cost calculated in the current process. Further, based on the calculated accumulated error cost es (n), a reliability trst (n) defined by the following equation is calculated (step 505).
[0069]
trst (n) = 100 / (1 + es (n))
As is apparent from the above equation, as the accumulated error cost es (n) increases, the reliability trst (n) decreases and approaches 0 (zero). On the other hand, as this becomes smaller, the reliability trst (n) increases, and its value approaches 100.
[0070]
By performing such processing, the reliability trst (n) that is connected to the link where the previous candidate point to be processed exists and that is associated with each of the n links whose azimuth of the link is close to the vehicle azimuth is obtained. Can be
[0071]
Then, a point advanced by a length corresponding to the distance R traveled by the vehicle along the n links selected in step 503 from the previous candidate point to be processed is set as a new candidate point ( Step 506). Therefore, when there are a plurality of links (n is plural) selected in step 503, n new candidate points C (n) are generated. In other words, a plurality of new candidate points may be generated for each of the candidate points in the previous matching state.
[0072]
Then, the accumulated error cost es (n) of each of the n links selected in step 503 is set as the accumulated error cost of a new candidate point C (n) obtained by advancing the distance R along the link. .
[0073]
FIGS. 8 to 10 show an example in which candidate points are sequentially obtained by the above processing.
[0074]
As shown in FIG. 8, 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 link 61 in a certain straight traveling process. In such a case, the link from the virtual current position (A) to the link 61 where the candidate point 62 is located, and the difference between the direction and the corrected vehicle direction θcar is equal to or smaller than a predetermined value. The links 64 and 65 are taken out, distances L (1) and L (2) from the current position A to the links 64 and 65 are calculated, and the calculated distances and angles θ (1) and θ of the links 64 and 65 are calculated. Based on (2) and the corrected vehicle direction θcar, the related error cost, the accumulated error cost, and the reliability are calculated. Further, based on the travel distance R of the vehicle previously obtained, a position advanced from a certain candidate point 62 along a link 61 and 64 or a link 61 and 65 by a length corresponding to the travel distance R is calculated. The points corresponding to this position are referred to as candidate points 66 and 67, respectively.
[0075]
In the next straight traveling process, as shown in FIG. 9, a new virtual current position (A) is represented at a position indicated by a point 71 with respect to a candidate point 66 on the link 64, while It is assumed that a new virtual current position (A ′) is represented at a position indicated by a point 72 with respect to the candidate point 67. In this case, from the virtual current position (A), the links 73 and 74 that are connected to the link 64 and whose difference between the azimuth and the corrected vehicle azimuth is equal to or smaller than a predetermined value are extracted, From the new virtual current position (A ′), a link 75 that is connected to the link 65 and whose difference between the azimuth and the corrected vehicle azimuth θcar is equal to or smaller than a predetermined value is extracted. Next, the respective distances L1 (1) and L1 (2) from the virtual current position (A) to the links 73 and 74 are calculated, and the distance L2 (1) from the virtual current position (A ′) to the link 75 is calculated. ) Is calculated. Further, based on the distance calculated in relation to the current position A, the angles θ1 (1) and θ1 (2) of the links 73 and 74, the corrected vehicle orientation θcar, and the like, the associated error cost, accumulated error cost, and reliability In addition to calculating the degree, based on the distance calculated in relation to the current position A ′, the angle θ2 (1) of the link 75, the corrected vehicle direction θcar, and the like, the related error cost, accumulated error cost, and reliability are calculated. calculate.
[0076]
Further, based on the traveling distance R of the vehicle, the traveling distance R of the vehicle from the candidate point 66 along the links 64 and 73, or along the links 64 and 74, or from the candidate point 67 along the links 65 and 75. The position advanced by the length corresponding to the position is calculated, and the points corresponding to this position are each set as a new candidate point. FIG. 10 shows the candidate points 81 to 83 newly obtained in this way.
[0077]
Now, all the candidate points obtained by the above processing are the candidate points in the matching state that are matched on the road.
[0078]
On the other hand, in the link selected in step 503 where the candidate point of the previous matching state to be processed is located or the link connected thereto, the difference between the direction and the corrected vehicle direction θcar is equal to or less than a predetermined value. It is possible that there is no link such as In this case, the virtual current position (A) is set as the next candidate point calculated from a certain candidate point.
[0079]
Such a candidate point is a candidate point that has not been matched on the road, and is a free state candidate point. Here, in step 505, the free state candidate point is given a fixed value larger than the error cost value that may be given to the matching state candidate point as the error cost ec (n). .
[0080]
The details of the road search processing for performing the matching with the road performed only for the previous candidate point in the matching state in step 404 in FIG. 5 have been described above.
[0081]
Next, details of a road search process for matching a road with only a free state candidate point, which will be described later, obtained in the previous straight-ahead process or turning end process of step 403 in FIG. 5 will be described.
[0082]
FIG. 11 shows a processing procedure of the road search processing for the previous candidate point in the free state.
[0083]
This process is performed for each of the free candidate points obtained in the previous straight running process or turning end process.
[0084]
As shown, this process is similar to the road search process for candidate points in the matching state shown in FIG.
[0085]
The difference between these two processes is that in the road search process, the line segment where the candidate point obtained in the previous process for finding the candidate point of the vehicle is located or the line segment connected thereto is extracted and these lines are extracted. Although the line segment whose azimuth difference from the corrected vehicle azimuth θcar is within a predetermined value is selected (steps 502 and 503 in FIG. 6), in the candidate point road search process in the free state, the virtual current All the line segments within a preset distance D centered on the position (A) are extracted, and a line segment whose azimuth difference from the corrected vehicle direction θcar is within a predetermined value is selected from these line segments ( Step 1202) is at the point.
[0086]
That is, in the process of steps 502 and 503 in FIG. 5, a single line segment or several line segments extending from the branch point may be extracted, but in the process of step 1102 in FIG. The line segment to be extracted is determined from the road data in the map corresponding to the extracted map data.
[0087]
Further, in the road search processing for the free state candidate point, the difference between the azimuth and the traveling direction of the vehicle is within a predetermined range D from the virtual current position (A) for the previous free state candidate point to be processed. If there is a line segment equal to or less than the predetermined value, the intersection of the perpendicular drawn from the virtual current position to the line segment and this line segment becomes a new matching state candidate point. Further, the virtual current position (A) with respect to the previous candidate point in the free state to be processed is also a candidate point in the free state.
[0088]
If there is no line segment whose difference between the azimuth and the vehicle azimuth θcar is equal to or less than a predetermined value within a predetermined range D from the virtual current position (A) for the free state candidate point, the virtual current position corresponds to the virtual current position. Only those points that become free are candidate points in the free state.
[0089]
The method of obtaining the error cost ec, the accumulated error cost es, and the reliability trst of each candidate point is exactly the same as that described above in the road search processing for the candidate point in the matching state.
[0090]
The straight traveling process has been described above.
[0091]
Hereinafter, the details of the turning start process, the turning process, and the turning end process will be described.
[0092]
FIG. 12 shows a processing procedure of the turning start processing, FIG. 13 shows a processing procedure of the turning processing, and FIG. 14 shows a processing procedure of the turning end processing.
[0093]
The turning start process, the turning process, and the turning end process typically include a turning start process between the straight running process and the straight running process, such as a straight running process, a turning start process, a turning process, a turning end process, and a straight running process. The processing is executed in the order of processing, turning processing, and turning end processing.
[0094]
Therefore, first, how the straight traveling process described above and the turning start process, the turning process, and the turning end process are connected will be described.
[0095]
At the time of the turning start process immediately after the straight traveling process, one or a plurality of candidate points obtained by the immediately preceding straight traveling process exist as described above.
[0096]
In the turning start process, a different value of i is given to each candidate point obtained in the immediately preceding straight traveling process by the processes of steps 1201, 1207, and 1208 in FIG. 12, and the process of step 1206 is performed for each candidate point. To be executed. In the processing of step 1206, the coordinates of each candidate point, the accumulated error cost es, and information on whether the candidate is a free state or a candidate for a matching state are stored as turning reference point information P0 (i). The i of P0 (i) indicates the value of i given to the candidate point.
[0097]
Further, thereafter, in step 1209 in FIG. 12, based on the corrected vehicle azimuth angle θcar, the moving distance in the X direction and the moving distance in the Y direction of the vehicle after the immediately preceding straight traveling process are obtained, and dx, dy and I do. It should be noted that lt in step 1209 in FIG. 12 represents the travel distance of the vehicle since the immediately preceding straight running process was executed.
[0098]
On the other hand, in the process during turning, in step 1333 of FIG. As shown, it accumulates.
[0099]
By these processes, when the turning end process is executed, dx and dy represent the moving distance in the X direction and the moving distance in the Y direction of the vehicle from the straight ahead process to the turning end process.
[0100]
In the turning end process, the coordinates of the candidate points, the accumulated error cost es, and the free state, which are stored as P0 (i) stored as the information of the turning reference point in the turning start process and are obtained in the immediately preceding straight traveling process, are stored. Information on whether the candidate is a candidate in the matching state or not is sequentially read out, and for the turning reference point that was a candidate point in the free state (when the determination in step 1401 is No), dx is added to the X and Y coordinates of the candidate point. , Dy are added, and the point of this coordinate is set as a new free state candidate point. Further, the error cost ec, the accumulated error cost es, and the reliability trst (n) of the candidate point are calculated by referring to the error cost ec, the accumulated error cost es, and the reliability trst for the free candidate point in the straight-ahead processing. (Step 1417). However, as the previous cumulative error cost es used in the calculation of the cumulative error cost es, the cumulative error cost es stored in P0 (i), that is, the cumulative error cost es of the candidate point which is the turning reference point is used. Use values.
[0101]
As for the turning reference point which is a candidate point in the matching state, first, a turning candidate link for the turning reference point is sequentially extracted (step 1413), and the direction of the turning candidate link is determined based on the current vehicle direction θcar. It is determined whether the absolute value of the difference is equal to or smaller than a predetermined threshold value θthb (step 1403). Here, the turning candidate link is a link, of the links connected to the link having the candidate point in the matching state, which is the turning reference point, whose current position may be present due to a process during turning described later. Is the link selected as This turning candidate link will be described later in detail.
[0102]
Then, for the candidate point in the matching state, the coordinates obtained by adding dx and dy to the X and Y coordinates stored in P0 (i) stored as the information of the turning reference point in the turning start process are obtained (step 1405). From this coordinate point, a perpendicular is dropped to each turn candidate link whose azimuth from the current vehicle azimuth θcar is equal to or less than a predetermined threshold θthb, and the length of this perpendicular is determined by a predetermined threshold. If the value is equal to or less than the value Lth (step 1407), the position of this perpendicular foot (the intersection of the perpendicular line turning candidate link) is set as a candidate point for a new matching state, and its error cost ec, cumulative error cost es, and reliability are calculated. The degree is obtained by the same method as the above-described method of obtaining the error cost ec, the accumulated error cost es, and the reliability trst for the candidate point in the matching state in the straight traveling process. However, as the previous cumulative error cost es used in the calculation of the cumulative error cost es, the cumulative error cost es stored in P0 (i), that is, the cumulative error cost es of the candidate point which is the turning reference point is used. Use values. It should be noted that the absolute value of the difference between the azimuth and the current vehicle azimuth θcar is equal to or less than a predetermined threshold value θthb, and the length of a perpendicular dropped on the turn candidate link is equal to or less than a predetermined threshold value Lth. May not exist at all, but in this case, it is handled in the same manner as the turning reference point which was a candidate point in the free state, and stored in P0 (i) stored as information of the turning reference point in the turning start processing. A point at a coordinate obtained by adding dx and dy to the X and Y coordinates thus obtained is set as a new free state candidate point (step 1412).
[0103]
Then, when the above processing is completed for all the turning reference points (step 1413), all the turning candidate links are deleted (step 1415), and the candidate point having the highest reliability among the new candidate points generated above is deleted. It is selected as a display candidate point, and the coordinates of this candidate point are output as coordinates of the display candidate point (step 1417). Similarly to the case of the straight traveling process (step 407 in FIG. 5), θ1 / 2 is obtained (step 1419).
[0104]
As a result, at the end of the turning end process, one or more candidate points are obtained in the same manner as at the end of the straight traveling process. Therefore, in the straight ahead processing immediately after this, the processing can be performed with these candidate points as the previous candidate points.
[0105]
The turning start processing, turning processing, and turning end processing include straight-ahead processing such as straight-ahead processing, turning start processing, turning processing, turning end processing, turning start processing, turning processing, turning end processing, and straight-ahead processing. Between the turning process and the straight traveling process, the turning start process, the turning process, and the turning end process may be executed plural times. In this case, in the second turning start process, the above-described process is performed in the same manner as each previous candidate point obtained in the immediately preceding turning end process.
[0106]
Further, the value of the error cost ec of the new candidate point obtained in the turning end process may reflect the moving distance of the vehicle after the turning start process obtained from dx and dy. That is, it is considered that the larger the moving distance is, the more errors and the like accumulate, and the probability that an appropriate candidate point is obtained at the turning end position is reduced. The larger the moving distance is, the smaller the moving distance is. The error cost ec may increase as the size increases.
[0107]
In the foregoing, how the straight traveling process described above and the turning start process, the turning process, and the turning end process are connected has been described.
[0108]
Hereinafter, display candidate points output in the turning process and the above-described turning candidate link obtained by the turning start process and the turning process will be described.
[0109]
First, parameters used in the following description will be described with reference to FIG.
[0110]
In the turning start process and the turning process, a turning start point is set on the link as described later. Then, in the turning start process, a link within a predetermined range that is directly or indirectly connected to the link at which the turning start point exists is extracted as a turning candidate link. In the turning process, a link connected ahead of the link having the turning start point in the vehicle traveling direction is extracted as a turning candidate link. Then, for each turning candidate link, a connection point distance l_cn, a turning start vehicle direction θlst, a turning candidate link length l_len, a link relative angle la_re, a turning link direction la, a running distance l_run on the turning candidate link, and a turning candidate link effective distance. Define l_ef.
[0111]
As shown in FIG. 15, the turning start vehicle direction θlst represents the vehicle direction at the time when the turning start point serving as the reference for obtaining the turning candidate link is obtained, and the turning candidate link length l_len is the length of the turning candidate link. And the turning candidate link direction la indicates the direction of the turning candidate link. The link relative angle la_re indicates a difference between the direction la of the turn candidate link and the direction of the link at which the turn start point corresponding to the turn candidate link is located. In addition, the travel distance l_run on the turn candidate link is, assuming that the vehicle has traveled to the turn start candidate link from the turn start point used as a reference for finding the turn candidate link, the current vehicle is determined to be the turn candidate link. Indicates the distance considered to have traveled on the link. The turn candidate link effective distance l_ef represents a travel distance from the time when the turn start point serving as a reference for obtaining the turn candidate link is obtained.
[0112]
Hereinafter, how a turn candidate link and a display candidate point are obtained by the turn start process and the turning process will be described with reference to FIG.
[0113]
In the turning start processing, first, as shown in FIG. 12, the following processing is performed for each candidate point in the matching state among the currently existing candidate points (candidate points obtained in the immediately preceding straight-ahead processing or turning end processing). .
[0114]
In other words, the candidate point in the matching state is set as a turning start point at a position advanced on the link by the travel distance after the candidate point is obtained, and the link where the turning start point is located is directly or indirectly connected to the link. Are extracted as turn candidate links (steps 1203 and 1205), and for each turn candidate link, a turn start vehicle direction θlst, a turn candidate link length l_len, a link relative angle la_re, and a turn link direction la Is calculated, and the calculated turning start vehicle direction θlst, turning candidate link length l_len, link relative angle la_re, and turning candidate link direction la are stored in association with each of the extracted turning links.
[0115]
In addition, when storing the information Po (i) of the turning start reference point in step 1206, the turning candidate link generated in steps 1203 to 1205 performed on the matching state candidate point corresponding to the turning reference point. Is stored in association with the turning reference point.
[0116]
By the above-described processing, as shown in FIG. 16, the turning start point C and three turning candidate links, that is, the link where the turning start point C is located and the links D and E are set with respect to the candidate point A in the matching state. Will be asked. The reason why the link behind the traveling vehicle is also selected is that the position of the candidate point A in the matching state may be excessively advanced or delayed.
[0117]
Note that the coordinates of the display candidate points are not output in the turning start process.
[0118]
Next, in the turning process, as shown in FIG. 13, the following process is performed for each turning candidate link existing at that time (step 1329).
[0119]
That is, first, the difference between the current vehicle direction θcar and the turning start vehicle direction θlst is determined, and this is set as angl (step 1305), and the link relative angle la_re is positive and the angle is 1/2 of the link relative angle la_re. It is determined whether the distance has become smaller (steps 1307 and 1335) or whether the link relative angle la_re is negative and the angle has become larger than 1/2 of the link relative angle la_re (steps 1307 and 1309). Considering that the vehicle has already reached the connection point between the turn candidate link and the link where the turn start point serving as the reference for obtaining the turn candidate link is located, 2 m is added to the travel distance l_run on the turn candidate link, Update is made so as to represent the distance after passing through the connection point (step 1311). Here, the counting of the running distance l_run on the turn candidate link after the step 1307, 1309 or 1335 is satisfied is based on the following reason. That is, in a road map, the shape of a curve or the like is approximated by a straight line by a link. Since it can be estimated that the shape will be similar to the shape facing the middle direction of the direction of the link of the link, when the vehicle faces this intermediate direction, the vehicle arrives at the connection point to the turn candidate link Estimate.
[0120]
When the travel distance l_run on the turn candidate link is updated in step 1312, it is next determined whether or not the travel distance l_run on the turn candidate link has exceeded 1/2 of the turn candidate link length l_len (step 1312). Then, it is further determined whether or not the absolute value of the difference between the vehicle direction θcar and the turning candidate link direction la at that time is equal to or smaller than a predetermined value θthc. As a turning start point, a process of newly generating a turning candidate link is performed as in the case of the turning start process. That is, all links that are directly connected to the link where the turning start point is located forward in the traveling direction of the vehicle are extracted as turning candidate links (steps 1317 and 1321), and for each turning candidate link, the turning start vehicle direction θlst, turning The candidate link length l_len, the link relative angle la_re, and the turning link direction la are calculated, and the calculated turning start vehicle direction θlst, the turning candidate link length l_len, the link relative angle la_re, and the turning candidate link are calculated in association with each of the extracted turning links. The direction la is stored. Further, the information indicating the generated turning candidate link is stored in association with a turning start reference point associated with the turning candidate link from which the turning candidate link is generated. This correspondence is used when extracting a turn candidate link corresponding to each turn reference point in the turn end processing described above.
[0121]
As described above, in the present embodiment, as shown in FIG. 17, the azimuth of the vehicle is determined by the azimuth of the link K where the position where the vehicle is estimated to have started turning is present and the next azimuth to which this link connects. If it is assumed that the vehicle is traveling on the next link L after the vehicle has reached a direction equal to or less than the intermediate direction of the direction of the link L, and the vehicle has traveled a distance reaching the midpoint of the next link, The difference between the link directions is determined. If the difference is equal to or less than a predetermined value, it is estimated that the position of the next link L has reached the position corresponding to the middle point M, and the position M of the middle point is determined as the current position.
[0122]
Here, the direction of the vehicle and the direction of the middle of the two links to be connected are compared as described above, as described above, in a road map, the shape of a curve or the like is approximated by a straight line by the link. Therefore, it can be estimated that the actual road shape at the position of the connection point between the link and the next link will be a shape that approximates the shape of the direction of the link and the direction of the middle direction between the directions of the next link. Therefore, it is not considered that the vehicle has proceeded on the next link unless the vehicle is heading in the intermediate direction.
[0123]
Also, when the vehicle has traveled the distance to reach the midpoint of the link, the difference between the azimuth of the link and the azimuth of the vehicle is determined if the vehicle is traveling on this link. At the point when the vehicle travels the distance to reach the middle point of the link, the vehicle is at the position of the real road corresponding to the midpoint of this link, and the azimuth error with the real road near the midpoint of the link is considered to be the smallest. At this position, the vehicle direction and the link direction are considered to be close values.
[0124]
In the turning process, the coordinates of the turning start point obtained by the process in step 1315 are output in step 1330 as the coordinates of the display candidate points. However, since step 1315 may be executed for a plurality of turning candidate links that satisfy the condition, in this case, the coordinates of the turning start point obtained first are output as the coordinates of the display candidate points. Further, θ1 / 2 is calculated from the road where the display candidate point exists and the vehicle direction θs of the sensor output as described above (step 1332). If no new turning start point is generated in step 1315 without satisfying any of the turning candidate points, the coordinates of the display candidate point are not output. Also, θ1 / 2 is not updated.
[0125]
In this way, in the turning process, the turning candidate link is determined and the turning start point is set as the display candidate point while sequentially setting the turning start point as the middle point of the turning candidate link. In addition, a turn candidate link having no possibility of a vehicle being deleted is deleted as follows.
[0126]
That is, every time the turning process is executed in step 1323, the turning candidate link that does not satisfy step 1309 or 1335 or 1312 or the turning individual supplement link whose new turning start point is set as the middle point in step 1315 is turned. 2 m is added to the candidate link effective distance l_ref, and is added so as to represent the traveling distance from the time when the turning start point which is the reference for obtaining the turning candidate link is obtained (step 1323), and the turning candidate link effective distance l_ref is added. Exceeds 100 m, the information of the turning candidate link is deleted. That is, the information indicating the turn candidate link and the parameters related to the turn candidate link, which are stored in association with the turn start reference point, are deleted. This is because it is considered that the vehicle does not proceed to a turn candidate link that does not satisfy step 1309 or 1335 even after traveling for 100 m. Also, in step 1315, since the link whose turning point is set as the middle point is no longer required, the link is deleted when the vehicle travels 100 m after the turning candidate link is generated.
[0127]
Also, while the difference between the vehicle azimuth and the link azimuth is larger than a predetermined value while satisfying step 1309 or 1335, 1312, that is, for the turning start candidate link that does not satisfy step 1313, the vehicle azimuth and link azimuth near the middle point of the link Is considered to be the closest, but also at this point, the azimuth difference is larger than the threshold value. Therefore, it is considered that there is no possibility that a vehicle exists at this turn candidate link, and the vehicle is immediately deleted.
[0128]
The turning candidate link generated in the turning start process and the turning process and the display candidate point output in the turning process have been described above. As described above, the turning start point generated in the turning start process and the turning process and the display candidate point output in the turning process have no effect on the turning end process performed thereafter. It should be noted that the turning reference point, the moving distances dx and dy, and only the turning candidate links that have survived without being deleted to the end are used in the turning end processing.
[0129]
The turning start process, the turning process, and the turning end process have been described above.
[0130]
Hereinafter, the remaining display processing will be described.
[0131]
FIG. 18 shows a processing procedure of the display processing.
[0132]
This process is a routine of the microprocessor 24 which is started and executed every second.
[0133]
In this process, first, it is determined whether or not the switch 14 is pressed to change the scale of the map by looking at the contents of the parallel I / O 21 (step 1801). If it is pressed (Yes in step 1801), a predetermined scale flag is set correspondingly (step 1802).
[0134]
Next, the coordinates of the display candidate points output from the straight-ahead processing, the turning processing, and the turning end processing are calculated from the vehicle azimuth θcar and the traveling distance corrected using θ1 / 2 as described above. The coordinates obtained by adding the amount of movement of the vehicle after the coordinates are output are set as the current position (B), a map including the current position (B) is read (step 1803), and the contents of the scale flag switched in step 1802 Is displayed on the display 17 in a state as shown in FIG. 2, for example (step 1804).
[0135]
Then, the position of the current position (B) and the current vehicle direction θcar are displayed using the arrow symbol “↑” as shown in FIG. 2 described above, superimposed on the map (step 1805). Finally, a north mark indicating north and a distance mark corresponding to the scale are superimposed on them, and displayed as shown in FIG. 2 (step 1806).
[0136]
As a result, in the turning process, for example, as shown in FIG. 19, the vehicle travel trajectory (broken line) drawn on the assumption that the turning start point G is the start position is provided at each link midpoint. Since the display of the current position is drawn on the link, it is possible to prevent the mark indicating the current position from being displayed at a position far from the link. Further, since the vehicle direction θs of the sensor output is corrected using θ1 / 2 and the current position is obtained and displayed by the vehicle direction θcar corrected so that the vehicle direction is closer to the road direction, the current position is determined to be closer to the road. The position will be displayed.
[0137]
The embodiments of the present invention have been described above.
[0138]
In the above process, the corrected vehicle direction θcar is used in the straight traveling process, but the vehicle direction θs of the sensor output may be directly used in the straight traveling process. In this case, during the straight traveling process, that is, during the period of dir_f = 0, also in the display process, the current position (B) is obtained based on the vehicle direction θs of the sensor output instead of the vehicle direction θcar.
[0139]
In the turn determination process, the determination of the start of the turn, the turning, the end of the turn, and the straight traveling may also be made based on the vehicle direction θs of the sensor output instead of the corrected vehicle direction θcar.
[0140]
Further, instead of obtaining by θ1 / 2 = (θs−θl) / 2, it may be obtained by θ1 / 2 = (θcar−θl) / 2 + θ1 / 2 ′. θ1 / 2 ′ is θ1 / 2 up to that time. In this way, the influence of the steady sensor error and the effect included in the error between the vehicle direction θcar and the actual vehicle direction can be made closer to 0, and the vehicle direction can be gradually made closer to the road direction on the map. it can. Even if the road map is incorrect, the vehicle direction θcar can be gradually approached to the road direction on the map.
[0141]
It should be noted that the numerical values such as 20 m shown in the above embodiments are all examples, and the present invention is not necessarily limited thereto. Further, in this specification, means does not necessarily mean physical means, but also includes a case where the function of each means is realized by software. Further, the function of one unit may be realized by two or more physical units, or the function of two or more units may be realized by one physical unit.
[0142]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a current position calculating device capable of estimating a road on which a vehicle is traveling and displaying a current position at a position close to the estimated road. it can.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a current position calculating device 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 embodiment;
FIG. 3 is a flowchart illustrating a processing procedure of a process of starting a turning determination process, a turning start process, a turning process, and a turning end process.
FIG. 4 is a flowchart of a turning determination process;
FIG. 5 is a flowchart illustrating a processing procedure of a straight traveling process;
FIG. 6 is a flowchart illustrating a processing procedure of a road search process of a candidate point in a matching state;
FIG. 7 is a diagram for explaining an expression format of a road on a road map.
FIG. 8 is a diagram for explaining a line segment corresponding to a road, a virtual current position, and a candidate point;
FIG. 9 is a diagram for explaining a line segment corresponding to a road, a virtual current position, and a candidate point;
FIG. 10 is a diagram for explaining a line segment corresponding to a road, a virtual current position, and a candidate point;
FIG. 11 is a flowchart illustrating a processing procedure of a road search process for a candidate point in a free state;
FIG. 12 is a flowchart illustrating a processing procedure of a turning start process;
FIG. 13 is a flowchart illustrating a processing procedure of a processing during turning;
FIG. 14 is a flowchart illustrating a processing procedure of a turning end process;
FIG. 15 is a diagram illustrating meanings of various parameters used by a turning start process and a turning doctor during turning.
FIG. 16 is a diagram illustrating how a turning candidate link is generated;
FIG. 17 is a diagram illustrating how a turning start point is set by a process during turning;
FIG. 18 is a flowchart illustrating a procedure of a current position display process;
FIG. 19 is a diagram illustrating how the current position during turning is displayed by the current position display process.
FIG. 20 is a diagram showing a road map in which curves are approximated by links.
[Explanation of symbols]
Reference Signs List 10 Current position calculation device 11 Angular velocity sensor 12 Direction sensor 13 Vehicle speed sensor 14 Switch 15 CD-ROM
16 CD-ROM read driver 17 display 18 controller

Claims (2)

車両に搭載され、前記車両の現在位置を算出する現在位置算出装置であって、
前記車両の進行方位を検出する方位検出手段と、
前記車両の走行距離を測定する距離測定手段と、
道路地図を記憶した地図記憶手段と、
前記方位検出手段が検出した車両の進行方位を補正する進行方位補正手段と、
前記距離測定手段で測定された前記車両の走行距離、前記方位検出手段で検出された前記車両の進行方位、および、前記地図記憶手段に記憶されている前記道路地図を用いて、前記車両の現在位置を順次算出する現在位置算出手段と、
前記車両が旋回中か否かを判定する状態判定手段と、
前記現在地算出手段で算出された前記車両の現在位置に基づいて、前記記憶手段から読み出した道路地図と共に前記車両の現在位置を表示する表示手段と、を有し、
前記現在位置算出手段は、
前記状態判定手段で前記車両が旋回中の状態でないと判定されている場合、前回算出した現在位置と前記車両の進行方位および走行距離とから仮現在位置を推定し、推定した仮現在位置を前記道路地図に照合してマップマッチング処理により道路リンク上に今回の現在位置を算出し、
前記状態判定手段で前記車両が旋回中の状態であると判定されている場合、前回算出した現在位置が存在する道路リンクと前記車両の進行方向上前方に接続する道路リンクを特定し、特定した道路リンク各々について、前回算出した現在位置から当該道路リンクの中点近傍に設定した着目点までの道のりに相当する距離を、前回現在位置を算出してから前記車両が走行したときに前記方位検出手段で検出される前記車両の進行方位と、当該道路リンクの方位との差分を求め、当該差分が所定値以下の道路リンクの前記着目点を今回の現在位置として算出し、
前記進行方位補正手段は、
前記現在位置算出手段が現在位置を算出した際の前記方位検出手段が検出した前記車両の進行方位と、前記現在位置が存在する道路リンクの方位との差に応じた量、もしくは、当該差の実績に応じた量、前記方位検出手段が検出する前記車両の進行方位を前記差が減少する方向に補正すること
を特徴とする現在位置算出装置。
A current position calculation device mounted on a vehicle and calculating a current position of the vehicle,
An azimuth detecting means for detecting a headed direction of the vehicle,
A distance measuring means for measuring a travel distance of the vehicle,
Map storage means for storing a road map,
Traveling direction correcting means for correcting the traveling direction of the vehicle detected by the direction detecting means,
Using the travel distance of the vehicle measured by the distance measurement means, the traveling direction of the vehicle detected by the direction detection means, and the road map stored in the map storage means, Current position calculating means for sequentially calculating the position,
State determination means for determining whether or not the vehicle is turning;
On the basis of the current position of the vehicle calculated by the current position calculating means includes a display means for displaying the current position of the vehicle with a road map read from said storage means,
The current position calculation means,
If it is determined by the state determination means that the vehicle is not in a turning state, the provisional current position is estimated from the current position calculated last time and the traveling azimuth and the traveling distance of the vehicle, and the estimated provisional current position is calculated. This current position is calculated on the road link by the map matching process by comparing with the road map,
When it is determined that the vehicle is in a turning state by the state determination unit, a road link in which the current position calculated last time is present and a road link connected forward in the traveling direction of the vehicle are specified and specified. For each of the road links, the direction corresponding to the distance from the current position calculated last time to the point of interest set near the midpoint of the road link is calculated when the vehicle has traveled since the previous current position was calculated. Calculating the difference between the direction of travel of the vehicle detected by the means and the direction of the road link, calculating the point of interest of the road link whose difference is equal to or less than a predetermined value as the current position of this time,
The heading correction means,
The amount the current position calculating unit according to the difference between the heading of said vehicle detected by said azimuth detecting means when calculating the current position and orientation of the road link in which the current position is present, or, of the difference A current position calculating device, wherein an amount according to a result and a traveling direction of the vehicle detected by the direction detecting means are corrected in a direction in which the difference decreases.
請求項1に記載の現在位置算出装置であって、
前記現在位置算出手段は、
前記状態判定手段で前記車両が旋回中の状態であると判定されている場合、前記車両の進行方位が、前回算出した現在位置が存在する道路リンクの方位と当該道路リンクの前記車両の進行方向上前方に接続する道路リンクの方位との間に設けた判定用方位以下となった場合に、前記接続する道路リンクを特定すること
を特徴とする現在位置算出装置。
The current position calculation device according to claim 1,
The current position calculation means,
When the state determination means determines that the vehicle is in a turning state, the traveling direction of the vehicle is determined based on the direction of the road link where the current position calculated last time is located and the traveling direction of the vehicle on the road link. A current position calculation device characterized in that when the direction becomes equal to or less than a direction for determination provided between the direction of a road link connected to the upper front, the road link to be connected is specified .
JP14356695A 1995-06-09 1995-06-09 Current position calculation device Expired - Fee Related JP3545838B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP14356695A JP3545838B2 (en) 1995-06-09 1995-06-09 Current position calculation device
US08/660,898 US5941934A (en) 1995-06-09 1996-06-07 Current position calculating device
KR1019960020476A KR100231285B1 (en) 1995-06-09 1996-06-08 Current position calculating device
EP96109281A EP0747669B1 (en) 1995-06-09 1996-06-10 Current position calculating device
DE69626341T DE69626341T2 (en) 1995-06-09 1996-06-10 Device for calculating the current position
EP02026369A EP1288623B1 (en) 1995-06-09 1996-06-10 Current position calculating device
DE69637218T DE69637218T2 (en) 1995-06-09 1996-06-10 Device for calculating the current position

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14356695A JP3545838B2 (en) 1995-06-09 1995-06-09 Current position calculation device

Publications (2)

Publication Number Publication Date
JPH08334363A JPH08334363A (en) 1996-12-17
JP3545838B2 true JP3545838B2 (en) 2004-07-21

Family

ID=15341739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14356695A Expired - Fee Related JP3545838B2 (en) 1995-06-09 1995-06-09 Current position calculation device

Country Status (1)

Country Link
JP (1) JP3545838B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913992B2 (en) * 2004-04-30 2012-04-11 株式会社小糸製作所 Vehicle travel support system
JP5619453B2 (en) * 2010-03-30 2014-11-05 パイオニア株式会社 MAP DISPLAY DEVICE, CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM
JP5889041B2 (en) * 2012-02-29 2016-03-22 三菱重工業株式会社 Traveling road determination device, processing method thereof, and program
JP6418332B2 (en) * 2015-08-28 2018-11-07 日産自動車株式会社 Vehicle position estimation device and vehicle position estimation method

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100231285B1 (en) Current position calculating device
JP3578512B2 (en) Current position calculating device and distance coefficient correcting method thereof
JP3545839B2 (en) Current position calculation device
JP3578511B2 (en) Current position calculation device
JP3634006B2 (en) Current position calculation device
JP3545838B2 (en) Current position calculation device
JP3545837B2 (en) Current position calculation device
JP3596943B2 (en) Current position calculation system and current position calculation method
JP3596941B2 (en) Current position calculation device
JP3679450B2 (en) Current position calculation device and current position calculation method
JP3545836B2 (en) Current position calculation device
JP3679456B2 (en) Current position calculation device
JP3569028B2 (en) Current position calculation device
JP3587904B2 (en) Current position calculation device
JP3660389B2 (en) Current position calculation system and current position calculation method
JP3596944B2 (en) Current position calculation system and current position calculation method
JP3660392B2 (en) Current position calculation system and current position calculation method
JP3599421B2 (en) Current position calculation device
JP3732548B2 (en) Current position calculation device and distance coefficient correction method thereof
JP3764508B2 (en) Current position calculation system and current position calculation method
JP3693383B2 (en) Current position calculation system and current position calculation method
JP3672351B2 (en) Current position calculation device and distance coefficient correction method thereof
JP3679451B2 (en) Current position calculation device
JP3599423B2 (en) Current position calculation device
JP3679449B2 (en) Method for correcting display position of current position in current position calculation device and current position calculation device

Legal Events

Date Code Title Description
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: 20040406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120416

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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees