(57)【要約】【課題】旋回路や、Ｓ字カーブ路であっても、不必要に平均化することなく高精度にカーブ曲率半径を算出する。【解決手段】カーブ曲率半径の検出対象となるノードが属する道路環境に応じて探査区間Ｄと、この探査区間Ｄ内における最大ノード数と、旋回路判断角とを設定し、探査区間Ｄの起点側のノードから順に、そのリンク角とリンク長とを積算していき（ステップＳ４３、Ｓ４５）、リンク角の総和が旋回路判断角以上となるとき（ステップＳ４６）、探査区間Ｄ内のノード数が最大ノード数以上となるとき（ステップＳ４２）に旋回路であると判断し、前記旋回路判断角又は最大ノード数を超えた時点までのリンク角の総和をリンク長の総和で除した値を、カーブ曲率半径とする。【選択図】　　　　　図１２　
2004037372.tif 000002
【特許請求の範囲】
【請求項１】
道路地図データを構成し、少なくとも位置情報を有する複数のノードに基づきこれら複数のノードで構成される経路のカーブ曲率半径を推定するカーブ曲率半径推定装置であって、
前記カーブ曲率半径を推定するための、予め設定した探査区間内のノード列について、隣接するノード間を結ぶリンクのリンク長の総和を、隣接するリンクどうしがなす交差角の総和で除して前記ノード列で構成される経路のカーブ曲率半径を算出し、
前記ノードの配置状況から、前記ノード列で構成される経路が旋回路又はＳ字カーブ路であると判断されるときには、前記探査区間の起点からのノードの配置状況が、旋回路又はＳ字カーブ路であると判断されない区間のノード列に基づいて、前記カーブ曲率半径を算出することを特徴とするカーブ曲率半径推定装置。
【請求項２】
道路地図データを構成し、少なくとも位置情報を有する複数のノードに基づきこれら複数のノードで構成される経路のカーブ曲率半径を推定するカーブ曲率半径推定装置において、
前記カーブ曲率半径を推定するための探査区間を設定する探査区間設定手段と、
当該探査区間内の一連のノード列について、隣接するノード間を結ぶリンクのリンク長の総和を、隣接するリンクどうしがなす交差角の総和で除して、前記ノード列で構成される経路のカーブ曲率半径を算出するカーブ曲率半径算出手段と、
前記ノードの配置状況から、前記ノード列で構成される経路が旋回路又はＳ字カーブ路であるか否かを検出するカーブ形状検出手段と、を備え、
前記カーブ曲率半径算出手段は、前記カーブ形状検出手段で、旋回路又はＳ字カーブ路であることが検出されたときには、前記探査区間の起点からのノードの配置状況が、旋回路又はＳ字カーブ路であると判断されない区間内のノード列に基づいて、前記カーブ曲率半径を算出するようになっていることを特徴とするカーブ曲率半径推定装置。
【請求項３】
前記カーブ形状検出手段は、前記探査区間内に存在するノード数が、予め設定した最大ノード数以上であるときに、前記ノード列は、旋回路であると判断することを特徴とする請求項２記載のカーブ曲率半径推定装置。
【請求項４】
前記カーブ形状検出手段は、前記探査区間の起点からの前記リンク角の総和を積算したときに、当該リンク角の総和が、予め設定した旋回路判断角以上であるときに、前記ノード列は、旋回路であると判断することを特徴とする請求項２又は３記載のカーブ曲率半径推定装置。
【請求項５】
前記カーブ形状検出手段は、前記探査区間内の基準リンク角とカーブ方向が連続して逆となるリンク角の総和が、予め設定したＳ字カーブ判断角以上であるときに、前記ノード列は、Ｓ字カーブであると判断することを特徴とする請求項２乃至４の何れかに記載のカーブ曲率半径推定装置。
【請求項６】
前記カーブ形状検出手段は、前記探査区間内の基準リンク角とカーブ方向が逆となるリンク角の頂点に位置するノードとこの次に位置するノードとの横変位量が、予め設定した横変位判断値以上であるときに、前記ノード列は、Ｓ字カーブであると判断するようになっていることを特徴とする請求項２乃至５の何れかに記載のカーブ曲率半径推定装置。
【請求項７】
前記カーブ形状検出手段は、リンク角が、前記探査区間内の基準リンク角とカーブ方向が連続して逆となる区間における隣接するノード間の横変位量の総和が、予め設定した横変位判断値以上であるとき、前記ノード列は、Ｓ字カーブであると判断するようになっていることを特徴とする請求項２乃至６の何れかに記載のカーブ曲率半径推定装置。
【請求項８】
前記ノードは、当該ノードが属する道路の道路環境情報を有し、
前記カーブ形状検出手段は、前記ノードが属する道路の道路環境に応じて、前記最大ノード数を設定することを特徴とする請求項３記載のカーブ曲率半径推定装置。
【請求項９】
前記ノードは、当該ノードが属する道路の道路環境情報を有し、
前記カーブ形状検出手段は、前記ノードが属する道路の道路環境に応じて、前記旋回路判断角を設定することを特徴とする請求項４記載のカーブ曲率半径推定装置。
【請求項１０】
前記ノードは、当該ノードが属する道路の道路環境情報を有し、
前記カーブ形状検出手段は、前記ノードが属する道路の道路環境に応じて、前記Ｓ字カーブ判断角を設定することを特徴とする請求項５記載のカーブ曲率半径推定装置。
【請求項１１】
前記ノードは、当該ノードが属する道路の道路環境情報を有し、
前記カーブ形状検出手段は、前記ノードが属する道路の道路環境に応じて、前記横変位判断値を設定することを特徴とする請求項６又は７記載のカーブ曲率半径推定装置。
【請求項１２】
前記ノードは、当該ノードが属する道路の道路環境情報を有し、
前記探査区間設定手段は、前記ノードが属する道路の道路環境に応じて、前記探査区間を設定することを特徴とする請求項２乃至１２の何れかに記載のカーブ曲率半径推定装置。
【請求項１３】
前記道路環境情報は、道路種別、道路幅、制限速度の少なくとも何れかであることを特徴とする請求項８乃至１２の何れかに記載のカーブ曲率半径推定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のノードの集合で構成される地図データに基づいてカーブ路の曲率半径を推定するカーブ曲率半径推定装置に関する。
【０００２】
【従来の技術】
従来、道路地図データを構成する複数のノードの位置情報等に基づいて、道路形状を推定する方法として、例えば、特開２０００−２８３７３号公報に記載されたもの等が知られている。
この特開２０００−２８３７３号公報に記載の推定方法においては、道路地図データを構成する複数のノードの位置及び道路上の自車位置のうちの３つの位置を選択し、選択した３つの位置のうちの第１及び第２の位置を結ぶリンクと第２及び第３の位置を結ぶリンクとがなす交差角θと、少なくとも第２及び第３の位置間のリンク長Ｌとから、複数の車両旋回量θ／Ｌを算出し、これら複数の車両旋回量θ／Ｌの平均値或いは総和に基づいて、道路形状の予測を行うようになっている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述の車両旋回量θ／Ｌに基づいて道路形状の予測を行う方法においては、連続する２つのノードにおける車両旋回量θ／Ｌの比が、所定範囲外にあるときに、道路形状が大きく変化したとして、これら２つのノードにおける車両旋回量の平均値或いは総和の算出を中止するようにしている。このため、例えば高速道路のインターチェンジ（ＩＣ）やジャンクション（Ｊｃｔ）等のように、長距離にわたってカーブが連続している場合や、同一カーブであっても、徐々にカーブ曲率半径が変化している場合には、連続する２つのノードにおける車両旋回量θ／Ｌの比はほぼ等しく、所定範囲外とはならないため、車両旋回量の平均値或いは総和の算出は中止されず、無意味に平均化されてしまい、この平均値或いは総和に基づき道路形状を推定した場合には、誤った推定を行うこともあり得るという問題がある。
【０００４】
また、道路形状を表すノードの座標はある程度の誤差をもっているのが一般的ではあるが、上記従来のように、単に連続する２つのノードにおける車両旋回量の平均値或いは総和の算出を中止してしまうと、ノードが同一カーブ上に接近して設けられた特異点においても、別カーブであると判断して平均値或いは総和の算出を中止してしまう場合があるため、場合によっては、道路形状を誤って認識してしまうという問題がある。
【０００５】
そこで、この発明は、上記従来の未解決の問題に着目してなされたものであり、長距離にわたって連続するカーブ路やカーブ曲率半径が変化するカーブ路等であっても、算出されるカーブ曲率半径が無意味に平均化されることを防止し、且つ的確に道路形状を推定することの可能なカーブ曲率半径推定装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るカーブ曲率半径推定装置は、カーブ曲率半径を推定するための、予め設定した探査区間内のノード列について、隣接するノード間を結ぶリンクのリンク長の総和を、隣接するリンクどうしがなす交差角の総和で除して前記ノード列で構成される経路のカーブ曲率半径を算出する。このとき、ノードの配置状況から、前記ノード列で構成される経路が旋回路又はＳ字カーブ路であると判断されるときには、探査区間の起点となるノードからの配置状況が、旋回路又はＳ字カーブ路であると判断されない区間内のノード列に基づいて、カーブ曲率半径を算出する。したがって、旋回路の場合にカーブ曲率半径が、不必要に長い区間にわたって平均化されることはなく、また、Ｓ字カーブ路である場合に、カーブ方向の異なるリンク角の総和に基づいてカーブ曲率半径が算出されることに起因して、カーブ曲率半径の検出精度が低下することが回避される。
【０００７】
【発明の効果】
本発明に係るカーブ曲率半径推定装置によれば、カーブ曲率半径を推定するための、予め設定した探査区間内のノード列について、隣接するノード間を結ぶリンクのリンク長の総和を、隣接するリンクどうしがなす交差角の総和で除して前記ノード列で構成される経路のカーブ曲率半径を算出するが、ノードの配置状況から、前記ノード列で構成される経路が旋回路又はＳ字カーブ路であると判断されるときには、探査区間の起点となるノードからの配置状況が、旋回路又はＳ字カーブ路であると判断されない区間内のノード列に基づいて、カーブ曲率半径を算出するようにしたから、旋回路の場合にカーブ曲率半径が、不必要に長い区間にわたって平均化されることはなく、また、Ｓ字カーブ路である場合に、カーブ方向の異なるリンク角の総和に基づいてカーブ曲率半径が算出されることに起因して、カーブ曲率半径の検出精度が低下することを回避することができる。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
まず、第１の実施の形態について説明する。
図１は、本発明におけるカーブ曲率半径推定装置の一例を示す構成図である。図中、１は、車両に搭載された公知のナビゲーション装置であって、カーブ曲率半径推定装置２は、このナビゲーション装置１から通知される地図情報及び自車両の位置情報に基づいて自車両前方道路のカーブ曲率半径を推定するようになっている。
【０００９】
前記ナビゲーション装置１は、ＩＣカード、ＣＤ−ＲＯＭ、記憶の書き換えが可能な光磁気ディスク等に記憶された地図情報を有し、ＧＰＳアンテナから受信した自車位置情報に基づき、前記地図情報のうち、例えば図２に示すような、自車両前方所定範囲内に相当する地図情報を抽出し、この地図情報に前記自車位置情報を付加しこれをカーブ曲率半径装置２への地図情報として、カーブ曲率半径推定装置２に出力する。また、ナビゲーション装置１に対し、乗員によって、目的地が設定された場合には、設定された目的地への案内経路を乗員に提供する機能を備えている。前記地図情報としては、例えば図２に示すように、自車両の位置座標、自車両前方道路上の、各ノードの位置座標、道路種別、リンク種別、道路幅、制限速度等を出力する。前記道路種別としては、高速道路であるか、或いは、有料道路、国道、県道、主要地方道、一般道であるか等を出力する。また、前記リンク種別としては、本線リンクであるか、或いは、本線間の渡り線リンク、ランプリンク、測道リンク、ＳＡ等測道リンクであるか等を出力する。
【００１０】
そして、前記カーブ曲率半径推定装置２は、図１に示すように、ナビゲーション装置１からの地図情報をもとに、隣接するノード間のリンクどうしがなすリンク角を算出するリンク角算出部２１、前記地図情報及び前記リンク角算出部２１で算出されたリンク角をもとに、自車両が進行する経路を推定する推定経路設定部２２と、ナビゲーション装置１からの地図情報をもとに最大ノード数を設定する最大ノード数設定部２３及び旋回路判断角を設定する旋回路判断角設定部２４と、推定経路設定部２２で設定された推定経路と、最大ノード数設定部２３で設定された最大ノード数と、旋回路判断角設定部２４で設定された旋回路判断角と、をもとに、カーブ曲率半径を演算するカーブ曲率半径演算部２５と、を備えている。
【００１１】
そして、カーブ曲率半径推定装置２では、図３に示すカーブ曲率半径推定処理を予め設定した周期で実行し、カーブ曲率半径を推定する。
すなわち、まず、ステップＳ２で、ナビゲーション装置１から自車両の位置情報及び自車両前方の所定範囲内の地図情報といった地図情報を読み込む。
次いで、ステップＳ４に移行し、自車両前方所定範囲内に含まれる各ノードの位置座標に基づいて、リンク角を算出する。このリンク角は、自車両前方道路上のノードの座標を走行方向の手前から順に、図２に示すように、それぞれＰ（Ｘｋ−１、Ｙｋ−１）、Ｑ（Ｘｋ、Ｙｋ）、Ｒ（Ｘｋ＋１、Ｙｋ＋１）とすると、ノードＰ及びＱを結ぶリンクＰＱと、ノードＱ及びＲを結ぶリンクＱＲとがなす交差角として定義される。したがって、次式（１）〜（４）が成り立つことから、リンク角θｋは、（３）及び（４）式から、〔−π、π〕の範囲で一意的に求めることができる。
【００１２】
【数１】
2004037372.tif 000003
【００１３】
次いで、ステップＳ６に移行し、推定経路設定処理を行って、自車両前方道路に対し、自車両が進むであろう経路を設定する。この経路の設定は、図４に示すフローチャートにしたがって行う。
すなわち、まず、ステップＳ１１で、ナビゲーション装置１に対して予め乗員によって目的地が入力されているか否かを判断する。目的地が入力されている場合には、そのまま後述のステップＳ２５に移行する。
【００１４】
一方、乗員によって目的地が設定されていない場合には、ステップＳ１２に移行し、通知された地図情報に基づいて、自車前方道路の自車両に近いノードから順に番号を付与したとき、自車両に最も近い位置に位置する１番目のノードＰ１を推定経路の１番目のノードＳ１として設定しこれを所定の記憶領域に格納し、ｋ＝１に初期化した後ステップＳ１３に移行する。
【００１５】
このステップＳ１３では、推定経路のｋ番目のノードＳｋがルートの終端か、つまり、自車両前方道路の情報として通知された地図情報の端部に位置するノードであるか否かを判断する。そして、ｋ番目のノードＳｋが自車両前方の地図情報の端部に相当するノードでない場合には、ステップＳ１４に移行し、ノードＳｋに分岐路があるか否かを判断する。この分岐路があるかないかの判断は、ナビゲーション装置１から通知されたノードＳｋの前方に隣接するノード数が複数であるか否かに基づいて行う。
【００１６】
そして、分岐路がない場合には、ステップＳ１５に移行し、Ｓｋ（＝Ｐｉ）の次のノードＰｉ＋１，１を推定経路のｋ＋１番目のノードＳｋ＋１に設定した後ステップＳ１６に移行し、ｋをｋ＝ｋ＋１、ｉをｉ＝ｉ＋１に更新した後、ステップＳ１３に戻る。なお、ノードＰｉ＋１，１の、添字“ｉ＋１”は、ノードＰｉの前方に隣接するノードであること表し、添字“１”は、ノードＰｉの前方に隣接するノードの１番目のノードであることを表す。
【００１７】
一方、前記ステップＳ１４で、ノードＳｋに分岐路がある場合には、ステップＳ２１に移行し、リンク種別に応じて、例えば図５に示す優先順位に基づいて優先路を決定する。この優先順位は、例えば、リンク種別が、本線リンクである場合の優先順位が最も高く、以後、本線間の渡り線リンク、ランプリンク、側道リンク及びサービスエリア（ＳＡ）等の側道リンク、その他、の順に優先順位が低くなるように設定され、側道リンクとサービスエリア等の側道リンクとは、同じ優先順位に設定されている。
【００１８】
リンク種別に応じてこのような順に優先順位を設定し、これに応じて推定経路を設定することによって、例えば自車両が本線を走行中に側道へ進む可能性は低いので、乗員によって目的地が入力されていない場合でも、自車両が進むであろう道路を的確に予測することができる。
そして、ステップＳ２１の処理で、同じ優先順位の道路が前方に複数存在し、図５に示す優先順位に基づいて優先路が設定されない場合には、ステップＳ２２に移行し、今度は、道路種別に応じて、例えば図６に示す優先順位に基づいて優先路を決定する。この優先順位は、例えば、道路種別が高速道路又は有料道路である場合に優先順位が最も高く、以後、国道又は県道及び主要地方道、一般道、その他、の順に優先順位が低くなるように設定され、国道と、県道及び主要地方道とは同じ優先順位に設定されている。
【００１９】
道路種別に応じてこのような優先順位を設定し、これに基づき推定経路を設定することによって、例えば、三叉路で前方道路が国道と一般道の場合、自車両は国道に進む可能性が高いので、乗員によって目的地が入力されていない場合でも、自車両が進むであろう道路を的確に予測することができる。
そして、ステップＳ２２の処理で、同じ優先順位の道路が前方に複数存在し、図６に示す優先順位に基づいて優先路が決定されない場合には、ステップＳ２３に移行し、先にステップＳ４の処理で算出したリンク角θｉ，ｊに基づいて優先路を決定する。つまり、リンク角θｉ，ｊの絶対値が最小となるノードＰｉ＋１，ｊを優先路として決定し、ステップＳ２４に移行する。なお、ノードＰｉ＋１，ｊの添字“ｉ＋１”はノードＰｉの前方に隣接するノードであることを表し、添字“ｊ”は、ノードＰｉの前方に隣接するノードのｊ番目のノードであることす。
【００２０】
一方、前記ステップＳ２１で、リンク種別に基づいて優先路が決定したとき、また、ステップＳ２２で、道路種別に基づいて優先路が決定したときには、そのままステップＳ２４に移行する。
このステップＳ２４では、前記ステップＳ２１でのリンク種別又はステップＳ２２での道路種別に基づいて優先路が決定されたときには、推定経路のｋ＋１番目のノードＳｋ＋１として、優先路として決定された、ノードＰｉの次のノードで一番優先順位の高いノードＰｉ＋１，ｊを設定する。一方、ステップＳ２３でリンク角に基づき優先路が決定されたときには、優先路として決定されたノードＰｉ＋１，ｊを推定経路のｋ＋１番目のノードＳｋ＋１として設定する。そして、このようにして設定した推定経路のｋ＋１番目のノードＳｋ＋１を所定の記憶領域に格納した後、前記ステップＳ１６に移行し、ｋ及びｉを更新する。
【００２１】
そして、ノードＳｋが自車両前方の地図情報の端部に相当するノードとなるまで、ステップＳ１３からステップＳ２４の処理を繰り返し行い、端部に相当するノードとなったとき、ステップＳ１３からステップＳ２５に移行し、推定経路の設定を行う。
具体的には、前記ステップＳ１１の処理で乗員によって目的地の設定が行われていると判断された場合、つまり、ステップＳ１１からそのままステップＳ２５に移行した場合には、ナビゲーション装置１から通知された目的地までの案内経路を推定経路として設定する。一方、前記ステップＳ１１の処理で乗員によって目的地の設定が行われず、ステップＳ１３を経由してステップＳ２５に移行した場合には、所定の記憶領域に記憶されているノードＳｋ（ｋ＝１、２、３、……）を推定経路として設定し、推定経路の設定処理を終了する。
【００２２】
このようにして、推定経路の設定が終了すると、図３のステップＳ６からステップＳ８に移行し、ナビゲーション装置１から地図情報として得られる道路種別、道路幅、車線数、制限速度に応じて最大ノード数Ｎｍａｘと旋回路判断角θｍａｘとを設定する。
具体的には、最大ノード数Ｎｍａｘは、図７に示すように、例えば道路種別が高速道路であり、且つ制限速度が６０〔ｋｍ／ｈ〕以上であるときには最大ノード数Ｎｍａｘを“７”に設定し、制限速度が６０〔ｋｍ／ｈ〕未満のときには“５”に設定する。また、道路種別が高速道路ではなく、道路幅が１６〔ｍ〕以上又は４車線以上の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには最大ノード数Ｎｍａｘを“７”、５０〔ｋｍ／ｈ〕未満のときには“５”に設定する。また、道路種別が高速道路ではなく、道路幅が１６〔ｍ〕未満且つ３車線以下の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには最大ノード数Ｎｍａｘを“７”に設定し、５０〔ｋｍ／ｈ〕未満のときには“５”に設定する。
【００２３】
また、旋回路判断角θｍａｘは、図８に示すように、例えば道路種別が高速道路であり、且つ制限速度が６０〔ｋｍ／ｈ〕以上であるときには旋回路判断角θｍａｘを９０度に設定し、制限速度が６０〔ｋｍ／ｈ〕未満のときには１２０度に設定する。また、道路種別が高速道路ではなく、道路幅が１６〔ｍ〕以上又は４車線以上の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには旋回路判断角θｍａｘを９０度、５０〔ｋｍ／ｈ〕未満のときには１２０度に設定する。また、道路種別が高速道路でなく、道路幅が１６〔ｍ〕未満且つ３車線以下の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには旋回路判断角θｍａｘを１２０度に設定し、５０〔ｋｍ／ｈ〕未満のときには１５０度に設定する。
【００２４】
このように、高速道路や、車線幅が広い道路、或いは、車線数が多い道路、制限速度が高い道路では、最大ノード数Ｎｍａｘが大きくなるように設定することによって、一般の道路では、高速道路や、道路幅が広い道路、車線数が多い道路、制限速度が高い道路ほど、カーブ曲率半径が極端に小さなカーブは少なくなるので、このような道路で必要以上にカーブ曲率半径が小さくなってしまうことを防ぎ、実際の道路形状に則したカーブ曲率半径を算出するようにしている。逆に、一般道路、車線幅が狭い道路、車線数が少ない道路、制限速度が低い道路では、カーブ曲率半径が小さいカーブが存在するので、最大ノード数Ｎｍａｘを小さく設定して曲率半径が無意味に平均化されることを防止するようにしている。
【００２５】
また、高速道路、車線幅が広い道路、車線数が多い道路、制限速度が高い道路では、旋回路判断角θｍａｘが小さくなるように設定することによって、一般の道路では、高速道路や、道路幅が広い道路、車線数が多い道路、制限速度が高い道路ほど、カーブ曲率半径が極端に小さなカーブは少なくなるので、このような道路でも、より確実に旋回路と判断し、曲率半径が無意味に平均化されることを防止するようにしている。
【００２６】
このようにして最大ノード数Ｎｍａｘ及び旋回路判断角θｍａｘを設定すると、ステップＳ８からステップＳ１０に移行し、図９に示すカーブ曲率半径演算処理を行い、ステップＳ６の処理で設定した推定経路に対し、まず、カーブ曲率半径を算出する際の探査区間を設定し、この探査区間内に存在するノードのリンク長の総和を、リンク角の総和で除して、これをカーブ曲率半径とする。
【００２７】
具体的には、まず、ステップＳ３１で、図１０に示すように、ステップＳ６の処理で設定した推定経路に対し、カーブの曲率半径を算出する際の探査区間Ｄ、つまり探査を行う区間の区間長を設定する。この探査区間Ｄは、ナビゲーション装置１から得られる道路種別、道路幅、車線数、制限速度をもとに、例えば図１１に基づいて設定する。
【００２８】
つまり、例えば道路種別が高速道路であり、且つ制限速度が６０〔ｋｍ／ｈ〕以上であるときには探査区間Ｄを４５０〔ｍ〕に設定し、制限速度が６０〔ｋｍ／ｈ〕未満のときには３００〔ｍ〕に設定する。また、道路種別が高速道路ではなく、道路幅が１６〔ｍ〕以上又は４車線以上の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには探査区間Ｄを３００〔ｍ〕、５０〔ｋｍ／ｈ〕未満のときには１５０〔ｍ〕に設定する。また、道路種別が高速道路ではなく、道路幅が１６〔ｍ〕未満且つ３車線以下の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには探査区間Ｄを１５０〔ｍ〕に設定し、５０〔ｋｍ／ｈ〕未満のときには１００〔ｍ〕に設定する。
【００２９】
ここで、高速道路、車線幅が広い道路、車線数が多い道路、制限速度が高い道路では探査区間Ｄが長くなるように設定しているが、これは一般の道路では、高速道路や道路幅が広い道路、車線数が多い道路、制限速度が高い道路ほど、カーブ曲率半径が極端に小さなカーブは少なくなるので、探査区間Ｄを長くしてもカーブ曲率半径が必要以上に平均化されることはなく、また、カーブ曲率半径の大きなカーブでは長距離の探査区間Ｄを設定することで、探査区間Ｄ内のカーブ曲率半径を平均化するという理由から、地図データのノードに含まれる誤差の影響も小さく抑えることができるためである。
【００３０】
次いで、ステップＳ３２に移行し、リンク長及びリンク角の総和を算出する際のノード数Ｎを設定する。このノード数Ｎの設定は、図１２に示すフローチャートにしたがって行う。
まず、ステップＳ４１で、ノード変数ｎをｎ＝４に初期化する。なお、このノード変数ｎの初期値は、４以上であればよく、“４”に限らず任意に設定することができ、例えば、高速道路のようにカーブ曲率半径が極端に小さなカーブが少ない道路ではノード変数ｎの初期値を大きく設定してもよい。
【００３１】
次いでステップＳ４２に移行し、ノード変数ｎが、前記図３のステップＳ８の処理で設定した最大ノード数Ｎｍａｘよりも大きいか否かを判断する。そして、ｎ＞Ｎｍａｘでない場合には、ステップＳ４３に移行し、次式（５）に従ってリンク長の総和Ｌｓｕｍを算出する。なお、式（５）中のＬｉは、ノードｉとノードｉ＋１間のリンク長である。また、式（５）中のｋは、推定経路において探査区間Ｄを設定する際に基準となるノードを表し、例えば、最も自車両位置に近いノードを“ｋ−１”とし、その次に位置するノードを“ｋ”とする。
【００３２】
【数２】
2004037372.tif 000004
【００３３】
次いで、ステップＳ４４に移行し、ステップＳ４３で算出したリンク長の総和Ｌｓｕｍが、前記図９のステップＳ３１で設定した探査区間Ｄよりも長いか否かを判断し、Ｌｓｕｍ＞Ｄでない場合には、ステップＳ４５に移行し、今度は、次式（６）にしたがって、リンク角の総和θｓｕｍを算出する。なお、式（６）中のθｉは、ノードｉ−１及びノードｉ間のリンクと、ノードｉ及びノードｉ＋１間のリンクとがなす角度である。また、ｋは、上述と同様に、推定経路において探査区間Ｄを設定する際に基準となるノードを表す。
【００３４】
【数３】
2004037372.tif 000005
【００３５】
次いで、ステップＳ４６に移行し、ステップＳ４５で算出したリンク角の総和θｓｕｍの絶対値が、図３のステップＳ８で設定した旋回路判断角θｍａｘよりも大きいか否かを判断する。そして、｜θｓｕｍ｜＞θｍａｘでない場合には、ステップＳ４７に移行し、ノード変数ｎを“１”だけカウントアップした後、ステップＳ４２に戻る。
【００３６】
そして、ステップＳ４２で、ノードｎが最大ノード数Ｎｍａｘを超えたとき（ｎ＞Ｎｍａｘ）、或いは、ステップＳ４４でリンク長の総和Ｌｍａｘが探査区間Ｄを超えたとき（Ｌｍａｘ＞Ｄ）、或いは、ステップＳ４６で、リンク角の総和θｓｕｍの絶対値が旋回路判断角θｍａｘを超えたとき（｜θｓｕｍ｜＞θｍａｘ）には、ステップＳ４８に移行し、ノード数Ｎを、Ｎ＝ｎ−１として設定し、処理を終了する。
【００３７】
このようにしてノード数Ｎを設定したならば、図９のステップＳ３２からステップＳ３３に移行し、ステップＳ３２で設定したノード数Ｎに基づき、次式（７）に従ってリンク角の総和θｓｕｍを算出する。
【００３８】
【数４】
2004037372.tif 000006
【００３９】
次いで、ステップＳ３４に移行し、ステップＳ３２で設定したノード数Ｎに基づき次式（８）に従ってリンク長の総和Ｌｓｕｍを算出する。
【００４０】
【数５】
2004037372.tif 000007
【００４１】
次いで、ステップＳ３５に移行し、ステップＳ３３及びステップＳ３４で算出したリンク角の総和θｓｕｍ及びリンク長の総和Ｌｓｕｍに基づいて、次式（９）からカーブ曲率半径Ｒｋを算出する。
【００４２】
【数６】
2004037372.tif 000008
【００４３】
そして、このようにして探査区間Ｄについてカーブ曲率半径の演算処理が終了したならば、カーブ曲率半径演算処理を終了し、図３に戻ってカーブ曲率半径推定処理を終了する。
なお、ここでは、ステップＳ６で設定した推定経路に対し、探査区間Ｄを１つ設定し、推定経路に対し、一つのカーブ曲率半径Ｒｋを算出するようにした場合について説明しているが、基準となるノードｋをずらして複数設定し、１の推定経路に対し、探査区間Ｄを複数設定し、それぞれについてカーブ曲率半径Ｒｋを算出するようにしてもよい。
【００４４】
次に、上記第１の実施の形態の動作を説明する。
カーブ半径推定装置２では、図３に示すカーブ半径推定処理を予め設定した所定周期で実行し、まずナビゲーション装置１から自車両の現在位置に応じた自車両前方所定範囲の地図情報を読み込み（ステップＳ２）、この地図情報に含まれる各ノードの位置座標に基づいて隣接するノードを接続するリンクどうしで形成されるリンク角θｋを算出する（ステップＳ４）。
【００４５】
そして、このとき、ナビゲーション装置１に対し乗員によって目的地が設定されているものとすると、ナビゲーション装置１において把握している目的地までの経路を、推定経路として設定する（ステップＳ６）。そして、地図情報に基づいて自車両前方の道路種別、道路幅、車線数、制限速度等を認識し、図７に示す対応図から最大ノード数Ｎｍａｘを特定し、また、図８に示す対応図から旋回路判断角θｍａｘを特定する（ステップＳ８）。このとき、例えばあるノードが属する道路が一般道路であり、その道路幅が１６〔ｍ〕未満且つ３車線以下、その制限速度が５０〔ｋｍ／ｈ〕未満であるとすると、最大ノード数Ｎｍａｘは、図７から“５”として設定され、旋回路判断角θｍａｘは、図８から１５０度として設定される。
【００４６】
そして、カーブ曲率半径を算出するために、まず、図１１に基づいて、探査区間Ｄが設定され（ステップＳ３１）、例えばノードが一般道路に属し、その道路幅が１６〔ｍ〕未満且つ３車線以下、その制限速度が５０〔ｋｍ／ｈ〕未満である場合には、探査区間Ｄは１００〔ｍ〕として設定される。
続いて、図１２のフローチャートにしたがって、ノード数Ｎの算出が行われるが、前記ステップＳ８の処理で例えば最大ノード数Ｎｍａｘとして“５”が設定されている場合には、ステップＳ４１からステップＳ４２を経てステップＳ４３に移行し、リンク長の総和Ｌｓｕｍを前記（５）式から算出し、この場合、ｎ＝４であるから、曲率算出対象のノードとこの一つ先のノードとの間のリンクＬｋとその前後のリンク長Ｌｋ−１及びＬｋ＋１のそれぞれ半分の値との和から算出される。そして、このリンク長の総和Ｌｓｕｍが、先に設定した探査区間Ｄよりも大きくない場合には、ステップＳ４５に移行し、前記（６）式からリンク角の総和θｓｕｍが算出され、この場合ｎ＝４であるから、リンク角の総和θｓｕｍは、θｋとθｋ＋１との和から算出される。このリンク角の総和θｓｕｍが旋回路判断角θｍａｘよりも小さいとすると、ステップＳ４６からステップＳ４７に移行してノード変数ｎを“１”だけインクリメントした後ステップＳ４２に戻る。
【００４７】
そして、ノード変数ｎはｎ＝５となり、Ｎｍａｘ（＝５）よりも大きくないから、ステップＳ４３に移行し、リンク長の総和Ｌｓｕｍを算出する。この場合、ｎ＝５であるから、曲率算出対象のノードｋとこれよりも一つ前のノードｋ−１との間のリンク長Ｌｋ−１、リンク長Ｌｋ、リンク長Ｌｋ＋１、リンク長Ｌｋ＋２に基づいて、リンク長の総和Ｌｓｕｍを算出し、Ｌｓｕｍが探査区間Ｄよりも短いとするとステップＳ４４からステップＳ４５に移行し、リンク角の総和θｓｕｍを算出し、これが、旋回路判断角θｍａｘよりも小さいときには、ノード変数ｎを“１”だけインクリメントした後（ステップＳ４７）、ステップＳ４２に移行する。
【００４８】
ここで、ノード変数ｎは、ｎ＝６となり、Ｎｍａｘ（＝５）よりも大きいから、ステップＳ４２からステップＳ４８に移行し、このときのノード変数ｎに基づき、カーブ曲率算出に用いるノード数Ｎ（＝ｎ−１）が設定される。
このとき、ノード変数ｎが、最大ノード数Ｎｍａｘを超える以前に、リンク長の総和Ｌｓｕｍが探査区間Ｄを超えた場合には、リンク長の総和Ｌｓｕｍから曲率半径を算出する区間として妥当であると判断されて、この時点で、ステップＳ４８に移行しこのときのノード変数ｎに基づいてノード数Ｎが設定される。同様に、ノード変数ｎが最大ノード数Ｎｍａｘを超える以前に、リンク角の総和θｓｕｍが旋回路判断角θｍａｘを超えた場合には、探査区間Ｄにおけるリンク角の総和θｓｕｍ、つまり、探査区間Ｄあたりのノードの変化角度が線回路判断角θｍａｘを超えたとき、旋回路であるとみなすことができると判断されて、この時点でのノード変数ｎに基づいてノード数Ｎが設定される。
【００４９】
そして、このようにして設定されたノード数Ｎに基づいて、リンク角の総和θｓｕｍ及びリンク長の総和Ｌｓｕｍが再度算出され、これに基づいてカーブ曲率半径が算出される。
ここで、地図情報として予め記憶されている道路形状を表すノードは、データ量が莫大となることを避けるために、一般に、図１３に示すように、直線部分では、ノード密度が小さく、カーブ部分では、ノード密度が高くなるように、ノードが設定されている場合が多い。そのため探査区間Ｄ内に存在するノード数が最大ノード数Ｎｍａｘ以上である場合には、道路形状が旋回路であるとみなすことができる。したがって、ノード数が最大ノード数Ｎｍａｘを超えたときには旋回路であると判断しこの時点でのノード変数ｎに基づいて曲率半径を算出するためのノード数Ｎを設定することによって、このノード数に達した時点で、リンク長及びリンク角の加算が中止されることになる。よって、曲率半径が不必要に平均化されることが回避され、曲率半径の算出をより正確に行うことができ、より正確に道路形状を推定することができる。
【００５０】
また、このとき、最大ノード数Ｎｍａｘを、ノードの属する道路種別、道路幅、車線数、制限速度等に応じて設定するようにしているから、実際の道路形状に適したカーブ曲率半径を算出することができる。つまり、実際の高速道路にはカーブ曲率半径が極端に小さなカーブは存在せず、また、道路幅が広いほど、車線数が多いほど、さらに制限速度が高いほど、カーブ曲率半径が極端に小さなカーブは少なくなるから、最大ノード数をこれらの何れかに応じて変更することによって、道路形状に則した曲率半径を算出することができる。
【００５１】
また、ノード数が最大ノード数Ｎｍａｘを超えたときに旋回路であると判断するだけでなく、リンク角の総和θｓｕｍが旋回路判断角θｍａｘを超えたときにも旋回路であると判断するようにしているから、ノード数からは旋回路であることを検出できないような場合であっても、リンク角の総和θｓｕｍから旋回路であることを検出することができ、より確実に旋回路の判断を行うことができる。
【００５２】
また、上記第１の実施の形態では、旋回路判断角θｍａｘについても、ノードの属する道路種別、道路幅、車線数、制限速度の何れかに応じて変更するようにしている。上述のように、高速道路や道路幅が広い道路、車線数が多い道路、制限速度が高い道路ほど、カーブ曲率半径が極端に小さなカーブは少なくなるため、これらに応じて旋回路判断角θｍａｘを設定することによって、より確実に旋回路の判断を行うことができ、実際の道路形状に見合ったカーブ曲率半径を算出することができる。
【００５３】
一方、ナビゲーション装置１において、目的地が設定されていない場合には、図４のステップＳ１１からステップＳ１２に移行し、まず、自車両に最も近い位置に位置するノード、図２の場合、Ｐ１を推定経路の１番目のノードＳ１として設定し、このノードＰ１は、ルートの終端のノードではなく、また、ノードＳ１には分岐路があるから、ステップＳ１３からステップＳ１４を経てステップＳ２１に移行し、リンク種別に基づき図５から優先順位を設定する。
【００５４】
図２において、分岐路の一方のノードＰ２のリンク種別がランプリンク、分岐路の他方のノードＰ４のリンク種別が本線リンクである場合には、図５から、本線リンクの優先順位の方が高いから、ステップＳ２１からステップＳ２４に移行してこのノードＰ４を優先路とし、これを推定経路の２番目のノードＳ２として設定する。ステップＳ１６で変数ｋ及びｉを更新してステップＳ１３に移行し、推定経路の２番目のノードＳ２として設定されたノードＰ４は終端のノードではなく、また分岐路であるから、ステップＳ１３からステップＳ１４を経てステップＳ２１に移行し、リンク種別に基づき優先路を決定する。
【００５５】
このとき、分岐路の一方のノードＰ５が側道リンク、他方のノードＰ６がＳＡ等の側道リンクであり、優先度が同じである場合には、ステップＳ２１からステップＳ２２に移行し、道路種別に基づき図６の優先順位にしたがって優先路を設定する。例えば、ノードＰ５が国道、ノードＰ６が一般道である場合には、ノードＰ５の方が優先順位が高いから、ノードＰ５を３番目の推定経路Ｓ３として設定する。
【００５６】
そして、ノードＰ５は、終端のノードであるから、ステップＳ１３からステップＳ２５に移行し、ノードＳ１〜Ｓ３に該当するノードＰ１、Ｐ４、Ｐ５を推定経路とする。
そして、以後、上記と同様に、リンク長の最大値Ｌｍａｘを設定しこれに基づいて、必要に応じて仮想ノードを設定し、これらノードに基づいて、カーブ路の曲率半径の設定を行う。
【００５７】
一方、例えば、ノードＰ２及びＰ４のリンク種別に基づく優先順位が同一でありまた、道路種別に基づく優先順位が同一であるときには、ステップＳ２１からステップＳ２２を経てステップＳ２３に移行し、リンク角に基づき優先路の決定を行う。つまり、分岐路を構成するノードＰ０、ノードＰ１及びノードＰ２がなすリンク角と、ノードＰ０、ノードＰ１及びノードＰ４がなすリンク角とのうち、リンク角が最も小さいノードを選択する。例えば、ノードＰ０、ノードＰ１及びノードＰ２がなすリンク角の方がより小さいものとすると、このノードＰ４が優先路として選択される。そして、ノードＰ５とＰ６とについて、リンク種別、或いは道路種別或いはリンク角に基づいて優先路の設定が行われ、何れかが優先路として設定される。
【００５８】
このように、予め設定した優先順位にしたがって、推定経路の設定を行うようにしているから、自車両前方の地図情報から車両が進むであろう道路を予測することができ、それ以外の道路に対してカーブ曲率半径の演算を行わないことで、演算負荷を低減することができる。
次に、本発明の第２の実施の形態を説明する。
【００５９】
この第２の実施の形態におけるカーブ曲率半径推定装置２は、カーブ半径推定処理の処理手順の一部が異なること以外は、上記第１の実施の形態と同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
第２の実施の形態におけるカーブ曲率半径推定装置２は、図１４に示すように、ナビゲーション装置１からの地図情報をもとに、隣接するノード間のリンクどうしがなすリンク角を算出するリンク角算出部２１、前記地図情報及び前記リンク角算出部２１で算出されたリンク角をもとに、自車両が進行する推定経路を設定する推定経路設定部２２と、ナビゲーション装置１からの地図情報をもとにＳ字カーブ判断角を設定するＳ字カーブ判断角設定部３１と、推定経路設定部２２で設定された推定経路とＳ字カーブ判断角設定部３１で設定したＳ字カーブ判断角とをもとに、カーブ曲率半径を演算するカーブ曲率半径を算出するカーブ曲率半径演算部３３と、を備えている。
【００６０】
そして、カーブ曲率半径推定装置２では、図１５に示すカーブ半径推定処理のフローチャートにしたがって、カーブ曲率半径を推定する。
まず、上記第１の実施の形態と同様に、地図情報を読み込み（ステップＳ２）、これに基づきリンク角の算出処理を行った後（ステップＳ４）、ステップＳ６に移行し、推定経路設定処理を行う。
【００６１】
次いで、ステップＳ９に移行し、Ｓ字カーブ判断角の設定処理を行う。具体的には、地図情報に基づいて、例えば図１６に示す対応図から設定する。つまり、例えば道路種別が高速道路であり、且つ制限速度が６０〔ｋｍ／ｈ〕以上であるときにはＳ字カーブ判断角θｓｍａｘを２０度に設定し、制限速度が６０〔ｋｍ／ｈ〕未満のときには２５度に設定する。また、道路種別が高速道路でなく、道路幅が１６〔ｍ〕以上又は４車線以上の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときにはＳ字カーブ判断角θｓｍａｘを２０度、５０〔ｋｍ／ｈ〕未満のときには２５度に設定する。また、道路種別が高速道路でなく、道路幅が１６〔ｍ〕未満且つ３車線以下の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときにはＳ字カーブ判断角θｓｍａｘを２５度に設定し、５０〔ｋｍ／ｈ〕未満のときには３０度に設定する。
【００６２】
このように、高速道路、車線幅が広い道路、車線数が多い道路、制限速度が高い道路ではＳ字カーブ判断角θｓｍａｘが小さくなるように設定することによって、一般の道路では、高速道路や道路幅が広い道路、車線数が多い道路、制限速度が高い道路ほど、カーブ曲率半径が極端に小さなカーブが連続するＳ字カーブは少ないので、このような道路でも確実にＳ字カーブであることを判断することができるようになっている。
【００６３】
このようにして、Ｓ字カーブ判断角θｓｍａｘを設定すると、ステップＳ１０ａに移行し、ステップＳ６の処理で設定した推定経路に対し、カーブ曲率半径演算処理を行う。
この第２の実施の形態におけるカーブ曲率半径演算処理は、図１７に示すように、ステップＳ３２ａでのノード数Ｎの算出処理の処理手順が異なること以外は、図９に示す上記第１の実施の形態におけるカーブ曲率半径演算処理と同様であって、まず、ステップＳ３１で探査区間Ｄの設定を行い、ステップＳ３２ａに移行し、後述のノード数Ｎの算出処理を行う。そして、算出したノード数Ｎに基づいて、リンク角を加算してリンク角の総和θｓｕｍを算出し（ステップＳ３３）、リンク長を加算してリンク長の総和Ｌｓｕｍを算出し（ステップＳ３４）、これらリンク角及びリンク長の総和に基づいてカーブ曲率半径の算出を行う（ステップＳ３５）。
【００６４】
前記ステップＳ３２ａにおけるノード数Ｎの算出処理は、図１８のフローチャートに示す手順で行う。
すなわち、まず、ステップＳ５１でノード変数ｎをｎ＝４に初期化する。また、このノード変数ｎの保存値ｎｚ１の初期値として、ノード変数ｎの初期値から“１”を減算した値、つまり、この場合“３”を設定する。なお、ノード変数ｎの初期値は、４以上であればよく、“４”に限らず、任意に設定することができ、例えば、高速道路のようにカーブ曲率半径が極端に小さなカーブが少ない道路ではノード変数ｎの初期値を大きく設定してもよい。
【００６５】
次いでステップＳ５２に移行し、前記式（５）に基づいてリンク長の総和Ｌｓｕｍを算出し、算出したリンク長の総和Ｌｓｕｍが、図１７のステップＳ３１で設定した探査区間Ｄよりも長くないとき（Ｌｓｕｍ≦Ｄ）であるときには、ステップＳ５４に移行し、次に、θｋ・θｋ＋ｎ−３＜０を満足するかを判断する。そして、θｋ・θｋ＋ｎ−３＜０を満足しない場合には、リンク角θｋ＋ｎ−３は、探査区間Ｄ内に存在する第１のリンク角θｋとカーブ方向が同じであると判断し、ステップＳ５５に移行して、ノード変数ｎの保存値ｎｚ１としてｎの値を更新設定し、さらに、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍを零にクリアした後、ステップＳ５６に移行し、ノード変数ｎを“１“だけインクリメントし、ステップＳ５２に戻る。
【００６６】
一方、前記ステップＳ５４で、θｋ・θｋ＋ｎ−３＜０である場合には、探査区間Ｄ内に存在する第１のリンク角とカーブ方向が逆であると判断し、ステップＳ５７に移行し、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍを次式（１０）に従って算出する。
【００６７】
【数７】
2004037372.tif 000009
【００６８】
次いで、ステップＳ５８に移行し、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍの絶対値が、Ｓ字カーブ判断角θｓｍａｘよりも大きいか否かを判断し、｜θｓｓｕｍ｜＞θｓｍａｘでない場合にはステップＳ５６に移行する。逆に、｜θｓｓｕｍ｜＞θｓｍａｘである場合には、Ｓ字カーブであると判断してステップＳ５９に移行し、ノード数Ｎとしてノード変数ｎの保存値ｎｚ１を設定し処理を終了する。
【００６９】
そして、順次ノード変数ｎをカウントアップして、リンク長の総和Ｌｓｕｍの算出を行い、リンク長の総和Ｌｓｕｍが探査区間Ｄよりも大きくなったときには、ステップＳ５３からステップＳ６０に移行し、このときのｎ−１をノード数Ｎとして設定し、処理を終了する。
次に、上記第２の実施の形態の動作を説明する。
【００７０】
カーブ半径推定装置２では、起動されると、図１５に示すカーブ半径推定処理を行い、ナビゲーション装置１から自車両前方所定範囲の地図情報を読み込み（ステップＳ２）、この地図情報に含まれる各ノードの位置座標に基づいて、隣接するノードを接続するリンクどうしで形成されるリンク角θｋを算出し（ステップＳ４）、ナビゲーション装置１に対し乗員によって目的地が設定されている場合には、設定された目的地までの経路を推定経路として設定し、目的地が設定されていない場合には、上記第１の実施の形態と同様にして前記図４のフローチャートに示す手順で経路を推定する。
【００７１】
そして、地図情報に基づいて自車両前方の道路種別、道路幅、車線数、制限速度等を認識し、図１６に示す対応図からＳ字カーブ判断角θｓｍａｘを特定し（ステップＳ９）、例えばあるノードが属する道路が一般道路であり、その道路幅が１６〔ｍ〕未満且つ３車線以下、その制限速度が５０〔ｋｍ／ｈ〕未満である場合には、図１６からＳ字カーブ判断角θｓｍａｘは、３０度として設定される。
【００７２】
そして、ステップＳ１０ａに移行して、図１７の処理手順にしたがって、カーブ曲率半径の演算処理を行い、まず、図１１に基づいて、探査区間Ｄを設定し（ステップＳ３１）、次に、図１８のフローチャートにしたがって、ノード数Ｎの算出を行う（ステップＳ３２ａ）。
例えば、推定経路において曲率半径算出対象のノードをノードｋとした場合、まず、ノード変数ｎをｎ＝４として前記（５）式からリンク長の総和Ｌｓｕｍを算出し（ステップＳ５１、Ｓ５２）、リンク長Ｌｋ−１及びＬｋ＋１のそれぞれ半分の値と、リンク長Ｌｋとの和からならるＬｓｕｍを算出する。そして、このリンク長の総和Ｌｓｕｍが、先に設定した探査区間Ｄよりも大きくない場合には、ステップＳ５３からステップＳ５４に移行し、リンク角θｋとθｋ＋ｎ−３（＝θｋ＋１）との積を算出する。例えば推定経路が、同一方向へのカーブ路である場合には、これらの積は正値となるから、ステップＳ５４からステップＳ５５に移行し、ノード変数ｎの保存値ｎｚ１としてｎの値この場合“４”を更新設定し、さらに、Ｓ字カーブ判断用リンク角加算値θｓｍａｘを零にリセットした後、ステップＳ５６で、ノード変数ｎをｎ＝５に更新し、ステップＳ５１に戻る。
【００７３】
そして、同様に、リンク長の総和Ｌｓｕｍを算出し、このリンク長の総和Ｌｓｕｍが探査区間Ｄよりも短い場合には、ステップＳ５４に移行し、次に、リンク角θｋとθｋ＋ｎ−３（＝θｋ＋２）の積を算出するが、一方向へのカーブ路であるから、この積は正値となり、ノード変数ｎの保存値ｎｚ１を“５”に更新し、ノード変数ｎをインクリメントする。
【００７４】
そして、一方向へのカーブ路である間は、リンク角の積は正値となるから、ステップＳ５２からＳ５６の処理が繰り返し行われ、リンク長の総和Ｌｓｕｍが探査区間Ｄよりも長くなったとき、ステップＳ５３からステップＳ６０に移行し、このときのノード変数ｎから“１”を減算した値をノード数Ｎとして設定する。そして、このようにして設定したノード数Ｎに基づいて、新たにリンク角の総和θｓｕｍ及びリンク長の総和Ｌｓｕｍを算出し、これらに基づいてノードｋ位置におけるカーブ曲率半径を算出する。
【００７５】
一方、推定経路がＳ字カーブ路である場合には、探査区間Ｄ内の第１のリンク角θｋとノードｋ＋ｎ−３位置におけるリンク角θｋ＋ｎ−３とが同一方向である場合には、ステップＳ５３からステップＳ５４、Ｓ５５，Ｓ５６を経てステップＳ５２に移行し、順次ノード変数ｎを更新すると共に、リンク長の総和Ｌｓｕｍを算出し、このリンク長の総和Ｌｓｕｍが探査区間Ｄを超えたときに、このときのノード変数ｎから“１”を減算した値をノード数Ｎとして設定する。
【００７６】
そして、例えば、図１９に示すように、リンク角θｋと、ノードｋ＋ｎ−３位置におけるリンク角θｋ＋ｎ−３とが同一方向であり、ノード変数ｎの保存用変数ｎｚ１がノード変数ｎの値に応じて順次更新されている状態から、ｎ＝１４の時点で、リンク角θｋとリンク角θｋ＋ｎ−３（＝θｋ＋１１）との向きが逆方向となると、ステップＳ５４からステップＳ５７に移行し、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍを算出する。この場合、リンク角加算値θｓｓｕｍは、θｋ＋１１となり、これがＳ字カーブ判断用リンク角加算値θｓｍａｘよりも小さい場合には、ステップＳ５８からステップＳ５６に移行し、ノード変数ｎをｎ＝１５にインクリメントした後ステップＳ５２に戻る。そして、同様に、リンク長の総和Ｌｓｕｍを算出し（ステップＳ５３）、このリンク長の総和Ｌｓｕｍが探査区間Ｄよりも短い場合には、ステップＳ５４に移行し、次に、リンク角θｋとθｋ＋ｎ−３（＝θｋ＋１２）の積を算出するが、図１９に示すように、ノードｋ＋１２は引き続きカーブ方向が逆となる位置に存在し、これらの積は負値となるため、ステップＳ５７に移行して、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍを算出し、このＳ字カーブ判断用リンク角加算値θｓｓｕｍ（＝θｋ＋１１＋θｋ＋１２）が、Ｓ字カーブ判断用リンク角加算値θｓｍａｘよりも小さいときには、ステップＳ５６に移行してノード変数ｎを、ｎ＝１６にインクリメントする。
【００７７】
そして、Ｓ字カーブである場合には、リンク角の積は、負値となるから、ステップＳ５２、Ｓ５３、Ｓ５４、Ｓ５７、Ｓ５８、ステップＳ５６の処理が繰り返し行われ、図１９に示すように、リンク角が、連続して、リンク角θｋの向きとは逆方向であるリンク角θｋ＋１１、θｋ＋１２、θｋ＋１３、……が順次加算される。そして、このＳ字カーブ判断用リンク角加算値θｓｓｕｍが、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍよりも大きくなったとき、ステップＳ５９に移行し、Ｓ字カーブであると判断し、ノード数Ｎとしてｎｚ１の値を設定する。
【００７８】
このとき、ｎｚ１には、リンク角θｋとの向きが最初に逆となったリンク角θｋ＋１１の算出時点におけるノード変数ｎの一つ前の値（この場合“１３”）が設定されている。リンク角の総和θｓｕｍ及びリンク長の総和Ｌｓｕｍは、前記（７）式に基づいて算出されるから、すなわち、リンク角θｋとの向きが逆となったリンク角θｋ＋１１よりも以前のリンク角に基づいて算出されることになる。
【００７９】
したがって、カーブ方向が一定である区間の、リンク角及びリンク長に基づいて、カーブ曲率半径を算出することになり、カーブ方向が異なるリンク角を含んでカーブ曲率半径が算出されることはないから、Ｓ字カーブ路であっても、的確にカーブ曲率半径を算出することができる。
また、例えば、図２０に示すように、ノードｋ＋１１とノードｋ＋１２とが接近して設けられた特異点であり、且つ、実際には、一方向のカーブ路であるが、ノードｋ＋１１とノードｋ＋１２とがなす角が、カーブ路の方向とは逆方向である場合には、ノードｋ＋１１について、リンク角が、基準となるリンク角と同じ方向であるかどうかの判定が行われた場合に、基準となるリンク角と逆方向であると判断されるため、ステップＳ５４からステップＳ５７に移行し、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍが算出される。
【００８０】
そして、次に、ノードｋ＋１２について、リンク角が基準となるリンク角と同じ方向であるかどうかの判定が行われたときには、ノードｋ＋１２がなすリンク角は、基準となるリンク角と同じ方向に戻っているから、ステップＳ５４からステップＳ５５に移行し、このときのノード変数ｎが、ノード変数ｎの保存値ｎｚ１として設定され、また、Ｓ字カーブ判断用加算値θｓｓｕｍが零にリセットされる。そして、以後、各ノードにおけるリンク角は、基準となるリンク角と同じ方向であるから、ステップＳ５４からステップＳ５５、ステップＳ５６を経てステップＳ５２に移行し、順次、ノード変数ｎが更新されると共に、このノード変数ｎがノード変数ｎの保存値ｎｚ１として更新設定され、また、Ｓ字カーブ判断用リンク角加算値θｓｓｕｍが零にリセットされる。そして、リンク長の総和Ｌｓｕｍが探査区間Ｄを超えたときに、ノード変数ｎ−１がノード数Ｎとして設定される。一方、特異点の後に、真のＳ字カーブが存在する場合には、再度基準となるリンク角と逆方向のリンク角となったときに、ステップＳ５４からステップＳ５７に移行し、Ｓ字カーブ判断用加算値θｓｓｕｍが算出される。そして、このＳ字カーブ判断用加算値θｓｓｕｍがＳ字カーブ判断角θｓｍａｘを超えたときに、ノード変数ｎの保存値ｎｚ１として保存された値が、ノード変数Ｎとして設定されることになる。前記ノード変数ｎの保存値ｎｚ１には、特異点以後に出現したＳ字カーブのカーブ方向が変化する直前におけるノード変数が設定されているから、上記と同様に、リンク角の総和θｓｕｍ及びリンク長の総和Ｌｓｕｍは、リンク角θｋ及びリンク長Ｌｋ−１から、Ｓ字カーブによりリンク角θｋとの向きが逆となったリンク角よりも前のリンク角及びリンク長に基づいて算出されることになり、特異点が存在する場合であっても、ノード曲率半径を的確に検出することができる。
【００８１】
また、Ｓ字カーブであると判断するためのＳ字カーブ判断角θｓｍａｘを、ナビゲーション装置１から得られる道路種別、道路幅、車線数、制限速度に応じて変更するようにしているから、より確実にＳ字カーブと判断することができ、実際の道路形状に合ったカーブ曲率半径を算出することができる。つまり、上述のように、実際の高速道路にはカーブ曲率半径が極端に小さなカーブは存在せず、また、道路幅が広いほど、車線数が多いほど、さらに制限速度が高いほど、カーブ曲率半径が極端に小さなカーブは少なくなるから、Ｓ字カーブ判断角θｓｍａｘをこれらの何れかに応じて変更することによって、より的確にＳ字カーブを判断することができる。
【００８２】
次に、第３の実施の形態を説明する。
この第３の実施の形態におけるカーブ曲率半径推定装置２は、カーブ半径推定処理の処理手順の一部が異なること以外は、上記第１の実施の形態と同様であるので、同一部には同一符号を付与しその詳細な説明は省略する。
この第３の実施の形態におけるカーブ曲率半径推定装置２は、図２１に示すように、ナビゲーション装置１からの地図情報をもとに、隣接するノード間のリンクどうしがなすリンク角を算出するリンク角算出部２１、前記地図情報及び前記リンク角算出部２１で算出されたリンク角をもとに、自車両が進行する経路を推定する推定経路設定部２２と、ナビゲーション装置１からの地図情報をもとに横変位最大値を設定する横変位最大値設定部４１と、推定経路設定部２２で設定された推定経路と、横変位最大値設定部４１で設定された横変位最大値とをもとに、カーブ曲率半径を演算するカーブ曲率半径演算部４３と、を備えている。
【００８３】
そして、カーブ曲率半径推定装置２では、図２２に示すカーブ半径推定処理のフローチャートにしたがって、カーブ曲率半径を推定する。
すなわち、まず、上記第１の実施の形態と同様に、地図情報を読み込み（ステップＳ２）、これに基づきリンク角の算出処理を行った後（ステップＳ４）、ステップＳ６に移行し、推定経路設定処理を行う。
【００８４】
次いで、ステップＳ９ａに移行し、横変位最大値の設定処理を行う。具体的には、ナビゲーション装置１から通知される地図情報に基づいて、例えば図２３にしたがって、横変位最大値Ｙｍａｘを設定する。つまり、例えば道路種別が高速道路であり、且つ制限速度が６０〔ｋｍ／ｈ〕以上であるときには横変位最大値Ｙｍａｘを３．５〔ｍ〕に設定し、制限速度が６０〔ｋｍ／ｈ〕未満のときには４〔ｍ〕に設定する。また、高速道路でなく、道路幅が１６〔ｍ〕以上又は４車線以上の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには横変位最大値Ｙｍａｘを３．５〔ｍ〕、５０〔ｋｍ／ｈ〕未満のときには４〔ｍ〕に設定する。また、高速道路でなく、道路幅が１６〔ｍ〕未満且つ３車線以下の道路である場合には、制限速度が５０〔ｋｍ／ｈ〕以上であるときには横変位最大値Ｙｍａｘを４〔ｍ〕に設定し、５０〔ｋｍ／ｈ〕未満のときには４．５〔ｍ〕に設定する。
【００８５】
このように、高速道路、車線幅が広い道路、車線数が多い道路、制限速度が高い道路では横変位最大値Ｙｍａｘが小さくなるように設定することによって、一般の道路では、高速道路や道路幅が広い道路、車線数が多い道路、制限速度が高い道路ほど、極端にカーブ曲率半径が小さなカーブが連続するＳ字カーブは少ないので、このような道路でも確実にＳ字カーブであることを判断することができるようになっている。
【００８６】
次いで、ステップＳ１０ｂに移行し、カーブ曲率半径演算処理を行う。
この第３の実施の形態におけるカーブ曲率半径演算処理は、図２４に示すように、ステップＳ３２ｂでのノード数Ｎの算出処理の処理手順が異なること以外は、図９に示す上記第１の実施の形態におけるカーブ曲率半径演算処理と同様であって、まず、ステップＳ３１で探査区間Ｄの設定を行い、ステップＳ３２ｂに移行し、後述のノード数Ｎの算出処理を行う。そして、算出したノード数Ｎに基づいて、リンク角を加算してリンク角の総和θｓｕｍを算出し（ステップＳ３３）、リンク長を加算してリンク長の総和Ｌｓｕｍを算出し（ステップＳ３４）、これらリンク角及びリンク長の総和に基づいてカーブ曲率半径の算出を行う（ステップＳ３５）。
【００８７】
前記ステップＳ３２ｂにおけるノード数Ｎの算出処理は、図２５のフローチャートに示す手順で行う。
すなわち、まず、ステップＳ６１でノード変数ｎをｎ＝４に初期化する。また、ノード変数ｎの保存値ｎｚ１として、ノード変数ｎの初期値から“１”を減算した値、この場合“３”を設定する。なお、前記ノード変数ｎの初期値は、４以上であればよく、“４”に限らず任意に設定することができ、例えば、高速道路のようにカーブ曲率半径が極端に小さなカーブが少ない道路ではノード変数ｎの初期値を大きく設定してもよい。
【００８８】
次いで、ステップＳ６２に移行し、前記式（５）に基づいてリンク長の総和Ｌｓｕｍを算出する。
次いで、ステップＳ６３に移行し、ステップＳ６２で算出したリンク長の総和Ｌｓｕｍが、ステップＳ３１で設定した探査区間Ｄよりも長いか否かを判断し、Ｌｓｕｍ＞Ｄでない場合には、ステップＳ６４に移行し、次に、θｋ・θｋ＋ｎ−３＜０か否かを判断する。そして、θｋ・θｋ＋ｎ−３＜０でない場合には、探査区間Ｄ内に存在する第１のリンク角とカーブ方向が同じであると判断し、ステップＳ６５に移行して、ｎの保存値ｎｚ１としてこの時点におけるノード変数ｎの値を更新設定した後、ステップＳ６６に移行し、ノード変数ｎを“１“だけインクリメントし、ステップＳ６２に戻る。
【００８９】
一方、前記ステップＳ６４で、θｋ・θｋ＋ｎ−３＜０である場合には、探査区間Ｄ内に存在する第１のリンク角とカーブ方向が逆であると判断し、ステップＳ６７に移行し、Ｓ字カーブ判断用横変位加算値Ｙｓｕｍを次式（１１）に従って算出する。ここで、Ｓ字カーブ判断用横変位加算値Ｙｓｕｍとは、図２６及び図２７に示すように、リンク長とリンク角とから算出される横変位を加算したものである。
【００９０】
【数８】
2004037372.tif 000010
【００９１】
次いで、ステップＳ６８に移行し、Ｓ字カーブ判断用横変位加算値Ｙｓｕｍの絶対値が、横変位最大位置Ｙｍａｘよりも大きいか否かを判断し、｜Ｙｓｕｍ｜＞Ｙｓｕｍでない場合には、ステップＳ６６に移行し、｜Ｙｓｕｍ｜＞Ｙｓｕｍである場合には、Ｓ字カーブであると判断してステップＳ６９に移行し、ノード数Ｎとしてｎの保存値ｎｚ１を設定し処理を終了する。
【００９２】
また、順次ｎをカウントアップし、リンク長の総和Ｌｓｕｍの算出を行ったときに、リンク長の総和Ｌｓｕｍが探査区間Ｄよりも大きくなったときには、ステップＳ６３からステップＳ７０に移行し、このときのノード変数ｎに基づきｎ−１をノード数Ｎとして設定し、処理を終了する。
このように、この第３の実施の形態においては、探査区間Ｄ内に存在する第１のリンク角とは方向が異なるリンク角について、そのリンク角に対応するリンク長とリンク角とから算出される横変位を積算し、この横変位の積算値が、Ｓ字カーブ判断用の横変位最大値Ｙｍａｘを超えるときに、Ｓ字カーブであると判断するようにしたから、この場合も、上記第２の実施の形態と同様に、リンク長及びリンク角が不必要に加算され無意味に平均化させることを回避し、的確に道路形状を推定することができ、また、Ｓ字カーブである場合であっても、的確にその道路形状を推定することができる。
【００９３】
また、この第３の実施の形態においても、横変位最大値Ｙｍａｘを、ナビゲーション装置１から得られる道路種別、道路幅、車線数、制限速度に応じて変更するようにしているから、Ｓ字カーブかどうかの判断を容易的確に行うことができ、実際の道路形状に見合ったカーブ曲率半径を算出することができる。
また、同一カーブ上にノードが近接して設けられた特異点において、そのリンク角が、第１のリンク角と異なる場合であっても、その横変位が横変位最大値Ｙｍａｘよりも小さい場合には、Ｓ字カーブであると判定されることはなく、また、特異点の場合、リンク角が第１のリンク角と異なる状況が連続しないから、Ｓ字カーブ判断用横変位か産地Ｙｓｕｍが、横変位最大値Ｙｍａｘを超えることはない。したがって、特異点を、Ｓ字カーブであると誤認識することはない。また、Ｓ字カーブを構成する一つ一つのリンク長が短く、それぞれの横変位が所定横変位以下の場合であっても確実にＳ字カーブと判断することができ、実際の道路形状に合ったカーブ曲率半径を算出することができる。
【００９４】
なお、上記第２及び第３の実施の形態においては、Ｓ字カーブであるかどうかを判定し、Ｓ字カーブであるときには、カーブ方向が逆となる以前のリンク角及びリンク長に基づいてカーブ曲率半径を算出するようにした場合について説明したが、上記第１の実施の形態と組み合わせ、旋回路である場合には上記第１の実施の形態にしたがって、カーブ曲率半径を算出し、Ｓ字カーブである場合には第２又は第３の実施の形態にしたがって、カーブ曲率半径を算出するようにしてもよい。
【００９５】
また、上記各実施の形態においては、図４のフローチャートに示すように、予め設定した優先順位にしたがって、推定経路を設定するようにした場合について説明したが、これに限らず、推定経路を設定することができればよく、例えば分岐路において、乗員による方向指示器によって自車両が進むであろう方向を判断したり、カメラ等によって自車両の走行車線を検知し、自車両が進むであろう方向を判断する等の方法を用いて設定するようにしてもよい。
【００９６】
ここで、図９、図１７、図２４のステップＳ３１での探査区間設定を行う処理が探査区間設定手段に対応し、ステップＳ２５でのカーブ曲率半径算出を行う処理がカーブ曲率半径算出手段に対応し、図１２のステップＳ４２〜Ｓ４６の処理、図１８のステップＳ５４〜Ｓ５８の処理、図２５のステップＳ６４〜Ｓ６８の処理がカーブ形状検出手段に対応している。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるカーブ曲率半径推定装置の一例を示す概略構成図である。
【図２】自車両前方の地図情報の一例を示す概略構成図である。
【図３】第１の実施の形態におけるカーブ曲率半径演算処理の処理手順の一例を示すフローチャートである。
【図４】図３の推定経路設定処理の処理手順の一例を示すフローチャートである。
【図５】リンク種別と優先順位との対応を示す対応図である。
【図６】道路種別と優先順位との対応を示す対応図である。
【図７】道路種別、道路幅、車線数、制限速度と、リンク長最大値との対応を示す対応図である。
【図８】道路種別、道路幅、車線数、制限速度と、旋回路判断角との対応を示す対応図である。
【図９】図３におけるカーブ曲率半径演算処理の処理手順の一例を示すフローチャートである。
【図１０】探査区間Ｄを説明するための説明図である。
【図１１】道路種別、道路幅、車線数、制限速度と、探査区間Ｄとの対応を示す対応図である。
【図１２】図９のノード数Ｎの算出を行うための処理手順の一例を示すフローチャートである。
【図１３】地図情報として予め記憶されている道路形状を表すノードを説明するための説明図である。
【図１４】第２の実施の形態におけるカーブ曲率半径推定装置の一例を示す概略構成図である。
【図１５】第２の実施の形態におけるカーブ曲率半径推定処理の処理手順の一例を示すフローチャートである。
【図１６】道路種別、道路幅、車線数、制限速度と、Ｓ字カーブ判断角との対応を表す対応図である。
【図１７】図１５のステップＳ１０ａにおけるカーブ曲率半径演算処理の処理手順の一例を示すフローチャートである。
【図１８】図１７のステップＳ３２ａにおけるノード数Ｎの算出のための処理手順の一例を示すフローチャートである。
【図１９】第２の実施の形態の動作説明に供する説明図である。
【図２０】第２の実施の形態の動作説明に供する説明図である。
【図２１】第３の実施の形態におけるカーブ曲率半径推定装置の一例を示す概略構成図である。
【図２２】第３の実施の形態におけるカーブ曲率半径推定処理の処理手順の一例を示すフローチャートである。
【図２３】道路種別、道路幅、車線数、制限速度と、横変位最大値との対応を表す対応図である。
【図２４】図２２のステップＳ１０ｂにおけるカーブ曲率半径演算処理の処理手順の一例を示すフローチャートである。
【図２５】図２４のステップＳ３２ｂにおけるノード数Ｎの算出のための処理手順の一例を示すフローチャートである。
【図２６】第３の実施の形態の動作説明に供する説明図である。
【図２７】第３の実施の形態の動作説明に供する説明図である。
【符号の説明】
１　ナビゲーション装置
２　カーブ曲率半径推定装置
２１　リンク角算出部
２２　推定経路設定部
２３　最大ノード数設定部
２４　旋回路判断角設定部
２５　カーブ曲率半径演算部
３１　Ｓ字カーブ判断角設定部
３３　カーブ曲率半径演算部
４１　横変位最大値設定部
４３　カーブ曲率半径演算部
【図１】
2004037372.tif 000011
【図２】
2004037372.tif 000012
【図３】
2004037372.tif 000013
【図４】
2004037372.tif 000014
【図５】
2004037372.tif 000015
【図６】
2004037372.tif 000016
【図７】
2004037372.tif 000017
【図８】
2004037372.tif 000018
【図９】
2004037372.tif 000019
【図１０】
2004037372.tif 000020
【図１１】
2004037372.tif 000021
【図１２】
2004037372.tif 000022
【図１３】
2004037372.tif 000023
【図１４】
2004037372.tif 000024
【図１５】
2004037372.tif 000025
【図１６】
2004037372.tif 000026
【図１７】
2004037372.tif 000027
【図１８】
2004037372.tif 000028
【図１９】
2004037372.tif 000029
【図２０】
2004037372.tif 000030
【図２１】
2004037372.tif 000031
【図２２】
2004037372.tif 000032
【図２３】
2004037372.tif 000033
【図２４】
2004037372.tif 000034
【図２５】
2004037372.tif 000035
【図２６】
2004037372.tif 000036
【図２７】
2004037372.tif 000037