(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161585
(43)【公開日】2024-11-19
(54)【発明の名称】自己位置推定装置
(51)【国際特許分類】
G01C 21/30 20060101AFI20241112BHJP
G01S 17/931 20200101ALI20241112BHJP
【FI】
G01C21/30
G01S17/931
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2024143980
(22)【出願日】2024-08-26
(62)【分割の表示】P 2023097052の分割
【原出願日】2019-03-26
(31)【優先権主張番号】P 2018063351
(32)【優先日】2018-03-28
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(72)【発明者】
【氏名】加藤 正浩
(72)【発明者】
【氏名】岩井 智昭
(72)【発明者】
【氏名】藤谷 多史
(57)【要約】
【課題】白線などの区画線を利用し、車両の進行方向の位置推定を高精度に行う。
【解決手段】自己位置推定装置は、移動体に搭載され、移動体の予測位置を取得する。また、自己位置推定装置は、地図情報から取得した区画線の端点の情報に基づいて得られた区画線の端点の予測位置と、移動体に搭載された計測部が光を所定方向に走査することで計測された区画線の端点の計測位置との差分値を算出し、差分値に係数を乗じた値で予測位置を修正して前記移動体の自己位置を推定する。そして、自己位置推定装置は、区画線の端点を検出した位置における前記計測部の走査位置の間隔に基づいて係数を補正する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
移動体に搭載される自己位置推定装置であって、
前記移動体の予測位置を取得する取得手段と、
地図情報から取得した区画線の端点の情報に基づいて得られた前記区画線の端点の予測位置と、前記移動体に搭載された計測部が光を所定方向に走査することで計測された前記区画線の端点の計測位置との差分値を算出する差分値算出手段と、
前記差分値に係数を乗じた値で前記移動体の予測位置を修正して前記移動体の自己位置を推定する推定手段と、
を備える自己位置推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定技術に関する。
【背景技術】
【0002】
従来から、車両の進行先に設置される地物をレーダやカメラを用いて検出し、その検出結果に基づいて自車位置を校正する技術が知られている。例えば、特許文献1には、計測センサの出力と、予め地図上に登録された地物の位置情報とを照合させることで自己位置を推定する技術が開示されている。また、特許文献2には、カルマンフィルタを用いた自車位置推定技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013-257742号公報
【特許文献2】特開2017-72422号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献2に示されるベイズ手法に基づく自己位置推定では、白線、縁石、ガードレールなどの連続的に設けられた構造物を計測する場合、自車から見て横方向の距離は計測可能であるが、進行方向への連続性に起因して進行方向における距離を的確に特定できないという問題がある。また、破線形状の区画線の場合には、検出される区画線の前後方向の長さが変化するため、同様に進行方向における位置を的確に特定できない。
【0005】
本発明は、上記のような課題を解決するためになされたものであり、白線などの区画線を計測対象とし、横方向だけでなく進行方向の位置推定を高精度に行うことが可能な自己位置推定装置を提供することを主な目的とする。
【課題を解決するための手段】
【0006】
請求項に記載の発明は、移動体に搭載される自己位置推定装置であって、前記移動体の予測位置を取得する取得手段と、地図情報から取得した区画線の端点の情報に基づいて得られた前記区画線の端点の予測位置と、前記移動体に搭載された計測部が光を所定方向に走査することで計測された前記区画線の端点の計測位置との差分値を算出する差分値算出手段と、前記差分値に係数を乗じた値で前記移動体の予測位置を修正して前記移動体の自己位置を推定する推定手段と、を備える。
【図面の簡単な説明】
【0007】
【
図2】車載機の機能的構成を示すブロック図である。
【
図3】状態変数ベクトルを2次元直交座標で表した図である。
【
図4】予測ステップと計測更新ステップとの概略的な関係を示す図である。
【
図6】ライダ計測値をデカルト座標系へ変換する方法を示す。
【
図7】車両に搭載されたライダにより白線を検出する方法を示す。
【
図8】ウィンドウ内における複数のスキャンラインの位置を示す。
【
図9】白線の始まり部分の端点の位置を検出する方法を示す。
【
図10】白線の終わり部分の端点の位置を検出する方法を示す。
【
図11】スキャンラインの途中で反射強度が変化した場合の端点の位置の決定方法を示す。
【
図12】白線の端点のランドマーク予測値を算出する方法を示す。
【
図15】自車位置推定処理のフローチャートである。
【発明を実施するための形態】
【0008】
本発明の1つの好適な実施形態は、移動体に搭載される自己位置推定装置であって、前記移動体の予測位置を取得する取得手段と、地図情報から取得した区画線の端点の情報に基づいて得られた前記区画線の端点の予測位置と、前記移動体に搭載された計測部が光を所定方向に走査することで計測された前記区画線の端点の計測位置との差分値を算出する差分値算出手段と、前記差分値に係数を乗じた値で前記移動体の予測位置を修正して前記移動体の自己位置を推定する推定手段と、を備え、前記推定手段は、前記区画線の端点を検出した位置における前記計測部の走査位置の間隔に基づいて、前記係数を補正する。
【0009】
上記の自己位置推定装置は、移動体に搭載され、移動体の予測位置を取得する。また、自己位置推定装置は、地図情報から取得した区画線の端点の情報に基づいて得られた区画線の端点の予測位置と、移動体に搭載された計測部が光を所定方向に走査することで計測された区画線の端点の計測位置との差分値を算出し、差分値に係数を乗じた値で移動体の予測位置を修正して移動体の自己位置を推定する。そして、自己位置推定装置は、区画線の端点を検出した位置における計測部の走査位置の間隔に基づいて係数を補正する。この自己位置推定装置によれば、区画線の端点の位置を利用して、移動体の進行方向における自己位置の推定精度を高めることができる。好適な例では、係数はカルマンゲインである。
【0010】
上記の自己位置推定装置の一態様では、前記推定手段は、前記走査位置の間隔の逆数により、前記係数を補正する。他の一態様では、前記推定手段は、前記走査位置の間隔と、当該走査位置の間隔のうち前記計測部により計測された前記走査位置の最短の間隔との比に基づき、前記係数を補正する。この態様では、走査位置の間隔が小さいほど、差分値が自己位置の推定に大きく反映されるように係数が補正される。
【0011】
上記の自己位置推定装置の他の一態様では、前記計測部は、前記移動体の位置を基準とした所定位置に規定されるウィンドウ内に存在する区画線を検出し、前記推定手段は、前記区画線上に存在する走査線数と、前記ウィンドウのサイズに基づいて予め決められた走査線数との比により、前記係数を補正する。この態様では、検出された区画線上に存在する走査線数が多いほど、差分値が自己位置の推定に大きく反映されるように係数が補正される。
【0012】
上記の自己位置推定装置の他の一態様では、前記計測部は、相互に隣接する、区画線上に存在する走査線と区画線上に存在しない走査線との中間点を前記区画線の端点として検出する。これにより、区画線上に存在する走査線と区画線上に存在しない走査線の位置から、区画線の端点を決定することができる。
【0013】
本発明の他の好適な実施形態は、移動体に搭載される自己位置推定装置により実行される自己位置推定方法であって、前記移動体の予測位置を取得する取得工程と、地図情報から取得した区画線の端点の情報に基づいて得られた前記区画線の端点の予測位置と、前記移動体に搭載された計測部が光を所定方向に走査することで計測された前記区画線の端点の計測位置との差分値を算出する差分算出工程と、前記差分値に係数を乗じた値で前記移動体の予測位置を修正して前記移動体の自己位置を推定する推定工程と、を備え、前記推定工程は、前記区画線の端点を検出した位置における前記計測部の走査位置の間隔に基づいて、前記係数を補正する。この自己位置推定方法によれば、区画線の端点の位置を利用して、移動体の進行方向における自己位置の推定精度を高めることができる。
【0014】
本発明の他の好適な実施形態は、移動体に搭載され、コンピュータを備える自己位置推定装置により実行されるプログラムであって、前記移動体の予測位置を取得する取得手段、地図情報から取得した区画線の端点の情報に基づいて得られた前記区画線の端点の予測位置と、前記移動体に搭載された計測部が光を所定方向に走査することで計測された前記区画線の端点の計測位置との差分値を算出する差分値算出手段、前記差分値に係数を乗じた値で前記移動体の予測位置を修正して前記移動体の自己位置を推定する推定手段、として前記コンピュータを機能させ、前記推定手段は、前記区画線の端点を検出した位置における前記計測部の走査位置の間隔に基づいて、前記係数を補正する。このプログラムをコンピュータで実行することにより、上記の自己位置推定装置を実現することができる。このプログラムは、記憶媒体に記憶して取り扱うことができる。
【実施例0015】
以下、図面を参照して本発明の好適な実施例について説明する。なお、任意の記号の上に「^」または「-」が付された文字を、本明細書では便宜上、「A^」または「A-」(「A」は任意の文字)と表す。
[運転支援システム]
【0016】
図1は、本実施例に係る運転支援システムの概略構成図である。
図1に示す運転支援システムは、車両に搭載され、車両の運転支援に関する制御を行う車載機1と、ライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)2と、ジャイロセンサ3と、車速センサ4と、GPS受信機5とを有する。
【0017】
車載機1は、ライダ2、ジャイロセンサ3、車速センサ4、及びGPS受信機5と電気的に接続し、これらの出力に基づき、車載機1が搭載される車両の位置(「自車位置」とも呼ぶ。)の推定を行う。そして、車載機1は、自車位置の推定結果に基づき、設定された目的地への経路に沿って走行するように、車両の自動運転制御などを行う。車載機1は、道路データ及び道路付近に設けられた目印となる地物や区画線に関する情報が登録された地図データベース(DB:DataBase)10を記憶する。上述の目印となる地物は、例えば、道路脇に周期的に並んでいるキロポスト、100mポスト、デリニエータ、交通インフラ設備(例えば標識、方面看板、信号)、電柱、街灯などの地物である。そして、車載機1は、この地
図DB10に基づき、ライダ2等の出力と照合させて自車位置の推定を行う。車載機1は、本発明における「自己位置推定装置」の一例である。
【0018】
ライダ2は、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群情報を生成する。この場合、ライダ2は、照射方向を変えながらレーザ光を照射する照射部と、照射したレーザ光の反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づくスキャンデータを出力する出力部とを有する。本実施例では、ライダ2が出射するレーザの照射範囲には、少なくとも道路の路面が含まれている。スキャンデータは、受光部が受光したレーザ光に対応する照射方向と、上述の受光信号に基づき特定される当該レーザ光のその照射方向における物体までの距離とに基づき生成される。一般的に、対象物までの距離が近いほどライダの距離測定値の精度は高く、距離が遠いほど精度は低い。ライダ2、ジャイロセンサ3、車速センサ4、GPS受信機5は、それぞれ、出力データを車載機1へ供給する。ライダ2は、本発明における「計測部」の一例である。
【0019】
図2は、車載機1の機能的構成を示すブロック図である。車載機1は、主に、インターフェース11と、記憶部12と、入力部14と、制御部15と、情報出力部16と、を有する。これらの各要素は、バスラインを介して相互に接続されている。
【0020】
インターフェース11は、ライダ2、ジャイロセンサ3、車速センサ4、及びGPS受信機5などのセンサから出力データを取得し、制御部15へ供給する。
【0021】
記憶部12は、制御部15が実行するプログラムや、制御部15が所定の処理を実行するのに必要な情報を記憶する。本実施例では、記憶部12は、区画線情報及び地物情報を含む地
図DB10を記憶する。ここで、区画線情報は、各道路に設けられた区画線(白線)に関する情報であり、区画線ごとに、区画線の離散的な位置を示す座標情報が含まれている。なお、区画線情報は、道路ごとの道路データに組み込まれた情報であってもよい。さらに本実施例では、破線の区画線については、その端点の位置を示す座標情報が含まれている。地物情報は、区画線以外の地物に関する情報であり、ここでは、地物ごとに、地物のインデックスに相当する地物IDと、緯度及び経度(及び標高)等により表わされた地物の絶対的な位置を示す位置情報とが少なくとも関連付けられている。なお、地
図DB10は、定期的に更新されてもよい。この場合、例えば、制御部15は、図示しない通信部を介し、地図情報を管理するサーバ装置から、自車位置が属するエリアに関する部分地図情報を受信し、地
図DB10に反映させる。
【0022】
入力部14は、ユーザが操作するためのボタン、タッチパネル、リモートコントローラ、音声入力装置等である。情報出力部16は、例えば、制御部15の制御に基づき出力を行うディスプレイやスピーカ等である。
【0023】
制御部15は、プログラムを実行するCPUなどを含み、車載機1の全体を制御する。本実施例では、制御部15は、自車位置推定部17を有する。制御部15は、本発明における取得手段、差分値算出手段、推定手段の一例である。
【0024】
自車位置推定部17は、ランドマークに対するライダ2による距離及び角度の計測値と、地
図DB10から抽出したランドマークの位置情報とに基づき、ジャイロセンサ3、車速センサ4、及び/又はGPS受信機5の出力データから推定した自車位置を補正する。本実施例では、一例として、自車位置推定部17は、ベイズ推定に基づく状態推定手法に基づき、ジャイロセンサ3、車速センサ4等の出力データから自車位置を予測する予測ステップと、直前の予測ステップで算出した自車位置の予測値を補正する計測更新ステップとを交互に実行する。これらのステップで用いる状態推定フィルタは、ベイズ推定を行うように開発された様々のフィルタが利用可能であり、例えば、拡張カルマンフィルタ、アンセンテッドカルマンフィルタ、パーティクルフィルタなどが該当する。このように、ベイズ推定に基づく位置推定は、種々の方法が提案されている。
【0025】
以下では、拡張カルマンフィルタを用いた自車位置推定について簡略的に説明する。後述するように、本実施例では、自車位置推定部17は、地物又は区画線のいずれを対象として自車位置推定を行う場合にも、拡張カルマンフィルタを用いて統一的に自車位置推定処理を行う。
【0026】
図3は、状態変数ベクトルxを2次元直交座標で表した図である。
図3に示すように、xyの2次元直交座標上で定義された平面での自車位置は、座標「(x、y)」、自車の方位「Ψ」により表される。ここでは、方位Ψは、車の進行方向とx軸とのなす角として定義されている。座標(x、y)は、例えば緯度及び経度の組合せに相当する、ある基準位置を原点とした座標系における絶対位置を示す。
【0027】
図4は、予測ステップと計測更新ステップとの概略的な関係を示す図である。また、
図5は、自車位置推定部17の機能ブロックの一例を示す。
図4に示すように、予測ステップと計測更新ステップとを繰り返すことで、自車位置を示す状態変数ベクトル「X」の推定値の算出及び更新を逐次的に実行する。また、
図5に示すように、自車位置推定部17は、予測ステップを実行する位置予測部21と、計測更新ステップを実行する位置推定部22とを有する。位置予測部21は、デッドレコニングブロック23及び位置予測ブロック24を含み、位置推定部22は、ランドマーク探索・抽出部25及び位置補正ブロック26を含む。なお、
図4では、計算対象となる基準時刻(即ち現在時刻)「t」の状態変数ベクトルを、「X
-(t)」または「X
^(t)」と表記している(「状態変数ベクトルX(t)=(x(t)、y(t)、Ψ(t))
T」と表記する)。ここで、予測ステップで推定された暫定的な推定値(予測値)には当該予測値を表す文字の上に「
-」を付し、計測更新ステップで更新された,より精度の高い推定値には当該値を表す文字の上に「
^」を付す。
【0028】
予測ステップでは、自車位置推定部17のデッドレコニングブロック23は、車両の移動速度「v」と角速度「ω」(これらをまとめて「制御値u(t)=(v(t)、ω(t))T」と表記する。)を用い、前回時刻からの移動距離と方位変化を求める。自車位置推定部17の位置予測ブロック24は、直前の計測更新ステップで算出された時刻t-1の状態変数ベクトルX^(t-1)に対し、求めた移動距離と方位変化を加えて、時刻tの自車位置の予測値(「予測自車位置」とも呼ぶ。)X-(t)を算出する。また、これと同時に、予測自車位置X-(t)の誤差分布に相当する共分散行列「P-(t)」を、直前の計測更新ステップで算出された時刻t-1での共分散行列「P^(t-1)」から算出する。
【0029】
計測更新ステップでは、自車位置推定部17のランドマーク探索・抽出部25は、地
図DB10に登録されたランドマークの位置ベクトルとライダ2のスキャンデータとの対応付けを行う。そして、自車位置推定部17のランドマーク探索・抽出部25は、この対応付けができた場合に、対応付けができたランドマークのライダ2による計測値(「ランドマーク計測値」と呼ぶ。)「Z(t)」と、予測自車位置X
-(t)及び地
図DB10に登録されたランドマークの位置ベクトルを用いてライダ2による計測処理をモデル化して求めたランドマークの計測推定値(「ランドマーク予測値」と呼ぶ。)「Z
-(t)」とをそれぞれ取得する。ランドマーク計測値Z(t)は、時刻tにライダ2が計測したランドマークの距離及びスキャン角度から、車両の進行方向と横方向を軸とした成分に変換した車両のボディ座標系における2次元ベクトルである。そして、自車位置推定部17の位置補正ブロック26は、以下の式(1)に示すように、ランドマーク計測値Z(t)とランドマーク予測値Z
-(t)との差分値を算出する。
【0030】
【0031】
そして、自車位置推定部17の位置補正ブロック26は、以下の式(2)に示すように、ランドマーク計測値Z(t)とランドマーク予測値Z-(t)との差分値にカルマンゲイン「K(t)」を乗算し、これを予測自車位置X-(t)に加えることで、更新された状態変数ベクトル(「推定自車位置」とも呼ぶ。)X^(t)を算出する。
【0032】
【0033】
また、計測更新ステップでは、自車位置推定部17の位置補正ブロック26は、予測ステップと同様、推定自車位置X^(t)の誤差分布に相当する共分散行列P^(t)(単にP(t)とも表記する)を共分散行列P-(t)から求める。カルマンゲインK(t)等のパラメータについては、例えば拡張カルマンフィルタを用いた公知の自己位置推定技術と同様に算出することが可能である。
【0034】
このように、予測ステップと計測更新ステップが繰り返し実施され、予測自車位置X-(t)と推定自車位置X^(t)が逐次的に計算されることにより、もっとも確からしい自車位置が計算される。
【0035】
[区画線を用いた自車位置推定]
次に、本実施例の特徴である、区画線を用いた自車位置推定について説明する。本実施例は、ランドマークとして区画線を用いて自車位置推定を行う。なお、以下の説明では、区画線として白線を用いた例を説明するが、黄色の区画線にも同様に適用することもできる。
【0036】
(1)ライダによる白線の計測
まず、ライダによる白線の計測方法について説明する。
(ライダの計測値)
いま、
図6に示すように、車両の自車位置を原点とし、車両の進行方向をx軸にとったデカルト座標系(以下、「車両座標系」と呼ぶ。)を考える。ライダによる計測対象までの計測値は、水平角度α、垂直角度β、距離rを含む。これらをデカルト座標系に変換すると、ライダによる計測値は以下の式により示される。
【0037】
【0038】
(白線の検出)
図7は、車両に搭載されたライダ2により白線を検出する方法を示す。白線は再帰性反射材が塗布されているため、反射強度が強い。よって、車載機1は、車両の前方の路面上における白線を検出しやすい位置にウィンドウを設け、その中の反射強度の高い部分を検出して白線と認識する。
【0039】
具体的には、
図7に示すように、車両の前方の左右に設けられたライダ2から、車両の前方の路面に向けて出射光ELが出射される。車両前方の所定位置には、仮想的なウィンドウWが規定される。車両の中心Oを基準としたウィンドウWの位置は予め決められている。即ち、車両の中心OからウィンドウWまでの水平距離L1、車両の中心Oから左右のウィンドウWまでの横方向距離L2、及び、ウィンドウWの長さL3などは予め決められている。車載機1は、ライダ2から出力されるスキャンデータのうち、ウィンドウW内に属するスキャンデータを抽出し、それらの反射強度が所定の閾値より高い場合に、白線を検出したと判定する。
【0040】
(ライン間隔)
ライダ2として多層式のライダを用いることにより、ウィンドウW内には複数のスキャンラインsが形成される。
図8は、ウィンドウW内における複数のスキャンラインsの位置を示す。ウィンドウW内の複数のスキャンラインsは、車両から遠いほどその間隔(以下、「ライン間隔」と呼ぶ。)が長くなる。
図8の右上部は、ウィンドウW内のスキャンラインを上方から見た平面図を示す。ウィンドウW内にスキャンラインs
1~s
10が形成されており、各スキャンラインのライン間隔d
1~d
9が示されている。車両から遠いスキャンラインほどライン間隔dが長くなる。また、
図8の右下部は、ウィンドウW内のスキャンラインを側方から見た図を示す。同様に、車両から遠いスキャンラインほどライン間隔dが長くなる。
【0041】
任意のスキャンラインの番号を「i」とし、i番目のスキャンラインの水平角度をα(i)、垂直角度をβ(i)とし、車両からの距離をr(i)とすると、i番目のスキャンラインと(i+1)番目のスキャンラインとのライン間隔d(i)は以下の式(4)により求められる。同様に、(i+1)番目のスキャンラインと(i+2)番目のスキャンラインのライン間隔d(i+1)は以下の式(5)により求められ、(i+2)番目のスキャンラインと(i+3)番目のスキャンラインのライン間隔d(i+2)は以下の式(6)により求められる。
【0042】
【0043】
こうして、ライダ2のスキャンデータに基づいて、ウィンドウW内の複数のスキャンラインsのライン間隔dを求めることができる。
【0044】
(白線の端点位置の計測)
次に、ライダにより白線の端点位置を計測する方法について説明する。
図9は、白線の始まり部分の端点(白線の開始点)の位置を計測する方法を示す。ウィンドウW内にはs
1~s
10の10本のスキャンラインが形成されている。前述のように、車載機1は、ライダにより得られるスキャンデータの反射強度に基づいて白線を検出する。いま、例1に示すように、スキャンラインs
2とs
3の間でスキャンデータの反射強度が変化したものとする。即ち、スキャンラインs
2の反射強度が所定の閾値以上になり、スキャンラインs
3の反射強度は所定の閾値未満であるとする。この場合、白線の端点は、スキャンラインs
2とs
3の間に存在することがわかるが、その正確な位置まではわからない。そこで、車載機1は、スキャンラインs
2とs
3の中点を白線の端点とみなす。
【0045】
同様に、例2に示すようにスキャンラインs4とs5の間でスキャンデータの反射強度が変化した場合、車載機1はスキャンラインs4とs5の中点を白線の端点とみなす。また、例3に示すようにスキャンラインs7とs8の間でスキャンデータの反射強度が変化した場合、車載機1はスキャンラインs7とs8の中点を白線の端点とみなす。
【0046】
白線の終わり部分の端点位置を検出する方法も基本的に同様である。
図10は、白線の終わり部分の端点(白線の終了点)の位置を計測する方法を示す。例4に示すように、スキャンラインs
2とs
3の間でスキャンデータの反射強度が変化したものとする。即ち、スキャンラインs
2の反射強度が所定の閾値未満になり、スキャンラインs
3の反射強度は所定の閾値以上であるとする。この場合、車載機1は、スキャンラインs
2とs
3の中点を白線の端点とみなす。
【0047】
同様に、例5に示すようにスキャンラインs4とs5の間でスキャンデータの反射強度が変化した場合、車載機1はスキャンラインs4とs5の中点を白線の端点とみなす。また、例6に示すようにスキャンラインs7とs8の間でスキャンデータの反射強度が変化した場合、車載機1はスキャンラインs7とs8の中点を白線の端点とみなす。
【0048】
いま、i番目のスキャンラインsiと、(i+1)番目のスキャンラインsi+1との間でスキャンデータの反射強度が変化したものとすると、車両の進行方向における白線の端点の位置を示すライダの計測値Lx(t)は、車両の進行方向におけるi番目のスキャンラインsiの位置rx(i)と(i+1)番目のスキャンラインsi+1の位置rx(i+1)とを用いて以下の式で算出される。
【0049】
【0050】
ライダ2による白線の計測値は、以下の式で与えられる。
【0051】
【0052】
なお、
図9及び
図10の例では、反射強度が等しいスキャンデータの集合として1つのスキャンラインを検出できた場合を示しているが、1つのスキャンラインの途中でスキャンデータの反射強度が変化する場合がある。この場合、そのスキャンラインが白線の端点位置なのか、本当は白線の端点位置ではないが汚れやかすれ等によってそのように検出されてしまったのかを区別することが難しい。
【0053】
図11は、スキャンラインの途中でスキャンデータの反射強度が変化した場合の例を示す。例7や例8では、スキャンラインs
3の途中でスキャンデータの反射強度が変化しているため、スキャンラインs
3を白線の端点と断定することは難しい。そこで、スキャンラインの途中でスキャンデータの反射強度が変化した場合は、車載機1は、白線として正しく検出されたスキャンラインと、白線として全く検出できなかったスキャンラインとの中点を白線の端点位置とみなす。
図11の例7では、車載機1は、白線として正しく検出されたスキャンラインs
2と、白線として全く検出できなかったスキャンラインs
4との中点を白線の端点位置とみなす。同様に、例8では、車載機1は、白線として正しく検出されたスキャンラインs
4と、白線として全く検出できなかったスキャンラインs
2との中点を白線の端点位置とみなす。
【0054】
いま、(i-1)番目のスキャンラインsiー1と、(i+1)番目のスキャンラインsi+1との間に位置するi番目のスキャンラインsiの途中でスキャンデータの反射強度が変化したものとすると、車両の進行方向における白線の端点の位置を示すライダの計測値Lx(t)は、車両の進行方向における(i-1)番目のスキャンラインsi-1の位置rx(i-1)と(i+1)番目のスキャンラインsi+1の位置rx(i+1)とを用いて以下の式(9)で算出される。また、その時のライン間隔d(t)は、式(10)で算出される。
【0055】
【0056】
以上より、白線の端点が検出できた場合、車両の進行方向の計測値Lx(t)は、式(7)又は式(9)で与えられる値となる。白線の端点が検出できなかった場合、車両の進行方向の計測値Lx(t)は無しとなる。一方、車両の横方向の計測値Ly(t)は、ウィンドウW内で検出された複数のスキャンラインの中心点の平均値となる。こうして、白線の検出結果に応じて、ライダによる白線の計測値が求められる。
【0057】
(2)自車位置推定方法
次に、実施例による自車位置推定方法について説明する。
(ランドマーク予測値の算出)
まず、地図データを用いて、白線の端点のランドマーク予測値を算出する方法を説明する。
図12は、白線の端点のランドマーク予測値を算出する方法を示す。
図12において、ワールド座標系に車両Vが存在し、その車両Vの中心を原点として車両座標系が規定される。地
図DB10に記憶されている白線端点kの座標を(m
x(k),m
y(k))とする。地
図DB10に記憶されている白線端点kの座標はワールド座標系における座標であり、車載機1はこれを車両座標系に座標変換する。具体的には、車両Vの推定自車位置をx
-(t)、y
-(t)、推定自車方位をΨ
-(t)とすると、ワールド座標系から車両座標系に座標変換する回転行列を用いて、白線端点kのランドマーク予測値は以下の式で表される。
【0058】
【0059】
(カルマンゲインの修正)
次に、白線の端点の検出状態に応じてカルマンゲインを修正する方法について説明する。
図13(A)は、車載機1が白線の端点を検出した場合のカルマンゲインの補正係数を示す。自車位置推定に用いられるランドマーク計測値としては、車両の進行方向の計測値と、車両の横方向の計測値とがある。そこで、車両の進行方向の補正係数を進行方向補正係数a(t)とし、車両の横方向の補正係数を横方向係数b(t)とする。
【0060】
ウィンドウW内に白線の端点を検出した場合、車載機1は、白線の端点の位置を進行方向の計測値として用いる。但し、前述したように、白線の端点位置の計測値は、反射強度が変化した前後の2つの隣接するスキャンラインの中点として求められるので、スキャンラインのライン間隔により、車両の進行方向の計測精度は異なる。即ち、ライン間隔が広いと誤差が大きく、ライン間隔が狭いと誤差は少ない。そこで、スキャンラインのライン間隔の長さを用いて、進行方向のカルマンゲインを修正する。具体的には、ライン間隔d(t)の逆数を進行方向係数a(t)とする。即ち、進行方向係数a(t)は、
a(t)=1/d(t)
と設定される。白線の端点が検出された場合、ライン間隔が狭い場合ほど、計測された白線の端点位置の精度は高いので、カルマンゲインが大きくなるような補正がなされる。
【0061】
車両の横方向の計測値は、ウィンドウW内で検出された複数のスキャンラインの中心点の平均値を用いる。ウィンドウW内に白線の端点が検出された場合、
図13(A)に示すように、ウィンドウW内に存在するスキャンライン数をN
Mとし、ライダにより白線上で計測されたスキャンライン数をN
Lとすると、横方向係数b(t)は、
b(t)=N
L(t)/N
M
と設定される。白線の端点が検出された場合、白線上で検出されたスキャンライン数が多いほど、車両の横方向の計測精度は高いので、カルマンゲインが大きくなるような補正がなされる。
【0062】
図13(B)は、車載機1が白線を検出したが、白線の端点を検出しない場合におけるカルマンゲインの補正係数を示す。白線を検出しない場合、車両の進行方向における計測値が得られないので、進行方向係数a(t)は、
a(t)=0
と設定される。また、白線の端点を検出しない場合、ウィンドウW内の全てのスキャンラインの中心点が計測でき、車両の横方向の計測精度は高いため、横方向係数b(t)は、
b(t)=1
と設定される。
【0063】
自車位置推定部17は、こうして得られた進行方向係数a(t)及び横方向係数b(t)を用いて、カルマンゲインを補正する。具体的には、自車位置推定部17は、以下の式(12)に示すカルマンゲインK(t)に、進行方向係数a(t)及び横方向係数b(t)を乗じて式(13)に示す適応カルマンゲインK(t)’を生成する。
【0064】
【0065】
【0066】
そして、自車位置推定部17は、得られた適応カルマンゲインK(t)’を式(2)におけるカルマンゲインK(t)に適用し、以下の式(14)により推定自車位置X^(t)を算出する。
【0067】
【0068】
(計測雑音の修正)
次に、白線の端点の検出状態に応じて計測雑音を修正する方法について説明する。
図14(A)は、車載機1が白線の端点を検出した場合の計測雑音の補正係数を示す。自車位置推定に用いられるランドマーク計測値としては、車両の進行方向の計測値と、車両の横方向の計測値とがある。そこで、車両の進行方向の補正係数を進行方向補正係数a(t)とし、車両の横方向の補正係数を横方向係数b(t)とする。
【0069】
ウィンドウW内に白線の端点を検出した場合、車載機1は、白線の端点の位置を進行方向の計測値として用いる。但し、前述したように、白線の端点位置の計測値は、反射強度が変化した前後の2つの隣接するスキャンラインの中点として求められるので、スキャンラインのライン間隔により、車両の進行方向の計測精度は異なる。即ち、ライン間隔が広いと誤差が大きく、ライン間隔が狭いと誤差は少ない。そこで、スキャンラインのライン間隔の長さを用いて、進行方向の計測雑音を修正する。具体的には、ライン間隔d(t)と、検出された複数のライン間隔のうち最短のライン間隔(
図9におけるライン間隔d
9)との比を進行方向係数a(t)とする。即ち、進行方向係数a(t)は、
a(t)=d(t)/d
9
と設定される。白線の端点が検出された場合、ライン間隔が狭い場合ほど、計測された白線の端点位置の精度は高いので、計測雑音が小さくなるような補正がなされる。
【0070】
車両の横方向の計測値は、ウィンドウW内で検出された複数のスキャンラインの中心点の平均値を用いる。ウィンドウW内に白線の端点が検出された場合、
図14(A)に示すように、ウィンドウW内に存在するスキャンライン数をN
Mとし、ライダにより白線上で計測されたスキャンライン数をN
Lとすると、横方向係数b(t)は、
b(t)=N
M/N
L(t)
と設定される。白線の端点が検出された場合、白線上で検出されたスキャンライン数が多いほど、車両の横方向の計測精度は高いので、計測雑音が小さくなるような補正がなされる。
【0071】
図14(B)は、車載機1が白線を検出したが、白線の端点を検出しない場合における計測雑音の補正係数を示す。白線を検出しない場合、車両の進行方向における計測値が得られないので、進行方向係数a(t)は、大きな値が設定される。例えば、
a(t)=10000
と設定される。また、白線の端点を検出しない場合、ウィンドウW内の全てのスキャンラインの中心点が計測でき、車両の横方向の計測精度は高いため、横方向係数b(t)は、
b(t)=1
と設定される。
【0072】
自車位置推定部17は、こうして得られた進行方向係数a(t)及び横方向係数b(t)を計測雑音に乗じて、適応的計測雑音を生成する。そして、自車位置推定部17は、この適応的計測雑音を用いて、推定自車位置を求める。
【0073】
具体的に、基本的な計測雑音R(t)は以下の式で与えられる。なお、対象とする白線計測に対して、σLx
2は車両座標系の進行方向における計測雑音であり、σLy
2は車両座標系の横方向における計測雑音である。
【0074】
【0075】
よって、自車位置推定部17は、進行方向係数a(t)及び横方向係数b(t)を計測雑音に乗じて、以下の適応的計測雑音R(t)’を得る。
【0076】
【0077】
これを、カルマンゲインの式(12)に代入して、以下の適応カルマンゲインK(t)’を得る。
【0078】
【0079】
そして、自車位置推定部17は、得られた適応カルマンゲインK(t)’を式(2)におけるカルマンゲインK(t)に適用し、式(14)により推定自車位置X^(t)を算出する。
【0080】
これにより、破線の端点情報を用いて進行方向の位置推定を行うことができ、かつ、白線の端点の検出精度及び検出ライン数に応じた適応的計測雑音による処理によって、白線の検出状態に応じた好適な処理を行うことができる。
【0081】
(3)自車位置推定処理
図15は、自車位置推定部17が実行する自車位置推定処理のフローチャートである。自車位置推定部17は、
図15のフローチャートの処理を繰り返し実行する。
【0082】
まず、自車位置推定部17は、車体速度と車両のヨー方向の角速度を検出したか否か判定する(ステップS11)。例えば、自車位置推定部17は、車速センサ4の出力に基づき車体速度を検出し、ジャイロセンサ3の出力に基づきヨー方向の角速度を検出する。自車位置推定部17は、車体速度と車両のヨー方向の角速度を検出した場合(ステップS11:Yes)、検出した車体速度と角速度を用いて、1時刻前の推定自車位置X^(t-1)から予測自車位置X-(t)を算出する。さらに、自車位置推定部17は、1時刻前の共分散行列から、現時刻での共分散行列を算出する(ステップS12)。なお、自車位置推定部17は、車体速度と車両のヨー方向の角速度を検出しなかった場合(ステップS11:No)、1時刻前の推定自車位置X^(t-1)を予測自車位置X-(t)とし、1時刻前の共分散行列を現時刻での共分散行列とする。
【0083】
次に、自車位置推定部17は、自車位置推定に用いるランドマークとして、白線を検出したか否か判定する(ステップS13)。具体的には、自車位置推定部17は、
図7に示すようにウィンドウWを設定し、ライダ2のスキャンデータの反射強度に基づいて、ウィンドウW内に白線を検出したか否かを判定する。白線を検出しない場合(ステップS13:No)、白線を利用した自車位置推定はできないので、処理は終了する。
【0084】
一方、白線を検出した場合(ステップS13:Yes)、自車位置推定部17は、地
図DB10内の地図データに基づいて白線のランドマーク予測値を算出するとともに、ライダ2による白線のランドマーク計測値を算出する(ステップS14)。具体的には、自車位置推定部17は、地図データに含まれる白線の端点の座標を車両座標系に座標変換して白線端点のランドマーク予測値を算出するとともに、ライダによる白線の計測値をランドマーク計測値とする。
【0085】
また、自車位置推定部17は、
図13及び
図14で説明したように、白線の端点を検出できたか否かに応じて、進行方向係数a(t)及び横方向係数b(t)を算出する(ステップS15)。
【0086】
そして、自車位置推定部17は、共分散行列を用いて上述の式(10)に基づきカルマンゲインK(t)を計算し、進行方向係数a(t)及び横方向係数b(t)を用いて式(13)又は式(17)に示す適応カルマンゲインK(t)’を生成し、式(14)を用いて推定自車位置を算出する。さらに、自車位置推定部17は、適応カルマンゲインK(t)’を用いて、式(18)に示すように共分散行列を更新する(ステップS16)。
【0087】
【0088】
以上説明したように、自車位置推定部17は、白線の端点を検出できた場合、白線の端点をランドマークとしてカルマンフィルタに基づく自車位置推定処理を行う。また、白線の端点を検出した際のライダ2によるスキャンラインのライン間隔に基づいて、進行方向係数を算出してカルマンゲインを修正する。これにより、車両の進行方向においても高精度の自車位置推定が可能となる。
【0089】
[変形例]
上記の実施例では、車載機1は、車両の前方の左右位置にウィンドウWを設けて白線を検出しているが、車両の後部にも一対のライダ2が設けられている場合には、車両の後方の左右位置にもウィンドウWを設けて白線を検出しても良い。