(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-10
(45)【発行日】2023-04-18
(54)【発明の名称】自車位置推定装置、走行位置推定方法
(51)【国際特許分類】
G08G 1/16 20060101AFI20230411BHJP
【FI】
G08G1/16 C
(21)【出願番号】P 2022531789
(86)(22)【出願日】2021-06-14
(86)【国際出願番号】 JP2021022461
(87)【国際公開番号】W WO2021261304
(87)【国際公開日】2021-12-30
【審査請求日】2022-08-01
(31)【優先権主張番号】P 2020107959
(32)【優先日】2020-06-23
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004695
【氏名又は名称】株式会社SOKEN
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】100106149
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】石丸 和寿
(72)【発明者】
【氏名】熊野 俊也
(72)【発明者】
【氏名】松元 郁佑
【審査官】櫻田 正紀
(56)【参考文献】
【文献】特開2002-225657(JP,A)
【文献】特開2006-185406(JP,A)
【文献】国際公開第2017/013692(WO,A1)
【文献】特開2014-086071(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
自車両の周辺の所定範囲を撮像する撮像装置(11)、及び、探査波又はレーザ光を送信することで自車両の所定方向に存在する物体を検出する測距センサ(19A、19B)の少なくとも何れか一方を用いて自車両
から道路端
までの距離を取得する道路端情報取得部(F31)と、
自車両内又は外部に配置された地図記憶部から、自車両が走行している道路のレーン数を含む地図情報を取得する地図取得部(F2)と、
前記撮像装置が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得する境界線情報取得部(F32)と、
検出されている前記レーン境界線のうち、最も外側の前記レーン境界線である最外検出線から、前記道路端までの横方向距離を路側帯幅として算出する路側帯幅算出部(F41)と、
前記道路端情報取得部が取得した
自車両から前記道路端までの距離と、前記路側帯幅と、前記地図取得部が取得した前記地図情報に含まれるレーン数と、に基づいて、自車両の走行レーンを特定する走行レーン特定部(F4)と、備える自車位置推定装置。
【請求項2】
請求項
1に記載の自車位置推定装置であって、
前記路側帯幅が所定の閾値未満であることを条件として、前記最外検出線から前記道路端までの領域を路側帯とみなし、
前記走行レーン特定部は、前記路側帯に隣接するレーンを基準に前記走行レーンを特定する、自車位置推定装置。
【請求項3】
請求項
1又は
2に記載の自車位置推定装置であって、
前記走行レーン特定部は、前記道路端よりも外側に検出されている前記レーン境界線の情報は、前記走行レーンの特定に用いないように構成されている、自車位置推定装置。
【請求項4】
請求項
1から
3の何れか1項に記載の自車位置推定装置であって、
前記走行レーン特定部は、互いに隣接する2つの前記レーン境界線の間隔が所定の最小レーン幅よりも小さい場合、当該2つの前記レーン境界線のうちの外側の位置する前記レーン境界線の情報は、前記走行レーンの特定に用いないように構成されている、自車位置推定装置。
【請求項5】
請求項
1から
4の何れか1項に記載の自車位置推定装置であって、
前記走行レーン特定部は、前記道路端として、車両左側に存在する左側道路端と車両右側に存在する右側道路端の両方の位置情報を取得できている場合、
前記左側道路端と前記右側道路端の間隔と前記路側帯幅を用いてレーン数の推定値である推定レーン数を算出するとともに、
地図に登録されているレーン数と前記推定レーン数の差が所定の閾値以上である場合には、算出されている前記路側帯幅は誤りと判定するか、前記走行レーンの特定を中断する、自車位置推定装置。
【請求項6】
請求項
1から
5の何れか1項に記載の自車位置推定装置であって、
前記走行レーン特定部は、検出されている前記レーン境界線の位置情報に基づいて、少なくともレーンが存在する領域であるレーン検出範囲を特定し、
前記道路端情報取得部が取得した前記道路端の位置が、前記レーン検出範囲の内側となっている場合には、当該道路端の位置情報は誤りとするか、前記走行レーンを特定する処理に当該道路端の情報を使用しないようするか、前記走行レーンを特定する処理を中断する、自車位置推定装置。
【請求項7】
請求項
1から
6の何れか1項に記載の自車位置推定装置であって、
前記路側帯幅算出部によって算出された前記路側帯幅のデータを地図生成サーバ(6)にアップロードするように構成されている、自車位置推定装置。
【請求項8】
請求項
1から
7の何れか1項に記載の自車位置推定装置であって、
前記道路端情報取得部は、前記道路端の検出点を母集団として生成される前記道路端の回帰線に基づいて、前記撮像装置が生成した画像内における所定の判定ポイントでの前記道路端の傾きを特定し、
前記走行レーン特定部は、当該道路端の傾きが所定の正常範囲外となっている場合には、前記道路端の認識結果は誤りと判断するか、前記走行レーンを特定する処理に当該道路端の情報を使用しないようにするか、又は、前記走行レーンを特定する処理を中断する、自車位置推定装置。
【請求項9】
請求項1から
8の何れか1項に記載の自車位置推定装置であって、
前記走行レーン特定部が前記走行レーンの特定に成功している場合、前記走行レーンの番号である走行レーン番号を、外部に出力するように構成されている、自車位置推定装置。
【請求項10】
少なくとも1つのプロセッサによって実行される、自車両が走行しているレーンを特定する走行位置推定方法であって、
自車両の周辺の所定範囲を撮像する撮像装置(11)
が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得するとともに、
前記撮像装置、及び、探査波又はレーザ光を送信することで自車両の所定方向に存在する物体を検出する測距センサ(19A、19B)の少なくとも何れか一方を用いて自車両
から道路端
までの
距離を取得する位置取得ステップ(S1)
と、
車両内又は外部に配置された地図記憶部から、自車両が走行している道路のレーン数を含む地図情報を取得する地図取得ステップ(S0)と、
検出されている前記レーン境界線のうち、最も外側の前記レーン境界線である最外検出線から、前記道路端までの横方向距離を路側帯幅として算出する路側帯幅算出ステップ(S4)と、
前記位置取得ステップで取得され
る自車両から前記道路端までの距離と、前記路側帯幅算出ステップで算出される前記路側帯幅と、前記地図取得ステップで取得され
る前記地図情報に含まれるレーン数と、に基づいて自車両の走行レーンを特定する走行レーン特定ステップ(S9)と、
を備える走行位置推定方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
この出願は、2020年6月23日に日本に出願された特許出願第2020-107959号を基礎としており、基礎の出願の内容を、全体的に、参照により援用している。
【技術分野】
【0002】
本開示は、自車両の道路上における走行位置を特定する技術に関する。
【背景技術】
【0003】
特許文献1には車両の左側又は右側に存在するレーン境界線の線種に基づいて、自車両が走行しているレーン(以降、走行レーン)が、道路の左端又は右端から何番目のレーンであるかを判定する方法が開示されている。また、特許文献2には、自車両周辺を走行する他車両の軌跡情報を用いて走行レーンを特定する構成が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-242670号公報
【文献】特開2019-91412号公報
【発明の概要】
【0005】
特許文献1に開示の技術では、4本以上のレーンがある多レーン道路など、左右のレーン境界線の線種が同じレーンが複数存在する場合には、走行レーンの特定が不可能となる。また、レーン境界線がかすれている区間など、レーン境界線の線種を認識困難な区間においては走行レーンの特定が困難となる。例えば本来実線で形成されているレーン境界線がかすれや汚れにより破線であると認識された場合には、自車両の走行レーンを誤ってしまう。
【0006】
特許文献2に開示の技術によれば、上記特許文献1に開示の構成で対応できない環境においても、走行レーンが特定可能になることが期待できる。しかしながら特許文献2に開示の構成では、周囲に他車両がいないと走行レーンを特定できないといった課題がある。
【0007】
本開示は、周辺車両がいなくとも走行レーンを特定可能な自車位置推定装置、走行位置推定方法を提供することを目的とする。
【0008】
その目的を達成するための自車位置推定装置は、一例として、自車両の周辺の所定範囲を撮像する撮像装置(11)、及び、探査波又はレーザ光を送信することで自車両の所定方向に存在する物体を検出する測距センサ(19A、19B)の少なくとも何れか一方を用いて自車両から道路端までの距離を取得する道路端情報取得部(F31)と、自車両内又は外部に配置された地図記憶部から、自車両が走行している道路のレーン数を含む地図情報を取得する地図取得部(F2)と、撮像装置が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得する境界線情報取得部(F32)と、検出されているレーン境界線のうち、最も外側のレーン境界線である最外検出線から、道路端までの横方向距離を路側帯幅として算出する路側帯幅算出部(F41)と、道路端情報取得部が取得した自車両から道路端までの距離と、路側帯幅と、地図取得部が取得した地図情報に含まれるレーン数と、に基づいて、自車両の走行レーンを特定する走行レーン特定部(F4)と、備える。
【0009】
上記構成では地図に示されるレーン数と、自車両に対する道路端の位置情報を取得する。自車両に対する道路端の位置情報は、換言すれば自車両から道路端までの距離情報に相当する。一般的に1レーン当りの幅は法律等によって規定されているため、道路端からの距離がわかれば、何番目のレーンに位置するかの見当をつけることができる。また、道路が備えるレーン数がわかれば、レーン以外の領域としての路側帯の幅の見当もつけることができる。つまり、上記構成によれば、路側帯の幅を考慮して自車両の走行レーンを特定する事が可能となる。そして、上記構成においては、走行レーンの特定に際して、レーン境界線の線種や、周辺車両の軌跡情報を必要としない。つまり、レーン数が4本以上存在する多レーン道路においても、周辺車両がいなくとも、走行レーンを特定することができる。
【0010】
また、上記目的を達成するための走行位置推定方法は、少なくとも1つのプロセッサによって実行される、自車両が走行しているレーンを特定する走行位置推定方法であって、
自車両の周辺の所定範囲を撮像する撮像装置(11)が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得するとともに、撮像装置、及び、探査波又はレーザ光を送信することで自車両の所定方向に存在する物体を検出する測距センサ(19A、19B)の少なくとも何れか一方を用いて自車両から道路端までの距離を取得する位置取得ステップ(S1)と、車両内又は外部に配置された地図記憶部から、自車両が走行している道路のレーン数を含む地図情報を取得する地図取得ステップ(S0)と、検出されているレーン境界線のうち、最も外側のレーン境界線である最外検出線から、道路端までの横方向距離を路側帯幅として算出する路側帯幅算出ステップ(S4)と、位置取得ステップで取得される自車両から道路端までの距離と、路側帯幅算出ステップで算出される路側帯幅と、地図取得ステップで取得される地図情報に含まれるレーン数と、に基づいて自車両の走行レーンを特定する走行レーン特定ステップ(S9)と、を備える。
【0011】
上記の方法によれば自車位置推定装置と同様の作用により、周辺車両がいなくとも走行レーンを特定可能となる。
【0012】
なお、請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【0013】
【
図1】運転支援システム1の構成を示すブロック図である。
【
図2】前方カメラ11の構成を示すブロック図である。
【
図3】位置推定器20の構成を示すブロック図である。
【
図4】位置推定器20が実施するレーン特定処理についてのフローチャートである。
【
図5】ヨーレートを用いた検出地物の位置補正について説明するための図である。
【
図6】道路端の回帰線を正しく算出できている場合の回帰線の画像内傾きを示す図である。
【
図7】左側道路端の回帰線を誤算出している場合の回帰線の画像内傾きを示す図である。
【
図8】道路端傾き判定処理についてのフローチャートである。
【
図9】レーン妥当性判定処理についてのフローチャートである。
【
図10】レーン妥当性判定処理の作動を説明するための図である。
【
図11】レーン妥当性判定処理の作動を説明するための図である。
【
図12】路側帯幅算出処理についてのフローチャートである。
【
図13】道路端妥当性判定処理についてのフローチャートである。
【
図14】地図整合性判定処理についてのフローチャートである。
【
図15】個別レーン位置特定処理についてのフローチャートである。
【
図16】車両で算出された路側帯幅のデータに基づいて地図を生成するシステムの概念図である。
【
図17】道路端として検出する道路構造部分を説明するための図である。
【
図20】道路端の検出に使用可能なデバイスの一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本開示の実施形態について図を用いて説明する。
図1は、本開示の位置推定器を適用してなる運転支援システム1の概略的な構成の一例を示す図である。
【0015】
<全体構成の概要>
図1に示すように運転支援システム1は、前方カメラ11、慣性センサ12、GNSS受信機13、V2X車載器14、地図記憶部15、HMIシステム16、位置推定器20、運転支援ECU30、及び運行記録装置50を備える。なお、部材名称中のECUは、Electronic Control Unitの略であり、電子制御装置を意味する。また、HMIは、Human
Machine Interfaceの略である。V2XはVehicle to X(Everything)の略で、車を様々なものをつなぐ通信技術を指す。
【0016】
運転支援システム1を構成する上記の種々の装置またはセンサは、ノードとして、車両内に構築された通信ネットワークである車両内ネットワークNwに接続されている。車両内ネットワークNwに接続されたノード同士は相互に通信可能である。なお、特定の装置同士は、車両内ネットワークNwを介することなく直接的に通信可能に構成されていてもよい。例えば位置推定器20と運転支援ECU30とは専用線によって直接的に電気接続されていても良い。また、
図1において車両内ネットワークNwはバス型に構成されているが、これに限らない。ネットワークトポロジは、メッシュ型や、スター型、リング型などであってもよい。ネットワーク形状は適宜変更可能である。車両内ネットワークNwの規格としては、例えばController Area Network(以降、CAN:登録商標)や、イーサネット(Ethernet:登録商標)、FlexRay(登録商標)など、多様な規格を採用可能である。
【0017】
以降では運転支援システム1が搭載されている車両を自車両とも記載するとともに、自車両の運転席に着座している乗員(つまり運転席乗員)をユーザとも記載する。なお、以下の説明における前後、左右、上下の各方向は、自車両を基準として規定される。前後方向は、自車両の長手方向に相当する。左右方向は、自車両の幅方向に相当する。上下方向は、車両高さ方向に相当する。上下方向は、別の観点によれば、前後方向及び左右方向の両方に平行な平面に対して垂直な方向に相当する。
【0018】
<各構成要素の概要>
前方カメラ11は、車両前方を所定の画角で撮像するカメラである。前方カメラ11は、例えばフロントガラスの車室内側の上端部や、フロントグリル、ルーフトップ等に配置されている。前方カメラ11は、
図2に示すように、画像フレームを生成するカメラ本体部40と、画像フレームに対して認識処理を施す事により、所定の検出対象物を検出するECU(以降、カメラECU41)と、を備える。カメラ本体部40は少なくともイメージセンサとレンズとを含む構成であって、所定のフレームレート(例えば60fps)で撮像画像データを生成及び出力する。カメラECU41は、CPU(Central Processing
Unit)や、GPU(Graphics Processing Unit)などを含む画像処理チップを用いて実現されている。カメラECU41は、機能ブロックとして識別器G1を備える。識別器G1は、カメラ本体部40で生成された画像の特徴量ベクトルに基づき、物体の種別を識別する構成である。識別器G1には、例えばディープラーニングを適用したCNN(Convolutional Neural Network)やDNN(Deep Neural Network)などを利用可能である。
【0019】
前方カメラ11の検出対象物には、例えば、歩行者や、他車両などの移動体が含まれる。他車両には自転車や原動機付き自転車、オートバイも含まれる。また、前方カメラ11は、所定の地物も検出可能に構成されている。前方カメラ11が検出対象とする地物には、道路端や、路面標示、道路沿いに設置される構造物が含まれる。路面標示とは、交通制御、交通規制のための路面に描かれたペイントを指す。例えば道路標示には、レーンの境界を示すレーン境界線(いわゆるレーンマーカ)や、横断歩道、停止線、導流帯、安全地帯、規制矢印などが含まれる。レーン境界線には、チャッターバーやボッツドッツなどの道路鋲によって実現されるものも含まれる。道路沿いに設置される構造物とは、例えば、ガードレール、縁石、樹木、電柱、道路標識、信号機などである。カメラECU41は、色、輝度、色や輝度に関するコントラスト等を含む画像情報に基づいて、撮像画像から背景と検出対象物とを分離して抽出する。
【0020】
カメラECU41は、レーン境界線や道路端といった地物の自車両からの相対距離および方向(つまり相対位置)、移動速度などを、SfM(Structure from Motion)処理等を用いて画像から算出する。自車両に対する地物の相対位置は、画像内における地物の大きさや傾き度合いに基づいて特定してもよい。さらに、カメラECU41は、レーン境界線及び道路端の位置及び形状に基づいて、走路の曲率や幅員等の形状などを示す走行路データを生成する。
【0021】
また、カメラECU41は、画像座標系における道路端に相当する点の集合を母集団として、右側道路端及び左側道路端のそれぞれの回帰式を算出する。回帰式は複数の検出点の分布を近似的に表す直線または曲線に相当する関数であって、例えば最小二乗法等によって算出される。画像座標系は、例えば画像の左上隅部の画素の中心を原点とし、画像右方向がX軸正方向、画像下方向がY軸正方向として定義される。画像座標系では、画素の中心が整数値をもつように定義されうる。
【0022】
各道路端の回帰式は、例えばY座標を変数とする2次関数で表現される。回帰式が備える係数パラメータは、道路端の画像認識結果に基づき逐次調整される。回帰式の次元数は適宜変更可能であって、回帰式は1次関数や3次関数であってもよい。なお、カメラECU41は、レーン境界線に対しても回帰式を算出しても良い。以降では回帰式が表す画像座標系上の直線または曲線を回帰線とも称する。また、以降における回帰式及び回帰線は、主として道路端についての回帰式及び回帰線を指す。
【0023】
加えて、カメラECU41は、SfMに基づき自車両に作用しているヨーレート(回転角速度)を算出する。カメラECU41は、検出物の相対位置や種別等、道路端の回帰式パラメータを含む検出結果データを、車両内ネットワークNwを介して位置推定器20や運転支援ECU30、運行記録装置50に逐次提供する。
【0024】
前方カメラ11は、物体認識に用いた観測データとしての画像フレームを、車両内ネットワークNwを介して運転支援ECU30等に提供するように構成されていても良い。観測データは、センサが観測した生のデータ、あるいは認識処理が実行される前のデータに相当する。観測データに基づく物体認識処理は、運転支援ECU30など、センサ外のECUが実行しても良い。また、レーン境界線等の相対位置の算出は、位置推定器20で実行されてもよい。カメラECU41の機能の一部(主として物体認識機能)は、位置推定器20や運転支援ECU30に設けられていても良い。その場合、前方カメラ11は、観測データとしての画像データを位置推定器20や運転支援ECU30に提供すればよい。
【0025】
慣性センサ12は、加速度などの所定の物理状態量を検出するセンサである。慣性センサ12には、例えば3軸ジャイロセンサ及び3軸加速度センサなどの慣性センサが含まれる。運転支援システム1は慣性センサ12として磁気センサを備えていても良い。また、運転支援システム1は慣性センサ12として大気圧センサ、温度センサを備えていても良い。大気圧センサや温度センサは他のセンサの出力値の補正処理にも使用されうる。種々の慣性センサ12は、慣性計測ユニット(IMU:Inertial Measurement Unit)としてパッケージ化されていても良い。
【0026】
慣性センサ12は、検出対象とする物理状態量の現在の値(つまり検出結果)を示すデータを車両内ネットワークNwに出力する。各慣性センサ12の出力データは、車両内ネットワークNwを介して位置推定器20等で取得される。なお、慣性センサ12として運転支援システム1が使用するセンサの種類は適宜設計されればよく、上述した全てのセンサを備えている必要はない。
【0027】
GNSS受信機13は、GNSS(Global Navigation Satellite System)を構成する測位衛星から送信される航法信号を受信することで、当該GNSS受信機13の現在位置を逐次(例えば100ミリ秒毎に)検出するデバイスである。GNSSとしては、GPS(Global Positioning System)、GLONASS、Galileo、IRNSS、QZSS、Beidou等を採用可能である。
【0028】
V2X車載器14は、自車両が他の装置と無線通信を実施するための装置である。なお、V2Xの「V」は自車両としての自動車を指し、「X」は、歩行者や、他車両、道路設備、ネットワーク、サーバなど、自車両以外の多様な存在を指しうる。V2X車載器14は、通信モジュールとして広域通信部と狭域通信部を備える。広域通信部は、所定の広域無線通信規格に準拠した無線通信を実施するための通信モジュールである。ここでの広域無線通信規格としては例えばLTE(Long Term Evolution)や4G、5Gなど多様なものを採用可能である。なお、広域通信部は、無線基地局を介した通信のほか、広域無線通信規格に準拠した方式によって、他の装置との直接的に、換言すれば基地局を介さずに、無線通信を実施可能に構成されていても良い。つまり、広域通信部はセルラーV2Xを実施するように構成されていても良い。自車両は、V2X車載器14の搭載により、インターネットに接続可能なコネクテッドカーとなる。例えば位置推定器20は、V2X車載器14との協働により、所定のサーバから最新の高精度地図データをダウンロードして、地図記憶部15に格納されている地図データを更新できる。
【0029】
V2X車載器14が備える狭域通信部は、通信距離が数百m以内に限定される通信規格である狭域通信規格に準拠する態様で、自車両周辺に存在する他の移動体や路側機と直接的に無線通信を実施するための通信モジュールである。他の移動体としては、車両のみに限定されず、歩行者や、自転車などを含めることができる。狭域通信規格としては、IEEE1609にて開示されているWAVE(Wireless Access in Vehicular Environment)規格や、DSRC(Dedicated Short Range Communications)規格など、任意のものを採用可能である。
【0030】
地図記憶部15は、高精度地図データを記憶している不揮発性メモリである。ここでの高精度地図データは、道路構造、及び、道路沿いに配置されている地物についての位置座標等を、自動運転に利用可能な精度で示す地図データに相当する。自動運転に利用可能な精度とは、例えば、各地図要素にかかる実際の位置と地図に登録されている位置との誤差10cm~20cm以下に抑制されているレベルに相当する。高精度地図データは、例えば、道路の3次元形状データや、レーンデータ、地物データ等を備える。上記の道路の3次元形状データには、複数の道路が交差、合流、分岐する地点(以降、ノード)に関するノードデータと、その地点間を結ぶ道路(以降、リンク)に関するリンクデータが含まれる。
【0031】
リンクデータには、道路端の位置座標を示す道路端情報や、道路の幅員などを示す。リンクデータには、自動車専用道路であるか、一般道路であるかといった、道路種別を示すデータも含まれていてもよい。ここでの自動車専用道路とは、歩行者や自転車の進入が禁止されている道路であって、例えば高速道路などの有料道路などを指す。リンクデータには、自律走行が許容される道路であるか否かを示す属性情報を含んでもよい。
【0032】
レーンデータは、レーン数や、レーンごとのレーン境界線の設置位置情報、レーンごとの進行方向、レーンレベルでの分岐/合流地点を示す。レーンデータには、例えば、レーン境界線が実線、破線、ボッツドッツのいずれのパターンによって実現されているかを示す情報が含まれていてもよい。レーン境界線や道路端(以降、レーン境界線等)の位置情報は、レーン境界線が形成されている地点の座標群(つまり点群)として表現されている。なお、他の態様としてレーン境界線等の位置情報は、多項式表現されていてもよい。レーン境界線等の位置情報は、多項式表現された線分の集合体(つまり線群)でもよい。
【0033】
地物データは、一時停止線などの路面表示の位置及び種別情報や、ランドマークの位置、形状、及び種別情報を含む。ランドマークには、交通標識や信号機、ポール、商業看板など、道路沿いに設置された立体構造物が含まれる。なお、地図記憶部15は、自車両から所定距離以内の高精度地図データを一時的に記憶する構成であっても良い。また、地図記憶部15が保持する地図データは、ナビゲーション用の地図データであるナビ地図データであっても良い。ナビ地図データは、高精度地図データよりも相対的に精度の劣る地図データに相当する。
【0034】
HMIシステム16は、ユーザ操作を受け付ける入力インターフェース機能と、ユーザへ向けて情報を提示する出力インターフェース機能とを提供するシステムである。HMIシステム16は、ディスプレイ161とHCU(HMI Control Unit)162を備える。なお、ユーザへの情報提示の手段としては、ディスプレイ161の他、スピーカや、バイブレータ、照明装置(例えばLED)等を採用可能である。
【0035】
ディスプレイ161は、画像を表示するデバイスである。ディスプレイ161は、例えばインストゥルメントパネルの車幅方向中央部の最上部に設けられた、いわゆるセンターディスプレイである。ディスプレイ161は、フルカラー表示が可能なものであり、液晶ディスプレイ、OLED(Organic Light Emitting Diode)ディスプレイ、プラズマディスプレイ等を用いて実現できる。なお、HMIシステム16がディスプレイ161として、フロントガラスの運転席前方の一部分に虚像を映し出すヘッドアップディスプレイを備えていてもよい。また、ディスプレイ161は、インストゥルメントパネルにおいて運転席の正面に位置する領域に配置された、いわゆるメータディスプレイであってもよい。
【0036】
HCU162は、ユーザへの情報提示を統合的に制御する構成である。HCU162は、例えばCPUやGPUなどのプロセッサと、RAMと、フラッシュメモリ等を用いて実現されている。HCU162は、運転支援ECU30から提供される情報や、図示しない入力装置からの信号に基づき、ディスプレイ161の表示画面を制御する。例えばHCU162は、ナビゲーション装置からの要求に基づき、経路案内画像をディスプレイ161に表示する。経路案内画像には、例えば交差点や分岐地点、車線増設地点などでの進行方向/走行推奨レーンを示す、いわゆるターンバイターン画像が含まれる。
【0037】
位置推定器20は、自車両の現在位置を特定するデバイスである。位置推定器20が自車位置推定装置に相当する。位置推定器20の機能の詳細については別途後述する。位置推定器20は、処理部21、RAM22、ストレージ23、通信インターフェース24、及びこれらを接続するバス等を備えたコンピュータを主体として構成されている。処理部21は、RAM22と結合された演算処理のためのハードウェアである。処理部21がプロセッサに相当する。処理部21は、CPU等の演算コアを少なくとも一つ含む構成である。処理部21は、RAM22へのアクセスにより、種々の処理を実行する。ストレージ23は、フラッシュメモリ等の不揮発性の記憶媒体を含む構成である。ストレージ23には、処理部21によって実行されるプログラムである位置推定プログラムが格納されている。処理部21が位置推定プログラムを実行することは、位置推定プログラムに対応する方法(つまり走行位置推定方法)が実行されることに相当する。通信インターフェース24は、車両内ネットワークNwを介して他の装置と通信するための回路である。通信インターフェース24は、アナログ回路素子やICなどを用いて実現されればよい。位置推定器20は、自車両の走行レーンのレーンID(つまり走行レーン番号)や、路側帯の幅の算出結果、自車位置の決定に使用した地物の種別などを車両内ネットワークNwに逐次出力するように構成されていても良い。
【0038】
運転支援ECU30は、前方カメラ11の検出結果及び位置推定器20の推定結果に基づいて走行アクチュエータ18を制御することにより、運転操作の一部または全部を運転席乗員の代わりに実行するECUである。運転支援ECU30は、車両を自律的に走行させる自動運転装置としての機能を備えていてもよい。走行アクチュエータ18は、走行用のアクチュエータ類を指す。走行アクチュエータ18には、車両の加速、減速、及び操舵に係る機械要素が含まれる。走行アクチュエータ18は、例えば、制動装置や、電子スロットル、操舵アクチュエータなどを含む。制動装置とは例えばブレーキアクチュエータである。
【0039】
運転支援ECU30は、車両制御機能の1つとして、レーントレースコントロール(LTC:Lane Trace Control)機能を提供するLTC部H1を備える。LTC機能は、自車走行レーンに沿って自車走行レーン内で自車両を走行させる機能である。LTC部H1は、自車走行レーンに沿った予定走行ラインを生成し、当該予定走行ラインに沿うように操舵アクチュエータを介して操舵角を制御する。例えばLTC部H1は、自車走行レーンの中心に向かう方向への操舵力を発生させることにより、自車両を走行レーンの中心に沿って走行させる。
【0040】
このような運転支援ECU30は、位置推定器20と同様に、処理部、RAM、ストレージ、通信インターフェース、及びこれらを接続するバス等を備えたコンピュータを主体として構成されている。各要素の図示は省略している。運転支援ECU30が備えるストレージには、処理部によって実行されるプログラムである運転支援プログラムが格納されている。処理部が運転支援プログラムを実行することは、運転支援プログラムに対応する方法が実行されることに相当する。
【0041】
運行記録装置50は、車両の走行時の車両内の状況、及び、車室外の状況を示すデータを記録する装置である。車両の走行時の車両内の状況には、位置推定器20の作動状態や運転支援ECU30の作動状態、運転席乗員の状態を含めることができる。位置推定器20の作動状態を示すデータには、道路端の認識状況や、道路端を表す回帰式、路側帯の幅の算出値、自車位置の決定に使用した地物の種別などが含まれる。運転支援ECU30の作動状態を示すデータには、運転支援ECU30における周辺環境の認識結果や、走行計画、各走行アクチュエータの目標制御量などの算出結果も含まれる。記録対象とするデータは、車両内ネットワークNw等を介して、位置推定器20や、運転支援ECU30、前方カメラを含む周辺監視センサなど、車両に搭載されているECUやセンサから取得する。運行記録装置50は、例えば所定の記録イベントが発生した場合に、記録対象に設定されている項目のデータを不揮発性の記憶媒体に保存する。なお、運行記録装置50によるデータの保存先は外部サーバであってもよい。
【0042】
<位置推定器20の機能について>
ここでは
図3を用いて位置推定器20の機能及び作動について説明する。位置推定器20は、ストレージ23に保存されている位置推定プログラムを実行することにより、
図3に示す種々の機能ブロックに対応する機能を提供する。すなわち、位置推定器20は機能ブロックとして、暫定位置推定部F1、地図取得部F2、走路情報取得部F3、レーン特定部F4、及び詳細位置算出部F5を備える。
【0043】
暫定位置推定部F1は、GNSS受信機13の測位結果と、慣性センサの検出結果とを組み合わせることにより、自車両の位置を逐次測位する。例えば、暫定位置推定部F1は、トンネル内などGNSSによる測位結果を取得できない場合には、ヨーレートと車速を用いてデッドレコニング(Dead Reckoning /自律航法)を行う。デッドレコニングに用いるヨーレートは、SfM技術を用いてカメラECU41で認識されたものでもよいし、ヨーレートセンサで検出されたものでもよい。
【0044】
地図取得部F2は、地図記憶部15から、現在位置を基準として定まる所定範囲の地図データ(地図情報)を読み出す。地図参照に利用される現在位置は、暫定位置推定部F1で特定されたものであってもよいし、詳細位置算出部F5で特定されたものであっても良い。例えば、詳細位置算出部F5が現在位置を算出できている場合には、当該位置情報を用いて地図データを取得する。一方、詳細位置算出部F5が現在位置を算出できていない場合には、暫定位置推定部F1が算出した位置座標を用いて地図データを取得する。一方、イグニッション電源がオンとなった直後は、例えば、メモリに保存されている前回の位置算出結果をもとに地図参照範囲を決定する。メモリに保存されている前回の位置算出結果は、前回のトリップの終了地点、すなわち駐車位置に相当するためである。なお、地図取得部F2は、V2X車載器14を介して外部サーバ等から自車両周辺の高精度地図データを逐次ダウンロードするように構成されていてもよい。地図記憶部15は車両外部に設けられていても良い。
【0045】
走路情報取得部F3は、前方カメラ11が備えるカメラECU41から走行路データを取得する。すなわち、前方カメラ11で認識しているレーン境界線及び道路端(以降、レーン境界線等)の相対位置や、道路端の回帰線パラメータを取得する。道路端の相対位置情報を取得する構成が道路端情報取得部F31に相当する。レーン境界線の相対位置情報などを取得する構成が境界線情報取得部F32に相当する。
【0046】
道路端等の位置は、例えば自車の基準点を原点とするXY座標系である車両座標系で表現される。この車両座標系を構成するX軸は車両の左右方向に平行であって、例えば右方向を正方向とするように設定されている。Y軸は車両の前後方向に平行であって、車両の前方に向かう方向を正方向とするように設定されている。
【0047】
なお、道路端等の位置を表現する座標系は多様なものを採用可能である。例えばカメラECU41の画像認識ソフトウェアがCAD等で利用されるワールド座標系(WCS)やプログラム座標系(PCS)を用いて検出物の位置を表現するように構成されている場合には、道路端等の相対位置もまたWCSやPCSで表現されても良い。車両座標系もまた、車両前方をX軸正方向、車両左側をY軸正方向とするように構成されていてもよい。走路情報取得部F3は、道路端等の位置を画像座標系で表現したデータを取得しても良い。
【0048】
また、走路情報取得部F3は、カメラECU41から取得したレーン境界線等の相対位置座標を、グローバル座標系における位置座標(以降、観測座標とも記載)に変換してもよい。レーン境界線等の観測座標は、自車両の現在位置座標と、自車両に対するレーン境界線等の相対位置情報とを組み合わせることで算出可能である。レーン境界線等の観測座標の算出に使用する車両の現在位置座標は、詳細位置算出部F5が現在位置を算出できている場合には、当該位置情報を用いればよい。一方、詳細位置算出部F5が現在位置を算出できていない場合には、暫定位置推定部F1が算出した位置座標を用いればよい。なお、自車両の現在位置座標を用いたレーン境界線等の観測座標の算出はカメラECU41が実施しても良い。以降では、前方カメラ11で検出されているレーン境界線のことを検出境界線とも記載する。また、前方カメラ11で検出されている道路端のことを検出道路端とも記載する。
【0049】
レーン特定部F4は、走路情報取得部F3が取得した道路端やレーン境界線の相対位置情報に基づいて、自車両が走行しているレーンである走行レーンを特定する構成である。レーン特定部F4は、自車両が走行している道路である走行路に設けられている路側帯の幅を算出する、路側帯幅算出部F41を備える。レーン特定部F4及び路側帯幅算出部F41の詳細は別途後述する。なお、レーン特定部F4は、方面看板などのランドマークの相対位置情報を用いて走行レーンや走行位置を特定するように構成されていてもよい。レーン特定部F4が走行レーン特定部に相当する。
【0050】
詳細位置算出部F5は、レーン特定部F4の特定結果や走路情報取得部F3の取得データに基づいて、走行レーン内での自車両の詳細位置を特定する。具体的には走行レーンの左側境界線との距離と右側境界線との距離に基づいて、走行レーンの中心から左右方向へのオフセット量を算出する。またレーン特定部F4で特定された走行レーン情報と、レーン中心からのオフセット量を組み合わせることで、走行路における自車両の横位置を特定する。詳細位置算出部F5で特定されたレーン中心からのオフセット量は、例えばLTC部H1などに利用される。
【0051】
その他、詳細位置算出部F5は、レーン特定部F4の特定結果と、前方カメラ11にて検出されたランドマーク情報に基づいて、地図上の詳細な自車位置を特定してもよい。例えば、画像解析の結果として、左側道路端から車両中心までの距離が1.75mと特定されている場合には、地図が示す左側道路端の座標から右側に1.75mずれた位置に自車両が存在すると判定する。また、例えば画像解析結果として、自車両正面に存在する方面看板までの距離が100mと特定している状況においては、地図データに登録されている当該方面看板の位置座標から100mだけ手前側にずれた位置に自車両が存在すると判定する。ここでの手前側とは自車両の進行方向と逆の方向を指す。前進走行時においては手前側とは車両後方に対応する。
【0052】
なお、前方カメラ11で検出されているランドマークと地図に登録されているランドマークとの対応付けは、例えば、ランドマークの観測座標と、地図に登録されている座標情報との比較により実施可能である。例えば地図に登録されているランドマークのうち、ランドマークの観測座標から最も近いランドマークを同一のランドマークと推定する。ランドマークの照合に際しては例えば形状,サイズ,色等の特徴量を用いて、特徴の一致度合いがより高いランドマークを採用することが好ましい。観測されているランドマークと地図上のランドマークとの対応付けが完了すると、詳細位置算出部F5は、地図上のランドマークの位置から観測ランドマークと自車両の距離だけ縦方向にずらした位置を、地図上の自車の縦位置に設定する。
【0053】
以上のように、詳細位置算出部F5が横方向だけでなく縦方向の自車位置も算出する構成によれば、交差点や、カーブ入口/出口、渋滞の最後尾、道路分岐点などといった、道路上の特徴点(換言すればPOI)までの残り距離を高精度に算出可能となる。加えて、横方向における自車位置推定を行うことにより、車線変更を右左折等のために車線変更をすべきか否か、車線変更を行う必要がある場合にはいつまでに実施しなければならないかを特定可能となる。なお、上述したようなランドマークや道路端の検出位置情報を用いて、地図上の自車両の現在位置を特定する処理はローカライズ処理とも称される。ローカライズ処理の結果としての自車位置は、地図データと同様の座標系(例えば緯度、経度、高度)で表現されればよい。自車位置情報は、例えばWGS84(World Geodetic System 1984)など、任意の絶対座標系で表現することができる。
【0054】
<レーン特定処理について>
次に
図4に示すフローチャートを用いて位置推定器20(主としてレーン特定部F4)が実行するレーン特定処理について説明する。
図4に示すフローチャートは例えば車両の走行用電源がオンとなっている間、所定の周期(例えば100ミリ秒毎)に実行される。走行用電源は、例えばエンジン車両においてはイグニッション電源である。電気自動車においてはシステムメインリレーが走行用電源に相当する。本実施形態では一例としてレーン特定処理はステップS0~S10を備える。ステップS1~S10はレーン特定部F4によって実行される。当該一連の処理フローは、繰り返し実行されるものであって、処理が成功した場合には、本処理にて算出された自車位置情報がメモリに保存される。なお、ステップS0は、地図取得部F2が走行路の地図データを取得する処理である。地図取得部F2が走行路の地図データを取得する処理は、事前の準備処理として本フローとは独立して実行されても良い。ステップS0が地図取得ステップに相当する。
【0055】
ステップS1では、自車両から所定距離前方に位置する判定ポイントでの道路端やレーン境界線といった種々の地物の横位置(X座標)を算出する。ステップS1が位置取得ステップに相当する。判定ポイントは例えば、自車両から10.0m先の地点とすることができる。なお、判定ポイントは、5.0m先の地点であっても良いし、8.5m先の地点であっても良い。判定ポイントは、前方カメラ11の撮像範囲に含まれる所定地点とすることができる。判定ポイントは、自車両から所定距離前方に位置する点、及び、当該地点の左右に存在する地点を含む線状の概念である。判定ポイントは、判定ラインと読み替えることができる。判定ポイントにおける道路端の横位置は、例えば、道路端の回帰線パラメータに基づいて算出される。
【0056】
各種地物の位置は、例えば自車両を基準とする車両座標系で表現される。また、判定ポイントにおけるレーン境界線や道路端の横位置(ここではX座標)は、自車両の車速やヨーレートを用いて、
図5に示すようにカーブ形状に沿った横位置へと補正して用いられる。具体的には、自車両の車速とヨーレートを用いて、自車両が実際に判定ポイントに至るまでの所要時間tを算出する。そして判定ポイントまでの所要時間とヨーレートと車速とから、自車両が判定ポイントに到達した場合の横方向(つまりX軸方向)の変位量ΔXを算出する。
【0057】
具体的には判定ポイントまでの所要時間をt、判定ポイントまでの距離をD、ヨーレートをω、車速をvとすると、D=(v/ω)sin(ωt)の関係が成り立つ。所要時間tは、当該式を解くことにより定まる。また、横方向の変位量ΔXは、ΔX=(v/ω){1-cos(ωt)}の式から算出可能である。
【0058】
レーン特定部F4は、前方カメラ11で現在検出されている道路端の横位置からΔXを差し引くことで、カーブ形状に沿った横位置座標に補正する。
図5中のP1、P2は、自車両の左右に存在するレーン境界線の、判定ポイントでの補正前の位置座標を表しており、P1a、P2aは補正後の位置を表している。このようにヨーレートを用いて判定ポイントにおけるレーン境界線や道路端の位置補正を行う構成によれば、道路の曲率の影響を抑制することができる。ステップS1が完了するとステップS2を実行する。
【0059】
ステップS2では道路端傾き判定処理を実行する。道路端傾き判定処理は、道路端の回帰線の傾きに基づいて、位置を誤認識している可能性がある道路端についての情報を、以降の処理で使用しないようするための処理である。道路端傾き判定処理については別途説明する。ステップS2が完了すると、位置を誤認識している可能性が高い道路端を除いた、ある程度の妥当性を有する道路端情報が得られる。ステップS2が完了するとステップS3を実行する。ステップS2は必須の要素ではなく、適宜省略可能である。ただし、ステップS2を実行することにより、路側帯の幅を誤算出したり、走行レーンを誤ったりする可能性を低減可能となる。
【0060】
ステップS3ではレーン妥当性判定処理を実行する。レーン妥当性判定処理は、検出されているレーン境界線が、レーンを構成するレーン境界線として一定の妥当性を有しているかをチェックする処理である。換言すれば、誤検出の可能性があるレーン境界線についての情報を除去するための処理に相当する。レーン境界線の検出結果の妥当性をチェックする観点としては、例えば、検出されているレーン境界線の横位置が道路端位置より外側となっていないか、レーン境界線同士の間隔がレーン幅としてありえないほどと小さい値となっていないかなどが挙げられる。レーン妥当性判定処理の詳細は別途後述する。ステップS3を実行することにより、誤検出の可能性が高いレーン境界線を除いた、ある程度の妥当性を有する境界線情報が得られる。ステップS3が完了するとステップS4を実行する。
【0061】
ステップS4では路側帯幅算出部F41が、路側帯幅算出処理を実行する。当該処理は判定ポイントにおける路側帯の幅を算出する構成である。ここでの路側帯とは道路においてレーン以外の領域を指す。ここでの路側帯には、路肩も含まれる。また、路側帯には、車道外側線と道路端とで挟まれる領域を含めることができる。車道外側線は、車道の路端寄りに引かれている区画線を指す。また、路側帯には、道路端に隣接しているゼブラゾーン(換言すれば導流帯)を含めることができる。ゼブラゾーンは、縞模様が描かれた路面領域を指す。ステップS4としての路側帯幅算出処理の詳細は別途後述する。ステップS4を実行することにより、路側帯幅の算出値が得られる。ステップS4が完了するとステップS5を実行する。
【0062】
ステップS5では道路端妥当性判定処理を実行する。道路端妥当性判定処理は、ステップS1で算出されている道路端の横位置座標が妥当性を有するか否かを検証する処理である。例えば、ステップS1で算出されている道路端の横位置が、前方カメラ11にてレーンの存在が確認されている領域であるレーン検出範囲内に入り込んでいる場合に、当該道路端の横位置は誤りであると判定し、誤算出している道路端の横位置情報を破棄する。道路端妥当性判定処理についての詳細は別途後述する。なお、ステップS5の判定内容は、ステップS3のレーン妥当性判定処理に含まれうる。ステップS5は必須の要素ではない。ステップS5が完了するとステップS6を実行する。
【0063】
ステップS6では地図整合性判定処理を実行する。地図整合性判定処理は、以上の処理で得られた道路情報と、地図に登録されている道路情報との整合性を判定する処理である。地図整合性判定処理の詳細は別途後述する。当該地図整合性判定処理を実行することにより、例えばステップS4で算出した路側帯の幅が妥当な値であるか誤りであるかなどを検証できる。ステップS6もまた必須の構成でなく、省略可能な構成である。ただし、ステップS6を実行することにより、走行レーンを誤特定する可能性を低減可能となる。ステップS6が完了するとステップS7を実行する。
【0064】
ステップS7では、走行レーンの幅を算出する。例えば、車両右側において最も近くに位置するレーン境界線から、自車両の左側において最も近くに存在するレーン境界線までの距離を走行レーン幅として算出する。レーン境界線を3本以上検出できている場合には、各レーン境界線の間隔の平均値をレーン幅として算出しても良い。ステップS7では、他のレーン、すなわち自車両が走行していないレーンの幅もステップS7にて算出しても良い。自車両が走行しているレーンの幅を、他のレーンの幅とみなしても良い。ステップS7が完了することにより、走行路におけるレーン幅が決定される。ステップS7が完了するとステップS8を実行する。
【0065】
ステップS8では個別レーン位置特定処理を実行する。個別レーン位置特定処理は、各レーンの存在範囲を算出する処理である。個別レーン位置特定処理には、不正な位置に存在するレーンを破棄する処理も含まれる。ステップS8の詳細は別途後述する。ステップS8が完了するとステップS9を実行する。以上の処置により、各レーンの位置が路側帯の幅に基づいて決定される。具体的には、第1レーンや第2レーンが道路端からどれくらい離れた位置に存在するのかが、路側帯の幅を加味して決定される。
【0066】
ステップS9では、道路端から自車両までの距離と、算出されている路側帯幅とに基づいて、自車両の走行レーンを特定する。各レーンの位置は自車両を基準とする車両座標系で表現されるため、X=0.0となる地点を含むレーンが走行レーンに該当する。例えば第2レーンの左端X座標が-2.0、右端X座標が+1.0である場合には、自車両は第2レーンに存在すると判定する。走行レーンは、左側道路端から何番目のレーンで有るかを示すレーンIDで表現することができる。各レーンの位置は路側帯幅を考慮して決定されるため、上記処理は、路側帯に隣接するレーンを基準として(例えば第1レーンとして)走行レーンを決定する構成に相当する。なお、レーンIDは右側道路端を基準として割り当てられるものであっても良い。ステップS9が走行レーン特定ステップに相当する。ステップS9が完了するとステップS10を実行する。
【0067】
ステップS10では以上で特定された走行レーンや路側帯幅等の情報を外部に出力する。出力先としては、運転支援ECU30のほか、運行記録装置50や、ナビゲーション装置、車両外部に設けられている地図生成サーバなどが挙げられる。運転支援ECU30や、運行記録装置50、ナビゲーション装置、地図生成サーバなどが外部装置に相当する。
【0068】
<ステップS2:道路端傾き判定処理について>
道路端の回帰線は通常、
図6に示すように、画像内における左側道路端は負の傾き、右側道路端は正の傾きとなる。一方、
図7に例示するように画像の縁部付近や道路端付近に他車両が写り込んでいる場合、当該他車両のエッジを道路端の一部と誤認識して、道路端の回帰線が実際の道路端から大きくずれてしまう。当然道路端の回帰線が大きくずれると、判定ポイントでの道路端の認識位置と実際の位置との乖離が大きくなり、走行レーンを誤判定する原因となる。なお、
図6に示す破線はレーン境界線を概念的に示しており、一点鎖線は左側道路端の回帰線を、二点鎖線は右側道路端の回帰線を示している。
図7の構成要素も
図6と同様であるが、相対的に細い一点鎖線は真の左側道路端を示し、相対的に太い一点鎖線が、カメラECU41が算出した左側道路端の回帰線を表している。
【0069】
本処理は上記の課題及び性質に着眼して導入されたものであって、判定ポイントでの傾きが正常範囲から逸脱している道路端の認識結果を破棄するように構成されている。以下、道路端傾き判定処理について
図8を用いて説明する。
図8に示す道路端傾き判定処理としてのフローは、
図4のステップS2として実行される。
【0070】
本実施形態の道路端傾き判定処理は一例として、ステップS201~S205を備える。傾きの正/負は、画像座標系の定義の仕方によって異なりうる。それに伴い、各道路端の傾きの正常範囲もまた画像座標系の定義の仕方によって変容する。ここでは一例として画像フレームの左上を原点、右側をX軸正方向、下方向をY軸正方向とする場合を例にとって説明する。
【0071】
ステップS201では、左右それぞれの道路端の回帰線パラメータを取得して、ステップS202に移る。ステップS202では、判定ポイントでの左右それぞれの道路端の画像内での傾きを算出する。道路端の傾きは、例えば、回帰線を1階微分した関数式に、判定ポイントでのY座標値を代入することにより算出する。左側及び右側の道路端について、判定ポイントでの画像内における傾き、換言すれば画像座標系での傾きを算出したらステップS203を実行する。
【0072】
ステップS203では、画像座標系での判定ポイントにおける道路端の傾きが、所定の正常範囲に収まっているか否かを判定する。当該処理は、左側道路端、右側道路端のそれぞれに対して実行される。すなわち、画像座標系での判定ポイントにおける左側道路端の傾きが、左側道路端用の所定の正常範囲に収まっているか否かを判定する。また、右側道路端の画像内傾きが、右側道路端用の所定の正常範囲に収まっているか否かを判定する。左側道路端用の正常範囲は例えば0より大きい値とすることができる。また、右側道路端用の正常範囲は、0よりも小さい値とすることができる。なお、各道路端の画像内における傾きの正常範囲は、地図データに登録されている道路の曲率を考慮して、動的に調整しても良い。
【0073】
道路端の画像内における傾き(換言すれば回帰線の傾き)が正常範囲に収まっている場合には、当該道路端の認識位置を実際の道路端の位置として採用する。一方、道路端の画像内傾きが正常範囲外となっている場合、その道路端の認識位置データを破棄する。つまり、判定ポイントでの回帰線の傾きが正常範囲外の値となっている道路端の情報は、以降の処理に使用されなくなる。これにより、道路端の誤認識によって走行レーンを誤認識するおそれを低減することができる。
【0074】
<ステップS3:レーン妥当性判定処理について>
ここでは
図9を用いてレーン妥当性判定処理について説明するレーン妥当性判定処理は
図4のステップS3として実行される。レーン妥当性判定処理は一例として、ステップS301~S311を備える。ステップS301では、前方カメラ11にて検出されているレーン境界線の数である検出境界線数を取得し、ステップS302に移る。ステップS302では、ステップS301で取得した検出境界線数に基づいて、レーン候補数Cnを算出する。レーン候補数Cnは、互いに隣接する検出境界線で挟まれる領域であるレーン候補の数に相当する。レーン候補数Cnは、検出境界線数から1を減算した値となる。例えば、
図10に示すように6本のレーン境界線が検出されている場合には、レーン候補数Cnは5となる。
【0075】
なお、
図10に示す「B1」~「B6」は、検出されているレーン境界線を示している。「EgL」は左側道路端を、「EgR」は右側道路端をそれぞれ表している。「Hv」は自車両を表している。以降では左からi番目のレーン候補のことを第iレーン候補と記載する。
図10に示す例では、自車両は第3レーン候補に位置していることになる。ここでは一例として左側からレーン候補やレーン境界線の番号を割り振るように構成されているものとする。もちろん、他の構成例として、複数のレーン候補やレーン境界線を識別するための番号は右から割り振られても良い。
【0076】
ステップS302での処理が完了するとステップS303を実行する。ステップS303では処理上の変数kを初期化(具体的には1に設定)してステップS304に移る。ステップS304では、第kレーン候補を以降の処理の対象に設定してステップS305に移る。
【0077】
ステップS305では第kレーン候補の幅WLCが、最小レーン幅LWminよりも小さいか否かを判定する。第kレーン候補の幅WLCが、最小レーン幅LWminよりも小さい場合には、ステップS306に移る。一方、第kレーン候補の幅WLCが、最小レーン幅LWmin以上である場合にはステップS307に移る。第kレーン候補の幅WLCが、最小レーン幅LWminよりも小さいということは第kレーン候補が、実際はレーンではなく、路側帯であること、及び/又は、第kレーン候補を構成する外側のレーン境界線は誤検出されたものであることを意味する。また、第kレーン候補の幅WLCが最小レーン幅LWmin以上であることは第kレーン候補が真にレーンである可能性があることを意味する。
【0078】
最小レーン幅LWminは、レーンの幅としてありえる範囲の最小値である。最小レーン幅LWminは、自車両が使用される地域の法規に基づいて設定されている。例えば最小レーン幅LWminは2.5mに設定されている。もちろん、最小レーン幅LWminは2.2mや2.75m、3.0m、3.5mなどであってもよい。誤判定を抑制するために、本処理で使用する最小レーン幅LWminは、法規等で規定されている実際のレーン幅の最小値よりもさらに所定量(例えば0.25m)小さい値に設定されていることが好ましい。最小レーン幅LWminの設定値は、自車両が走行している道路種別に応じて変更されてもよい。例えば自車両が高速道路を走行している場合の最小レーン幅LWminは、自車両が一般道路を走行している場合の最小レーン幅LWminよりも大きく設定されてもよい。そのような構成によれば最小レーン幅LWminとして道路種別に応じた設定値が適用されるため、レーン境界線の検出結果の妥当性を誤判定することを抑制可能となる。
【0079】
ステップS306では第kレーン候補を構成する2つのレーン境界線のうち、自車両からみて外側に存在するレーン境界線は誤検出されたものであるとみなす。また、第kレーン候補を構成する内側のレーン境界線をレーン検出範囲の端部に設定する。これは、第kレーン候補を構成する内側のレーン境界線までが、レーン検出範囲であると判定することに相当する。
【0080】
例えば、第5レーン候補の幅WLCが最小レーン幅LWminよりも小さい場合には、第5レーン候補を構成するレーン境界線B5、B6のうち、自車両からみて外側に存在するレーン境界線B6を破棄し、レーン境界線B5をレーン検出範囲の端部に設定する。ステップS305~S306を実行することにより、以降の処理で誤検出の可能性が高いレーン境界線情報を使用するおそれを低減できる。レーン検出範囲の右側端部は、前方カメラ11で検出されているレーン境界線のうち、最も右側に位置し、かつ、有効なレーン境界線である右側最外検出線に相当する。有効なレーン境界線とは、隣接するレーン境界線との間隔や道路端との位置関係を鑑みて、誤検出の可能性が低いと判断され、以降の処理でも使用されるレーン境界線をさす。また、レーン検出範囲の左側端部は、前方カメラ11で検出されているレーン境界線の中で最も左側に位置し、かつ、有効なレーン境界線である左側最外検出線に相当する。
【0081】
ステップS307では第kレーン候補を構成するレーン境界線のうち、左側に位置するレーン境界線である左側境界線が、左側道路端よりも自車両から見て外側(ここでは左側)に位置しているか否かを判定する。左側境界線が左側道路端よりも外側に位置している場合にはステップS308を実行する。一方、左側境界線が左側道路端よりも外側に位置していない場合にはステップS309を実行する。
【0082】
ステップS308では第kレーン候補を構成するレーン境界線のうち、右側に位置するレーン境界線である右側境界線をレーン検出範囲の左側端部に設定する。例えば
図10に示すように、第1レーン候補の左側境界線に相当するレーン境界線B1が左側道路端EgLよりも外側に位置している場合には、レーン境界線B1についての検出結果を破棄して、レーン境界線B2をレーン検出範囲の左側端部に設定する。当該処理は、第kレーン候補の左側境界線の検出は誤りであったとみなす処理に相当する。
【0083】
ステップS309では第kレーン候補の右側境界線が、右側道路端よりも自車両から見て外側(ここでは右側)に位置しているか否かを判定する。右側境界線が右側道路端よりも外側に位置している場合にはステップS310を実行する。一方、右側境界線が右側道路端よりも外側に位置していない場合にはステップS311を実行する。ステップS310では第kレーン候補の左側境界線をレーン検出範囲の右側端部に設定する。当該処理は、第kレーン候補の右側境界線の検出は誤りであったとみなす処理に相当する。
【0084】
ステップS307~S310を実行することにより、道路端よりも外側に位置するレーン境界線のデータが以降の処理において不使用となる。道路端より外側に検出されているレーン境界線は誤検出の可能性が相対的に高い。つまり、ステップS307~S310を実行することにより、誤検出の可能性が高いレーン境界線情報が以降の処理(つまりレーン特定)に使用されるおそれを低減できる。
【0085】
ステップS311では変数kの値を1つ加算して、つまりインクリメントして、ステップS312に移る。ステップS312では、変数kがレーン候補数Cn以下であるか否かを判定する。k≦Cnの関係を満たす場合にはステップS304を実行する。一方、k>Cnの関係を満たす場合には本フローを終了して
図4に示すステップS4を実行する。ステップS312は全てのレーン候補のなかに未処理のレーン候補が残っているか否かを判定する処理に相当する。換言すれば全てのレーン候補についてステップS304~S310の処理を実行したか否かを判定する処理に相当する。なお、本実施形態では変数kを1からレーン候補数Cnまでインクリメントさせていく態様を開示したが、これに限らない。変数kは、レーン候補数Cnから1までデクリメントさせていってもよい。
【0086】
以上の処理を実行することにより、例えば
図10に示すような検出結果は、
図11に示す認識内容へと修正される。すなわち、左側道路端よりも左側に位置するレーン境界線B1や、隣接するレーン境界線との距離が最小レーン幅LWmin未満となっているレーン境界線B6の情報を破棄/不使用とする。
【0087】
<ステップS4:路側帯幅算出処理について>
ここでは
図12を用いて路側帯幅算出処理について説明する。
図12に示す路側帯幅算出処理は例えば
図4のステップS4として実行される。ここでは一例として路側帯幅算出処理はステップS401~S404を備える。ステップS401~S404は、レーン検出範囲の右側端部と左側端部の両方について、それぞれ個別に実行される。便宜上、レーン検出範囲の右側端部を処理対象とする場合を例にとって各ステップの説明を行うがレーン検出範囲の左側端部についても同様に実施される。
【0088】
ステップS401ではレーン検出範囲の右側端部と右側道路端との離隔が最小レーン幅LWminよりも小さいか否かを判定する。当該処理は、レーン検出範囲から最小レーン幅以上外側に、道路端が位置するか否かを判定する処理に相当する。レーン検出範囲の右側端部と右側道路端の離隔が最小レーン幅LWminよりも小さい場合にはステップS403を実行する。なお、レーン検出範囲と道路端との離隔が最小レーン幅LWmin未満であるということは、レーン検出範囲の端部から道路端までのエリアがレーンではないこと、すなわち、路側帯であることを意味する。一方、レーン検出範囲の右側端部と右側道路端の離隔が最小レーン幅LWmin以上である場合にはステップS402を実行する。
【0089】
ステップS402では、レーン検出範囲の右側に未検出のレーン境界線がないことが明らかであるか否かを判定する。例えば前方カメラ11のレーン検出可能範囲に道路端が映っている場合や、レーン検出範囲から道路端までの路面を撮像されている場合には、ステップS402を肯定判定してステップS403に移る。前方カメラ11のレーン検出可能範囲は、例えばレーン3つ分に相当する水平角度範囲など、前方カメラ11の仕様として定まっているものである。レーン検出範囲から道路端までの路面を撮像されている場合には、例えば、レーン検出範囲の右側に他車両が存在しない場合などが含まれる。
【0090】
一方、レーン検出範囲の右側に未検出のレーン境界線が存在しないことが明らかではない場合には、ステップS402を否定判定してステップS404に移る。レーン検出範囲の右側に未検出のレーン境界線が存在しないことが明らかではない場合とは、例えば、前方カメラ11のレーン検出可能範囲からレーン1つ分以上外側に道路端が位置している場合が含まれる。また、レーン検出範囲の右側に他車両が存在するなどによってレーン検出範囲から道路端までの路面の一部又は全部を撮像できていない場合もまた、レーン検出範囲の右側に未検出のレーン境界線がないことが明らかではない場合に含まれうる。つまり、レーン検出範囲の右側に、未検出のレーン境界線が存在する可能性が残っている場合には、ステップS402を否定判定してステップS404を実行する。レーン検出範囲の右側に未検出のレーン境界線が存在する可能性がある場合には、レーン検出範囲の右側端部を規定するレーン境界線の検出信頼度が低い場合や、道路端自体の検出信頼度が低い場合なども含まれる。
【0091】
ステップS403ではレーン検出範囲の右側端部から右側道路端までの距離を、道路右側に設けられた路側帯幅として算出する。当該処理は、レーン検出範囲の端部から道路端までのエリアがレーンではないこと、すなわち、路側帯であると判定する処理に相当する。一方、ステップS404では、道路右側に設けられた路側帯幅を所定値(例えば2.5m)に設定して本フローを終了する。なお、ステップS404の内容は、路側帯幅が不明であるとして、レーン特定処理を中断しても良い。レーン特定処理を中断した場合には、走行レーンが不明であると判定してもよい。
【0092】
以上の処理を自車両の左側に位置する道路構成要素、つまりレーン検出範囲の左側端部と左側道路端に対して実行することにより、道路の左側に配されている路側帯の幅も算出される。本フローによって算出される路側帯幅は、後述するステップS6にて検証される。そのため、本フローによって算出された路側帯幅は、路側帯らしき領域の幅、つまり路側帯候補幅に相当する。
【0093】
上記構成によれば、レーン検出領域と道路端との距離を路側帯の幅として算出するため、路側帯の大きさを固定値とする構成に比べて、路側帯の幅として実際の値を設定可能となる。路側帯の大きさを固定値とする構成では、退避区間など幅が広い路側帯がある場合、固定値の路側帯幅と実際の路側帯幅との乖離が大きく発生し、走行レーンを間違えるおそれがある。これに対し、上記構成によれば、路側帯幅のシステム使用値と実際の値との乖離に起因して走行レーンを誤るおそれを低減できる。
【0094】
尚、上記処理は、認識できている最も外側のレーン境界線である最外検出線と道路端との離隔が所定の最小レーン幅未満である場合に、検出されている道路端の情報をレーン特定に使用する構成に相当する。また、最外検出線と道路端の間にレーン境界線がないことが明らかである場合に、検出されている道路端の情報をレーン特定に使用する構成に相当する。なお、最外検出線は、車両左側と右側のそれぞれに個別に適用される概念である。また、上記処理は、最外検出線と道路端との離隔が所定の最小レーン幅未満であることに基づいて、当該最外検出線から道路端までの領域を路側帯とみなす処理に相当する。
【0095】
<ステップS5:道路端妥当性判定処理について>
ここでは
図13を用いて道路端妥当性判定処理について説明する。当該処理は、道路端の回帰線によって定まった道路端の横位置が不正なものであるか否かを検証する処理である。道路端は、当然ながら、レーン内、すなわちレーン検出範囲には存在しない。本処理はそのような位置関係に着眼して創出されたものであり、一例としてステップS501~S506を備える。道路端妥当性判定処理としての
図13に示すフローは、
図4に示すレーン特定処理のステップS5として実行される。
【0096】
ステップS501では回帰式で定まる判定ポイントにおける左側道路端の位置がステップS3で算出されたレーン検出範囲の左側に存在するか否かを判定する。例えば回帰式に基づいて定まる左側道路端の横位置がレーン検出範囲の左側端部の横位置よりも左側となっているか否かを判定する。なお、左側道路端の横位置が、レーン検出範囲の左側端部の横位置よりも右側となっている場合とは、回帰式で定まる左側道路端の算出位置がレーン検出範囲に入り込んでいることを意味する。
【0097】
左側道路端の推定位置がレーン検出範囲の左側に位置している場合にはステップS501を肯定判定してステップS502を実行する。一方、左側道路端の推定位置が、レーン検出範囲の左側端部よりも右側に位置している場合にはステップS501を否定判定してステップS503を実行する。
【0098】
ステップS502では回帰式で定まる左側道路端の推定位置を、左側道路端の横位置として採用してステップS504に移る。ステップS503では、回帰式で定まる左側道路端の推定位置を破棄してステップS504に移る。当該処理は、左側道路端の算出位置は誤りであると判定する処理に相当する。ステップS503を実行する場合、左側道路端の位置は不明として処理される。
【0099】
ステップS504では、回帰式で定まる右側道路端の推定位置がステップS3で算出されたレーン検出範囲の右側に存在するか否かを判定する。例えば回帰式で定まった右側道路端の横位置がレーン検出範囲の右側端部の横位置よりも右側となっているか否かを判定する。なお、右側道路端の横位置が、レーン検出範囲の右側端部の横位置よりも左側となっている場合とは、回帰式で定まる右側道路端の推定位置がレーン検出範囲に入り込んでいることを意味する。
【0100】
右側道路端の推定位置がレーン検出範囲の右側に位置している場合にはステップS504を肯定判定してステップS505を実行する。一方、右側道路端の推定位置がレーン検出範囲の右側端部の左側に位置している場合にはステップS504を否定判定してステップS506を実行する。
【0101】
ステップS505では回帰式で定まる右側道路端の推定位置を、右側道路端の横位置として採用して本フローを終了する。ステップS506では、回帰式で定まる右側道路端の推定位置を破棄して本フローを終了する。当該処理は、右側道路端の算出位置は誤りであると判定する処理に相当する。ステップS506の場合、右側道路端の位置は不明として処理される。
【0102】
以上の処理によれば、他車両のエッジを道路端の一部と誤認識するなどに起因して、回帰式から定まる判定ポイントでの道路端の横位置が不正な値となっている場合、そのことを検出して、当該演算結果を破棄する事が可能となる。その結果、道路端位置の誤認識に起因して走行レーンを誤判定するおそれを低減できる。
【0103】
<ステップS6:地図整合性判定処理について>
ここでは
図14を用いて地図整合性判定処理について説明する。地図整合性判定処理はこれまでの処理で算出した路側帯幅や、レーン検出範囲、道路端位置などが、地図に登録されているデータと比較して妥当なものであるか否かを判定する処理である。本実施例では一例として地図整合性判定処理はステップS601~S606を備える。地図整合性判定処理としての
図14に示すフローは、
図4に示すレーン特定処理のステップS6として実行される。
【0104】
まずステップS601では、判定ポイントでの左右の道路端の横位置を取得できているか否かを判定する。例えば道路端傾き判定処理のステップS205や、道路端妥当性判定処理のステップS503、ステップS506などで、左右の道路端のうちの少なくとも何れか一方の位置情報が破棄されている場合には、ステップS601が否定判定される。判定ポイントでの左右の道路端の横位置を取得できている場合にはステップS601が肯定判定されてステップS602を実行する。一方、左右の道路端の何れか一方でも、判定ポイントでの横位置を取得失敗している場合にはステップS601を否定判定してステップS606を実行する。
【0105】
ステップS602では、左右の道路端の位置の差を道路幅RWとして算出してステップS603に移る。ステップS603では、前ステップS602で算出した道路幅RWから路側帯幅の算出値RsWを減算した値を、標準レーン幅LWstdで除算することで、レーン数の推定値である推定レーン数Nfを算出する。つまり、推定レーン数Nfは、(RW-RsW)/LWstdにて算出される。推定レーン数Nfは実数であって小数点以下の値を含む。推定レーン数Nfは、例えば浮動小数点型で表現可能である。
【0106】
標準レーン幅LWstdは、自車両が使用される地域の法規に基づいて、レーンの幅の標準的な値に設定されている。例えば標準レーン幅LWstdは3.0mに設定されている。もちろん、最小レーン幅LWminは2.5mや2.75m、3.5mなどであってもよい。標準レーン幅LWstdの設定値は、自車両が走行している道路種別に応じて変更されてもよい。例えば自車両が高速道路を走行している場合の標準レーン幅LWstdは、自車両が一般道路を走行している場合の標準レーン幅LWstdよりも大きく設定されてもよい。そのような構成によれば標準レーン幅LWstdとして道路種別に応じた設定値が適用されるため、ステップS604で誤判定するおそれを抑制する事が可能となる。ステップS603での演算処理が完了するとステップS604を実行する。
【0107】
ステップS604では、地図データに登録されているレーン数であるマップレーン数Nmと推定レーン数Nfの差の絶対値が所定の閾値以下となっているか否かを判定する。ここで用いる閾値は、誤差の許容範囲の上限に相当するものである。種々の認識結果が完全に正当であれば、マップレーン数Nmと推定レーン数Nfの差であるレーン数差は0となる。ただし、推定レーン数Nfは小数成分を有するため、前方カメラ11が道路端や種々のレーン境界線を正しく検出できている場合であっても、レーン数差は0.1や0.3などの値を取りうる。レーン数差の絶対値に対する閾値は、どこまでの誤差を許容するかによって設定されるものであって、例えば0.5に設定されている。もちろん、レーン数差に対する閾値は0.3や1などであってもよい。なお、レーン数差が1を超過する場合には、道路幅又は路側帯幅に、レーン1つ分以上の認識誤差があることを意味する。故に、レーン数差に対する閾値は1未満に設定されていることが好ましい。
【0108】
レーン数差の絶対値が所定の閾値未満である場合にはステップS604を肯定判定してステップS605を実行する。一方、レーン数差の絶対値が所定の閾値以上である場合にはステップS604を否定判定してステップS606を実行する。なお、レーン数差の絶対値が所定の閾値以上であるということは、地図に登録されている内容と、位置推定器20が認識している内容の乖離が大きい(つまり整合していない)ことを意味する。ここでの位置推定器20が認識している内容とは、例えば道路幅及び路側帯幅の少なくとも何れか一方とすることができる。
【0109】
ステップS605では、地図に登録されている内容と、位置推定器20での認識内容が整合していると判定して本フローを終了する。ステップS606では、道路構造に関する取得データのどこか(例えば路側帯幅の算出値)が不正であるとして、レーン特定処理を中断する。レーン特定処理を中断した場合には、走行レーンが不明であると判定すればよい。なお、ステップS606では他の態様として、路側帯幅を所定の値に設定し直して後続する処理を継続してもよい。
【0110】
上記構成によれば、路側帯幅の算出値や道路端位置の算出値が正しいか否かを判別可能となる。例えば、道路端に隣接するレーン境界線を検出できていない場合には、レーンに相当する領域を路側帯として扱ってしまい、路側帯の幅を大きく間違えることがありうる。そのような課題に対し、仮に路側帯幅の算出値が実際の路側帯幅に対して大きすぎる場合には、上記処理によって算出されるレーン数差が例えば1.5などの1以上の値となり、エラー処理される。つまり、上記処理によれば、路側帯幅の算出値の異常を検出してエラー処理することができる。
【0111】
なお、ステップS606では、マップレーン数Nmに標準レーン幅LWstdをかけた値を地図ベース走行領域幅として算出し、道路幅RWから地図ベース走行領域幅を減算した値を路側帯幅RsWとして採用しても良い。
【0112】
また、以上では例えば路側帯の幅などの道路構造に関する地図と位置推定器20での認識/演算内容との整合性の判定指標としてマップレーン数と推定レーン数の差を用いる態様を開示したがこれに限らない。例えば認識結果に基づく道路幅RWから路側帯幅RsWを減算してなる認識ベース走行領域幅と、地図に登録されているデータに基づいて定まる地図ベース走行領域幅との差を判定指標として採用しても良い。ここでの走行領域とは、道路においてレーンが形成されている全範囲を指す。走行領域は換言すれば、道路から路側帯や歩道を除外した部分に相当する。
【0113】
また、レーン特定部F4は、地図に登録されている道路幅又は回帰線を用いて算出している道路幅RWから、地図ベース走行領域幅を減算した値を地図ベース路側帯幅として算出する。そして、上記処理で算出している路側帯幅RsWと地図ベース路側帯幅の差を判定指標として採用しても良い。
【0114】
加えて、地図に道路幅が登録されている場合には、ステップS602で算出した道路幅と、地図に登録されている道路幅の差を判定指標として採用しても良い。その場合には、路側帯幅の算出値の妥当性までは評価できないものの、道路端位置の算出結果が妥当であるか否かは判定可能となる。
【0115】
<ステップS8:個別レーン位置特定処理について>
ここでは
図15を用いて個別レーン位置特定処理について説明する。個別レーン位置特定処理は、検出されている個々のレーンの横位置範囲を算出する処理である。本実施例では一例として個別レーン位置特定処理はステップS801~S803を備える。個別レーン位置特定処理としての
図15に示すフローは、
図4に示すレーン特定処理のステップS8として実行される。
【0116】
まずステップS801では、レーン幅にレーン数を乗じた値に路側帯幅の算出値RsWを加えた値を、道路幅として算出する。そして、左または右側の道路端を基準として、道路幅を用いて、レーン境界線が存在しうる横位置範囲(換言すればX座標の範囲)の上限値及び下限値を決定する。例えば、道路幅が15mと算出され、且つ、基準とする左側道路端のX座標が車両左側5m相当の値となっている場合には、車両左側5.0m地点(X:-5.0)をレーン境界線の横位置下限値に設定する。そして、車両右側10mに相当するX座標(X:+10.0)をレーン境界線の横位置の上限値に設定する。
【0117】
基準とする道路端は、横位置を算出できている方の道路端とすればよい。例えば、右側道路端の横位置は算出成功している一方、左側道路端の横位置が不明となっている場合には、右側道路端を基準として、レーン境界線の横位置の上下限値を設定する。道路端の横位置が不明である場合には、単純に認識できていない場合に加えて、例えばステップS4の道路端妥当性判定処理で道路端情報が破棄された場合も含まれる。なお、仮に左側と右側の両方の道路端の横位置を取得できている場合には、自車両から近い方の道路端を基準とすればよい。自車両から近い方の道路端のほうが遠方の道路端よりも位置推定精度が高いことが期待できるためである。本ステップS801で使用するレーン幅は例えばステップS7で算出した走行レーン幅とすることができる。また、レーン数としては、地図に登録されているレーン数を使用することができる。ステップS801での処理が完了するとステップS802に移る。
【0118】
ステップS802では、互いに隣接する検出境界線のセットをレーン候補として設定してステップS803に移る。ステップS803では、左右の検出境界線の横位置(つまりX座標)が両方ともステップS801で設定したレーン境界線が存在しうる横位置範囲に収まっているレーン候補をレーンとして特定する。また、特定したレーンを構成する右側境界線と左側境界線の位置座標を決定する。
【0119】
以上の処理により、前方カメラ11で検出されているレーン境界線の位置を特定でき、自車両が右/左から何番目のレーンを走行しているかを特定可能となる。つまり、走行レーンのレーンIDが特定可能となる。
【0120】
<上記構成の効果>
上記で述べた提案構成によれば、実際の路側帯の幅を考慮した上で道路端からの距離に基づいて、走行レーンが特定される。その際、周辺車両の走行軌跡を使用する必要はない。故に、周辺車両がいなくとも走行レーンを特定することができる。
【0121】
また、上記構成では路側帯幅を、道路端やレーン境界線の認識結果に基づいて算出し、当該路側帯幅の算出値を用いて走行レーンを決定する。比較構成としては、適宜設計された、固定の路側帯幅を用いて走行レーンを特定する構成が考えられる。しかしながら、路側帯幅は、場所によって異なる。例えば、路側帯幅を0.5mなどの相対的に小さい値に設定した構成では、退避区間など幅が広い路側帯がある道路区間においては、路側帯幅の設計値と実際の値との乖離が大きくなり、実際には路側帯である領域を第1レーンと誤判定して、走行レーンを誤りうる。或いは、路側帯幅を2.2mなどの相対的に大きい値に設定した構成では、路側帯が殆どない道路区間においては、実際には第1レーンである領域を路側帯と誤判定して、走行レーンを誤りうる。このように路側帯幅を固定値とする比較構成では、実際の路側帯幅と路側帯幅の設計値との乖離によって、走行レーンを誤りうる。
【0122】
そのような比較構成に対して、本提案構成によれば、レーンが存在する横位置(レーン検出領域)と道路端との距離を路側帯の幅として算出して用いる。このような構成によれば、走行レーンの特定に使用する路側帯幅として、実際の路側帯幅に近い値を動的に適用することができる。故に、自車両の走行レーンを比較構成よりも精度良く特定可能となる。
【0123】
また、道路端は白線のように掠れたりしない。さらに、道路端は立体的な構造である場合が多い。そのため、積雪時や水溜まり発生時でも、道路端はレーン境界線より検出されやすい。そのため、道路端を基準として走行レーンを特定する上記提案構成は、レーン境界線の線種を用いて走行レーンを特定する構成に比べてロバスト性を高めることができるといった利点を有する。
【0124】
以上、本開示の実施形態を説明したが、本開示は上述の実施形態に限定されるものではなく、以降で述べる種々の変形例も本開示の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。例えば下記の種々の変形例は、技術的な矛盾が生じない範囲において適宜組み合わせて実施することができる。なお、前述の実施形態で述べた部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。また、構成の一部のみに言及している場合、他の部分については先に説明した実施形態の構成を適用することができる。
【0125】
<路側帯幅の算出値の取り扱いについて>
路側帯幅の算出値RsWが、所定の路側帯用閾値を超過している場合には、路側帯幅の算出値RsWは誤りと判定して、レーン特定処理を中断するように構成されていても良い。路側帯用閾値は、路側帯のありえる幅の最大値である。例えば日本国内において路側帯用閾値は2.5mに設定可能である。路側帯幅用閾値は、0.75mや1.5mなどに設定されても良い。路側帯用閾値は、位置推定器20が使用される地域の法規に準拠して設定されることが好ましい。また、路側帯用閾値は、自車両が走行している道路の種別に応じて変更されても良い。高速道路においては2.0mなど相対的に大きい値を適用する一方、一般道路においては0.75mや0.8mに設定されても良い。
【0126】
また、位置推定器20が算出した路側帯幅は、
図16に示すように、複数の車両からのプローブデータをもとに道路地図を生成及び更新する地図生成サーバ6にアップロードされてもよい。V2X車載器14は、位置推定器20が特定した路側帯幅のデータを、判定ポイントの位置座標などとともに地図生成サーバ6に無線送信するように構成されていても良い。そのような構成によれば、地図生成サーバ6は、複数の車両からアップロードされた路側帯幅の情報をもとに、路側帯幅の情報を含む高精度地図を作成可能となる。なお、
図16では、前方カメラ11など、運転支援システム1が備える構成の一部の図示を省略している。同様に位置推定器20はV2X車載器14と連携して、算出した道路端の位置座標、レーン境界線の位置座標などを地図生成サーバ6にアップロードするように構成されていても良い。
【0127】
さらに、位置推定器20が算出した路側帯幅は、運転支援ECU30で次のように利用されても良い。すなわち、運転支援ECU30は、例えばMRM(Minimum Risk Maneuver)を実施する場合、位置推定器20から取得した路側帯幅情報を用いて、車両前方に安全に停車できる場所としての路側帯が存在するか否かを判断してもよい。例えば運転支援ECU30は位置推定器20から十分な幅を有する路側帯が存在することが通知されている場合にはMRMとして路側帯に向かう走行計画を作成してもよい。また、路側帯がないことが位置推定器20から通知されている場合には、現在の走行レーン内に停車する走行計画を作成してもよい。すなわち、運転支援ECU30は位置推定器20から路側帯幅情報を取得することにより、MRMの挙動として、ゆるやかに現在の走行レーン内に停車するか、路側帯に停車するかを選択可能となる。MRMとして路側帯に停車する態様を選択可能とすることにより、停車後に他車両に追突されるリスクを低減可能となる。ひいては後続車にとっても、MRMで停車した車両に接触するリスクを低減できるといった利点を有する。
【0128】
<道路端の検出結果の扱いについて>
また、前方カメラ11で検出されている最も右側のレーン境界線(つまり右側最外検出線)からレーン1つ分以上右側に道路端がある場合には、右側最外検出線から右側道路端までの全体が路側帯であるのか、未検出のレーンが存在するのかが不明となる。そのため、右側最外検出線から右側道路端までの距離が最小レーン幅LWmin以上である場合には、右側道路端を道路端として不採用とするように構成されていてもよい。その場合には反対側の(つまり左側の)道路端を用いてレーン位置を特定すれば良い。また、右側最外検出線から右側道路までの距離が最小レーン幅LWmin未満である場合には、右側道路端を道路端として採用とすればよい。右側路側帯幅は、右側最外検出線から右側道路端までの距離とすることができる。前方カメラ11で検出されている最も左側のレーン境界線(つまり左側最外検出線)からレーン1つ分以上左側に道路端がある場合も同様とすることができる。
【0129】
<道路端の検出方法の補足>
本実施形態の前方カメラ11は、路面の終端部を道路端として検出する。例えば道路の外側が未舗装の地面である場合には、当該舗装路と未舗装部分の境界を画像フレームの輝度分布を解析することにより(例えばエッジ検出により)道路端として検出する。また、歩道用の段差等、立体的な構造物である道路端立設物が道路の端部に形成されている場合には、当該道路端立設物と路面との接合部分、つまり道路端立設物の最下部を道路端として検出する。路面から立設する部分もまた、画像フレームの輝度分布を解析することにより、道路端として検出可能である。
【0130】
このように路面から立設する構造物との境界を道路端として検出する構成によれば次の効果を奏する。一般的に高速道路沿いの側壁などは、
図17に示すように、路面から数10cmほど一段上がった段差部のさらに外側に立設されるケースがある。仮に側壁の位置を道路端として採用する構成では、段差部が形成されている部分を走行可能な部分と誤認識してしまう恐れがある。その結果、タイヤやボディが段差部に接触するおそれがある。そのような想定構成に対し、本実施形態のように路面平面の終端部分を道路端として採用する構成によれば、上記の問題が生じるおそれを低減できる。他の態様として、位置推定器20は側壁やガードレールなどの位置を道路端の位置として使用するように構成されていても良い。
【0131】
<走行レーン情報の用途について>
上記位置推定器20によって特定された走行レーンのレーンIDは、例えば車線変更を伴う自動運転を実施する際には必須の情報となる。例えば自動運転装置としての運転支援ECU30は、位置推定器20で特定された走行レーンのレーンIDに基づいて、車線変更を伴う走行計画を作成するように構成されていても良い。また、運行設計領域(ODD:Operational Design Domain)として、自動運転可能な道路がレーン単位で規定される場合もあり得る。そのような制約下においては、自動運転システムは、自車両が自動運転可能なレーンに存在するか否かを精度良く特定する必要がある。例えば、自車両が自動運転可能なレーンに存在しない、又は、自動運転が許可されていないレーンに退出せざるを得ないと判定した場合には、運転席乗員やオペレータに運転権限を移譲したり、MRMを実行したりするなどのシステム応答を実施する必要がある。このような需要に対しても本開示の構成は走行環境に対するロバスト性が高いため有用となりうる。
【0132】
また、ナビゲーション装置を含むHMIシステムにおいては、ヘッドアップディスプレイでターンバイターン情報や施設案内情報などを、実世界にマッチする態様で表示したいといった需要がある。自車両の走行レーンの認識が1レーンでもずれてしまうと、ヘッドアップディスプレイでの表示画像と実世界とのずれが大きくなってしまう。つまり、自動運転分野だけでなく、ナビゲーションの技術分野においても自車両の走行レーンを精度良く特定可能な構成が求められている。そのような需要に対しても、上記提案構成は有用となりうる。
【0133】
<システム構成の補足>
上述した実施形態では位置推定器20を前方カメラ11の外側に配置した構成を例示したが、位置推定器20の配置態様はこれに限らない。
図18に示すように位置推定器20の機能はカメラECU41に内在していてもよい。また、
図19に示すように、位置推定器20の機能は運転支援ECU30に内在していてもよい。位置推定器20の機能を含む運転支援ECU30が走行制御装置に相当する。加えて、カメラECU41の機能(主として識別器G1)もまた運転支援ECU30が備えていても良い。すなわち、前方カメラ11は画像データを運転支援ECU30に出力して、運転支援ECU30が画像認識などの処理を実行するように構成されていても良い。
図18、
図19では、運転支援システム1が備える構成の一部の図示を省略している。
【0134】
また、以上では位置推定器20は前方カメラ11を用いて自車両に対する道路端の位置を検出する構成を開示したが、これに限らない。
図20に示すように自車両に対する道路端の位置を検出するためのデバイスは、ミリ波レーダ19Aや、LiDAR(Light Detection and Ranging/Laser Imaging Detection and Ranging)19B、ソナーなどであってもよい。ミリ波レーダ19Aや、LiDAR19B、ソナーなどが測距センサに相当する。また、自車両の側方を撮像する側方カメラや、後方を撮像する後方カメラを用いて、道路端やレーン境界線を検出するように構成されていても良い。前方カメラ11や側方カメラ、後方カメラが撮像装置に相当する。位置推定器20は、複数種類のデバイスを併用して道路端等を検出するように構成されていてもよい。つまり位置推定器20は、センサフュージョンにより道路端及びレーン境界線の位置を決定しても良い。道路端の位置は、回帰線を用いずに、認識ソフトウェアで認識されている位置をそのまま用いても良い。
【0135】
<付言(1)>
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。また、本開示に記載の装置及びその手法は、専用ハードウェア論理回路により、実現されてもよい。さらに、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウェア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。例えば、位置推定器20が提供する手段および/または機能は、実体的なメモリ装置に記録されたソフトウェアおよびそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供できる。位置推定器20が備える機能の一部又は全部はハードウェアとして実現されても良い。或る機能をハードウェアとして実現する態様には、1つ又は複数のICなどを用いて実現する態様が含まれる。処理部21は、CPUの代わりに、MPUやGPU、DFP(Data Flow Processor)を用いて実現されていてもよい。また、処理部21は、CPUや、MPU、GPUなど、複数種類の演算処理装置を組み合せて実現されていてもよい。さらに、ECUは、FPGA(field-programmable gate array)や、ASIC(application specific integrated circuit)を用いて実現されていても良い。各種プログラムは、非遷移的実体的記録媒体(non- transitory tangible storage medium)に格納されていればよい。プログラムの保存媒体としては、HDD(Hard-disk Drive)やSSD(Solid State Drive)、EPROM(Erasable Programmable ROM)、フラッシュメモリ、USBメモリ、SD(Secure Digital)メモリカード等、多様な記憶媒体を採用可能である。
【0136】
<付言(2)>
本開示には以下の技術思想も含まれる。
【0137】
[構成(1)]
車両の周辺環境を撮像する撮像装置(11)が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得する境界線情報取得部(F32)と、
撮像装置、及び、探査波又はレーザ光を送信することで車両の所定方向に存在する物体を検出する測距センサ(19A、19B)の少なくとも何れか一方を用いて自車両に対する道路端の位置情報を取得する道路端情報取得部(F31)と、
検出されているレーン境界線のうち、最も外側のレーン境界線である最外検出線から、道路端までの横方向距離を路側帯候補幅として算出する路側帯幅算出部(F41)と、を備え、
路側帯候補幅が所定値未満であることを条件として、最外検出線から道路端までの領域を路側帯と判定する、路側帯認識装置。
【0138】
一般的に路側帯(換言すれば路肩)の幅は道路区間によって異なるため、路側帯かレーンであるかの識別は難しい。上記構成によれば路側帯に相当する領域を精度良く認識可能となる。路側帯の認識に関連する想定構成としては、レーン境界線の線種(実線、破線)に基づいてレーン境界線の外側が路側帯であるか否かを判定する構成も考えられる。しかし、レーン境界線が実線/破線だから必ずしもその外側が路側帯に相当するとは限らない。すなわち、想定構成では路側帯であるか否かを誤判定するおそれがある。
【0139】
そのような課題、上記構成(1)によれば、道路端から検出レーン境界線までの距離からに応じて、その間の領域が路側帯に相当するか否かを判定する。そのため、路側帯か否かを誤判定するおそれを低減することができる。
【0140】
[構成(2)]
上記構成(1)に記載の路側帯認識装置であって、算出した路側帯の幅を自動運転装置に送信するように構成されている路側帯認識装置。
【0141】
[構成(3)]
上記構成(1)に記載の路側帯認識装置であって、
自車の位置を取得する自車位置取得部(F1、F7)を備え、
算出した路側帯の幅を示す情報を、自車両の位置情報とともに、車両外部に配置されている地図生成サーバに送信するように構成されている、路側帯認識装置。
【0142】
[構成(4)]
車両の周辺環境を撮像する撮像装置(11)が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得するとともに、
撮像装置、及び、探査波又はレーザ光を送信することで車両の所定方向に存在する物体を検出する測距センサ(19A、19B)の少なくとも何れか一方を用いて自車両に対する道路端の位置情報を取得するステップ(S1)と、
検出されているレーン境界線のうち、最も外側のレーン境界線である最外検出線から、道路端までの横方向距離を路側帯候補幅として算出する路側帯幅算出ステップ(S4)と、を備え、
路側帯候補幅が所定値未満であることを条件として、最外検出線から道路端までの領域を路側帯と判定する、路側帯認識方法。
【0143】
[構成(5)]
車両の外部を撮像する撮像装置(11)が生成した画像を解析することにより検出されるレーン境界線の位置情報を取得する境界線情報取得部(F32)と、
探査波又はレーザ光を送信することで車両の所定方向に存在する物体を検出する測距センサ(19A、19B)及び撮像装置の少なくとも何れか一方を用いて自車両に対する道路端の位置情報を取得する道路端情報取得部(F31)と、
検出されているレーン境界線のうち、最も外側のレーン境界線である最外検出線から、道路端までの横方向距離を路側帯幅として算出する路側帯幅算出部(F41)と、
車両内又は外部に配置された地図記憶部から、自車両が走行している道路のレーン数を含む地図情報を取得する地図取得部(F2)と、
道路端情報取得部が取得した道路端の位置情報と、地図取得部が取得した地図情報に含まれるレーン数と、路側帯幅算出部が算出した路側帯幅に基づいて、自車両の走行レーンを特定する走行レーン特定部(F4)と、を備え、
走行レーン特定部が特定した走行レーンの情報を所定の運行記録装置に出力するように構成された、路側帯認識装置。