JP3732548B2 - 現在位置算出装置およびその距離係数補正方法 - Google Patents
現在位置算出装置およびその距離係数補正方法 Download PDFInfo
- Publication number
- JP3732548B2 JP3732548B2 JP9720395A JP9720395A JP3732548B2 JP 3732548 B2 JP3732548 B2 JP 3732548B2 JP 9720395 A JP9720395 A JP 9720395A JP 9720395 A JP9720395 A JP 9720395A JP 3732548 B2 JP3732548 B2 JP 3732548B2
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- distance
- correction coefficient
- short
- current position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Traffic Control Systems (AREA)
- Instructional Devices (AREA)
- Navigation (AREA)
Description
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、進行距離や進行方位等を測定して、これらより当該車両の現在位置を算出する現在位置算出装置に関するものであり、特に、進行距離の測定誤差を補正する技術に関するものである。
【0002】
【従来の技術】
従来、車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の進行距離に基づいて算出することが行われている。
【0003】
また、車両の進行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ1回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【0004】
また、このように車両の進行方向と進行距離から求めた現在位置の誤差を補正するために、特公平6−13972号公報記載の技術のように、道路データに整合するように、求められた車両の現在位置を修正する、いわゆる、マップマッチングの技術が知られている。このマップマッチングの技術によれば、位置算出の精度を高めることができる。
【0005】
ところで、走行時には、タイヤの磨耗や、温度変化による膨張等により、タイヤの直径、すなわち、距離係数が時事刻々と変化する。このため、進行距離の算出において誤差が発生し、現在位置の算出が高精度に行えなくなる。たとえば、タイヤ1回転あたりの進行距離係数に、1%の誤差が存在すると、100km走行した場合、1kmの誤差が発生してしまう。
【0006】
このような進行距離の測定誤差は、通常の道路を走行している場合は、前述したマップマッチングの技術により、ある程度修正できる。しかし、高速道路等の道路を走行する際には、マップマッチングで利用できるカーブや交差点等の特徴が道路にないため、充分に誤差を修正することができなくなる。
【0007】
さらに、一旦、測定した現在位置と真の現在位置との間に1km程度の誤差が発生してしまうと、マップマッチングの技術によっては、正しい位置に補正することが困難になる。
【0008】
そこで、進行距離の測定の誤差を無くすために、従来は、(1)交差点を曲がった時(始点)から、次の交差点を曲がる(終点)までの道路データと、計測した回転数より得られる進行距離とを比較することにより、タイヤ1回転あたりの距離係数を補正することが行われていた。また、(2)特公平6−27652号公報に記載のように、2つのビーコンの間の地図上の距離と、走行して計測した距離を比較することにより、前述した距離係数を補正する技術も知られている。また、(3)特開平2−107958号公報記載のように、GPS衛星よりの信号を用いて現在位置を算出するGPS受信装置を利用して車速を求め、それと検出されたタイヤの回転数とを比較して前述した距離係数を補正する技術も知られている。
【0010】
また、前述した(2)の技術でも、道路が直線でないと正確な補正を行うことができないし、また、車両が利用できるビーコン設備を設けなければならないという問題点がある。
【0011】
また、前述した(3)の技術では、車両の速度が低い場合に、正確な速度情報を得ることができない場合があり、また、車両の速度変化が大きい場合には処理に時間がかかり、算出した速度に誤差が生じる。このため、正確な補正を行えない場合があるという問題がある。また、車両に利用できるGPS受信装置やGPSアンテナを設ける必要がある。また、車両がトンネルや高架下、建物の影等GPS信号が受信できない走行状態の場合には、GPS衛星を利用できないため補正を行うことができなくなるという問題もある。
【0012】
そこで、本発明は、走行する道路の交差点等の多少や、車両の走行速度にかかわらず、また、格別の設備を必要することなしに適正に距離係数を補正し、高精度に車両位置を求めることができる現在位置算出装置を提供することを目的とする。
【0013】
本発明の他の目的は、距離係数を補正するために長期補正係数および短期補正係数を採用する場合に、長期補正係数の設定時に距離係数の不連続な変化を防止することができる現在位置算出装置を提供することにある。
【0014】
【課題を解決するための手段】
前記目的達成のために、本発明は、車両に搭載され、前記車両の現在位置を算出する現在位置算出装置であって、道路を表す道路データを含む地図データを記憶する記憶手段と、前記車両の進行方位を検出する進行方位検出手段と、前記車両が有する車輪の回転数に、短期補正係数および長期補正係数に基づいて算出された距離係数を乗ずることにより前記車両の走行距離を算出する走行距離算出手段と、前記車両の走行距離、前記車両の進行方位、および前記地図データに基づいて、前記車両が存在する前記道路および前記車両が存在する前記道路上の位置を算出する車両位置算出手段と、前記道路データに含まれる前記道路の湾曲を示す情報、前記走行距離、前記進行方位、および前記地図データに基づいて、当該走行距離の誤差を求める誤差算出手段と、前記誤差検出手段が前記誤差を検出した場合に、前記短期補正係数を生成する短期補正係数生成手段と、前記車両が第1の所定距離を走行した場合に、前記短期補正係数に前記長期補正係数を加算した値に前記第1の所定距離を乗じてから、前回算出した補正距離を加算することにより、前記補正距離を算出する補正距離算出手段と、前記第1の所定距離よりも長い第2の所定距離を、前記車両が走行した場合に、前回算出した前記長期補正係数に、前記短期補正係数生成手段が生成した最新の前記短期補正係数を加算した仮補正係数を算出し、
前記補正距離を前記第2の所定距離で除することにより、前記長期補正係数を生成し、
前記仮補正係数から前記長期補正係数を差し引いた値を新たな前記短期補正係数とする長期補正係数生成手段とを備えることを特徴とする現在位置算出装置を提供する。
【0015】
本発明は、また、車両に搭載され、当該車両の現在位置を算出する現在位置算出装置において、車軸の回転速度に基づき車両の走行距離を求めるための距離係数を補正する方法であって、
道路の湾曲部において、算出された車両の走行距離と検出された車両の進行方位と道路地図を表す地図データに応じて、当該走行距離の誤差を求め、
該求められた誤差に基づいて、前記距離係数を短期的に補正するための短期補正係数を生成するとともに、前記距離係数の補正の実績に基づいて、前記距離係数を長期的に補正するための長期補正係数を生成し、
前記短期補正係数および前記長期補正係数により、車両の走行中、逐次、前記距離係数を補正するようにし、
前記長期補正係数の新たな値の設定時には、前記距離係数の値が変化しないように前記短期補正係数を修正する
ことを特徴とする現在位置算出装置の距離係数補正方法を提供する。
【0016】
【作用】
本発明の現在位置算出装置では、道路の湾曲部を利用して進行距離の誤差を求め、これに応じて距離係数を補正するようにしたので、走行する道路に交差点等の特徴が無くても、また、GPS等に格別の設備がなくとも、距離係数を補正することができる。また、このような距離係数の補正の方法によれば、車両の走行速度に直接依存することもない。
【0017】
さらに、距離係数を補正するために、長期補正係数と短期補正係数を採用したので、より高精度の現在位置算出が行える。また、長期補正係数の新たな値の決定時に、前記距離係数の値が変化しないように短期補正係数を修正するようにしたので、長期補正係数の不連続な変化による距離係数の不連続な変化を防止することができ、その結果、表示画面上での現在位置の進行速度の不自然な変化を防止することができる。
【0018】
【実施例】
以下、本発明に係る現在位置算出装置の一実施例について説明する。
【0019】
まず図1により、本実施例に係る現在位置算出装置の構成について説明する。
【0020】
本実施例に係る現在位置算出装置は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ201と、地磁気を検出することで車両の進行方位を検出する方位センサ202と、車両のトランスミッションの出力軸の回転速度に比例した時間間隔でパルスを出力する車速センサ203を備えている。
【0021】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ207と、ディスプレイ207に表示する地図の縮尺切り替えの指令をユーザに(運転者)から受け付けるスイッチ204と、デジタル地図データを記憶しておくCD−ROM205と、そのCD−ROM205から地図データを読みだすためのドライバ206とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ208を備えている。
【0022】
次に、コントローラ208は、角速度センサ201の信号(アナログ)をデジタル信号に変換するA/D変換器209と、方位センサ202の信号(アナログ)をデジタル信号に変換するA/D変換器210と、車速センサ203から出力されるパルス数を0.1秒毎にカウントするカウンタ216と、スイッチ204の押圧の有無を入力するパラレルI/O211と、CD−ROM205から読みだされた地図データを転送するDMA(Direct Memory Access)コントローラ212と、ディスプレイ207に地図画像を表示する表示プロセッサ213とを有する。
【0023】
また、コントローラ208は、さらに、マイクロプロセッサ214と、メモリ215とを有する。マイクロプロセッサ214は、A/D変換器209を介して得た角速度センサ201の信号、A/D変換器210を介して得た方位センサ202の信号、カウンタ216がカウントした車速センサ203の出力パルス数、パラレルI/O211を介して入力するスイッチ204の押圧の有無、DMAコントローラ212を介して得たCD−ROM205からの地図データを受け入れて、それら信号に基づいて処理を行い、車両の現在位置を算出して、それを表示プロセッサ213を介してディスプレイ207に表示させる。この車両位置の表示は、図2に示すように、すでにディスプレイ207に表示している地図上に矢印マーク等を重畳して表示することにより行う。これにより、ユーザは、地図上で車両の現在位置を知ることができる。メモリ215は、このような動作を実現するための処理(後述)の内容を規定するプログラムや、後述する各種テーブル等を格納したROMと、マイクロプロセッサ214が処理を行う場合にワークエリアとして使用するRAMとを含んでいる。
【0024】
以下、本実施例に係る現在位置算出装置の動作について説明する。
【0025】
まず、車両の進行方位及び進行距離を算出する処理、算出された進行方位及び距離から車両の現在位置を決定する処理、得られた車両位置および方位を表示する処理の三つの処理について説明する。
【0026】
図3に、車両の進行方位及び進行距離を算出する処理の流れを説明する。
【0027】
この処理は、一定周期、たとえば100mS毎に起動され実行されるマイクロプロセッサ214のルーチンである。
【0028】
このルーチンでは、最初、A/D変換器209から角速度センサ201の出力値を読み込む(ステップ401)。この角速度センサ201は、その出力値に方位変化が出力されるので、車両の進行方向の相対的な値しか検出できない。このため、次に、A/D変換器210から方位センサ202の出力値を読み込み(ステップ402)、この方位センサ202の出力値により算出された絶対方位と角速度センサ201から出力される方位変化(角速度出力)とを用いて、車両の推定方位を決定する(ステップ403)。
【0029】
この方位の決定は、たとえば、長い時間、車速が低い時には、角速度センサの誤差が大きいので、一定時間以上車速が低い場合には、方位センサ方位のみを利用するという方法により行う。
【0030】
次に、車速センサ203の出力するパルス数を、0.1秒毎に、カウンタ216で計数して、その計数値を読み込む(ステップ404)。この読み込んだ値に、距離係数Rを乗算することで、0.1秒間に進んだ距離を求める(ステップ405)。この距離係数Rの求め方については後述する。
【0031】
次に、このようにして求められた0.1秒間あたりの進行距離値を、前回得られた値に積算して、車両の進行距離が20mとなったかどうかを調べ(ステップ406)、20mに満たない場合(ステップ406でNo)、今回の処理を終了して、新たな処理を開始する。
【0032】
進行距離算出処理の結果、積算された進行距離が一定距離、例えば20mとなった場合(ステップ406でYes)、その時点での進行方向と進行距離(20m)とを出力する(ステップ407)。ステップ407では、さらに、積算距離を初期化して、新たに進行距離の積算を開始する。
【0033】
次に、算出された進行方位および進行距離に基づいて、車両の現在位置を求める処理について説明する。
【0034】
図4に、この処理の流れを示す。
【0035】
本処理は、図3からの進行方位および進行距離が出力されるのを受けて起動され、実行されるマイクロプロセッサ214のルーチンである。すなわち、本処理は、車両が20m進む毎に起動される。
【0036】
さて、この処理では、まず、ステップ407で出力された進行方位と進行距離とを読み込む(ステップ501)。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。さらに、これらの各方向における移動量を、前回の処理で求められた車両の現在位置(B)に加算して、現在位置(A)を求める(ステップ502)。
【0037】
もし、装置の始動直後など、前回求められた位置がない場合には、別途設定された位置を前回求められた位置として用いて現在位置(A)を求める。
【0038】
次に、求めた現在位置(A)の周辺の地図を、CD−ROM205から、ドライバ206およびDMAコントローラ213を介して、読み出し、現在位置(A)を中心とする予め設定された距離D内にある道路データ(線分)を抜き出す(ステップ503)。
【0039】
なお、道路データとしては、たとえば、図6に示すように、2点間を結ぶ複数の線分81〜85で近似し、それら線分を、その始点と終点の座標によって表したもの等を用いることができる。たとえば、線分83は、その始点(x3、y3)と終点(x4、y4)によって表現するようにする。
【0040】
次に、ステップ503で抜き出された線分の中から、その線分の方位が、求められている進行方向と、所定値以内にある線分だけを抜き出す(ステップ504)。さらに、抜き出されたすべての線分に対し、現在位置(A)から垂線をおろし、その垂線の長さを求める(ステップ505)。
【0041】
次に、それら垂線の長さを用いて、ステップ504で抜き出されたすべての線分に対して、以下に定義されるエラーコスト値を算出する。
【0042】
エラーコスト=α×|進行方位−線分方位|+β×|垂線の長さ|
ここで、α、βは、重み係数である。これら係数の値は、現在位置の存する道路を選択する上で、進行方位と道路の方位のずれと現在位置と道路の距離のずれのどちらを重視するかによって変化させてよい。たとえば、進行方位と方位が近い道路を重視する場合は、αを大きくするようにする。
【0043】
そして、各線分のエラーコストが算出されたならば、エラーコストが算出された線分のうち、エラーコスト値が最も小さい線分を選び(ステップ506)、その選択された線分と垂線との交差する点(線分の垂線のあし)を、修正された現在位置(B)とする(ステップ507)。
【0044】
また、前述したステップ503では、現在位置(A)を中心とする予め設定された距離D内にある道路データ(線分)を抜き出したが、この距離Dは、前回行ったステップ506で選択した道路のエラーコストの値に基づいて決定する値でもよい。
【0045】
ここで、エラーコストに基づいて、検索範囲を求める理由は、エラーコストのが大きい場合は、前回求めた現在位置(B)の精度に対する信憑性が低いと考えられるので、より広い範囲を検索して道路を探す方が、正しい現在位置を求める上で適当であるからである。
【0046】
次に、得られた車両位置および方位を表示する処理について説明する。
【0047】
図5に、この処理の流れを示す。
【0048】
本処理は、1秒毎に起動され実行されるマイクロプロセッサ214のルーチンである。
【0049】
最初、スイッチ204が押圧により地図の縮尺の変更を指示されているかを、パラレルI/O211の内容を見て判断する(ステップ601)。もし、押されていれば(ステップ601でYes)、それに対応して、所定の縮尺フラグを設定する(ステップ602)。
【0050】
次に、図4の処理で求められた現在位置(B)を読み出し(ステップ603)、ステップ602で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ207に、例えば、図2に示すような状態で表示する(ステップ604)。
【0051】
そして、地図に重畳して、車両の現在位置(B)と車両の進行方位を、たとえば、先に示した図2のように、矢印記号“↑”を用いて表示する(ステップ605)。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図2のように表示する(ステップ606)。
【0052】
なお、本実施例においては、上記のように矢印記号を用いて車両位置および方向を示したが、車両位置および方向の表示形態は、位置および進行方向が、表示状態が明確に示されるものであれば、その形態は任意でよい。また、北マーク等も同様である。
【0053】
さて、前述したように車両の走行距離は、車速センサ203の出力するパルス数に距離係数Rを乗じて求める。しかし、タイヤの摩耗等によりタイヤ1回転あたりの車両の進行距離は変化するので、距離係数Rを固定値とすると、走行に伴い距離が正確に求まらなくなってくる。そこで本実施例では、逐次、図4の処理で得られた現在位置(B)(ステップ508)と、CD−ROM205からドライバ206を介して読みだした地図データから求まる道路方位と、図3の処理で得られた車両方位(ステップ403)とを比較することにより、現在位置(B)が、実際の位置に対して進んでいるか遅れているかを判断し、距離係数Rを動的に修正する。
【0054】
このような距離係数Rの修正は、たとえば、次のようにして行うことができる。すなわち、短期的に距離係数Rを補正するための補正係数Rshと長期的に距離係数Rを補正するための補正係数Raccを導入する。そして、距離係数R=R0×(1+Racc+Rsh)に従い、動的に距離係数Rを修正する。なお、ここでR0は、予め定めた距離係数Rの初期値を示している。長期的な補正係数Raccは、本実施例では10km走行する毎にそれまでの補正量の実績値に応じて距離係数Rを補正するものである。一方、短期的な補正係数Rshは10kmの中で逐次生じた走行距離の誤差を道路のカーブ(湾曲部)等を利用して検出し、これに基づいて距離係数Rをきめ細かに補正しようとするものである。
【0055】
マイクロプロセッサ214が、補正係数Rsh、補正係数Raccを、後述する処理により逐次変更する。以下、本実施例の処理の具体的な手順について説明する。
【0056】
先ず、本装置が起動されると、初期化処理において、以下に説明する処理で用いる各種変数やフラグ、すなわち、距離誤差量d、短距離距離補正係数Rsh、短距離距離補正実施距離Lsh、300m間短距離距離補正実施距離l、短距離距離補正実施フラグflag、補正距離Lcom、累積距離補正係数Racc、累積距離補正実施距離Laccをすべて0に初期化する。
【0057】
図8に示した処理は、図4の処理によって現在位置(B)が出力されるのを受けて起動され実行されるマイクロプロセッサ214のルーチンである。すなわち、本処理は、車両が20m進む毎に起動される。この処理では、図4の処理で先に読み込んだ各種センサデータおよび地図データを用いる。勿論、この時点で再度読み込みを行ってもよい。
【0058】
図8において、まず、累積距離補正実施距離Laccを更新する(701)。この距離Laccは、車両の10kmまでの走行距離を計数するための変数であり、次のステップ702でこの距離Laccが10km以上となったか否かを判定する(ステップ702)。10km以上でなければステップ704へ移行し、10km以上であれば、ステップ703において長期的に距離係数Rを補正するための累積距離補正係数Raccの算出処理(後述する図9の処理)を行い、この処理の中でLaccは0にリセットされる。後述するが、ステップ703では、Raccの更新を行うとともに、このRacc更新に伴う短距離距離補正係数Rshの修正を行う。次に、短距離距離補正実施フラグflagが0か否かを調べ(ステップ704)、0でなければステップ707へ飛び、0であれば距離誤差量dを算出する(ステップ705)。後の説明で分かるように、このflagは、Rshの算出後300m走行するまでの間”1”となる。距離誤差量dは、距離定数Rの適正な値からのずれに伴って生じる走行距離の誤差に相当する量であり、この算出方法については後述する。ついで、距離Lshの更新を行う(ステップ706)。距離Lshは、後述する図11のステップ908でリセットされ、Rshの算出2の後の走行距離を示し、後続のステップ709において2km以上に達したか否かが調べられる。
【0059】
ステップ707で、距離誤差量dをチェックする。dが0ならばステップ709へジャンプし、0でなければ図11で後述するRsh算出処理を行う(ステップ708)。
【0060】
ステップ709では、ステップ706で更新された距離Lshが2km以上か否かがチェックされ、2km未満であればこの処理を終了する。2km以上であれば、ステップ710で補正距離Lcomを次式で算出する。Lcomは、10km毎に、その間の補正係数Raccおよび補正係数Rshが走行距離に寄与した補正距離を累積したものであり、Racc算出処理(図10で後述)において補正係数Raccの算出に用いられる。
【0061】
Lcom=(Racc+Rsh)×Lsh+Lcom
この式の右辺のLcomはLcomの旧値である。したがって、左辺のLcomは、距離Lshに補正係数Racc、Rshの和を乗じて得られる新たな補正距離をLcomの旧値に加算したものである。このステップ710の処理は距離Lshが2kmに達する毎に行われる。ついで補正係数Rshの削減処理を行う(ステップ711)。この削減処理は、補正係数Rshの値を0に近づける方向へ低減させるものであり、その具体的な方法については後述する。削減処理を行う理由は次のようなことによる。すなわち、例えば高速道路のように長い距離にわたり直線的な道路が継続する場合において、ステップ705での距離誤差量dが長期間にわたり算出されない(d=0)場合がある。本実施例では、Rshは短期的に更新され続けて初めて信頼できるものと考えており、一旦算出された補正係数Rshが更新される機会がない場合には、そのRshがある期間で正しい値であったとしても、続く期間において必ずしも正しいとは言えない。したがって、そのようなRshの値を長期間使用し続けるような事態を回避するために本削減処理を行う。最後に、ステップ712で距離Lshを0にリセットしてこの処理を終了する。
【0062】
図9に、ステップ703のRacc算出処理の手順を示す。まず、その時点の補正係数RaccとRshの和を変数Rpに代入する(ステップ801)。次に、次式により、補正係数Raccを算出する(ステップ802)。
【0063】
Racc={(10km+Lcom)/(10km)}−1
次に、このRaccの値を先の変数Rpの値から減算した値を新たな補正係数Rshとする(ステップ803)。このステップ803の処理は、2つの補正係数Racc、Rshの和すなわちRp(ひいては距離係数R)がRaccの更新に伴って不連続に変化することのないようにするためのものである。Raccの変更に伴い、距離係数Rが不連続に変化すると、車両が一定速度で走行しているにも拘わらず、表示画面上での走行速度が突然変化するという事態が生じる。ステップ803の処理は、この問題を解決する。なお、このとき設定するRshは無意味なものであるが、いずれ短期的に修正されるので問題ない。Lshの変更に伴っても距離係数Rの不連続変化が生じうるが、後述するようにRshには上限および下限を設けており、その変化は比較的小さくて済む。また、図11のステップ905(後述)における基準距離300mをさらに長くすれば(例えば500m)、Rshの変化量をさらに低減することができる。
【0064】
ステップ804で、距離Lacc、Lsh、Lcomを0にリセットして本処理を終了する。
【0065】
次に、距離誤差量dの具体的な算出方法について説明する。
【0066】
本実施例において距離誤差量dは、道路のカーブの個所の車両の実際の曲がり方に応じて決定する。
【0067】
たとえば、図4のステップ508で出力された現在位置(B)が、図10の道路Aを進行するものであったとする。一方、たとえば、逐次出力される現在位置(B)のうちの、走行上カーブ開始点oより所定距離だけ前のa点を基準に、車両の進行方位の走行距離から求めた車両の現在位置の軌跡(a点以降、マップマッチングを適用せずに逐次の方位および移動量を積算して得られる軌跡)が、図中に破線で示したようにo点をオーバした地点から曲がり始めた軌跡であったとする。
【0068】
この場合には、距離係数Rが真の値より大きかったものと推定することができる。なぜならば、車両がカーブoに達したと距離係数Rを用いて推定された時点では、車両は曲がり始めていないので実際には車両はカーブに達していないと考えられるからである。また、距離係数Rが真の値より大きい度合いは、車両が実際に曲がり始めた地点とカーブ開始点oとの距離を表す図中の距離dより推定することができる。
【0069】
また、逆に、車両の進行方位の走行距離から求めた車両の現在位置の軌跡が、点oに到る前に曲がり始めた軌跡である場合には、距離係数Rが真の値より小さかったものと推定することができる。なぜならば、車両がカーブoに達したと距離係数Rを用いて推定される前に、車両は曲がり始めているので実際には車両は既にカーブoに達していると考えられるからである。また、この場合も、距離係数Rが真の値より小さい度合いは、車両が実際に曲がり始めた地点とカーブoとの距離を表す図中の距離dより推定することができる。
【0070】
したがって、図中のdに基づいて距離係数の真値よりのずれと、その度合いを判定し、これを打ち消すように補正係数Rshを定めることができる。Rshの設定方法については、後述する。
【0071】
距離誤差量dの他の求め方として、車両方位と道路の方位差から、車両がカーブoに達したと距離係数Rを用いて推定されるより前に、車両が曲がり始めたか、車両がカーブoに達したと距離係数Rを用いて推定された時点より後に車両が曲がり始めたかを判定し、カーブの曲がりの方向と、車両方位と道路の方位差の積分値より、距離係数Rが真の値よりずれている度合いを求めることもできる。
【0072】
図11により、ステップ708のRsh算出処理の具体的な手順の例を示す。
【0073】
まず、flagが0か否かを調べる(ステップ901)。0であれば、距離誤差量dに基づく補正係数Rshを算出するためのルート(ステップ902〜904)へ進み、0でなければステップ905へ進む。
【0074】
ステップ902では、先のステップ710と同様に補正距離Lcomの算出を行う。次のステップ903において、距離誤差量dに基づく補正係数Rshの算出1を行う。本実施例では、このステップ903のRshの算出時にはその絶対値を、適正と思われる値よりも過大な値とする。このようにRshの値を意図的に過大な値とするのは、次のような理由による。すなわち、距離誤差dが確認された時点では既に現在位置のずれが蓄積した状態にあり、単にRshを適正な値に補正しただけでは現在位置のずれはそのまま保存されることになる。本実施例では、Lshの補正を行ってから所定距離(本実施例では300m)の間は補正係数Rsh(絶対値)を適当と思われる値より大きくすることにより距離係数Rをその真値より意図的にずらして、それまでに蓄積された現在位置(B)のずれを、この300mを進む間に少しずつ修正し、その後、補正係数Rshを小さくして距離係数Rを正しいと思われる値に設定し直す。このように300mかけて現在位置のずれをすこしずつ補正することにより、現在位置の表示位置をずれたまま維持したり、新たな位置にジャンプさせたりすることなく、スムーズに移動させることができる。具体的なRshの符号および大きさについては図12により後述する。
【0075】
ついでステップ904においてflagを1に設定してこの処理を終了する。
【0076】
先のステップ901において、flagが0でなければ(すなわち、flagが1であれば)、ステップ905でflagを1に設定した後の走行距離である距離lが300m以下か否かをチェックする。300m以下であれば、ステップ906で距離lを更新してこの処理を終了する。
【0077】
ステップ905において距離lが300を越えた場合、ステップ907において、距離lについて前述と同様に距離Lcomが更新される。ついで各種変数d,Lsh,l,flagがすべて0にリセットされる(ステップ908)。その後、Rshの算出2の処理が行われる(ステップ909)。この処理は、前述したように、ステップ903において算出した過大なRshを、適正と思われる値に設定し直す作業に相当する。このステップにおける具体的なRshの算出法については、図13で後述する。
【0078】
図11の処理において、距離誤差量dに基づくRshの変更後、距離lが300m以下の間は、flagが1のままであり、前述のように図8の処理においてステップ705、706が迂回されるようにしている。これは、距離係数Rを適正と思われる値から意図的にずらして走行している間は、新たなRshを求める動作をしないようにするためである。
【0079】
図12に示すように、Rshの算出1におけるRshの変更量Rsh300の符号は、dが正ならば負とし、dが負ならば正とする。これにより、前述のように距離係数Rを適正な値の方向へ補正することができる。ただし、dの値は、図9に示したように道路のカ−ブを外回りしたとき(オ−バ−シュ−トしたとき)に正とし、道路のカ−ブを内回りしたとき(アンダ−シュ−トしたとき)に負とする。dRshの大きさは、dの絶対値に正の定数kを掛けた値とする。このkの値は、補正後の距離係数Rが適正な値と思われる値を通り越してしまう程度に、意図的に過大な値とする。ただし、極端に大きな値は誤動作によるものと判断して、Rsh300の値に上限および下限を設ける。そして、Rsh=Rsh0+Rsh300によってRshを求める。なお、Rsh0は距離誤差量発生前のRshである。
【0080】
なお、図12(b)に示したRshの大きさの決定方法の他に、予めdの大きさ区分に応じて所定の数値を格納したテーブルを用いる方法を採用してもよい。
【0081】
300mに達した後に補正係数Rshを低減する際のその符号および大きさの具体例を図13により説明する。Rshの変化量の符号は、Rsh300の符号が正であれば正、負であれば負とする。また、その大きさは、
|Rsh|=m×|Rsh300|+Rsh0
とする。ここに、mは1より小さい正の定数であり、Rsh0は距離誤差量発生前のRshである。
【0082】
最後に、図8のステップ711に示したRshの削減処理について説明する。
【0083】
前述のように、この削減処理は、補正係数Rshの値をさらに0に近づける方向へ低減させるものであり、次のように実行する。
【0084】
(1)Rsh>0のとき、
Rsh=Rsh−n
ここに、nは任意の正の定数である。算出したRshが負になった場合にRsh=0とする。
【0085】
(2)Rsh<0のとき、
Rsh=Rsh+n
ここに、nは(1)と同じ任意の正の定数である。算出したRshが正になった場合にRsh=0とする。
【0086】
前述のように、この低減処理により、例えば高速道路のように長い距離にわたり直線的な道路が継続する場合において、一旦算出された補正係数Rshが更新される機会がなく、それを長期間使用し続けるような事態を回避できる。
【0087】
以上、本発明の一実施例についてのみ説明したが、種々の変形・変更を行うことが可能である。例えば、上記説明中の各種の時間や距離の数値(100ms,1s,20m,300m,2km,10km)は必ずしも厳密にこれらの値に限るものではない。
【0088】
【発明の効果】
以上のように、本発明によれば、走行する道路の交差点等の多少や、車両の走行速度にかかわらず、また、格別の設備を必要することなしに適正に距離係数を補正し、高精度に車両位置を求めることができる現在位置算出装置を提供することができる。また、距離係数を補正するために長期補正係数および短期補正係数を採用する場合に、長期補正係数の設定時に距離係数の不連続な変化を防止することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る現在位置算出装置の構成を示すブロック図である。
【図2】本発明の一実施例において行う地図および現在位置の表示例を示す図である。
【図3】本発明の一実施例において行う進行方位および距離の算出処理の手順を示すフローチャートである。
【図4】本発明の一実施例において行う現在位置の算出処理の手順を示すフローチャートである。
【図5】本発明の一実施例において行う現在位置表示処理の手順を示すフローチャートである。
【図6】本発明の一実施例において用いる地図データにおける道路の表現形式を示す図である。
【図7】本発明の一実施例において行う初期化処理を示すフローチャートである。
【図8】本発明の一実施例において行う補正係数算出処理の手順を示すフローチャートである。
【図9】図8に示したRacc算出処理の手順を示すフローチャートである。
【図10】図8に示した距離誤差量dの算出処理を説明するための図である。
【図11】図8に示したRsh算出処理の手順を示すフローチャートである。
【図12】図11に示したRshの算出1の処理内容を示す図である。
【図13】図11に示したRshの算出2の処理内容を示す図である。
【符号の説明】
201 角速度センサ
202 方位センサ
203 車速センサ
204 スイッチ
205 CD−ROM
206 CD−ROMドライバ
207 ディスプレイ
208 コントローラ
Claims (5)
- 車両に搭載され、前記車両の現在位置を算出する現在位置算出装置であって、
道路を表す道路データを含む地図データを記憶する記憶手段と、
前記車両の進行方位を検出する進行方位検出手段と、
前記車両が有する車輪の回転数に、短期補正係数および長期補正係数に基づいて算出された距離係数を乗ずることにより前記車両の走行距離を算出する走行距離算出手段と、
前記車両の走行距離、前記車両の進行方位、および前記地図データに基づいて、前記車両が存在する前記道路および前記車両が存在する前記道路上の位置を算出する車両位置算出手段と、
前記道路データに含まれる前記道路の湾曲を示す情報、前記走行距離、前記進行方位、および前記地図データに基づいて、当該走行距離の誤差を求める誤差算出手段と、
前記誤差検出手段が前記誤差を検出した場合に、前記短期補正係数を生成する短期補正係数生成手段と、
前記誤差検出手段が前記誤差を検出した場合で、前記車両が第1の所定距離を走行した場合に、前記短期補正係数に前記長期補正係数を加算した値に前記第1の所定距離を乗じてから、前回算出した補正距離を加算することにより、前記補正距離を算出する補正距離算出手段と、
前記第1の所定距離よりも長い第2の所定距離を、前記車両が走行した場合に、前回算出した前記長期補正係数に、前記短期補正係数生成手段が生成した最新の前記短期補正係数を加算した仮補正係数を算出し、
前記補正距離を前記第2の所定距離で除することにより、前記長期補正係数を生成し、
前記仮補正係数から前記長期補正係数を差し引いた値を新たな前記短期補正係数とする長期補正係数生成手段とを備える
ことを特徴とする現在位置算出装置。 - 請求項1記載の現在位置算出装置であって、
前記誤差算出手段は、
マップマッチングを行わずに、前記車両の進行方位および走行距離に基づいて算出した前記車両の位置を逐次記録して車両軌跡を算出し、前記道路データを参照して、前記道路の湾曲を示す情報から前記道路の湾曲点を算出し、前記算出した前記車両軌跡の湾曲点と前記道路の湾曲点との位置のずれに応じて前記誤差を算出することを特徴とする現在位置算出装置。 - 請求項1または2に記載の現在位置算出装置であって、
前記短期補正係数生成手段は、
前記短期補正係数の生成時にその絶対値を適正と思われる値よりも大きく設定し、該設定後に前記第1の所定距離より短い第3の所定距離走行した時点で当該短期補正係数の設定値を前記適正と思われる値に変更することを特徴とする現在位置算出装置。 - 請求項3記載の現在位置算出装置であって、
前記短期補正係数生成手段は、
前記第1の所定距離走行した後、さらに前記第1の所定距離走行するまでの間に、前記短期補正係数が新たに設定し直されない場合には、当該短期補正係数の絶対値を0に近づく方向へ低減することを特徴とする現在位置算出装置。 - 車両に搭載され、前記車両の現在位置を算出する現在位置算出装置における現在位置算出方法であって、
前記現在位置算出装置は、
道路を表す道路データを含む地図データを記憶手段に記憶する記憶ステップと、
前記車両の進行方位を検出する進行方位検出ステップと、
前記車両が有する車輪の回転数に、短期補正係数および長期補正係数に基づいて算出された距離係数を乗ずることにより前記車両の走行距離を算出する走行距離算出ステップと、
前記車両の走行距離、前記車両の進行方位、および前記地図データに基づいて、前記車両が存在する前記道路および前記車両が存在する前記道路上の位置を算出する車両位置算出ステップと、
前記道路データに含まれる前記道路の湾曲を示す情報、前記走行距離、前記進行方位、および前記地図データに基づいて、当該走行距離の誤差を求める誤差算出ステップと、
前記誤差検出ステップにおいて前記誤差を検出した場合に、前記短期補正係数を生成する短期補正係数生成ステップと、
前記車両が第1の所定距離を走行した場合に、前記短期補正係数に前記長期補正係数を加算した値に前記第1の所定距離を乗じてから、前回算出した補正距離を加算することにより、前記補正距離を算出する補正距離算出ステップと、
前記第1の所定距離よりも長い第2の所定距離を、前記車両が走行した場合に、前回算出した前記長期補正係数に、前記短期補正係数生成ステップが生成した最新の前記短期補正係数を加算した仮補正係数を算出し、
前記補正距離を前記第2の補正距離で除することにより、前記長期補正係数を生成し、
前記仮補正係数から前記長期補正係数を差し引いた値を新たな前記短期補正係数とする長期補正係数生成ステップとを備える
ことを特徴とする現在位置算出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9720395A JP3732548B2 (ja) | 1995-04-21 | 1995-04-21 | 現在位置算出装置およびその距離係数補正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9720395A JP3732548B2 (ja) | 1995-04-21 | 1995-04-21 | 現在位置算出装置およびその距離係数補正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08292046A JPH08292046A (ja) | 1996-11-05 |
JP3732548B2 true JP3732548B2 (ja) | 2006-01-05 |
Family
ID=14186062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9720395A Expired - Lifetime JP3732548B2 (ja) | 1995-04-21 | 1995-04-21 | 現在位置算出装置およびその距離係数補正方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3732548B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11421995B2 (en) | 2016-11-29 | 2022-08-23 | Mitsubishi Heavy Industries Machinery Systems, Ltd. | Map matching device, map matching system, map matching method and program |
CN110672111B (zh) * | 2019-09-24 | 2021-06-25 | 广州大学 | 车辆行车路径规划方法、装置、系统、介质和设备 |
-
1995
- 1995-04-21 JP JP9720395A patent/JP3732548B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08292046A (ja) | 1996-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3578511B2 (ja) | 現在位置算出装置 | |
JP3578512B2 (ja) | 現在位置算出装置およびその距離係数補正方法 | |
EP0747668B1 (en) | Current position calculating system for a vehicle having a function for correcting a vehicle direction | |
JP3634006B2 (ja) | 現在位置算出装置 | |
JP3732548B2 (ja) | 現在位置算出装置およびその距離係数補正方法 | |
JP3545798B2 (ja) | 現在位置算出装置 | |
JP3672351B2 (ja) | 現在位置算出装置およびその距離係数補正方法 | |
JP3596939B2 (ja) | 現在位置算出装置 | |
JP3679456B2 (ja) | 現在位置算出装置 | |
JP3599420B2 (ja) | 現在位置算出装置 | |
JP3545838B2 (ja) | 現在位置算出装置 | |
JP3596943B2 (ja) | 現在位置算出システムおよび現在位置算出方法 | |
JP3679451B2 (ja) | 現在位置算出装置 | |
JP3599423B2 (ja) | 現在位置算出装置 | |
JP3545837B2 (ja) | 現在位置算出装置 | |
JP3599421B2 (ja) | 現在位置算出装置 | |
JP3764507B2 (ja) | 現在位置算出装置 | |
JP3587904B2 (ja) | 現在位置算出装置 | |
JP3569028B2 (ja) | 現在位置算出装置 | |
JP3679449B2 (ja) | 現在位置算出装置における現在位置の表示位置の修正方法および現在位置算出装置 | |
JPH08334360A (ja) | 現在位置算出装置 | |
JP3693383B2 (ja) | 現在位置算出システムおよび現在位置算出方法 | |
JP3573526B2 (ja) | 現在位置算出装置 | |
JP3545836B2 (ja) | 現在位置算出装置 | |
JPH08334343A (ja) | 現在位置算出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050510 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050609 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050711 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050714 |
|
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: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051013 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |