(57)【特許請求の範囲】
【請求項１】
自車両が現在走行している位置を検出する自車位置検出装置と、道路情報を格納している地図データベースと、を有し、前記地図データベースから得られる自車両前方の道路形状を表す点列に基づいて、３点以上の点の組みに対して円弧で近似し、その円弧の半径を曲路の曲率半径として自車両前方の道路の曲路の度合を判断する曲路検出装置において、
道路形状を表す点列における連続する２点間の距離が所定値以上である部分を予め削除した後に曲路の度合を判断する演算を行うことを特徴とする曲路検出装置。
【請求項２】
自車両が現在走行している位置を検出する自車位置検出装置と、道路情報を格納している地図データベースと、を有し、前記地図データベースから得られる自車両前方の道路形状を表す点列に基づいて、３点以上の点の組みに対して円弧で近似し、その円弧の半径を曲路の曲率半径として自車両前方の道路の曲路の度合を判断する曲路検出装置において、
道路形状を表す点列における連続する２点間の距離が所定値以上である部分を予め削除し、かつ、道路形状を表す点列における点ｐｎについて、一つ前の点ｐｎ−１と当該点ｐｎとを結ぶ直線と、当該点ｐｎと次の点ｐｎ＋１とを結ぶ直線との屈折角が所定値以下である部分を予め削除した後に曲路の度合を判断する演算を行うことを特徴とする曲路検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自車両前方の道路の曲路度合いを判定する曲路検出装置に関し、例えば車両の自動走行装置や速度制御装置等に利用される技術に関する。
【０００２】
【従来の技術】
曲路の度合いを検出する従来装置としては、特開平８−１９４８９３号公報に記載されているものがある。この装置においては、道路形状を表す、一定間隔でサンプリングされた点列を、円弧で近似してカーブの緩急を判断している。すなわち、自車両前方の走路が点列ｐ0、ｐ1、…、ｐnで表現されるとすると、連続する任意の３点ｐn-1、ｐn、ｐn+1を円周上に持つ円がただ一つ決まる。この円の半径は３点の座標値から算出することができ、この半径が走路のこの部分のカーブ半径であるとみなすことができる。また、計算に用いる点数を４点以上にした場合も、誤差の二乗和を最小にするなどの方法により円弧で近似してカーブ半径（カーブの曲率半径）を求めることができる。
【０００３】
【発明が解決しようとする課題】
前記の従来例においては、カーナビゲーション装置などに格納されている地図データベースから得られる、道路線形を表現する点列を等間隔にサンプリングされた点列として取り扱っている。しかし、実際に地図データベースに記憶されている点列は、一般に直線部分は間隔が広く、曲線部分は間隔が狭くなっており、点列が等間隔にはなっていない。そして後記図４で詳細に説明するように、点列の間隔（リンク長）が長くなると、円弧とリンク間の誤差δが大きくなるので、リンク長があまり長くなると、そのリンクが円弧で近似した道路を十分に表現しているとはいえなくなる。そのため点列全体について同じ処理を行なって曲路の緩急を判断しようとすると、点列の間隔が広い部分ではサンプリングの仕方によって曲路判断の結果が変わってしまうという問題がある。
【０００４】
本発明は上記のごとき従来技術の問題を解決するためになされたものであり、曲路の緩急判断の精度を向上させた曲路検出装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記の目的を達成するため、本発明においては特許請求の範囲に記載するように構成している。すなわち、請求項１に記載の発明においては、道路形状を表す点列における連続する２点間の距離が所定値以上である部分（所定値以上の長いリンク）を予め削除した後に曲路の度合を判断する演算を行うように構成している。
上記のように連続する２点間の距離が所定値以上である部分を予め削除しておくことにより、誤差δの大きな部分を近似計算に用いないので、より正確に曲路の緩急を判断することができる。
【０００７】
また、請求項２においては、道路形状を表す点列における連続する２点間の距離が所定値以上である部分を予め削除し、かつ、道路形状を表す点列における一つ前の点ｐｎ−１と当該点ｐｎとを結ぶ直線と、当該点ｐｎと次の点ｐｎ＋１とを結ぶ直線との屈折角が所定値以下である部分を予め削除した後に曲路の度合を判断する演算を行うように構成している。
【０００８】
【発明の効果】
本発明においては、連続する２点間の距離が所定値以上である部分や屈折角が所定値以下である部分などのような誤差が大きくなる部分を削除した上で曲路の度合を判断するように構成しているので、曲路の緩急判断の精度を向上させることができる、という効果が得られる。
【０００９】
【発明の実施の形態】
以下、ナビゲーション装置の地図情報から自車両が走行すると予測される進路について、急な曲路の有無を判定して警報または車両制御を行なうシステムを例として、この発明の処理の流れについて図を用いて説明する。このようなシステムは、従来のナビゲーション装置の機能を流用できること、地図データベースとのデータのやりとりがしやすいことなどから、構成の多くをナビゲーション装置に内蔵することが多いが、システムの一部、または全部をナビゲーション装置とは別に構成しても構わない。
【００１０】
図１は本発明の第１の実施の形態を示すブロック図である。
図１において、１は自車位置検出装置で、ＧＰＳ（Global Positioning System：汎地球測位システム）からの情報や車速センサ、ジャイロ等の信号を元に自車両の位置を特定して出力する。自車両の位置は、緯度／経度の値や、メッシュと呼ばれる細分化された地図の領域中の座標値などによって表される。２は地図データベースで、ナビゲーション装置に格納され、道路線形、道路属性（道路幅など）、道路間の接続関係、交通規制などに関する情報を格納しており、道路データは道路形状を表す点列（点データ）とこれらの点を連続的に結んだ線データから成る。３は道路点列生成装置で、自車両が進行すると予測される走路上のサンプリング点についての情報を地図データベース２から取り出し、自車両が到達する順に並べた点列を出力する。４は長リンク除去装置で、道路点列生成装置３により生成された点列中の連続する２点を結ぶ線分（リンク）が、所定値よりも長い部分を点列から除去するなどして、以降の処理の対象としないようにする。上記の所定値は、所定の基準のカーブ半径（しきい値）から求められた値である。５は曲路判断装置で、長リンク除去装置４によって除去されなかった残りの部分について、例えば、３点以上の点の組に対して円弧で近似し、その円弧の半径をカーブの半径として、与えられた緩急判定用のしきい値と比較するなどして、その部位が急な曲路を構成しているか否かを判定する。なお、上記の道路点列生成装置３、長リンク除去装置４および曲路判断装置５はナビゲーション装置内に含めてもよいし、或いは独立の演算装置（例えばＣＰＵ、ＲＡＭ、ＲＯＭ等から成るコンピュータ）にしてもよい。
【００１１】
次に、図２は曲路検出処理を示すフローチャートである。
図２において、まず、ステップＳ１１では、自車位置検出装置１で自車位置を検出する。次に、ステップＳ１２では、ステップＳ１で検出した自車位置情報と目的地から自車の進路を推定する。そしてステップＳ１３では、ステップＳ１で検出した自車位置情報と地図データベースに格納されている地図情報とに基づいて、道路形状を現す点列の各点における屈折角および各点と次の点との間のリンク長の組を作成し、その連続したデータ列を、道路点列データとして出力する。例えば、図３に示すように、第ｎ番目の点ｐnの屈折角、リンク長をそれぞれ、θn、Ｌnとすると、
ｐ0（θ0，Ｌ0），ｐ1（θ1，Ｌ1），…，ｐn（θn，Ｌn）
というデータ列を出力する。
【００１２】
データ列を生成する経路の選択方法は、ナビゲーション装置の経路探索機能を用いる方法や道路種別などを元に推定を行なう方法など、分岐点においてただ一つだけ進路が定まればどのような方法を用いても良い。
【００１３】
次に、ステップＳ１４では、所定の基準のカーブ半径（しきい値）に基づいて除去すべきリンクのしきい値Ｌthを算出する。次に、ステップＳ１５では、ステップＳ１３で求めた点列の内、リンク長Ｌnが、リンク長のしきい値Ｌthよりも長いリンクを除去する。または、処理対象としないリンクのリストを設定し、これに登録するなどの方法を用いても良い。
【００１４】
ここで、上記のリンク長のしきい値Ｌthの設定方法について説明する。
判定するリンクの端点が半径Ｒの円周上に有る時、図４に示すように、円弧とリンクの間には誤差δが生じる。リンクが長くなるほどこの誤差δは大きくなり、リンク長が或る所定値より長くなると、このリンクが半径Ｒの道路を十分に表現しているとはいえなくなる。このリンク長の所定値がしきい値Ｌthである。
【００１５】
図５に示すように、円弧を直線で近似すると、
（Ｌth／２）＋（Ｒ−δ）2＝Ｒ2
の関係が得られ、Ｌthは下記（数１）式で示される。
Ｌth＝√（８Ｒδ−４δ2）    …（数１）
で求めることができることがわかる。
【００１６】
例として、誤差をδ＝２ｍ、カーブ半径のしきい値をＲ＝２５０ｍとすると、
Ｌth＝√（８×２５０×２−４×２2）≒６３.１ｍ
となる。したがって、６３.１ｍを越える長さのリンクは、半径２５０ｍのカーブに含まれる可能性が低いということができる。すなわち、許容出来る誤差δとカーブ半径のしきい値とを定めれば、上記（数１）式からリンク長のしきい値Ｌthを求めることが出来る。
【００１７】
なお、上記の誤差δの値やカーブ半径のしきい値Ｒの値は、一定値でもよいが、そのリンクが含まれる道路の幅員や道路種別によって変化させるように構成してもよい。
【００１８】
次に、図６は、除去するリンクの長さのしきい値Ｌthが得られた場合に、点列ｐ0、ｐ1、…、ｐnからリンクの除去を行なう処理のフローチャートを示す図である。
図６において、ステップＳ２１では、次段の曲路判断装置５へ送るデータを記憶するための入力データバッファを準備し、ステップＳ２２では、ｎを０に初期化する。次に、ステップＳ２３では、ｎ番目のリンクＬnがしきい値Ｌthより大か否かを判断する。ステップＳ２３で“ＮＯ”の場合は、ステップＳ２４で当該点ｐnを前記の入力データバッファに記録した後、ステップＳ２５へ行く。ステップＳ２３で“ＹＥＳ”の場合は、そのままステップＳ２５へ行く。したがってリンク長がしきい値Ｌthより大きい部分は入力データバッファに記録されず削除される。
【００１９】
次に、ステップＳ２５では、ｎをｎ＋１にインクリメントする。そして、ステップＳ２６では、ｎの値が点列の最終値Ｎか否かを判断し、未だＮに達していない場合（“ＮＯ”）はステップＳ２３に戻って以下の処理を繰り返す。ステップＳ２６で“ＹＥＳ”の場合は、全ての点についての処理が終了したものとしてステップＳ２７へ行き、入力データバッファに記憶されている点列、すなわちリンク長がしきい値Ｌth以下の点についてのデータを次段の曲路判断装置５へ送出する。
【００２０】
上記のようにして、しきい値Ｌthよりも長いリンクの除去を行なった点列に対し、曲路判断装置５は３点またはそれ以上の個数の点の組に対して、円弧による近似を行ない、その円の半径がシステムから与えられたしきい値より小さければその部位を急な曲路と判定する。なお、所定値よりも長いリンクの部分は、曲がりが緩やかな部分（直線か殆ど直線に近い）であり、急な曲路の部分には該当しないので、その部分を除去しても上記の曲路判定には影響しない。また、上記の除去した部分を、例えば直線または直線に近い曲路と判定するように構成してもよい。
【００２１】
上記の曲路判断装置５における曲路判定の詳細内容は例えば前記の従来例（特開平８−１９４８９３号公報）に記載されているものと同様であり、例えば、自車両前方の走路が点列ｐ0、ｐ1、…、ｐnで表現されるとすると、連続する任意の３点ｐn-1、ｐn、ｐn+1を円周上に持つ円が決まり、この円の半径は３点の座標値から算出することができ、この半径が走路のこの部分のカーブ半径であるとみなすことができる。このカーブ半径が所定のしきい値よりも小さければその部位を急な曲路と判定する。また、計算に用いる点数を４点以上にした場合も、誤差の二乗和を最小にするなどの方法により円弧で近似してカーブ半径を求めることができる。ただし、本実施の形態においては、上記の点列ｐ0、ｐ1、…、ｐnは、リンク長がしきい値Ｌth以下の部分のみから構成されている。
【００２２】
また、カーブ半径を計算せず、その部位のリンク長の和と屈折角の和とから、単位リンク長あたりの屈折角を算出し、判定しようとするカーブ半径を持つ正円における単位周長あたりの屈折角と比較して屈折角が大きければ急な曲路であると判定するように構成しても良い。
【００２３】
以上の説明では、連続する３点以上の点の組としているが、図７に示す点列ｐ0〜ｐ6におけるｐ2とｐ4（白丸で示す）のように、取り除いても道路線形を再現する上で十分な情報を保持できる場合は、間引きを行なうなどして、これらの一点が必ずしも隣接していない場合でも同様に扱うことができる。
【００２４】
また、曲路判断装置５による判定は、３点を一組にして判定する場合はすべての点の組み合わせについて行なう（判定範囲を１点ずつずらして行なう）必要があるが、４点以上を一組にして判定する場合は必ずしもすべての点の組み合わせについて行なう必要はない。例えば、３点を一組にした場合は、図８に示すように、判定範囲を２点ずつずらした場合、点ｐ2，ｐ4の部分の屈折角が考慮されなくなってしまうので、正確な判定結果を得ることができない。そのため判定範囲は必ず１点ずつずらして行なう必要がある。これに対し、４点を一組にして判定する場合は、図９に示すように、２点ずつずらした場合でも残りの２点が前回の判定範囲と重複し、すべての点の屈折角が利用できるため十分正確な判定結果が得られる。同様に考えて、４点以上のｎ点を一組にした場合、判定範囲を最大で（ｎ−２）点ずつずらして判定を行なってゆくことが可能であり、これによって判定処理の回数を減少させることができる。
【００２５】
また、判定に用いる点数及び判定を行なう組の選択、間引き処理の有無などは、道路の幅員、種別などの特性や、判定しようとするカーブ半径のしきい値などによって適宜選択することが出来る。
【００２６】
上記のように、長いリンクの除去を行なった点列に対して曲路の緩急の判断を行なうことにより、複数点を円弧で近似する場合にサンプリングの仕方によってカーブ半径の判定結果が大きく変化するのを抑制し、緩急判断の精度を向上させことができる。
【００２７】
次に、図１０は本発明の第２の実施の形態を示すブロック図である。
第２の実施の形態は、第１の実施の形態における長リンク除去装置の代わりに、小屈折角除去装置６を持つところが異なる。以下、第１の実施の形態と異なる部分についてのみ説明する。
【００２８】
小屈折角除去装置６は、道路点列生成装置３が出力する点列の内、ｎ番目の点ｐnにおける屈折角θnが、屈折角のしきい値θthよりも小さい場合に、その点を曲路判断装置５で行なう処理の対象としないように、点列から除去するものである。或いは処理対象としない点のリストを設定し、これに登録するなどの方法を用いても良い。これによってその点の前後のリンクが除去される。上記の屈折角のしきい値θthは、判定しようするカーブ半径Ｒと、その屈折角をなす２本のリンクの長さとから算出する。なお、点ｐnにおける屈折角θnは、図１１に示すように、点ｐn-1と点ｐnとを結んだ直線の延長線と、点ｐnと点ｐn+1とを結んだ直線との成す角度である。
【００２９】
ここで、屈折角のしきい値θthの設定方法について説明する。
図１１に示すように、判定する点ｐnの前後のリンクＬn-1，Ｌnの３つの端点（点ｐn-1と点ｐnと点ｐn+1）が、すべてしきい値とする半径Ｒの円周上に有ると仮定する。この時、点ｐnにおける屈折角をθとすると、
θ＝１８０−∠Ｏｐnｐn-1−∠Ｏｐnｐn-1
の関係が得られる。ここで、リンクＬn-1が弧ｐn-1ｐnとほぼ等しいものと近似すると、∠Ｏｐnｐn-1は下記（数２）式で示される。
【００３０】
0003852246.tif 000002
【００３１】
また、∠Ｏｐnｐn+1も同様に示される。これにより、θは下記（数３）式のように表される。
0003852246.tif 000003
【００３２】
したがって、点ｐnにおける実際の屈折角θnがθ＞θnとなる時、この３点を通る円の半径はＲより大きく、この部分はしきい値よりも緩やかなカーブ半径を持つと判断することができる。
【００３３】
実際には、全ての点が正確に道路の中央の座標を示しているわけではないので、屈折角の判定を行なうしきい値には、数％から３０％程度の余裕代を持たせる必要が有ることが分かっているため、余裕代を与える係数をαとすれば、しきい値θthは下記（数４）式で示される。
0003852246.tif 000004
【００３４】
したがって下記（数５）式が成立するときに、しきい値よりも緩やかなカーブであるという判断を行なうことができる。
0003852246.tif 000005
【００３５】
屈折角のしきい値の余裕代αは、その点が表す道路の幅員や道路種別によって変化させることができる。すなわち、幅員が大きい場合には走路中央からの点の位置のずれが大きい可能性が有るため余裕代αを大きくする。高速道路の場合は交差点や複雑なカーブが無く、点列がより正確な道路線形を表現していると考えられるため余裕代αを小さくするなどである。
【００３６】
また、連続する３点がしきい値としているカーブ半径Ｒの円周上に存在することを仮定しているため、この判断を行なう前に、ｐn-1，ｐn間およびｐn，ｐn+1間のリンクはいずれもカーブ半径Ｒの円周上に存在することを予め保証しなくてはならない。これを行なうためには小屈折角点除去装置６の中で、判定に利用するリンクの長さが円周の直径２Ｒより長い場合には屈折角の判定を行なう以前に該当する点を除去しておいても良いし、他の手段を用いても良い。他の手段とは、例えば、第１の実施の形態で説明した長リンク除去装置４による長リンクの除去処理などである。例えば、図１と図１０とを組み合わせ、図１の長リンク除去装置４と曲路判断装置５との間に小屈折角除去装置６を接続するように構成してもよい。
【００３７】
図１２は、屈折角のしきい値が得られた場合に、点列ｐ0，ｐ1，…，ｐnから屈折角の小さい点の除去を行なう処理のフローチャート示す図である。なお、フローチャートではリンク長がしきい値Ｌthよりも大きい部分を除去する処理も含んでいる。
【００３８】
図１２において、ステップＳ３１では、次段の曲路判断装置５へ送るデータを記憶するための入力データバッファを準備し、ステップＳ３２では、ｎを０に初期化する。次に、ステップＳ３３では、ｎ番目のリンクＬnがしきい値Ｌthより大か否かを判断する。ステップＳ３３で“ＹＥＳ”の場合は、そのままステップＳ３６へ行く。したがってリンク長がしきい値Ｌthより大きい部分は入力データバッファに記録されず削除される。ステップＳ３３で“ＮＯ”の場合は、ステップＳ３４へ行く。
【００３９】
ステップＳ３４では、その点ｐnにおける屈折角θnがしきい値θthよりも大きいか否かを判断し、“ＹＥＳ”の場合にはステップＳ３５で当該点ｐnを前記の入力データバッファに記録した後、ステップＳ３６へ行く。ステップＳ３４で“ＮＯ”の場合は、そのままステップＳ３６へ行く。したがって屈折角θnがしきい値θth以下の点は入力データバッファに記録されず削除される。
【００４０】
次に、ステップＳ３６では、ｎをｎ＋１にインクリメントする。そして、ステップＳ３７では、ｎの値が点列の最終値Ｎか否かを判断し、未だＮに達していない場合（“ＮＯ”）はステップＳ３３に戻って以下の処理を繰り返す。ステップＳ３７で“ＹＥＳ”の場合は、全ての点についての処理が終了したものとしてステップＳ３８へ行き、入力データバッファに記憶されている点列、すなわちリンク長がしきい値Ｌth以下であり、かつ、屈折角θnがしきい値θthよりも大きい点列についてのデータを次段の曲路判断装置５へ送出する。
【００４１】
上記のようにして、しきい値Ｌthよりも長いリンクおよび屈折角θnがしきい値θthよりも小さい点の除去を行なった点列に対し、曲路判断装置５は３点またはそれ以上の個数の点の組に対して、円弧による近似を行ない、その円の半径がシステムから与えられたしきい値よりも小さければその部位を急な曲路と判定する。なお、屈折角が所定値よりも小さい部分は、曲がりが緩やかな部分（直線か殆ど直線に近い）であり、急な曲路の部分には該当しないので、その部分を除去しても上記の曲路判定には影響しない。また、上記の除去した部分を、例えば直線または直線に近い曲路と判定するように構成してもよい。
【００４２】
また、図１２のフローチャートでは、リンク長がしきい値Ｌthよりも大きい部分を除去する処理も含んでいるが、ステップＳ３３を除けば屈折角θnがしきい値θthよりも大きいか否かだけを判断する処理になる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態を示すブロック図。
【図２】曲路検出処理を示すフローチャート。
【図３】道路点列生成装置３が出力するデータ例を図形で示した図。
【図４】円弧を直線で近似した場合の誤差を示す図。
【図５】リンク長のしきい値を算出する方法を説明するための図。
【図６】長リンク除去の処理を示すフローチャート。
【図７】点列の間引きを説明するための図。
【図８】３点を一組とした場合における曲路判断を行なう点の組合せを説明する図。
【図９】４点を一組とした場合における曲路判断を行なう点の組合せを説明する図。
【図１０】本発明の第２の実施の形態を示すブロック図。
【図１１】屈折角のしきい値を算出する方法を説明するための図。
【図１２】小屈折角点除去の処理を示すフローチャート。
【符号の説明】
１…自車位置検出装置                ２…地図データベース
３…道路点列生成装置                ４…長リンク除去装置
５…曲路判断装置                    ６…小屈折角点除去装置
【図１】
0003852246.tif 000006
【図２】
0003852246.tif 000007
【図３】
0003852246.tif 000008
【図４】
0003852246.tif 000009
【図５】
0003852246.tif 000010
【図６】
0003852246.tif 000011
【図７】
0003852246.tif 000012
【図８】
0003852246.tif 000013
【図９】
0003852246.tif 000014
【図１０】
0003852246.tif 000015
【図１１】
0003852246.tif 000016
【図１２】
0003852246.tif 000017