(57)【要約】【課題】走行路の標高差により生じるオドメトリ誤差の補正に使用されるランドマークの位置情報を、適切な距離間隔で学習する。【解決手段】地図情報学習方法では、車両の走行軌跡の長さである第１走行距離と、走行軌跡の二次元地図上の長さである第２走行距離と、の間の差である距離差を算出し（Ｓ５）、この距離差に基づいて定まる距離を車両が走行するたびに（Ｓ６）、車両の周囲で検出されるランドマークの位置情報を地図データへ記録する（Ｓ７）。【選択図】図４
2018159752.tif 000002
【特許請求の範囲】
【請求項１】
車両の走行軌跡の長さである第１走行距離と、前記走行軌跡の二次元地図上の長さである第２走行距離と、の間の差である距離差を算出し、
前記車両の周囲のランドマークを検出し、
検出した前記ランドマークの位置情報を記録する距離間隔を、前記距離差に応じて定める、
ことを特徴とする地図情報学習方法。
【請求項２】
前記距離差に基づいて定まる距離間隔で、前記車両の周囲で検出されるランドマークの位置情報を記録する、
ことを特徴とする請求項１に記載の地図情報学習方法。
【請求項３】
前記距離間隔として、前記距離差が所定の閾値を超えた場合に、前記ランドマークの位置情報を記録することを特徴とする請求項２に記載の地図情報学習方法。
【請求項４】
前記距離差と、前記第１走行距離及び前記第２走行距離のいずれか一方と、に基づいて定まる距離間隔で、前記ランドマークの位置情報を記録することを特徴とする請求項２に記載の地図情報学習方法。
【請求項５】
前記距離間隔として、前記距離差が所定の閾値以下のまま前記第１走行距離及び前記第２走行距離の前記いずれか一方が予め定めた所定値に到達した場合に、前記車両の周囲で検出されるランドマークの位置情報を記録することを特徴とする請求項４に記載の地図情報学習方法。
【請求項６】
車輪の回転数に基づき前記第１走行距離を算出し、
前記第１走行距離に生じる誤差を補正するために用いる係数を記録することを特徴とする請求項１〜５のいずれか一項に記載の地図情報学習方法。
【請求項７】
前記係数は、前記第１走行距離から前記第２走行距離を算出するために前記第１走行距離に乗じられる係数であることを特徴とする請求項６に記載の地図情報学習方法。
【請求項８】
前記距離差に基づいて定まる距離間隔で、前記係数を記録することを特徴とする請求項６又は７に記載の地図情報学習方法。
【請求項９】
前記第１走行距離と前記第２走行距離との間の差である第１距離差を算出し、
前記車両の周囲環境の検出結果に基づき算出した前記車両の走行軌跡の長さである第３走行距離と前記第２走行距離との間の差である第２距離差を算出し、
前記第１距離差と前記第２距離差とに基づいて定まる距離間隔で、前記係数を記録することを特徴とする請求項６又は７に記載の地図情報学習方法。
【請求項１０】
前記車両の走行路の標高差に基づいて前記距離差を算出することを特徴とする請求項１〜９のいずれか一項に記載の地図情報学習方法。
【請求項１１】
衛星測位信号及び標高データベース、又はジャイロセンサを用いて前記標高差を測定することを特徴とする請求項１０に記載の地図情報学習方法。
【請求項１２】
前記ランドマークの位置情報の記録は、前記車両の走行支援に用いる地図データの補完に用いられることを特徴とする請求項１〜１１のいずれか一項に記載の地図情報学習方法。
【請求項１３】
前記車両の周囲の所定範囲内のランドマークが検出可能でない場合、前記所定範囲の周囲の所定幅の領域において検出されるランドマークの位置情報を記録することを特徴とする請求項１〜１２のいずれか一項に記載の地図情報学習方法。
【請求項１４】
車両の周囲のランドマークを検出するセンサと、
前記車両の走行軌跡の長さである第１走行距離と、前記走行軌跡の二次元地図上の長さである第２走行距離と、の間の差である距離差を算出し、前記センサにより検出した前記ランドマークの位置情報を所定の記憶装置へ記録する距離間隔を、前記距離差に応じて定めるコントローラと、
を備えることを特徴とする地図情報学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地図情報学習方法及び地図情報学習装置に関する。
【背景技術】
【０００２】
走行中の車両の位置を推定する技術として、特許文献１に記載の車両位置推定装置が知られている。この車両位置推定装置は、車速情報を用いて車両の移動量を求め、そこから車両の現在位置を推定する。一方、詳細地図情報が存在する地点では、詳細地図の中から抽出した白線等の道路線形情報やランドマークの情報を用いて、車載カメラで得られたシーンと詳細地図情報が整合する地点を同定して、高精度な車両位置を求める。車両位置推定装置は、詳細地図情報を生成する際に、標高情報を参照することによって、車載カメラの撮影画像から抽出した車線境界線の点列情報を、三次元座標点列の車線境界線情報に変換する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６５４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
車両の自己位置は、左右輪の回転角と回転角速度に応じて車両の移動距離と方向を求める、いわゆるオドメトリにより推定することができる。
例えば、車両の走行路に標高差があると、路面に沿った走行距離と二次元地図上の走行距離との間に差が生じる。走行路の標高差は、オドメトリにより推定した自己位置と二次元地図上の自己位置との間に生じるオドメトリ誤差の要因の１つである。
このオドメトリ誤差は、予め地図データに記憶した道路周辺のランドマークの位置情報と車両周囲で検出したランドマークの検出位置とを照合することによって補正できる。
【０００５】
しかし、ランドマークの位置情報を過度に密に記憶すると、ランドマークの位置情報の情報量が車両に搭載できる記録媒体の量を超えるため、広範囲にわたってランドマークの位置情報を学習できなくなる。
本発明は、ランドマークの位置情報を、適切な間隔で学習することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る地図情報学習方法では、車両の走行軌跡の長さである第１走行距離と、走行軌跡の二次元地図上の長さである第２走行距離と、の間の差である距離差を算出し、車両の周囲のランドマークを検出してランドマークの位置情報を地図データへ記録する距離間隔を、距離差に応じて定める。
【発明の効果】
【０００７】
本発明の一態様によれば、ランドマークの位置情報を、適切な距離間隔で学習できる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る運転支援装置の概略構成例を示す図である。
【図２】図１に示すコントローラの機能構成の一例を示すブロック図である。
【図３】地図情報学習方法の一例の説明図である。
【図４】第１実施形態に係る地図情報学習方法の一例のフローチャートである。
【図５】地図情報学習方法の変形例の一例のフローチャートである。
【図６】ランドマークの検出範囲の説明図である。
【図７】第２実施形態に係るコントローラの機能構成の一例を示すブロック図である。
【図８】第２実施形態に係る地図情報学習方法の一例のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、以下に示す本発明の実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【００１０】
（第１実施形態）
（構成）
図１を参照する。運転支援装置１は、本発明の実施形態に係る自己位置推定装置２と、車両走行コントローラ５０と、車両制御アクチュエータ群５１を備える。
自己位置推定装置２は、運転支援装置１を搭載する車両（以下、単に「車両」と表記する）の二次元地図上の位置を推定するとともに、車両の位置推定に用いられるランドマークの位置を学習する。
【００１１】
ランドマークとは、道路周辺の構造物であり、例えば道路標識、信号機、歩道橋、案内板及び建物などの立体物であってよく、横断歩道、横断歩道予告、および進行方向別通行区分等の路面表示であってもよい。
自己位置推定装置２は、本発明の一態様に係る地図情報学習装置の一例である。
【００１２】
自己位置推定装置２は、周囲環境センサ群１０と、車両センサ群２０と、通信装置３０と、地図格納部３１と、ＧＰＳ（Global Positioning System）受信機３３と、第２地図３４と、標高データベース３５と、コントローラ４０と、を備える。なお、図１、図２、図７及び以下の説明において、標高データベースを「標高ＤＢ」と表記する。
【００１３】
コントローラ４０は、周囲環境センサ群１０、車両センサ群２０、通信装置３０、地図格納部３１、ＧＰＳ受信機３３、第２地図３４、及び標高データベース３５と、有線通信又は無線通信によりデータ、信号又は情報を送受信可能である。
地図格納部３１は、通信装置３０と有線通信又は無線通信によりデータ、信号又は情報を送受信可能である。
【００１４】
周囲環境センサ群１０は、車両の周囲環境、例えば車両の周囲の物体を検出するセンサ群である。例えば周囲環境センサ群１０は、撮影装置１１と測距装置１２を含んでよい。撮影装置１１及び測距装置１２は、車両周囲に存在する物体、車両と物体との相対位置、車両と物体との距離等の車両の周囲環境を検出する。
撮影装置１１は、例えばステレオカメラであってよい。撮影装置１１は、単眼カメラであってもよく、単眼カメラにより複数の視点で同一の物体を撮影して、物体までの距離を計算してもよい。
【００１５】
測距装置１２は、例えば、レーザレンジファインダ（ＬＲＦ：Laser Range-Finder）やレーダであってよい。
撮影装置１１及び測距装置１２は、検出した周囲環境の情報である周囲環境情報をコントローラ４０へ出力する。また、撮影装置１１及び測距装置１２は、車両の運転支援制御又は自動運転制御を行う車両走行コントローラ５０へも周囲環境情報を出力する。
【００１６】
車両センサ群２０は、運転者により行われた運転操作を検出するセンサと、車両の走行状態を検出するセンサと、その他センサ２８を含む。運転者により行われた運転操作を検出するセンサは、アクセルセンサ２１と、操舵センサ２２と、ブレーキセンサ２３とを含む。車両の走行状態を検出するセンサは、車速センサ２４と、加速度センサ２５と、ジャイロセンサ２６と、車輪速センサ２７とを含む。
【００１７】
アクセルセンサ２１は、車両のアクセル開度を検出し、アクセル開度の情報をコントローラ４０と車両走行コントローラ５０へ出力する。例えばアクセルセンサ２１は、車両のアクセルペダルの踏み込み量をアクセル開度として検出する。
操舵センサ２２は、操向輪の転舵角を検出し、検出した転舵角の情報をコントローラ４０と車両走行コントローラ５０へ出力する。
【００１８】
ブレーキセンサ２３は、運転者によるブレーキ操作量を検出し、検出した操作量の情報をコントローラ４０と車両走行コントローラ５０へ出力する。例えばブレーキセンサ２３は、車両のブレーキペダルの踏み込み量をブレーキ操作量として検出する。
車速センサ２４は、車両の速度を算出し、算出した車速の情報をコントローラ４０及び車両走行コントローラ５０へ出力する。
【００１９】
加速度センサ２５は、車両の前後方向の加速度及び車幅方向の加速度を検出し、これらの加速度の情報をコントローラ４０と車両走行コントローラ５０へ出力する。
ジャイロセンサ２６は、車両の走行方向を検出し、走行方向の情報をコントローラ４０と車両走行コントローラ５０へ出力する。
車輪速センサ２７は、車両の車輪速を検出し、車輪速の情報をコントローラ４０と車両走行コントローラ５０へ出力する。
車両センサ群２０から出力される、これらアクセル開度、転舵角、ブレーキ操作量、車速、加速度、走行方向、車輪速の情報を「車両状態情報」と表記することがある。
【００２０】
通信装置３０は、車両外部の通信機器と通信を行う。たとえば、通信装置３０は、他車両との間で車々間通信を行い、路肩に設置された機器との間で路車間通信を行い、あるいは、車両外部に設置された情報サーバとの間で無線通信を行うことで、各種情報を外部機器から取得することができる。
【００２１】
地図格納部３１は、運転支援装置１による車両の運転支援に用いられる二次元地図データである第１地図３２を備える。地図格納部３１は、例えばカーナビゲーションシステムや地図データベースであってよい。
第１地図３２は、道路上の白線・停止線・横断歩道・路面マーク等の道路標示や、道路端を示す縁石や中央分離帯等の段差の位置を示す点列情報を含んだ車線レベルの地図データである。
【００２２】
第１地図３２は、道路周辺のランドマークの位置を示す点列情報を含んでいてもよい。ランドマークの位置を示す点列情報は、ランドマークの三次元的形状に応じた三次元座標値を有しており、水平位置を示す二次元座標値として二次元地図上の位置を示す値を有する。
地図格納部３１は、通信装置３０を介して外部から第１地図３２を取得してもよく、定期的に最新の地図情報を受信して第１地図３２を更新してもよい。地図格納部３１は、車両が実際に走行した走路を、地図情報として第１地図３２に蓄積してもよい。
【００２３】
ＧＰＳ受信機３３は、ＧＰＳ衛星から送信された衛星測位信号を受信することにより、車両の位置を検出する。ＧＰＳ受信機３３は、検出した車両の位置情報をコントローラ４０へ出力する。
第２地図３４は、第１地図３２を補完するために用いられる二次元地図データである。例えば、第２地図３４は、第１地図３２に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアにおいて、自己位置推定装置２が学習した地図情報を記憶するために用いられてよい。
【００２４】
例えば、第２地図３４には、自己位置推定装置２が学習したランドマークの位置を示す点列情報が記録されてよい。この点列情報は、ランドマークの三次元的形状に応じた三次元座標値を有しており、水平位置を示す二次元座標値として二次元地図上の位置を示す値を有する。
標高ＤＢ３５には、所定の地理的範囲における各地点の標高データが記憶される。
【００２５】
コントローラ４０は、車両の二次元地図上の位置を推定する処理と、車両の位置推定に用いられるランドマークの位置を学習する処理を実行する電子制御ユニットである。コントローラ４０は、プロセッサ４１と、記憶装置４２等の周辺部品を含む。プロセッサ４１は、例えばＣＰＵ（Central Processing Unit）、やＭＰＵ（Micro-Processing Unit）であってよい。
【００２６】
なお、汎用の半導体集積回路中に設定される機能的な論理回路でコントローラ４０を実現してもよい。例えば、コントローラ４０はフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：Field-Programmable Gate Array）等のプログラマブル・ロジック・デバイス（ＰＬＤ：Programmable Logic Device）等を有していてもよい。
【００２７】
記憶装置４２は、半導体記憶装置、磁気記憶装置及び光学記憶装置のいずれかを備えてよい。記憶装置４２は、レジスタ、キャッシュメモリ、主記憶装置として使用されるＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等のメモリを含んでよい。
記憶装置４２には、プロセッサ４１上で実行されて、車両の位置推定処理とランドマーク学習処理とを、コントローラ４０に実行させるためのコンピュータプログラムが記憶される。
【００２８】
車両走行コントローラ５０は、車両センサ群２０が検出した乗員の運転操作に応じて車両の走行制御を行う電子制御ユニットである。さらに、車両走行コントローラ５０は、自己位置推定装置２が推定した車両の現在位置と、周囲環境センサ群１０が検出した周囲環境と、地図格納部３１に格納された第１地図３２に基づいて、車両の自動運転や、緊急停止、障害物回避などの運転支援を行う。
【００２９】
車両走行コントローラ５０は、プロセッサと、記憶装置等の周辺部品とを含む。プロセッサは、例えばＣＰＵ、やＭＰＵであってよい。
汎用の半導体集積回路中に設定される機能的な論理回路で車両走行コントローラ５０を実現してもよい。例えば、車両走行コントローラ５０はフィールド・プログラマブル・ゲート・アレイ等のプログラマブル・ロジック・デバイス等を有していてもよい。
記憶装置は、半導体記憶装置、磁気記憶装置及び光学記憶装置のいずれかを備えてよい。記憶装置は、レジスタ、キャッシュメモリ、主記憶装置として使用されるＲＯＭ及びＲＡＭ等のメモリを含んでよい。
【００３０】
車両走行コントローラ５０は、車両制御アクチュエータ群５１を駆動することにより車両の走行を制御する。車両制御アクチュエータは、例えば、ステアリングアクチュエータ５２と、アクセル開度アクチュエータ５３と、ブレーキ制御アクチュエータ５４を備えてよい。
ステアリングアクチュエータ５２は、車両のステアリングの操舵方向及び操舵量を制御する。アクセル開度アクチュエータ５３は、車両のアクセル開度を制御する。ブレーキ制御アクチュエータ５４は、車両のブレーキ装置の制動動作を制御する。
【００３１】
車両走行コントローラ５０は、車両の運転支援の際に、自己位置推定装置２が推定した車両の現在位置に基づいて、車両制御アクチュエータ群５１を駆動することにより、車両の車両挙動の発生タイミングと、発生させる車両挙動の量を制御する。
例えば車両走行コントローラ５０は、車両の現在位置に基づいて、アクセル開度量を変更するタイミング、ステアリングの操舵量を変更するタイミング、ブレーキ装置を動作させるタイミングを決定する。例えば車両走行コントローラ５０は、車両の現在位置に基づいて、アクセル開度量、ステアリングの操舵量、ブレーキ装置による制動量を変更する。
【００３２】
コントローラ４０の機能構成例を図２に示す。コントローラ４０は、オドメトリ算出部６０と、トラジェクトリ算出部６１と、白線検出部６２と、ランドマーク検出部６３と、マッチング部６４と、ランドマーク補正部６５と、トラジェクトリ補正部６６と、ランドマーク記録部６７を備える。
オドメトリ算出部６０、トラジェクトリ算出部６１、白線検出部６２、ランドマーク検出部６３、マッチング部６４、ランドマーク補正部６５、トラジェクトリ補正部６６、及びランドマーク記録部６７の機能は、記憶装置４２に格納されたコンピュータプログラムをプロセッサ４１で実行することにより実現される。
【００３３】
オドメトリ算出部６０は、車両センサ群２０から得られる車両状態情報とＧＰＳ受信機３３の測位情報を用いて、単位時間当たりの車両の移動量や移動方向を算出する。
トラジェクトリ算出部６１は、オドメトリ算出部６０が算出した移動量及び移動方向を用いて道路における車両の走行軌跡を算出する。尚、車両の走行軌跡を算出する上で、道路における走行軌跡を学習して予め得られた走行軌跡モデルと、車両の車両モデルを用いてもよい。
【００３４】
白線検出部６２は、周囲環境センサ群１０から得られる周囲環境情報の変化から、道路上の白線・停止線・横断歩道・路面マーク等の道路標示や、道路端を示す縁石や中央分離帯等の段差（以下「白線等」と表記する）の位置を検出する。
ランドマーク検出部６３は、周囲環境センサ群１０から得られる周囲環境情報の変化から、道路周辺のランドマークの位置を検出する。ランドマークとして、例えば、電柱、標識、ポスト、建物、自車両周囲に存在して、直線として検出できるもの、９０度のエッジとして検出できるものなどがある。ランドマーク検出部６３は、車両の周囲の所定範囲内にあるランドマークを検出してよい。例えばランドマーク検出部６３は、車両から所定距離以内の範囲内のランドマークを検出してよい。ランドマーク検出部６３は、検出したランドマークの位置を示す点列情報をランドマーク補正部６５とトラジェクトリ補正部６６へ出力する。
【００３５】
マッチング部６４は、白線検出部６２が検出した白線等の位置と第１地図３２に記憶された白線等の位置とを照合することにより、車両の二次元地図上の位置を推定する。第１地図３２がランドマークの点列情報を含む場合には、マッチング部６４は、ランドマーク検出部６３が検出したランドマークの点列情報と第１地図３２に記憶されたランドマークの点列情報とを照合することにより、車両の二次元地図上の位置を推定してもよい。マッチング部６４は、推定した車両の二次元地図上の位置情報を、ランドマーク補正部６５へ出力する。
【００３６】
ランドマーク補正部６５は、マッチング部６４により推定された車両の二次元地図上の位置に基づいて、ランドマーク検出部６３により検出されたランドマークの二次元地図上の位置を算出する。例えば、ランドマーク補正部６５は、車両の二次元地図上の位置と、ランドマーク検出部６３により検出された車両とランドマークの相対位置関係に基づいて、ランドマーク検出部６３により検出されたランドマークの二次元地図上の位置を算出してよい。
【００３７】
ランドマーク補正部６５により、第１地図３２に記憶されていないランドマークの二次元地図上の位置を算出することができる。ランドマーク補正部６５は、算出したランドマークの二次元地図上の位置を示す点列情報をランドマーク記録部６７に出力する。
トラジェクトリ補正部６６は、マッチング部６４により推定された車両の二次元地図上の位置に基づいて、トラジェクトリ算出部６１が算出した車両の走行軌跡を補正し、車両の二次元地図上の位置を推定する。補正するとき、前述した、車両軌跡モデルを使ってもよい。
さらに、トラジェクトリ補正部６６は、推定した車両の位置に基づいて、白線検出部６２が検出した白線等の二次元地図上の位置を推定し直して、走行軌跡を再度補正し、車両の位置推定精度を向上させてもよい。
【００３８】
第１地図３２に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアでは、トラジェクトリ補正部６６は、ランドマーク検出部６３が検出したランドマークの位置と、第２地図３４に記憶されたランドマークの位置とを照合することにより、車両の二次元地図上の位置を推定する。
トラジェクトリ補正部６６は、推定した車両の二次元地図上の位置に基づいて、トラジェクトリ算出部６１が算出した車両の走行軌跡を補正し、車両の二次元地図上の位置を推定する。
【００３９】
トラジェクトリ補正部６６は、推定した車両の位置に基づいて、ランドマーク検出部６３が検出したランドマークの二次元地図上の位置を推定し直して、走行軌跡を再度補正し、車両の位置推定精度を向上させてもよい。
トラジェクトリ補正部６６は、推定した車両の二次元地図上の位置を示す自己位置情報を車両走行コントローラ５０へ出力する。
【００４０】
ランドマーク記録部６７は、トラジェクトリ補正部６６が出力するランドマークの二次元地図上の位置を示す点列情報を、第２地図３４へ記録する。例えば、ランドマーク記録部６７は、第１地図３２に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアで、ランドマークの点列情報を第２地図３４へ記録する。例えば、ランドマーク記録部６７は、第１地図３２に記憶されていないランドマークについて、その点列情報を第２地図３４へ記録する。
【００４１】
ランドマーク記録部６７は、オドメトリ算出部６０により算出された第１走行距離Ｌｏｄｍ、すなわち道路の路面に沿って走行した走行軌跡の長さと、この走行軌跡の二次元地図上の長さである第２走行距離Ｌｍａｐとの間の差である第１距離差Ｄ１＝｜Ｌｍａｐ−Ｌｏｄｍ｜を算出する。
ランドマーク記録部６７は、車両の周囲のランドマークを検出してランドマークの点列情報を第２地図３４へ記録する地点間の距離間隔を、第１距離差Ｄ１に応じて定める。
例えば、ランドマーク記録部６７は、第１距離差Ｄ１に基づいて定まる間隔(距離)を車両が走行するたびに、ランドマークのその点列情報を第２地図３４へ記録する。
【００４２】
ランドマーク記録部６７は、第２走行距離算出部７０と、条件判定部７１と、記録部７２を備える。
第２走行距離算出部７０は、オドメトリ算出部６０により算出された第１走行距離Ｌｏｄｍと、ＧＰＳ受信機３３の測位情報と、標高ＤＢ３５に記憶された標高データに基づき、走行軌跡の二次元地図上の長さである第２走行距離Ｌｍａｐを算出する。
なお、オドメトリ算出部６０は、第１走行距離Ｌｏｄｍを算出する第１走行距離算出部に相当する。
【００４３】
図３を参照する。運転支援装置１を搭載する車両８０が時刻ｔ０にてＡ地点を走行し、時刻ｔ０から時刻ｔｉまでの間に、Ａ地点からＢ地点まで移動した場合を想定する。
第２走行距離算出部７０は、時刻ｔ０及び時刻ｔｉにおいて、それぞれＧＰＳ受信機３３の測位情報に基づきＡ地点及びＢ地点の座標を取得する。第２走行距離算出部７０は、Ａ地点及びＢ地点の座標に基づいて、標高ＤＢ３５からＡ地点及びＢ地点の標高を取得する。第２走行距離算出部７０は、Ａ地点とＢ地点との間の標高差Ｈを算出する。
【００４４】
第２走行距離算出部７０は、Ａ地点とＢ地点との間の路面と水平面との間の角度θと、第２走行距離Ｌｍａｐとを、次式（１）及び（２）により算出する。
θ＝Ｓｉｎ−１（Ｈ／Ｌｏｄｍ）    …（１）
Ｌｍａｐ＝Ｌｏｄｍ×ｃｏｓθ    …（２）
【００４５】
図２を参照する。条件判定部７１は、オドメトリ算出部６０が算出した車両の走行軌跡の長さである第１走行距離Ｌｏｄｍと、この走行軌跡の二次元地図上の長さである第２走行距離Ｌｍａｐとの間の差である第１距離差Ｄ１＝｜Ｌｍａｐ−Ｌｏｄｍ｜を算出する。
条件判定部７１は、車両が、第１距離差Ｄ１に基づいて定まる距離を走行したか否かを判定する。
【００４６】
例えば条件判定部７１は、第１距離差Ｄ１と、第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方と、に基づいて定まる距離を車両が走行したか否かを判定してよい。
例えば条件判定部７１は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が最大になる距離を、車両が走行したか否かを判定してよい。
また、例えば条件判定部７１は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が所定値に到達する距離を、車両が走行したか否かを判定してよい。
【００４７】
記録部７２は、条件判定部７１の判定結果に応じて、ランドマーク検出部６３により検出されたランドマークの点列情報を第２地図３４へ記録する。
例えば、記録部７２は、第１距離差Ｄ１に基づいて定まる距離を車両が走行したと条件判定部７１が判定するたびにランドマークの点列情報を第２地図３４へ記録してよい。すなわち、記録部７２は、第１距離差Ｄ１に基づいて定まる間隔で、ランドマークの点列情報を第２地図３４へ記録する。
【００４８】
例えば記録部７２は、第１距離差Ｄ１と、第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方と、に基づいて定まる距離を車両が走行したと条件判定部７１が判定するたびに、ランドマークの点列情報を第２地図３４へ記録してよい。すなわち、記録部７２は、第１距離差Ｄ１と、第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方と、に基づいて定まる間隔で、ランドマークの点列情報を第２地図３４へ記録する。
【００４９】
例えば記録部７２は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が最大になる距離を車両が走行したと条件判定部７１が判定するたびに、ランドマークの点列情報を第２地図３４へ記録してよい。すなわち、記録部７２は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が最大になる間隔で、ランドマークの点列情報を第２地図３４へ記録してよい。
また、例えば記録部７２は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が所定値に到達したと条件判定部７１が判定するたびに、ランドマークの点列情報を第２地図３４へ記録してよい。
このような間隔でランドマークの点列情報を記録すれば、標高差により路面に沿った第１走行距離Ｌｏｄｍと二次元地図上の第２走行距離Ｌｍａｐとの間に生じるオドメトリ誤差がＴｈ１以内になるように、ランドマークを用いてオドメトリ誤差を修正できる。尚、本実施形態においては、一例として標高差による第１走行距離Ｌｏｄｍと二次元地図上の第２走行距離Ｌｍａｐとの間に生じるオドメトリ誤差を示したが、必ずしもこれに限らない。他にもタイヤの滑り、路面の凹凸等でもオドメトリ誤差は生じるため、そのような場合にも対応して本実施形態は実施可能である。
【００５０】
例えば、ランドマークの点列情報を記録する間隔は、以下の処理によって定めてよい。
時刻ｔ０にてランドマークの点列情報が第２地図３４に記録された場合、オドメトリ算出部６０は、時刻ｔ０での車両の位置を第１走行距離Ｌｏｄｍの起算地点とする。オドメトリ算出部６０は、起算地点から第１時刻ｔ（ｉ−１）までの第１走行距離Ｌｏｄｍを算出する。また、オドメトリ算出部６０は、起算地点から、第１時刻ｔ（ｉ−１）に続く第２時刻ｔｉまでの第１走行距離Ｌｏｄｍを算出する。
【００５１】
第２走行距離算出部７０は、起算地点から第１時刻ｔ（ｉ−１）までの走行軌跡の二次元地図上の長さである第２走行距離Ｌｍａｐをそれぞれ算出する。また、第２走行距離算出部７０は、起算地点から第２時刻ｔｉまでの第２走行距離Ｌｍａｐを算出する。
条件判定部７１は、第１時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）と、第２時刻ｔｉにおける第１距離差Ｄ１ｉをそれぞれ算出する。
記録部７２は、第１時刻ｔ（ｉ−１）及び第２時刻ｔｉにおいてランドマーク検出部６３に検出されたランドマークの点列情報をランドマーク補正部６５から取得する。
【００５２】
条件判定部７１は、第１時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ第２時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きいか否かを判断する。第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり第１距離差Ｄ１ｉが閾値Ｔｈ１より大きい場合には、第１時刻ｔ（ｉ−１）において、第１距離差Ｄ１が閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が最大となる。
【００５３】
記録部７２は、第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり第１距離差Ｄ１ｉが閾値Ｔｈ１より大きい場合に、第１時刻ｔ（ｉ−１）においてランドマーク検出部６３に検出されたランドマークの点列情報を第２地図３４へ記録する。
第２地図３４へランドマークを記録した後、オドメトリ算出部６０は、第１時刻ｔ（ｉ−１）における車両の位置を第１走行距離Ｌｏｄｍの起算地点にする。
以上の処理を繰り返すことにより、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が最大になる間隔で、ランドマークが第２地図３４へ記録される。
【００５４】
（動作）
次に、第１実施形態に係る地図情報学習方法の一例を説明する。図４を参照する。図４に示すステップＳ１〜Ｓ８は、所定の周期（例えば１００ｍ秒ごと）で訪れる時刻ｔｉ（ｉ＝１、２、３、…）においてそれぞれ実行される。
【００５５】
ステップＳ１においてオドメトリ算出部６０は、第１走行距離Ｌｏｄｍの起算地点から時刻ｔｉまでの車両の走行軌跡の長さを第１走行距離Ｌｏｄｍとして算出する。
ステップＳ２において第２走行距離算出部７０は、第１走行距離Ｌｏｄｍの起算地点と時刻ｔｉの地点との間の標高差Ｈを算出する。
ステップＳ３において第２走行距離算出部７０は、第１走行距離Ｌｏｄｍの起算地点から時刻ｔｉまでの第２走行距離Ｌｍａｐを算出する。
【００５６】
ステップＳ４においてランドマーク検出部６３は、時刻ｔｉにおいて道路周辺のランドマークの位置を検出する。記録部７２は、時刻ｔｉにおいてランドマーク検出部６３に検出されたランドマークの点列情報をランドマーク補正部６５から取得する。
ステップＳ５において条件判定部７１は、時刻ｔｉにおける第１距離差Ｄ１ｉを算出する。
【００５７】
ステップＳ６において条件判定部７１は、時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きいか否かを判断する。
第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり第１距離差Ｄ１ｉが閾値Ｔｈ１より大きい場合（ステップＳ６：Ｙ）に処理はステップＳ７へ進む。第１距離差Ｄ１ｉが閾値Ｔｈ１より以下の場合（ステップＳ６：Ｎ）に処理はステップＳ８へ進む。
【００５８】
ステップＳ７において記録部７２は、時刻ｔ（ｉ−１）においてランドマーク検出部６３に検出されたランドマークの点列情報を第２地図３４へ記録する。オドメトリ算出部６０は、時刻ｔ（ｉ−１）における車両の位置を第１走行距離Ｌｏｄｍの起算地点にする。その後に処理はステップＳ８へ進む。
ステップＳ８においてランドマーク記録部６７は、第２地図３４へのランドマークの学習を終了すべきか否かを判定する。
【００５９】
例えば、ランドマーク記録部６７は、車両のイグニッションスイッチがオフになった場合にランドマークの学習を終了すべきと判定してよい。また、例えば、第１地図３２に点列情報が記憶されているエリアへ車両が入った場合にランドマークの学習を終了すべきと判定してよい。
ランドマークの学習を終了すべきと判定した場合（ステップＳ８：Ｙ）に処理は終了する。ランドマークの学習を終了すべきと判定しない場合（ステップＳ８：Ｎ）に処理はステップＳ１に戻る。
【００６０】
（第１実施形態の効果）
ランドマーク記録部６７は、車両の走行軌跡の長さである第１走行距離Ｌｏｄｍと、この走行軌跡の二次元地図上の長さである第２走行距離Ｌｍａｐと、の間の差である第１距離差Ｄ１を算出する。ランドマーク記録部６７は、車両の周囲のランドマークを検出してランドマークの点列情報を第２地図３４へ記録する地点間の距離間隔を、第１距離差Ｄ１に応じて定める。
これにより、ランドマークの位置情報を、適切な距離間隔で学習できる。また、適切な距離間隔でランドマークの位置情報を記録することができるようになるため、自車両の位置を正確に特定できるようになる。
【００６１】
また、記録部７２は、第１距離差Ｄ１に基づいて定まる距離を車両が走行するたびに、車両の周囲で検出されるランドマークの位置情報を第２地図３４へ記録する。
第１距離差Ｄ１には、走行路の標高差によって発生するオドメトリ誤差が反映される。このため、第１距離差Ｄ１に基づいて定まる間隔でランドマークを記録することにより、ランドマークの位置情報を記録する間隔を、走行路の標高差により生じたオドメトリ誤差に応じて決定することができるようになる。
したがって、走行路の標高差により生じるオドメトリ誤差の補正に使用されるランドマークの位置情報を、適切な距離間隔で学習できる。
【００６２】
例えば、従来、時速３６ｋｍで車両を走行させ、２台のステレオカメラで毎秒３３フレームを撮影して１フレーム３０点のランドマークを記録し、１点あたりのデータサイズが１０ＫＢであったとすると、１ｋｍ当たり１ＧＢのデータ量を記録する必要があった。
本発明により、例えば傾斜５度の走行路において第１距離差Ｄ１を１０ｃｍ以内に抑えるようにランドマークの記録間隔を定める場合、二次元地図上の１ｋｍ当たり４０箇所でランドマークを記録すれば足りる。このため、記録するデータ量は１３．２ＭＢとなり１／７５に低減できる。
尚、ランドマークの情報は、必ずしも点列に限られず、ランドマークが特定できる情報であればよい。またランドマークの情報は、必ずしも地図に記録される必要はなく、位置情報が特定できるように記録されていればよい。また、ランドマークの情報は、走行中に記録される必要はなく、地点間の距離間隔で記録できれば、記録するタイミングは限られない。
【００６３】
記録部７２は、第１距離差Ｄ１と、第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方と、に基づいて定まる距離間隔で、車両の周囲で検出されるランドマークの位置情報を第２地図３４へ記録してよい。
例えば、記録部７２は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が予め定めた所定値に達した場合に、車両の周囲で検出されるランドマークの位置情報を第２地図３４へ記録してよい。
このようにランドマークを記録する間隔を定めることにより、オドメトリ誤差を抑えつつランドマークを記録する間隔ができるだけ長くなるように、間隔を設定できる。これにより、ランドマークの記録に要するデータ量を低減することができる。
【００６４】
第２走行距離算出部７０は、車両の走行路の標高差Ｈに基づいて第２走行距離Ｌｍａｐを算出してよい。条件判定部７１は、第１走行距離Ｌｏｄｍと第２走行距離Ｌｍａｐとの間の第１距離差Ｄ１を算出してよい。すなわち、第２走行距離算出部７０及び条件判定部７１は、車両の走行路の標高差Ｈに基づいて第１距離差Ｄ１を算出してよい。
標高差Ｈに基づくことにより比較的容易且つ正確に第１距離差Ｄ１を算出できる。
【００６５】
第２走行距離算出部７０は、衛星測位信号及び標高ＤＢ３５を用いて標高差Ｈを測定してよい。衛星測位信号の誤差範囲内では標高差は非常に少ない。このため、衛星測位信号及び標高ＤＢ３５を用いて標高差Ｈを測定することにより、正確に標高差Ｈを取得できる。
ランドマークの位置情報を記録する地図データは、車両の走行支援に用いる第１地図３２を補完する第２地図３４である。ただし、記録部７２は、第１地図３２にランドマークの位置情報を記録してもよい。
個別の車両でランドマークを学習した第２地図３４によって第１地図３２を補完することにより、第１地図３２に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアがあっても、個別の車両に必要な範囲でオドメトリ誤差を補正することができる。
【００６６】
（変形例）
（１）標高差により生じるオドメトリ誤差を閾値Ｔｈ１以下にするようにランドマークの記録間隔を定める場合、閾値Ｔｈ１より十分に小さい閾値Ｔｈ２を設定し、第１距離差Ｄ１が閾値Ｔｈ２を超える距離を車両が走行するたびに、車両の周囲で検出されるランドマークの位置情報を第２地図３４へ記録してよい。すなわち、第１距離差Ｄ１が閾値Ｔｈ２を超える間隔でランドマークを第２地図３４へ記録してよい。
【００６７】
図５を参照する。図５に示すステップＳ１０〜Ｓ１７は、所定の周期（例えば１００ｍ秒ごと）で訪れる時刻ｔｉ（ｉ＝１、２、３、…）においてそれぞれ実行される。
ステップＳ１０〜Ｓ１４の処理は、図４のステップＳ１〜Ｓ５の処理と同様である。
ステップＳ１５において条件判定部７１は、時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ２より大きいか否かを判断する。
第１距離差Ｄ１ｉが閾値Ｔｈ２より大きい場合（ステップＳ１５：Ｙ）に処理はステップＳ１６へ進む。第１距離差Ｄ１ｉが閾値Ｔｈ２より以下の場合（ステップＳ１５：Ｎ）に処理はステップＳ１７へ進む。
【００６８】
ステップＳ１６において記録部７２は、時刻ｔｉにおいてランドマーク検出部６３に検出されたランドマークの点列情報を第２地図３４へ記録する。オドメトリ算出部６０は、時刻ｔｉにおける車両の位置を第１走行距離Ｌｏｄｍの起算地点にする。その後に処理はステップＳ１７へ進む。
ステップＳ１７の処理は、図４のステップＳ８の処理と同様である。
本変形例においても、第１実施形態の効果と同様に、走行路の標高差により生じたオドメトリ誤差に応じてランドマークを記録する間隔を決定することができるようになる。
このため、走行路の標高差により生じるオドメトリ誤差の補正に使用されるランドマークの位置情報を、適切な距離間隔で学習できる。
【００６９】
（２）第２走行距離算出部７０は、ジャイロセンサ２６を用いて標高差Ｈを測定してもよい。ジャイロセンサ２６を用いることにより、標高ＤＢ３５を用いることなく、ランドマークを記録する間隔を決定することができる。後述の第２実施形態においても同様である。
【００７０】
（３）ランドマークは、オクルージョン等の原因により検出できないことがある。この結果、第１距離差Ｄ１に基づいて定まる距離を車両が走行した時点で、ランドマーク検出部６３が、車両の周囲の所定範囲内にあるランドマークを検出できないおそれがある。
このため記録部７２は、第１距離差Ｄ１に基づいて定まる距離を車両が走行した時点で車両の周囲の所定範囲内のランドマークが検出可能でない場合、この所定範囲の周囲の領域において検出されるランドマークの位置情報を第２地図３４へ記録してよい。後述の第２実施形態においても同様である。
【００７１】
図６を参照する。車両８０の周囲の所定範囲８１内のランドマークが検出可能でない場合に、ランドマーク検出部６３は所定範囲８１の周囲の所定幅Ｗの領域８２において検出されるランドマークを検出する。
記録部７２は、領域８２において検出されるランドマークの位置情報を第２地図３４へ記録する。
これにより、第１距離差Ｄ１に基づいて定まる距離を車両８０が走行した時点で、ランドマーク検出部６３が所定範囲８１内にあるランドマークを検出できなくても、オドメトリ誤差の補正に用いるランドマークを記録することができる。このため、オドメトリ誤差の蓄積を防止できる。
【００７２】
（４）閾値Ｔｈ１及びＴｈ２は、固定の値でもよく。動的に変動する値でもよい。閾値Ｔｈ１及びＴｈ２が大きいほど、ランドマークを記録する間隔が広くなりオドメトリ誤差は蓄積しやすくなる。閾値Ｔｈ１及びＴｈ２が小さいほど、ランドマークを記録する間隔が狭くなりオドメトリ誤差は蓄積しにくくなる。すなわち、車両の位置の推定精度が高くなる。
【００７３】
例えば、条件判定部７１は、運転環境に応じて閾値Ｔｈ１及びＴｈ２を変更してもよい。例えば、運転難易度が高い環境では閾値Ｔｈ１及びＴｈ２を小さくして車両の位置の推定精度を高くし、例えば、車線からの逸脱や車線の端への接近を防止してもよい。運転難易度が低い環境では閾値Ｔｈ１及びＴｈ２を大きくして、第２地図３４へ記録するデータ量を低減してもよい。後述の第２実施形態においても同様である。
【００７４】
例えば、条件判定部７１は、季節に応じて閾値Ｔｈ１及びＴｈ２を変更してもよい。例えば、路面凍結など運転難易度が高くなりがちな冬期では、夏季に比べて閾値Ｔｈ１及びＴｈ２を小さくしてよい。
例えば、条件判定部７１は、場所に応じて閾値Ｔｈ１及びＴｈ２を変更してもよい。例えば、特定の店舗や施設の近くや交差点のような混雑が発生する場所では安全性を確保するために車両の位置を高精度に推定することが求められる。
【００７５】
このため、条件判定部７１は、第１地図３２を参照することにより混雑が予想される場所を車両が走行中か否かを判定し、混雑が予想される場所を走行中の場合には閾値Ｔｈ１及びＴｈ２を小さくしてもよい。
また、例えば条件判定部７１は、車両が走行する道路の種別や形状に応じて閾値Ｔｈ１及びＴｈ２を変更してもよい。例えば、カーブを走行中は直線路を走行中よりも閾値Ｔｈ１及びＴｈ２を小さくしてもよい。高速道路を走行中は一般道路を走行中よりも閾値Ｔｈ１及びＴｈ２を小さくしてもよい。交差点を走行中は道路を走行中よりも閾値Ｔｈ１及びＴｈ２を小さくしてもよい。
【００７６】
（５）二次元地図上の長さである第２走行距離Ｌｍａｐが既知である場合、ランドマーク記録部６７は、第２走行距離Ｌｍａｐと標高差Ｈに基づいて路面に沿った走行軌跡の長さである第１走行距離Ｌｏｄｍを算出し、第１距離差Ｄ１＝｜Ｌｍａｐ−Ｌｏｄｍ｜を算出してもよい。
ランドマーク記録部６７は、次式（３）及び（４）に基づいて第１走行距離Ｌｏｄｍを算出する第１走行距離算出部を備えてもよい。
θ＝Ｔａｎ−１（Ｈ／Ｌｍａｐ）    …（３）
Ｌｏｄｍ＝Ｌｍａｐ／ｃｏｓθ    …（４）
後述の第２実施形態においても同様である。
【００７７】
（第２実施形態）
続いて、第２実施形態の自己位置推定装置２を説明する。第２実施形態では、車輪の回転数に基づき算出される第１走行距離Ｌｏｄｍに生じるオドメトリ誤差を補正するために第１走行距離Ｌｏｄｍに乗じられる係数Ｇを算出して第２地図３４に記録する。以下、係数Ｇを「オドメトリゲインＧ」と表記する。
オドメトリ算出部６０は、オドメトリゲインＧを第１走行距離Ｌｏｄｍに乗じることによりオドメトリ誤差を補正する。
【００７８】
例えば、オドメトリゲインＧは、第１走行距離Ｌｏｄｍに乗じられて第２走行距離Ｌｍａｐを算出するための係数であってよい。
オドメトリ算出部６０は、次式（５）に示すようにオドメトリゲインＧを第１走行距離Ｌｏｄｍに乗じることにより第２走行距離Ｌｍａｐを算出してオドメトリ誤差を補正する。
Ｌｍａｐ＝Ｇ×Ｌｏｄｍ    …（５）
【００７９】
ランドマーク記録部６７は、第１距離差Ｄ１に基づいて定まる距離を車両が走行したと条件判定部７１が判定するたびに、オドメトリゲインＧを算出して第２地図３４に記録する。
【００８０】
図７を参照する。第２実施形態に係るコントローラ４０の機能構成は、図２に示した機能構成と類似しており、同様の構成要素には同一の参照符号を付する。
コントローラ４０は、第３走行距離算出部９０を備える。ランドマーク記録部６７は、オドメトリゲイン算出部９１を備える。
第３走行距離算出部９０及びオドメトリゲイン算出部９１の機能は、記憶装置４２に格納されたコンピュータプログラムをプロセッサ４１で実行することにより実現される。
【００８１】
第３走行距離算出部９０は、周囲環境センサ群１０から車両の周囲環境の検出結果を取得する。第３走行距離算出部９０は、周囲環境の検出結果に基づいて路面に沿った車両の走行軌跡の長さを算出する。第３走行距離算出部９０により算出された走行軌跡の長さを第３走行距離Ｌｈｉと表記する。
例えば、第３走行距離算出部９０は、周囲環境センサ群１０の検出結果から抽出された白線等や、ランドマークに基づいて第３走行距離Ｌｈｉを算出してもよく、周囲環境センサ群１０の検出結果に基づくビジュアルオドメトリにより第３走行距離Ｌｈｉを算出してもよい。
【００８２】
第３走行距離算出部９０は、第３走行距離Ｌｈｉをランドマーク記録部６７へ出力する。この第３走行距離Ｌｈｉは、第１走行距離Ｌｏｄｍと同様に路面に沿った車両の走行軌跡の長さである。しかし、第３走行距離Ｌｈｉは周囲環境センサ群１０の検出結果から算出されるため、車輪の回転数に基づき算出した第１走行距離Ｌｏｄｍよりも一般に精度が高い。
【００８３】
オドメトリゲイン算出部９１は、オドメトリゲインＧを算出する。
オドメトリゲイン算出部９１は、例えば、第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉに基づいてオドメトリゲインＧを算出してよい。例えばオドメトリゲイン算出部９１は、Ｇ＝Ｌｍａｐ／ＬｏｄｍやＧ＝Ｌｈｉ／Ｌｏｄｍなどのオドメトリゲインを算出してよい。
オドメトリゲイン算出部９１は、さらに、路面の斜度、速度、道路形状等のパラメータを考慮してオドメトリゲインＧを算出してもよい。
【００８４】
オドメトリゲイン算出部９１は、第１距離差Ｄ１に基づいて定まる距離を車両が走行したと条件判定部７１が判定するたびに、オドメトリゲインＧを算出して第２地図３４に記録する。
第２実施形態では、オドメトリゲイン算出部９１は、第３走行距離Ｌｈｉと第２走行距離Ｌｍａｐとの間の差である第２距離差Ｄ２＝｜Ｌｍａｐ−Ｌｈｉ｜と、第１距離差Ｄ１と、に基づいて定まる距離を車両が走行するたびに、オドメトリゲインＧを算出して第２地図３４に記録する。
【００８５】
例えば、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが最大になるか、又は第２距離差Ｄ２が所定の閾値Ｔｈ３以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれか一方が最大になる距離を車両が走行するたびに、オドメトリゲインＧを算出して第２地図３４に記録する。
すなわち、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが最大になるか、又は第２距離差Ｄ２が所定の閾値Ｔｈ３以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれか一方が最大になる間隔で、オドメトリゲインＧを算出して第２地図３４に記録する。
また例えば、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが所定値に到達するか、又は第２距離差Ｄ２が所定の閾値Ｔｈ３以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが所定値に到達する場合に、オドメトリゲインＧを算出して第２地図３４に記録する。
【００８６】
同様に、記録部７２は、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが最大になるか、又は第２距離差Ｄ２が所定の閾値Ｔｈ３以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれか一方が最大になる距離を車両が走行するたびに、ランドマークの点列情報を第２地図３４へ記録する。
すなわち、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが最大になるか、又は第２距離差Ｄ２が所定の閾値Ｔｈ３以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれか一方が最大になる間隔で、ランドマークの点列情報を第２地図３４へ記録する。
また、例えば、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが所定値に到達するか、又は第２距離差Ｄ２が所定の閾値Ｔｈ３以下のまま第１走行距離Ｌｏｄｍ、第２走行距離Ｌｍａｐ、第３走行距離Ｌｈｉのいずれかが所定値に到達する場合に、ランドマークの点列情報を第２地図３４へ記録する。
【００８７】
このように、第３走行距離Ｌｈｉと第２走行距離Ｌｍａｐとの間の第２距離差Ｄ２が閾値Ｔｈ３以下になる間隔で、オドメトリゲインＧを算出してランドマークとともに記録する。これにより、周囲環境の検出結果に基づいて算出した第３走行距離Ｌｈｉと二次元地図上の第２走行距離Ｌｍａｐとの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインＧによる補正量が過大になることによるオドメトリゲインＧの補正誤差が大きくなるのを防止できる。
【００８８】
また、第１走行距離Ｌｏｄｍと第２走行距離Ｌｍａｐとの間の第１距離差Ｄ１が閾値Ｔｈ１以下になる間隔で、オドメトリゲインＧを算出してランドマークとともに記録する。これにより車輪の回転に基づいて算出したオドメトリである第１走行距離Ｌｏｄｍの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインＧによる補正量が過大になることによるオドメトリゲインＧの補正誤差が大きくなるのを防止できる。
【００８９】
例えば、オドメトリゲインＧ及びランドマークを記録する間隔は、以下の処理によって定めてよい。
時刻ｔ０にてオドメトリゲインＧ及びランドマークが第２地図３４に記録された場合、オドメトリ算出部６０は、時刻ｔ０での車両の位置を第１走行距離Ｌｏｄｍの起算地点とする。また、第３走行距離算出部９０は、時刻ｔ０での車両の位置を第３走行距離Ｌｈｉの起算地点とする。
【００９０】
オドメトリ算出部６０は、起算地点から第１時刻ｔ（ｉ−１）までの第１走行距離Ｌｏｄｍを算出する。また、オドメトリ算出部６０は、起算地点から、第１時刻ｔ（ｉ−１）に続く第２時刻ｔｉまでの第１走行距離Ｌｏｄｍを算出する。
第３走行距離算出部９０は、起算地点から第１時刻ｔ（ｉ−１）までの第３走行距離Ｌｈｉを算出する。また、第３走行距離算出部９０は、起算地点から第２時刻ｔｉまでの第３走行距離Ｌｈｉを算出する。
【００９１】
第２走行距離算出部７０は、起算地点から第１時刻ｔ（ｉ−１）まで及び起算地点から第２時刻ｔｉまでの第２走行距離Ｌｍａｐをそれぞれ算出する。
条件判定部７１は、第１時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）と、第２時刻ｔｉにおける第１距離差Ｄ１ｉをそれぞれ算出する。
条件判定部７１は、第１時刻ｔ（ｉ−１）における第２距離差Ｄ２（ｉ−１）と、第２時刻ｔｉにおける第２距離差Ｄ２ｉをそれぞれ算出する。
記録部７２は、第１時刻ｔ（ｉ−１）及び第２時刻ｔｉにおいてランドマーク検出部６３に検出されたランドマークの点列情報をランドマーク補正部６５から取得する。
【００９２】
オドメトリゲイン算出部９１は、第１時刻ｔ（ｉ−１）において、第１時刻ｔ（ｉ−１）における第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐ、又は第１走行距離Ｌｏｄｍ及び第３走行距離Ｌｈｉに基づいて、第１時刻ｔ（ｉ−１）に生じているオドメトリ誤差を補正するオドメトリゲインＧを算出する。同様にオドメトリゲイン算出部９１は、第２時刻ｔｉに生じているオドメトリ誤差を補正するオドメトリゲインＧを算出する。
【００９３】
条件判定部７１は、第１時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ第２時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きいか、又は第１時刻ｔ（ｉ−１）における第２距離差Ｄ２（ｉ−１）が閾値Ｔｈ３以下であり、且つ第２時刻ｔｉにおける第２距離差Ｄ２ｉが閾値Ｔｈ３より大きいか否かを判断する。
オドメトリゲイン算出部９１は、第１時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ第２時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きいと条件判定部７１が判定した場合、第１時刻ｔ（ｉ−１）に算出したオドメトリゲインＧを第２地図３４へ記録する。第１時刻ｔ（ｉ−１）における第２距離差Ｄ２（ｉ−１）が閾値Ｔｈ３以下であり、且つ第２時刻ｔｉにおける第２距離差Ｄ２ｉが閾値Ｔｈ３より大きいと条件判定部７１が判定した場合にも、第１時刻ｔ（ｉ−１）に算出したオドメトリゲインＧを第２地図３４へ記録する。
【００９４】
記録部７２は、第１時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ第２時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きいと条件判定部７１が判定した場合、第１時刻ｔ（ｉ−１）においてランドマーク検出部６３に検出されたランドマークの点列情報を第２地図３４へ記録する。第１時刻ｔ（ｉ−１）における第２距離差Ｄ２（ｉ−１）が閾値Ｔｈ３以下であり、且つ第２時刻ｔｉにおける第２距離差Ｄ２ｉが閾値Ｔｈ３より大きいと条件判定部７１が判定した場合にも、第１時刻ｔ（ｉ−１）においてランドマーク検出部６３に検出されたランドマークの点列情報を第２地図３４へ記録する。
第２地図３４へランドマークを記録した後、オドメトリ算出部６０は、第１時刻ｔ（ｉ−１）における車両の位置を第１走行距離Ｌｏｄｍの起算地点にする。第３走行距離算出部９０は、第１時刻ｔ（ｉ−１）における車両の位置を第３走行距離Ｌｈｉの起算地点にする。
【００９５】
続いて、第２実施形態に係る地図情報学習方法の一例を説明する。図８を参照する。図８に示すステップＳ２０〜Ｓ３０は、所定の周期（例えば１００ｍ秒ごと）で訪れる時刻ｔｉ（ｉ＝１、２、３、…）においてそれぞれ実行される。
ステップＳ２０〜Ｓ２２の処理は、図４のステップＳ１〜Ｓ３の処理と同様である。
ステップＳ２３において第３走行距離算出部９０は、第３走行距離Ｌｈｉの起算地点から時刻ｔｉまでの車両の走行軌跡の長さを第３走行距離Ｌｈｉとして算出する。
【００９６】
ステップＳ２４の処理は、図４のステップＳ４の処理と同様である。
ステップＳ２５においてオドメトリゲイン算出部９１は、時刻ｔｉにおけるオドメトリゲインＧを算出する。
ステップＳ２６の処理は、図４のステップＳ５の処理と同様である。
ステップＳ２７において条件判定部７１は、時刻ｔｉにおける第２距離差Ｄ２ｉを算出する。
ステップＳ２８において条件判定部７１は、時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きいか、又は時刻ｔ（ｉ−１）における第２距離差Ｄ２（ｉ−１）が閾値Ｔｈ３以下であり、且つ時刻ｔｉにおける第２距離差Ｄ２ｉが閾値Ｔｈ３より大きいか否かを判断する。
【００９７】
時刻ｔ（ｉ−１）における第１距離差Ｄ１（ｉ−１）が閾値Ｔｈ１以下であり、且つ時刻ｔｉにおける第１距離差Ｄ１ｉが閾値Ｔｈ１より大きい場合（ステップＳ２８：Ｙ）に処理はステップＳ２９へ進む。時刻ｔ（ｉ−１）における第２距離差Ｄ２（ｉ−１）が閾値Ｔｈ３以下であり、且つ時刻ｔｉにおける第２距離差Ｄ２ｉが閾値Ｔｈ３より大きい場合（ステップＳ２８：Ｙ）にも処理はステップＳ２９へ進む。それ以外の場合（ステップＳ２８：Ｎ）に処理はステップＳ３０へ進む。
【００９８】
ステップＳ２９において記録部７２は、時刻ｔ（ｉ−１）においてランドマーク検出部６３に検出されたランドマークの点列情報を第２地図３４へ記録する。オドメトリゲイン算出部９１は、時刻ｔ（ｉ−１）において算出したオドメトリゲインＧを第２地図３４へ記録する。
オドメトリ算出部６０は、第１時刻ｔ（ｉ−１）における車両の位置を第１走行距離Ｌｏｄｍの起算地点にする。第３走行距離算出部９０は、第１時刻ｔ（ｉ−１）における車両の位置を第３走行距離Ｌｈｉの起算地点にする。
ステップＳ３０の処理は、図４のステップＳ８の処理と同様である。
【００９９】
（第２実施形態の効果）
オドメトリ算出部６０は、車輪の回転数に基づき前記第１走行距離Ｌｏｄｍを算出する。オドメトリゲイン算出部９１は、第１走行距離Ｌｏｄｍに生じる誤差を補正するために第１走行距離Ｌｏｄｍに乗じられるオドメトリゲインＧを、第１距離差Ｄ１に基づいて定まる距離を車両が走行するたびに算出して、車両の周囲で検出されるランドマークの位置情報とオドメトリゲインＧを第２地図３４へ記録する。
【０１００】
例えばオドメトリゲインＧは、第１走行距離Ｌｏｄｍから第２走行距離Ｌｍａｐを算出するために第１走行距離Ｌｏｄｍに乗じられる係数であってよい。
これにより、第１距離差Ｄ１に基づいて定まる間隔で記録されたランドマークによる位置補正を行うまでの間、オドメトリゲインＧによる位置補正が可能になるため、車両の位置の推定精度を向上させることができる。
【０１０１】
条件判定部７１は、第１走行距離Ｌｏｄｍと第２走行距離Ｌｍａｐとの間の差である第１距離差Ｄ１を算出する。条件判定部７１は、車両の周囲環境の検出結果に基づき算出した車両の走行軌跡の長さである第３走行距離Ｌｈｉと第２走行距離Ｌｍａｐとの間の差である第２距離差Ｄ２を算出する。
第１距離差Ｄ１と第２距離差Ｄ２とに基づいて定まる距離を車両が走行するたびに、オドメトリゲインＧを算出して、車両の周囲で検出されるランドマークの位置情報とオドメトリゲインＧを第２地図３４へ記録する。
【０１０２】
これにより、周囲環境の検出結果に基づいて算出した第３走行距離Ｌｈｉと二次元地図上の第２走行距離Ｌｍａｐとの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインＧによる補正量が過大になることによるオドメトリゲインＧの補正誤差が大きくなるのを防止できる。
また、車輪の回転に基づいて算出したオドメトリである第１走行距離Ｌｏｄｍの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインＧによる補正量が過大になることによるオドメトリゲインＧの補正誤差が大きくなるのを防止できる。
また、第１走行距離Ｌｏｄｍと第２走行距離Ｌｍａｐとの間の差である第１距離差Ｄ１により定まる間隔で、オドメトリゲインＧを記録する。これにより、適切な間隔でオドメトリゲインＧを記録することができるようになるため、データ量を抑制しつつ、適切なオドメトリゲインＧを設定できるようになるため、自車両の移動距離を正確に算出できるようになる。このオドメトリゲインＧは、地図に記録される必要はなく、オドメトリゲインＧを用いる位置の位置情報が特定できるようになっていれば、記録方法、媒体は限られない。
【０１０３】
（変形例）
（１）第１実施例と同様に、第１距離差Ｄ１が所定の閾値Ｔｈ１以下のまま第１走行距離Ｌｏｄｍ及び第２走行距離Ｌｍａｐのいずれか一方が最大になる距離を、車両が走行するたびに、オドメトリゲインＧを算出してランドマークの位置情報とオドメトリゲインＧを第２地図３４へ記録してもよい。
また、閾値Ｔｈ１より十分に小さい閾値Ｔｈ２を設定し、第１距離差Ｄ１が閾値Ｔｈ２を超える距離を車両が走行するたびに、オドメトリゲインＧを算出してランドマークの位置情報とオドメトリゲインＧを第２地図３４へ記録してもよい。
また、閾値Ｔｈ３より十分に小さい閾値Ｔｈ４を設定し、第２距離差Ｄ２が閾値Ｔｈ４を超える距離を車両が走行するたびに、オドメトリゲインＧを算出してランドマークの位置情報とオドメトリゲインＧを第２地図３４へ記録してもよい。
（２）第１実施形態の変形例と同様に、条件判定部７１は、運転環境に応じて閾値Ｔｈ３を変更してもよい。
【０１０４】
本発明は、ここで記載していない様々な実施形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１０５】
１…運転支援装置、２…自己位置推定装置、１０…周囲環境センサ群、１１…撮影装置、１２…測距装置、２０…車両センサ群、２１…アクセルセンサ、２２…操舵センサ、２３…ブレーキセンサ、２４…車速センサ、２５…加速度センサ、２６…ジャイロセンサ、２７…車輪速センサ、２８…他センサ、３０…通信装置、３１…地図格納部、３２…第１地図、３３…ＧＰＳ受信機、３４…第２地図、３５…標高ＤＢ、４０…コントローラ、
４１…プロセッサ、４２…記憶装置、５０…車両走行コントローラ、５１…車両制御アクチュエータ群、５２…ステアリングアクチュエータ、５３…アクセル開度アクチュエータ、５４…ブレーキ制御アクチュエータ、６０…オドメトリ算出部、６１…トラジェクトリ算出部、６２…白線検出部、６３…ランドマーク検出部、６４…マッチング部、６５…ランドマーク補正部、６６…トラジェクトリ補正部、６７…ランドマーク記録部、７０…第２走行距離算出部、７１…条件判定部、７２…記録部、８０…車両、９０…第３走行距離算出部、９１…オドメトリゲイン算出部
【図１】
2018159752.tif 000003
【図２】
2018159752.tif 000004
【図３】
2018159752.tif 000005
【図４】
2018159752.tif 000006
【図５】
2018159752.tif 000007
【図６】
2018159752.tif 000008
【図７】
2018159752.tif 000009
【図８】
2018159752.tif 000010