(57)【要約】【課題】車両制御の対象となる区間を確実に含み、且つ、曲率半径が比較的大きい区間までを、コーナ区間として適切に検出する技術の提供。【解決手段】車両の走行軌跡を取得し、当該取得した走行軌跡に基づく位置情報と曲率半径情報とを対応付けて記憶部に記憶し、記憶されている位置情報と前曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出するとともに、記憶されている位置情報と曲率半径とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出し、検出した第２区間がコーナ区間であると特定して当該コーナ区間の形状を示すコーナ情報を作成する。【選択図】図２
2011081526.tif 000002
【特許請求の範囲】
【請求項１】
車両の走行軌跡を取得し、当該取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径を示す曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて記憶部に記憶する走行情報管理手段と、
前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出する第１区間検出手段と、
前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出手段と、
検出した第２区間がコーナ区間であると特定し、前記記憶部に記憶されている、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、当該コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成手段と、
を有する道路形状学習装置。
【請求項２】
前記第１区間検出手段が第１区間を検出した場合、当該検出した第１区間を包含する学習対象区間を設定する区間設定手段をさらに有し、
前記第２区間検出手段は、
前記区間設定手段により前記学習対象区間が設定された後、当該学習対象区間を前記車両が新たに走行した場合に、
当該新たに走行した際に前記走行情報管理手段により前記記憶部に記憶された、前記学習対象区間内における前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を前記第２区間として検出する、
請求項１に記載の道路形状学習装置。
【請求項３】
前記区間設定手段は、
前記記憶部に記憶されている、前記第１区間内における位置情報と曲率半径情報とに基づいて、当該第１区間に隣接するクロソイド区間の区間長を推定し、当該推定した区間長に基づいて、前記学習対象区間を設定する、
請求項２に記載の道路形状学習装置。
【請求項４】
前記走行情報管理手段は、
前記学習対象区間を前記車両が走行する場合、前記学習対象区間以外を前記車両が走行する場合と比較して、前記位置情報と前記曲率半径情報とを特定する間隔を短くする、
請求項２又は３に記載の道路形状学習装置。
【請求項５】
車両の走行軌跡を取得し、当該取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径を示す曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて記憶部に記憶する走行情報管理工程と、
前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出する第１区間検出行程と、
前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出行程と、
検出した第２区間がコーナ区間であると特定し、前記記憶部に記憶されている、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、当該コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成行程と、
を備える道路形状学習方法。
【請求項６】
車両の走行軌跡を取得し、当該取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて記憶部に記憶する走行情報管理機能と、
前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出する第１区間検出機能と、
前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出機能と、
検出した第２区間がコーナ区間であると特定し、前記記憶部に記憶されている、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、当該コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成機能と、
をコンピュータに実現させる道路形状学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、道路形状学習装置、道路形状学習方法および道路形状学習プログラムに関する。
【背景技術】
【０００２】
近年、ナビゲーション装置などの道路情報を出力可能な装置から、車両が走行する道路の道路形状などを示す道路情報を取得し、当該道路情報に応じて、変速機やブレーキ装置、サスペンション装置などの制御を行う車両制御装置が提案されている。
しかし、上述の如き装置に記憶されている地図データは、現地にて道路を計測した際の誤差や、地図データを作成した際の入力誤差等、様々な誤差を含んでいるため、地図データから得られる道路情報に基づいて車両制御を行う場合、地図データに基づく道路形状と実際の道路形状とが一致せず、道路形状に沿って適切に車両制御を行うことができないことがあった。
【０００３】
そこで、実際の道路形状に沿った車両制御を精密に行うために、特許文献１に記載の車両制御装置では、走行中に、基点（交差点や料金所など）を通過したかを判断するとともに、基点より先の道路が制御対象道路（カーブが連続する道路、高速道路等）であるか否かを判断し、制御対象道路である場合に、当該基点から次の基点までの間のデータ（車速センサ及びジャイロセンサの測定値）の測定を開始する。そして、検出したデータに基づいて、区間内の各カーブにおけるカーブ長さ、カーブセンター、カーブの最小半径をそれぞれ導出し、車両制御用データとして記憶することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−３２８５９２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、地図データの道路が実際の道路と一致しない原因としては、上述の誤差だけでなく、地図データに記憶されている地図自体が古いことが挙げられる。
そのため、上記特許文献１に記載の車両制御装置のように、制御対象道路であるか否かを地図データに基づいて判定し、制御対象道路である場合にデータの測定を開始する構成であると、地図データが古く、当該地図データに記憶されていないカーブ区間を走行した場合、当該カーブ区間は制御対象道路でないと判断されてしまうため、データの測定が開始されず、当該カーブ区間の道路形状は導出されないこととなってしまう。
【０００６】
そこで、走行中常にデータの測定を行い、測定したデータに基づいて、曲率半径が所定値以下である区間をコーナとして検出し、検出したコーナの形状を学習する構成が考えられる。
【０００７】
ここで、コーナにおいて実行される車両制御は、当該コーナを安全に走行するために成される制御であるため、曲率半径が比較的小さい区間が制御対象の区間となる。しかし、例えば、曲率半径が比較的小さい区間に到達する時点で所定の目標車速となるように車両を減速させる制御を実行する場合、当該曲率半径が比較的小さい区間の手前において車両を減速させる必要があるため、当該手前の区間、即ち曲率半径が比較的大きい区間についても道路形状を把握できている方が、実際の道路形状に沿った制御を行うためには好ましい。
【０００８】
しかし、走行中常にデータの測定を行い、測定したデータに基づいて、曲率半径が所定値以下である区間をコーナとして検出する技術において、曲率半径が比較的大きい区間までを含めてコーナとして検出するために、上記の所定値を大きい値に設定してしまうと、制御対象となる曲率半径が比較的小さい区間以外の区間についてもコーナとして誤検出してしまい、車両制御に利用するためのコーナ情報を適切に学習することができない。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１に記載の道路形状学習装置は、車両の走行軌跡を取得し、当該取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径を示す曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて記憶部に記憶する走行情報管理手段と、前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出する第１区間検出手段と、前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出手段と、検出した第２区間がコーナ区間であると特定し、前記記憶部に記憶されている、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、当該コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成手段と、を有している。
【００１０】
また、請求項２に記載の道路形状学習装置は、請求項１に記載の道路形状学習装置において、前記第１区間検出手段が第１区間を検出した場合、当該検出した第１区間を包含する学習対象区間を設定する区間設定手段をさらに有し、前記第２区間検出手段は、前記区間設定手段により前記学習対象区間が設定された後、当該学習対象区間を前記車両が新たに走行した場合に、当該新たに走行した際に前記走行情報管理手段により前記記憶部に記憶された、前記学習対象区間内における前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を前記第２区間として検出する。
【００１１】
また、請求項３に記載の道路形状学習装置は、請求項２に記載の道路形状学習装置において、前記区間設定手段は、前記記憶部に記憶されている、前記第１区間内における位置情報と曲率半径情報とに基づいて、当該第１区間に隣接するクロソイド区間の区間長を推定し、当該推定した区間長に基づいて、前記学習対象区間を設定する。
【００１２】
また、請求項４に記載の道路形状学習装置は、請求項２又は３に記載の道路形状学習装置において、前記走行情報管理手段は、前記学習対象区間を前記車両が走行する場合、前記学習対象区間以外を前記車両が走行する場合と比較して、前記位置情報と前記曲率半径情報とを特定する間隔を短くする。
【００１３】
また、請求項５に記載の道路形状学習方法は、車両の走行軌跡を取得し、当該取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径を示す曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて記憶部に記憶する走行情報管理工程と、前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出する第１区間検出行程と、前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出行程と、検出した第２区間がコーナ区間であると特定し、前記記憶部に記憶されている、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、当該コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成行程と、を備えている。
【００１４】
また、請求項６に記載の道路形状学習プログラムは、車両の走行軌跡を取得し、当該取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて記憶部に記憶する走行情報管理機能と、前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第１区間として検出する第１区間検出機能と、前記記憶部に記憶されている前記位置情報と前記曲率半径情報とに基づいて、前記第１区間を包含する区間であって、且つ、前記第１閾値よりも大きい第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出機能と、検出した第２区間がコーナ区間であると特定し、前記記憶部に記憶されている、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、当該コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成機能と、をコンピュータに実現させる。
【発明の効果】
【００１５】
請求項１に記載の道路形状学習装置、請求項５に記載の道路形状学習方法、及び請求項６に記載の道路形状学習プログラムによれば、第１区間検出手段が、曲率半径が第１閾値以下である区間を第１区間として検出し、第２区間検出手段が、当該第１区間を包含する区間であって、且つ、曲率半径が第１閾値よりも大きい第２閾値以下である区間を第２区間として検出し、コーナ情報記憶手段が、検出した第２区間がコーナ区間であるとし、当該コーナ区間の形状を示すコーナ情報を作成するため、コーナ区間を検出する場合に、曲率半径が第１閾値以下であるために車両制御の対象となる区間を確実に含み、且つ、曲率半径が第１閾値よりも大きい第２閾値以下の、比較的曲率半径が大きい区間までを、コーナ区間として適切に検出し、当該コーナ区間の形状を示すコーナ情報を作成することが可能となる。
【００１６】
請求項２に記載の運転支援装置によれば、第１区間を検出した場合、区間設定手段が、当該検出した第１区間を包含する学習対象区間を設定し、第２区間検出手段は、当該学習対象区間を前記車両が新たに走行した場合に、当該新たに走行した際に記憶部に記憶された、学習対象区間内における位置情報と曲率半径とに基づいて第２区間を検出するため、車両制御の対象となる区間を包含する学習対象区間内における位置情報と曲率情報に基づいて第２区間を検出することが可能となり、第２区間を適切に検出することができる。
【００１７】
請求項３に記載の運転支援装置によれば、区間設定手段が、第１区間内の位置情報と曲率半径とに基づいてクロソイド区間長を推定し、当該推定した区間長に基づいて学習対象区間を設定するため、車両制御の対象となる区間を確実に含む第１区間に接続するクロソイド区間について、当該クロソイド区間が存在すると予測される区間を学習対象区間として設定することが可能となり、第２区間を検出する対象となる区間を適切に設定することができる。
【００１８】
請求項４に記載の運転支援装置によれば、走行情報管理手段は、車両が学習対象区間を走行する場合、学習対象区間以外を走行する場合と比較して、位置情報と曲率半径情報とを特定する間隔を短くするため、第２区間検出手段は、より詳細な情報を参照して第２区間を検出することが可能となるため、第２区間検出手段における第２区間の検出精度、並びにコーナ情報作成手段により作成されるコーナ情報の精度、を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態に係る道路形状学習システムを例示するブロック図である。
【図２】道路形状学習処理を示すフローチャートである。
【図３】第１区間検出処理を示すフローチャートである。
【図４】第２区間検出処理を示すフローチャートである。
【図５】コーナ区間を模式的に示す図である。
【図６】第１区間を模式的に示す図である。
【図７】学習対象区間を模式的に示す図である。
【図８】第２区間を模式的に示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明に係る道路形状学習装置、道路形状学習方法、及び、道路形状学習プログラムの実施の形態について図面を参照しつつ詳細に説明する。ただし、この実施の形態によって本発明が限定されるものではない。
〔実施の形態〕
【００２１】
最初に、実施の形態について説明する。
【００２２】
（構成）
まず、実施の形態に係る道路形状学習システムの構成を説明する。図１は、実施の形態に係る道路形状学習システムを例示するブロック図である。図１に示すように、この道路形状学習システム１００は、車載センサ１と道路形状学習装置２とにより構成されている。
【００２３】
（構成−車載センサ）
図１に示すように、車載センサ１は、ＧＰＳレシーバ１１と、ジャイロセンサ１２と、車速センサ１３と、を有しており、これらのセンサによる測定値を、道路形状学習装置２に出力することが可能である。以下、これらのセンサの具体的な構成について説明する。尚、以下に車載センサ１と記載する場合、これらのセンサを包括する文言として使用している。
【００２４】
ＧＰＳレシーバ１１は、人口衛星から発生られる電波を受信して、車両の位置を測定する装置である。
【００２５】
ジャイロセンサ１２は、車両の回転角速度を検出し、その角速度を積分して車両の方位を求めるガスレートジャイロや振動ジャイロ等で構成される。また、このジャイロセンサ１２により、車両に加わる横加速度（横Ｇ）を検出することもできる。
【００２６】
車速センサ１３は、車軸の回転数に比例する車速パルス信号等を出力するものであり、公知の車速センサを用いることができる。
【００２７】
（構成−道路形状学習装置）
図１に示すように、道路形状学習装置２は、制御部２１とデータ記憶部３１とを有しており、以下、これらの構成について順に説明する。尚、道路形状学習装置としては、ナビゲーション装置などを採用することが可能である。
【００２８】
（構成−道路形状学習装置−制御部）
制御部２１は、道路形状学習装置２を制御する制御手段であり、具体的には、ＣＰＵ、当該ＣＰＵ上で解釈実行される各種のプログラム（ＯＳなどの基本制御プログラムや、ＯＳ上で起動され特定機能を実現するアプリケーションプログラムを含む）、及びプログラムや各種のデータを格納するためのＲＡＭの如き内部メモリを備えて構成されるコンピュータである。特に、実施の形態に係る道路形状学習プログラムは、任意の記録媒体又はネットワークを介して道路形状学習装置２にインストールされることで、制御部２１の各部を実質的に構成する。この制御部２１は、機能概念的に、現在位置検出部２１ａ、曲率半径算出部２１ｂ、走行情報管理部２１ｃ、コーナ検出部２１ｄ、を備えている。
【００２９】
（構成−現在位置検出部）
現在位置検出部２１ａは、道路形状学習装置２が取り付けられた車両の現在位置を検出する現在位置検出手段である。具体的には、現在位置検出部２１ａは、ＧＰＳレシーバ１１、ジャイロセンサ１２、車速センサ１３等の測定値に基づいて、現在の車両の位置（座標）及び方位等を公知の方法にて検出する。尚、上記のセンサのうち、少なくとも一つの測定値に基づいて車両の現在位置を検出することができれば良く、また、地磁気センサや距離センサ（いずれも図示省略）等を加えて、それらの測定値を利用して現在位置を検出しても良い。また、後述する地図データ記憶部２１ａに記憶されている地図情報を参照して、公知のマップマッチング技術により、地図データ上における車両の現在位置を検出しても良い。
【００３０】
（構成−曲率半径算出部）
曲率半径算出部２１ｂは、道路の曲率半径を算出する曲率半径算出手段である。具体的には、曲率半径算出部２１ｂは、ジャイロセンサ１２により検出される角速度Φｐ（ｒａｄ／ｓ）と、車速センサ１３により検出される車速Ｖｐ（ｍ／ｓ）とを、車両の挙動を示す情報である車両挙動情報として取得し、当該車両挙動情報に基づき、次の（式１）に従って曲率半径Ｒｐ（ｍ）を算出する。尚、曲率半径算出部２１ｂについては、曲率半径を算出することができれば良く、車速と角速度とから算出する方法以外にも、ジャイロセンサ１２の測定値に基づく横加速度と車速とに基づいて算出する方法や、図示しないステアリングセンサにより検出される操舵角と車速とに基づいて算出する方法などを採用しても良い。
また、車載センサ１による測定値を利用せずに、車両の現在位置の履歴を参照し、曲率半径算出の対象となる現在位置、及び、当該対象となる現在位置の前後に検出された現在位置、の３点の現在位置から、当該３点の現在位置を通過する円を導出し、当該導出した円の半径を、対象となる現在位置における曲率半径として算出する方法を採用しても良い。この場合、曲率半径は、現在位置を接続する２つのセグメントの長さ、及び、２つのセグメントが成す方位角の関数となる。
【００３１】
（式１）Ｒｐ＝Ｖｐ／Φｐ
【００３２】
（構成−走行情報管理部）
走行情報管理部２１ｃは、車両の走行軌跡を取得する走行軌跡取得手段、及び、取得した走行軌跡に基づいて車両の位置を示す位置情報と曲率半径を示す曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて、後述するデータ記憶部３１の走行情報記憶部３１ｂに記憶する走行情報管理手段である。より具体的には、現在位置検出部２１ａが検出した車両の現在位置、及び、当該車両の現在位置において取得された車両挙動情報に基づいて曲率半径算出部２１ｂが算出した曲率半径、を走行軌跡情報として取得し、当該走行軌跡情報に基づいて現在位置を示す位置情報と当該現在位置における曲率半径を示す曲率半径情報とを特定し、当該位置情報と曲率半径情報とを対応付けて走行情報記憶部３１ｂに記憶する処理を行う。
さらに、走行情報管理部２１ｃは、位置情報と曲率半径情報とを対応付けて記憶する際に、日時情報も対応付けて記憶させる。このように、日時情報を対応付けて記憶させることにより、走行情報記憶部３１ｂに記憶されている位置情報及び曲率半径情報の連続性を判定することが可能となる。尚、走行情報記憶部３１ｂに記憶されている位置情報及び曲率半径情報の連続性を判定することが可能であれば良いため、日時情報の代わりに、記憶された順番を示す番号を付与して、位置情報及び曲率半径情報を記憶するようにしても良い。
また、本実施の形態においては、走行情報管理部２１ｃが、車両の現在位置と曲率半径とを走行軌跡情報として取得しているが、走行軌跡情報として、少なくとも位置情報と曲率半径情報とを特定することが可能な他の情報を取得しても良い。例えば、曲率半径に換えて車載センサ１の測定値を取得するようにしても良いし、現在位置のみを走行軌跡情報として取得するようにしても良い。尚、走行軌跡情報として曲率半径を取得しない場合には、走行情報管理部２１ｃが、走行軌跡情報に基づいて曲率半径を算出する構成を採用することができる。
【００３３】
（構成−コーナ検出部）
コーナ検出部２１ｄは、後述する走行情報記憶部３１ｂに記憶されている位置情報と曲率半径とに基づいて、車両が走行した道路のコーナを検出するコーナ検出手段であり、このコーナ検出部１４は、さらに、機能概念的に、第１区間検出部２１ｅと、第２区間検出部２１ｆとを有している。以下、これらの第１区間検出部２１ｅ、第２区間検出部２１ｆ、の具体的な処理について説明する。
【００３４】
（構成−第１区間検出部）
まず、第１区間検出部２１ｅは、走行情報記憶部３１ｂに記憶されている位置情報と曲率半径情報とを参照し、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられている位置情報が連続する区間を第１区間として検出する第１区間検出手段、及び、第１区間を検出した場合、当該検出した第１区間を包含する学習対象区間を設定し、当該設定した学習対象区間を後述する学習対象区間記憶手段３１ｄに記憶する区間設定手段である。
【００３５】
ここで第１区間検出部２１ｅの処理について、図面を用いてより詳細に説明する。
図６は、第１区間検出部２１ｅの処理により検出される第１区間を示した図であり、Ｐは車両の現在位置、Ｖｐは車両の現在の車速（ｍ／ｓ）、φｐは現在車両に作用している角速度（ｒａｄ／ｓ）を示している。
【００３６】
第１区間検出部２１ｅは、車両の走行に伴い、走行情報管理部２１ｃの処理により走行情報記憶部３１ｂに位置情報及び曲率半径情報が記憶される度に、当該記憶された位置情報及び曲率半径情報が示す、現在位置における曲率半径が第１閾値以下であるか否かを判定する。
そして、曲率半径が第１閾値超と判定されている状態から第１閾値以下と判定された位置情報が示す地点を、第１区間の開始点Ｃ１ｓとして、また、曲率半径が第１閾値以下と判定されている状態から第１閾値超と判定された位置情報が示す地点を、第１区間の終了点Ｃ１ｅとしてそれぞれ特定し、特定された開始点Ｃ１ｓから終了点Ｃ１ｅまでの区間を第１区間として検出する。
【００３７】
さらに、第１区間検出部２１ｅは、検出した第１区間に対して、学習対象区間を設定する。この学習対象区間の設定について、図７を参照して説明する。
【００３８】
第１区間検出部２１ｅは、第１区間Ｃ１を検出した場合、図７に示すように、当該第１区間Ｃ１の開始点Ｃ１ｓから、終了点Ｃ１ｅと反対方向に所定距離Ｌｄだけ離れた地点を、学習対象区間の開始点Ｌｓとして特定する。また、図７に示すように、当該第１区間Ｃ１の終了点Ｃ１ｅから、開始点Ｃ１ｓと反対方向に所定距離Ｌｄだけ離れた地点を、学習対象区間の終了点Ｌｅとして特定する。そして、特定した開始点Ｌｓから終了点Ｌｅまでの区間を、学習対象区間Ｌとして設定し、当該学習対象区間Ｌを示す情報として、開始点Ｌｓ及び終了点Ｌｅを対応付けて、後述する学習対象区間記憶部３１ｄに記憶する。
【００３９】
（構成−第２区間検出部）
次に、第２区間検出部２１ｆの処理について詳細に説明する。
第２区間検出部２１ｆは、第１区間検出部２１ｅの処理により学習対象区間が設定された後、当該学習対象区間を車両が新たに走行した場合に、当該新たに走行した際に走行情報管理部２１ｃの処理により後述する走行情報記憶部３１ｂに記憶された当該学習対象区間内における位置情報と曲率半径情報とに基づいて、第１区間を包含する区間であって、且つ、第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する第２区間検出手段、当該検出した第２区間をコーナ区間であると特定し、当該コーナ区間内における位置情報と曲率半径情報とに基づいて、コーナ区間の形状を示すコーナ情報を作成するコーナ情報作成手段、当該作成したコーナ情報を後述するコーナ情報記憶部３１ｃに記憶するコーナ情報記憶手段である。
【００４０】
より具体的には、第２区間検出部２１ｆは、学習対象区間記憶部３１ｄを参照し、車両の現在位置が、第１区間検出手段２１ｅにより設定された学習対象区間Ｌ内であるか否かを判定する。そして、図８に示すように、車両の現在位置が学習対象区間Ｌ内である場合、当該学習対象区間Ｌの走行中に、走行情報管理部２１ｃの処理により走行情報記憶部３１ｂに記憶される位置情報及び曲率半径情報を参照し、曲率半径が第２閾値以下であるか否かを判定する。
そして、第２区間検出部２１ｆは、曲率半径が第２閾値超と判定されている状態から第２閾値以下と判定された位置情報が示す地点を、第２区間の開始点Ｃ２ｓとして、また、曲率半径が第２閾値以下と判定されている状態から第２閾値超と判定された位置情報が示す地点を、第２区間の終了点Ｃ２ｅとしてそれぞれ特定し、特定された開始点Ｃ２ｓから終了点Ｃ２ｅまでの区間を第２区間として検出する。
第２区間を検出した後、第２区間検出部２１ｆは、検出した第２区間がコーナ区間であると特定し、当該コーナ区間の形状を示すコーナ情報を作成し、当該作成したコーナ情報をコーナ情報記憶部３１ｃに記憶する。尚、当該コーナ情報についての説明は後述する。
【００４１】
上述の通り、本実施の形態では、第１区間検出部２１ｅが、曲率半径が第１閾値以下である第１区間を検出するとともに、当該第１区間を包含する学習対象区間を設定し、第２区間検出部２１ｆが、学習対象区間内において、第１区間を包含し、且つ、曲率半径が第２閾値以下である区間を第２区間として検出して、検出した第２区間をコーナ区間として特定するように構成されている。このように、第１閾値及び第２閾値の２つの閾値を利用してコーナ区間を検出する理由について以下に説明する。
【００４２】
まず、現実世界に存在するコーナ区間には、曲率半径が一定の区間である一定曲率半径区間の前後にクロソイド区間が接続されていることが多々見受けられる。尚、クロソイド区間とは、車両の車速を一定としステアリングを一定の角速度で回転させた場合に車両が描く軌跡に沿って形成された道路区間であり、直線状の道路区間と円形状の道路区間（即ち、一定曲率半径区間）とを繋ぐ道路区間として挿入される。
このようなクロソイド区間が一定曲率半径区間の前後に存在するコーナ区間では、曲率半径の推移として、クロソイド区間の開始点から一定曲率半径区間の開始点まで連続的に値が小さくなっていき、一定曲率半径区間においては一定の値（コーナ区間における最小の曲率半径値）をとり、一定曲率半径区間の終了点からクロソイド区間の終了点まで連続的に値が大きくなっていく。
【００４３】
また、コーナ区間において実行される車両制御の多くは、当該コーナ区間を車両が安全に走行するために成される制御であるため、車両制御の対象となるコーナ区間としては、一定曲率半径区間における曲率半径が比較的小さいコーナ区間が挙げられる。
これは、コーナ区間において曲率半径が最も小さい値となる区間である一定曲率半径区間を走行する際に、車両に対して発生する横加速度がコーナ区間内において最大となるため、曲率半径が比較的小さい一定曲率半径区間を走行する場合、曲率半径が比較的大きい一定曲率半径区間を走行する場合と比較して、車両に対して発生する横加速度は大きくなり、横滑りなどの危険な状況を発生させる可能性が高くなるためである。
従って、一定曲率半径区間における曲率半径が比較的小さいコーナ区間を走行する場合、車両に対して発生する横加速度を低減させて車両を安全に走行させる必要があるため、当該一定曲率半径区間における曲率半径が比較的小さいコーナ区間が車両制御を実施する対象の区間となる。一方、一定曲率半径区間における曲率半径が比較的大きいコーナ区間を走行する場合、車両に対して発生する横加速度が最大となる一定曲率半径区間においても曲率半径が大きいため、横滑りなどが発生する可能性が低く、一定曲率半径区間における曲率半径が比較的大きいコーナ区間は車両制御を実施する対象の区間とはならない。
【００４４】
ところで、上述のように、一定曲率半径区間における曲率半径が比較的小さいコーナ区間を対象とした車両制御として、例えば、一定曲率半径区間を所定の目標車速で車両を走行させる制御を想定した場合、当該一定曲率半径区間に到達する時点で車両の車速が目標車速となっていることが必要であるため、当該一定曲率半径区間の手前において車両を減速させる制御を行う必要がある。
即ち、車両制御の対象となる区間は、一定曲率半径区間における曲率半径が比較的小さいコーナ区間であるが、実際に車両を減速させる制御が行われる区間は、一定曲率半径区間の手前の区間である。
このため、コーナ区間における実際の形状に沿って車両を適切に制御するためには、一定曲率半径区間の手前の区間、即ち、クロソイド区間の形状を把握した上で、車両を制御することが好ましい。さらには、当該クロソイド区間内においては一定曲率半径区間に接近する程曲率半径が小さくなっていくため、曲率半径が比較的大きいクロソイド区間の開始点から減速を開始させた方が車両の挙動に与える影響が小さく安全であることから、当該クロソイド区間の開始点の位置を把握することが安全に車両制御を行う上で重要である。
【００４５】
しかし、クロソイド区間は曲率半径が比較的大きい区間を含んでいるため、当該クロソイド区間の形状を確実に学習するために、曲率半径が所定の閾値以下である区間をコーナ区間として検出して学習する構成としてしまうと、車両制御の対象とならない区間についてもコーナ区間として学習してしまう。
つまり、クロソイド区間の形状を確実に学習するためには、ある程度大きい曲率半径以下の区間全てを学習する必要があるが、車両制御の対象となる区間は、一定曲率半径区間における曲率半径が比較的小さいコーナ区間であるため、ある程度大きい曲率半径以下の区間が検出されたとしても、当該区間内に曲率半径が比較的小さい一定曲率半径区間が含まれないことがある。また、ある程度大きい曲率半径以下の区間全てをコーナ区間として検出してしまうと、車両の挙動の乱れ（例えば、車体のふらつきや車線変更）などが発生した区間についても、コーナ区間であると誤検出してしまうことも考えられる。
【００４６】
そこで、本実施の形態では、第１閾値と当該第１閾値よりも大きい第２閾値との二つの閾値を利用してコーナ区間を検出することにより、車両制御の対象とならない区間を適切に除外するとともに、クロソイド区間のような比較的曲率半径が大きい区間についてもコーナ区間として確実に検出し、その形状を学習することを可能としている。
つまり、第１閾値として、車両制御の対象となるコーナ区間であると見なすことが可能な曲率半径の値を採用し、曲率半径が当該第１閾値以下である区間を第１区間として検出することで、車両制御の対象とならない区間を適切に除外し、車両制御の対象となるコーナ区間のみを検出する。そして、検出した第１区間を包含する学習対象区間を設定する。この学習対象区間は、車両制御の対象となるコーナ区間を含む区間である。
そして、第２閾値として、第１閾値よりも大きい曲率半径の値を採用し、設定した学習対象区間内で、曲率半径が第２閾値以下である区間を第２区間として検出することで、車両制御の対象となるコーナ区間を含むとともに、比較的大きい曲率半径を有する区間についても、第２区間として検出し、コーナ区間を特定することが可能となる。
【００４７】
（構成−道路形状学習装置−データ記憶部）
データ記憶部３１は、道路形状学習装置２の動作に必要なプログラム及び各種のデータを記憶する記憶手段であり、例えば、外部記憶装置としてのハードディスク（図示省略）を用いて構成されている。ただし、ハードディスクに代えてあるいはハードディスクと共に、磁気ディスクの如き磁気的記憶媒体、又はＤＶＤやブルーレイディスクの如き光学的記憶媒体を含む、その他の任意の記憶媒体を用いることができる。このデータ記憶部３１は、地図データ記憶部３１aと、走行情報記憶部３１ｂと、コーナ情報記憶部３１ｃと、所定区間記憶部３１ｄと、を備えている。
【００４８】
地図データ記憶部３１aは、地図情報を格納する地図情報格納手段である。地図情報としては、例えば、ノードデータ（ノード番号、接続リンク番号、座標）、リンクデータ（リンク番号、両端ノード番号、道路種別、車線数、走行規制等）、地物データ（信号機、道路標識、ガードレール、建物等）、地図をディスプレイ（図示せず）に表示するための地図表示データ等を含んで構成されている。
【００４９】
走行情報記憶部３１ｂは、車両の現在位置を示す位置情報及び当該現在位置における曲率半径を示す曲率半径情報を対応付けて格納する記憶部である。より具体的には、車両の走行に伴い、走行情報管理部２１ｃの処理により記憶される位置情報と曲率半径情報とを対応付けて順次格納しており、制御部２１の処理により読み出し可能に構成されている。
【００５０】
コーナ情報記憶部３１ｃは、第２区間検出部２１ｆが作成したコーナ区間の形状に関するコーナ情報を格納する記憶部である。
ここで、コーナ区間の形状に関するコーナ情報を、図５を参照して説明する。コーナ区間の形状に関する情報として、本実施の形態においては、図５に示すようにコーナ区間における、コーナ区間の開始点Ｃｓ及び終了点Ｃｅ（座標）、一定曲率半径区間Ｆの曲率半径Ｒｍｉｎ（ｍ）、一定曲率半径区間の開始点Ｆｓ及び終了点Ｆｅ（座標）、をそれぞれコーナ情報記憶部３１ｃに格納している。尚、コーナ区間開始点Ｃｓから一定曲率半径区間開始点Ｆｅまでの距離や、コーナ区間開始点Ｃｓから一定曲率半径区間開始点Ｆｓまでの曲率半径の推移等、上記以外の情報をコーナの形状に関する情報としてコーナ情報記憶部３１ｃに格納しても良い。
【００５１】
学習対象区間記憶部３１ｄは、第１区間検出部２１ｅが設定した学習対象区間を格納する記憶部である。具体的には、学習対象区間Ｌを示す情報として、当該学習対象区間Ｌの開始点Ｌｓ及び終了点Ｌｅを対応付けて格納している。
【００５２】
（処理）
次に、このように構成される道路形状学習システム１００によって実行される処理について説明する。道路形状学習システム１００が実行する処理である、道路形状学習処理について、以下詳細に説明する。
【００５３】
（処理−道路形状学習処理）
図２は道路形状学習処理のフローチャートである（以下の各処理の説明ではステップを「Ｓ」と略記する）。この道路形状学習処理は、例えば、自車両のエンジン始動後自動的に起動され、所定の周期（例えば０．２ｓｅｃ）毎に制御部２１にて実行される。
【００５４】
まず、制御部２１は、車両の現在位置を取得する（Ｓ１）。具体的には、現在位置検出部２１ａの処理により検出された車両の現在位置（座標）を取得する。
【００５５】
次に、制御部２１は、車両の現在位置における挙動を示す車両挙動情報を取得する（Ｓ２）。具体的には、制御部２１は、ジャイロセンサ１２及び車速センサ１３から出力される角速度Φｐ（ｒａｄ／ｓ）及び車速Ｖｐを、車両挙動情報として取得する。
【００５６】
続いて、制御部２１は、車両の現在位置における曲率半径を取得する（Ｓ３）。具体的には、曲率半径算出部２１ｂにより、Ｓ２で取得した車両挙動情報に基づいて車両の現在位置における曲率半径Ｒｐを算出し、当該算出した曲率半径Ｒｐを取得する。尚、曲率半径Ｒｐの具体的な算出方法については、上述の曲率半径部２１ｂの説明の際に説明したため、ここでは省略する。
【００５７】
続いて、制御部２１は、車両の現在位置を示す位置情報と当該現在位置における曲率半径を示す曲率半径情報とを特定し、特定した位置情報と曲率半径情報とを対応付けて、データ記憶部３１に記憶する（Ｓ４）。具体的には、Ｓ１で取得した車両の現在位置を位置情報として特定するとともに、Ｓ３で取得した曲率半径を曲率半径情報として特定し、これらを対応付けて、データ記憶部３１の走行情報記憶部３１ｂに記憶する。また、位置情報及び曲率半径情報の連続性を判定可能とするため、日時情報も対応付けて記憶する。
【００５８】
続いて、制御部２１は、車両の現在位置が学習対象区間内であるか否かを判定する（Ｓ５）。具体的には、制御部２１は、データ記憶部の地図データ記憶部３１ａ及び学習対象区間記憶部３１ｄを参照し、車両の現在位置が、学習対象区間記憶部３１ｄに記憶されている、互いに対応付けられた開始点Ｌｓ及び終了点Ｌｅの間に存在するか否かを判定する。
【００５９】
そして、車両の現在位置が学習対象区間内でないと判定された場合（Ｓ５：Ｎｏ）、制御部２１は、後述する第１区間検出処理（Ｓ６）を行った後、道路形状学習処理を終了する。一方、車両の現在位置が学習対象区間内であると判定された場合（Ｓ５：Ｙｅｓ）、制御部２１は、後述する第２区間検出処理（Ｓ７）を行った後、道路形状学習処理を終了する。
【００６０】
（処理−第１区間検出処理）
続いて、上述の第１区間検出処理について、図面を用いて詳細に説明する。
図３は、図２が示す道路形状学習処理のＳ６にて、制御部２１の第１区間検出部２１ｅにより実行される第１区間検出処理のフローチャートである。
【００６１】
まず、第１区間検出部２１ｅは、第１区間検出フラグＦｒ１＝１であり、且つ、車両の現在位置における曲率半径Ｒｐが、第１閾値Ｓｒ１以下であるか否かを判定する（Ｓ６−１）。具体的には、まず、第１区間検出部２１ｅは、図示しないＲＡＭ等に記憶された第１区間検出フラグＦｒ１を参照し、当該第１区間検出フラグＦｒ１が１であるか、０であるかを判定する。さらに、上述のＳ４にて、走行情報管理部２１ｃにより走行情報記憶部３１ｂに記憶されている、車両の現在位置を示す位置情報に対応付けられた曲率半径情報を参照し、車両の現在位置における曲率半径Ｒｐが第１閾値Ｓｒ１以下であるか否かを判定する。
【００６２】
ここで、第１区間検出フラグＦｒ１とは、前回の道路形状学習処理により、第１閾値Ｓｒ１以下の曲率半径Ｒｐが検出されているか否かを示すフラグであり、Ｆｒ１＝１であれば、前回の道路形状学習処理により、第１閾値Ｓｒ１以下の曲率半径が検出されていることを示し、Ｆｒ１＝０であれば、前回の道路形状学習処理により、第１閾値Ｓｒ１以下の曲率半径Ｒｐが検出されていないことを示している。
つまり、第１区間検出フラグＦｒ１＝１の状態とは、既に第１閾値Ｓｒ１以下の曲率半径Ｒｐが検出されていることから、車両は第１区間内を走行している状態であり、第１区間検出フラグＦｒ１＝０の状態とは、第１閾値Ｓｒ１以下の曲率半径Ｒｐが検出されていないことから、車両は第１区間内を走行していない状態である。尚、換言すれば、第１区間検出フラグＦｒ１＝１の状態とは、後述するＳ６−４にて第１区間の開始点Ｃｓ１が既に設定されている状態である。
【００６３】
そして、第１区間検出フラグＦｒ１＝１であり、且つ、車両の現在位置Ｐにおける曲率半径Ｒｐが、第１閾値Ｓｒ１以下であると判定された場合（Ｓ６−１：Ｙｅｓ）、前回の道路形状学習処理により車両は既に第１区間内を走行していると判定されている状態であり、且つ、現在位置Ｐにおける曲率半径Ｒｐも第１閾値Ｓｒ１以下であるため、車両の現在位置Ｐについても第１区間内であると判定し、第１区間検出部２１ｅは、第１区間検出処理を終了する。
【００６４】
一方、第１区間検出フラグＦｒ１＝１であり、且つ、車両の現在位置Ｐにおける曲率半径Ｒｐが、第１閾値Ｓｒ１以下であると判定されない場合（Ｓ６−１：Ｎｏ）、第１区間検出部２１ｅは、第１区間検出フラグＦｒ１＝０であるか否かを判定する（Ｓ６−２）。この判定についてもＳ６−１と同様に、第１区間検出部２１ｅは、ＲＡＭ等に記憶された第１区間検出フラグＦｒ１を参照し、当該第１区間検出フラグＦｒ１が１であるか、０であるかを判定する。
【００６５】
第１区間検出フラグＦｒ１＝０であると判定された場合（Ｓ６−２：Ｙｅｓ）、第１区間検出部２１ｅは、さらに、曲率半径Ｒｐが第１閾値Ｓｒ１以下であるか否かを判定する（Ｓ６−３）。この判定についても、Ｓ６−１と同様に、第１区間検出部２１ｅは、Ｓ４にて走行情報管理部２１ｃにより走行情報記憶部３１ｂに記憶されている、車両の現在位置を示す位置情報に対応付けられた曲率半径情報を参照し、車両の現在位置Ｐにおける曲率半径Ｒｐが第１閾値Ｓｒ１以下であるか否かを判定する。
【００６６】
そして、曲率半径Ｒｐが第１閾値Ｓｒ１以下であると判定された場合（Ｓ６−３：Ｙｅｓ）、第１区間検出フラグＦｒ１＝０であり、且つ、現在位置Ｐにおける曲率半径Ｒｐが第１閾値Ｓｒ１以下であることから、前回の道路形状学習処理では車両は第１区間内を走行していない判定されている状態であり、且つ、現在位置Ｐにおける曲率半径Ｒｐが第１閾値Ｓｒ１以下であるため、車両の現在位置Ｐが第１区間の開始点であると判定し、第１区間検出部２１ｅは、第１区間の開始点Ｃ１ｓを設定し、当該開始点Ｃ１ｓを図示しないＲＡＭ等に記憶する（Ｓ６−４）。
Ｓ６−４にて第１区間の開始点Ｃ１ｓを設定した後、第１区間検出部２１ｅは、今回の道路形状学習処理における現在位置Ｐが第１区間内であることから、第１区間検出フラグＦｒ１を１に設定して図示しないＲＡＭ等に記憶し（Ｓ６−５）、第１区間検出処理を終了する。
【００６７】
一方、Ｓ６−２にて、第１区間検出フラグＦｒ１＝０でないと判定された場合（Ｓ６−２：Ｎｏ）、第１区間検出フラグＦｒ１＝１であり、且つ、現在位置Ｐにおける曲率半径Ｒｐが第１閾値Ｓｒ１超であることから、前回の道路形状学習処理では車両は第１区間を走行していると判定されているのに対し、現在位置Ｐにおける曲率半径Ｒｐが第１閾値Ｓｒ１超であるため、車両の現在位置Ｐが第１区間Ｃ１の終了点Ｃ１ｅであると判定し、第１区間検出部２１ｅは、第１区間Ｃ１の終了点Ｃ１ｅを設定し、当該終了点Ｃ１ｅを図示しないＲＡＭ等に記憶する（Ｓ６−６）。
尚、走行情報記憶部３１ｂに記憶されている、今回の道路形状学習処理における現在位置Ｐの一つ手前の位置情報が示す現在位置を、第１区間Ｃ１の終了点Ｃ１ｅとして設定しても良い。これは、今回の道路形状学習処理における現在位置Ｐは、曲率半径Ｒｐが第１閾値Ｓｒ１超であることから、第１区間外であると判定し、前回の道路形状学習処理における現在位置が第１区間の終了点であると判定する場合に行う処理である。
【００６８】
そして、第１区間Ｃ１の終了点Ｃ１ｅを設定した後、第１区間検出部２１ｅは、学習対象区間Ｌを設定し、当該設定した学習対象区間Ｌの開始点Ｌｓ及び終了点Ｌｅを対応付けて学習対象区間記憶部３１ｄに記憶する（Ｓ６−７）。尚、学習対象区間Ｌ、開始点Ｌｓ、及び、終了点Ｌｅの設定については、上述したためここでは省略する。
【００６９】
Ｓ６−７にて学習対象区間Ｌを設定した後、又は、Ｓ６−３にて曲率半径Ｒｐが第１閾値Ｓｒ１超であると判定された場合（Ｓ６−３：Ｎｏ）、車両の現在位置Ｐは第１区間ではないことから、第１区間検出部２１ｅは、第１区間検出フラグＦｒ１を０に設定して図示しないＲＡＭ等に記憶し（Ｓ６−８）、第１区間検出処理を終了する。
【００７０】
（処理−第２区間検出処理）
続いて、上述の第２区間検出処理について、図面を用いて詳細に説明する。
図４は、制御部２１の第２区間検出部２１ｆにより実行される第２区間検出処理のフローチャートである。
【００７１】
まず、第２区間検出部２１ｆは、第２区間検出フラグＦｒ２＝１であり、且つ、車両の現在位置Ｐにおける曲率半径Ｒｐが、第２閾値Ｓｒ２以下であるか否かを判定する（Ｓ７−１）。具体的には、第２区間検出部２１ｆは、図示しないＲＡＭ等に記憶された第２区間検出フラグＦｒ２を参照し、当該第２区間検出フラグＦｒ２が１であるか、０であるかを判定する。さらに、上述のＳ４にて、走行情報管理部２１ｃにより走行情報記憶部３１ｂに記憶されている、車両の現在位置を示す位置情報に対応付けられた曲率半径情報を参照し、車両の現在位置における曲率半径Ｒｐが第２閾値Ｓｒ２以下であるか否かを判定する。
【００７２】
ここで、第２区間検出フラグＦｒ２とは、図３に示す第１区間検出処理における第１区間検出フラグＦｒ１と同様の意味を有するフラグであり、第２区間検出フラグＦｒ２＝１の状態とは、既に第２閾値Ｓｒ２以下の曲率半径Ｒｐが検出されていることから、車両は第２区間内を走行している状態であり、第２区間検出フラグＦｒ２＝０の状態とは、第２閾値Ｓｒ２以下の曲率半径Ｒｐが検出されていないことから、車両は第２区間内を走行していない状態である。尚、第１区間検出フラグＦｒ１と同様、第２区間検出フラグＦｒ２＝１の状態とは、後述するＳ７−４にて第２区間の開始点Ｃ２ｓが既に設定されている状態である。
【００７３】
そして、第２区間検出フラグＦｒ２＝１であり、且つ、車両の現在位置Ｐにおける曲率半径Ｒｐが、第２閾値Ｓｒ２以下であると判定された場合（Ｓ７−１：Ｙｅｓ）、前回の道路形状学習処理により車両は既に第２区間内を走行していると判定されている状態であり、且つ、現在位置Ｐにおける曲率半径Ｒｐも第２閾値Ｓｒ２以下であるため、車両の現在位置Ｐについても第２区間内であると判定し、第２区間検出部２１ｆは、第２区間検出処理を終了する。
【００７４】
一方、第２区間検出フラグＦｒ２＝１であり、且つ、車両の現在位置Ｐにおける曲率半径Ｒｐが、第２閾値Ｓｒ２以下であると判定されない場合（Ｓ７−１：Ｎｏ）、第２区間検出部２１ｆは、第２区間検出フラグＦｒ２＝０であるか否かを判定する（Ｓ７−２）。この判定については、Ｓ７−１と同様に、第２区間検出部２１ｆは、図示しないＲＡＭ等に記憶された第２区間検出フラグＦｒ２を参照し、当該第２区間検出フラグＦｒ２が１であるか、０であるかを判定する。
【００７５】
第２区間検出フラグＦｒ２＝０であると判定された場合（Ｓ７−２：Ｙｅｓ）、第２区間検出部２１ｆは、さらに、曲率半径Ｒｐが第２閾値Ｓｒ２以下であるか否かを判定する（Ｓ７−３）。この判定についても、Ｓ７−１と同様に、第２区間検出部２１ｆは、Ｓ４にて走行情報管理部２１ｃにより走行情報記憶部３１ｂに記憶されている、車両の現在位置を示す位置情報に対応付けられた曲率半径情報を参照し、車両の現在位置Ｐにおける曲率半径Ｒｐが第２閾値Ｓｒ２以下であるか否かを判定する。
【００７６】
そして、曲率半径Ｒｐが第２閾値Ｓｒ２以下であると判定された場合（Ｓ７−３：Ｙｅｓ）、第２区間検出フラグＦｒ２＝０であり、且つ、現在位置Ｐにおける曲率半径Ｒｐが第２閾値Ｓｒ２以下であることから、前回の道路形状学習処理では車両は第２区間を走行していないと判定されている状態であり、且つ、現在位置Ｐにおける曲率半径Ｒｐが第２閾値Ｓｒ２以下であるため、車両の現在位置Ｐが第２区間の開始点であると判定し、第２区間検出部２１ｆは、車両の現在位置Ｐを第２区間の開始点Ｃ２ｓに設定し、当該開始点Ｃ２ｓを図示しないＲＡＭ等に記憶する（Ｓ７−４）。
第２区間検出部２１ｆは、第２区間の開始点Ｃ２ｓを設定した後、今回の道路形状学習処理における現在位置Ｐが第２区間内であることから、第２区間検出フラグＦｒ２を１に設定して図示しないＲＡＭ等に記憶し（Ｓ７−５）、第２区間検出処理を終了する。
【００７７】
一方、Ｓ７−２にて、第２区間検出フラグＦｒ２＝０でないと判定された場合（Ｓ７−２：Ｎｏ）、第２区間検出フラグＦｒ２＝１であり、且つ、現在位置Ｐにおける曲率半径Ｒｐが第２閾値Ｓｒ２超であることから、前回の道路形状学習処理では車両は第２区間内を走行していると判定されているのに対し、現在位置Ｐにおける曲率半径Ｒｐが第２閾値Ｓｒ２超であり第２区間でないため、車両の現在位置Ｐが第２区間Ｃ２の終了点Ｃ２ｅであると判定し、第２区間検出部２１ｆは、現在位置Ｐを第２区間Ｃ２の終了点Ｃ２ｅに設定し、当該終了点Ｃ２ｅを図示しないＲＡＭ等に記憶する（Ｓ７−６）。
尚、第１区間検出処理のＳ６−６と同様に、走行情報記憶部３１ｂに記憶されている、今回の道路形状学習処理における現在位置Ｐの一つ手前の位置情報が示す現在位置を、第２区間Ｃ２の終了点Ｃ２ｅとして設定しても良い。
【００７８】
そして、第２区間Ｃ２の終了点Ｃ２ｅを設定した後、第２区間検出部２１ｆは、曲率半径が一定の区間である一定曲率半径区間を特定する（Ｓ７−７）。
具体的には、第２区間検出部２１ｆは、Ｓ７−４及びＳ７−６で設定した第２区間Ｃ２の開始点Ｃ２ｓ及び終了点Ｃ２ｅをＲＡＭ等から読み出し、走行情報記憶部３１ｂに記憶されている位置情報及び曲率半径情報のうち、当該開始点Ｃ２ｓから終了点Ｃ２ｅまでの区間における位置情報及び曲率半径情報を抽出する。
そして、抽出した位置情報及び曲率半径情報を参照し、抽出した曲率半径情報が示す曲率半径のうちで最小の曲率半径を特定し、当該最小の曲率半径を示す曲率半径情報に対応付けられている位置情報が連続する区間を、一定曲率半径区間として特定する。尚、最小の曲率半径に所定のマージン（例えば＋５％）を加えた範囲内の曲率半径を示す曲率半径情報に対応付けられている位置情報が連続する区間を、一定曲率半径区間として特定しても良い。
【００７９】
Ｓ７−７にて、一定曲率半径区間を特定した後、第２区間検出部２１ｆは、コーナ区間の形状を示すコーナ情報を、コーナ情報記憶部３１ｃに記憶する（Ｓ７−８）。
具体的には、Ｓ７−７にて特定した一定曲率半径区間に基づいて、当該一定曲率半径区間の開始点Ｒｓ及び終了点Ｒｅ、最小の曲率半径Ｒｍｉｎを抽出する。また、Ｓ７−４及びＳ７−６で設定した第２区間Ｃ２の開始点Ｃ２ｓ及び終了点Ｃ２ｅを、コーナ区間の開始点Ｃｓ及びＣｅとして抽出する。そして、抽出した、一定曲率半径区間の開始点Ｒｓ及び終了点Ｒｅ、一定曲率半径区間の最小の曲率半径Ｒｍｉｎ、コーナ区間の開始点Ｃｓ及びＣｅ、をそれぞれ対応付けてコーナ情報とし、当該コーナ情報をコーナ情報記憶部３１ｃに記憶する。
【００８０】
Ｓ７−８にて、コーナ情報をコーナ情報記憶部３１ｃに記憶した後、第２区間検出部２１ｆは、学習対象区間記憶部３１ｄを参照し、今回検出したコーナ区間に対応する学習対象区間Ｌの開始点Ｌｓ及び終了点Ｌｅを削除する（Ｓ７−９）。これは、今回の道路形状学習処理により、学習対象区間内のコーナ区間が検出されたため、次回以降は学習する必要がないためである。但し、コーナ情報の精度を向上させるために、学習対象区間を車両に複数回走行させてコーナ情報を学習する場合には、学習回数に閾値を設け、当該閾値以上学習（走行）した場合に、学習対象区間記憶部３１ｄに記憶されている学習対象区間を削除するようにしても良い。
【００８１】
Ｓ７−９にて学習対象区間記憶部３１ｄに記憶されている学習対象区間を削除した後、又は、Ｓ７−３にて曲率半径Ｒｐが第２閾値Ｓｒ２超であると判定された場合（Ｓ７−３：Ｎｏ）、今回の道路形状学習処理における車両の現在位置Ｐは第２区間内ではないため、第２区間検出部２１ｆは、第２区間検出フラグＦｒ２を０に設定して図示しないＲＡＭ等に記憶し（Ｓ７−１０）、第２区間検出処理を終了する。
【００８２】
（効果）
以上、詳細に説明したように、本実施の形態によれば、コーナ区間を検出して、当該検出したコーナ区間の形状を示すコーナ情報を作成する場合に、曲率半径が第１閾値以下であることから車両制御の対象となる区間を確実に含み、且つ、曲率半径が第１閾値よりも大きい第２閾値以下の、比較的曲率半径が大きい区間までを、コーナ区間として適切に検出することが可能となる。
【００８３】
また、車両制御の対象となる区間を包含する学習対象区間内における位置情報と曲率情報に基づいて第２区間を検出することが可能となり、第２区間を適切に検出することができる。
【００８４】
〔実施の形態に対する変形例〕
（解決しようとする課題や発明の効果について）
まず、発明が解決しようとする課題や発明の効果は、上述の内容に限定されるものではなく、発明の実施環境や構成の細部に応じて異なる可能性があり、上述した課題の一部のみを解決することや、上述した効果の一部のみを奏することがある。
【００８５】
（コーナ検出処理について）
本実施の形態においては、第１区間検出部２１ｅの処理により、第１区間が検出され、学習対象区間が設定された後、当該学習対象区間を車両が新たに走行した場合に、当該新たに走行した際に走行情報管理部２１ｃの処理により後述する走行情報記憶部３１ｂに記憶された当該学習対象区間内における位置情報と曲率半径情報とに基づいて、第１区間を包含する区間であって、且つ、第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する構成としたが、走行情報記憶部３１ｂに記憶された位置情報と曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間である第１区間を検出し、当該第１区間を包含する区間であって、且つ、第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出することができれば良い。
例えば、同一の道路区間を複数回走行させることなく、一度の走行において走行情報記憶部３１ｂに記憶された位置情報と曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間である第１区間を検出し、当該第１区間を包含する区間であって、且つ、第２閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間を第２区間として検出する構成を採用することが可能である。
【００８６】
具体的には、制御部２１は、走行情報記憶部３１ｂに位置情報と曲率半径情報とが記憶される度に、第１閾値以下である曲率半径が検出されたか否かを判断する。
そして、第１閾値以下である曲率半径が検出された場合、当該検出されてから所定距離（例えば１０００ｍ）走行したことをトリガとして、第１区間と第２区間の検出を開始する。
【００８７】
制御部２１は、走行情報記憶部３１ｂを参照し、記憶されている位置情報と曲率半径情報とに基づいて、第１閾値以下である曲率半径を示す曲率半径情報に対応付けられた位置情報が連続する区間である第１区間を検出する。そして、検出した第１区間の開始点と終了点とを特定する。
同様に、制御部２１は、走行情報記憶部３１ｂを参照し、記憶されている位置情報と曲率半径情報とに基づいて、第２閾値以下である曲率半径に対応付けられた位置情報が連続する区間である第２区間を検出する。そして、検出した第２区間の開始点と終了点とを特定する。
第１区間と第２区間とが検出された場合、それぞれの開始点及び終了点を参照し、車両の現在位置（第１閾値以下である曲率半径を検出してから所定距離走行した地点）を基準として、第１区間の開始点が第２区間の開始点よりも手前側であるか否か、及び、第２区間の終了点が第１区間の終了点よりも手前側であるか否か、を判定する。
そして、両者が手前側であると判定された場合、第２区間は、第１区間を包含している区間であるため、当該第２区間をコーナ区間であると特定する。
この形態によれば、コーナ区間を検出する場合に、曲率半径が第１閾値以下であることから車両制御の対象となる区間を確実に含み、且つ、曲率半径が第１閾値よりも大きい第２閾値以下の、比較的曲率半径が大きい区間までを、コーナ区間として適切に検出することが可能となる。
【００８８】
尚、この形態では、第１閾値以下である曲率半径が検出された場合、当該検出されてから所定距離走行したことをトリガとして、第１区間と第２区間の検出を開始するように構成されているが、第１区間及び第２区間の検出を行うことが可能な位置情報と曲率半径が走行情報記憶部３１ｂに記憶されている状態にて、第１区間及び第２区間の検出することができれば良い。
例えば、車両のエンジンがオンにされてからオフとなるまでに、走行情報記憶部に記憶された位置情報と曲率半径情報とを参照して、第１閾値以下の曲率半径を示す曲率半径情報に対応付けられている位置情報が連続する区間である第１区間を検出し、当該第１区間を包含する区間であって、第２閾値以下の曲率半径を示す曲率半径情報に対応付けられている位置情報が連続する区間である第２区間を検出し、当該第２区間をコーナ区間として特定する構成を採用しても良い。
尚、この場合、走行情報記憶部３１ｂは、記憶されている位置情報及び曲率半径情報の連続性が判定可能な態様で、これらの情報を記憶している必要がある。
【００８９】
（区間設定手段について）
また、本実施の形態においては、区間設定手段としての第１区間検出部２１ｅが、第１区間Ｃ１を検出した場合、当該第１区間Ｃ１の開始点Ｃ１ｓから、終了点Ｃ１ｅと反対方向に所定距離Ｌｄだけ離れた地点を、学習対象区間の開始点Ｌｓとして特定するとともに、第１区間Ｃ１の終了点Ｃ１ｅから、開始点Ｃ１ｓと反対方向に所定距離Ｌｄだけ離れた地点を、学習対象区間の終了点Ｌｅとして特定して、学習対象区間Ｌを設定していたが、第１区間内における位置情報と曲率半径とに基づいて、当該第１区間に隣接するクロソイド区間の区間長を推定し、当該推定した区間長に基づいて、前記学習対象区間を設定する構成を採用しても良い。
【００９０】
具体的には、第１区間検出部２１ｅは、第１区間を検出した場合、上記の第２区間検出処理におけるＳ７−７と同様の方法にて、当該第１区間内における一定曲率半径区間Ｆを特定するとともに、当該一定曲率半径区間Ｆの曲率半径Ｒｍｉｎ、開始点Ｆｓ及び終了点Ｆｅをそれぞれ特定する。そして、当該特定した曲率半径Ｒｍｉｎに基づいて、一定曲率半径区間Ｆに隣接するクロソイド区間の区間長Ｌｃを推定する。
クロソイド区間の区間長の推定については、例えば、一定曲率半径区間Ｆにおける曲率半径Ｒｍｉｎと、クロソイド区間の区間長Ｌｃとを対応付けたマップをデータ記憶部３１等に記憶しておき、当該マップを参照して、クロソイド区間の区間長Ｌｃを推定する構成を採用しても良い。また、公知の方法にて、一定曲率半径区間Ｆにおける曲率半径Ｒｍｉｎに基づいて、クロソイド区間の区間長Ｌｃを算出しても良い。
【００９１】
クロソイド区間の区間長Ｌｃを推定した後、第１区間検出部２１ｅは、一定曲率半径区間Ｆの開始点Ｆｓから、終了点Ｆｅと反対方向に区間長Ｌｃだけ離れた地点を学習対象区間Ｌの開始点Ｌｓとして特定するとともに、一定曲率半径区間Ｆの終了点Ｆｅから、開始点Ｆｓと反対方向に区間長Ｌｃだけ離れた地点を学習対象区間Ｌの終了点Ｌｅとして特定して、学習対象区間Ｌを設定する。
尚、区間長Ｌｃに所定のマージン（例えば、２０ｍ）を加えた距離Ｌｍを特定し、一定曲率半径区間Ｆの開始点Ｆｓ及び終了点Ｆｅから、距離Ｌｍだけ離れた地点を、それぞれ学習対象区間Ｌの開始点Ｌｓ及び終了点Ｌｅとして特定しても良い。
このように、第１区間内における位置情報と曲率半径とに基づいて、当該第１区間に隣接するクロソイド区間の区間長を推定し、当該推定した区間長に基づいて、前記学習対象区間を設定することで、車両制御の対象となる区間を確実に含む第１区間に接続するクロソイド区間について、当該クロソイド区間が存在すると予測される区間を学習対象区間として設定することが可能となり、第２区間を検出する対象となる区間を適切に設定することができる。
【００９２】
（走行軌跡取得手段について）
また、車両が学習対象区間を走行する場合、走行軌跡取得手段としての走行情報管理部２１ｃが位置情報を取得する間隔を、学習対象区間以外を走行する場合と比較して短くするように構成しても良い。尚、位置情報を取得する間隔は時間でも距離でも良く、所定時間毎に位置情報を取得する場合にはその所定時間を、所定距離毎に位置情報を取得する場合にはその所定距離を、それぞれ短くすることにより、位置情報を取得する間隔の変更を実現する。
【００９３】
例えば、車両の現在位置を示す位置情報と当該車両の現在位置における曲率半径とを走行軌跡として取得する場合、学習対象区間内における位置情報の取得間隔を短くすることにより、走行情報記憶部３１ｂに記憶される位置情報及び曲率半径のデータ数が増加するため、第２区間検出手段としての第２区間検出部２１ｆの処理により検出された第２区間の開始点や終了点、一定曲率半径区間Ｆの開始点や終了点、の位置精度が向上する。そして、コーナ情報作成手段としての第２区間検出部２１ｆの処理により作成されるコーナ情報の精度も向上させることが可能となる。
また、車両の現在位置を示す位置情報のみを走行軌跡として取得し、当該位置情報の履歴に基づいて、曲率半径算出の対象となる現在位置、及び、当該対象となる現在位置の前後に検出された現在位置、の３点の現在位置から、当該３点の現在位置を通過する円を導出し、当該導出した円の半径を、対象となる現在位置における曲率半径として算出する方法を採用する場合、学習対象区間内における位置情報の取得間隔を短くすることにより、曲率半径を算出する際に参照する位置情報の履歴が詳細になるため、曲率半径の算出精度を向上させることが可能となる。
【００９４】
また、車両が学習対象区間を走行する場合と、学習対象区間以外を走行する場合とで、位置情報を取得する間隔を変更するだけでなく、曲率半径の算出方法を変更したり、車載センサ１の分解能や曲率半径の算出に利用するセンサの種類を変化させたりしても良い。
【００９５】
曲率半径の算出方法を変更する構成としては、例えば、第１区間を検出する際に参照する曲率半径は位置情報の履歴のみから算出し、第２区間を検出する際に参照する曲率半径は車載センサの測定値に基づいて算出する構成を採用可能である。
具体的には、学習対象区間以外を走行する場合には、走行軌跡として位置情報のみを取得し、当該位置情報の履歴から曲率半径を算出し、第１区間を検出するとともに、学習対象区間を設定する。そして、学習対象区間を走行する場合、走行軌跡として位置情報と、車載センサ１の測定値に基づいて算出された曲率半径とを取得し、第２区間を検出する。
このように構成することで、第１区間を検出する際には、車載センサ１の測定値に基づいて曲率半径を算出する必要がないため、処理負荷が低減される。また、第２区間内における曲率半径は、車載センサ１の測定値に基づいて算出された曲率半径となるため、コーナ情報を作成する際に参照される曲率半径は、より詳細な値として検出することが可能となる。
【００９６】
また、曲率半径の算出に利用するセンサの種類を変化させる構成としては、例えば、学習対象区間以外を走行する場合には、車速センサの測定値とジャイロセンサの測定値とに基づいて曲率半径を算出し、学習対象区間を走行する場合には、車速センサの測定値とジャイロセンサの測定値とに加えて、ステアリングセンサによる測定値（操舵角）に基づいて曲率半径を算出する構成としても良い。このように構成することで、第１区間の検出に利用する曲率半径を算出する処理の処理負荷を低減するとともに、第２区間の検出及びコーナ情報の作成に利用する曲率半径の精度を向上させることが可能となる。
【００９７】
（曲率半径情報について）
また、本実施の形態においては、曲率半径を示す情報である曲率半径情報として、曲率半径を採用したが、曲率半径を示すことが可能な情報であれば良く、例えば曲率（曲率半径の逆数）等を曲率半径を示す曲率半径情報として採用しても良い。また、角速度や横加速度と車速とを対応付けて曲率半径情報とする構成や、連続する位置情報を接続するセグメントが次のセグメントと成す方位角の変化（履歴）を曲率半径情報とする構成など、曲率半径を算出することが可能な値を、曲率半径情報として採用することも可能である。
尚、曲率半径以外を曲率半径情報として採用する場合、第１区間及び第２区間の検出については、曲率半径が第１閾値及び第２閾値以下である区間に対応する区間を検出することが可能であれば良い。
例えば、曲率を曲率半径情報として採用する場合、第１閾値に対応する第１曲率閾値と、第２閾値に対応する第２曲率閾値とをそれぞれ設定し、曲率が第１曲率閾値以上である区間を第１区間として、また、曲率が第２閾値以上である区間を第２区間として、それぞれ検出することにより、曲率半径が第１閾値以下である区間及び第２閾値以下である区間に対応する区間を検出することが可能となる。尚、曲率は曲率半径の逆数であるため、第２曲率半径は第１曲率半径よりも小さい値となる。
【符号の説明】
【００９８】
１００…道路形状学習システム、１…車載センサ、１１…ＧＰＳレシーバ、１２…ジャイロセンサ、１３…車速センサ、２…道路形状学習装置、２１…制御部、２１ａ…現在位置検出部、２１ｂ…曲率半径算出部、２１ｃ…走行情報管理部、２１ｄ…コーナ検出部、２１ｅ…第１区間検出部、２１ｆ…第２区間検出部、３１…データ記憶部、３１ａ…地図データ記憶部、３１ｂ…コーナ情報記憶部、３１ｃ…走行情報記憶部、３１ｄ…学習対象区間記憶部
【図１】
2011081526.tif 000003
【図２】
2011081526.tif 000004
【図３】
2011081526.tif 000005
【図４】
2011081526.tif 000006
【図５】
2011081526.tif 000007
【図６】
2011081526.tif 000008
【図７】
2011081526.tif 000009
【図８】
2011081526.tif 000010