(57)【特許請求の範囲】
【請求項１】
車両の現在位置を算出する現在位置算出装置であって、
道路地図を表す地図データを記憶する手段と、
車両の進行方位を検出する進行方位検出手段と、
車両に搭載された車速センサから取得したパルス数および設定された距離係数を用いて車両の走行距離を算出する走行距離算出手段と、
前記走行距離算出手段により算出された車両の走行距離、前記進行方位検出手段により検出された車両の進行方位、および前記道路地図を表す地図データを用いて、車両が存在する道路および当該道路上の車両の存在する位置を推定する手段と、
道路の湾曲部において、前記走行距離、前記進行方位、および前記道路地図を表す地図データを用いて当該走行距離の誤差を算出する誤差算出手段と、
前記算出された誤差を用いて前記距離係数を補正するための補正係数を生成し、該生成した補正係数を用いて前記距離係数を補正する距離係数補正手段とを備え、
前記距離係数補正手段は、
前記補正係数を生成してから所定の第１の距離を走行するまでの間に前記誤差算出手段が新たな誤差を算出しない場合、前記距離係数の補正に用いられている補正係数の絶対値を０に近づく方向へ低減すること
を特徴とする現在位置算出装置。
【請求項２】
請求項１記載の現在位置算出装置であって、
前記誤差算出手段は、前記地図データが表す地図情報に基づき推定された車両が存在する道路の曲がりを求め、これを車両の進行方位と比較し、推定された車両の位置が前記求めた道路の曲がりに到るより早い時点で車両が曲がったかまたは遅い時点で曲がったかを前記比較結果に基づいて判定し、その早さまたは遅さの程度に基づき走行距離の誤差を算出すること
を特徴とする現在位置算出装置。
【請求項３】
請求項２記載の現在位置算出装置であって、
前記距離係数補正手段は、前記早さまたは遅さの程度に応じて、前記補正係数の絶対値を決定するとともに、前記早い時点で車両が曲がった場合には前記距離係数をより大きい値に補正するよう、かつ、前記遅い時点で車両が曲がった場合には前記距離係数をより小さい値に補正するよう、前記補正係数の符号を決定すること
を特徴とする現在位置算出装置。
【請求項４】
請求項１、２または３記載の現在位置算出装置であって、
前記距離係数補正手段は、前記補正係数の設定の際にその絶対値を適正と思われる値よりも大きく設定し、該設定後に所定の第２の距離を走行した場合、当該補正係数の設定値を前記適正と思われる値に変更すること
を特徴とする現在位置算出装置。
【請求項５】
車両の現在位置を算出する現在位置算出装置が行なう、該車両の走行距離の算出に用いる距離係数を補正する方法であって、
前記現在位置算出装置は、
車両の進行方位を検出するステップと、
車両に搭載された車速センサから取得したパルス数および設定された距離係数を用いて車両の走行距離を算出するステップと、
前記算出された車両の走行距離、前記検出された車両の進行方位、および道路地図を表す地図データを用いて、車両が存在する道路および当該道路上の車両の存在する位置を推定するステップと、
道路の湾曲部において、前記走行距離、前記進行方位、および前記道路地図を表す地図データを用いて、当該走行距離の誤差を算出するステップと、
前記算出された誤差を用いて前記距離係数を補正するための補正係数を生成し、該生成した補正係数を用いて前記距離係数を補正するステップとを行い、
前記距離係数を補正するステップは、
前記補正係数が生成されてから所定距離走行するまでの間に前記走行距離の誤差が算出されない場合、前記距離係数の補正に用いられている補正係数の絶対値を０に近づく方向へ低減すること
を特徴とする距離係数を補正する方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、進行距離や進行方位等を測定して、これらより当該車両の現在位置を算出する現在位置算出装置に関するものであり、特に、進行距離の測定誤差を補正する技術に関するものである。
【０００２】
【従来の技術】
従来、車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の進行距離に基づいて算出することが行われている。
【０００３】
また、車両の進行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ１回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【０００４】
また、このように車両の進行方向と進行距離から求めた現在位置の誤差を補正するために、特公平６−１３９７２号公報記載の技術のように、道路データに整合するように、求められた車両の現在位置を修正する、いわゆる、マップマッチングの技術が知られている。このマップマッチングの技術によれば、位置算出の精度を高めることができる。
【０００５】
ところで、走行時には、タイヤの磨耗や、温度変化による膨張等により、タイヤの直径、すなわち、距離係数が時事刻々と変化する。このため、進行距離の算出において誤差が発生し、現在位置の算出が高精度に行えなくなる。たとえば、タイヤ１回転あたりの進行距離係数に、１％の誤差が存在すると、１００ｋｍ走行した場合、１ｋｍの誤差が発生してしまう。
【０００６】
このような進行距離の測定誤差は、通常の道路を走行している場合は、前述したマップマッチングの技術により、ある程度修正できる。しかし、高速道路等の道路を走行する際には、マップマッチングで利用できるカーブや交差点等の特徴が道路にないため、充分に誤差を修正することができなくなる。
【０００７】
さらに、一旦、測定した現在位置と真の現在位置との間に１ｋｍ程度の誤差が発生してしまうと、マップマッチングの技術によっては、正しい位置に補正することが困難になる。
【０００８】
そこで、進行距離の測定の誤差を無くすために、従来は、（１）交差点を曲がった時（始点）から、次の交差点を曲がる（終点）までの道路データと、計測した回転数より得られる進行距離とを比較することにより、タイヤ１回転あたりの距離係数を補正することが行われていた。また、（２）特公平６−２７６５２号公報に記載のように、２つのビーコンの間の地図上の距離と、走行して計測した距離を比較することにより、前述した距離係数を補正する技術も知られている。また、（３）特開平２−１０７９５８号公報記載のように、ＧＰＳ衛星よりの信号を用いて現在位置を算出するＧＰＳ受信装置を利用して車速を求め、それと検出されたタイヤの回転数とを比較して前述した距離係数を補正する技術も知られている。
【０００９】
【発明が解決しようとする課題】
しかし、前述した（１）の技術では、交差点間の道路が少しでも曲がっていたり、車両が蛇行運転したりすると、正確な補正を行うことができなくなる。また、前述した始終点を正確に特定するのが難しいという問題もある。たとえば、交差点内に複数車線がある場合、どちらの車線を通って曲がるかによって始終点は異なってくるが、このような車線まで特定することは容易ではない。
【００１０】
また、前述した（２）の技術でも、道路が直線でないと正確な補正を行うことができないし、また、車両が利用できるビーコン設備を設けなければならないという問題点がある。
【００１１】
また、前述した（３）の技術では、車両の速度が低い場合に、正確な速度情報を得ることができない場合があり、また、車両の速度変化が大きい場合には処理に時間がかかり、算出した速度に誤差が生じる。このため、正確な補正を行えない場合があるという問題がある。また、車両に利用できるＧＰＳ受信装置やＧＰＳアンテナを設ける必要がある。また、車両がトンネルや高架下、建物の影等ＧＰＳ信号が受信できない走行状態の場合には、ＧＰＳ衛星を利用できないため補正を行うことができなくなるという問題もある。
【００１２】
そこで、本発明は、走行する道路の交差点等の多少や、車両の走行速度にかかわらず、また、格別の設備を必要することなしに適正に距離係数を補正し、高精度に車両位置を求めることができる現在位置算出装置を提供することを目的とする。
【００１３】
本発明の他の目的は、距離係数を補正するための補正係数が長時間設定し直されない場合の不都合を回避することができる現在位置算出装置を提供することにある。
【００１４】
【課題を解決するための手段】
前記目的達成のために、本発明は、  車輪の回転に伴い移動する車両に搭載され、当該車両の現在位置を算出する現在位置算出装置であって、
道路地図を表す地図データを記憶する手段と、
車両の進行方位を検出する進行方位検出手段と、
車輪の回転速度を検出する回転速度検出手段と、
該回転速度検出手段により検出された車輪の回転速度と、設定された距離係数とに応じて車両の走行距離を算出する走行距離算出手段と、
該走行距離算出手段により算出された車両の走行距離と前記進行方位検出手段により検出された車両の進行方位と前記道路地図を表す地図データとに応じて、車両が存在する道路と当該道路上の車両の存在する位置を推定する手段と、
道路の湾曲部において、前記走行距離と前記進行方位と前記道路地図を表す地図データに応じて、当該走行距離の誤差を求める誤差算出手段と、
該求められた誤差に基づいて、前記距離係数を補正するための補正係数を生成する距離係数補正手段とを備え、
前記距離係数補正手段は、前記補正係数が設定されてから所定距離走行するまでの間に、前記誤差算出手段の新たな出力に基づいて前記補正係数が設定し直されない場合には、該補正係数の絶対値を０に近づく方向へ低減することを特徴とする現在位置算出装置を提供する。
【００１５】
本発明は、また、車両に搭載され、当該車両の現在位置を算出する現在位置算出装置において、車軸の回転速度に基づき車両の走行距離を求めるための距離係数を補正する方法であって、
道路の湾曲部において、算出された車両の走行距離と検出された車両の進行方位と道路地図を表す地図データに応じて、当該走行距離の誤差を求め、
該求められた誤差に基づいて、前記距離係数を補正するための補正係数を生成し、
該補正係数により、車両の走行中、逐次、前記距離係数を補正するようにし、
前記補正係数が設定されてから所定距離走行するまでの間に、新たな走行距離の誤差に基づいて前記補正係数が設定し直されない場合には、該補正係数の絶対値を０に近づく方向へ低減することを特徴とする現在位置算出装置の距離係数補正方法を提供する。
【００１６】
【作用】
本発明の現在位置算出装置では、道路の湾曲部を利用して進行距離の誤差を求め、これに応じて距離係数を補正するようにしたので、走行する道路に交差点等の特徴が無くても、また、ＧＰＳ等に格別の設備がなくとも、距離係数を補正することができる。また、このような距離係数の補正の方法によれば、車両の走行速度に直接依存することもない。
【００１７】
かつ、補正係数が設定されてから所定距離走行するまでの間に、新たな走行距離の誤差に基づいて前記補正係数が設定し直されない場合には、該補正係数の絶対値を０に近づく方向へ低減するようにした。これは、補正係数が長距離にわたって更新されない場合、すなわち直線的な道路が長く続き新たな進行距離の誤差データが長距離にわたって獲得されない場合には、現在の補正係数をそのまま維持しておくことが却って走行距離誤差を増加させてしまうような場合がありうるという事情を考慮したものである。本発明によればこのような不都合を回避することができる。
【００１８】
【実施例】
以下、本発明に係る現在位置算出装置の一実施例について説明する。
【００１９】
まず図１により、本実施例に係る現在位置算出装置の構成について説明する。
【００２０】
本実施例に係る現在位置算出装置は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ２０１と、地磁気を検出することで車両の進行方位を検出する方位センサ２０２と、車両のトランスミッションの出力軸の回転速度に比例した時間間隔でパルスを出力する車速センサ２０３を備えている。
【００２１】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ２０７と、ディスプレイ２０７に表示する地図の縮尺切り替えの指令をユーザに（運転者）から受け付けるスイッチ２０４と、デジタル地図データを記憶しておくＣＤ−ＲＯＭ２０５と、そのＣＤ−ＲＯＭ２０５から地図データを読みだすためのドライバ２０６とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ２０８を備えている。
【００２２】
次に、コントローラ２０８は、角速度センサ２０１の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器２０９と、方位センサ２０２の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器２１０と、車速センサ２０３から出力されるパルス数を０．１秒毎にカウントするカウンタ２１６と、スイッチ２０４の押圧の有無を入力するパラレルＩ／Ｏ２１１と、ＣＤ−ＲＯＭ２０５から読みだされた地図データを転送するＤＭＡ（Direct Memory Access）コントローラ２１２と、ディスプレイ２０７に地図画像を表示する表示プロセッサ２１３とを有する。
【００２３】
また、コントローラ２０８は、さらに、マイクロプロセッサ２１４と、メモリ２１５とを有する。マイクロプロセッサ２１４は、Ａ／Ｄ変換器２０９を介して得た角速度センサ２０１の信号、Ａ／Ｄ変換器２１０を介して得た方位センサ２０２の信号、カウンタ２１６がカウントした車速センサ２０３の出力パルス数、パラレルＩ／Ｏ２１１を介して入力するスイッチ２０４の押圧の有無、ＤＭＡコントローラ２１２を介して得たＣＤ−ＲＯＭ２０５からの地図データを受け入れて、それら信号に基づいて処理を行い、車両の現在位置を算出して、それを表示プロセッサ２１３を介してディスプレイ２０７に表示させる。この車両位置の表示は、図２に示すように、すでにディスプレイ２０７に表示している地図上に矢印マーク等を重畳して表示することにより行う。これにより、ユーザは、地図上で車両の現在位置を知ることができる。メモリ２１５は、このような動作を実現するための処理（後述）の内容を規定するプログラムや、後述する各種テーブル等を格納したＲＯＭと、マイクロプロセッサ２１４が処理を行う場合にワークエリアとして使用するＲＡＭとを含んでいる。
【００２４】
以下、本実施例に係る現在位置算出装置の動作について説明する。
【００２５】
まず、車両の進行方位及び進行距離を算出する処理、算出された進行方位及び距離から車両の現在位置を決定する処理、得られた車両位置および方位を表示する処理の三つの処理について説明する。
【００２６】
図３に、車両の進行方位及び進行距離を算出する処理の流れを説明する。
【００２７】
この処理は、一定周期、たとえば１００ｍＳ毎に起動され実行されるマイクロプロセッサ２１４のルーチンである。
【００２８】
このルーチンでは、最初、Ａ／Ｄ変換器２０９から角速度センサ２０１の出力値を読み込む（ステップ４０１）。この角速度センサ２０１は、その出力値に方位変化が出力されるので、車両の進行方向の相対的な値しか検出できない。このため、次に、Ａ／Ｄ変換器２１０から方位センサ２０２の出力値を読み込み（ステップ４０２）、この方位センサ２０２の出力値により算出された絶対方位と角速度センサ２０１から出力される方位変化（角速度出力）とを用いて、車両の推定方位を決定する（ステップ４０３）。
【００２９】
この方位の決定は、たとえば、長い時間、車速が低い時には、角速度センサの誤差が大きいので、一定時間以上車速が低い場合には、方位センサ方位のみを利用するという方法により行う。
【００３０】
次に、車速センサ２０３の出力するパルス数を、０．１秒毎に、カウンタ２１６で計数して、その計数値を読み込む（ステップ４０４）。この読み込んだ値に、距離係数Ｒを乗算することで、０．１秒間に進んだ距離を求める（ステップ４０５）。この距離係数Ｒの求め方については後述する。
【００３１】
次に、このようにして求められた０．１秒間あたりの進行距離値を、前回得られた値に積算して、車両の進行距離が２０ｍとなったかどうかを調べ（ステップ４０６）、２０ｍに満たない場合（ステップ４０６でＮｏ）、今回の処理を終了して、新たな処理を開始する。
【００３２】
進行距離算出処理の結果、積算された進行距離が一定距離、例えば２０ｍとなった場合（ステップ４０６でＹｅｓ）、その時点での進行方向と進行距離（２０ｍ）とを出力する（ステップ４０７）。ステップ４０７では、さらに、積算距離を初期化して、新たに進行距離の積算を開始する。
【００３３】
次に、算出された進行方位および進行距離に基づいて、車両の現在位置を求める処理について説明する。
【００３４】
図４に、この処理の流れを示す。
【００３５】
本処理は、図３からの進行方位および進行距離が出力されるのを受けて起動され、実行されるマイクロプロセッサ２１４のルーチンである。すなわち、本処理は、車両が２０ｍ進む毎に起動される。
【００３６】
さて、この処理では、まず、ステップ４０７で出力された進行方位と進行距離とを読み込む（ステップ５０１）。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。さらに、これらの各方向における移動量を、前回の処理で求められた車両の現在位置（Ｂ）に加算して、現在位置（Ａ）を求める（ステップ５０２）。
【００３７】
もし、装置の始動直後など、前回求められた位置がない場合には、別途設定された位置を前回求められた位置として用いて現在位置（Ａ）を求める。
【００３８】
次に、求めた現在位置（Ａ）の周辺の地図を、ＣＤ−ＲＯＭ２０５から、ドライバ２０６およびＤＭＡコントローラ２１３を介して、読み出し、現在位置（Ａ）を中心とする予め設定された距離Ｄ内にある道路データ（線分）を抜き出す（ステップ５０３）。
【００３９】
なお、道路データとしては、たとえば、図６に示すように、２点間を結ぶ複数の線分８１〜８５で近似し、それら線分を、その始点と終点の座標によって表したもの等を用いることができる。たとえば、線分８３は、その始点（ｘ３、ｙ３）と終点（ｘ４、ｙ４）によって表現するようにする。
【００４０】
次に、ステップ５０３で抜き出された線分の中から、その線分の方位が、求められている進行方向と、所定値以内にある線分だけを抜き出す（ステップ５０４）。さらに、抜き出されたすべての線分に対し、現在位置（Ａ）から垂線をおろし、その垂線の長さを求める（ステップ５０５）。
【００４１】
次に、それら垂線の長さを用いて、ステップ５０４で抜き出されたすべての線分に対して、以下に定義されるエラーコスト値を算出する。
【００４２】
エラーコスト＝α×｜進行方位−線分方位｜＋β×｜垂線の長さ｜
ここで、α、βは、重み係数である。これら係数の値は、現在位置の存する道路を選択する上で、進行方位と道路の方位のずれと現在位置と道路の距離のずれのどちらを重視するかによって変化させてよい。たとえば、進行方位と方位が近い道路を重視する場合は、αを大きくするようにする。
【００４３】
そして、各線分のエラーコストが算出されたならば、エラーコストが算出された線分のうち、エラーコスト値が最も小さい線分を選び（ステップ５０６）、その選択された線分と垂線との交差する点（線分の垂線のあし）を、修正された現在位置（Ｂ）とする（ステップ５０７）。
【００４４】
また、前述したステップ５０３では、現在位置（Ａ）を中心とする予め設定された距離Ｄ内にある道路データ（線分）を抜き出したが、この距離Ｄは、前回行ったステップ５０６で選択した道路のエラーコストの値に基づいて決定する値でもよい。
【００４５】
ここで、エラーコストに基づいて、検索範囲を求める理由は、エラーコストのが大きい場合は、前回求めた現在位置（Ｂ）の精度に対する信憑性が低いと考えられるので、より広い範囲を検索して道路を探す方が、正しい現在位置を求める上で適当であるからである。
【００４６】
次に、得られた車両位置および方位を表示する処理について説明する。
【００４７】
図５に、この処理の流れを示す。
【００４８】
本処理は、１秒毎に起動され実行されるマイクロプロセッサ２１４のルーチンである。
【００４９】
最初、スイッチ２０４が押圧により地図の縮尺の変更を指示されているかを、パラレルＩ／Ｏ２１１の内容を見て判断する（ステップ６０１）。もし、押されていれば（ステップ６０１でＹｅｓ）、それに対応して、所定の縮尺フラグを設定する（ステップ６０２）。
【００５０】
次に、図４の処理で求められた現在位置（Ｂ）を読み出し（ステップ６０３）、ステップ６０２で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ２０７に、例えば、図２に示すような状態で表示する（ステップ６０４）。
【００５１】
そして、地図に重畳して、車両の現在位置（Ｂ）と車両の進行方位を、たとえば、先に示した図２のように、矢印記号“↑”を用いて表示する（ステップ６０５）。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図２のように表示する（ステップ６０６）。
【００５２】
なお、本実施例においては、上記のように矢印記号を用いて車両位置および方向を示したが、車両位置および方向の表示形態は、位置および進行方向が、表示状態が明確に示されるものであれば、その形態は任意でよい。また、北マーク等も同様である。
【００５３】
さて、前述したように車両の走行距離は、車速センサ２０３の出力するパルス数に距離係数Ｒを乗じて求める。しかし、タイヤの摩耗等によりタイヤ１回転あたりの車両の進行距離は変化するので、距離係数Ｒを固定値とすると、走行に伴い距離が正確に求まらなくなってくる。そこで本実施例では、逐次、図４の処理で得られた現在位置（Ｂ）（ステップ５０８）と、ＣＤ−ＲＯＭ２０５からドライバ２０６を介して読みだした地図データから求まる道路方位と、図３の処理で得られた車両方位（ステップ４０３）とを比較することにより、現在位置（Ｂ）が、実際の位置に対して進んでいるか遅れているかを判断し、距離係数Ｒを動的に修正する。
【００５４】
このような距離係数Ｒの修正は、たとえば、次のようにして行うことができる。すなわち、距離係数Ｒを逐次動的に補正するための補正係数Ｒｓｈを導入する。そして、距離係数Ｒ＝Ｒ０×(１＋Ｒｓｈ)に従い、動的に距離係数Ｒを修正する。なお、ここでＲ０は、予め定めた距離係数Ｒの初期値を示している。補正係数Ｒｓｈは走行中で逐次生じた走行距離の誤差を道路のカーブ（湾曲部）等を利用して検出し、これに基づいて距離係数Ｒをきめ細かに補正しようとするものである。
【００５５】
マイクロプロセッサ２１４が、補正係数Ｒｓｈを、後述する処理により逐次変更する。以下、本実施例の処理の具体的な手順について説明する。
【００５６】
先ず、本装置が起動されると、初期化処理において、以下に説明する処理で用いる各種変数やフラグ、すなわち、距離誤差量ｄ、距離補正係数Ｒｓｈ、距離補正実施距離ｌ、距離補正有効距離Ｌｓｈ、距離補正実施フラグｆｌａｇをすべて０に初期化する。
【００５７】
図８に示した処理は、図４の処理によって現在位置（Ｂ）が出力されるのを受けて起動され実行されるマイクロプロセッサ２１４のルーチンである。すなわち、本処理は、車両が２０ｍ進む毎に起動される。この処理では、図４の処理で先に読み込んだ各種センサデータおよび地図データを用いる。勿論、この時点で再度読み込みを行ってもよい。
【００５８】
図８において、まず、距離補正実施フラグｆｌａｇが０か否かを調べ（ステップ８０１）、０でなければステップ８０４へ飛び、０であれば距離誤差量ｄを算出する（ステップ８０２）。後の説明で分かるように、このｆｌａｇは、Ｒｓｈの算出後３００ｍ走行するまでの間”１”となる。距離誤差量ｄは、距離定数Ｒの適正な値からのずれに伴って生じる走行距離の誤差に相当する量であり、この算出方法については後述する。ついで、距離Ｌｓｈの更新を行う（ステップ８０３）。距離Ｌｓｈは、後述する図１０のステップ９０６でリセットされ、Ｒｓｈの算出２の後の走行距離を示し、次のステップ８０６においてこれが２ｋｍ以上に達したか否かが調べられる。
【００５９】
ステップ８０４で、距離誤差量ｄをチェックする。ｄが０ならばステップ８０６へジャンプし、０でなければ図１１で後述するＲｓｈ算出１の処理を行う（ステップ８０５）。
【００６０】
ステップ８０６では、ステップ８０３で更新された距離Ｌｓｈが２ｋｍ以上か否かがチェックされ、２ｋｍ未満であればこの処理を終了する。２ｋｍ以上であれば、補正係数Ｒｓｈの削減処理を行う（ステップ８０７）。この削減処理は、補正係数Ｒｓｈの値を０に近づける方向へ低減させるものであり、その具体的な方法については後述する。削減処理を行う理由は次のようなことによる。すなわち、例えば高速道路のように長い距離にわたり直線的な道路が継続する場合において、ステップ８０２での距離誤差量ｄが長期間にわたり算出されない（ｄ＝０）場合がある。本実施例では、Ｒｓｈは短期的に更新され続けて初めて信頼できるものと考えており、一旦算出された補正係数Ｒｓｈが更新される機会がない場合には、そのＲｓｈがある期間で正しい値であったとしても、続く期間において必ずしも正しいとは言えない。したがって、そのようなＲｓｈの値を長期間使用し続けると却って走行距離の誤差を増大させる場合がある。このような事態を回避するために本削減処理を行う。最後に、ステップ８０８で距離Ｌｓｈを０にリセットしてこの処理を終了する。
【００６１】
次に、距離誤差量ｄの具体的な算出方法について説明する。
【００６２】
本実施例において距離誤差量ｄは、道路のカーブの個所の車両の実際の曲がり方に応じて決定する。
【００６３】
たとえば、図４のステップ５０８で出力された現在位置（Ｂ）が、図９の道路Ａを進行するものであったとする。一方、たとえば、逐次出力される現在位置（Ｂ）のうちの、走行上カーブ開始点ｏより所定距離だけ前のａ点を基準に、車両の進行方位の走行距離から求めた車両の現在位置の軌跡（ａ点以降、マップマッチングを適用せずに逐次の方位および移動量を積算して得られる軌跡）が、図中に破線で示したようにｏ点をオーバした地点から曲がり始めた軌跡であったとする。
【００６４】
この場合には、距離係数Ｒが真の値より大きかったものと推定することができる。なぜならば、車両がカーブｏに達したと距離係数Ｒを用いて推定された時点では、車両は曲がり始めていないので実際には車両はカーブに達していないと考えられるからである。また、距離係数Ｒが真の値より大きい度合いは、車両が実際に曲がり始めた地点とカーブ開始点ｏとの距離を表す図中の距離ｄより推定することができる。
【００６５】
また、逆に、車両の進行方位の走行距離から求めた車両の現在位置の軌跡が、点ｏに到る前に曲がり始めた軌跡である場合には、距離係数Ｒが真の値より小さかったものと推定することができる。なぜならば、車両がカーブｏに達したと距離係数Ｒを用いて推定される前に、車両は曲がり始めているので実際には車両は既にカーブｏに達していると考えられるからである。また、この場合も、距離係数Ｒが真の値より小さい度合いは、車両が実際に曲がり始めた地点とカーブｏとの距離を表す図中の距離ｄより推定することができる。
【００６６】
したがって、図中のｄに基づいて距離係数の真値よりのずれと、その度合いを判定し、これを打ち消すように補正係数Ｒｓｈを定めることができる。Ｒｓｈの設定方法については、後述する。
【００６７】
距離誤差量ｄの他の求め方として、車両方位と道路の方位差から、車両がカーブｏに達したと距離係数Ｒを用いて推定されるより前に、車両が曲がり始めたか、車両がカーブｏに達したと距離係数Ｒを用いて推定された時点より後に車両が曲がり始めたかを判定し、カーブの曲がりの方向と、車両方位と道路の方位差の積分値より、距離係数Ｒが真の値よりずれている度合いを求めることもできる。
【００６８】
図１０により、ステップ８０５のＲｓｈ算出処理の具体的な手順の例を示す。
【００６９】
まず、ｆｌａｇが０か否かを調べる（ステップ９０１）。０であれば、距離誤差量ｄに基づく補正係数Ｒｓｈを算出するためのルート（ステップ９０２、９０３）へ進み、０でなければステップ９０４へ進む。
【００７０】
ステップ９０２では、距離誤差量ｄに基づく補正係数Ｒｓｈの算出１を行う。本実施例では、このステップ９０２のＲｓｈの算出時にはその絶対値を、適正と思われる値よりも過大な値とする。このようにＲｓｈの値を意図的に過大な値とするのは、次のような理由による。すなわち、距離誤差ｄが確認された時点では既に現在位置のずれが蓄積した状態にあり、単にＲｓｈを適正な値に補正しただけでは現在位置のずれはそのまま保存されることになる。本実施例では、Ｌｓｈの補正を行ってから所定距離（本実施例では３００ｍ）の間は補正係数Ｒｓｈ（絶対値）を適当と思われる値より大きくすることにより距離係数Ｒをその真値より意図的にずらして、それまでに蓄積された現在位置（Ｂ）のずれを、この３００ｍを進む間に少しずつ修正し、その後、補正係数Ｒｓｈを小さくして距離係数Ｒを正しいと思われる値に設定し直す。このように３００ｍかけて現在位置のずれをすこしずつ補正することにより、現在位置の表示位置をずれたまま維持したり、新たな位置にジャンプさせたりすることなく、スムーズに移動させることができる。具体的なＲｓｈの符号および大きさについては図１１により後述する。
【００７１】
ついでステップ９０３においてｆｌａｇを１に設定してこの処理を終了する。
【００７２】
先のステップ９０１においてｆｌａｇが０でなければ（すなわち、ｆｌａｇが１であれば）、ステップ９０４でｆｌａｇを１に設定した後の走行距離である距離ｌが３００ｍ以下か否かをチェックする。３００ｍ以下であれば、ステップ９０５で距離ｌを更新してこの処理を終了する。
【００７３】
ステップ９０４において距離ｌが３００ｍを越えた場合、各種変数ｄ，Ｌｓｈ，ｌ，ｆｌａｇがすべて０にリセットされる（ステップ９０６）。その後、Ｒｓｈの算出２の処理が行われる（ステップ９０７）。この処理は、前述したように、ステップ９０２において算出した過大なＲｓｈを、適正と思われる値に設定し直す作業に相当する。このステップにおける具体的なＲｓｈの算出法については、図１２で後述する。
【００７４】
図１０の処理において、距離誤差量ｄに基づくＲｓｈの変更後、距離ｌが３００ｍ以下の間は、ｆｌａｇが１のままであり、前述のように図８の処理においてステップ８０２、８０３が迂回されるようにしている。これは、距離係数Ｒを適正と思われる値から意図的にずらして走行している間は、新たなＲｓｈを求める動作をしないようにするためである。
【００７５】
図１１に示すように、Ｒｓｈの算出１におけるＲｓｈの変更量Ｒｓｈ３００の符号は、ｄが正ならば負とし、ｄが負ならば正とする。これにより、前述のように距離係数Ｒを適正な値の方向へ補正することができる。ただし、ｄの値は、図９に示したように道路のカ−ブを外回りしたとき（オ−バ−シュ−トしたとき）に正とし、道路のカ−ブを内回りしたとき（アンダ−シュ−トしたとき）に負とする。Ｒｓｈ３００の大きさは、ｄの絶対値に正の定数ｋを掛けた値とする。このｋの値は、補正後の距離係数Ｒが適正な値と思われる値を通り越してしまう程度に、意図的に過大な値とする。ただし、極端に大きな値は誤動作によるものと判断して、Ｒｓｈ３００の値に上限および下限を設ける。そして、Ｒｓｈ＝Ｒｓｈ０＋Ｒｓｈ３００によってＲｓｈを求める。ただし、Ｒｓｈ３００として、Ｒｓｈ０が取りえる値より充分大きな値を用いるときには、Ｒｓｈ＝Ｒｓｈ３００としてよい。なお、Ｒｓｈ０は距離誤差量発生前のＲｓｈである。
【００７６】
なお、上述したＲｓｈ３００の大きさの決定方法の他に、予めｄの大きさ区分に応じて所定の数値を格納したテーブルを用いる方法を採用してもよい。
【００７７】
３００ｍに達した後に補正係数Ｒｓｈを低減する際のその符号および大きさの具体例を図１２により説明する。Ｒｓｈの変化量の符号は、Ｒｓｈ３００の符号が正であれば正、負であれば負とする。また、その大きさは、
｜Ｒｓｈ｜＝ｍ×｜Ｒｓｈ３００｜＋Ｒｓｈ０
とする。ここに、ｍは１より小さい正の定数である。
【００７８】
最後に、図８のステップ８０７に示したＲｓｈの削減処理について説明する。
【００７９】
前述のように、この削減処理は、補正係数Ｒｓｈの値をさらに０に近づける方向へ低減させるものであり、次のように実行する。
【００８０】
（１）Ｒｓｈ＞０のとき、
Ｒｓｈ＝Ｒｓｈ−ｎ
ここに、ｎは任意の正の定数である。算出したＲｓｈが負になった場合にＲｓｈ＝０とする。
【００８１】
（２）Ｒｓｈ＜０のとき、
Ｒｓｈ＝Ｒｓｈ＋ｎ
ここに、ｎは（１）と同じ任意の正の定数である。算出したＲｓｈが正になった場合にＲｓｈ＝０とする。
【００８２】
前述のように、この低減処理により、例えば高速道路のように長い距離にわたり直線的な道路が継続する場合において、一旦算出された補正係数Ｒｓｈが更新される機会がなく、それを長期間使用し続けるような事態を回避できる。
【００８３】
以上、本発明の一実施例についてのみ説明したが、種々の変形・変更を行うことが可能である。例えば、上記説明中の各種の時間や距離の数値（１００ｍｓ，１ｓ，２０ｍ，３００ｍ，２ｋｍ）は必ずしも厳密にこれらの値に限るものではない。
【００８４】
【発明の効果】
以上のように、本発明によれば、走行する道路の交差点等の多少や、車両の走行速度にかかわらず、また、格別の設備を必要することなしに適正に距離係数を補正し、高精度に車両位置を求めることができる現在位置算出装置を提供することができる。また、距離係数を補正するための補正係数が長時間設定し直されない場合の不都合を回避することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に係る現在位置算出装置の構成を示すブロック図である。
【図２】本発明の一実施例において行う地図および現在位置の表示例を示す図である。
【図３】本発明の一実施例において行う進行方位および距離の算出処理の手順を示すフローチャートである。
【図４】本発明の一実施例において行う現在位置の算出処理の手順を示すフローチャートである。
【図５】本発明の一実施例において行う現在位置表示処理の手順を示すフローチャートである。
【図６】本発明の一実施例において用いる地図データにおける道路の表現形式を示す図である。
【図７】本発明の一実施例において行う初期化処理を示すフローチャートである。
【図８】本発明の一実施例において行う補正係数算出処理の手順を示すフローチャートである。
【図９】図８に示した距離誤差量ｄの算出処理を説明するための図である。
【図１０】図８に示したＲｓｈ算出処理の手順を示すフローチャートである。
【図１１】図１０に示したＲｓｈの算出１の処理内容を示す図である。
【図１２】図１０に示したＲｓｈの算出２の処理内容を示す図である。
【符号の説明】
２０１    角速度センサ
２０２    方位センサ
２０３    車速センサ
２０４    スイッチ
２０５    ＣＤ−ＲＯＭ
２０６    ＣＤ−ＲＯＭドライバ
２０７    ディスプレイ
２０８    コントローラ
【図１】
0003672351.tif 000002
【図２】
0003672351.tif 000003
【図３】
0003672351.tif 000004
【図４】
0003672351.tif 000005
【図５】
0003672351.tif 000006
【図６】
0003672351.tif 000007
【図７】
0003672351.tif 000008
【図８】
0003672351.tif 000009
【図９】
0003672351.tif 000010
【図１０】
0003672351.tif 000011
【図１１】
0003672351.tif 000012
【図１２】
0003672351.tif 000013