(57)【特許請求の範囲】
【請求項１】
道路に沿って設定された複数の形状補間点の補間点データを取得するデータ取得処理手段と、前記道路における所定の区間内の前記補間点データに基づいて各形状補間点における曲率半径を算出する半径算出処理手段と、前記各形状補間点における曲率半径に基づいて、前記所定の区間内のコーナを検出するとともに、該検出したコーナの開始候補点及び終了候補点を設定するコーナ検出処理手段と、前記コーナの開始候補点及び終了候補点に基づいて中心仮想点を設定するとともに、該中心仮想点より開始候補点側に前方仮想点を、前記中心仮想点より終了候補点側に後方仮想点をそれぞれ設定する仮想点設定処理手段と、前記中心仮想点、前記前方仮想点及び前記後方仮想点を通過する円の半径である仮想曲率半径を算出する仮想曲率半径算出処理手段と、前記仮想曲率半径に基づいてクロソイド係数を推定するクロソイド係数推定処理手段と、前記クロソイド係数に基づいてクロソイド曲線を算出するクロソイド曲線算出処理手段と、前記クロソイド曲線に基づいて、前記コーナの前記開始候補点及び前記終了候補点を補正し、該補正した開始候補点及び終了候補点を、前記コーナの開始点及び終了点として設定するフィッティング処理手段とを有することを特徴とする道路形状推定装置。
【請求項２】
前記仮想点設定処理手段は、前記開始候補点と前記終了候補点との間の中心の位置にコーナ中間地点を設定するとともに、前記開始候補点と前記コーナ中間地点との間にコーナ前方地点を、前記終了候補点と前記コーナ中間地点との間にコーナ後方地点をそれぞれ設定し、前記コーナ前方地点から前記コーナ後方地点までの範囲に前記中心仮想点を設定する請求項１に記載の道路形状推定装置。
【請求項３】
前記仮想点設定処理手段は、前記開始候補点と前記中心仮想点との中間点を第１の候補点とし、前記中心仮想点より手前側の、前記中心仮想点から閾値だけ離れた位置を第２の候補点としたときに、前記前方仮想点を、前記第１の候補点、前記第２の候補点及び前記開始候補点のうちのいずれか一つの点に設定する請求項１又は２に記載の道路形状推定装置。
【請求項４】
前記仮想点設定処理手段は、前記終了候補点と前記中心仮想点との中間点を第１の候補点とし、前記中心仮想点より先側の、前記中心仮想点から閾値だけ離れた位置を第２の候補点としたときに、前記後方仮想点を、前記第１の候補点、前記第２の候補点及び前記終了候補点のうちのいずれか一つの点に設定する請求項１又は２に記載の道路形状推定装置。
【請求項５】
車両制御システムにおけるコンピュータによる道路形状推定方法において、道路に沿って設定された複数の形状補間点の補間点データを取得し、前記道路における所定の区間内の前記補間点データに基づいて各形状補間点における曲率半径を算出し、前記各形状補間点における曲率半径に基づいて、前記所定の区間内のコーナを検出するとともに、該検出したコーナの開始候補点及び終了候補点を設定し、前記コーナの開始候補点及び終了候補点に基づいて中心仮想点を設定するとともに、該中心仮想点より開始候補点側に前方仮想点を、前記中心仮想点より終了候補点側に後方仮想点をそれぞれ設定し、前記中心仮想点、前記前方仮想点及び前記後方仮想点を通過する円の半径である仮想曲率半径を算出し、該仮想曲率半径に基づいてクロソイド係数を推定し、該クロソイド係数に基づいてクロソイド曲線を算出し、該クロソイド曲線に基づいて、前記コーナの前記開始候補点及び前記終了候補点を補正し、該補正した開始候補点及び終了候補点を、前記コーナの開始点及び終了点として設定することを特徴とする道路形状推定方法。
【請求項６】
コンピュータを、道路に沿って設定された複数の形状補間点の補間点データを取得するデータ取得処理手段、前記道路における所定の区間内の前記補間点データに基づいて各形状補間点における曲率半径を算出する半径算出処理手段、前記各形状補間点における曲率半径に基づいて、前記所定の区間内のコーナを検出するとともに、該検出したコーナの開始候補点及び終了候補点を設定するコーナ検出処理手段、前記コーナの開始候補点及び終了候補点に基づいて中心仮想点を設定するとともに、該中心仮想点より開始候補点側に前方仮想点を、前記中心仮想点より終了候補点側に後方仮想点をそれぞれ設定する仮想点設定処理手段、前記中心仮想点、前記前方仮想点及び前記後方仮想点を通過する円の半径である仮想曲率半径を算出する仮想曲率半径算出処理手段、前記仮想曲率半径に基づいてクロソイド係数を推定するクロソイド係数推定処理手段、前記クロソイド係数に基づいてクロソイド曲線を算出するクロソイド曲線算出処理手段、並びに前記クロソイド曲線に基づいて、前記コーナの前記開始候補点及び前記終了候補点を補正し、該補正した開始候補点及び終了候補点を、前記コーナの開始点及び終了点として設定するフィッティング処理手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、道路形状推定装置、道路形状推定方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来、ナビゲーション装置においては、例えば、ＧＰＳ（グローバルポジショニングシステム）によって、自車である車両の現在の位置、すなわち、現在地が検出され、データ記録部から地図データが読み出され、表示部に地図画面が形成され、該地図画面に、現在地を表す自車位置、該自車位置の周辺の地図等が表示されるようになっている。したがって、運転者は、前記地図画面に表示された自車位置等に従って車両を走行させることができる。
【０００３】
また、運転者が目的地を入力し、探索条件を設定すると、該探索条件に基づいて、経路探索処理が行われ、前記地図データに従って、現在地で表される出発地から目的地までの経路が探索される。そして、探索された経路、すなわち、探索経路は、前記地図画面に自車位置と共に表示され、探索経路の案内、すなわち、経路案内が行われる。したがって、運転者は、表示された探索経路に沿って車両を走行させることができる。
【０００４】
ところで、前記ナビゲーション装置においては、ナビゲーション装置において取得された情報を利用して自動変速機の変速段を変更したり、エンジンの出力を変更したりして、車両の走行制御を行うようにした車両制御システムが提供されている。
【０００５】
そのために、該車両制御システムに道路形状推定装置が配設され、該道路形状推定装置によって道路形状が推定されるようになっている。そして、前記道路形状推定装置は、前記ナビゲーション装置のデータ記録部に配設されたデータベースから道路データを読み出すことによって、データベース上の道路に沿った所定の道路リンクを形状推定道路とし、該形状推定道路において自車位置より前方における道路形状を複数の点で表すために設定された補間点、すなわち、形状補間点に関する補間点データを取得し、互いに隣接する３点の形状補間点に対する３点計算法によって各形状補間点における道路の曲率半径（以下、単に「半径」という。）を算出し、各半径に基づいて、データベース上でコーナを検出し、設定するとともに、コーナの開始点を表す開始候補点、及びコーナの終了点を表す終了候補点を設定する。そして、前記形状推定道路内において、各形状補間点における半径のうちの最も小さい半径をそのコーナにおける最小半径とし、最小半径に基づいてクロソイド係数を推定し、該クロソイド係数に基づいて、コーナの近似式によって表されるクロソイド曲線を算出し、該クロソイド曲線に基づいて、開始候補点及び終了候補点の位置を補正し、道路形状を推定し、補正された開始候補点及び終了候補点の位置を、道路形状を表すデータとしてデータ記録部に記録する（例えば、特許文献１参照。）。
【特許文献１】特開２００５−２１４８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記従来の道路形状推定装置においては、互いに隣接する３点の形状補間点に対する３点計算法によって算出された半径のうちの最も小さい半径をコーナの曲率半径として算出すると、曲率半径の大きいコーナにおいては、実際の道路上の曲率半径と算出されたコーナの曲率半径との差が大きくなってしまうので、道路形状を正確に推定することができない。
【０００７】
本発明は、前記従来の道路形状推定装置の問題点を解決して、道路形状を正確に推定することができる道路形状推定装置、道路形状推定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
そのために、本発明の道路形状推定装置においては、道路に沿って設定された複数の形状補間点の補間点データを取得するデータ取得処理手段と、前記道路における所定の区間内の前記補間点データに基づいて各形状補間点における曲率半径を算出する半径算出処理手段と、前記各形状補間点における曲率半径に基づいて、前記所定の区間内のコーナを検出するとともに、該検出したコーナの開始候補点及び終了候補点を設定するコーナ検出処理手段と、前記コーナの開始候補点及び終了候補点に基づいて中心仮想点を設定するとともに、該中心仮想点より開始候補点側に前方仮想点を、前記中心仮想点より終了候補点側に後方仮想点をそれぞれ設定する仮想点設定処理手段と、前記中心仮想点、前記前方仮想点及び前記後方仮想点を通過する円の半径である仮想曲率半径を算出する仮想曲率半径算出処理手段と、前記仮想曲率半径に基づいてクロソイド係数を推定するクロソイド係数推定処理手段と、前記クロソイド係数に基づいてクロソイド曲線を算出するクロソイド曲線算出処理手段と、前記クロソイド曲線に基づいて、前記コーナの前記開始候補点及び前記終了候補点を補正し、該補正した開始候補点及び終了候補点を、前記コーナの開始点及び終了点として設定するフィッティング処理手段とを有する。
【発明の効果】
【０００９】
本発明によれば、コーナ内の中心付近に中心仮想点が、該中心仮想点より開始候補点側に前方仮想点が、前記中心仮想点より終了候補点側に後方仮想点がそれぞれ設定され、中心仮想点、前方仮想点及び後方仮想点に基づいて仮想曲率半径が算出されるので、道路形状を正確に推定することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１１】
図１は本発明の実施の形態における車両制御システムのブロック図、図２は本発明の実施の形態における道路形状推定処理手段の動作を示すメインフローチャートである。
【００１２】
図において、１４は情報端末、例えば、車両に搭載された車載装置としてのナビゲーション装置であり、該ナビゲーション装置１４は、車両の現在地を自車位置として、車両の方位を自車方位として検出する現在地検出部としてのＧＰＳセンサ１５、図示されない地図データのほかに各種の情報が記録された情報記録部としてのデータ記録部１６、ナビゲーション処理等の各種の演算処理を行うナビゲーション処理部１７、操作者である運転者が操作することによって所定の入力を行うための第１の入力部としての操作部３４、図示されない画面に表示された画像によって各種の表示を行い、運転者に通知するための第１の出力部としての表示部３５、運転者が音声によって所定の入力を行うための第２の入力部としての音声入力部３６、音声出力を行い、各種の情報を運転者に通知するための第２の出力部としての音声出力部３７、及び通信端末として機能する送受信部としての通信部３８を備え、前記ナビゲーション処理部１７に、ＧＰＳセンサ１５、データ記録部１６、操作部３４、表示部３５、音声入力部３６、音声出力部３７及び通信部３８が接続される。また、前記ナビゲーション処理部１７には車速を検出する車速検出部としての車速センサ４４等が接続される。そして、前記ＧＰＳセンサ１５は、自車位置及び自車方位のほかに時刻を検出する。なお、ＧＰＳセンサ１５と独立させて図示されない方位センサを配設し、該方位センサによって自車方位を検出することもできる。
【００１３】
前記データ記録部１６には、地図データファイルから成るデータベースが配設され、該データベースに地図データが記録される。該地図データには、各交差点（分岐点も含む。）間を結ぶ道路に関する道路データ、前記道路の端点（始点及び終点）を表すノードに関するノードデータ、前記交差点に関する交差点データ、探索用に加工された探索データ、施設に関する施設データ等が含まれるほか、道路上の地物に関する地物データが含まれる。なお、前記道路データには、前記データベース上で道路の始点から終点までの道路リンクを表すデータ、及び道路リンク上において、道路形状を表すために道路に沿って設定された複数の設定点としての形状補間点のデータ（以下「補間点データ」という。）が含まれる。補間点データには、各形状補間点の番号、座標等が含まれる。なお、各ノードは、道路リンク上の始点又は終点を表すので、形状補間点でもある。
【００１４】
さらに、前記データ記録部１６には、統計データファイルから成るデータベース、走行履歴データファイルから成るデータベース等が配設され、前記統計データファイルに統計データが、前記走行履歴データファイルに走行履歴データが、いずれも実績データとして記録される。
【００１５】
そして、前記データ記録部１６は、前記各種のデータを記録するために、ハードディスク、ＣＤ、ＤＶＤ、光ディスク等の図示されないディスクを備えるほかに、各種のデータを読み出したり、書き込んだりするための読出・書込ヘッド等の図示されないヘッドを備える。また、前記データ記録部１６にメモリカード等を使用することができる。
【００１６】
前記ナビゲーション処理部１７は、ナビゲーション装置１４の全体の制御を行う制御装置としての、かつ、演算装置としてのＣＰＵ３１、該ＣＰＵ３１が各種の演算処理を行うに当たってワーキングメモリとして使用されるＲＡＭ３２、制御用のプログラムのほか、目的地までの経路の探索、経路案内等を行うための各種のプログラムが記録されたＲＯＭ３３、各種のデータ、プログラム等を記録するために使用される図示されないフラッシュメモリ等を備える。
【００１７】
前記操作部３４として、表示部３５とは独立させて配設された図示されないキーボード、マウス等を使用することができる。また、前記操作部３４として、前記表示部３５に形成された画面に画像で表示された各種のキー、スイッチ、ボタン等の画像操作部をタッチ又はクリックすることによって、所定の入力操作を行うことができるようにしたタッチパネルを使用することができる。
【００１８】
前記表示部３５としてディスプレイが使用され、表示部３５に形成された各種の画面に、自車位置、自車方位等を表示したり、地図、探索経路、該探索経路に沿った案内情報、交通情報等を表示したり、探索経路における次の交差点までの距離、次の交差点における進行方向を表示したりすることができる。
【００１９】
また、音声入力部３６は、図示されないマイクロホン等によって構成され、音声によって必要な情報を入力することができる。さらに、音声出力部３７は、図示されない音声合成装置及びスピーカを備え、前記探索経路の経路案内を音声出力によって行う。
【００２０】
前記通信部３８は、道路交通情報センタから送信された現況の交通情報、一般情報等の各種の情報を受信するための図示されないビーコンレシーバ、ＦＭ放送局を介して前記各種の情報をＦＭ多重放送として受信するための図示されないＦＭ受信機等を備える。また、通信部３８は、図示されない情報センタから、交通情報、一般情報等の情報のほかに、地図データ、統計データ、走行履歴データ等のデータを図示されないネットワークを介して受信することができる。
【００２１】
なお、ナビゲーション処理部１７、ＣＰＵ３１等は、単独で、又は二つ以上組み合わせることによってコンピュータとして機能し、各種のプログラム、データ等に基づいて演算処理を行う。また、前記データ記録部１６、ＲＡＭ３２、ＲＯＭ３３、フラッシュメモリ等によって記憶装置及び記録媒体が構成される。そして、演算装置として、ＣＰＵ３１に代えてＭＰＵ等を使用することもできる。
【００２２】
なお、１０は自動変速機、１１は自動変速機制御装置、５１はエンジン制御装置、５２はエンジンである。また、前記自動変速機制御装置１１、ナビゲーション装置１４、エンジン制御装置５１等によって車両制御システムが構成される。
【００２３】
次に、前記構成のナビゲーション装置１４の基本動作について説明する。
【００２４】
まず、運転者によって操作部３４が操作され、ナビゲーション装置１４が起動されると、ＣＰＵ３１の図示されない現在地読込処理手段は、現在地読込処理を行い、ＧＰＳセンサ１５によって検出された自車位置及び自車方位を読み込む。次に、前記ＣＰＵ３１の図示されないマッチング処理手段は、マッチング処理を行い、読み込まれた自車位置の軌跡、及び自車位置の周辺の道路を構成する各道路リンクの形状、配列等に基づいて、車両がいずれの道路リンク上に位置するかの判定を行うことによって、自車位置を特定する。
【００２５】
続いて、ＣＰＵ３１の図示されない基本情報取得処理手段は、基本情報取得処理を行い、前記地図データをデータ記録部１６から読み出して取得する。なお、地図データを前記情報センタ等から取得することもでき、その場合、前記基本情報取得処理手段は、受信した地図データをフラッシュメモリにダウンロードする。
【００２６】
そして、前記ＣＰＵ３１の図示されない表示処理手段は、表示処理を行い、前記表示部３５に各種の画面を形成する。例えば、表示処理手段の地図表示処理手段は、地図表示処理を行い、表示部３５に地図画面を形成し、該地図画面に周囲の地図を表示するとともに、自車位置及び自車方位を表示する。
【００２７】
したがって、運転者は、前記周囲の地図、自車位置及び自車方位に従って車両を走行させることができる。
【００２８】
また、運転者が操作部３４を操作して目的地を入力すると、ＣＰＵ３１の図示されない目的地設定処理手段は、目的地設定処理を行い、目的地を設定する。なお、必要に応じて出発地を入力し、設定することもできる。また、あらかじめ所定の地点を登録しておき、登録された地点を目的地として設定することができる。続いて、運転者が操作部３４を操作して探索条件を入力すると、ＣＰＵ３１の図示されない探索条件設定処理手段は、探索条件設定処理を行い、探索条件を設定する。
【００２９】
このようにして目的地及び探索条件が設定されると、ＣＰＵ３１の図示されない経路探索処理手段は、経路探索処理を行い、前記自車位置、自車方位、目的地、探索条件等を読み込むとともに、データ記録部１６から探索データ等を読み出し、自車位置、自車方位、目的地、探索データ等に基づいて、自車位置で表される出発地から目的地までの経路を前記探索条件で探索し、探索経路を表す経路データを出力する。このとき、経路探索処理においては、各道路リンクごとに付与されたリンクコストの合計が最も小さい経路が探索経路とされる。なお、出発地を、自車位置に代えて、運転者が設定した所定の地点とし、該所定の地点から目的地までの経路を探索することもできる。
【００３０】
続いて、前記ＣＰＵ３１の図示されない案内処理手段は、案内処理を行い、経路案内を行う。そのために、前記案内処理手段の案内表示処理手段は、案内表示処理を行い、前記経路データを読み込み、経路データに基づいて前記地図画面に探索経路を表示する。
【００３１】
なお、例えば、経路案内の対象となる地点である交差点で車両を右左折させる必要がある場合、前記交差点が、車両を進行させる方向の案内を行う対象となる案内交差点として設定され、前記案内処理手段の音声出力処理手段は、音声出力処理を行い、前記案内交差点に車両が到達する前に、音声出力によって経路案内を行う。
【００３２】
また、前記案内処理手段の案内点拡大図形成処理手段は、案内点拡大図形成処理を行い、車両が案内交差点に到達する前に、地図画面の所定の領域に案内交差点の拡大図、すなわち、案内点拡大図としての交差点拡大図を形成し、交差点拡大図による経路案内を行う。そのために、探索経路上の前記案内交差点より手前（自車位置側）の、設定された距離だけ離れた箇所に車両が到達すると、前記交差点拡大図が表示される。この場合、該交差点拡大図に、案内交差点の周辺の地図、探索経路、案内交差点において目印になる施設等の陸標が表示される。
【００３３】
ところで、本実施の形態においては、前記ナビゲーション装置１４において取得された情報を、自動変速機制御装置１１に送信して、自車位置より前方の道路形状に対応させて自動変速機１０の変速段を変更したり、エンジン制御装置５１に送信して、自車位置より前方の道路形状に対応させてエンジン５２の出力を変更したりして、車両の走行制御を行うようにしている。
【００３４】
そのために、前記ＣＰＵ３１は道路形状推定装置として機能し、ＣＰＵ３１の図示されない道路形状推定処理手段は、道路形状推定処理を行い、後述される方法で道路形状を推定する。そして、ＣＰＵ３１の図示されない走行制御処理手段は、走行制御処理を行い、推定された道路形状に従って、自動変速機１０の変速段を変更したり、エンジン５２の出力を変更したりするための信号を前記自動変速機制御装置１１、エンジン制御装置５１等に送信する。
【００３５】
次に、図２に従って、前記道路形状推定処理手段の動作について説明する。
【００３６】
まず、前記道路形状推定処理手段のデータ取得処理手段は、データ取得処理を行い、道路形状を推定する対象となる道路を含む、自車位置より前方の所定の領域を道路形状推定範囲として設定し、データ記録部１６から道路データを読み出し、前記道路形状推定範囲内のノードデータを取得する。
【００３７】
この場合、道路形状推定範囲内において、ノードデータで表される各ノードのうちの最初のノードから最後のノードまでの、互いに隣接する各ノード間の道路リンクについて、順に道路形状の推定が行われる。なお、この場合、データベース上の道路において道路形状の推定が行われる各道路リンクを形状推定道路とする。
【００３８】
そこで、前記データ取得処理手段は、各形状推定道路において道路形状の推定を行うために、自車位置より前方の、形状推定道路上における形状補間点の補間点データを取得する。なお、本実施の形態において、前記データ取得処理手段は、ノードデータ及び補間点データを、データ記録部１６から読み出すことによって取得するようになっているが、前記情報センタ等からネットワークを介して受信することによって取得することもできる。
【００３９】
次に、前記道路形状推定処理手段の半径算出処理手段は、半径算出処理を行い、自車位置より前方の形状推定道路上における形状補間点の補間点データに基づいて、３点計算法によって形状推定道路の各形状補間点における半径（曲率半径）を算出する。続いて、前記道路形状推定処理手段のコーナ検出処理手段は、コーナ検出処理を行い、前記算出された半径に基づいて、データベース上の形状推定道路内においてコーナを検出し、コーナが開始される形状補間点を開始候補点として、データベース上でコーナが終了する形状補間点を終了候補点として設定する。
【００４０】
そして、前記道路形状推定処理手段のコーナ結合処理手段は、実際の道路上では一つのコーナとして見なされるべきコーナが、データベース上における形状補間点の設定のされ方によって、複数のコーナとして検出された場合に、コーナ結合処理を行い、検出されたコーナの結合を行う。
【００４１】
次に、前記道路形状推定処理手段の第１、第２のコーナ分割処理手段は、実際の道路上では複数のコーナとして見なされるべきコーナが、データベース上における形状補間点の設定のされ方によって、一つのコーナとして検出された場合に、第１、第２のコーナ分割処理を行い、検出されたコーナの分割を行う。この場合、第１のコーナ分割処理においては、コーナ内の所定の形状補間点が、コーナの分割を行うための閾（しきい）値以上の半径を有する場合に、第２のコーナ分割処理においては、コーナ内の所定の形状補間点間におけるセグメントが閾値以上の長さを有する場合に、検出されたコーナの分割が行われる。
【００４２】
このようにして、コーナの結合が行われたり、分割が行われたりして、形状補間点に基づく適正なコーナが設定されると、前記道路形状推定処理手段の最小半径算出処理手段は、最小半径算出処理を行い、各コーナについて、クロソイド係数を推定するための適正な最小半径を算出する。
【００４３】
続いて、前記道路形状推定処理手段のクロソイド係数推定処理手段は、クロソイド係数推定処理を行い、前記最小半径に基づいてクロソイド係数を推定し、道路形状推定処理手段のクロソイド曲線算出処理手段は、クロソイド曲線算出処理を行い、クロソイド係数に基づいてコーナの近似式を形成し、コーナの道路形状を表すクロソイド曲線を算出する。
【００４４】
このようにして、該クロソイド曲線が算出されると、道路形状推定処理手段のフィッティング処理手段は、フィッティング処理を行い、クロソイド曲線をコーナ上の各形状補間点に合わせることによって、開始候補点及び終了候補点を補正し、実際の道路上でコーナが開始される点、及びコーナが終了する点に近似する位置にコーナの開始点及び終了点を設定する。
【００４５】
そして、道路形状推定処理手段の開始点・終了点記録処理手段は、開始点・終了点記録処理を行い、前記開始点及び終了点を道路形状を表すデータとしてデータ記録部１６に記録する。このようにして、道路形状が推定される。
【００４６】
次に、フローチャートについて説明する。
ステップＳ１  半径算出処理を行う。
ステップＳ２  コーナ検出処理を行う。
ステップＳ３  コーナ結合処理を行う。
ステップＳ４  第１のコーナ分割処理を行う。
ステップＳ５  第２のコーナ分割処理を行う。
ステップＳ６  最小半径算出処理を行う。
ステップＳ７  クロソイド係数推定処理を行う。
ステップＳ８  クロソイド曲線算出処理を行う。
ステップＳ９  フィッティング処理を行う。
ステップＳ１０  開始点・終了点記録処理を行い、処理を終了する。
【００４７】
次に、図２のステップＳ１における半径算出処理のサブルーチンについて説明する。
【００４８】
図３は本発明の実施の形態における半径算出処理のサブルーチンを示す図、図４は本発明の実施の形態における半径を算出する原理を説明する図である。
【００４９】
図４に示されるように、半径算出処理の対象となる形状補間点を対象点ｍａとし、該対象点ｍａの一つ手前（自車位置側）の形状補間点を前隣接点ｍｂとし、対象点ｍａの一つ先（自車位置から離れる側）の形状補間点を後隣接点ｍｃとするとともに、対象点ｍａと前隣接点ｍｂとを結ぶ、対象点ｍａより手前側のセグメント（以下「前側セグメント」という。）のセグメント長をＬ１とし、対象点ｍａと後隣接点ｍｃとを結ぶ、対象点ｍａより先のセグメント（以下「後側セグメント」という。）のセグメント長をＬ２とする。また、前記対象点ｍａ、前隣接点ｍｂ及び後隣接点ｍｃを通過する円をＣｒとしたときの、円Ｃｒの中心をＱとし、円Ｃｒの半径をＲとする。さらに、対象点ｍａにおいて、前側セグメントに対して後側セグメントの成す角度を方位角θとする。
【００５０】
そして、対象点ｍａと後隣接点ｍｃとを結ぶ方向をｘ軸方向とし、該ｘ軸方向に対する直角の方向をｙ軸方向としたときの、ｘ軸方向における対象点ｍａと前隣接点ｍｂとの間の距離をＸとし、ｘ軸方向における対象点ｍａと中心Ｑとの間の距離をＡとし、ｘ軸方向における前隣接点ｍｂと中心Ｑとの間の距離をＧとするとともに、ｙ軸方向における対象点ｍａと前隣接点ｍｂ間の距離をＹとし、ｙ軸方向における前隣接点ｍｂと中心Ｑとの間の距離をＨとし、ｙ軸方向における対象点ｍａと中心Ｑとの間の距離をＦとすると、
Ｘ＝Ｌ１ｃｏｓθ
Ａ＝Ｌ２／２
Ｇ＝Ｘ＋Ａ
Ｙ＝Ｌ１ｓｉｎθ
Ｆ＝√（Ｒ2 −Ａ2 ）
Ｈ＝Ｆ−Ｙ
になる。
【００５１】
この場合、距離Ｇの二乗と距離Ｈの二乗との和が半径Ｒの二乗と等しいので、式（１）の関係が成り立つ。
【００５２】
Ｒ2 ＝Ｇ2 ＋Ｈ2                                                 ……（１）
次に、該式（１）の距離Ｇ、Ｈに前記各値を代入すると式（２）を得ることができる。
【００５３】
Ｒ2 ＝Ｘ2 ＋２ＸＡ＋Ａ2 ＋Ｒ2 −Ａ2 
−２Ｙ√（Ｒ2 −Ａ2 ）＋Ｙ2                             ……（２）
続いて、該式（２）を変形すると式（３）〜（６）を得ることができる。
【００５４】
２Ｙ√（Ｒ2 −Ａ2 ）＝Ｘ2 ＋Ｙ2 ＋２ＸＡ                        ……（３）
Ｒ2 −Ａ2 ＝｛（Ｘ2 ＋Ｙ2 ＋２ＸＡ）／２Ｙ｝2                   ……（４）
Ｒ2 ＝｛（Ｘ2 ＋Ｙ2 ＋２ＸＡ）／２Ｙ｝2 ＋Ａ2                   ……（５）
Ｒ2 ＝（Ｌ１2 ＋２Ｌ１・Ｌ２・ｃｏｓθ＋Ｌ２2 ）
／（２ｓｉｎθ）2                                       ……（６）
該式（６）から、半径Ｒは、セグメント長Ｌ1 、Ｌ2 及び方位角θの関数であることが分かる。
【００５５】
そこで、前記半径算出処理手段は、前記補間点データを読み込み、対象点ｍａ、前隣接点ｍｂ及び後隣接点ｍｃの各座標に基づいて、セグメント長Ｌ１、Ｌ２を算出するとともに、方位角θを算出する。
【００５６】
続いて、前記半径算出処理手段は、セグメント長Ｌ１、長Ｌ２及び方位角θに基づいて前記式（６）によって円Ｃｒの半径Ｒを算出する。このようにして、形状推定道路上に対象点ｍａにおける半径Ｒを算出することができる。
【００５７】
次に、フローチャートについて説明する。
ステップＳ１−１  前側セグメントのセグメント長Ｌ１を算出する。
ステップＳ１−２  後側セグメントのセグメント長Ｌ２を算出する。
ステップＳ１−３  方位角θを算出する。
ステップＳ１−４  半径Ｒを算出し、リターンする。
【００５８】
なお、本実施の形態においては、前記半径算出処理手段によって方位角θ及び半径Ｒを計算に基づいて算出するようになっているが、あらかじめ算出された方位角θ及び半径Ｒを、道路データの一部としてデータ記録部１６のデータベースに記録しておき、データ記録部１６から読み出すことによって算出することもできる。
【００５９】
次に、図２のステップＳ２におけるコーナ検出処理について説明する。
【００６０】
図５は本発明の実施の形態におけるコーナ検出処理の第１の説明図、図６は本発明の実施の形態におけるコーナ検出処理の第２の説明図、図７は本発明の実施の形態におけるコーナ検出処理の第３の説明図、図８は本発明の実施の形態におけるコーナ検出処理の第４の説明図、図９は本発明の実施の形態におけるコーナ検出処理の第５の説明図、図１０は本発明の実施の形態におけるコーナ検出処理の第６の説明図、図１１は本発明の実施の形態におけるコーナ検出処理の第７の説明図、図１２は本発明の実施の形態におけるコーナ検出処理の第８の説明図である。
【００６１】
図において、ｒｉ（ｉ＝１、２、…）は図示されない二つのノード間に設定された形状推定道路、ｍｉ（ｉ＝１、２、…）は該形状推定道路ｒｉに沿って、車両の進行方向（矢印Ｇ方向）における手前側から順に設定された複数の形状補間点、θｉ（ｉ＝１、２、…）は各形状補間点ｍｉにおける方位角である。なお、該方位角θｉは、前側セグメントに対して後側セグメントの成す角度であり、前側セグメントに対して後側セグメントが車両の進行方向における右側に位置する場合、正の値を採り、前側セグメントに対して後側セグメントが車両の進行方向における左側に位置する場合、負の値を採る。
【００６２】
まず、前記コーナ検出処理手段の開始候補点・終了候補点設定処理手段は、開始候補点・終了候補点設定処理を行い、前記各形状補間点ｍｉにおける半径Ｒｉ（ｉ＝１、２、…）を読み込み、該半径Ｒｉが、あらかじめ設定されたコーナ検出用の閾値Ｒｔｈ（本実施の形態においては、１０００〔ｍ〕）以下であるかどうかを判断し、半径が閾値Ｒｔｈ以下の形状補間点を抽出する。図５においては、形状補間点ｍ３〜ｍ９が、直線に近く、閾値Ｒｔｈ以下であると判断され、抽出される。
【００６３】
続いて、前記開始候補点・終了候補点設定処理手段は、抽出された各形状補間点において、複数の連続する形状補間点（以下「連続形状補間点群」という。）があるかどうかを判断し、連続形状補間点群がある場合、連続形状補間点群における最も手前（自車位置側）の形状補間点を開始候補点とする。図５及び６においては、形状補間点ｍ３〜ｍ９によって連続形状補間点群が構成され、形状補間点ｍ３が開始候補点ｓ１にされる。
【００６４】
また、前記開始候補点・終了候補点設定処理手段は、抽出された形状補間点について、前記半径算出処理手段によって算出された方位角θを手前側から順に読み込み、所定の形状補間点において方位角の正負が反転する（一つ手前の形状補間点に対して方位角の方向が逆になる。）かどうかを判断し、所定の形状補間点において方位角の正負が反転する場合に、一つ先の形状補間点において正負が反転するかどうかを判断する。そして、所定の形状補間点において方位角の正負が反転し、かつ、一つ先の形状補間点において正負が反転しない場合は、前記所定の形状補間点を開始候補点ｓ１とする。図７に示されるような形状を有する形状推定道路ｒ２において、形状補間点ｍ１１〜ｍ１６が設定されている場合、各形状補間点ｍ１２〜ｍ１５において、各方位角θ１２及びθ１３は負の値を採り、方位角θ１４及びθ１５は正の値を採る。すなわち、形状補間点ｍ１４において方位角θ１４の正負が負から正に反転し、一つ先の形状補間点ｍ１５において方位角θ１５の正負が正のままで反転しないので、形状補間点ｍ１４が開始候補点ｓ１にされる。
【００６５】
次に、前記開始候補点・終了候補点設定処理手段は、抽出された各形状補間点において、連続形状補間点群があるかどうかを判断し、連続形状補間点群がある場合、連続形状補間点群における最も先側（自車位置から離れる側）の形状補間点を終了候補点とする。図５及び８においては、形状補間点ｍ３〜ｍ９によって連続形状補間点群が構成され、形状補間点ｍ９が終了候補点ｅ１にされる。
【００６６】
また、前記開始候補点・終了候補点設定処理手段は、所定の形状補間点において方位角の正負が反転するかどうかを判断し、所定の形状補間点において方位角の正負が反転しない場合に、一つ先の形状補間点において正負が反転するかどうかを判断する。そして、所定の形状補間点において方位角の正負が反転せず、一つ先の形状補間点において正負が反転する場合は、前記所定の形状補間点を終了候補点ｅ１とする。図９に示されるような形状を有する形状推定道路ｒ３において、形状補間点ｍ２１〜ｍ２６が設定されている場合に、各形状補間点ｍ２２〜ｍ２５における方位角θ２２及びθ２３は正の値を採り、方位角θ２４及びθ２５は負の値を採る。すなわち、形状補間点ｍ２３においては方位角θ２３の正負が正のままで反転せず、一つ先の形状補間点ｍ２４においては方位角θ２４の正負が正から負に反転するので、形状補間点ｍ２３が終了候補点ｅ１にされる。
【００６７】
このようにして開始候補点及び終了候補点が設定されると、前記コーナ検出処理手段のコーナ設定処理手段は、コーナ設定処理を行い、開始候補点と終了候補点との間にコーナを設定する。図１０に示されるような形状を有する形状推定道路ｒ４においては、形状補間点ｍ１〜ｍ１０のうちの形状補間点ｍ２が開始候補点ｓ１にされ、形状補間点ｍ９が終了候補点ｅ１にされ、開始候補点ｓ１と終了候補点ｅ１との間にコーナｃｎ１が設定される。
【００６８】
なお、所定の形状補間点の半径が閾値Ｒｔｈ以下であり、一つ手前の形状補間点の半径、及び一つ先の形状補間点の半径がいずれも閾値Ｒｔｈより大きい場合、前記開始候補点・終了候補点設定処理手段は、前記所定の形状補間点を、開始候補点及び終了候補点を兼ねる単発点として設定し、前記コーナ設定処理手段は、前記所定の形状補間点にコーナを設定する。また、図１１に示されるような形状を有する形状推定道路ｒ５においては、形状補間点ｍ３１〜ｍ３５のうちの形状補間点ｍ３３が単発点ｆ１に設定され、形状補間点ｍ３３にコーナｃｎ１が設定される。
【００６９】
さらに、所定の形状補間点において方位角の正負が反転し、一つ先の形状補間点における方位角の正負が反転する場合、前記開始候補点・終了候補点設定処理手段は、前記所定の形状補間点を単発点として設定する。
【００７０】
図１２に示されるような形状を有する形状推定道路ｒ６においては、形状補間点ｍ４１〜ｍ４８のうちの形状補間点ｍ４２〜ｍ４４、ｍ４６及びｍ４７の方位角θ４２〜θ４４、θ４６及びθ４７は正の値を採り、形状補間点ｍ４５の方位角θ４５は負の値を採る。この場合、形状補間点ｍ４５において方位角θ４５の正負が正から負に反転し、一つ先の形状補間点ｍ４６において方位角θ４６の正負が負から正に反転するので、形状補間点ｍ４５が、単発点ｆ１に設定され、形状補間点ｍ４５にコーナｃｎ１が設定される。
【００７１】
続いて、前記コーナ設定処理手段は、単発点ｆ１の前後、及び単発点ｆ１において三つのコーナｃｎ１〜ｃｎ３を設定する。なお、この場合、コーナの番号は手前側から順次付与され、コーナの番号に対応させて開始候補点の番号及び終了候補点の番号が付与される。
【００７２】
このようにして形状推定道路においてコーナが設定されると、前記コーナ検出処理手段の記録処理手段は、記録処理を行い、形状推定道路内のコーナの番号、開始候補点の番号、終了候補点の番号等をＲＡＭ３２（図１）に記録する。
【００７３】
ところで、前述されたように、クロソイド係数推定処理においては、形状推定道路において検出されたコーナにおける最小半径に基づいてクロソイド係数が推定されるようになっているが、前記半径算出処理で３点計算法によって算出された半径のうちの最も小さい半径を最小半径として使用すると、該最小半径は本来使用すべき値より小さくなってしまう傾向がある。
【００７４】
図１３は３点計算法によって算出される半径を説明する第１の図、図１４は３点計算法によって算出される半径を説明する第２の図である。
【００７５】
図において、ｍ５１〜５６、ｍ６１〜ｍ７１は形状補間点、ｓ１は開始候補点、ｅ１は終了候補点である。
【００７６】
前記半径算出処理において算出された半径のうちの最も小さい半径を最小半径として使用する場合、図１３においては、半径算出処理の対象となる形状補間点ｍ５３が対象点とされ、該対象点の一つ手前の形状補間点ｍ５２が前隣接点とされ、対象点の一つ先の形状補間点ｍ５４が後隣接点とされ、対象点、前隣接点及び後隣接点を通過する円ＣＬｃの半径が形状補間点ｍ５３における半径とされる。ここで、対象点、前隣接点及び後隣接点の３点だけでなく、形状補間点ｍ５１〜ｍ５６の座標に基づいて近似曲線を算出し、曲率半径を算出すると、該曲率半径は実際の道路の曲率半径に近い値を採る。そして、前記曲率半径を有する円を描くとＣＬｄになり、このことから、３点計算法によって算出された半径は、実際の道路の曲率半径より小さくなる。
【００７７】
また、図１４においては、半径算出処理の対象となる形状補間点ｍ６６が対象点とされ、該対象点の一つ手前の形状補間点ｍ６５が前隣接点とされ、対象点の一つ先の形状補間点ｍ６７が後隣接点とされ、対象点、前隣接点及び後隣接点を通過する円ＣＬｃの半径が形状補間点ｍ６６における半径とされる。ここで、対象点、前隣接点及び後隣接点の３点だけでなく、形状補間点ｍ６１〜ｍ７１の座標に基づいて近似曲線を算出し、曲率半径を算出すると、該曲率半径は実際の道路の曲率半径に近い値を採る。そして、前記曲率半径を有する円を描くとＣＬｄになり、この場合も、３点計算法によって算出された半径は、実際の道路の曲率半径より小さくなる。しかも、コーナの形状が大きくなると、その分、３点計算法によって算出された半径と実際の道路の曲率半径との差は大きくなる。
【００７８】
したがって、前記半径算出処理手段によって算出された半径のうちの最も小さい半径を最小半径として使用すると、該最小半径は本来使用すべき値より小さくなるので、前記最小半径に基づいてクロソイド係数を推定すると、クロソイド曲線を適正に算出することができず、道路形状を正確に推定することができなくなってしまう。
【００７９】
そこで、本実施の形態においては、検出されたコーナ内において、三つの仮想点を設定し、各仮想点の座標に基づいて、半径を算出し、算出された半径を最小半径とするようにしている。
【００８０】
次に、図２のステップＳ６における最小半径算出処理のサブルーチンについて説明する。この場合、前述されたように、コーナ結合処理においてコーナが結合され、第１、第２のコーナ分割処理においてコーナが分割された後のコーナにおいて最小半径を算出する場合について説明する。
【００８１】
図１５は本発明の実施の形態における最小半径算出処理のサブルーチンを示す図、図１６は本発明の実施の形態における最小半径算出処理の第１の説明図、図１７は本発明の実施の形態における最小半径算出処理の第２の説明図、図１８は本発明の実施の形態における最小半径算出処理の第３の説明図、図１９は本発明の実施の形態における最小半径算出処理の第４の説明図、図２０は本発明の実施の形態における最小半径算出処理の第５の説明図、図２１は本発明の実施の形態における最小半径算出処理の第６の説明図、図２２は本発明の実施の形態における最小半径算出処理の第７の説明図、図２３は本発明の実施の形態における最小半径算出処理の第８の説明図、図２４は本発明の実施の形態における最小半径算出処理の第９の説明図、図２５は本発明の実施の形態における最小半径算出処理の第１０の説明図、図２６は本発明の実施の形態における最小半径算出処理の第１１の説明図、図２７は本発明の実施の形態における最小半径算出処理の第１２の説明図である。
【００８２】
図１６において、ｒ７は形状推定道路、ｃｎ１はコーナ、ｍｉは形状補間点、ｓ１はコーナｃｎ１の開始候補点、ｅ１はコーナｃｎ１の終了候補点である。
【００８３】
まず、前記最小半径算出処理手段の中心仮想点設定処理手段は、中心仮想点設定処理を行い、第１の仮想点として中心仮想点Ｐｖｃを設定する。そのために、前記中心仮想点設定処理手段のコーナ中心付近設定処理手段は、コーナ中心付近設定処理を行い、各形状補間点ｍ２〜ｍ９間のセグメント長を加算することによって、図１７に示されるコーナｃｎ１の開始候補点ｓｌから終了候補点ｅ１までの距離をコーナ長Ｌｓｅとして算出する。
【００８４】
続いて、前記コーナ中心付近設定処理手段は、開始候補点ｓｌより終了候補点ｅ１側に、開始候補点ｓｌからコーナ長Ｌｓｅの半分の距離Ｌｆ
Ｌｆ＝Ｌｓｅ／２
だけ離れた位置、すなわち、開始候補点ｓｌと終了候補点ｅ１との間の中心の位置にコーナ中間地点Ｐｃを、該コーナ中間地点Ｐｃより手前側の開始候補点ｓｌとの間において、コーナ中間地点Ｐｃから距離Ｌｆ／ε１だけ離れた位置にコーナ前方地点Ｐｆを、前記コーナ中間地点Ｐｃより先側の終了候補点ｅ１との間において、コーナ中間地点Ｐｃから距離Ｌｆ／ε２だけ離れた位置にコーナ後方地点Ｐｂを設定し、前記コーナ前方地点Ｐｆからコーナ後方地点Ｐｂまでの範囲をコーナ中心付近ＡＲ１として設定する。
【００８５】
なお、本実施の形態において、ε１、ε２は、コーナ中間地点Ｐｃより開始候補点ｓｌ側に前方地点Ｐｆを、コーナ中間地点Ｐｃより終了候補点ｅ１側にコーナ後方地点Ｐｂを設定するための設定値であり、本実施の形態においては、２に設定される。
【００８６】
次に、前記中心仮想点設定処理手段の中心仮想点決定処理手段は、中心仮想点決定処理を行い、コーナ中心付近ＡＲ１内に、前記半径算出処理で算出された半径Ｒｉのうちの最も小さい半径を有する形状補間点があるかどうかを判断し、最も小さい半径を有する形状補間点がある場合、該形状補間点を中心仮想点Ｐｖｃとして設定する。図１９に示されるように、例えば、形状補間点ｍ５が、半径Ｒｉのうちの最も小さい半径を有する場合、形状補間点ｍ５はコーナ中心付近ＡＲ１内にあるので、中心仮想点決定処理手段は、形状補間点ｍ５を中心仮想点Ｐｖｃとする。
【００８７】
また、前記コーナ中心付近ＡＲ１内に、最も小さい半径を有する形状補間点がない場合、中心仮想点決定処理手段は、前記コーナ中間地点Ｐｃを中心仮想点Ｐｖｃとする。図２０に示されるように、例えば、形状補間点ｍ３が、半径Ｒｉのうちの最も小さい半径を有する場合、形状補間点ｍ３はコーナ中心付近ＡＲ１内にないので、中心仮想点決定処理手段は、コーナ中間地点Ｐｃを中心仮想点Ｐｖｃとする。
【００８８】
このように、中心仮想点Ｐｖｃが設定されると、前記最小半径算出処理手段の前方仮想点設定処理手段は、前方仮想点設定処理を行い、第２の仮想点として前方仮想点Ｐｖｆを設定する。そのために、前記前方仮想点設定処理手段の距離設定処理手段は、距離設定処理を行い、中心仮想点Ｐｖｃから開始候補点ｓｌまでの距離をＬｓとしたとき、図２１に示される距離Ｌｓの半分の距離Ｌｓ／２と閾値Ｌｓｔｈ（例えば、３５〔ｍ〕）とを比較する。そして、前記距離設定処理手段は、距離Ｌｓ／２が閾値Ｌｓｔｈ以上である場合、距離Ｌｓ／２を、中心仮想点Ｐｖｃから前方仮想点Ｐｖｆを設定するための前方仮想点距離Ｌｖｆに設定し、距離Ｌｓ／２が閾値Ｌｓｔｈ未満である場合、閾値Ｌｓｔｈを前方仮想点距離Ｌｖｆに設定する。
【００８９】
続いて、前記距離設定処理手段は、前方仮想点距離Ｌｖｆと前記距離Ｌｓとを比較する。図２２に示されるように、前方仮想点距離Ｌｖｆが距離Ｌｓ未満である場合、前記前方仮想点設定処理手段の前方仮想点決定処理手段は、前方仮想点決定処理を行い、中心仮想点Ｐｖｃより手前側の、中心仮想点Ｐｖｃから前方仮想点距離Ｌｖｆだけ離れた位置に前方仮想点Ｐｖｆを設定する。また、図２３に示されるように、前方仮想点距離Ｌｖｆが距離Ｌｓ以上である場合、前記前方仮想点決定処理手段は、中心仮想点Ｐｖｃより手前側の、中心仮想点Ｐｖｃから距離Ｌｓだけ離れた位置（開始候補点ｓｌ）に前方仮想点Ｐｖｆを設定する。
【００９０】
この場合、開始候補点ｓｌと中心仮想点Ｐｖｃとの中間点を第１の候補点Ｐ１とし、中心仮想点Ｐｖｃより手前側の、中心仮想点Ｐｖｃから閾値Ｌｓｔｈだけ離れた位置を第２の候補点Ｐ２としたときに、前方仮想点Ｐｖｆは、第１、第２の候補点Ｐ１、Ｐ２、及び、開始候補点ｓｌのうちのいずれか一つの点に設定される。
【００９１】
すなわち、前方仮想点Ｐｖｆは、開始候補点ｓｌより中心仮想点Ｐｖｃから離れる側には設定されず、また、第１の候補点Ｐ１より中心仮想点Ｐｖｃ側には設定されない。
【００９２】
次に、前記最小半径算出処理手段の後方仮想点設定処理手段は、後方仮想点設定処理を行い、第３の仮想点として後方仮想点Ｐｖｂを設定する。そのために、前記後方仮想点設定処理手段の距離設定処理手段は、距離設定処理を行い、中心仮想点Ｐｖｃから終了候補点ｅ１までの距離をＬｅとしたとき、図２４に示される距離Ｌｅの半分の距離Ｌｅ／２と閾値Ｌｅｔｈ（例えば、３５〔ｍ〕）とを比較する。そして、前記距離設定処理手段は、距離Ｌｅ／２が閾値Ｌｅｔｈ以上である場合、距離Ｌｅ／２を、中心仮想点Ｐｖｃから後方仮想点Ｐｖｂを設定するための後方仮想点距離Ｌｖｂに設定し、距離Ｌｅ／２が閾値Ｌｅｔｈ未満である場合、閾値Ｌｅｔｈを後方仮想点距離Ｌｖｂに設定する。
【００９３】
続いて、前記距離設定処理手段は、後方仮想点距離Ｌｖｂと前記距離Ｌｅとを比較する。図２５に示されるように、後方仮想点距離Ｌｖｂが距離Ｌｅ未満である場合、前記後方仮想点設定処理手段の後方仮想点決定処理手段は、後方仮想点決定処理を行い、中心仮想点Ｐｖｃより先側の、中心仮想点Ｐｖｃから後方仮想点距離Ｌｖｂだけ離れた位置に後方仮想点Ｐｖｂを設定する。また、図２６に示されるように、仮想点距離Ｌｖｂが距離Ｌｅ以上である場合、前記後方仮想点決定処理手段は、中心仮想点Ｐｖｃより先側の、中心仮想点Ｐｖｃから距離Ｌｅだけ離れた位置（終了候補点ｅ１）に後方仮想点Ｐｖｂを設定する。
【００９４】
この場合、終了候補点ｅ１と中心仮想点Ｐｖｃとの中間点を第１の候補点Ｐ１１とし、中心仮想点Ｐｖｃより先側の、中心仮想点Ｐｖｃから閾値Ｌｅｔｈだけ離れた位置を第２の候補点Ｐ１２としたときに、後方仮想点Ｐｖｂは、第１、第２の候補点Ｐ１１、Ｐ１２、及び、終了候補点ｅ１のうちのいずれか一つの点に設定される。
【００９５】
すなわち、後方仮想点Ｐｖｂは、終了候補点ｅ１より中心仮想点Ｐｖｃから離れる側には設定されず、また、第１の候補点Ｐ１１より中心仮想点Ｐｖｃ側には設定されない。
【００９６】
続いて、前記最小半径算出処理手段の仮想半径算出処理手段は、仮想半径算出処理を行い、中心仮想点Ｐｖｃ、前方仮想点Ｐｖｆ及び後方仮想点Ｐｖｂの座標に基づいて、３点計算法によって仮想曲率半径としての半径を算出し、最小半径とする。
【００９７】
このように、本実施の形態においては、コーナｃｎ１の中心付近ＡＲ１に、中心仮想点Ｐｖｃが設定され、第１、第２の候補点Ｐ１、Ｐ２及び開始候補点ｓ１のうちのいずれか一つの点に前方仮想点Ｐｖｆが設定され、第１、第２の候補点Ｐ１１、Ｐ１２及び終了候補点ｅ１のうちのいずれか一つの点に後方仮想点Ｐｖｆが設定され、図２７に示されるように、中心仮想点Ｐｖｃ、前方仮想点Ｐｖｆ及び後方仮想点Ｐｖｂに基づいて、３点計算法によって最小半径が算出されるので、最小半径を実際の道路上の最小半径に近似する値にすることができる。
【００９８】
すなわち、中心仮想点Ｐｖｃ、前方仮想点Ｐｖｆ及び後方仮想点Ｐｖｂを通過する円をＣＬｃとし、形状補間点ｍ１〜ｍ１１の座標に基づいて曲率半径を算出し、該曲率半径を有する円を描くとＣＬｄになり、このことから、各円ＣＬｃ、ＣＬｄは類似する形状を有する。
【００９９】
また、本実施の形態において、前方仮想点Ｐｖｆは、第１の候補点Ｐ１より中心仮想点Ｐｖｃ側には設定されず、また、後方仮想点Ｐｖｂは、第１の候補点Ｐ１１より中心仮想点Ｐｖｃ側には設定されないので、前記半径算出処理手段によって最小半径を算出する場合に比べて最小半径が小さくなるのを防止することができる。
【０１００】
次に、フローチャートについて説明する。
ステップＳ６−１  中心仮想点Ｐｖｃを設定する。
ステップＳ６−２  前方仮想点Ｐｖｆを設定する。
ステップＳ６−３  後方仮想点Ｐｖｂを設定する。
ステップＳ６−４  仮想半径算出処理を行い、リターンする。
【０１０１】
次に、図２のステップＳ７におけるクロソイド係数推定処理について説明する。
【０１０２】
図２８は本発明の実施の形態におけるクロソイド係数マップを示す図である。
【０１０３】
この場合、最小半径Ｒｍｉｎとクロソイド曲線のクロソイド係数Ａの２乗の値Ａ2 とが、互いに対応させてＲＯＭ３３（図１）にクロソイド係数マップとして記録され、前記クロソイド係数推定処理手段は、前記ステップＳ６で算出された最小半径Ｒｍｉｎを読み込み、クロソイド係数マップを参照し、最小半径Ｒｍｉｎに対応する値Ａ2 を読み出す。続いて、前記クロソイド係数推定処理手段は、クロソイド係数Ａを算出する。なお、前記クロソイド係数マップは、実際の道路における半径と、前記道路を設計する際に使用されたクロソイド曲線のクロソイド係数との関係に基づいて作成されたものである。
【０１０４】
次に、図２のステップＳ８におけるクロソイド曲線算出処理のサブルーチンについて説明する。
【０１０５】
図２９は本発明の実施の形態におけるクロソイド曲線算出処理のサブルーチンを示す図である。
【０１０６】
ところで、クロソイド曲線は、始点からの長さが大きくなるほど曲率半径が小さくなる曲線であり、一般的には、道路を設計する際に、クロソイド曲線の一部がコーナの開始点及び終了点に当てられるようになっている。前記クロソイド曲線をｘ−ｙ座標で表すと、クロソイド曲線の開始点（原点）から所定の点Ｓまでの距離、すなわち、曲線長をＬとし、前記点Ｓにおける曲線半径をＲｃとすると、
Ｌ・Ｒｃ＝Ａ2                                                   ……（７）
になる。また、通常、クロソイド曲線のＸ座標及びＹ座標は、それぞれ、式（８）及び（９）で示される多項式によって算出することができる。
【０１０７】
Ｘ＝Ｌ×（１−Ｌ2 ／（４０Ｒｃ2 ）＋Ｌ4 ／（３４５６Ｒｃ4 ）
−Ｌ6 ／（５９９０４０Ｒｃ6 ）
＋Ｌ8 ／（１７５４７２６４０Ｒｃ8 ）…）                ……（８）
Ｘ＝Ｌ2 ／（６Ｒｃ）×（１−Ｌ2 ／（５６Ｒｃ2 ）＋
Ｌ4 ／（７０４０Ｒｃ4 ）−Ｌ6 ／（１６１２８００Ｒｃ6 ）
＋Ｌ8 ／（５８８３４９４４０Ｒｃ8 ）…）                ……（９）
この場合、クロソイド曲線を前記式（８）及び（９）で算出することが考えられるが、式（８）及び（９）は、高次の多項式であり、多数の点をプロットしてクロソイド曲線を算出しようとすると、クロソイド曲線算出処理手段によってＣＰＵ３１に加わる負荷が大きくなってしまう。
【０１０８】
そこで、本実施の形態においては、前記クロソイド曲線算出処理手段によって、クロソイド係数推定処理において算出されたクロソイド係数Ａに基づいてクロソイド曲線を算出するようにしている。そのために、前記クロソイド曲線算出処理手段は、クロソイド曲線（曲線長Ｌ（ｋ）の点Ｓ）のＸ座標及びＹ座標を、シュミレーションに基づいて得られた式（１０）及び（１１）によって近似させ、算出する。
【０１０９】
【数１】
0004475342.tif 000002
【０１１０】
ただし、Ｘ0 及びＹ0 は、クロソイド曲線の開始点のＸ座標及びＹ座標である。また、角度φは次の式（１２）で表される。
【０１１１】
φ＝α＋２ｋ・Ｌ                                              ……（１２）
そして、αはクロソイド曲線の開始点の方位であり、値ｋは式（１３）で表される。
【０１１２】
ｋ＝２８／Ａ2                                                 ……（１３）
次に、フローチャートについて説明する。
ステップＳ８−１  クロソイド曲線の曲線長Ｌ（ｋ）でループを開始する。
ステップＳ８−２  曲線長Ｌ（ｋ）の点ＳのＸ座標を算出する。
ステップＳ８−３  曲線長Ｌ（ｋ）の点ＳのＹ座標を算出する。
ステップＳ８−４  クロソイド曲線の曲線長Ｌ（ｋ）でループを終了させ、リターンする。
【０１１３】
次に、図２のステップＳ９におけるフィッティング処理について説明する。
【０１１４】
図３０は本発明の実施の形態におけるフィッティング処理の説明図である。
【０１１５】
図において、ｒ７は形状推定道路、ｃｎ１は前記コーナ結合処理及び第１、第２のコーナ分割処理によって設定されたコーナ、ｍ１〜ｍ５はコーナｃｎ１を構成する形状補間点、ｓ１はコーナｃｎ１の開始候補点である。
【０１１６】
この場合、前記フィッティング処理手段のクロソイド曲線移動処理手段は、クロソイド曲線移動処理を行い、形状補間点ｍ１、ｍ２間を結ぶセグメントＳｇ１の延長線上に、クロソイド曲線Ｑの始点Ｑｓを置き、該始点Ｑｓにおける接線とセグメントＳｇ１の延長線とが一致するようにクロソイド曲線Ｑを矢印Ｅ方向に移動させる。
【０１１７】
このとき、前記フィッティング処理手段の誤差算出処理手段は、誤差算出処理を行い、形状補間点ｍ２以降の各形状補間点ｍ２〜ｍ５に対するクロソイド曲線Ｑの位置の誤差の合計を算出する。この場合、各形状補間点ｍ２〜ｍ５に対するクロソイド曲線Ｑの位置の誤差は、各形状補間点ｍ２〜ｍ５とクロソイド曲線Ｑを描く際にプロットされる各点との前記Ｘ軸上の距離及びＹ軸上の距離に基づいて算出される。
【０１１８】
そして、前記クロソイド曲線移動処理手段は、誤差の合計が最も小さくなるように前記クロソイド曲線Ｑを各形状補間点ｍ２〜ｍ５に合わせ、クロソイド曲線Ｑの位置を設定する。
【０１１９】
続いて、前記フィッティング処理手段の開始点・終了点抽出処理手段は、開始点・終了点抽出処理を行い、クロソイド曲線Ｑの位置が設定されると、クロソイド曲線Ｑの始点Ｑｓを実際のコーナの開始点Ｓａ１として設定する。
【０１２０】
また、クロソイド曲線移動処理手段、誤差算出処理手段及び開始点・終了点抽出処理手段は、コーナｃｎ１の終点側において同様の処理を行い、クロソイド曲線Ｑの位置を設定し、クロソイド曲線Ｑの始点を実際のコーナの終了点として設定する。
【０１２１】
このようにして、クロソイド曲線Ｑによって開始候補点及び終了候補点を補正し、補正された開始候補点及び終了候補点を、それぞれコーナｃｎ１の開始点Ｓａ１及び終了点として設定することができるので、コーナｃｎ１の開始点Ｓａ１及び終了点を実際の道路上のコーナの開始点及び終了点に近づけることができる。
【０１２２】
次に、図２のステップＳ１０における開始点・終了点記録処理について説明する。
【０１２３】
前記開始点・終了点記録処理手段は、抽出された開始点及び終了点の位置を、道路形状を表すデータとしてデータ記録部１６に記録する。
【０１２４】
このように、本実施の形態においては、道路形状を正確に推定することができ、正確に推定された道路形状に基づいてコーナｃｎ１の開始点Ｓａ１及び終了点を設定するようになっているので、道路形状に対応させて自動変速機１０の変速段を変更したり、道路形状に対応させてエンジン５２の出力を変更したりして、車両の走行制御を精度良く行うことができる。
【０１２５】
本実施の形態において、道路形状の推定は、ナビゲーション装置１４のＣＰＵ３１を動作させることによって行われるようになっているが、自動変速機制御装置１１の図示されないＣＰＵを作動させたり、又は前記情報センタの制御装置としてのＣＰＵを動作させたりすることによって道路形状の推定を行うことができる。なお、車両の全体の制御を行うために、自動変速機制御装置１１及びエンジン制御装置５１の上位の制御装置として車両制御装置が配設されるが、該車両制御装置のＣＰＵを動作させることによって道路形状の推定を行うこともできる。
【０１２６】
また、本実施の形態においては、隣接する各ノード間の形状推定道路について道路形状の推定を行うようになっているが、実際の道路上において、コーナ内にノードがある場合、各ノード間の形状推定道路ごとに道路形状を推定すると、コーナ内におけるノードの前後において処理が異なってしまう。そこで、他の実施の形態においては、道路データにおいて、各道路リンク間に道なりデータが付与されていて、ノードを通過した後に進入することが予測される道路リンクが明らかな場合、又は経路探索処理によって探索経路が設定されている場合等においては、二つ以上の連続する形状推定道路について道路形状の推定を行うことができる。
【０１２７】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施の形態における車両制御システムのブロック図である。
【図２】本発明の実施の形態における道路形状推定処理手段の動作を示すメインフローチャートである。
【図３】本発明の実施の形態における半径算出処理のサブルーチンを示す図である。
【図４】本発明の実施の形態における半径を算出する原理を説明する図である。
【図５】本発明の実施の形態におけるコーナ検出処理の第１の説明図である。
【図６】本発明の実施の形態におけるコーナ検出処理の第２の説明図である。
【図７】本発明の実施の形態におけるコーナ検出処理の第３の説明図である。
【図８】本発明の実施の形態におけるコーナ検出処理の第４の説明図である。
【図９】本発明の実施の形態におけるコーナ検出処理の第５の説明図である。
【図１０】本発明の実施の形態におけるコーナ検出処理の第６の説明図である。
【図１１】本発明の実施の形態におけるコーナ検出処理の第７の説明図である。
【図１２】本発明の実施の形態におけるコーナ検出処理の第８の説明図である。
【図１３】３点計算法によって算出される半径を説明する第１の図である。
【図１４】３点計算法によって算出される半径を説明する第２の図である。
【図１５】本発明の実施の形態における最小半径算出処理のサブルーチンを示す図である。
【図１６】本発明の実施の形態における最小半径算出処理の第１の説明図である。
【図１７】本発明の実施の形態における最小半径算出処理の第２の説明図である。
【図１８】本発明の実施の形態における最小半径算出処理の第３の説明図である。
【図１９】本発明の実施の形態における最小半径算出処理の第４の説明図である。
【図２０】本発明の実施の形態における最小半径算出処理の第５の説明図である。
【図２１】本発明の実施の形態における最小半径算出処理の第６の説明図である。
【図２２】本発明の実施の形態における最小半径算出処理の第７の説明図である。
【図２３】本発明の実施の形態における最小半径算出処理の第８の説明図である。
【図２４】本発明の実施の形態における最小半径算出処理の第９の説明図である。
【図２５】本発明の実施の形態における最小半径算出処理の第１０の説明図である。
【図２６】本発明の実施の形態における最小半径算出処理の第１１の説明図である。
【図２７】本発明の実施の形態における最小半径算出処理の第１２の説明図である。
【図２８】本発明の実施の形態におけるクロソイド係数マップを示す図である。
【図２９】本発明の実施の形態におけるクロソイド曲線算出処理のサブルーチンを示す図である。
【図３０】本発明の実施の形態におけるフィッティング処理の説明図である。
【符号の説明】
【０１２９】
１６    データ記録部
３１    ＣＰＵ
ｃｎ１  ｃｎ１１  ｃｎ２１    コーナ
ｅ１    終了候補点
ｍａ    対象点
ｍｉ、ｍ１〜ｍ１６、ｍ２１〜ｍ２６、ｍ３１〜ｍ３５、ｍ５１〜ｍ５６、ｍ６１〜ｍ７１    形状補間点
Ｐｖｂ    後方仮想点
Ｐｖｃ    中心仮想点
Ｐｖｆ    前方仮想点
Ｑ    クロソイド曲線
Ｒｍｉｎ    最小半径
ｓ１    開始候補点
【図１】
0004475342.tif 000003
【図２】
0004475342.tif 000004
【図３】
0004475342.tif 000005
【図４】
0004475342.tif 000006
【図５】
0004475342.tif 000007
【図６】
0004475342.tif 000008
【図７】
0004475342.tif 000009
【図８】
0004475342.tif 000010
【図９】
0004475342.tif 000011
【図１０】
0004475342.tif 000012
【図１１】
0004475342.tif 000013
【図１２】
0004475342.tif 000014
【図１３】
0004475342.tif 000015
【図１４】
0004475342.tif 000016
【図１５】
0004475342.tif 000017
【図１６】
0004475342.tif 000018
【図１７】
0004475342.tif 000019
【図１８】
0004475342.tif 000020
【図１９】
0004475342.tif 000021
【図２０】
0004475342.tif 000022
【図２１】
0004475342.tif 000023
【図２２】
0004475342.tif 000024
【図２３】
0004475342.tif 000025
【図２４】
0004475342.tif 000026
【図２５】
0004475342.tif 000027
【図２６】
0004475342.tif 000028
【図２７】
0004475342.tif 000029
【図２８】
0004475342.tif 000030
【図２９】
0004475342.tif 000031
【図３０】
0004475342.tif 000032