以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
図1は本発明の第1の実施の形態におけるナビゲーション装置の機能ブロック図である。
図において、16は道路の位置及び形状を表すためのノードデータが格納されるデータ記憶部、61は該データ記憶部16からノードデータを読み出すデータ読出手段、91は前記ノードデータに基づいて、所定のノードにおいて2本のリンクが成すリンク角が設定値より大きいかどうかを判断し、リンク角が設定値より大きい場合に、前記所定のノードのノードデータが有効であるとし、前記リンク角が前記設定値以下である場合に、前記所定のノードのノードデータが無効であるとするノードデータ判断手段、92はノードデータが無効である場合に、無効なノードデータを間引くノードデータ加工手段、93は有効なノードデータに基づいて走行制御用の制御パラメータを算出するパラメータ算出手段、94は前記制御パラメータに基づいて走行制御を行う走行制御手段である。
図2は本発明の第1の実施の形態における車両制御装置の概略図、図3は本発明の第1の実施の形態における推奨車速マップを示す図、図4は本発明の第1の実施の形態における減速線マップを示す図、図5は本発明の第1の実施の形態における自動変速機の動作を示すフローチャートである。なお、図3において、横軸にノード半径を、縦軸に推奨車速VR を、図4において、横軸に車両の位置を、縦軸に車速Vを採ってある。
図2において、10は自動変速機(A/T)、11はエンジン(E/G)、12は前記自動変速機10の全体の制御を行う自動変速機制御装置(ECU)、13は前記エンジン11の全体の制御を行うエンジン制御装置、14はナビゲーション装置である。前記自動変速機10は、トルクコンバータ、フルードカップリング等の図示しない流体伝動装置、及び図示しない変速装置を備え、前記流体伝動装置は、エンジン11によって発生させられた回転を作動流体、すなわち、油を介して変速装置に伝達するようになっている。また、該変速装置は前記流体伝動装置から回転を受けると、複数の変速段で変速を行い、図示しない駆動輪に伝達する。
そして、41はウインカセンサ、42は運転者の動作を検出するアクセルセンサ、43は運転者の動作を検出するブレーキセンサ、44は車速センサ、45はスロットル開度センサ、46はROM、47は通常モードとナビモードとを選択するためのモード選択部である。
前記ナビゲーション装置14は、車両の現在位置を検出する現在位置検出部15、ノードデータ等が格納されたデータ記憶部16、入力された情報に基づいてナビゲーション処理等の各種の演算処理を行うナビゲーション処理部17、入力部34、表示部35、音声入力部36、音声出力部37及び通信部38を有する。
そして、前記現在位置検出部15は、GPS(グローバルポジショニングセンサ)21、地磁気センサ22、距離センサ23、ステアリングセンサ24、ビーコンセンサ25、ジャイロセンサ26、図示しない高度計等から成る。
前記GPS21は、人工衛星によって発生させられた電波を受信して車両の現在位置を検出し、前記地磁気センサ22は、地磁気を測定することによって車両が向いている方位を検出し、前記距離センサ23は、道路上の所定の地点間の距離等を検出する。前記距離センサ23としては、例えば、車輪の回転数を測定し、該回転数に基づいて距離を検出するもの、加速度を測定し、該加速度を2回積分して距離を検出するもの等を使用することができる。
また、前記ステアリングセンサ24は舵(だ)角を検出するためのものであり、ステアリングセンサ24としては、例えば、図示しないハンドルの回転部に取り付けられた光学的な回転センサ、回転抵抗、車輪に取り付けられた角度センサ等が使用される。
そして、前記ビーコンセンサ25は、道路に沿って配設されたビーコンからの位置情報を受信して現在位置を検出する。前記ジャイロセンサ26は、車両の回転角速度を検出するためのものであり、ジャイロセンサ26としては、ガスレートジャイロ、振動ジャイロ等が使用される。そして、前記ジャイロセンサ26によって検出された回転角速度を積分することにより、車両が向いている方位を検出することができる。
なお、前記GPS21及びビーコンセンサ25においては、それぞれ単独で現在位置が検出されるが、前記距離センサ23においては、距離センサ23によって検出された距離と、地磁気センサ22及びジャイロセンサ26によって検出された方位とを組み合わせることにより現在位置が算出される。また、距離センサ23によって検出された距離と、ステアリングセンサ24によって検出された舵角とを組み合わせることにより現在位置を算出することもできる。
そして、前記データ記憶部16は、地図データファイル、交差点データファイル、ノードデータファイル、道路データファイル、写真データファイル、及び各地域のホテル、ガソリンスタンド、観光地案内等の地域ごとの情報が格納されたデータファイルを備える。該各データファイルには、経路を検索するためのデータのほか、前記表示部35の画面に、検索した経路に沿って案内図を表示したり、交差点又は経路における特徴的な写真、コマ図等を表示したり、次の交差点までの距離、次の交差点における進行方向等を表示したり、他の案内情報を表示したりするための各種のデータが格納される。なお、前記データ記憶部16には、所定の情報を音声出力部37によって出力するための各種のデータも格納される。
ところで、前記交差点データファイルには各交差点に関する交差点データが、ノードデータファイルにはノードデータが、道路データファイルには道路に関する道路データがそれぞれ格納され、前記交差点データ、ノードデータ及び道路データによって道路状況が表される。なお、前記ノードデータは、道路上に設定された複数のノードの座標、各ノード間を連結するリンクの長さ、及び各ノードにおいて隣接する2本のリンクが成すリンク角から成る。そして、前記道路データによって、道路自体については、幅員、勾配(こうばい)、カント、バンク、路面の状態、道路の車線数、車線数の減少する地点、幅員の狭くなる地点等が、コーナについては、曲率半径、交差点、T字路、コーナの入口等が、道路属性については、踏切、高速道路出口ランプウェイ、有料道路の料金所、降坂路、登坂路、道路種別(国道、一般道、高速道等)等がそれぞれ表される。
また、前記ナビゲーション処理部17は、ナビゲーション装置14の全体の制御を行うCPU31、該CPU31が各種の演算処理を行う際にワーキングメモリとして使用されるRAM32、及び、制御プログラムのほか、目的地までの経路の検索、経路における走行案内、特定区間の決定等を行うための各種のプログラムが格納された記録媒体としてのROM33から成るとともに、前記ナビゲーション処理部17に、前記入力部34、表示部35、音声入力部36、音声出力部37及び通信部38が接続される。
なお、前記データ記憶部16及びROM33は、図示しない磁気コア、半導体メモリ等によって構成される。また、前記データ記憶部16及びROM33に代えて、磁気テープ、磁気ディスク、フレキシブルディスク、磁気ドラム、CD、MD、DVD、光ディスク、ICカード、光カード等の各種の記録媒体を使用することもできる。
本実施の形態においては、前記ROM33に各種のプログラムが格納され、データ記憶部16に各種のデータが格納されるようになっているが、前記プログラム及びデータを同一の外部の記録媒体に格納することもできる。この場合、例えば、前記ナビゲーション処理部17に図示しないフラッシュメモリを配設し、前記外部の記録媒体から前記プログラム及びデータを読み出してフラッシュメモリに書き込むことができる。したがって、前記外部の記録媒体を交換することによって前記プログラム及びデータを更新することができる。また、プログラム及びデータを外部の記録媒体に格納することもできる。このように、各種の記録媒体に格納された各種のプログラムを起動し、各種のデータに基づいて各種の処理を行うことができる。
さらに、前記通信部38は、FM送信装置、電話回線等との間で各種のデータの送受信を行うためのものであり、例えば、渋滞等の道路情報、交通事故情報、GPS21の検出誤差を検出するためのD−GPS情報等の各種のデータを図示しない情報センサ等によって受信する。なお、本発明の機能を実現するためのプログラム及びデータの少なくとも一部を前記通信部38によって受信し、フラッシュメモリ等に格納することもできる。
そして、前記入力部34は、走行開始時の位置を修正したり、目的地を入力したりするためのものであり、入力部34としては、キーボード、マウス、バーコードリーダ、ライトペン、遠隔操作用のリモートコントロール装置等を使用することができる。また、前記入力部34は、表示部35の画面上に表示されたキー又はメニューにタッチすることによって入力を行うタッチパネルにより構成することもできる。
そして、前記表示部35には、操作案内、操作メニュー、操作キーの案内、目的地までの経路、経路に沿った案内等が表示される。前記表示部35としては、CRTディスプレイ、液晶ディスプレイ、プラズマディスプレイ、フロントガラスにホログラムを投影するホログラム装置等を使用することができる。
そして、音声入力部36は、図示しないマイクロホン等によって構成され、音声によって必要な情報を入力することができるようになっている。また、音声出力部37は、図示しない音声合成装置及びスピーカを備え、前記音声合成装置によって合成された音声による案内情報をスピーカから出力する。なお、音声合成装置によって合成された音声による案内情報のほかに、テープに録音された各種の案内情報をスピーカから出力することもできる。
ところで、前記構成の車両制御装置において、自動変速機制御装置12は、ROM46に格納された制御プログラムに従ってシフトアップ又はシフトダウンの変速を行う。
また、必要に応じて入力部34を操作すると、CPU31のデータ読出手段61(図1)によって前記データ記憶部16から前記ノードデータが読み出され、CPU31の図示されない補正処理手段によって前記ノードデータの補正処理が行われ、CPU31の図示されない再現手段によって、前記補正処理が行われたノードデータに従って道路の位置及び形状が再現される。そして、再現された道路の位置及び形状に従って、道路の画像が表示部35に表示されたり、現在位置検出部15によって検出された現在位置が、CPU31の図示しない現在位置補正手段によって補正されたりする。
また、運転者がモード選択部47を操作することによって通常モードを選択すると、前記自動変速機制御装置12は、前記車速センサ44によって検出された車速V、及びスロットル開度センサ45によって検出されたスロットル開度に基づいて、ROM46内の図示しない変速マップを参照し、前記車速V及びスロットル開度に対応する変速段を選択する。
一方、運転者がモード選択部47を操作することによってナビモードを選択すると、前記ナビゲーション処理部17は、データ記憶部16から道路状況に関する所定のデータを読み出すとともに、図示しないアクセルペダルが緩められたこと等の所定の条件が満たされたときに、変速段を制限する。そして、自動変速機制御装置12は、制限された上限の変速段で変速処理を行う。なお、前記ナビゲーション処理部17によって、ナビモードが選択されたときと同様の処理を常時行うことができる。
次に、ナビモードが選択された場合の前記ナビゲーション処理部17の動作について説明する。
この場合、車両がコーナに差し掛かると、補正処理手段の走行制御手段94は、コーナ制御を開始する。該コーナ制御においては、コーナを通過するのに最適な推奨変速段が決定され、前記推奨変速段及び運転者の動作に基づいて上限の変速段が設定され、該上限の変速段が自動変速機制御装置12に対して出力される。
そのために、CPU31は、道路状況判断処理を行い、道路状況を判断する。すなわち、CPU31は、現在位置を含む道路上の所定の範囲(例えば、現在位置から1〜2〔km〕)内の各ノードごとにノード半径を算出する。なお、必要に応じて現在位置から目的地までの経路を検索し、検索した経路上のノードについてノード半径を算出することもできる。
次に、CPU31は、前記所定の範囲内において前記ノード半径が閾(しきい)値より小さいノードが検出されると、コーナ制御を開始し、図3の推奨車速マップを参照して、前記ノード半径に対応する推奨車速VR を読み込む。なお、前記推奨車速マップにおいては、ノード半径が小さくなると推奨車速VR が低くされ、ノード半径が大きくなると推奨車速VR が高くされる。そして、ナビゲーション処理部17は現在位置から各ノードまでの道路の勾配を算出する。
ところで、本実施の形態においては、車両がコーナに差し掛かると、現在位置からコーナに到達するまでに車速Vが前記推奨車速VR になるような減速が必要であると判断される。そこで、前記所定の範囲内の各ノードのうちノード半径が閾値より小さい特定のノードが選択され、該各特定のノードについて推奨車速VR が算出され、推奨変速段が決定されるようになっている。
そのために、CPU31は、各特定のノードについて、現在の変速段を維持することが望ましいと考えられる閾値を表す減速加速度基準値α、これ以上減速加速度(減速の度合い)が大きくなる場合は、変速段を3速以下にすることが望ましいと考えられる閾値を表す減速加速度基準値β1、及びこれ以上減速加速度が大きくなる場合は、変速段を2速以下にすることが望ましいと考えられる閾値を表す減速加速度基準値β2を設定する。
この場合、前記各減速加速度基準値α、β1、β2は、道路の勾配も考慮して設定される。これは、平坦(たん)な道路において減速を行う場合と、登坂路又は降坂路において減速を行う場合とでは、同じ距離を走行させても減速加速度が異なるからである。例えば、登坂路において、運転者が車両を減速させようとした場合、積極的にシフトダウンの変速を行わなくても十分な減速を行うことができる。
また、前記各減速加速度基準値α、β1、β2を、道路の勾配に対応させて複数設定することもできる。そして、平坦な道路用として1組の減速加速度基準値α、β1、β2をあらかじめ設定しておき、算出された勾配に対応させて前記減速加速度基準値α、β1、β2を補正することもできる。さらに、車両の総重量を算出し、乗員が1名である場合と4名である場合とで減速加速度基準値α、β1、β2を異ならせることもできる。この場合、車両の総重量は、例えば、特定の出力軸トルクを発生させたときの加速度に基づいて算出することができる。
続いて、CPU31は、現在位置から各ノードまでの区間距離Lを算出し、該区間距離L、前記推奨車速VR 及び前記減速加速度基準値αに基づいて、現在の変速段を維持するためのホールド制御用減速線Mhを、区間距離L、前記推奨車速VR 及び減速加速度基準値β1、β2に基づいて、シフトダウンの変速を許可するための変速許可制御用減速線M1、M2をそれぞれ算出する。なお、前記ホールド制御用減速線Mhは、前記変速許可制御用減速線M1に対応させて、例えば、変速許可制御用減速線M1より10〔km/h〕だけ低い値にされる。また、ホールド制御用減速線Mhを変速許可制御用減速線M1より所定距離分だけずらすこともできる。
この場合、変速許可制御用減速線M1、M2は、区間距離Lにおいてそれぞれ減速加速度基準値β1、β2で減速が行われた場合に、推奨車速VR で各ノードを走行することができる車速Vの値を示す。
続いて、前記CPU31は、現在位置に対応するホールド制御用減速線Mhの値Vh、現在位置に対応する変速許可制御用減速線M1の値V1、及び現在位置に対応する変速許可制御用減速線M2の値V2を算出するとともに、現在の車速Vnow を読み込み、該車速Vnow と前記値Vh、V1、V2とを比較する。
そして、車速Vnow が値Vh以上V1未満である場合、ホールド制御が開始される。該ホールド制御においては、現在の実際の変速段(以下「実変速段」という。)が保持される。
また、前記車速Vnow が値V1以上V2未満である場合、変速許可制御が開始され、推奨変速段が3速に決定される。さらに、前記車速Vnow が値V2以上である場合、変速許可制御において推奨変速段が2速に決定される。なお、前記推奨変速段は、各特定のノードについて決定され、そのうち、最小のものが選択される。
また、前記ホールド制御用減速線Mh及び変速許可制御用減速線M1、M2は、いずれも演算によって算出することができるだけでなく、演算結果をマップとして格納しておき、該マップを参照することによって算出することもできる。
このようにして、推奨変速段が決定されると、CPU31は決定された推奨変速段を自動変速機制御装置12に送る。
続いて、該自動変速機制御装置12は、決定された推奨変速段が2速、3速及び4速のいずれであるかを判断し、推奨変速段が4速である場合、上限の変速段を決定するための第1の値SS に4をセットする。そして、推奨変速段が3速である場合、アクセルオンオフが行われるか、ブレーキオフオンが行われると、自動変速機制御装置12は第1の値SS に3をセットする。また、推奨変速段が2速である場合、ブレーキオフオンが行われると、自動変速機制御装置12は第1の値SS に2をセットする。この場合、例えば、アクセルオンオフは、アクセルセンサ42によって検出されたアクセルペダルの踏込量が単位時間当たり10〔%〕以上少なくなり、しかも、アクセルセンサ42がオフになっている状態をいう。
なお、推奨変速段が3速であり、アクセルオンオフが行われず、ブレーキオフオンも行われない場合、前記自動変速機制御装置12は第1の値SS に4をセットする。また、推奨変速段が2速であり、ブレーキオフオンが行われない場合、自動変速機制御装置12は第1の値SS に3をセットする。
続いて、前記自動変速機制御装置12は、ホールド制御中であるかどうかを判断し、ホールド制御中である場合、実変速段を検出する。そして、前記自動変速機制御装置12は、実変速段が3速以下である場合、上限の変速段を決定するための第2の値SH に3を、実変速段が3速より高い場合、第2の値SH に4をセットする。このようにして、実変速段より上限の変速段が高くなるのを防止する。また、ホールド制御中でない場合、前記自動変速機制御装置12は第2の値SH に4をセットする。
このようにして、第1、第2の値SS 、SH がセットされると、前記自動変速機制御装置12は、第1、第2の値SS 、SH のうちの低い方に対応する変速段を上限の変速段として設定し、該上限の変速段で変速処理を行う。そして、道路のノード半径が閾値より大きくなると、コーナ制御を解除し、通常の制御を行う。
次に、フローチャートについて説明する。
ステップS1 道路状況判断処理を行う。
ステップS2 推奨変速段決定処理を行う。
ステップS3 上限変速段出力処理を行う。
ところで、前記ナビゲーション装置14においては、通常、前記ノードデータが市販の地図から得られる情報に基づいて作成されるようになっているので、地図の作成段階において生じる誤差、地図上の道路において各ノードを設定する際に生じる誤差等によって、精度が低くなることがあるが、精度の低いノードデータを使用して道路の位置及び形状を再現すると、再現性が低下し、表示部35に表示される道路の画像と実際の道路とが一致しなかったり、現在位置検出部15によって検出される現在位置を正確に補正することができなかったりする。
また、精度の低いノードデータに基づいてノード半径等の制御パラメータを算出すると、該制御パラメータに誤差が生じるので、該制御パラメータに基づいてコーナ制御等の走行制御を行う場合、制御タイミングがずれることがあり、走行フィーリングが悪くなったり、走行制御の確実性が低下したりしてしまう。
そこで、精度の低いノードデータを補正して精度の高いノードデータを形成するようにしている。
図6は本発明の第1の実施の形態における道路状況判断処理のサブルーチンを示すフローチャートである。
この場合、CPU31(図2)はデータ記憶部16から現在位置より前方の複数のノード(現在位置より前方の所定距離内にあるノード、又は現在位置より前方の所定個数のノード)についてノードデータを読み出し、最も前方のノードに対応するリンク、すなわち、終端リンクを設定する。
そして、CPU31は、終端リンクまでの各ノードのノードデータに基づいて補正処理を行う。
次に、フローチャートについて説明する。
ステップS1−1 ノードデータを読み出す。
ステップS1−2 終端リンクを設定する。
ステップS1−3 ノードデータの補正処理を行う。
ステップS1−4 終端リンクになったかどうかを判断する。終端リンクになった場合はリターンし、終端リンクになっていない場合はステップS1−3に戻る。
次に、図6のステップS1−3における補正処理のサブルーチンについて説明する。
図7は本発明の第1の実施の形態における補正処理のサブルーチンを示すフローチャート、図8は本発明の第1の実施の形態におけるノードデータの概念図である。
この場合、補正処理手段のノードデータ判断手段91(図1)は、各ノードデータについて、ノードデータが有効であるかどうかを判断し、ノードデータが有効である場合、補正処理手段のパラメータ算出手段93は、ノード半径算出処理によってノード半径を算出し、ノードデータが有効でない場合、補正処理手段のノードデータ加工手段92は、ノードデータ加工処理によってノードデータを加工する。
前記ノードデータは、道路上に設定された複数のノードの座標、各ノード間を連結するリンクの長さ、及び各ノードにおいて隣接する2本のリンクが成すリンク角から成る。ここで、図8に示すように、道路上に設定されたあるノードをnn とし、一つ後方のノードをnn-1 とし、一つ前方のノードをnn+1 とし、前記ノードnn を介して隣接する2本のリンクの長さをそれぞれLn 、Ln+1 とし、前記各リンクの成すリンク角をθn としたとき、該リンク角θn が設定値ρ1より大きい場合、前記ノードnn のノードデータを有効とし、リンク角θn が設定値ρ1以下である場合、前記ノードnn において道路がほぼ直線状であると判断し、前記ノードnn のノードデータを無効にする。そして、無効のノードデータは、ノードデータ加工処理において間引かれる。その結果、ノードnn においてノード半径は算出されない。
一方、ノードnn のノードデータが有効である場合は、ノードnn についてノード半径が算出される。なお、本実施の形態において、ノード半径は、前記ノードnn-1 、nn 、nn+1 を円周上に備える仮想円の半径である。
そして、前記ノードnn におけるノード半径をRn とすると、ノード半径Rn は、近似計算によって算出され、
Rn =(Ln +Ln+1 )/2θn ……(1)
になる。
このように、ノードデータに対してノードデータ加工処理が行われ、道路がほぼ直線状に延びると判断されるノードnn については、ノードデータが無効にされ、間引かれるので、ノードデータに誤差が生じるのを防止することができる。したがって、道路の位置及び形状の再現性を向上させることができる。その結果、表示部35(図2)に表示される道路の画像と実際の道路とを一致させたり、現在位置検出部15によって検出される現在位置を正確に補正したりすることができる。
また、ノードデータが有効なノードnn についてだけノード半径Rn が算出されるようになっているので、ノード半径Rn に誤差が生じにくい。したがって、該ノード半径Rn に基づいてコーナ制御等の走行制御を行う場合、制御タイミングがずれることがなくなり、走行フィーリングを良くすることができ、走行制御の確実性を向上させることができる。
次に、フローチャートについて説明する。
ステップS1−3−1 ノードデータが有効であるかどうかを判断する。ノードデータが有効である場合はステップS1−3−3に進み、有効でない場合はステップS1−3−2に進む。
ステップS1−3−2 ノードデータ加工処理を行う。
ステップS1−3−3 ノード半径算出処理を行う。
ところで、道路がほぼ直線状に延びる場合においては、リンクの長さLn 、Ln+1 を長くして各ノードが設定されるので、隣接するノードnn-1 、nn の各リンク角θn-1 、θn が互いに逆位相になることが多いが、コーナにおいては、リンクの長さLn 、Ln+1 を短くして各ノードが設定されるので、通常は、隣接するノードnn-1 、nn の各リンク角θn-1 、θn が互いに逆位相になることはない。この場合、ノードデータの精度は低いと判断される。
そこで、隣接するノードnn-1 、nn の各リンク角θn-1 、θn が互いに逆位相になった場合に補正処理を行うようにした、本発明の第2の実施の形態について説明する。
図9は本発明の第2の実施の形態における補正処理のサブルーチンを示すフローチャート、図10は本発明の第2の実施の形態におけるノードデータの概念図である。
この場合、CPU31(図2)は、各ノードデータについて、ノードデータが有効であるかどうかを判断し、ノードデータが有効である場合、ノード半径算出処理によってノード半径を算出し、ノードデータが有効でない場合、ノードデータ加工処理によってノードデータを加工した後、ノード半径算出処理によってノード半径を算出する。
ここで、図10に示すように、道路上に設定されたあるノードをnn とし、一つ後方のノードをnn-1 とし、一つ前方のノードをnn+1 とし、二つ前方のノードをnn+2 とし、ノードnn におけるリンク角をθn とし、ノードnn-1 におけるリンク角をθn-1 としたとき、リンク角θn-1 、θn がいずれも正の値を採る場合は、前記ノードnn のノードデータを有効とする。一方、リンク角θn-1 が正の値を採り、リンク角θn が負の値を採って互いに逆位相になった場合は、ノードデータの精度は低いと判断され、前記ノードnn のノードデータは無効にされる。そして、CPU31は、ノードデータ加工処理において、ノードnn とノードnn+1 との中点に新しいノードnI を設定し、ノードnn 、nn+1 を間引く。
続いて、前記ノードnI についてノード半径RI が算出される。この場合、ノード半径RI は、前記ノードnn-1 、nI 、nn+2 を円周上に備える仮想円の半径である。なお、前記ノードnI の座標は、ノードnn 、nn+1 の各座標に基づいて算出され、ノードnI のリンク角は、ノードnn-1 、nI 、nn+2 の各座標に基づいて算出することができる。
一方、ノードnn のノードデータが有効である場合は、ノードnn についてノード半径Rn が算出される。この場合、該ノード半径Rn は、前記ノードnn-1 、nn 、nn+1 を円周上に備える仮想円の半径である。
このように、ノードデータに対してノードデータ加工処理が行われ、隣接するノードnn-1 、nn の各リンク角θn-1 、θn が互いに逆位相になった場合に、ノードnn とノードnn+1 との中点に新しいノードnI が設定され、ノードnn 、nn+1 が間引かれるので、道路の位置及び形状の再現性を向上させることができる。したがって、表示部35に表示される道路の画像と実際の道路とを一致させたり、現在位置検出部15によって検出される現在位置を正確に補正したりすることができる。
また、新しいノードnI についてノード半径RI が、ノードデータが有効なノードnn についてノード半径Rn がそれぞれ算出されるようになっているので、ノード半径RI 、Rn に誤差が生じにくい。したがって、ノード半径RI 、Rn に基づいてコーナ制御等の走行制御を行う場合、制御タイミングがずれることがなくなり、走行フィーリングを良くすることができ、走行制御の確実性を向上させることができる。
次に、フローチャートについて説明する。
ステップS1−3−11 ノードデータが有効であるかどうかを判断する。ノードデータが有効である場合はステップS1−3−13に進み、有効でない場合はステップS1−3−12に進む。
ステップS1−3−12 ノードデータ加工処理を行う。
ステップS1−3−13 ノード半径算出処理を行う。
ところで、前記各実施の形態においては、リンクの長さLn 、Ln+1 に基づいて、式(1)によってノード半径RI 、Rn を算出するようになっている。したがって、隣接する二つのリンクのうち、一方のリンクの長さLn と他方のリンクの長さLn+1 とが大きく異なる場合、実際の道路は小さな曲率半径で湾曲しているにもかかわらず、計算上のノード半径RI 、Rn が大きくなってしまう。
そこで、ステップS1−3−3、S1−3−13のノード半径算出処理において、リンクの長さLn 、Ln+1 を使用することなく、ノード半径を算出することができるようにした、本発明の第3の実施の形態について説明する。
図11は本発明の第3の実施の形態におけるノードデータの概念図である。
この場合、道路上に設定されたあるノードをnn とし、一つ後方のノードをnn-1 とし、一つ前方のノードをnn+1 とし、ノードnn におけるリンク角をθn とし、道路の幅をhとする。そして、道路の外側縁に内接する円を想定し、該円の半径をノード半径RG とする。すなわち、
RG cos(θn /2)=RG −h
∴RG =h/{1−cos(θn /2)} ……(2)
になる。
ここで、ノードデータを作成するときに、1/25000の縮尺の地図が使用され、該地図において、幅が1〔mm〕の線で道路が表されるので、道路の幅は一律に25〔m〕であるとする。また、25〔m〕間隔でノードを設定したとき、前記円とリンクとのずれ幅をdとすると、
d=RG (1−cos(θn /2))
となり、リンクの長さが25〔m〕であるので、
RG sin(θn /2)=25/2
∴d=25/2sin(θn /2)・(1−cos(θn /2))
になる。
したがって、
h=2d
=25/2sin(θn /2)・(1−cos(θn /2))
になる。そこで、幅hを式(2)に代入すると、
RG =25/sin(θn /2)
になる。
このように、リンクの長さLn 、Ln+1 を使用することなく、リンク角θn を使用するだけで、ノード半径RG を算出することができる。
ところで、一般に、ほとんどの道路はクロソイド曲線で近似することができる。そこで、連続する複数のノードを採り、各ノードのノードデータに基づいて、式(1)によって算出されたノード半径Rn と、クロソイド曲線に基づいて算出されたノード半径とを比較し、最も小さい値をノード半径とする、本発明の第4の実施の形態について説明する。
図12は本発明の第4の実施の形態におけるノード半径算出処理のサブルーチンを示すフローチャート、図13は本発明の第4の実施の形態におけるノードデータの概念図、図14は本発明の第4の実施の形態におけるクロソイド曲線の説明図である。
図13において、ni (i=1、2、…、5)はノード、Li (i=1、2、…、4)はノードni とノードni+1 との間のリンクの長さ、Rj (j=0、1、…、4)は式(1)によって算出された各ノードni におけるノード半径である。
この場合、連続する3個のノードn1 〜n3 から成るコーナにおいて、一方側、すなわち、ノードn1 側からコーナに進入したときの道路をクロソイド曲線で近似したときのノード半径をR′とし、クロソイド曲線の式の変数をAとする。そして、ノードni のうち正方向に連続する3個のノードn1 〜n3 のノードデータをクロソイド曲線の式に代入すると、
A1 2=R2 (L2 +L1 )
A1 2=R1 ′L1
になる。したがって、ノードn2 におけるノード半径R1 ′は、
R1 ′=R2 ・(L2 +L1 )/L1
になる。
次に、他方側、すなわち、ノードn3 側からコーナに進入したときの道路をクロソイド曲線で近似したときのノード半径をR″とし、クロソイド曲線の式の変数をBとする。そして、ノードni のうち、正方向に連続する3個のノードn1 、n2 、n3 のノードデータをクロソイド曲線の式に代入すると、
B1 2=R0 (L2 +L1 )
B1 2=R1 ″L2
になる。したがって、ノードn2 におけるノード半径R1 ″は、
R1 ″=R0 ・(L2 +L1 )/L2
になる。
ここで、式(1)によって算出された各ノードn2 におけるノード半径はR1 であるので、ノード半径R1 、R1 ′、R1 ″のうちの最小値Rmin
Rmin =min(R1 ,R1 ′,R1 ″)
を算出し、該最小値Rmin をノード半径として決定する。
次に、フローチャートについて説明する。
ステップS1−3−3−1 近似計算によってノード半径R1 を算出する。
ステップS1−3−3−2 一方側からコーナに進入したときの道路をクロソイド曲線で近似してノード半径R1 ′を算出する。
ステップS1−3−3−3 他方側からコーナに進入したときの道路をクロソイド曲線で近似してノード半径R1 ″を算出する。
ステップS1−3−3−4 ノード半径R1 、R1 ′、R1 ″のうちの最小値Rmin を算出する。
なお、本実施の形態においては、連続する3個のノードn1 〜n3 のノードデータに基づいてノード半径を算出するようにしているが、曲率半径の小さな道路においては、ノードの設定数が多くされる。その場合、同様のノード半径算出処理によって、連続する4個のノードのノードデータに基づいてノード半径を算出することもできる。
また、前記各実施の形態においては、ステップS1−3−1、S1−3−11において、ノードデータが有効であるかどうかを判断し、その後、ステップS1−3−3、S1−3−13において、ノード半径算出処理を行うようにしているが、ノードデータが有効であるかどうかを判断することなく、ノード半径算出処理を行うこともできる。
さらに、前記各実施の形態においては、ノードデータに基づいてノード半径を算出するようになっているが、あらかじめ各ノードに対応させてノード半径を算出し、算出されたノード半径をノードデータとしてデータ記憶部16に格納しておき、走行に伴って前記ノード半径を読み出すこともできる。
ところが、この場合も、あらかじめノード半径を算出する段階で誤差が生じることがあり、本来滑らかなコーナであっても、ノード半径の誤差によって、ある3個のノードに対応する曲率半径と、それに隣接する3個のノードに対応する曲率半径とが逆方向に形成されたり、ある3個のノードに対応する各曲率半径のうち、中間の1個のノードに対応する曲率半径と、残りの2個のノードに対応する曲率半径とが大きく異なることがある。
そこで、リンク角θn (図11)及びノードnn に隣接するリンクの長さの加算値に対応させて、あらかじめ前記ノード半径算出処理を行うことによってノード半径を算出し、算出されたノード半径をRAM32(図2)のノード半径マップに格納することもできる。
図15は本発明の第5の実施の形態におけるノード半径マップを示す図である。
図において、θn はリンク角、LT はノードnn に隣接するリンクの長さの加算値であり、
LT =Ln +Ln+1
である。そして、前記リンク角θn の各値x1 、x2 、…及び前記加算値LT の各値y1 、y2 、…に対応させて、ノード半径γ11、γ12、…、γ21、γ22、…がデータ記憶部16(図2)に格納される。
したがって、走行に伴って前記ノード半径γ11、γ12、…、γ21、γ22、…を読み出すことができる。
なお、前記各実施の形態においては、走行制御としてコーナ制御を行う場合について説明しているが、道路の曲率半径に対応させてスロットル開度を調整してエンジン制御を行ったり、車高、減衰力等を調整してサスペンション制御を行ったり、ブレーキアシスト等のブレーキ制御を行ったりすることもできる。また、コーナの連続性に対応させて変速段を決定して自動変速機制御を行うこともできる。さらに、トラクション制御、デフ制御、トランスファー制御、4WS制御等を行うこともできる。
また、道路の曲率半径に対応させて警報案内を行うこともできる。この場合、該警報案内は、音声案内、表示案内等によって行われる。
そして、道路の位置及び形状を再現したり、現在位置を補正したりするに当たり、補正処理の結果をRAM32に格納することができる。また、経路があらかじめ設定される場合には、経路を設定するときに、前記道路の位置及び形状の再現、並びに現在位置の補正を行い、補正処理の結果をRAM32に格納することもできる。
さらに、補正処理の結果に基づいて学習を行うようにすることもできる。この場合、ノードデータを書き換えることもできるが、角度差の小さい分岐点を明確にするために、案内用のノードデータと補正用のノードデータとを共用していると、ノードデータが故意にずらされて格納されていることもあるので、あらかじめ設定されているノードデータをそのまま保存し、補正されたノードデータを学習するようにしてもよい。
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。