【文献】
平安名 啓太 Keita Heianna,人追随を用いた経路教示手法とプレイバック型ナビゲーション The route teaching methods by using "human-tracking" and Play back type navigation,電気学会研究会資料 The Papers of Technical Meeting on Innovative Industrial System,IEE Japan,日本,社団法人電気学会 The Institute of Electrical Engineers of Japan,2012年 3月 9日,P.47-52
【文献】
中澤 文彬 中澤 文彬 Fumiaki NAKAZAWA Fumiaki NAKAZAWA,レーザレンジファインダを用いた点ランドマークの検出と判定に関する研究 Research on Finding and Judging of Point Landmarks Using a Laser Range Finder,ロボティクス・メカトロニクス講演会 ’09 講演論文集 Proceedings of the 2009 JSME Conference on Robotics and Mechatronics,社団法人日本機械学会,2009年 5月24日,P.2A2-E21(1) - 2A2-E21(3)
(58)【調査した分野】(Int.Cl.,DB名)
前記ランドマークの位置情報の記録は、前記車両の走行支援に用いる地図データの補完に用いられることを特徴とする請求項1〜11のいずれか一項に記載の地図情報学習方法。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照しつつ説明する。なお、以下に示す本発明の実施形態は、本発明の技術的思想を具体化するための装置や方法を例示するものであって、本発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものではない。本発明の技術的思想は、特許請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。
【0010】
(第1実施形態)
(構成)
図1を参照する。運転支援装置1は、本発明の実施形態に係る自己位置推定装置2と、車両走行コントローラ50と、車両制御アクチュエータ群51を備える。
自己位置推定装置2は、運転支援装置1を搭載する車両(以下、単に「車両」と表記する)の二次元地図上の位置を推定するとともに、車両の位置推定に用いられるランドマークの位置を学習する。
【0011】
ランドマークとは、道路周辺の構造物であり、例えば道路標識、信号機、歩道橋、案内板及び建物などの立体物であってよく、横断歩道、横断歩道予告、および進行方向別通行区分等の路面表示であってもよい。
自己位置推定装置2は、本発明の一態様に係る地図情報学習装置の一例である。
【0012】
自己位置推定装置2は、周囲環境センサ群10と、車両センサ群20と、通信装置30と、地図格納部31と、GPS(Global Positioning System)受信機33と、第2地
図34と、標高データベース35と、コントローラ40と、を備える。なお、
図1、
図2、
図7及び以下の説明において、標高データベースを「標高DB」と表記する。
【0013】
コントローラ40は、周囲環境センサ群10、車両センサ群20、通信装置30、地図格納部31、GPS受信機33、第2地
図34、及び標高データベース35と、有線通信又は無線通信によりデータ、信号又は情報を送受信可能である。
地図格納部31は、通信装置30と有線通信又は無線通信によりデータ、信号又は情報を送受信可能である。
【0014】
周囲環境センサ群10は、車両の周囲環境、例えば車両の周囲の物体を検出するセンサ群である。例えば周囲環境センサ群10は、撮影装置11と測距装置12を含んでよい。撮影装置11及び測距装置12は、車両周囲に存在する物体、車両と物体との相対位置、車両と物体との距離等の車両の周囲環境を検出する。
撮影装置11は、例えばステレオカメラであってよい。撮影装置11は、単眼カメラであってもよく、単眼カメラにより複数の視点で同一の物体を撮影して、物体までの距離を計算してもよい。
【0015】
測距装置12は、例えば、レーザレンジファインダ(LRF:Laser Range-Finder)やレーダであってよい。
撮影装置11及び測距装置12は、検出した周囲環境の情報である周囲環境情報をコントローラ40へ出力する。また、撮影装置11及び測距装置12は、車両の運転支援制御又は自動運転制御を行う車両走行コントローラ50へも周囲環境情報を出力する。
【0016】
車両センサ群20は、運転者により行われた運転操作を検出するセンサと、車両の走行状態を検出するセンサと、その他センサ28を含む。運転者により行われた運転操作を検出するセンサは、アクセルセンサ21と、操舵センサ22と、ブレーキセンサ23とを含む。車両の走行状態を検出するセンサは、車速センサ24と、加速度センサ25と、ジャイロセンサ26と、車輪速センサ27とを含む。
【0017】
アクセルセンサ21は、車両のアクセル開度を検出し、アクセル開度の情報をコントローラ40と車両走行コントローラ50へ出力する。例えばアクセルセンサ21は、車両のアクセルペダルの踏み込み量をアクセル開度として検出する。
操舵センサ22は、操向輪の転舵角を検出し、検出した転舵角の情報をコントローラ40と車両走行コントローラ50へ出力する。
【0018】
ブレーキセンサ23は、運転者によるブレーキ操作量を検出し、検出した操作量の情報をコントローラ40と車両走行コントローラ50へ出力する。例えばブレーキセンサ23は、車両のブレーキペダルの踏み込み量をブレーキ操作量として検出する。
車速センサ24は、車両の速度を算出し、算出した車速の情報をコントローラ40及び車両走行コントローラ50へ出力する。
【0019】
加速度センサ25は、車両の前後方向の加速度及び車幅方向の加速度を検出し、これらの加速度の情報をコントローラ40と車両走行コントローラ50へ出力する。
ジャイロセンサ26は、車両の走行方向を検出し、走行方向の情報をコントローラ40と車両走行コントローラ50へ出力する。
車輪速センサ27は、車両の車輪速を検出し、車輪速の情報をコントローラ40と車両走行コントローラ50へ出力する。
車両センサ群20から出力される、これらアクセル開度、転舵角、ブレーキ操作量、車速、加速度、走行方向、車輪速の情報を「車両状態情報」と表記することがある。
【0020】
通信装置30は、車両外部の通信機器と通信を行う。たとえば、通信装置30は、他車両との間で車々間通信を行い、路肩に設置された機器との間で路車間通信を行い、あるいは、車両外部に設置された情報サーバとの間で無線通信を行うことで、各種情報を外部機器から取得することができる。
【0021】
地図格納部31は、運転支援装置1による車両の運転支援に用いられる二次元地図データである第1地
図32を備える。地図格納部31は、例えばカーナビゲーションシステムや地図データベースであってよい。
第1地
図32は、道路上の白線・停止線・横断歩道・路面マーク等の道路標示や、道路端を示す縁石や中央分離帯等の段差の位置を示す点列情報を含んだ車線レベルの地図データである。
【0022】
第1地
図32は、道路周辺のランドマークの位置を示す点列情報を含んでいてもよい。ランドマークの位置を示す点列情報は、ランドマークの三次元的形状に応じた三次元座標値を有しており、水平位置を示す二次元座標値として二次元地図上の位置を示す値を有する。
地図格納部31は、通信装置30を介して外部から第1地
図32を取得してもよく、定期的に最新の地図情報を受信して第1地
図32を更新してもよい。地図格納部31は、車両が実際に走行した走路を、地図情報として第1地
図32に蓄積してもよい。
【0023】
GPS受信機33は、GPS衛星から送信された衛星測位信号を受信することにより、車両の位置を検出する。GPS受信機33は、検出した車両の位置情報をコントローラ40へ出力する。
第2地
図34は、第1地
図32を補完するために用いられる二次元地図データである。例えば、第2地
図34は、第1地
図32に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアにおいて、自己位置推定装置2が学習した地図情報を記憶するために用いられてよい。
【0024】
例えば、第2地
図34には、自己位置推定装置2が学習したランドマークの位置を示す点列情報が記録されてよい。この点列情報は、ランドマークの三次元的形状に応じた三次元座標値を有しており、水平位置を示す二次元座標値として二次元地図上の位置を示す値を有する。
標高DB35には、所定の地理的範囲における各地点の標高データが記憶される。
【0025】
コントローラ40は、車両の二次元地図上の位置を推定する処理と、車両の位置推定に用いられるランドマークの位置を学習する処理を実行する電子制御ユニットである。コントローラ40は、プロセッサ41と、記憶装置42等の周辺部品を含む。プロセッサ41は、例えばCPU(Central Processing Unit)、やMPU(Micro-Processing Unit)であってよい。
【0026】
なお、汎用の半導体集積回路中に設定される機能的な論理回路でコントローラ40を実現してもよい。例えば、コントローラ40はフィールド・プログラマブル・ゲート・アレイ(FPGA:Field-Programmable Gate Array)等のプログラマブル・ロジック・デバイス(PLD:Programmable Logic Device)等を有していてもよい。
【0027】
記憶装置42は、半導体記憶装置、磁気記憶装置及び光学記憶装置のいずれかを備えてよい。記憶装置42は、レジスタ、キャッシュメモリ、主記憶装置として使用されるROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリを含んでよい。
記憶装置42には、プロセッサ41上で実行されて、車両の位置推定処理とランドマーク学習処理とを、コントローラ40に実行させるためのコンピュータプログラムが記憶される。
【0028】
車両走行コントローラ50は、車両センサ群20が検出した乗員の運転操作に応じて車両の走行制御を行う電子制御ユニットである。さらに、車両走行コントローラ50は、自己位置推定装置2が推定した車両の現在位置と、周囲環境センサ群10が検出した周囲環境と、地図格納部31に格納された第1地
図32に基づいて、車両の自動運転や、緊急停止、障害物回避などの運転支援を行う。
【0029】
車両走行コントローラ50は、プロセッサと、記憶装置等の周辺部品とを含む。プロセッサは、例えばCPU、やMPUであってよい。
汎用の半導体集積回路中に設定される機能的な論理回路で車両走行コントローラ50を実現してもよい。例えば、車両走行コントローラ50はフィールド・プログラマブル・ゲート・アレイ等のプログラマブル・ロジック・デバイス等を有していてもよい。
記憶装置は、半導体記憶装置、磁気記憶装置及び光学記憶装置のいずれかを備えてよい。記憶装置は、レジスタ、キャッシュメモリ、主記憶装置として使用されるROM及びRAM等のメモリを含んでよい。
【0030】
車両走行コントローラ50は、車両制御アクチュエータ群51を駆動することにより車両の走行を制御する。車両制御アクチュエータは、例えば、ステアリングアクチュエータ52と、アクセル開度アクチュエータ53と、ブレーキ制御アクチュエータ54を備えてよい。
ステアリングアクチュエータ52は、車両のステアリングの操舵方向及び操舵量を制御する。アクセル開度アクチュエータ53は、車両のアクセル開度を制御する。ブレーキ制御アクチュエータ54は、車両のブレーキ装置の制動動作を制御する。
【0031】
車両走行コントローラ50は、車両の運転支援の際に、自己位置推定装置2が推定した車両の現在位置に基づいて、車両制御アクチュエータ群51を駆動することにより、車両の車両挙動の発生タイミングと、発生させる車両挙動の量を制御する。
例えば車両走行コントローラ50は、車両の現在位置に基づいて、アクセル開度量を変更するタイミング、ステアリングの操舵量を変更するタイミング、ブレーキ装置を動作させるタイミングを決定する。例えば車両走行コントローラ50は、車両の現在位置に基づいて、アクセル開度量、ステアリングの操舵量、ブレーキ装置による制動量を変更する。
【0032】
コントローラ40の機能構成例を
図2に示す。コントローラ40は、オドメトリ算出部60と、トラジェクトリ算出部61と、白線検出部62と、ランドマーク検出部63と、マッチング部64と、ランドマーク補正部65と、トラジェクトリ補正部66と、ランドマーク記録部67を備える。
オドメトリ算出部60、トラジェクトリ算出部61、白線検出部62、ランドマーク検出部63、マッチング部64、ランドマーク補正部65、トラジェクトリ補正部66、及びランドマーク記録部67の機能は、記憶装置42に格納されたコンピュータプログラムをプロセッサ41で実行することにより実現される。
【0033】
オドメトリ算出部60は、車両センサ群20から得られる車両状態情報とGPS受信機33の測位情報を用いて、単位時間当たりの車両の移動量や移動方向を算出する。
トラジェクトリ算出部61は、オドメトリ算出部60が算出した移動量及び移動方向を用いて道路における車両の走行軌跡を算出する。尚、車両の走行軌跡を算出する上で、道路における走行軌跡を学習して予め得られた走行軌跡モデルと、車両の車両モデルを用いてもよい。
【0034】
白線検出部62は、周囲環境センサ群10から得られる周囲環境情報の変化から、道路上の白線・停止線・横断歩道・路面マーク等の道路標示や、道路端を示す縁石や中央分離帯等の段差(以下「白線等」と表記する)の位置を検出する。
ランドマーク検出部63は、周囲環境センサ群10から得られる周囲環境情報の変化から、道路周辺のランドマークの位置を検出する。ランドマークとして、例えば、電柱、標識、ポスト、建物、自車両周囲に存在して、直線として検出できるもの、90度のエッジとして検出できるものなどがある。ランドマーク検出部63は、車両の周囲の所定範囲内にあるランドマークを検出してよい。例えばランドマーク検出部63は、車両から所定距離以内の範囲内のランドマークを検出してよい。ランドマーク検出部63は、検出したランドマークの位置を示す点列情報をランドマーク補正部65とトラジェクトリ補正部66へ出力する。
【0035】
マッチング部64は、白線検出部62が検出した白線等の位置と第1地
図32に記憶された白線等の位置とを照合することにより、車両の二次元地図上の位置を推定する。第1地
図32がランドマークの点列情報を含む場合には、マッチング部64は、ランドマーク検出部63が検出したランドマークの点列情報と第1地
図32に記憶されたランドマークの点列情報とを照合することにより、車両の二次元地図上の位置を推定してもよい。マッチング部64は、推定した車両の二次元地図上の位置情報を、ランドマーク補正部65へ出力する。
【0036】
ランドマーク補正部65は、マッチング部64により推定された車両の二次元地図上の位置に基づいて、ランドマーク検出部63により検出されたランドマークの二次元地図上の位置を算出する。例えば、ランドマーク補正部65は、車両の二次元地図上の位置と、ランドマーク検出部63により検出された車両とランドマークの相対位置関係に基づいて、ランドマーク検出部63により検出されたランドマークの二次元地図上の位置を算出してよい。
【0037】
ランドマーク補正部65により、第1地
図32に記憶されていないランドマークの二次元地図上の位置を算出することができる。ランドマーク補正部65は、算出したランドマークの二次元地図上の位置を示す点列情報をランドマーク記録部67に出力する。
トラジェクトリ補正部66は、マッチング部64により推定された車両の二次元地図上の位置に基づいて、トラジェクトリ算出部61が算出した車両の走行軌跡を補正し、車両の二次元地図上の位置を推定する。補正するとき、前述した、車両軌跡モデルを使ってもよい。
さらに、トラジェクトリ補正部66は、推定した車両の位置に基づいて、白線検出部62が検出した白線等の二次元地図上の位置を推定し直して、走行軌跡を再度補正し、車両の位置推定精度を向上させてもよい。
【0038】
第1地
図32に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアでは、トラジェクトリ補正部66は、ランドマーク検出部63が検出したランドマークの位置と、第2地
図34に記憶されたランドマークの位置とを照合することにより、車両の二次元地図上の位置を推定する。
トラジェクトリ補正部66は、推定した車両の二次元地図上の位置に基づいて、トラジェクトリ算出部61が算出した車両の走行軌跡を補正し、車両の二次元地図上の位置を推定する。
【0039】
トラジェクトリ補正部66は、推定した車両の位置に基づいて、ランドマーク検出部63が検出したランドマークの二次元地図上の位置を推定し直して、走行軌跡を再度補正し、車両の位置推定精度を向上させてもよい。
トラジェクトリ補正部66は、推定した車両の二次元地図上の位置を示す自己位置情報を車両走行コントローラ50へ出力する。
【0040】
ランドマーク記録部67は、トラジェクトリ補正部66が出力するランドマークの二次元地図上の位置を示す点列情報を、第2地
図34へ記録する。例えば、ランドマーク記録部67は、第1地
図32に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアで、ランドマークの点列情報を第2地
図34へ記録する。例えば、ランドマーク記録部67は、第1地
図32に記憶されていないランドマークについて、その点列情報を第2地
図34へ記録する。
【0041】
ランドマーク記録部67は、オドメトリ算出部60により算出された第1走行距離L
odm、すなわち道路の路面に沿って走行した走行軌跡の長さと、この走行軌跡の二次元地図上の長さである第2走行距離L
mapとの間の差である第1距離差D1=|L
map−L
odm|を算出する。
ランドマーク記録部67は、車両の周囲のランドマークを検出してランドマークの点列情報を第2地
図34へ記録する地点間の距離間隔を、第1距離差D1に応じて定める。
例えば、ランドマーク記録部67は、第1距離差D1に基づいて定まる間隔(距離)を車両が走行するたびに、ランドマークのその点列情報を第2地
図34へ記録する。
【0042】
ランドマーク記録部67は、第2走行距離算出部70と、条件判定部71と、記録部72を備える。
第2走行距離算出部70は、オドメトリ算出部60により算出された第1走行距離L
odmと、GPS受信機33の測位情報と、標高DB35に記憶された標高データに基づき、走行軌跡の二次元地図上の長さである第2走行距離L
mapを算出する。
なお、オドメトリ算出部60は、第1走行距離L
odmを算出する第1走行距離算出部に相当する。
【0043】
図3を参照する。運転支援装置1を搭載する車両80が時刻t
0にてA地点を走行し、時刻t
0から時刻t
iまでの間に、A地点からB地点まで移動した場合を想定する。
第2走行距離算出部70は、時刻t
0及び時刻t
iにおいて、それぞれGPS受信機33の測位情報に基づきA地点及びB地点の座標を取得する。第2走行距離算出部70は、A地点及びB地点の座標に基づいて、標高DB35からA地点及びB地点の標高を取得する。第2走行距離算出部70は、A地点とB地点との間の標高差Hを算出する。
【0044】
第2走行距離算出部70は、A地点とB地点との間の路面と水平面との間の角度θと、第2走行距離L
mapとを、次式(1)及び(2)により算出する。
θ=Sin
−1(H/L
odm) …(1)
L
map=L
odm×cosθ …(2)
【0045】
図2を参照する。条件判定部71は、オドメトリ算出部60が算出した車両の走行軌跡の長さである第1走行距離L
odmと、この走行軌跡の二次元地図上の長さである第2走行距離L
mapとの間の差である第1距離差D1=|L
map−L
odm|を算出する。
条件判定部71は、車両が、第1距離差D1に基づいて定まる距離を走行したか否かを判定する。
【0046】
例えば条件判定部71は、第1距離差D1と、第1走行距離L
odm及び第2走行距離L
mapのいずれか一方と、に基づいて定まる距離を車両が走行したか否かを判定してよい。
例えば条件判定部71は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が最大になる距離を、車両が走行したか否かを判定してよい。
また、例えば条件判定部71は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が所定値に到達する距離を、車両が走行したか否かを判定してよい。
【0047】
記録部72は、条件判定部71の判定結果に応じて、ランドマーク検出部63により検出されたランドマークの点列情報を第2地
図34へ記録する。
例えば、記録部72は、第1距離差D1に基づいて定まる距離を車両が走行したと条件判定部71が判定するたびにランドマークの点列情報を第2地
図34へ記録してよい。すなわち、記録部72は、第1距離差D1に基づいて定まる間隔で、ランドマークの点列情報を第2地
図34へ記録する。
【0048】
例えば記録部72は、第1距離差D1と、第1走行距離L
odm及び第2走行距離L
mapのいずれか一方と、に基づいて定まる距離を車両が走行したと条件判定部71が判定するたびに、ランドマークの点列情報を第2地
図34へ記録してよい。すなわち、記録部72は、第1距離差D1と、第1走行距離L
odm及び第2走行距離L
mapのいずれか一方と、に基づいて定まる間隔で、ランドマークの点列情報を第2地
図34へ記録する。
【0049】
例えば記録部72は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が最大になる距離を車両が走行したと条件判定部71が判定するたびに、ランドマークの点列情報を第2地
図34へ記録してよい。すなわち、記録部72は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が最大になる間隔で、ランドマークの点列情報を第2地
図34へ記録してよい。
また、例えば記録部72は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が所定値に到達したと条件判定部71が判定するたびに、ランドマークの点列情報を第2地
図34へ記録してよい。
このような間隔でランドマークの点列情報を記録すれば、標高差により路面に沿った第1走行距離L
odmと二次元地図上の第2走行距離L
mapとの間に生じるオドメトリ誤差がTh1以内になるように、ランドマークを用いてオドメトリ誤差を修正できる。尚、本実施形態においては、一例として標高差による第1走行距離L
odmと二次元地図上の第2走行距離L
mapとの間に生じるオドメトリ誤差を示したが、必ずしもこれに限らない。他にもタイヤの滑り、路面の凹凸等でもオドメトリ誤差は生じるため、そのような場合にも対応して本実施形態は実施可能である。
【0050】
例えば、ランドマークの点列情報を記録する間隔は、以下の処理によって定めてよい。
時刻t
0にてランドマークの点列情報が第2地
図34に記録された場合、オドメトリ算出部60は、時刻t
0での車両の位置を第1走行距離L
odmの起算地点とする。オドメトリ算出部60は、起算地点から第1時刻t
(i−1)までの第1走行距離L
odmを算出する。また、オドメトリ算出部60は、起算地点から、第1時刻t
(i−1)に続く第2時刻t
iまでの第1走行距離L
odmを算出する。
【0051】
第2走行距離算出部70は、起算地点から第1時刻t
(i−1)までの走行軌跡の二次元地図上の長さである第2走行距離L
mapをそれぞれ算出する。また、第2走行距離算出部70は、起算地点から第2時刻t
iまでの第2走行距離L
mapを算出する。
条件判定部71は、第1時刻t
(i−1)における第1距離差D1
(i−1)と、第2時刻t
iにおける第1距離差D1
iをそれぞれ算出する。
記録部72は、第1時刻t
(i−1)及び第2時刻t
iにおいてランドマーク検出部63に検出されたランドマークの点列情報をランドマーク補正部65から取得する。
【0052】
条件判定部71は、第1時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ第2時刻t
iにおける第1距離差D1
iが閾値Th1より大きいか否かを判断する。第1距離差D1
(i−1)が閾値Th1以下であり第1距離差D1
iが閾値Th1より大きい場合には、第1時刻t
(i−1)において、第1距離差D1が閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が最大となる。
【0053】
記録部72は、第1距離差D1
(i−1)が閾値Th1以下であり第1距離差D1
iが閾値Th1より大きい場合に、第1時刻t
(i−1)においてランドマーク検出部63に検出されたランドマークの点列情報を第2地
図34へ記録する。
第2地
図34へランドマークを記録した後、オドメトリ算出部60は、第1時刻t
(i−1)における車両の位置を第1走行距離L
odmの起算地点にする。
以上の処理を繰り返すことにより、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が最大になる間隔で、ランドマークが第2地
図34へ記録される。
【0054】
(動作)
次に、第1実施形態に係る地図情報学習方法の一例を説明する。
図4を参照する。
図4に示すステップS1〜S8は、所定の周期(例えば100m秒ごと)で訪れる時刻t
i(i=1、2、3、…)においてそれぞれ実行される。
【0055】
ステップS1においてオドメトリ算出部60は、第1走行距離L
odmの起算地点から時刻t
iまでの車両の走行軌跡の長さを第1走行距離L
odmとして算出する。
ステップS2において第2走行距離算出部70は、第1走行距離L
odmの起算地点と時刻t
iの地点との間の標高差Hを算出する。
ステップS3において第2走行距離算出部70は、第1走行距離L
odmの起算地点から時刻t
iまでの第2走行距離L
mapを算出する。
【0056】
ステップS4においてランドマーク検出部63は、時刻t
iにおいて道路周辺のランドマークの位置を検出する。記録部72は、時刻tiにおいてランドマーク検出部63に検出されたランドマークの点列情報をランドマーク補正部65から取得する。
ステップS5において条件判定部71は、時刻t
iにおける第1距離差D1
iを算出する。
【0057】
ステップS6において条件判定部71は、時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ時刻t
iにおける第1距離差D1
iが閾値Th1より大きいか否かを判断する。
第1距離差D1
(i−1)が閾値Th1以下であり第1距離差D1
iが閾値Th1より大きい場合(ステップS6:Y)に処理はステップS7へ進む。第1距離差D1
iが閾値Th1より以下の場合(ステップS6:N)に処理はステップS8へ進む。
【0058】
ステップS7において記録部72は、時刻t
(i−1)においてランドマーク検出部63に検出されたランドマークの点列情報を第2地
図34へ記録する。オドメトリ算出部60は、時刻t
(i−1)における車両の位置を第1走行距離L
odmの起算地点にする。その後に処理はステップS8へ進む。
ステップS8においてランドマーク記録部67は、第2地
図34へのランドマークの学習を終了すべきか否かを判定する。
【0059】
例えば、ランドマーク記録部67は、車両のイグニッションスイッチがオフになった場合にランドマークの学習を終了すべきと判定してよい。また、例えば、第1地
図32に点列情報が記憶されているエリアへ車両が入った場合にランドマークの学習を終了すべきと判定してよい。
ランドマークの学習を終了すべきと判定した場合(ステップS8:Y)に処理は終了する。ランドマークの学習を終了すべきと判定しない場合(ステップS8:N)に処理はステップS1に戻る。
【0060】
(第1実施形態の効果)
ランドマーク記録部67は、車両の走行軌跡の長さである第1走行距離L
odmと、この走行軌跡の二次元地図上の長さである第2走行距離L
mapと、の間の差である第1距離差D1を算出する。ランドマーク記録部67は、車両の周囲のランドマークを検出してランドマークの点列情報を第2地
図34へ記録する地点間の距離間隔を、第1距離差D1に応じて定める。
これにより、ランドマークの位置情報を、適切な距離間隔で学習できる。また、適切な距離間隔でランドマークの位置情報を記録することができるようになるため、自車両の位置を正確に特定できるようになる。
【0061】
また、記録部72は、第1距離差D1に基づいて定まる距離を車両が走行するたびに、車両の周囲で検出されるランドマークの位置情報を第2地
図34へ記録する。
第1距離差D1には、走行路の標高差によって発生するオドメトリ誤差が反映される。このため、第1距離差D1に基づいて定まる間隔でランドマークを記録することにより、ランドマークの位置情報を記録する間隔を、走行路の標高差により生じたオドメトリ誤差に応じて決定することができるようになる。
したがって、走行路の標高差により生じるオドメトリ誤差の補正に使用されるランドマークの位置情報を、適切な距離間隔で学習できる。
【0062】
例えば、従来、時速36kmで車両を走行させ、2台のステレオカメラで毎秒33フレームを撮影して1フレーム30点のランドマークを記録し、1点あたりのデータサイズが10KBであったとすると、1km当たり1GBのデータ量を記録する必要があった。
本発明により、例えば傾斜5度の走行路において第1距離差D1を10cm以内に抑えるようにランドマークの記録間隔を定める場合、二次元地図上の1km当たり40箇所でランドマークを記録すれば足りる。このため、記録するデータ量は13.2MBとなり1/75に低減できる。
尚、ランドマークの情報は、必ずしも点列に限られず、ランドマークが特定できる情報であればよい。またランドマークの情報は、必ずしも地図に記録される必要はなく、位置情報が特定できるように記録されていればよい。また、ランドマークの情報は、走行中に記録される必要はなく、地点間の距離間隔で記録できれば、記録するタイミングは限られない。
【0063】
記録部72は、第1距離差D1と、第1走行距離L
odm及び第2走行距離L
mapのいずれか一方と、に基づいて定まる距離間隔で、車両の周囲で検出されるランドマークの位置情報を第2地
図34へ記録してよい。
例えば、記録部72は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が予め定めた所定値に達した場合に、車両の周囲で検出されるランドマークの位置情報を第2地
図34へ記録してよい。
このようにランドマークを記録する間隔を定めることにより、オドメトリ誤差を抑えつつランドマークを記録する間隔ができるだけ長くなるように、間隔を設定できる。これにより、ランドマークの記録に要するデータ量を低減することができる。
【0064】
第2走行距離算出部70は、車両の走行路の標高差Hに基づいて第2走行距離L
mapを算出してよい。条件判定部71は、第1走行距離L
odmと第2走行距離L
mapとの間の第1距離差D1を算出してよい。すなわち、第2走行距離算出部70及び条件判定部71は、車両の走行路の標高差Hに基づいて第1距離差D1を算出してよい。
標高差Hに基づくことにより比較的容易且つ正確に第1距離差D1を算出できる。
【0065】
第2走行距離算出部70は、衛星測位信号及び標高DB35を用いて標高差Hを測定してよい。衛星測位信号の誤差範囲内では標高差は非常に少ない。このため、衛星測位信号及び標高DB35を用いて標高差Hを測定することにより、正確に標高差Hを取得できる。
ランドマークの位置情報を記録する地図データは、車両の走行支援に用いる第1地
図32を補完する第2地
図34である。ただし、記録部72は、第1地
図32にランドマークの位置情報を記録してもよい。
個別の車両でランドマークを学習した第2地
図34によって第1地
図32を補完することにより、第1地
図32に点列情報が記憶されていないエリアや、記憶された点列情報が少なく車両の位置検出に十分でないエリアがあっても、個別の車両に必要な範囲でオドメトリ誤差を補正することができる。
【0066】
(変形例)
(1)標高差により生じるオドメトリ誤差を閾値Th1以下にするようにランドマークの記録間隔を定める場合、閾値Th1より十分に小さい閾値Th2を設定し、第1距離差D1が閾値Th2を超える距離を車両が走行するたびに、車両の周囲で検出されるランドマークの位置情報を第2地
図34へ記録してよい。すなわち、第1距離差D1が閾値Th2を超える間隔でランドマークを第2地
図34へ記録してよい。
【0067】
図5を参照する。
図5に示すステップS10〜S17は、所定の周期(例えば100m秒ごと)で訪れる時刻t
i(i=1、2、3、…)においてそれぞれ実行される。
ステップS10〜S14の処理は、
図4のステップS1〜S5の処理と同様である。
ステップS15において条件判定部71は、時刻t
iにおける第1距離差D1
iが閾値Th2より大きいか否かを判断する。
第1距離差D1
iが閾値Th2より大きい場合(ステップS15:Y)に処理はステップS16へ進む。第1距離差D1
iが閾値Th2より以下の場合(ステップS15:N)に処理はステップS17へ進む。
【0068】
ステップS16において記録部72は、時刻t
iにおいてランドマーク検出部63に検出されたランドマークの点列情報を第2地
図34へ記録する。オドメトリ算出部60は、時刻t
iにおける車両の位置を第1走行距離L
odmの起算地点にする。その後に処理はステップS17へ進む。
ステップS17の処理は、
図4のステップS8の処理と同様である。
本変形例においても、第1実施形態の効果と同様に、走行路の標高差により生じたオドメトリ誤差に応じてランドマークを記録する間隔を決定することができるようになる。
このため、走行路の標高差により生じるオドメトリ誤差の補正に使用されるランドマークの位置情報を、適切な距離間隔で学習できる。
【0069】
(2)第2走行距離算出部70は、ジャイロセンサ26を用いて標高差Hを測定してもよい。ジャイロセンサ26を用いることにより、標高DB35を用いることなく、ランドマークを記録する間隔を決定することができる。後述の第2実施形態においても同様である。
【0070】
(3)ランドマークは、オクルージョン等の原因により検出できないことがある。この結果、第1距離差D1に基づいて定まる距離を車両が走行した時点で、ランドマーク検出部63が、車両の周囲の所定範囲内にあるランドマークを検出できないおそれがある。
このため記録部72は、第1距離差D1に基づいて定まる距離を車両が走行した時点で車両の周囲の所定範囲内のランドマークが検出可能でない場合、この所定範囲の周囲の領域において検出されるランドマークの位置情報を第2地
図34へ記録してよい。後述の第2実施形態においても同様である。
【0071】
図6を参照する。車両80の周囲の所定範囲81内のランドマークが検出可能でない場合に、ランドマーク検出部63は所定範囲81の周囲の所定幅Wの領域82において検出されるランドマークを検出する。
記録部72は、領域82において検出されるランドマークの位置情報を第2地
図34へ記録する。
これにより、第1距離差D1に基づいて定まる距離を車両80が走行した時点で、ランドマーク検出部63が所定範囲81内にあるランドマークを検出できなくても、オドメトリ誤差の補正に用いるランドマークを記録することができる。このため、オドメトリ誤差の蓄積を防止できる。
【0072】
(4)閾値Th1及びTh2は、固定の値でもよく。動的に変動する値でもよい。閾値Th1及びTh2が大きいほど、ランドマークを記録する間隔が広くなりオドメトリ誤差は蓄積しやすくなる。閾値Th1及びTh2が小さいほど、ランドマークを記録する間隔が狭くなりオドメトリ誤差は蓄積しにくくなる。すなわち、車両の位置の推定精度が高くなる。
【0073】
例えば、条件判定部71は、運転環境に応じて閾値Th1及びTh2を変更してもよい。例えば、運転難易度が高い環境では閾値Th1及びTh2を小さくして車両の位置の推定精度を高くし、例えば、車線からの逸脱や車線の端への接近を防止してもよい。運転難易度が低い環境では閾値Th1及びTh2を大きくして、第2地
図34へ記録するデータ量を低減してもよい。後述の第2実施形態においても同様である。
【0074】
例えば、条件判定部71は、季節に応じて閾値Th1及びTh2を変更してもよい。例えば、路面凍結など運転難易度が高くなりがちな冬期では、夏季に比べて閾値Th1及びTh2を小さくしてよい。
例えば、条件判定部71は、場所に応じて閾値Th1及びTh2を変更してもよい。例えば、特定の店舗や施設の近くや交差点のような混雑が発生する場所では安全性を確保するために車両の位置を高精度に推定することが求められる。
【0075】
このため、条件判定部71は、第1地
図32を参照することにより混雑が予想される場所を車両が走行中か否かを判定し、混雑が予想される場所を走行中の場合には閾値Th1及びTh2を小さくしてもよい。
また、例えば条件判定部71は、車両が走行する道路の種別や形状に応じて閾値Th1及びTh2を変更してもよい。例えば、カーブを走行中は直線路を走行中よりも閾値Th1及びTh2を小さくしてもよい。高速道路を走行中は一般道路を走行中よりも閾値Th1及びTh2を小さくしてもよい。交差点を走行中は道路を走行中よりも閾値Th1及びTh2を小さくしてもよい。
【0076】
(5)二次元地図上の長さである第2走行距離L
mapが既知である場合、ランドマーク記録部67は、第2走行距離L
mapと標高差Hに基づいて路面に沿った走行軌跡の長さである第1走行距離L
odmを算出し、第1距離差D1=|L
map−L
odm|を算出してもよい。
ランドマーク記録部67は、次式(3)及び(4)に基づいて第1走行距離L
odmを算出する第1走行距離算出部を備えてもよい。
θ=Tan
−1(H/L
map) …(3)
L
odm=L
map/cosθ …(4)
後述の第2実施形態においても同様である。
【0077】
(第2実施形態)
続いて、第2実施形態の自己位置推定装置2を説明する。第2実施形態では、車輪の回転数に基づき算出される第1走行距離L
odmに生じるオドメトリ誤差を補正するために第1走行距離L
odmに乗じられる係数Gを算出して第2地
図34に記録する。以下、係数Gを「オドメトリゲインG」と表記する。
オドメトリ算出部60は、オドメトリゲインGを第1走行距離L
odmに乗じることによりオドメトリ誤差を補正する。
【0078】
例えば、オドメトリゲインGは、第1走行距離L
odmに乗じられて第2走行距離L
mapを算出するための係数であってよい。
オドメトリ算出部60は、次式(5)に示すようにオドメトリゲインGを第1走行距離L
odmに乗じることにより第2走行距離L
mapを算出してオドメトリ誤差を補正する。
L
map=G×L
odm …(5)
【0079】
ランドマーク記録部67は、第1距離差D1に基づいて定まる距離を車両が走行したと条件判定部71が判定するたびに、オドメトリゲインGを算出して第2地
図34に記録する。
【0080】
図7を参照する。第2実施形態に係るコントローラ40の機能構成は、
図2に示した機能構成と類似しており、同様の構成要素には同一の参照符号を付する。
コントローラ40は、第3走行距離算出部90を備える。ランドマーク記録部67は、オドメトリゲイン算出部91を備える。
第3走行距離算出部90及びオドメトリゲイン算出部91の機能は、記憶装置42に格納されたコンピュータプログラムをプロセッサ41で実行することにより実現される。
【0081】
第3走行距離算出部90は、周囲環境センサ群10から車両の周囲環境の検出結果を取得する。第3走行距離算出部90は、周囲環境の検出結果に基づいて路面に沿った車両の走行軌跡の長さを算出する。第3走行距離算出部90により算出された走行軌跡の長さを第3走行距離L
hiと表記する。
例えば、第3走行距離算出部90は、周囲環境センサ群10の検出結果から抽出された白線等や、ランドマークに基づいて第3走行距離L
hiを算出してもよく、周囲環境センサ群10の検出結果に基づくビジュアルオドメトリにより第3走行距離L
hiを算出してもよい。
【0082】
第3走行距離算出部90は、第3走行距離L
hiをランドマーク記録部67へ出力する。この第3走行距離L
hiは、第1走行距離L
odmと同様に路面に沿った車両の走行軌跡の長さである。しかし、第3走行距離L
hiは周囲環境センサ群10の検出結果から算出されるため、車輪の回転数に基づき算出した第1走行距離L
odmよりも一般に精度が高い。
【0083】
オドメトリゲイン算出部91は、オドメトリゲインGを算出する。
オドメトリゲイン算出部91は、例えば、第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiに基づいてオドメトリゲインGを算出してよい。例えばオドメトリゲイン算出部91は、G=L
map/L
odmやG=L
hi/L
odmなどのオドメトリゲインを算出してよい。
オドメトリゲイン算出部91は、さらに、路面の斜度、速度、道路形状等のパラメータを考慮してオドメトリゲインGを算出してもよい。
【0084】
オドメトリゲイン算出部91は、第1距離差D1に基づいて定まる距離を車両が走行したと条件判定部71が判定するたびに、オドメトリゲインGを算出して第2地
図34に記録する。
第2実施形態では、オドメトリゲイン算出部91は、第3走行距離L
hiと第2走行距離L
mapとの間の差である第2距離差D2=|L
map−L
hi|と、第1距離差D1と、に基づいて定まる距離を車両が走行するたびに、オドメトリゲインGを算出して第2地
図34に記録する。
【0085】
例えば、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが最大になるか、又は第2距離差D2が所定の閾値Th3以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれか一方が最大になる距離を車両が走行するたびに、オドメトリゲインGを算出して第2地
図34に記録する。
すなわち、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが最大になるか、又は第2距離差D2が所定の閾値Th3以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれか一方が最大になる間隔で、オドメトリゲインGを算出して第2地
図34に記録する。
また例えば、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが所定値に到達するか、又は第2距離差D2が所定の閾値Th3以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが所定値に到達する場合に、オドメトリゲインGを算出して第2地
図34に記録する。
【0086】
同様に、記録部72は、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが最大になるか、又は第2距離差D2が所定の閾値Th3以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれか一方が最大になる距離を車両が走行するたびに、ランドマークの点列情報を第2地
図34へ記録する。
すなわち、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが最大になるか、又は第2距離差D2が所定の閾値Th3以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれか一方が最大になる間隔で、ランドマークの点列情報を第2地
図34へ記録する。
また、例えば、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが所定値に到達するか、又は第2距離差D2が所定の閾値Th3以下のまま第1走行距離L
odm、第2走行距離L
map、第3走行距離L
hiのいずれかが所定値に到達する場合に、ランドマークの点列情報を第2地
図34へ記録する。
【0087】
このように、第3走行距離L
hiと第2走行距離L
mapとの間の第2距離差D2が閾値Th3以下になる間隔で、オドメトリゲインGを算出してランドマークとともに記録する。これにより、周囲環境の検出結果に基づいて算出した第3走行距離L
hiと二次元地図上の第2走行距離L
mapとの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインGによる補正量が過大になることによるオドメトリゲインGの補正誤差が大きくなるのを防止できる。
【0088】
また、第1走行距離L
odmと第2走行距離L
mapとの間の第1距離差D1が閾値Th1以下になる間隔で、オドメトリゲインGを算出してランドマークとともに記録する。これにより車輪の回転に基づいて算出したオドメトリである第1走行距離L
odmの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインGによる補正量が過大になることによるオドメトリゲインGの補正誤差が大きくなるのを防止できる。
【0089】
例えば、オドメトリゲインG及びランドマークを記録する間隔は、以下の処理によって定めてよい。
時刻t
0にてオドメトリゲインG及びランドマークが第2地
図34に記録された場合、オドメトリ算出部60は、時刻t
0での車両の位置を第1走行距離L
odmの起算地点とする。また、第3走行距離算出部90は、時刻t
0での車両の位置を第3走行距離L
hiの起算地点とする。
【0090】
オドメトリ算出部60は、起算地点から第1時刻t
(i−1)までの第1走行距離L
odmを算出する。また、オドメトリ算出部60は、起算地点から、第1時刻t
(i−1)に続く第2時刻t
iまでの第1走行距離L
odmを算出する。
第3走行距離算出部90は、起算地点から第1時刻t
(i−1)までの第3走行距離L
hiを算出する。また、第3走行距離算出部90は、起算地点から第2時刻t
iまでの第3走行距離L
hiを算出する。
【0091】
第2走行距離算出部70は、起算地点から第1時刻t
(i−1)まで及び起算地点から第2時刻t
iまでの第2走行距離L
mapをそれぞれ算出する。
条件判定部71は、第1時刻t
(i−1)における第1距離差D1
(i−1)と、第2時刻t
iにおける第1距離差D1
iをそれぞれ算出する。
条件判定部71は、第1時刻t
(i−1)における第2距離差D2
(i−1)と、第2時刻t
iにおける第2距離差D2
iをそれぞれ算出する。
記録部72は、第1時刻t
(i−1)及び第2時刻t
iにおいてランドマーク検出部63に検出されたランドマークの点列情報をランドマーク補正部65から取得する。
【0092】
オドメトリゲイン算出部91は、第1時刻t
(i−1)において、第1時刻t
(i−1)における第1走行距離L
odm及び第2走行距離L
map、又は第1走行距離L
odm及び第3走行距離L
hiに基づいて、第1時刻t
(i−1)に生じているオドメトリ誤差を補正するオドメトリゲインGを算出する。同様にオドメトリゲイン算出部91は、第2時刻t
iに生じているオドメトリ誤差を補正するオドメトリゲインGを算出する。
【0093】
条件判定部71は、第1時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ第2時刻t
iにおける第1距離差D1
iが閾値Th1より大きいか、又は第1時刻t
(i−1)における第2距離差D2
(i−1)が閾値Th3以下であり、且つ第2時刻t
iにおける第2距離差D2
iが閾値Th3より大きいか否かを判断する。
オドメトリゲイン算出部91は、第1時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ第2時刻t
iにおける第1距離差D1
iが閾値Th1より大きいと条件判定部71が判定した場合、第1時刻t
(i−1)に算出したオドメトリゲインGを第2地
図34へ記録する。第1時刻t
(i−1)における第2距離差D2
(i−1)が閾値Th3以下であり、且つ第2時刻t
iにおける第2距離差D2
iが閾値Th3より大きいと条件判定部71が判定した場合にも、第1時刻t
(i−1)に算出したオドメトリゲインGを第2地
図34へ記録する。
【0094】
記録部72は、第1時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ第2時刻t
iにおける第1距離差D1
iが閾値Th1より大きいと条件判定部71が判定した場合、第1時刻t
(i−1)においてランドマーク検出部63に検出されたランドマークの点列情報を第2地
図34へ記録する。第1時刻t
(i−1)における第2距離差D2
(i−1)が閾値Th3以下であり、且つ第2時刻t
iにおける第2距離差D2
iが閾値Th3より大きいと条件判定部71が判定した場合にも、第1時刻t
(i−1)においてランドマーク検出部63に検出されたランドマークの点列情報を第2地
図34へ記録する。
第2地
図34へランドマークを記録した後、オドメトリ算出部60は、第1時刻t
(i−1)における車両の位置を第1走行距離L
odmの起算地点にする。第3走行距離算出部90は、第1時刻t
(i−1)における車両の位置を第3走行距離L
hiの起算地点にする。
【0095】
続いて、第2実施形態に係る地図情報学習方法の一例を説明する。
図8を参照する。
図8に示すステップS20〜S30は、所定の周期(例えば100m秒ごと)で訪れる時刻t
i(i=1、2、3、…)においてそれぞれ実行される。
ステップS20〜S22の処理は、
図4のステップS1〜S3の処理と同様である。
ステップS23において第3走行距離算出部90は、第3走行距離L
hiの起算地点から時刻t
iまでの車両の走行軌跡の長さを第3走行距離L
hiとして算出する。
【0096】
ステップS24の処理は、
図4のステップS4の処理と同様である。
ステップS25においてオドメトリゲイン算出部91は、時刻t
iにおけるオドメトリゲインGを算出する。
ステップS26の処理は、
図4のステップS5の処理と同様である。
ステップS27において条件判定部71は、時刻t
iにおける第2距離差D2
iを算出する。
ステップS28において条件判定部71は、時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ時刻t
iにおける第1距離差D1
iが閾値Th1より大きいか、又は時刻t
(i−1)における第2距離差D2
(i−1)が閾値Th3以下であり、且つ時刻t
iにおける第2距離差D2
iが閾値Th3より大きいか否かを判断する。
【0097】
時刻t
(i−1)における第1距離差D1
(i−1)が閾値Th1以下であり、且つ時刻t
iにおける第1距離差D1
iが閾値Th1より大きい場合(ステップS28:Y)に処理はステップS29へ進む。時刻t
(i−1)における第2距離差D2
(i−1)が閾値Th3以下であり、且つ時刻t
iにおける第2距離差D2
iが閾値Th3より大きい場合(ステップS28:Y)にも処理はステップS29へ進む。それ以外の場合(ステップS28:N)に処理はステップS30へ進む。
【0098】
ステップS29において記録部72は、時刻t
(i−1)においてランドマーク検出部63に検出されたランドマークの点列情報を第2地
図34へ記録する。オドメトリゲイン算出部91は、時刻t
(i−1)において算出したオドメトリゲインGを第2地
図34へ記録する。
オドメトリ算出部60は、第1時刻t
(i−1)における車両の位置を第1走行距離L
odmの起算地点にする。第3走行距離算出部90は、第1時刻t
(i−1)における車両の位置を第3走行距離L
hiの起算地点にする。
ステップS30の処理は、
図4のステップS8の処理と同様である。
【0099】
(第2実施形態の効果)
オドメトリ算出部60は、車輪の回転数に基づき前記第1走行距離L
odmを算出する。オドメトリゲイン算出部91は、第1走行距離L
odmに生じる誤差を補正するために第1走行距離L
odmに乗じられるオドメトリゲインGを、第1距離差D1に基づいて定まる距離を車両が走行するたびに算出して、車両の周囲で検出されるランドマークの位置情報とオドメトリゲインGを第2地
図34へ記録する。
【0100】
例えばオドメトリゲインGは、第1走行距離L
odmから第2走行距離L
mapを算出するために第1走行距離L
odmに乗じられる係数であってよい。
これにより、第1距離差D1に基づいて定まる間隔で記録されたランドマークによる位置補正を行うまでの間、オドメトリゲインGによる位置補正が可能になるため、車両の位置の推定精度を向上させることができる。
【0101】
条件判定部71は、第1走行距離L
odmと第2走行距離L
mapとの間の差である第1距離差D1を算出する。条件判定部71は、車両の周囲環境の検出結果に基づき算出した車両の走行軌跡の長さである第3走行距離L
hiと第2走行距離L
mapとの間の差である第2距離差D2を算出する。
第1距離差D1と第2距離差D2とに基づいて定まる距離を車両が走行するたびに、オドメトリゲインGを算出して、車両の周囲で検出されるランドマークの位置情報とオドメトリゲインGを第2地
図34へ記録する。
【0102】
これにより、周囲環境の検出結果に基づいて算出した第3走行距離L
hiと二次元地図上の第2走行距離L
mapとの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインGによる補正量が過大になることによるオドメトリゲインGの補正誤差が大きくなるのを防止できる。
また、車輪の回転に基づいて算出したオドメトリである第1走行距離L
odmの誤差が過大になる前にランドマークによる補正が可能になる。このため、オドメトリゲインGによる補正量が過大になることによるオドメトリゲインGの補正誤差が大きくなるのを防止できる。
また、第1走行距離L
odmと第2走行距離L
mapとの間の差である第1距離差D1により定まる間隔で、オドメトリゲインGを記録する。これにより、適切な間隔でオドメトリゲインGを記録することができるようになるため、データ量を抑制しつつ、適切なオドメトリゲインGを設定できるようになるため、自車両の移動距離を正確に算出できるようになる。このオドメトリゲインGは、地図に記録される必要はなく、オドメトリゲインGを用いる位置の位置情報が特定できるようになっていれば、記録方法、媒体は限られない。
【0103】
(変形例)
(1)第1実施例と同様に、第1距離差D1が所定の閾値Th1以下のまま第1走行距離L
odm及び第2走行距離L
mapのいずれか一方が最大になる距離を、車両が走行するたびに、オドメトリゲインGを算出してランドマークの位置情報とオドメトリゲインGを第2地
図34へ記録してもよい。
また、閾値Th1より十分に小さい閾値Th2を設定し、第1距離差D1が閾値Th2を超える距離を車両が走行するたびに、オドメトリゲインGを算出してランドマークの位置情報とオドメトリゲインGを第2地
図34へ記録してもよい。
また、閾値Th3より十分に小さい閾値Th4を設定し、第2距離差D2が閾値Th4を超える距離を車両が走行するたびに、オドメトリゲインGを算出してランドマークの位置情報とオドメトリゲインGを第2地
図34へ記録してもよい。
(2)第1実施形態の変形例と同様に、条件判定部71は、運転環境に応じて閾値Th3を変更してもよい。
【0104】
本発明は、ここで記載していない様々な実施形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。