ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)カーブ区間特定システムの構成:
(2)カーブ区間特定処理:
(3)開始終了候補点取得処理:
(4)分割処理:
(5)他の実施形態:
(1)カーブ区間特定システムの構成:
図1は、本発明にかかるカーブ区間特定システム10の構成を示すブロック図である。カーブ区間特定システム10は、CPU,RAM,ROM等を備える制御部20、記録媒体30を備えており、記録媒体30やROMに記憶されたプログラムを制御部20で実行することができる。本実施形態においては、このプログラムとしてカーブ区間特定プログラム21を実行可能である。カーブ区間特定プログラム21は、車両の現在位置を取得し、車両の現在位置の前方に存在するカーブ区間を特定する機能を制御部20に実行させる。
カーブ区間特定システム10が使用される車両は、GPS受信部41と車速センサ42とジャイロセンサ43と変速部44と制動部45とを備えている。GPS受信部41は、GPS衛星からの電波を受信し、図示しないインタフェースを介して車両の現在位置を算出するための信号を出力する。車速センサ42は、車両が備える車輪の回転速度に対応した信号を出力する。制御部20は、図示しないインタフェースを介してこの信号を取得し、車速を取得する。ジャイロセンサ43は、車両の水平面内の旋回についての角加速度を検出し、車両の向きに対応した信号を出力する。制御部20は、この信号を取得して車両の進行方向を取得する。制御部20は、車速センサ42およびジャイロセンサ43等の出力信号に基づいて車両の走行軌跡を特定することで車両の現在位置を取得する。GPS受信部41の出力信号は、車速センサ42およびジャイロセンサ43等から特定される車両の現在位置を補正するなどのために利用される。
変速部44は、前進について計6速、後進について計1速等の複数の変速段を有する有段のトルクコンバータを備えており、各変速段に対応した変速比で回転数を調整しながらエンジンの駆動力を車両の車輪に伝達することができる。制御部20は図示しないインタフェースを介して変速段を切り替えるための制御信号を出力し、変速部44は当該制御信号を取得して変速段を切り替えることが可能である。従って、制御部20は、変速部44に制御信号を出力して変速段を変化させ、車両に対してエンジンブレーキを作用させることによって減速させることができる。なお、本実施形態においては、前進1速〜前進6速のように変速段がハイギアになるにつれて変速比が小さくなるように構成されている。
制動部45は、車両の車輪に搭載されたブレーキによる減速の程度を調整するホイールシリンダの圧力を制御する装置を含み、制御部20は当該制動部45に対して制御信号を出力してホイールシリンダの圧力を調整させることが可能である。従って、制御部20が当該制動部45に対して制御信号を出力してホイールシリンダの圧力を増加させると、ブレーキによる制動力が増加し、車両が減速される。
以上のように、制御部20は、変速部44、制動部45に対して制御信号を出力することによって車両を減速させることができる。本実施形態において、制御部20は、図示しない減速制御プログラムを実行することが可能であり、当該減速制御プログラムの処理により、制御部20は、カーブ区間に進入する前に車両の速度を目標速度以下になるように減速させる。ここで、目標速度はカーブ区間の曲率に応じて決定される。例えば、カーブ区間の一定曲率部分において車両が一定車速で走行できるように目標速度が決定される。この構成において、制御部20は、例えば、一定曲率部分の入口前から等加速度直線運動によって車両を減速させ、一定曲率部分の入口において車速が目標速度となるように減速を行う等して減速制御を行う。
記録媒体30には、予め地図情報30aが記録されている。地図情報30aは、車両が走行する道路上の交差点に設定されたノードの位置を示すノードデータ,ノード間の道路の形状を特定するための形状補間点データ,ノード同士の連結を示すリンクデータ,道路の周辺に存在する施設を示す施設データ等を含んでいる。なお、本実施形態においては、ノードおよび形状補間点が道路の形状を示す形状点である。すなわち、本実施形態における形状点は、道路の位置を示すとともに、各形状点を結ぶ直線が道路の方向を間接的に示している。
本実施形態において制御部20は、上述のような減速制御を行うために、カーブ区間特定プログラム21により車両の前方に存在するカーブ区間を特定する処理を実行する。カーブ区間特定プログラム21は、形状点取得部21aと線分取得部21bとカーブ区間特定部21cと線分長調整部21dとを備えている。
形状点取得部21aは、道路の形状を示す形状点を取得する機能を制御部20に実現させるプログラムモジュールである。すなわち、制御部20は、形状点取得部21aの処理により、GPS受信部41,車速センサ42,ジャイロセンサ43の処理に基づいて車両の現在位置を取得し、地図情報30aを参照して車両の前方に存在する形状点を取得する。
線分取得部21bは、形状点に基づいて、道路の方向を示す線分を取得する機能を制御部20に実現させるプログラムモジュールである。具体的には、制御部20は、着目した形状点から、他の形状点または隣接する形状点同士を結ぶ線上の点まで延びる線分を、着目した形状点の前後で取得する。すなわち、形状点取得部21aの処理によって形状点が取得されると、制御部20は、線分取得部21bの処理により、取得された形状点のいずれかを着目形状点に設定する。
そして、制御部20は、後述する線分長調整部21dの処理によって線分の長さを決定する。また、制御部20は、隣接する形状点間を結ぶ線を特定する。そして、制御部20は、着目形状点を中心とし、線分の長さを半径とした円と、隣接する形状点間を結ぶ線との交点を線分の端点とする。当該端点は着目形状点の前後で取得されるため、制御部20は、着目形状点から各端点まで延びる線分を取得する。制御部20は、以上のようにして線分を取得する処理を、着目形状点を順次変更しながら、複数の形状点について実行する。
カーブ区間特定部21cは、線分の交差角と形状点間の距離に基づいてカーブ区間を特定する機能を制御部20に実現させるプログラムモジュールである。具体的には、カーブ区間特定部21cは、線分の交差角に基づいてカーブ区間の端点を特定し、形状点間の距離がカーブ区間の曲率半径に依存する閾値より大きい場合に当該形状点に基づいてカーブ区間の端点を特定し、両端点に基づいてカーブ区間を特定する機能を制御部20に実現させる。
すなわち、各形状点について取得された線分は、形状点と形状点間を結ぶ線上の点(または他の形状点)を結ぶ線であるため、道路の方向を(少なくとも近似的には)示している。従って、制御部20が当該線分の交差角を解析すれば、当該線分に該当する位置の道路がカーブ区間であるか否かを特定することができる。そこで、制御部20は、カーブ区間特定部21cの処理により、着目形状点の前後で取得された線分の交差角を取得する。また、制御部20は、線分の交差角が判定基準より大きい場合に、着目形状点がカーブ区間に含まれると判定する。
図4Aは、道路上の形状点の配置例を模式的に示す図であり、黒丸によって形状点を示している。本実施形態において形状点は、道路の中央に配置されている。なお、一点鎖線は形状点間を結ぶ線である。この例において、線分取得部21bの処理によって制御部20が取得した着目形状点が点Pi1であり、線分が線分Lf1,Lb1である場合を想定する。この場合、制御部20は、線分Lf1,Lb1の方向に基づいて交差角A(後方の線分を前方に延長した線と前方の線分とで形成される角度)を取得し、交差角Aが判定基準より大きい場合に、形状点Pi1がカーブ区間に含まれると判定する。
そして、カーブ区間に含まれると判定されなかった着目形状点と、カーブ区間に含まれると判定された着目形状点とが隣接する場合、制御部20は、後者の着目形状点をカーブ区間の端点として取得する。なお、交差角の判定基準は、線分の交差角が当該判定基準より大きい場合に、着目形状点がカーブ区間であるように定義されていれば良く、統計に基づいて予め決定されている。
さらに、形状点間の距離は、形状点の密度に依存する。すなわち、形状点の密度が密であると形状点間の距離は短くなり、形状点の密度が粗であると形状点間の距離は長くなる。また、一般に、形状点は道路の形状を示す点であるため、道路の形状の変化が相対的に少ない区間において形状点の密度は粗である。従って、曲率半径が大きい区間においては、形状点の密度が粗になる。
そして、道路の曲率半径が小さい区間と曲率半径が大きい区間(実質的にカーブでないと見なせる区間。曲率半径が無限大(直線区間)を含む)が連続している場合、曲率半径が小さい区間と曲率半径が大きい区間とが近接していることに起因して、道路の方向を示す線分の交差角がカーブであることを示す値になる場合がある。図5は、道路上の形状点の配置例を模式的に示す図であり、黒丸によって形状点を示している。本実施形態において形状点は、道路の中央に配置されている。なお、一点鎖線は形状点間を結ぶ線である。
図5に示す道路は、直線区間R1とR3との間にカーブ区間R2が存在し、直線区間R3とR5との間にカーブ区間R4が存在する例を示している。この例において、線分取得部21bの処理によって制御部20が取得した着目形状点が点Pi2であり、線分が線分Lf2,Lb2である場合を想定する。この場合、線分Lf2,Lb2の端点Peb2,Pef2が、道路のカーブ区間に存在するため、線分Lf2,Lb2の交差角Bは0(または0の近似値)ではない。この結果、この例においては、線分Lf2,Lb2の交差角Bが判定基準より大きくなる。従って、線分Lf2,Lb2の交差角Bに基づく判定のみであると、形状点Pi2がカーブ区間に含まれると判定され、曲率半径が小さい区間R2,R4と曲率半径が大きい区間R3とが一つの大きなカーブ区間であると特定されてしまう。
そこで、制御部20は、カーブ区間特定部21cの処理により、形状点間の距離が閾値より大きい場合に、これらの形状点の周囲は曲率半径が大きい区間であると判定する。すなわち、直線区間においては上述のように形状点の密度が粗になるため、本実施形態においては、形状点間の距離が閾値以上であれば、当該形状点が直線道路区間における形状点間の距離であると見なすことができるように閾値を予め設定している(詳細は後述)。そこで、制御部20は、カーブ区間特定部21cの処理により、地図情報30aに基づいて着目した形状点間の距離を取得し、当該距離が閾値より大きいか否かを判定する。そして、形状点間の距離が閾値より大きい場合、制御部20は、当該形状点間はカーブ区間でないと見なす。従って、着目した形状点のうちの一方がカーブ区間に隣接しているのであれば、当該形状点がカーブ区間の端点となる。
以上のような本実施形態によれば、道路の曲率半径が小さい区間と曲率半径が大きい区間(実質的にカーブでないと見なせる区間)が連続している場合に、後者を除外してカーブ区間を特定することができる。従って、本実施形態においては、カーブ区間と直線区間とを正確に区別することが可能である。この結果、カーブ区間の直後に直線状の区間が続き、さらにカーブ区間が続く道路等において直線状道路の存在を特定することができ、カーブ区間の特定精度を向上させることができる。
線分長調整部21dは、道路上の形状点の密度に基づいて線分の長さを変化させる機能を制御部20に実現させるプログラムモジュールである。すなわち、制御部20が線分取得部21bの処理によって取得する線分の長さが特定の長さに限定されていると、線分の交差角に基づいてカーブ区間を正確に特定することが困難になる。
具体的には、図4Bは、比較的小さい曲率半径の道路を模式的に示している。この例においても黒丸によって形状点を示しており、形状点は道路の中央に配置されている。本例において、カーブ区間(クロソイド区間)の実際の開始点は形状点Pi4である。ここで、形状点Pi4よりも後方(カーブ区間の逆側)の形状点Pi3が着目形状点である場合に、制御部20が線分取得部21bの処理によって取得する線分が線分Lf3,Lb3である例を想定する。この例の場合、カーブ区間の曲率半径は小さいため、形状点Pi3の前方において道路形状は早期に変化し、線分Lf3は線分Lb3に対して傾いている(0°または0°の近似値ではない)。この結果、線分Lf3,Lb3の交差角Cは判定基準より大きくなる。従って、線分Lf3,Lb3の長さが図4Bに示す値であると、形状点Pi3はカーブ区間に含まれると誤判定される。
また、図4Cは、比較的大きい曲率半径の道路を模式的に示している。この例においても黒丸によって形状点を示しており、形状点は道路の中央に配置されている。本例において、カーブ区間(クロソイド区間)の実際の開始点は形状点Pi5である。ここで、形状点Pi5が着目形状点である場合に、制御部20が線分取得部21bの処理によって取得する線分が線分Lf5,Lb5である例を想定する。この例の場合、カーブ区間の曲率半径は大きいため、形状点Pi5の前方において道路形状の変化は小さく、線分Lf5は線分Lb5に対してほとんど傾いていない。この結果、線分Lf5,Lb5の交差角(180−D)は判定基準より小さくなる。従って、線分Lf5,Lb5の長さが図4Cに示す値であると、形状点Pi5はカーブ区間に含まれないと誤判定される。
以上のように、制御部20が線分取得部21bの処理によって取得する線分の長さが特定の長さ(例えば、隣接する形状点間を結ぶ線分の長さ)に限定されていると、線分の交差角に基づいてカーブ区間を正確に特定することが困難になる。そこで、本実施形態において制御部20は、線分取得部21bの処理により、着目した形状点から、他の形状点または隣接する形状点同士を結ぶ線上の点まで延びる線分を取得する。このような線分には、着目形状点から隣接する形状点まで延びる線分のみならず、着目形状点から隣接しない形状点まで延びる線分、着目形状点から他の形状点同士を結ぶ線まで延びる線分が含まれる。従って、カーブ区間であるか否かを判定するための線分は、隣接する形状点間を結ぶ線分に限定されない。
さらに、制御部20は、線分長調整部21dの処理により、線分の長さを道路上の形状点の密度に応じて調整する。すなわち、制御部20は、線分長調整部21dの処理により、地図情報30aを参照して車両の前方の予め決められた範囲内に存在する形状点の密度を取得し、当該密度に応じて線分の長さを決定し、線分取得部21bの処理に受け渡す。この結果、制御部20は、線分取得部21bの処理によって線分を取得する際に、当該受け渡された線分の長さの線分を取得する。なお、形状点の密度と線分の長さとの関係は種々の規則で特定可能であるが、本実施形態においては形状点の密度が粗であるほど線分の長さが長くなる構成が採用されている(詳細は後述)。
いずれにしても、形状点の密度に応じて線分の長さを変化させることにより、カーブの形状(曲率半径)に対応して変化する判定指標(線分)を定義することができる。従って、図4B、4Cに示すように曲率半径が変化することによってカーブ区間を判定するために適切な判断基準(線分の長さ)が変化したとしても、当該変化に応じて長さが変化するように線分を定義することが可能になる。このため、本実施形態によれば、カーブ区間の特定精度を向上させることができる。
なお、形状点間の距離とされる閾値は、形状点間の距離が閾値より大きい場合に当該形状点がカーブ区間ではないと見なすことができるように決められれば良く、カーブ区間の曲率半径に依存する可変値である。すなわち、曲率半径が大きい場合にカーブ区間ではないと見なすための値は、直線区間に隣接するカーブ区間の曲率半径に依存して変動し得る。この構成であれば、線分の交差角に基づいてカーブ区間の間に存在する直線区間の存在を正確に特定できない場合であっても、制御部20が形状点間の距離と閾値とを比較することにより、直線区間の存在を正確に特定することが可能になる。従って、カーブ区間の特定精度を向上させることができる。
(2)カーブ区間特定処理:
次に、カーブ区間特定処理を詳細に説明する。図2Aは、カーブ区間特定処理を示すフローチャートであり、本実施形態において制御部20は、予め決められた開始タイミング(例えば、100ms毎のタイミング)でカーブ区間特定処理を実行する。カーブ区間特定処理において、制御部20は、開始終了候補点取得処理を実行する(ステップS100)。当該開始終了候補点取得処理は、線分の交差角に基づいてカーブ区間の候補を仮決定する処理であり、詳細は後述する。なお、ここでは、カーブ区間の候補の開始点を開始候補点、カーブ区間の候補の終了点を終了候補点と呼ぶ。
次に、制御部20は、分割処理を実行する(ステップS105)。当該分割処理は、カーブ区間の候補内で形状点間の距離が閾値より大きい形状点を特定し、当該形状点の少なくとも一方をカーブ区間の候補内から除外することによってカーブ区間の候補を分割する処理である。形状点間の距離が閾値より大きい形状点が存在しない場合、分割は行われない。分割処理が実行された後に、カーブ区間とされている区間(分割された場合は分割によって得られた複数の区間)の端点は、カーブ区間の開始点および終了点となる。
分割処理が行われると、制御部20は、クロソイドフィッティング処理を実行する(ステップS110)。クロソイドフィッティング処理は、形状点の位置に最も合致するクロソイド曲線および一定曲率の線を取得する処理である。クロソイドフィッティング処理は、種々の態様で実現可能である。例えば、制御部20が、カーブ区間の端点の間に存在する形状点から最小の曲率の部分を特定し(当該部分は一定曲率の区間となる)、当該部分以外の部分がクロソイド区間であると見なし、当該区間の両端の形状点からクロソイド曲線を導出することによってクロソイドフィッティング処理を実行する構成等を採用可能である。
いずれにしても、クロソイドフィッティング処理が実行されると、車両の前方のカーブ区間において、クロソイド曲線を示す情報と、一定曲率の区間の位置および曲率を示す情報とが得られた状態となる。そこで、制御部20は、これらの情報が示すカーブ区間を特定する(ステップS115)。カーブ区間を特定する態様としては、種々の手法を採用可能であるが、本実施形態においては、車両の減速制御に使用されるため、カーブ区間に進入する前に車両の速度を目標速度以下に制御する際に必要な情報、例えば、カーブ区間の開始点と一定曲率部分の開始点および曲率を示す情報等がカーブ区間を示す情報等として特定される構成を採用可能である。むろん、カーブ区間が特定されると、制御部20は、当該カーブ区間を示す情報に基づいて、変速部44および制動部45に制御信号を出力し、車両の減速制御を実行する。
(3)開始終了候補点取得処理:
次に、開始終了候補点取得処理を詳細に説明する。図2Bは、開始終了候補点取得処理を示すフローチャートである。開始終了候補点取得処理において、制御部20は、形状点取得部21aの処理により、前方の形状点を取得する(ステップS100)。本実施形態において、形状点の取得対象となる範囲は予め決められている。例えば、車両の現在位置から既定の距離(2km等)が取得対象の範囲となる構成等を採用可能である。なお、当該範囲に分岐が存在する場合、車両の走行予定経路沿いに車両の現在位置から既定距離の範囲や現在位置と分岐との間の範囲が取得対象となる構成等を採用してもよい。
いずれにしても、制御部20は、GPS受信部41、車速センサ42、ジャイロセンサ43の出力信号に基づいて車両の現在位置を取得し、地図情報30aを参照して形状点の取得対象の範囲を特定する。そして、制御部20は、当該範囲内に存在する形状点の位置および数を取得する。
次に、制御部20は、線分長調整部21dの処理により、形状点の密度を取得する(ステップS205)。すなわち、制御部20は、形状点の取得対象の範囲に基づいて当該範囲の道路に沿った距離を特定し、ステップS200で取得された形状点の数を当該距離で除することによって形状点の密度を取得する。
次に、制御部20は、線分長調整部21dの処理により、形状点の密度に基づいて線分の長さを取得する(ステップS210)。本実施形態においては、形状点の密度が粗であるほど線分の長さが長くなる構成が採用されており、形状点の密度と線分の長さとの対応関係は予め(関数やテーブル等によって)決められている。本実施形態においては、道路の形状(カーブの曲率)が変化した場合に、カーブ区間であるか否かの判定精度が低下しないように、または、カーブ区間であるか否かの判定精度の低下程度が小さくなるように形状点の密度と線分の長さとの対応関係が定義されている。そこで、制御部20は、ステップS205で取得された密度に対応する線分の長さを当該対応関係に基づいて特定し、線分の長さとして取得する。
具体的には、当該対応関係においては、形状点の密度が粗であるほど線分の長さが長くなるように密度と線分の長さとを対応づけている。形状点の密度が粗である場合、当該区間がカーブ区間であるならば曲率半径の大きい区間である。従って、線分の長さが短い状態に固定されていると、図4Cに示したように、線分の交差角によってカーブ区間であると判定することが困難になる。しかし、形状点の密度が粗であるほど線分の長さが長くなるように構成すれば、曲率半径の大きいカーブ区間を高い精度で特定することが可能である。
一方、形状点の密度が密である区間は、当該区間がカーブ区間であるならば曲率半径の小さい区間である。従って、線分の長さが長い状態に固定されていると、図4Bに示したように、線分の交差角が判定基準より大きいことに起因してカーブ区間でない区間がカーブ区間であると誤判定される場合がある。しかし、形状点の密度が密であるほど線分の長さが短くなるように構成すれば、曲率半径の小さいカーブ区間を高い精度で特定することが可能である。
なお、本実施形態においては、密度と線分の長さとの対応関係に基づいて取得された線分の長さが、ステップS200で取得された形状点の全てについての交差角の判定に使用される。すなわち、形状点の取得対象の範囲がカーブ区間である場合、当該カーブ区間に渡る形状点の密度が当該カーブ区間全体の曲率を表していると見なすことができる。そこで、本実施形態において制御部20は、当該線分の長さを、ステップS200で取得された形状点の全てについての判定に使用する。
また、上述の対応関係において、線分の長さの最小値は形状点毎に変化する。すなわち、線分の長さを取得する対象の形状点(着目形状点)から最寄りの形状点までの距離が線分の長さの最小値となるように構成されている。線分の端点は、形状点と、道路上の形状を示す線(形状点間の線、形状点自体も含む)上の点であるため、隣接する形状点間の長さより短い線分を定義したとしても、その方向は隣接する形状点間を結ぶ線分と一致する。従って、着目形状点から最寄りの形状点までの線分より短い線分を定義したとしても、線分の交差角による判定結果に影響は与えない。そこで、本実施形態においては、着目形状点から最寄りの形状点までの距離が線分の長さの最小値とされている。
次に、制御部20は、線分取得部21bの処理により、着目形状点を設定する(ステップS215)。本実施形態においては、車両の現在位置を起点として前方に向けて形状点を順次スキャンするように着目形状点を設定する。従って、ステップS215〜S255はループ処理となっており、当該ループ処理においてステップS215が初回に実行される場合、制御部20は、ステップS200で取得された形状点の中から、車両の現在位置の前方において最も近い形状点を着目形状点とする。以後、N回目(Nは2以上の整数)にステップS215が実行される場合、制御部20は、ステップS200で取得された形状点の中から、車両の現在位置に対してN番目に近い形状点を着目形状点とする。
次に、制御部20は、線分取得部21bの処理により、着目形状点から前後に延びる線分を取得する(ステップS220)。すなわち、制御部20は、ステップS200で取得された形状点間を結ぶ線(図4Aに示す一点鎖線)を特定する。また、制御部20は、着目形状点を中心とし、線分の長さを半径とした円と、形状点間を結ぶ線との交点を線分の端点とし、着目形状点から各端点まで延びる線分を形状点の前後で取得する。この結果、例えば、図4Aにおいて着目形状点がPi1であれば、線分Lf1,Lb1が取得される。
次に、制御部20は、カーブ区間特定部21cの処理により、交差角を取得する(ステップS225)。すなわち、制御部20は、ステップS220で取得された線分のうち、後方の線分を前方に延長し、得られた角度(図4Aに示す例であれば角度A)を交差角として取得する。
次に、制御部20は、カーブ区間特定部21cの処理により、交差角が判定基準より大きく、かつ、フラグがオフになっているか否かを判定する(ステップS230)。すなわち、制御部20は、交差角と判定基準とを比較し、交差角が判定基準より大きいか否かを判定する。また、本実施形態においては、着目形状点がカーブ区間の候補に含まれている場合にオン設定されるフラグ(初期値はオフ)が予め用意されており、制御部20は、当該フラグがオフであるか否かを判定する。
ステップS230において、交差角が判定基準より大きく、かつ、フラグがオフであると判定された場合、すなわち、着目形状点がカーブ区間の候補に含まれていない状態で交差角が判定基準より大きいと判定された場合、制御部20は、カーブ区間特定部21cの処理により、着目形状点を開始候補点として取得し、フラグをオンにする(ステップS235)。当該開始候補点は、後述する分割処理を経てカーブ区間の端点となる。
一方、ステップS230において、交差角が判定基準より大きく、かつ、フラグがオフであると判定されない場合、制御部20は、カーブ区間特定部21cの処理により、交差角が判定基準より小さく、かつ、フラグがオンになっているか否かを判定する(ステップS240)。すなわち、制御部20は、交差角と判定基準とを比較し、交差角が判定基準より小さいか否かを判定する。また、制御部20は、当該フラグがオンであるか否かを判定する。
ステップS240において、交差角が判定基準より小さく、かつ、フラグがオンであると判定された場合、すなわち、前回のループ処理で着目形状点とされた形状点がカーブ区間の候補に含まれていた状態で交差角が判定基準より小さいと判定された場合、制御部20は、カーブ区間特定部21cの処理により、着目形状点を終了候補点として取得し、フラグをオフにする(ステップS250)。当該終了候補点は、後述する分割処理を経てカーブ区間の端点となる。
一方、ステップS240において、交差角が判定基準より小さく、かつ、フラグがオンであると判定されない場合、着目形状点がカーブ区間に含まれない状態または着目形状点がカーブ区間内である(終了点ではない)状態であるため、ステップS250をスキップする。
ステップS235またはステップS250が実行されるか、ステップS250がスキップされると、制御部20は、カーブ区間特定部21cの処理により、形状点の全てについて交差角の判定が終了したか否かを判定する(ステップS255)。すなわち、制御部20は、ステップS200で取得された形状点の全てを着目形状点としてステップS215〜S250までの処理が終了した場合に、形状点の全てについて交差角の判定が終了したと判定する。
ステップS255において、形状点の全てについて交差角の判定が終了したと判定されない場合、制御部20は、ステップS215以降の処理を繰り返す。一方、ステップS255において、形状点の全てについて交差角の判定が終了したと判定された場合、制御部20は、開始終了候補点取得処理を終了する。以上の処理により、形状点を前方にスキャンする過程において、交差角が判定基準を超えた形状点から交差角が判定基準を下回った形状点までの区間がカーブ区間の候補として設定される。
(4)分割処理:
次に、分割処理を詳細に説明する。図3Aは、分割処理を示すフローチャートである。分割処理において、制御部20は、カーブ区間特定部21cの処理により、開始候補点および終了候補点を取得する(ステップS300)。すなわち、制御部20は、ステップS235,S250によって取得された開始候補点および終了候補点の位置を取得する。
次に、制御部20は、カーブ区間特定部21cの処理により、開始候補点から終了候補点までの区間の各形状点について形状点間距離を取得する(ステップS305)。すなわち、制御部20は、開始候補点から終了候補点までの区間をカーブ区間の候補と見なし、当該候補を分割すべきか否かの指標としての形状点間距離を各形状点について取得する。この処理が行われると、例えば、図5に示す例において、開始候補点が形状点Pi6,終了候補点が形状点Pi7である場合、これらの点の間の区間がカーブ区間の候補となり、当該候補内の形状点間距離(図5に示すLsからLeまで)が取得される。
次に、制御部20は、カーブ区間特定部21cの処理により、形状点間距離の標準偏差に基づいて閾値を取得する(ステップS310)。ここで、閾値は、形状点が直線道路区間における形状点間の距離であると見なすことができるように設定され、本実施形態において当該閾値は形状点間距離の標準偏差に依存するように構成されている。すなわち、カーブ区間においては形状点が密、直線区間においては形状点が粗であるため、カーブ区間と直線区間とが隣接する区間において形状点間距離のヒストグラム分布を取得すると、当該ヒストグラム分布においてはカーブ区間における形状点間距離の分布と直線区間における形状点間距離の分布とが分離した状態になる。図3Bは、このようなヒストグラムの例を示す図であり、小さい形状点間距離の分布D1がカーブ区間における形状点間距離の分布に相当し、大きい形状点間距離の分布D2がカーブ区間における形状点間距離の分布に相当する。
そして、処理対象の形状点はカーブ区間の候補であるため、カーブ区間における形状点間距離の分布と直線区間における形状点間距離の分布とを比較すると、カーブ区間における形状点間距離の分布が相対的に多くなる。従って、全体の分布またはカーブ区間における形状点間距離の分布の標準偏差を取得すれば、当該標準偏差に定数を乗じた値によって、カーブ区間における形状点間距離の分布と直線区間における形状点間距離の分布とを区別することができる。そこで、本実施形態において、制御部20は、形状点間距離の分布の標準偏差を取得し、当該標準偏差に定数(例えば、2)を乗じることによって閾値を取得する。
なお、当該閾値は形状点間距離の標準偏差に基づいて取得されるため、形状点間距離の分布に依存する。そして、形状点間距離の分布はカーブ区間における形状点の密度に依存するため、閾値はカーブ区間の曲率半径に依存することになる。従って、閾値は、カーブ区間毎に異なった値となり得る。また、閾値は、各カーブ区間の候補における形状点間距離の分布の標準偏差に基づいて特定されるため、各カーブ区間の候補に適した(すなわち、各カーブ区間の候補においてカーブ区間と直線区間とを区別できるように)閾値を決定することができる。
次に、制御部20は、カーブ区間特定部21cの処理により、着目点間距離を取得する(ステップS315)。ここでも、制御部20は、車両の現在位置を起点として前方に向けて形状点を順次スキャンする。すなわち、制御部20は、隣接する2個の形状点を着目点とし、地図情報30aを参照して着目点間距離を取得する処理を、着目点を順次前方に移動させながら実行する。ステップS315〜S335はループ処理となっており、当該ループ処理においてステップS315が初回に実行される場合、制御部20は、ステップS200で取得された形状点の中から、車両の現在位置の前方において最も近い形状点と当該形状点の前方に隣接する形状点を着目点とする。以後、N回目(Nは2以上の整数)にステップS215が実行される場合、制御部20は、ステップS200で取得された形状点の中から、車両の現在位置に対してN番目および(N+1)番目に近い形状点を着目点とする。
次に、制御部20は、カーブ区間特定部21cの処理により、着目点間距離が閾値より大きいか否かを判定する(ステップS320)。すなわち、制御部20は、ステップS315で取得された着目点間距離と、ステップS310で取得された閾値とを比較する。ステップS320において、着目点間距離が閾値より大きいと判定されない場合、制御部20は、着目点間をカーブ区間であると見なし、ステップS325,S330をスキップする。
一方、ステップS320において、着目点間距離が閾値より大きいと判定された場合、制御部20は、着目点間を直線区間として取得する(ステップS325)。すなわち、着目点間距離が閾値より大きい場合、制御部20は、着目点が示す区間が直線区間であるとみなし、これらの着目点の間の区間に対して直線区間であることを示すフラグを対応づける。例えば、図5に示す例において、着目点が形状点Pi8,Pi2である場合と着目点が形状点Pi2,Pi9である場合に着目点間距離が閾値より大きい状況を想定すると、制御部20は、形状点Pi8,Pi2間の区間と着目点が形状点Pi2,Pi9間の区間とを直線区間と見なす。この結果、カーブ区間の候補がカーブ区間R2およびR4に分割された状態となる。
次に、制御部20は、カーブ区間特定部21cの処理により、カーブ区間の端点を特定する(ステップS330)。すなわち、制御部20は、カーブ区間の候補から直線区間と見なされた区間を除外し、残った形状点の中で最も端に位置する形状点をカーブ区間の端点として特定する。例えば、図5に示す例において、形状点Pi6〜Pi7の区間がカーブ区間の候補であった状況で形状点Pi8〜Pi9間が直線区間と見なされた場合、制御部20は、形状点Pi6をカーブ区間R2の開始点、形状点Pi8をカーブ区間R2の終了点として特定する。また、形状点Pi2〜Pi9間が直線区間と見なされ、形状点Pi9〜Pi7間が直線区間と見なされなかった場合、制御部20は、形状点Pi9をカーブ区間R4の開始点、形状点Pi7をカーブ区間R4の終了点として特定する。
ステップS330が行われた場合、または、ステップS320において着目点間距離が閾値より大きいと判定されなかった場合、制御部20は、カーブ区間特定部21cの処理により、形状点の全てについて閾値の判定が終了したか否かを判定する(ステップS335)。すなわち、制御部20は、ステップS200で取得された形状点の全てを着目点としてステップS315〜S3350までの処理が終了した場合に、形状点の全てについて閾値の判定が終了したと判定する。
ステップS335において、形状点の全てについて閾値の判定が終了したと判定されない場合、制御部20は、ステップS315以降の処理を繰り返す。一方、ステップS355において、形状点の全てについて閾値の判定が終了したと判定された場合、制御部20は、分割処理を終了する。以上の処理により、カーブ区間の候補から直線区間を除外してカーブ区間の端点を設定することができる。
(5)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、形状点の密度に基づいて線分の長さを変化させる限りにおいて、他にも種々の実施形態を採用可能である。例えば、カーブ区間特定システム10は車両に搭載された端末であってもよいし、車両の利用者が携帯する端末であってもよい。また、形状点取得部21a、線分取得部21b、カーブ区間特定部21c、線分長調整部21dの機能の少なくとも一部が上述の実施形態と異なる制御主体で実現されても良い。
また、一部の機能、例えば、カーブ区間特定部21cにおいて、形状点間距離を判定要素とする機能が省略されても良い。この場合、線分の交差角に基づいてカーブ区間が特定される。さらに、カーブ区間の情報に基づいて実行される制御は、上述の減速制御に限定されない。例えば、加速制御、サスペンションの制御、オートクルーズ制御、ヘッドライトの方向制御等にカーブ区間の情報が利用されても良い。
形状点取得部は、道路の形状を示す形状点を取得することができればよく、形状点による道路の形状の表現態様は、種々の態様を採用可能である。例えば、複数の代表点としての形状点によって道路の形状を示す曲線(中央線や境界線に相当)を示す態様(例えば、複数の形状点で円弧やクロソイド曲線を示す態様)であっても良いし、道路上の複数の位置を形状点の位置で示すとともに、各形状点を結ぶ直線が道路の方向を間接的または局部的に示す態様であっても良い。形状点は、道路の形状を示すとともに他の意味を有していても良く、例えば、形状点が交差点の位置を示すノードと、ノード間の道路形状を示す形状補間点とによって構成されていても良い。
線分取得部は、着目した形状点から、他の形状点または隣接する形状点同士を結ぶ線上の点まで延びる線分を、着目した形状点の前後で取得することができればよい。すなわち、形状点または形状点間の線は道路の形状を示しているため、線分取得部が、着目した形状点から当該線まで延びる線分を取得することにより、カーブ区間であるか否かを判定するための指標としての線分を取得することができればよい。
線分の端点は、形状点と、道路上の形状を示す線(形状点間の線、形状点自体も含む)上の点であるため、当該線分の方向で道路の方向(近似値)を示している。このため、線分の長さを変化させると、着目した形状点から当該線分の長さの範囲が変化することになり、道路の形状を評価する(カーブであるか否かを評価する)範囲を変化させることができる。
カーブ区間特定部21cは、線分の交差角が判定基準より大きい場合に、着目した形状点に基づいてカーブ区間を特定することができればよい。すなわち、線分は、着目した形状点の前後に延びるように2個定義されるため、当該線分の交差角がカーブの屈曲の程度を示していると見なすことができ、交差角と判定基準との比較によって着目した形状点周辺の道路がカーブ区間であるか否かを特定することが可能になる。
カーブ区間を特定するための手法としては種々の手法を採用可能であり、線分の交差角が判定基準より大きい場合に、カーブ区間特定部21cが、着目した形状点がカーブ区間に含まれると見なす構成であっても良いし、当該着目した形状点の周囲の点がカーブ区間に含まれると見なす構成であっても良い。なお、交差角の判定基準は、線分の交差角が当該判定基準より大きい場合に、少なくとも一方の線分が存在する道路がカーブ区間であるように定義されていれば良く、統計等に基づいて決定されればよい。
線分長調整部は、道路上の形状点の密度に基づいて線分の長さを変化させることができればよい。すなわち、道路上の形状点の密度に応じて、カーブ区間であるか否かを判定するための指標を変化させ、判定対象とすべき範囲を変化させることができればよい。ここで、密度は、道路上での単位距離当たりの形状点の数の多寡を示していれば良い。密度の算出対象となる道路区間は、カーブ区間であるか否かを特定すべき道路が含まれるように定義されていれば良く、種々の手法で定義することができる。例えば、着目した形状点の周囲の区間(例えば、前方または後方または前方および後方における既定距離以内の区間や分岐までの区間など)における形状点の数を計測し、当該区間の距離で除することによって密度が取得される構成等を採用可能である。
密度と線分の長さとの対応関係は、道路の形状(カーブの曲率)が変化した場合に、カーブ区間であるか否かの判定精度が低下しないように、または、カーブ区間であるか否かの判定精度の低下程度が小さくなるように定義されていれば良い。このための構成として、例えば、形状点の密度が粗であるほど線分の長さが長くなる構成を採用可能である。すなわち、形状点の密度が粗である区間は、形状の変化が相対的に少ない区間であるため、カーブ区間であるならば曲率半径の大きい区間である。このような区間においては、形状点間の長さが長く、ある形状点から他の形状点へ変化した場合の道路の屈曲の変化程度が小さい。
従って、線分の長さが短い状態に固定されていると、線分の交差角が過度に小さい状態となり、カーブ区間内であるとしても(例えば、クロソイド区間内であるとしても)、線分の交差角によってカーブ区間であると判定することが困難になる。しかし、形状点の密度が粗であるほど線分の長さが長くなるように構成すれば、曲率半径の大きいカーブ区間を高い精度で特定することが可能である。
一方、形状点の密度が密である区間は、形状の変化が相対的に大きい区間であるため、カーブ区間であるならば曲率半径の小さい区間である。このような区間においては、形状点間の長さが短く、ある形状点から他の形状点へ変化した場合の道路の屈曲の変化程度が大きい。
従って、線分の長さが長い状態に固定されていると、線分の交差角が過度の大きい状態となり、カーブ区間でないにもかかわらず(例えば、クロソイド区間到達前の位置であるとしても)、線分の交差角が判定基準より大きいことに起因してカーブ区間であると判定される場合がある。しかし、形状点の密度が粗であるほど線分の長さが長くなるように(すなわち、形状点の密度が密であるほど線分の長さが短くなるように)構成すれば、曲率半径の小さいカーブ区間を高い精度で特定することが可能である。なお、線分の長さの変化は連続的であっても良いし、段階的であっても良い。また、線分の長さと密度との関係は線形であっても良いし非線形であっても良い。
さらに、線分の長さは種々の範囲とすることが可能であり、例えば、着目した形状点から最寄りの形状点までの距離が線分の長さの最小値となるように構成しても良い。すなわち、線分の端点は、形状点と、道路上の形状を示す線(形状点間の線、形状点自体も含む)上の点であるため、隣接する形状点間の長さより短い線分を定義したとしても、その方向は隣接する形状点間を結ぶ線分と一致する。従って、着目した形状点から最寄りの形状点までの線分より短い線分を定義したとしても、線分の交差角による判定結果に影響は与えない。そこで、着目した形状点から最寄りの形状点までの距離が線分の長さの最小値とする構成とすることが好ましい。むろん、線分の長さに最大値が設けられていても良い。
さらに、形状点の密度に基づいて線分の長さを変化させる手法は、この処理を行う方法やプログラムとしても適用可能である。また、以上のようなカーブ区間特定システム、方法、プログラムは、単独の装置として実現される場合もあれば、複数の装置として実現される場合もある。また、車両に備えられる各部と共有の部品を利用して実現される場合もあれば、車両に搭載されない各部と連携して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、カーブ区間特定システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。