以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
図1は本発明の実施の形態における車両制御システムのブロック図、図2は本発明の実施の形態における道路形状推定処理手段の動作を示すメインフローチャートである。
図において、14は情報端末、例えば、車両に搭載された車載装置としてのナビゲーション装置であり、該ナビゲーション装置14は、車両の現在地を自車位置として、車両の方位を自車方位として検出する現在地検出部としてのGPSセンサ15、図示されない地図データのほかに各種の情報が記録された情報記録部としてのデータ記録部16、ナビゲーション処理等の各種の演算処理を行うナビゲーション処理部17、操作者である運転者が操作することによって所定の入力を行うための第1の入力部としての操作部34、図示されない画面に表示された画像によって各種の表示を行い、運転者に通知するための第1の出力部としての表示部35、運転者が音声によって所定の入力を行うための第2の入力部としての音声入力部36、音声出力を行い、各種の情報を運転者に通知するための第2の出力部としての音声出力部37、及び通信端末として機能する送受信部としての通信部38を備え、前記ナビゲーション処理部17に、GPSセンサ15、データ記録部16、操作部34、表示部35、音声入力部36、音声出力部37及び通信部38が接続される。また、前記ナビゲーション処理部17には車速を検出する車速検出部としての車速センサ44等が接続される。そして、前記GPSセンサ15は、自車位置及び自車方位のほかに時刻を検出する。なお、GPSセンサ15と独立させて図示されない方位センサを配設し、該方位センサによって自車方位を検出することもできる。
前記データ記録部16には、地図データファイルから成るデータベースが配設され、該データベースに地図データが記録される。該地図データには、各交差点(分岐点も含む。)間を結ぶ道路に関する道路データ、前記道路の端点(始点及び終点)を表すノードに関するノードデータ、前記交差点に関する交差点データ、探索用に加工された探索データ、施設に関する施設データ等が含まれるほか、道路上の地物に関する地物データが含まれる。なお、前記道路データには、前記データベース上で道路の始点から終点までの道路リンクを表すデータ、及び道路リンク上において、道路形状を表すために道路に沿って設定された複数の設定点としての形状補間点のデータ(以下「補間点データ」という。)が含まれる。補間点データには、各形状補間点の番号、座標等が含まれる。なお、各ノードは、道路リンク上の始点又は終点を表すので、形状補間点でもある。
さらに、前記データ記録部16には、統計データファイルから成るデータベース、走行履歴データファイルから成るデータベース等が配設され、前記統計データファイルに統計データが、前記走行履歴データファイルに走行履歴データが、いずれも実績データとして記録される。
そして、前記データ記録部16は、前記各種のデータを記録するために、ハードディスク、CD、DVD、光ディスク等の図示されないディスクを備えるほかに、各種のデータを読み出したり、書き込んだりするための読出・書込ヘッド等の図示されないヘッドを備える。また、前記データ記録部16にメモリカード等を使用することができる。
前記ナビゲーション処理部17は、ナビゲーション装置14の全体の制御を行う制御装置としての、かつ、演算装置としてのCPU31、該CPU31が各種の演算処理を行うに当たってワーキングメモリとして使用されるRAM32、制御用のプログラムのほか、目的地までの経路の探索、経路案内等を行うための各種のプログラムが記録されたROM33、各種のデータ、プログラム等を記録するために使用される図示されないフラッシュメモリ等を備える。
前記操作部34として、表示部35とは独立させて配設された図示されないキーボード、マウス等を使用することができる。また、前記操作部34として、前記表示部35に形成された画面に画像で表示された各種のキー、スイッチ、ボタン等の画像操作部をタッチ又はクリックすることによって、所定の入力操作を行うことができるようにしたタッチパネルを使用することができる。
前記表示部35としてディスプレイが使用され、表示部35に形成された各種の画面に、自車位置、自車方位等を表示したり、地図、探索経路、該探索経路に沿った案内情報、交通情報等を表示したり、探索経路における次の交差点までの距離、次の交差点における進行方向を表示したりすることができる。
また、音声入力部36は、図示されないマイクロホン等によって構成され、音声によって必要な情報を入力することができる。さらに、音声出力部37は、図示されない音声合成装置及びスピーカを備え、前記探索経路の経路案内を音声出力によって行う。
前記通信部38は、道路交通情報センタから送信された現況の交通情報、一般情報等の各種の情報を受信するための図示されないビーコンレシーバ、FM放送局を介して前記各種の情報をFM多重放送として受信するための図示されないFM受信機等を備える。また、通信部38は、図示されない情報センタから、交通情報、一般情報等の情報のほかに、地図データ、統計データ、走行履歴データ等のデータを図示されないネットワークを介して受信することができる。
なお、ナビゲーション処理部17、CPU31等は、単独で、又は二つ以上組み合わせることによってコンピュータとして機能し、各種のプログラム、データ等に基づいて演算処理を行う。また、前記データ記録部16、RAM32、ROM33、フラッシュメモリ等によって記憶装置及び記録媒体が構成される。そして、演算装置として、CPU31に代えてMPU等を使用することもできる。
なお、10は自動変速機、11は自動変速機制御装置、51はエンジン制御装置、52はエンジンである。
次に、前記構成のナビゲーション装置14の基本動作について説明する。
まず、運転者によって操作部34が操作され、ナビゲーション装置14が起動されると、CPU31の図示されない現在地読込処理手段は、現在地読込処理を行い、GPSセンサ15によって検出された自車位置及び自車方位を読み込む。次に、前記CPU31の図示されないマッチング処理手段は、マッチング処理を行い、読み込まれた自車位置の軌跡、及び自車位置の周辺の道路を構成する各道路リンクの形状、配列等に基づいて、車両がいずれの道路リンク上に位置するかの判定を行うことによって、自車位置を特定する。
続いて、CPU31の図示されない基本情報取得処理手段は、基本情報取得処理を行い、前記地図データを、データ記録部16から読み出して取得する。なお、地図データを前記情報センタ等から取得することもでき、その場合、前記基本情報取得処理手段は、受信した地図データをフラッシュメモリにダウンロードする。
そして、前記CPU31の図示されない表示処理手段は、表示処理を行い、前記表示部35に各種の画面を形成する。例えば、表示処理手段の地図表示処理手段は、地図表示処理を行い、表示部35に地図画面を形成し、該地図画面に周囲の地図を表示するとともに、自車位置及び自車方位を表示する。
したがって、運転者は、前記周囲の地図、自車位置及び自車方位に従って車両を走行させることができる。
また、運転者が操作部34を操作して目的地を入力すると、CPU31の図示されない目的地設定処理手段は、目的地設定処理を行い、目的地を設定する。なお、必要に応じて出発地を入力し、設定することもできる。また、あらかじめ所定の地点を登録しておき、登録された地点を目的地として設定することができる。続いて、運転者が操作部34を操作して探索条件を入力すると、CPU31の図示されない探索条件設定処理手段は、探索条件設定処理を行い、探索条件を設定する。
このようにして目的地及び探索条件が設定されると、CPU31の図示されない経路探索処理手段は、経路探索処理を行い、前記自車位置、自車方位、目的地、探索条件等を読み込むとともに、データ記録部16から探索データ等を読み出し、自車位置、自車方位、目的地、探索データ等に基づいて、自車位置で表される出発地から目的地までの経路を前記探索条件で探索し、探索経路を表す経路データを出力する。このとき、経路探索処理においては、各道路リンクごとに付与されたリンクコストの合計が最も小さい経路が探索経路とされる。なお、出発地を、自車位置に代えて、運転者が設定した所定の地点とし、該所定の地点から目的地までの経路を探索することもできる。
続いて、前記CPU31の図示されない案内処理手段は、案内処理を行い、経路案内を行う。そのために、前記案内処理手段の案内表示処理手段は、案内表示処理を行い、前記経路データを読み込み、経路データに基づいて前記地図画面に探索経路を表示する。
なお、例えば、経路案内の対象となる地点である交差点で車両を右左折させる必要がある場合、前記交差点が、車両を進行させる方向の案内を行う対象となる案内交差点として設定され、前記案内処理手段の音声出力処理手段は、音声出力処理を行い、前記案内交差点に車両が到達する前に、音声出力によって経路案内を行う。
また、前記案内処理手段の案内点拡大図形成処理手段は、案内点拡大図形成処理を行い、車両が案内交差点に到達する前に、地図画面の所定の領域に案内交差点の拡大図、すなわち、案内点拡大図としての交差点拡大図を形成し、交差点拡大図による経路案内を行う。そのために、探索経路上の前記案内交差点より手前(自車位置側)の、設定された距離だけ離れた箇所に車両が到達すると、前記交差点拡大図が表示される。この場合、該交差点拡大図に、案内交差点の周辺の地図、探索経路、案内交差点において目印になる施設等の陸標が表示される。
ところで、本実施の形態においては、前記ナビゲーション装置14において得られた情報を、自動変速機制御装置11に送信して、自車位置より前方の道路形状に対応させて自動変速機10の変速段を変更したり、エンジン制御装置51に送信して、自車位置より前方の道路形状に対応させてエンジン52の出力を変更したりして、車両の走行制御を行うようにしている。
そのために、前記CPU31は道路形状推定装置として機能し、CPU31の図示されない道路形状推定処理手段は、道路形状推定処理を行い、後述される方法で道路形状を推定する。そして、CPU31の図示されない走行制御処理手段は、走行制御処理を行い、推定された道路形状に従って、自動変速機10の変速段を変更したり、エンジン52の出力を変更したりするための信号を前記自動変速機制御装置11、エンジン制御装置51等に送信する。
次に、図2に従って、前記道路形状推定処理手段の動作について説明する。
まず、前記道路形状推定処理手段のデータ取得処理手段は、データ取得処理を行い、道路形状を推定する対象となる道路を含む、自車位置より前方の所定の領域を道路形状推定範囲として設定し、データ記録部16から道路データを読み出し、前記道路形状推定範囲内のノードデータを取得する。
この場合、道路形状推定範囲内において、ノードデータで表される各ノードのうちの最初のノードから最後のノードまでの、互いに隣接する各ノード間の道路リンクについて、道路形状の推定が順に行われる。なお、この場合、データベース上の道路において道路形状の推定が行われる各道路リンクを形状推定道路とする。
そこで、前記データ取得処理手段は、各形状推定道路において道路形状の推定を行うために、自車位置より前方の形状推定道路上における形状補間点の補間点データを取得する。なお、本実施の形態において、前記データ取得処理手段は、ノードデータ及び補間点データを、データ記録部16から読み出すことによって取得するようになっているが、前記情報センタ等からネットワークを介して受信することによって取得することもできる。
次に、前記道路形状推定処理手段の半径算出処理手段は、半径算出処理を行い、自車位置より前方の形状推定道路上における形状補間点の補間点データに基づいて、3点計算法によって形状推定道路の各形状補間点における半径(曲率半径)を算出する。続いて、前記道路形状推定処理手段のコーナ検出処理手段は、コーナ検出処理を行い、前記半径に基づいて、データベース上の形状推定道路内においてコーナを検出し、コーナが開始される形状補間点を開始候補点として、データベース上でコーナが終了する形状補間点を終了候補点として設定する。
そして、前記道路形状推定処理手段のコーナ結合処理手段は、実際の道路上では一つのコーナとして見なされるべきコーナが、データベース上における形状補間点の設定のされ方によって、複数のコーナとして検出された場合に、コーナ結合処理を行い、検出されたコーナの結合を行う。
次に、前記道路形状推定処理手段の第1、第2のコーナ分割処理手段は、実際の道路上では複数のコーナとして見なされるべきコーナが、コーナ間の直線区間において形状補間点が設定されていなかったり、形状補間点が、後述されるコーナ検出用の閾値以下の半径を有していたりすることによって、データベース上において一つのコーナとして検出された場合に、第1、第2のコーナ分割処理を行い、検出されたコーナの分割を行う。この場合、第1のコーナ分割処理においては、コーナ内における所定の形状補間点が、後述される第1の分割条件判定用の閾値以上の半径を有する場合に、第2のコーナ分割処理においては、コーナ内における所定の形状補間点間のセグメントが、後述される第2の分割条件判定用の閾値以上の長さを有する場合に、検出されたコーナの分割が行われる。
このようにして、コーナの結合が行われたり、コーナの分割が行われたりして、形状補間点に基づく適正なコーナが設定されると、前記道路形状推定処理手段の最小半径算出処理手段は、最小半径算出処理を行い、各コーナについて、クロソイド係数を推定するための適正な最小半径を算出する。
続いて、前記道路形状推定処理手段のクロソイド係数推定処理手段は、クロソイド係数推定処理を行い、前記最小半径に基づいてクロソイド係数を推定し、道路形状推定処理手段のクロソイド曲線算出処理手段は、クロソイド曲線算出処理を行い、クロソイド係数に基づいてコーナの近似式を形成し、クロソイド曲線を算出する。
このようにして、前記コーナの道路形状を表すクロソイド曲線が算出されると、道路形状推定処理手段のフィッティング処理手段は、フィッティング処理を行い、クロソイド曲線をコーナ上の各形状補間点に合わせることによって、開始候補点及び終了候補点を補正し、実際の道路上でコーナが開始される点、及びコーナが終了する点に近似する位置にコーナの開始点及び終了点を設定する。
そして、道路形状推定処理手段の開始点・終了点記録処理手段は、開始点・終了点記録処理を行い、前記開始点及び終了点を道路形状を表すデータとしてデータ記録部16に記録する。このようにして、道路形状が推定される。
次に、フローチャートについて説明する。
ステップS1 半径算出処理を行う。
ステップS2 コーナ検出処理を行う。
ステップS3 コーナ結合処理を行う。
ステップS4 第1のコーナ分割処理を行う。
ステップS5 第2のコーナ分割処理を行う。
ステップS6 最小半径算出処理を行う。
ステップS7 クロソイド係数推定処理を行う。
ステップS8 クロソイド曲線算出処理を行う。
ステップS9 フィッティング処理を行う。
ステップS10 開始点・終了点記録処理を行い、処理を終了する。
次に、図2のステップS1における半径算出処理のサブルーチンについて説明する。
図3は本発明の実施の形態における半径算出処理のサブルーチンを示す図、図4は本発明の実施の形態における半径を算出する原理を説明する図である。
図4に示されるように、半径算出処理の対象となる形状補間点を対象点maとし、該対象点maの一つ手前(自車位置側)の形状補間点を前隣接点mbとし、対象点maの一つ先(自車位置から離れる側)の形状補間点を後隣接点mcとするとともに、対象点maと前隣接点mbとを結ぶ、対象点maより手前側のセグメント(以下「前側セグメント」という。)のセグメント長をL1とし、対象点maと後隣接点mcとを結ぶ、対象点maより先のセグメント(以下「後側セグメント」という。)のセグメント長をL2とする。また、前記対象点ma、前隣接点mb及び後隣接点mcを通過する円をCrとしたときの、円Crの中心をQとし、円Crの半径をRとする。さらに、対象点maにおいて、前側セグメントに対して後側セグメントの成す角度を方位角θとする。
そして、対象点maと後隣接点mcとを結ぶ方向をx軸方向とし、該x軸方向に対する直角の方向をy軸方向としたときの、x軸方向における対象点maと前隣接点mbとの間の距離をXとし、x軸方向における対象点maと中心Qとの間の距離をAとし、x軸方向における前隣接点mbと中心Qとの間の距離をGとするとともに、y軸方向における対象点maと前隣接点mb間の距離をYとし、y軸方向における前隣接点mbと中心Qとの間の距離をHとし、y軸方向における対象点maと中心Qとの間の距離をFとすると、
X=L1cosθ
A=L2/2
G=X+A
Y=L1sinθ
F=√(R2 −A2 )
H=F−Y
になる。
この場合、距離Gの二乗と距離Hの二乗との和が半径Rの二乗と等しいので、式(1)の関係が成り立つ。
R2 =G2 +H2 ……(1)
次に、該式(1)の距離G、Hに前記各値を代入すると式(2)を得ることができる。
R2 =X2 +2XA+A2 +R2 −A2
−2Y√(R2 −A2 )+Y2 ……(2)
続いて、該式(2)を変形すると式(3)〜(6)を得ることができる。
2Y√(R2 −A2 )=X2 +Y2 +2XA ……(3)
R2 −A2 ={(X2 +Y2 +2XA)/2Y}2 ……(4)
R2 ={(X2 +Y2 +2XA)/2Y}2 +A2 ……(5)
R2 =(L12 +2L1・L2・cosθ+L22 )
/(2sinθ)2 ……(6)
該式(6)から、半径Rは、セグメント長L1 、L2 及び方位角θの関数であることが分かる。
そこで、前記半径算出処理手段は、前記補間点データを読み込み、対象点ma、前隣接点mb及び後隣接点mcの各座標に基づいて、セグメント長L1、L2を算出するとともに、方位角θを算出する。
続いて、前記半径算出処理手段は、セグメント長L1、L2及び方位角θに基づいて前記式(6)によって円Crの半径Rを算出する。このようにして、形状推定道路上に対象点maにおける半径Rを算出することができる。
次に、フローチャートについて説明する。
ステップS1−1 前側セグメントのセグメント長L1を算出する。
ステップS1−2 後側セグメントのセグメント長L2を算出する。
ステップS1−3 方位角θを算出する。
ステップS1−4 半径Rを算出し、リターンする。
なお、本実施の形態においては、前記半径算出処理手段によって方位角θ及び半径Rを計算に基づいて算出するようになっているが、あらかじめ算出された方位角θ及び半径Rを、道路データの一部としてデータ記録部16のデータベースに記録しておき、データ記録部16から読み出すことによって算出することができる。
次に、図2のステップS2におけるコーナ検出処理について説明する。
図5は本発明の実施の形態におけるコーナ検出処理の第1の説明図、図6は本発明の実施の形態におけるコーナ検出処理の第2の説明図、図7は本発明の実施の形態におけるコーナ検出処理の第3の説明図、図8は本発明の実施の形態におけるコーナ検出処理の第4の説明図、図9は本発明の実施の形態におけるコーナ検出処理の第5の説明図、図10は本発明の実施の形態におけるコーナ検出処理の第6の説明図、図11は本発明の実施の形態におけるコーナ検出処理の第7の説明図、図12は本発明の実施の形態におけるコーナ検出処理の第8の説明図、図13は本発明の実施の形態におけるコーナ検出処理の第9の説明図である。
図において、ri(i=1、2、…)は図示されない二つのノード間に設定された形状推定道路、mi(i=1、2、…)は形状推定道路riに沿って、車両の進行方向(矢印G方向)における手前側から順に設定された複数の形状補間点、θi(i=1、2、…)は各形状補間点miにおける方位角である。なお、該方位角θiは、前側セグメントに対して後側セグメントの成す角度であり、前側セグメントに対して後側セグメントが車両の進行方向における右側に位置する場合、正の値を採り、前側セグメントに対して後側セグメントが車両の進行方向における左側に位置する場合、負の値を採る。
まず、前記コーナ検出処理手段の開始候補点・終了候補点設定処理手段は、開始候補点・終了候補点設定処理を行い、前記各形状補間点miにおける半径Ri(i=1、2、…)を読み込み、半径Riが、あらかじめ設定されたコーナ検出用の閾値Rth(本実施の形態においては、1000〔m〕)以下であるかどうかを判断し、半径が閾値Rth以下の形状補間点を抽出する。図5においては、形状補間点m3〜m9が、直線に近く、閾値Rth以下であると判断され、抽出される。
続いて、開始候補点・終了候補点設定処理手段は、抽出された各形状補間点において、複数の連続する形状補間点(以下「連続形状補間点群」という。)があるかどうかを判断し、連続形状補間点群がある場合、連続形状補間点群における最も手前(自車位置側)の形状補間点を開始候補点とする。図5及び6においては、形状補間点m3〜m9によって連続形状補間点群が構成され、形状補間点m3が開始候補点s1にされる。
また、開始候補点・終了候補点設定処理手段は、抽出された形状補間点について、前記半径算出処理手段によって算出された方位角θを手前側から順に読み込み、所定の形状補間点において方位角の正負が反転する(一つ手前の形状補間点に対して方位角の方向が逆になる。)かどうかを判断し、所定の形状補間点において方位角の正負が反転する場合に、一つ先の形状補間点において正負が反転するかどうかを判断する。そして、所定の形状補間点において方位角の正負が反転し、一つ先の形状補間点において正負が反転しない場合、前記所定の形状補間点を開始候補点とする。図7に示されるような形状を有する形状推定道路r2において、形状補間点m11〜m16が設定されている場合に、各形状補間点m12〜m15において、各方位角θ12及びθ13は負の値を採り、方位角θ14及びθ15は正の値を採る。すなわち、形状補間点m14において方位角θ14の正負が負から正に反転し、一つ先の形状補間点m15において方位角θ15の正負が正のままで反転しないので、形状補間点m14が開始候補点s1にされる。
次に、開始候補点・終了候補点設定処理手段は、抽出された各形状補間点において、連続形状補間点群があるかどうかを判断し、連続形状補間点群がある場合、連続形状補間点群における最も先側(自車位置から離れる側)の形状補間点を終了候補点とする。図5及び8においては、形状補間点m3〜m9によって連続形状補間点群が構成され、形状補間点m9が終了候補点e1にされる。
また、開始候補点・終了候補点設定処理手段は、所定の形状補間点において方位角の正負が反転するかどうかを判断し、所定の形状補間点において方位角の正負が反転しない場合に、一つ先の形状補間点において正負が反転するかどうかを判断する。そして、所定の形状補間点において方位角の正負が反転せず、一つ先の形状補間点において正負が反転する場合、前記所定の形状補間点を終了候補点とする。図9に示されるような形状を有する形状推定道路r3において、形状補間点m21〜m26が設定されている場合に、各形状補間点m22〜m25において、各方位角θ22及びθ23は正の値を採り、方位角θ24及びθ25は負の値を採る。すなわち、形状補間点m23においては方位角θ23の正負が負から正のままで反転せず、一つ先の形状補間点m24においては方位角θ24の正負が正から負に反転するので、形状補間点m23が終了候補点e1にされる。
このようにして、開始候補点及び終了候補点が設定されると、前記コーナ検出処理手段のコーナ設定処理手段は、コーナ設定処理を行い、開始候補点と終了候補点との間にコーナを設定する。図10に示されるような形状を有する形状推定道路r4においては、形状補間点m1〜m10のうちの形状補間点m2が開始候補点s1にされ、形状補間点m9が終了候補点e1にされ、開始候補点s1と終了候補点e1との間のコーナcn1が設定される。
なお、所定の形状補間点の半径が閾値Rth以下であり、一つ手前の形状補間点の半径、及び一つ先の形状補間点の半径がいずれも閾値Rthより大きい場合、前記開始候補点・終了候補点設定処理手段は、前記所定の形状補間点を、開始候補点及び終了候補点を兼ねる単発点として設定し、前記コーナ設定処理手段は、前記所定の形状補間点にコーナを設定する。図11に示されるような形状を有する形状推定道路r5においては、形状補間点m31〜m35のうちの形状補間点m33が単発点f1に設定され、形状補間点m33にコーナcn1が設定される。
さらに、所定の形状補間点において方位角の正負が反転し、一つ先の形状補間点における方位角の正負が反転する場合、前記開始候補点・終了候補点設定処理手段は、前記所定の形状補間点を単発点として設定する。
図12に示されるような形状を有する形状推定道路r6においては、形状補間点m41〜m48のうちの形状補間点m42〜m44、m46及びm47の方位角θ42〜θ44、θ46及びθ47は正の値を採り、形状補間点m45の方位角θ45は負の値を採る。この場合、形状補間点m45において方位角θ45の正負が正から負に反転し、一つ先の形状補間点m46において方位角θ46の正負が負から正に反転するので、形状補間点m45が単発点f1に設定され、形状補間点m45にコーナcn1が設定される。
続いて、前記コーナ設定処理手段は、単発点f1の前後、及び単発点f1において三つのコーナcn1〜cn3を設定する。なお、この場合、コーナの番号は手前側から順次付与され、コーナの番号に対応させて開始候補点の番号及び終了候補点の番号が付与される。
このようにして、形状推定道路においてコーナが設定されると、前記コーナ検出処理手段の記録処理手段は、記録処理を行い、形状推定道路内のコーナの番号、開始候補点の番号、終了候補点の番号等をRAM32(図1)に記録する。
ところで、前述されたように、データベース上の補間点データの精度が低く、コーナの直線区間において所定の形状補間点が直線からずれて設定されていると、実際の道路上では複数のコーナとして見なされるべきコーナが、前記コーナ判定処理手段によってデータベース上で一つのコーナとして検出され、一つのコーナの開始候補点及び終了候補点が設定されてしまうことがある。例えば、図13に示されるような台形に近い形状を有する形状推定道路r7においては、直線区間である形状補間点m5、m7間において、形状補間点m6が、本来、形状補間点m5、m7間を結ぶ直線上に設定されるべきところ、形状補間点m5、m7間を結ぶ直線からずれて設定されている。
この場合、前記半径算出処理において算出された形状補間点m2〜m10における半径R2〜R10が閾値Rth以下であり、形状補間点m2〜m10において方位角の正負が反転しないので、コーナ検出処理において、形状補間点m2〜m10において一つのコーナcn1が検出されてしまう。
そこで、本実施の形態においては、実際の道路上では複数のコーナとして見なされるべきコーナが、データベース上において一つのコーナとして検出された場合に、第1のコーナ分割処理手段によってコーナの分割を行うようにしている。
次に、図2のステップS4における第1のコーナ分割処理のサブルーチンについて説明する。
図14は本発明の実施の形態における第1のコーナ分割処理のサブルーチンを示す図、図15は本発明の実施の形態における第1のコーナ分割処理の第1の説明図、図16は本発明の実施の形態における第1のコーナ分割処理の第2の説明図、図17は本発明の実施の形態における第1のコーナ分割処理の第3の説明図、図18は本発明の実施の形態における第1のコーナ分割処理の第4の説明図である。
まず、前記第1のコーナ分割処理手段のコーナ情報取得処理手段(半径基準コーナ情報取得処理手段)は、コーナ情報取得処理を行い、RAM32から形状推定道路内における所定のコーナのコーナ情報を読み込むことによって取得する。この場合、形状推定道路に存在する各コーナが所定のコーナとして順に選択される。
なお、前記コーナ情報には前記補間点データのほかに、RAM32に記録された各コーナについての開始候補点及び終了候補点の番号が含まれる。本実施の形態においては、図13の形状推定道路r7について第1のコーナ分割処理が行われるので、前記コーナ情報取得処理手段は、コーナcn1の番号、コーナcn1の開始候補点s1の番号、コーナcn1の終了候補点e1の番号、形状補間点m2〜m10の各番号、各形状補間点m2〜m10における半径R2〜R10等を取得する。
続いて、前記第1のコーナ分割処理手段の分割条件判定処理手段(半径基準分割条件判定処理手段)は、分割条件判定処理を行い、形状補間点の番号を読み込み、コーナ内の形状補間点の数を算出し、形状補間点の数が閾値、本実施の形態においては、3以上であるかどうかによって、第1のコーナ分割処理を行うための第1の分割条件が成立するかどうかを判断する。図13の形状推定道路r7において、コーナcn1内の形状補間点m2〜m10の数は9であるので、第1の分割条件が成立する。
例えば、図15の形状推定道路r8においては、形状補間点m51〜m55のうちの形状補間点m53が閾値以下の半径を有し、コーナが検出されるが、該コーナ内の形状補間点m53の数は1であり、コーナ内に三つ以上の形状補間点が含まれないので、第1の分割条件は成立しない。また、図16の形状推定道路r9においては、形状補間点m61〜m66のうちの形状補間点m63、m64が閾値以下の半径を有し、コーナが検出されるが、該コーナ内の形状補間点m63、m64の数は2であり、コーナ内に三つ以上の形状補間点が含まれないので、第1の分割条件は成立しない。
次に、前記分割条件判定処理手段は、コーナ内の所定の形状補間点における半径が、コーナ内の他の形状補間点における各半径と比べて相対的に大きいかどうかを判断する。そのために、前記分割条件判定処理手段は、コーナ内の各形状補間点における半径を読み出し、コーナ内の所定の形状補間点が、コーナ内の各形状補間点における各半径に基づいて算出された第1の分割条件判定用の閾値、すなわち、第1分割閾値Rthcn以上の半径を有するかどうかによって、第2の分割条件が成立するかどうかを判断する。
そのために、前記分割条件判定処理手段の平均半径算出処理手段は、平均半径算出処理を行い、各形状補間点m2〜m10における半径R2〜R10の平均値Raを算出し、続いて、前記分割条件判定処理手段の閾値算出処理手段は、閾値算出処理を行い、前記平均値Raに基づいて算出された標準偏差をσ1としたときの、前記第1分割閾値Rthcnを、
Rthcn=Ra+3・σ1
になるように設定する。図17の形状推定道路r7においては、形状補間点m6が第1分割閾値Rthcn以上の半径R6を有する場合、第2の分割条件が成立する。なお、前記標準偏差σ1は、平均値Raに対応させて設定された加算値である。
続いて、第1、第2の分割条件が成立する場合、前記分割条件判定処理手段の分割実行処理手段(半径基準分割実行処理手段)は、分割実行処理を行い、第1分割閾値Rthcn以上の半径を有する形状補間点でコーナの分割を行う。具体的には、前記分割実行処理手段は、第1分割閾値Rthcn以上の半径を有する形状補間点より一つ手前の形状補間点を終了候補点として追加し、第1分割閾値Rthcn以上の半径を有する形状補間点より一つ先の形状補間点を開始候補点として追加する。図17の形状推定道路r7において、第1分割閾値Rthcn以上の半径を有する形状補間点m6でコーナの分割が行われ、形状補間点m2が開始候補点s1にされ、形状補間点m6より一つ手前の形状補間点m5が終了候補点e1にされる。そして、形状補間点m6より一つ先の形状補間点m7が開始候補点s2にされ、形状補間点m10が終了候補点e2にされる。
このようにして、本実施の形態においては、図18に示されるように、形状補間点m2〜m5によってコーナcn1が、形状補間点m7〜m10によってコーナcn2が設定される。
また、前記各第1、第2の分割条件のうちのいずれか一つの分割条件が成立しない場合、前記コーナ分割実行処理手段は、前記現在のコーナの分割を行わない。
このように、本実施の形態においては、仮に、データベース上において補間点データの精度が低く、コーナの直線区間において所定の形状補間点が直線からずれて設定されていても、第1、第2の分割条件が成立すると、コーナの分割が行われる。したがって、実際の道路上では複数のコーナとして見なされるべきコーナが、データベース上で一つのコーナとされることがないので、道路形状を正確に推定することができる。
また、前記第1分割閾値Rthcnは、平均値Raに標準偏差σ1を加算することによって算出されるので、平均値Raが大きくなるほど大きく、平均値Raが小さくなるほど小さく設定されるので、各半径R2〜R10の値等にノイズが加わっても、第2の分割条件が成立したかどうかを正確に判断することができる。
そして、標準偏差σ1は、コーナの各形状補間点m2〜m10における半径R2〜R10のばらつき度を表すので、コーナの分割の行われやすさを、半径R2〜R10のばらつき度に応じて変更することができる。すなわち、半径R2〜R10のばらつき度が高い場合、第1分割閾値Rthcnが大きくなるので、第2の分割条件が成立されにくくなり、コーナの分割が行われにくくなる。これに対して、半径R2〜R10のばらつき度が低い場合、第1分割閾値Rthcnが小さくなるので、第2の分割条件が成立されやすくなり、コーナの分割が行われやすくなる。
したがって、コーナの分割を適正に行うことができる。
なお、本実施の形態においては、平均値Raに標準偏差σ1を加算することによって前記第1分割閾値Rthcnが算出されるようになっているが、平均値Raに対応させてあらかじめ設定された第1分割閾値Rthcnを、例えば、データ記録部16に記録しておくことができる。
この場合、平均値Raと第1分割閾値Rthcnとを対応させた第1の閾値マップとしての半径閾値マップがROM33に記録され、前記分割実行処理手段は、分割実行処理において、半径閾値マップを参照し、平均値Raに対応する第1分割閾値Rthcnを読み出し、各R2〜R10と第1分割閾値Rthcnを比較し、第1分割閾値Rthcn以上の半径を有する形状補間点でコーナを分割する。
次に、フローチャートについて説明する。
ステップS4−1 コーナ数によるループを開始する。
ステップS4−2 現在のコーナのコーナ情報を取得する。
ステップS4−3 コーナ内の形状補間点の数が3以上であるかどうかを判断する。コーナ内の形状補間点の数が3以上である場合はステップS4−4に、コーナ内の形状補間点の数が3より小さい場合はステップS4−7に進む。
ステップS4−4 コーナ内の形状補間点の半径の平均値を算出する。
ステップS4−5 平均値Raから第1分割閾値Rthcnを算出する。
ステップS4−6 第1分割閾値Rthcn以上の半径を有する形状補間点でコーナの分割を行う。
ステップS4−7 コーナ数によるループを終了させ、処理を終了する。
ところで、前述されたように、データベース上の補間点データの精度が低く、コーナの直線区間において形状補間点が設定されていないと、実際の道路上では複数のコーナとして見なされるべきコーナが、前記コーナ検出処理によってデータベース上で一つのコーナとして検出され、一つのコーナの開始候補点及び終了候補点が決定されてしまうことがある。
図19は本発明の実施の形態におけるコーナ検出処理の第10の説明図である。
この場合、図に示されるような台形の形状を有する形状推定道路r10においては、直線区間である形状補間点m5、m6間に、設定されるべき形状補間点が設定されていない。
この場合、前記半径算出処理において算出された形状補間点m2〜m9における半径R2〜R9が閾値Rth以下であり、形状補間点m2〜m9において方位角の正負が反転しないので、コーナ検出処理において、形状補間点m2〜m9に一つのコーナcn1が検出されてしまう。
そこで、本実施の形態においては、第2のコーナ分割処理手段によってコーナの分割を行うようにしている。
次に、図2のステップS5における第2のコーナ分割処理のサブルーチンについて説明する。
図20は本発明の実施の形態における第2のコーナ分割処理のサブルーチンを示す図、図21は本発明の実施の形態における第2のコーナ分割処理の第1の説明図、図22は本発明の実施の形態における第2のコーナ分割処理の第2の説明図、図23は本発明の実施の形態における第2のコーナ分割処理の第3の説明図である。
まず、前記第2のコーナ分割処理手段のコーナ情報取得処理手段(セグメント長基準コーナ情報取得処理手段)は、コーナ情報取得処理を行い、RAM32から形状推定道路内における所定のコーナのコーナ情報を、読み込むことによって取得する。この場合、形状推定道路に存在する各コーナが所定のコーナとして順に選択される。
なお、前記コーナ情報は前記補間点データのほかに、RAM32に記録された各コーナについての開始候補点及び終了候補点の番号が含まれる。本実施の形態においては、形状推定道路r10について第2のコーナ分割処理が行われるので、前記コーナ情報取得処理手段は、コーナcn1の番号、該コーナcn1の開始候補点s1の番号、コーナcn1の終了候補点e1の番号、形状補間点m2〜m9の各番号、各形状補間点m2〜m9間の各セグメントのセグメント長等を取得する。
続いて、前記第2のコーナ分割処理手段の分割条件判定処理手段(セグメント長基準分割条件判定処理手段)は、分割条件判定処理を行い、形状補間点の番号を読み込み、コーナ内の形状補間点の数を算出し、形状補間点の数が閾値、本実施の形態においては、3以上であるかどうかによって、第2のコーナ分割処理を行うための第1の分割条件が成立するかどうかを判断する。図21の形状推定道路r10において、コーナcn1内の形状補間点m2〜m9の数は8であるので、第1の分割条件が成立する。
例えば、前述されたように、図15の形状推定道路r8及び図16の形状推定道路r9においては、コーナ内に三つ以上の形状補間点が含まれないので、第1の分割条件は成立しない。
次に、前記分割条件判定処理手段は、コーナ内の所定の形状補間点間におけるセグメント長が、コーナ内の他の形状補間点間における各セグメント長と比べて相対的に長いかどうかを判断する。そのために、前記分割条件判定処理手段は、コーナ内の各形状補間点間のセグメント長を読み出し、コーナ内の所定の形状補間点間のセグメントが、コーナ内の各形状補間点間のセグメント長に基づいて算出された第2の分割条件判定用の閾値、すなわち、第2分割閾値Lthcn以上のセグメント長を有するかどうかによって、第2の分割条件が成立するかどうかを判断する。
そのために、前記分割条件判定処理手段の平均セグメント長算出処理手段は、平均セグメント長算出処理を行い、各形状補間点m2〜m9間におけるセグメント長の平均値Laを算出し、続いて、前記分割条件判定処理手段の閾値算出処理手段は、閾値算出処理を行い、前記平均値Laに基づいて算出された標準偏差をσ2としたときの、前記第2分割閾値Lthcnを、
Lthcn=La+3・σ2
になるように設定する。図21においては、形状補間点m5、m6間のセグメントLc11が、第2分割閾値Lthcn以上のセグメント長を有する場合、第2の分割条件が成立する。なお、前記標準偏差σ2は、平均値Laに対応させて設定された加算値である。
続いて、第1、第2の分割条件が成立する場合、前記分割条件判定処理手段の分割実行処理手段(セグメント長基準分割実行処理手段)は、分割実行処理を行い、第2分割閾値Lthcn以上のセグメント長を有するセグメントでコーナの分割を行う。また、分割実行処理手段は、第2分割閾値Lthcn以上のセグメント長を有するセグメントを構成する形状補間点のうちの手前の形状補間点を終了候補点にし、第2分割閾値Lthcn以上のセグメント長を有するセグメントを構成する形状補間点のうちの先の形状補間点を開始候補点にする。図22において、第2分割閾値Lthcn以上のセグメント長Lc11を有する形状補間点m5、m6間のセグメントでコーナcn1の分割が行われ、形状補間点m2が開始候補点s1にされ、形状補間点m5、m6間のセグメントの手前の形状補間点m5が終了候補点e1にされ、形状補間点m5、m6間のセグメントの先の形状補間点m6が開始候補点s2にされ、形状補間点m9が終了候補点e2にされる。
このように、本実施の形態においては、図23に示されるように、形状補間点m2〜m5によってコーナcn1が、形状補間点m6〜m9によってコーナcn2が形成される。
また、前記各第1、第2の分割条件のうちのいずれか一つの分割条件が成立しない場合、前記コーナ分割実行処理手段は、前記現在のコーナの分割を行わない。
このように、本実施の形態においては、仮に、データベース上において補間点データの精度が低く、コーナの直線区間において形状補間点が設定されていない場合でも、第1、第2の分割条件が成立すると、コーナの分割が行われる。したがって、実際の道路上では複数のコーナとして見なされるべきコーナが、データベース上で一つのコーナとされることがないので、道路形状を正確に推定することができる。
また、前記第2分割閾値Lthcnは、平均値Laに標準偏差σ2を加算することによって算出され、平均値Laが大きくなるほど大きく、平均値Laが小さくなるほど小さく設定されるので、各セグメント長の値等にノイズが加わっても、第2の分割条件が成立したかどうを正確に判断することができる。
そして、標準偏差σ2は、コーナの各形状補間点m2〜m9間の各セグメント長のばらつき度を表すので、コーナの分割のされやすさを、セグメント長のばらつき度に応じて変更することができる。すなわち、セグメント長のばらつき度が高い場合、第2分割閾値Lthcnが大きくなるので、第2の分割条件が成立されにくくなり、コーナが分割されにくくなる。これに対して、セグメント長のばらつき度が低い場合、第2分割閾値Lthcnが小さくなるので、第2の分割条件が成立されやすくなり、コーナが分割されやすくなる。
したがって、コーナを適正に分割することができる。
なお、本実施の形態においては、平均値Laに標準偏差σ2を加算することによって前記第2分割閾値Lthcnが算出されるようになっているが、平均値Laに対応させてあらかじめ設定された第2分割閾値Lthcnを、例えば、データ記録部16に記録しておくことができる。
この場合、平均値Laと第2分割閾値Lthcnとを対応させた第2の閾値マップとしてのセグメント長閾値マップがROM33に記録され、前記分割実行処理手段は、分割実行処理において、セグメント長閾値マップを参照し、平均値Laに対応する第2分割閾値Lthcnを読み出し、各形状補間点m2〜m9間における各セグメント長と第2分割閾値Lthcnを比較し、第2分割閾値Lthcn以上のセグメント長を有するセグメントでコーナを分割する。
次に、フローチャートについて説明する。
ステップS5−1 コーナ数によるループを開始する。
ステップS5−2 現在のコーナのコーナ情報を取得する。
ステップS5−3 コーナ内の形状補間点の数が3以上であるかどうかを判断する。コーナ内の形状補間点の数が3以上である場合はステップS5−4に、コーナ内の形状補間点の数が3より小さい場合はステップS5−7に進む。
ステップS5−4 コーナ内のセグメント長の平均値Laを算出する。
ステップS5−5 平均値Laから第2分割閾値Lthcnを算出する。
ステップS5−6 第2分割閾値Lthcn以上のセグメント長を有するセグメントでコーナの分割を行う。
ステップS5−7 コーナ数によるループを終了させ、処理を終了する。
次に、図2のステップS7におけるクロソイド係数推定処理について説明する。
図24は本発明の実施の形態におけるクロソイド係数マップを示す図である。
この場合、最小半径Rminとクロソイド曲線のクロソイド係数Aの2乗の値A2 とが、互いに対応させてROM33(図1)にクロソイド係数マップとして記録され、前記クロソイド係数推定処理手段は、前記ステップS6で算出された最小半径Rminを読み込み、クロソイド係数マップを参照し、最小半径Rminに対応する値A2 を読み出す。続いて、前記クロソイド係数推定処理手段は、クロソイド係数Aを算出し、推定する。なお、前記クロソイド係数マップは、実際の道路における半径と、前記道路を設計する際に使用されたクロソイド曲線のクロソイド係数との関係に基づいて作成されたものである。
次に、図2のステップS8におけるクロソイド曲線算出処理のサブルーチンについて説明する。
図25は本発明の実施の形態におけるクロソイド曲線算出処理のサブルーチンを示す図である。
ところで、クロソイド曲線は、始点からの長さが大きくなるほど曲率半径が小さくなる曲線であり、一般的には、道路を設計する際に、クロソイド曲線の一部がコーナの開始点及び終了点に当てられるようになっている。前記クロソイド曲線をx−y座標で表すと、クロソイド曲線の開始点(原点)から所定の点Sまでの距離、すなわち、曲線長をLとし、前記点Sにおける曲線半径をRcとすると、
L・Rc=A2 ……(7)
になる。また、通常、クロソイド曲線のX座標及びY座標は、それぞれ、式(8)及び(9)で示される多項式によって算出することができる。
X=L×(1−L2 /(40Rc2 )+L4 /(3456Rc4 )
−L6 /(599040Rc6 )
+L8 /(175472640Rc8 )…) ……(8)
X=L2 /(6Rc)×(1−L2 /(56Rc2 )+
L4 /(7040Rc4 )−L6 /(1612800Rc6 )
+L8 /(588349440Rc8 )…) ……(9)
この場合、クロソイド曲線を前記式(8)及び(9)で算出することが考えられるが、式(8)及び(9)は、高次の多項式であり、多数の点をプロットしてクロソイド曲線を算出しようとすると、クロソイド曲線算出処理によってCPU31に加わる負荷が大きくなってしまう。
そこで、本実施の形態においては、前記クロソイド曲線算出処理手段によって、クロソイド係数推定処理において算出されたクロソイド係数Aに基づいてクロソイド曲線を算出するようにしている。そのために、前記クロソイド曲線算出処理手段は、クロソイド曲線(曲線長L(k)の点S)のX座標及びY座標を、シュミレーションに基づいて得られた式(10)及び(11)によって近似させ、算出する。
ただし、X0 及びY0 は、クロソイド曲線の開始点のX座標及びY座標である。また、角度φは式(12)で表される。
φ=α+2k・L ……(12)
そして、αはクロソイド曲線の開始点の方位であり、値kは次の式(13)で表される。
k=28/A2 ……(13)
次に、フローチャートについて説明する。
ステップS8−1 クロソイド曲線の曲線長L(k)でループを開始する。
ステップS8−2 曲線長L(k)の点SのX座標を算出する。
ステップS8−3 曲線長L(k)の点SのY座標を算出する。
ステップS8−4 クロソイド曲線の曲線長L(k)でループを終了させ、リターンする。
次に、図2のステップS9におけるフィッティング処理について説明する。
図26は本発明の実施の形態におけるフィッティング処理の説明図である。
図において、r7は形状推定道路、cn1は前記コーナ結合処理及び第1、第2のコーナ分割処理によって設定されたコーナ、m1〜m5はコーナcn1を構成する形状補間点、s1はコーナcn1の開始候補点である。
この場合、前記フィッティング処理手段のクロソイド曲線移動処理手段は、クロソイド曲線移動処理を行い、前記形状補間点m1、m2間を結ぶセグメントSg1の延長線上に、クロソイド曲線Qの始点Qsを置き、該始点Qsにおける接線とセグメントSg1の延長線とが一致するようにクロソイド曲線Qを矢印E方向に移動させる。
このとき、前記フィッティング処理手段の誤差算出処理手段は、誤差算出処理を行い、形状補間点m2以降の各形状補間点m2〜m5に対するクロソイド曲線Qの位置の誤差の合計を算出する。この場合、各形状補間点m2〜m5に対するクロソイド曲線Qの位置の誤差は、各形状補間点m2〜m5とクロソイド曲線Qを描く際にプロットされる各点との前記X軸上の距離及びY軸上の距離に基づいて算出される。
そして、前記クロソイド曲線移動処理手段は、誤差の合計が最も小さくなるように前記クロソイド曲線Qを各形状補間点m2〜m5に合わせ、クロソイド曲線Qの位置を設定する。
続いて、前記フィッティング処理手段の開始点・終了点抽出処理手段は、開始点・終了点抽出処理を行い、クロソイド曲線Qの位置が設定されると、クロソイド曲線Qの始点Qsを実際のコーナの開始点Sa1として設定する。
そして、クロソイド曲線移動処理手段、誤差算出処理手段及び開始点・終了点抽出処理手段は、コーナcn1の終点側において同様の処理を行い、クロソイド曲線Qの位置を設定し、クロソイド曲線Qの始点を実際のコーナの終了点として設定する。
このようにして、クロソイド曲線Qによって開始候補点及び終了候補点を補正し、補正された開始候補点及び終了候補点を、それぞれ実際のコーナの開始点及び終了点として設定することができるので、コーナcn1の開始候補点及び終了候補点を実際の道路上のコーナの開始点及び終了点に近づけることができる。
次に、図2のステップS10における開始点・終了点記録処理について説明する。
前記開始点・終了点記録処理手段は、抽出された開始候補点及び終了候補点の位置を、道路形状を表すデータとしてデータ記録部16に記録する。
このように、本実施の形態においては、道路形状を正確に推定することができ、正確に推定された道路形状に基づいて実際のコーナの開始点及び終了点を設定するようになっているので、道路形状に対応させて自動変速機10の変速段を変更したり、道路形状に対応させてエンジン52の出力を変更したりして、車両の走行制御を精度良く行うことができる。
本実施の形態において、道路形状の推定は、ナビゲーション装置14のCPU31を動作させることによって行われるようになっているが、自動変速機制御装置11の図示されないCPUを作動させたり、又は前記情報センタの制御装置としてのCPUを動作させたりすることによって道路形状の推定を行うことができる。なお、車両の全体の制御を行うために、自動変速機制御装置11及びエンジン制御装置51の上位の制御装置として車両制御装置が配設されるが、該車両制御装置のCPUを動作させることによって道路形状の推定を行うこともできる。
また、本実施の形態においては、隣接する各ノード間の形状推定道路について道路形状の推定を行うようになっているが、実際の道路上において、コーナ内にノードがある場合、各ノード間の形状推定道路ごとに道路形状を推定すると、コーナ内におけるノードの前後において処理が異なってしまう。そこで、他の実施の形態においては、道路データにおいて、各道路リンク間に道なりデータが付与されていて、ノードを通過した後に進入することが予測される道路リンクが明らかな場合、又は経路探索処理によって探索経路が設定されている場合等においては、二つ以上の連続する形状推定道路について道路形状の推定を行うことができる。
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。