以下、本発明に係る運転補助装置及び運転補助方法の実施の形態例を図1〜図12を参照しながら説明する。
図1は、本発明の一実施の形態に係る運転補助装置としての走行電子制御装置36(以下「走行ECU36」という。)を含む車両10の構成を示すブロック図である。
車両10(以下「自車10」ともいう。)は、走行ECU36に加え、車両周辺センサ群20と、車体挙動センサ群22と、運転操作センサ群24と、通信装置26と、ヒューマン・マシン・インタフェース28(以下「HMI28」という。)と、駆動力制御システム30と、制動力制御システム32と、電動パワーステアリングシステム34(以下「EPSシステム34」という。)とを有する。
車両周辺センサ群20は、車両10の周辺に関する情報(以下「車両周辺情報Ic」ともいう。)を検出する。車両周辺センサ群20には、複数の車外カメラ50と、複数のレーダ52と、LIDAR54(Light Detection And Ranging)と、グローバル・ポジショニング・システム・センサ56(以下「GPSセンサ56」という。)とが含まれる。複数の車外カメラ50からの各々の撮像画像(以下、カメラ画像206と記す)は、それぞれ対応する画像メモリに描画される。もちろん、レーンマークを認識するに当たっては、単一のカメラでもよい。
複数の車外カメラ50は、車両10の周辺(前方、側方及び後方)を撮像した画像情報Iimageを出力する。複数のレーダ52は、車両10の周辺(前方、側方及び後方)に送信した電磁波に対する反射波を示すレーダ情報Iraderを出力する。LIDAR54は、車両10の全方位にレーザーを連続的に発射し、その反射波に基づいて反射点の三次元位置を測定して三次元情報Ilidarとして出力する。GPSセンサ56は、車両10の現在位置Pcurを検出する。車外カメラ50、レーダ52、LIDAR54及びGPSセンサ56は、車両周辺情報Icを認識する周辺認識装置である。
車体挙動センサ群22は、車両10(特に車体)の挙動に関する情報(以下「車体挙動情報Ib」ともいう。)を検出する。車体挙動センサ群22には、車速センサ60と、横加速度センサ62と、ヨーレートセンサ64とが含まれる。
車速センサ60は、車両10の車速V[km/h]を検出する。横加速度センサ62は、車両10の横加速度Glat[m/s/s]を検出する。ヨーレートセンサ64は、車両10のヨーレートYr[rad/s]を検出する。
運転操作センサ群24は、運転者による運転操作に関する情報(以下「運転操作情報Io」ともいう。)を検出する。運転操作センサ群24には、アクセルペダルセンサ80と、ブレーキペダルセンサ82と、舵角センサ84と、操舵トルクセンサ86とが含まれる。
アクセルペダルセンサ80(以下「APセンサ80」ともいう。)は、アクセルペダル90の操作量θap(以下「AP操作量θap」ともいう。)[%]を検出する。ブレーキペダルセンサ82(以下「BPセンサ82」ともいう。)は、ブレーキペダル92の操作量θbp(以下「BP操作量θbp」ともいう。)[%]を検出する。舵角センサ84は、ステアリングハンドル94の舵角θst(以下「操作量θst」ともいう。)[deg]を検出する。操舵トルクセンサ86は、ステアリングハンドル94に加えられた操舵トルクTst[N・m]を検出する。
通信装置26は、外部機器との無線通信を行う。ここでの外部機器には、例えば、図示しない交通情報サーバが含まれる。交通情報サーバは、渋滞情報、事故情報、工事情報等の交通情報を各車両10に対して提供する。あるいは、外部機器には、図示しない経路案内サーバが含まれてもよい。経路案内サーバは、通信装置26から受信した車両10の現在位置Pcur及び目標地点Pgoalに基づいて、目標地点Pgoalまでの予定経路Rvを走行ECU36に代わって生成又は算出する。
なお、本実施の形態の通信装置26は、車両10に搭載(又は常時固定)されているものを想定しているが、例えば、携帯電話機又はスマートフォンのように車両10の外部へ持ち運び可能なものであってもよい。
HMI28は、乗員からの操作入力を受け付けると共に、乗員に対して各種情報の提示を、視覚的、聴覚的及び触覚的に行う。HMI28には、自動運転スイッチ110(以下「自動運転SW110」ともいう。)と、表示部112とが含まれる。自動運転SW110は、乗員の操作により自動運転制御の開始及び終了を指令するためのスイッチである。自動運転SW110に加えて又はこれに代えて、その他の方法(図示しないマイクロホンを介しての音声入力等)により自動運転制御の開始又は終了を指令することも可能である。表示部112は、例えば、液晶パネル又は有機ELパネルを含む。表示部112は、タッチパネルとして構成されてもよい。
駆動力制御システム30は、エンジン120(駆動源)及び駆動電子制御装置122(以下「駆動ECU122」という。)を有する。上述のAPセンサ80及びアクセルペダル90を駆動力制御システム30の一部として位置付けてもよい。駆動ECU122は、AP操作量θap等を用いて車両10の駆動力制御を実行する。駆動力制御に際し、駆動ECU122は、エンジン120の制御を介して車両10の走行駆動力Fdを制御する。
制動力制御システム32は、ブレーキ機構130及び制動電子制御装置132(以下「制動ECU132」という。)を有する。上述のBPセンサ82及びブレーキペダル92を制動力制御システム32の一部として位置付けてもよい。ブレーキ機構130は、ブレーキモータ(又は油圧機構)等によりブレーキ部材を作動させる。
制動ECU132は、BP操作量θbp等を用いて車両10の制動力制御を実行する。制動力制御に際し、制動ECU132は、ブレーキ機構130等の制御を介して車両10の制動力Fbを制御する。
EPSシステム34は、EPSモータ140と、EPS電子制御装置142(以下「EPS−ECU142」という。)とを有する。上述の舵角センサ84、操舵トルクセンサ86及びステアリングハンドル94をEPSシステム34の一部として位置付けてもよい。
EPS−ECU142は、走行ECU36からの指令に応じてEPSモータ140を制御して、車両10の旋回量Rを制御する。旋回量Rには、舵角θst、横加速度Glat及びヨーレートYrが含まれる。
走行ECU36は、運転者による運転操作を要さずに目標地点Pgoalまで車両10を運転する自動運転制御を実行するものであり、例えば、中央処理装置(CPU)を含む。ECU36は、入出力部150、演算部152及び記憶部154を有する。
なお、走行ECU36の機能の一部を車両10の外部に存在する外部機器に担わせることも可能である。例えば、車両10自体では、後述する行動計画部172及び/又は地図データベース190を有さず、上記経路案内サーバから予定経路Rv及び/又は地図情報Imapを取得する構成も可能である。
入出力部150は、ECU36以外の機器(センサ群20、22、24、通信装置26等)との入出力を行う。入出力部150は、入力されたアナログ信号をデジタル信号に変換する図示しないA/D変換回路を備える。
演算部152は、各センサ群20、22、24、通信装置26、HMI28及び各ECU122、132、142等からの信号に基づいて演算を行う。そして、演算部152は、演算結果に基づき、通信装置26、駆動ECU122、制動ECU132及びEPS−ECU142に対する信号を生成する。
図1に示すように、走行ECU36の演算部152は、周辺認識部170と、行動計画部172と、走行制御部174とを有する。これらの各部は、記憶部154に記憶されているプログラムを実行することにより実現される。前記プログラムは、通信装置26を介して外部機器から供給されてもよい。前記プログラムの一部をハードウェア(回路部品)で構成することもできる。
周辺認識部170は、車両周辺センサ群20からの車両周辺情報Icに基づいて、道路の境界(レーンマークやガードレール、斜面等)及び周辺障害物(他車、静止物体等)を認識する。例えば、道路の境界は、画像情報Iimageに基づいて認識する。周辺認識部170は、認識した道路の境界に基づいて車両10の走行レーンを認識する。
また、周辺障害物は、画像情報Iimage、レーダ情報Irader及び三次元情報Ilidarを用いて認識する。周辺障害物には、他車(他車等)等の移動物体と、建物、標識(例えば信号機)等の静止物体とが含まれる。周辺障害物が信号機である場合、周辺認識部170は、信号機の色を判定する。
行動計画部172は、HMI28を介して入力された目標地点Pgoalまでの自車10の予定経路Rvを算出し、予定経路Rvに沿った経路案内を行う。
走行制御部174は、車体挙動を制御する各アクチュエータの出力を制御する。ここにいうアクチュエータには、エンジン120、ブレーキ機構130及びEPSモータ140が含まれる。走行制御部174は、アクチュエータの出力を制御することで、車両10(特に車体)の挙動量(以下「車体挙動量Qb」という。)を制御することとなる。
ここにいう車体挙動量Qbには、車速V、前後加速度α[m/s/s]、前後減速度β[m/s/s]、舵角θst、横加速度Glat及びヨーレートYrが含まれる。加速度α及び減速度βは、車速Vの時間微分値として算出可能である。
走行制御部174は、駆動力制御部180と、制動力制御部182と、旋回制御部184とを有する。駆動力制御部180は、主としてエンジン120の出力を制御することにより、車両10の走行駆動力Fd(又は加速度α)を制御する。制動力制御部182は、主としてブレーキ機構130の出力を制御することにより、車両10の制動力Fb(又は減速度β)を制御する。旋回制御部184は、主として、EPSモータ140の出力を制御することにより、車両10の旋回量R(又は舵角θst、横加速度Glat及びヨーレートYr)を制御する。
記憶部154は、演算部152が利用するプログラム及びデータ(地図データベース190を含む。)を記憶する。地図データベース190(以下「地図DB190」という。)には、道路地図の情報(地図情報Imap)が記憶される。地図情報Imapには、道路の形状等に関する道路情報Iroadが含まれる。
記憶部154は、例えば、ランダム・アクセス・メモリ(以下「RAM」という。)を備える。RAMとしては、レジスタ等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリとを用いることができる。また、記憶部154は、RAMに加え、リード・オンリー・メモリ(以下「ROM」という。)を有してもよい。
上記のように、本実施の形態の走行ECU36は、自動運転制御を実行する。自動運転制御では、運転者による運転操作を要さずに目標地点Pgoalまで車両10を運転する。但し、自動運転制御では、運転者がアクセルペダル90、ブレーキペダル92又はステアリングハンドル94を操作した場合、当該操作を運転に反映してもよい。本実施の形態の自動運転制御では、自動駆動力制御と、自動制動力制御と、自動旋回制御を組み合わせて用いる。
自動駆動力制御は、車両10の走行駆動力Fdを自動的に制御する。自動制動力制御は、車両10の走行駆動力Fdを自動的に制御する。自動旋回制御は、車両10の旋回を自動的に制御する。ここにいう車両10の旋回は、カーブ路を走行する場合のみならず、車両10の右左折、走行レーンの変更、別レーンへの合流及び走行レーンの維持を含む。なお、走行レーンを維持するための旋回とは、車幅方向において車両10を基準位置(例えば車幅方向の中央)に維持するために旋回(又は操舵)することを意味する。
自動駆動力制御は、走行駆動力Fdを制御して車両10を走行させる。この際、ECU36は、走行駆動力Fdの目標値(例えば、目標エンジントルク)を設定し、この目標値に応じてアクチュエータ(エンジン120)を制御する。また、ECU36は、車両10の前後加速度αの上限値αmax(以下「加速度上限値αmax」ともいう。)を設定し、前後加速度αが加速度上限値αmaxを超えないように走行駆動力Fdを制御する。
自動制動力制御は、車両10の制動力Fbを制御して車両10を減速させる。この際、ECU36は、制動力Fbの目標値(例えば、目標前後減速度βtar)を設定し、この目標値に応じてアクチュエータ(ブレーキ機構130)を制御する。また、ECU36は、車両10の減速度βの上限値βmax(以下「減速度上限値βmax」ともいう。)を設定し、減速度βが減速度上限値βmaxを超えないように(急激に減速し過ぎないように)制動力Fbを制御する。
自動旋回制御は、車両10の旋回量Rを制御して車両10を旋回させる。この際、ECU36は、旋回量Rの目標値(例えば、目標舵角θsttar又は目標横加速度Glattar)を設定し、この目標値に応じてアクチュエータ(EPSモータ140)を制御する。また、ECU36は、車両10の旋回量Rの上限値Rmax(以下「旋回量上限値Rmax」ともいう。)を設定し、旋回量Rが旋回量上限値Rmaxを超えないように旋回量Rを制御する。旋回量上限値Rmaxは、例えば、舵角θstの上限値θstmax又は横加速度Glatの上限値Glatmaxの形で用いられる。
ここで、本実施の形態の自動運転制御の全体的な流れを、図2のフローチャートを参照しながら説明する。
先ず、ステップS11において、走行ECU36は、自動運転を開始するか否かを判定する。例えば、ECU36は、自動運転スイッチ110(図1)がオフからオンに切り替えられたか否かを判定する。自動運転を開始する場合(ステップS11:YES)、ステップS12に進む。自動運転を開始しない場合(ステップS11:NO)、今回の処理を終え、所定時間の経過後にステップS11に戻る。
ステップS12において、ECU36は、目標地点Pgoalを設定する。具体的には、HMI28を介してユーザ(運転者等)から目標地点Pgoalの入力を受け付ける。ステップS13において、ECU36は、現在位置Pcurから目標地点Pgoalまでの予定経路Rvを算出する。なお、後述するステップS21の後にステップS13を行う場合、ECU36は、予定経路Rvを更新する。
ステップS14において、ECU36は、各センサ群20、22、24から車両周辺情報Ic、車体挙動情報Ib及び運転操作情報Ioを取得する。上記のように、車両周辺情報Icには車外カメラ50からの画像情報Iimage、レーダ52からのレーダ情報Irader、LIDAR54からの三次元情報Ilidar、及びGPSセンサ56からの現在位置Pcurが含まれる。車体挙動情報Ibには、車速センサ60からの車速V、横加速度センサ62からの横加速度Glat及びヨーレートセンサ64からのヨーレートYrが含まれる。運転操作情報Ioには、APセンサ80からのAP操作量θap、BPセンサ82からのBP操作量θbp、舵角センサ84からの舵角θst及び操舵トルクセンサ86からの操舵トルクTstが含まれる。
ステップS15において、ECU36は、各アクチュエータの出力上限値Pmaxを算出する。ここにいうアクチュエータには、エンジン120、ブレーキ機構130及びEPSモータ140が含まれる。
また、エンジン120の出力Pengの上限値Pmax(以下「出力上限値Pengmax」ともいう。)とは、例えば、エンジン120のトルクの上限値である。ブレーキ機構130の出力Pbの上限値Pmax(以下「出力上限値Pbmax」ともいう。)とは、例えば、制動力Fbの上限値である。EPSモータ140の出力Pepsの上限値Pmax(以下「出力上限値Pepsmax」ともいう。)とは、例えば、EPSモータ140のトルクの上限値である。これらの出力上限値Pmax(Pengmax、Pbmax、Pepsmax)を用いることで、過度の出力を避けて乗員の乗り心地を高めること等が可能となる。
出力上限値Pmaxは、車体挙動量Qbの上限値Qbmaxに基づいて算出される。本実施の形態のステップS15では、車速Vに応じて出力上限値Pmaxを切り替える制限制御を実行する。
ステップS16において、ECU36は、自車10の走行可能領域を算出する。走行可能領域は、現時点で車両10が走行可能な領域を示す。例えば、車両10の基準点(例えば車両10の重心、左右後輪を結ぶ線分の中央)を基準として、車両10と各周辺物体との距離が所定値以上となる領域を示す。走行可能領域の算出に当たっては、車両10の周辺障害物(特に、前方障害物)との関係も考慮される。周辺障害物との関係では、ECU36は、周辺監視制御を行う。
また、走行ECU36は、例えば交差点の検知、交差点に対する仮想のレーンマークの補間等において、周辺監視制御を行う。この周辺監視制御については、図3以降を参照して後述する。
なお、周辺認識部170が赤信号を認識した場合、信号機手前の停止線より先の領域は、走行可能領域から除外することができる。あるいは、走行可能領域は、単に周辺障害物との関係(距離等)によって算出し、後述する目標走行軌跡Ltarの算出に際して、赤信号による走行制限を反映させてもよい。
ステップS17において、走行ECU36は、目標走行軌跡Ltarを算出する。目標走行軌跡Ltarは、車両10の走行軌跡Lの目標値である。本実施の形態において、目標走行軌跡Ltarは、ステップS16で算出された走行可能領域の中から種々の条件を満たす軌跡Lのうち最適のものが選択される。
ステップS18において、走行ECU36は、目標走行軌跡Ltarに基づいて各アクチュエータの目標制御量(換言すると目標車体挙動量Qbtar)を算出する。目標車体挙動量Qbtarには、例えば、目標前後加速度αtar、目標前後減速度βtar及び目標横加速度Glattarが含まれる。
ステップS19において、走行ECU36は、ステップS18で算出した目標制御量を用いて各アクチュエータ(換言すると車体挙動量Qb)を制御する。例えば、駆動力制御部180は、目標前後加速度αtarを実現するようにエンジン120(アクチュエータ)の目標出力Pengtar(例えば目標エンジントルク)を算出する。そして、駆動力制御部180は、当該目標出力Pengtarを実現するように駆動ECU122を介してエンジン120を制御する。
また、制動力制御部182は、目標前後減速度βtarを実現するようにブレーキ機構130(アクチュエータ)の目標出力Pbtarを算出する。そして、制動力制御部182は、当該目標出力Pbtarを実現するように制動ECU132を介してブレーキ機構130を制御する。
さらに、旋回制御部184は、目標横加速度Glattarを実現するように目標舵角θsttarを設定する。そして、旋回制御部184は、当該目標舵角θsttarを実現するようにEPS−ECU142を介してEPSモータ140(アクチュエータ)を制御する。なお、EPSモータ140による旋回に加え又はこれに代えて、左右の車輪のトルク差により車両10を旋回させること(いわゆるトルクベクタリング)も可能である。
ステップS20において、ECU36は、目標地点Pgoal又は予定経路Rvを変更するか否かを判定する。目標地点Pgoalを変更する場合とは、HMI28の操作を通じて新たな目標地点Pgoalが入力された場合である。予定経路Rvを変更する場合とは、例えば、予定経路Rvにおいて渋滞が発生し、迂回路の設定を要する場合である。渋滞の発生は、例えば、通信装置26を介して前記交通情報サーバから取得した渋滞情報を用いて認識することが可能となる。
目標地点Pgoal又は予定経路Rvを変更する場合(ステップS20:YES)、ステップS13に戻り、新たな目標地点Pgoalに基づく予定経路Rvを算出する又は新たな予定経路Rvを算出する。目標地点Pgoal又は予定経路Rvを変更しない場合(ステップS20:NO)、ステップS21に進む。
ステップS21において、走行ECU36は、自動運転を終了するか否かを判定する。自動運転を終了するのは、例えば、車両10が目標地点Pgoalに到着した場合、又は自動運転スイッチ110がオンからオフに切り替えられた場合である。あるいは、自動運転が困難な周辺環境になった場合、ECU36は、自動運転を終了する。
自動運転を終了しない場合(ステップS21:NO)、ステップS13に戻り、ECU36は、現在位置Pcurに基づいて予定経路Rvを更新する。自動運転を終了する場合(ステップS21:YES)、ステップS22に進む。
ステップS22において、ECU36は、終了処理を実行する。具体的には、車両10が目標地点Pgoalに到着した場合、ECU36は、車両10が目標地点Pgoalに到着した旨を、HMI28を介して音声、表示等により運転者等に通知する。自動運転スイッチ110がオンからオフに切り替えられた場合、ECU36は、自動運転を終了する旨を、HMI28を介して音声、表示等により運転者等に通知する。自動運転が困難な周辺環境になった場合、ECU36は、その旨を、HMI28を介して音声、表示等により運転者等に通知する。
上記のように、走行可能領域の算出(図2のステップS16)に際し、ECU36は、周辺監視制御を実行する。周辺監視制御は、周辺認識部170からの情報に基づいて、車両10の周辺(特に前方)に存在する周辺障害物との接触回避等を行う制御である。また、交差点等の認識や交差点等への仮想のレーンマークの補間に際し、走行ECU36は、周辺監視制御を実行する。
以下、主に交差点等の認識や交差点等への仮想のレーンマークの補間に関する周辺監視制御について、図3〜図12を参照しながら説明する。
周辺認識部170について代表的に2つの例(第1周辺認識部170A及び第2周辺認識部170B)を説明する。
第1周辺認識部170Aは、図3に示すように、特定シーン検知部202と、第1補間処理部204Aとを有する。
特定シーン検知部202は、図3に示すように、前方を撮像する例えば車外カメラ50(図1参照)によって画像メモリに描画されたカメラ画像206(図4A参照)上で、所定距離以上の間隔を置いて奥側と手前側でそれぞれ線(短い線)が存在する特定シーンの画像(以下、特定シーン208と記す)を検知する。
第1補間処理部204Aは、特定シーン検知部202での特定シーン208の検知に基づいて、奥側のレーンマーク候補と手前側のレーンマーク候補とを補間処理する。
ここで、具体的に、図4A〜図5Bも参照しながら、特定シーン208として交差点を想定した場合について説明する。
特定シーン検知部202で検知される特定シーン208は、図4Aに示すように、カメラ画像206のうち、上側の領域(奥側を示す領域)に、左から右に向かって1本目のレーンマーク候補の画像(以下、第1レーンマーク候補210aと記す)と、2本目のレーンマーク候補の画像(以下、第2レーンマーク候補210bと記す)とが間隔を置いて並び、描画領域のうち、下側の領域(手前側を示す領域)に、左から右に向かって1本目のレーンマーク候補の画像(以下、第3レーンマーク候補210cと記す)と、2本目のレーンマーク候補の画像(以下、第4レーンマーク候補210dと記す)とが間隔を置いて並んだ画像である。
そして、図3に示すように、第1補間処理部204Aは、画像変換部212、レーンマーク候補判定部216と、第1レーンマーク補間部218Aとを有する。
画像変換部212は、特定シーン208を、図4Bに示すように、鳥瞰図(BEV:バードアイビュー)の画像(以下、BEV画像220と記す)に変換する。BEV画像220は、同一の画像メモリに描画してもよいし、別の画像メモリに描画してもよい。同一の画像メモリに描画する場合は、特定シーン208の描画領域とは別の描画領域に描画することが好ましい。
レーンマーク候補判定部216は、図5Aに示すように、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとにおける手前側の第3レーンマーク候補210cと直交する方向の距離Daが所定範囲内であるかどうかを判定する。例えば第1レーンマーク候補210aと第3レーンマーク候補210cとの間のずれ、特に、第3レーンマーク候補210cと直交する方向のずれ(距離Da)が所定範囲内(例えば50cm以内)であるかどうかを判定する。この所定範囲は、交差点の道路形状等に応じて適宜選択してもよい。以下、同様である。
また、レーンマーク候補判定部216は、図5Bに示すように、奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとにおける手前側の第4レーンマーク候補210dと直交する方向の距離Dbが所定範囲内であるかどうかを判定する。例えば第2レーンマーク候補210bと第4レーンマーク候補210dとの間のずれ、特に、第4レーンマーク候補210dと直交する方向のずれ(距離Db)が所定範囲内であるかどうかを判定する。
なお、奥側の第1レーンマーク候補210a及び第2レーンマーク候補210b並びに手前側の第3レーンマーク候補210c及び第4レーンマーク候補210dを求めるには、例えばハフ変換を利用することができる。
第1レーンマーク補間部218Aは、レーンマーク候補判定部216において、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとにおける上述した距離Daが所定範囲内であると判別された場合は、図6Aに示すように、同一のレーンマークとみなして、第1レーンマーク候補210aと第3レーンマーク候補210cとを補間するように仮想の左側レーンマーク224Lを設定する。
同様に、第1レーンマーク補間部218Aは、レーンマーク候補判定部216において、奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとにおける上述した距離Dbが所定範囲内であると判別された場合は、図6Aに示すように、同一のレーンマークとみなして、第2レーンマーク候補210bと第4レーンマーク候補210dとを補間するように仮想の右側レーンマーク224Rを設定する。
ここで、第1補間処理部204Aについての2つの処理動作(第1処理動作及び第2処理動作)を説明する。
最初に、第1処理動作について図7を参照しながら説明する。先ず、図7のステップS101において、特定シーン検知部202は、カメラ画像206から特定シーン208(図4A参照)を検知する。特定シーン208を検知した段階で、ステップS102に進み、画像変換部212は、特定シーン208の画像をBEV画像220(図4B参照)に変換する。
ステップS103において、レーンマーク候補判定部216は、図5Aに示すように、第1レーンマーク候補210aと第3レーンマーク候補210cとにおける第3レーンマーク候補210cと直交する方向の距離Daを算出する。
ステップS104において、レーンマーク候補判定部216は、算出した距離Daが所定範囲内であるかどうかを判定する。所定範囲内であれば、ステップS105に進み、レーンマーク候補判定部216は、図5Bに示すように、第2レーンマーク候補210bと第4レーンマーク候補210dとにおける第4レーンマーク候補210dと直交する方向の距離Dbを算出する。
ステップS106において、レーンマーク候補判定部216は、算出した距離Dbが所定範囲内であるかどうかを判定する。所定範囲内であれば、ステップS107に進み、第1レーンマーク補間部218は、図6Aに示すように、第1レーンマーク候補210aと第3レーンマーク候補210cとを補間するように仮想の左側レーンマーク224Lを設定する。さらに、第1レーンマーク補間部218は、第2レーンマーク候補210bと第4レーンマーク候補210dとを補間するように仮想の右側レーンマーク224Rを設定する。
これによって、図6Bに示すように、交差点内に、自車10の進行方向に沿って延長する2本のレーンマークLM1及びLM2が描画された画像が得られ、行動計画部172等に、交差点内に引かれた仮想のレーンマークとして認識させることができる。その結果、例えば交差点内でのレーンキープ走行等を好適に行うことが可能となる。
なお、図7の上記ステップS104あるいはステップS106において、算出した距離Da、Dbが所定範囲を超えていると判別された場合は、今回の処理を終え、所定時間の経過後にステップS101に戻る。
上述の例では、ステップS104での判定結果が、距離Da≦所定範囲でない場合(ステップS104:NO)、ステップS106での判定処理を行わないが、ステップS104での判定結果に関わらず、ステップS106での判定処理を行うようにしてもよい。
次に、第1補間処理部204Aの第2処理動作について図8を参照しながら説明する。
先ず、図8のステップS201〜S203において、上述した第1処理動作のステップS101〜S103と同様の処理を行う。
その後、ステップS204において、レーンマーク候補判定部216は、上述した第1処理動作のステップS105と同様に、第2レーンマーク候補210bと第4レーンマーク候補210dとにおける第4レーンマーク候補210dと直交する方向の距離Dbを算出する。
ステップS205において、レーンマーク候補判定部216は、算出した距離Daが所定範囲内であるかどうかを判定する。所定範囲内であれば、ステップS206に進み、第1レーンマーク補間部218Aは、図6Aに示すように、第1レーンマーク候補210aと第3レーンマーク候補210cとを補間するように仮想の左側レーンマーク224Lを設定する。
上記ステップS206での処理が終了した段階、あるいは、上記ステップS205において、距離Daが所定範囲内でないと判別された場合は、ステップS207に進み、ステップS207において、レーンマーク候補判定部216は、算出した距離Dbが所定範囲内であるかどうかを判定する。所定範囲内であれば、ステップS208に進み、第1レーンマーク補間部218Aは、図6Aに示すように、第2レーンマーク候補210bと第4レーンマーク候補210dとを補間するように仮想の右側レーンマーク224Rを設定する。
次に、第2周辺認識部170Bについて図9〜図12を参照しながら説明する。なお、第1周辺認識部170Aと同様の構成及び機能については、その重複説明を省略する。
第2周辺認識部170Bは、図9に示すように、特定シーン検知部202と、第2補間処理部204Bとを有する。
第2補間処理部204Bは、上述した第1補間処理部204Aと同様に、特定シーン検知部202での特定シーン208の検知に基づいて、奥側のレーンマーク候補と手前側のレーンマーク候補とを補間処理する。
この第2補間処理部204Bは、上述した画像変換部212と、シーン分割処理部226と、補間処理判定部228と、領域連結処理部230と、連結判定部232と、第2レーンマーク補間部218Bとを有する。
シーン分割処理部226は、図10Aに示すように、BEV画像220を自車10の進行方向に3つ以上の領域に分割する。図10Aでは、BEV画像220を自車10の進行方向に4つの領域(第1領域Z1、第2領域Z2、第3領域Z3及び第4領域Z4)に分割した例を示す。
補間処理判定部228は、分割された4つ領域(第1領域Z1〜第4領域Z4)のうち、間の領域(第2領域Z2及び第3領域Z3)にレーンマークの候補が存在するか否かを判定する。レーンマークの候補としては、破線の白線の一部が挙げられる。第2領域Z2又は第3領域Z3にレーンマークの候補が存在する場合は、第2補間処理部204Bでの補間処理を行わない。破線の白線が引かれた車線は、画像上において破線として描画され、奥側の領域と、手前側の領域の間である第2領域Z2又は第3領域Z3で走行ECU36等においてレーンマークとして認識されるからである。これにより、交差点と思われる特定シーン208でのみ、補間処理を行うことができる。
一方、間の領域(第2領域Z2及び第3領域Z3)にレーンマークの候補が存在しない場合は、領域連結処理部230は、分割された4つの領域(第1領域Z1〜第4領域Z4)のうち、間の領域(第2領域Z2及び第3領域Z3)を除外して、奥側の第1領域Z1と手前の第4領域Z4とを連結する。すなわち、図10Bに示すように、第1領域Z1と第4領域Z4とが連結されたBEV画像220(以下、連結画像234と記す)が描画される。
連結判定部232は、第1領域Z1の第1レーンマーク候補210aと第4領域Z4の第3レーンマーク候補210cとが連結され、また、第1領域Z1の第2レーンマーク候補210bと第4領域Z4の第4レーンマーク候補210dとが連結されているか否かを判別する。いずれも連結されていれば、図10Bに示すように、第2レーンマーク補間部218Bは、第1レーンマーク候補210aと第3レーンマーク候補210cとを1つの左側レーンマーク236Lとして認識し、第2レーンマーク候補210bと第4レーンマーク候補210dとを1つの右側レーンマーク236Rとして認識する。
一方、図11Aに示すように、連結判定部232によって、第1レーンマーク候補210aと第3レーンマーク候補210cとが連結されておらず、また、第2レーンマーク候補210bと第4レーンマーク候補210dとが連結されていないと判別された場合は、第2レーンマーク補間部218Bは、図11Bに示すように、上述した第1レーンマーク補間部218Aと同様の処理を行って、第1レーンマーク候補210aと第3レーンマーク候補210cとを補間するように仮想の左側レーンマーク224Lを設定し、第2レーンマーク候補210bと第4レーンマーク候補210dとを補間するように仮想の右側レーンマーク224Rを設定してもよい。
ここで、第2補間処理部204Bの処理動作を図12のフローチャートを参照しながら説明する。なお、第1補間処理部204Aと同様の処理を行うステップは、その重複説明を省略する。
先ず、図12のステップS301において、特定シーン検知部202は、カメラ画像206から特定シーン208(図4A参照)を検知する。特定シーン208を検知した段階で(ステップS301:YES)、ステップS302に進み、画像変換部212は、特定シーン208の画像をBEV画像220(図4B参照)に変換する。
ステップS303において、シーン分割処理部226は、図10Aに示すように、BEV画像220を自車10の進行方向に3つ以上の領域に分割する。例えば4つの領域(第1領域Z1〜第4領域Z4)に分割する。
ステップS304において、補間処理判定部228は、分割された4つの領域(第1領域Z1〜第4領域Z4)のうち、間の領域(第2領域Z2及び第3領域Z3)にレーンマークの候補が存在するか否かを判定する。
レーンマークの候補が存在しない場合(S304:YES)は、ステップS305に進み、領域連結処理部230は、分割された4つの領域(第1領域Z1〜第4領域Z4)のうち、間の領域(第2領域Z2及び第3領域Z3)を除外して、図10Bに示すように、奥側の第1領域Z1と手前の第4領域Z4とを連結する。なお、間の領域(第2領域Z2及び第3領域Z3)にレーンマークの候補が存在している場合(ステップS304:NO)は、この第2補間処理部204Bでの処理を終了する。
ステップS306において、連結判定部232は、第1領域Z1の第1レーンマーク候補210aと第4領域Z4の第3レーンマーク候補210cとが連結され、また、第1領域Z1の第2レーンマーク候補210bと第4領域Z4の第4レーンマーク候補210dとが連結されているか否かを判別する。
いずれも連結されていれば(ステップS306:YES)、ステップS307に進み、第2レーンマーク補間部218Bは、図10Bに示すように、第1レーンマーク候補210aと第3レーンマーク候補210cを、1つの左側レーンマーク236Lとして認識する。同様に、第2レーンマーク候補210bと第4レーンマーク候補210dを、1つの右側レーンマーク236Rとして認識する。
上記ステップS306において、第1レーンマーク候補210aと第3レーンマーク候補210cとが連結されておらず、また、第2レーンマーク候補210bと第4レーンマーク候補210dとが連結されていないと判別された場合は(ステップS306:NO)、ステップS308に進み、第2レーンマーク補間部218Bは、図11Bに示すように、上述した第1レーンマーク補間部218Aと同様の処理を行って、第1レーンマーク候補210aと第3レーンマーク候補210cとを補間するように仮想の左側レーンマーク224Lを設定し、第2レーンマーク候補210bと第4レーンマーク候補210dとを補間するように仮想の右側レーンマーク224Rを設定する。
なお、ステップS306において、第1レーンマーク候補210aと第3レーンマーク候補210cとが連結し、第2レーンマーク候補210bと第4レーンマーク候補210dとが連結していないと判別された場合は、ステップS307において、第1レーンマーク候補210aと第3レーンマーク候補210cを、1つの左側レーンマーク236Lとして認識し、ステップS308において、第2レーンマーク候補210bと第4レーンマーク候補210dとを補間するように仮想の右側レーンマーク224Rを設定してもよい。
もちろん、ステップS306において、第1レーンマーク候補210aと第3レーンマーク候補210cとが連結しておらず、第2レーンマーク候補210bと第4レーンマーク候補210dとが連結していると判別された場合は、ステップS307において、第2レーンマーク候補210bと第4レーンマーク候補210dを、1つの右側レーンマーク236Rとして認識し、ステップS308において、第1レーンマーク候補210aと第3レーンマーク候補210cとを補間するように仮想の左側レーンマーク224Lを設定してもよい。
また、上述したステップS306及びS308の処理を省略してもよい。この場合、奥側のレーンマークと手前側のレーンマークが連結されない場合もあり得る。しかし、間の領域(第2領域Z2及び第3領域Z3)を除外することで、奥側のレーンマークと手前側のレーンマークとを互いに近づけることができる。そのため、例えば破線のレーンマークよりも間隔を近づけた状態で認識することが可能となり、レーンマークを精度良く認識することが可能となる。
このように、本実施の形態に係る運転補助装置は、運転者の運転操作を補助する運転補助装置であって、道路上に存在するレーンマークを検知するレーンマーク検知部(車外カメラ50等)と、カメラ画像206上で所定距離以上の間隔を置いて奥側と手前側でそれぞれレーンマーク候補(第1レーンマーク候補210a〜第4レーンマーク候補210d)が存在する特定シーン208を検知した場合、奥側のレーンマーク候補(第1レーンマーク候補210a、第2レーンマーク候補210b)と手前側のレーンマーク候補(第2レーンマーク候補210b、第4レーンマーク候補210d)との間を補間処理する補間処理部(第1補間処理部204A、第2補間処理部204B)とを有する。
従来は、手前側の白線を検知し、その後、近似直線上に奥側の白線が検知された場合にレーンマークとして認識することから、道路上の別の物体や汚れ等を、交差点の遠方の白線のエッジとして検出したり、手前側の右側の白線エッジと、奥側の左側の白線エッジとを近似直線で接続するおそれがある。交差点等では、そもそも抽出されるレーンマーク候補の長さが短く、手前側のレーンマークを正しく認識することも困難である。
しかし、本実施の形態では、カメラ画像206上で所定距離以上の間隔を置いて奥側と手前側でそれぞれレーンマーク候補(第1レーンマーク候補210a〜第4レーンマーク候補210d)が存在する特定シーン208を検知した段階で、奥側のレーンマーク候補(第1レーンマーク候補210a、第2レーンマーク候補210b)と手前側のレーンマーク候補(第3レーンマーク候補210c、第4レーンマーク候補210d)との間を補間処理することから、例えば交差点内に仮想のレーンマークを精度良く設定することができる。つまり、走行ECU36等に仮想のレーンマークを精度良く、且つ、小さな負荷で認識させることができ、自車移動経路の計画に応じた好適な自動運転を可能とする。
本実施の形態において、第1補間処理部204Aは、奥側のレーンマーク候補(第1レーンマーク候補210a、第2レーンマーク候補210b)と手前側のレーンマーク候補(第3レーンマーク候補210c、第4レーンマーク候補210d)とが手前側のレーンマーク候補と直交する方向の距離にて所定範囲内である場合に、奥側のレーンマーク候補と手前側のレーンマーク候補の間を補間処理する。
これにより、実際にレーンマークのない、例えば交差点等において、仮想の一対のレーンマークを精度良く設定することができ、走行ECU36等に仮想のレーンマークを精度良く、且つ、小さな負荷で認識させることができ、自車移動経路の計画に応じた好適な自動運転を可能とする。
この場合、補間処理とは、奥側のレーンマーク候補(第1レーンマーク候補210a、第2レーンマーク候補210b)と手前側のレーンマーク候補(第3レーンマーク候補210c、第4レーンマーク候補210d)の間に仮想的なレーンマークを設定し、奥側のレーンマーク候補と手前側のレーンマーク候補を連結することである。
本実施の形態において、第2補間処理部204Bは、奥側のレーンマーク候補(第1レーンマーク候補210a、第2レーンマーク候補210b)が存在する領域と手前側のレーンマーク候補(第3レーンマーク候補210c、第4レーンマーク候補210d)が存在する領域との間の領域を除外して、奥側の領域と手前の領域とを連結してもよい。
これにより、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとを連結し、奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとを連結することが可能となる。その結果、センサ等にぶれが生じても、確実に、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとの間を補間処理することができると共に、奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとを補間処理することができる。
たとえ、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとが連結せず、奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとが連結しない場合でも、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとの離間距離、並びに奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとの離間距離が短くなることから、センサ等にぶれが生じても、確実に、奥側の第1レーンマーク候補210aと手前側の第3レーンマーク候補210cとの間に仮想の左側レーンマーク224Lを補間処理することができると共に、奥側の第2レーンマーク候補210bと手前側の第4レーンマーク候補210dとの間に仮想の右側レーンマーク224Rを補間処理することができる。
さらに、第2補間処理部204Bは、道路に沿って3以上の領域(例えば第1領域Z1〜第4領域Z4)のうち、間の領域(第2領域Z2、第3領域Z3)にレーンマークの候補が検出されない場合に、補間処理を行う。
奥側と手前側でそれぞれ線が存在するシーンとしては、交差点のほか、破線のレーンマークが引かれている車線等がある。破線のレーンマークが引かれた車線は、画像上において破線として描画されるため、走行ECU36等はレーンマークとして認識することができる。
一方、交差点等においては、実線のレーンマークや破線のレーンマークが引かれていないため、走行ECU36等は走行レーンを認識することができない。そこで、3以上の領域(第1領域Z1〜第4領域Z4)のうち、間の領域(第2領域Z2、第3領域Z3)にレーンマークの候補が検出されない場合、すなわち、破線のレーンマーク等が検出されない場合に補間処理を行うことで、ECU等に仮想のレーンマークとして認識させることができる。
すなわち、補間処理を実施しなくてもよい場面で、補間処理を実施するという無駄を省くことができ、ECU等による認識負荷を抑えることができ、タイムラグの無い認識を行うことができる。
なお、この発明は、上述した実施の形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。
上述の例では、第1レーンマーク候補210aと第3レーンマーク候補210cとの間、並びに第2レーンマーク候補210bと第4レーンマーク候補210dとの間を、それぞれ直線で補間するようにしたが、それぞれ曲線で補間してもよい。曲線としては、円弧状、楕円弧状等がある。
また、うねった道路に交差点が存在する場合、奥側のレーンマーク候補(第1レーンマーク候補210a及び第3レーンマーク候補210c)を撮像できない場合が生ずる。このような場合、撮像できたレーンマーク候補を含む交差点の画像のBEV画像220に、現在位置Pcurの地図情報Imapを重ね合せて、奥側のレーンマーク候補を描画することで、特定シーン208を検知してもよい。
レーンマークとしては、例えば白線、破線の白線等が挙げられるが、レーンマークを表すものであれば何でも適用可能であり、例えば黄色線等も対象としてもよい。
本実施の形態は、周辺監視に基づく仮想のレーンマークの設定を主体としているため、自動走行制御に限らず、レーン逸脱時に警報を出力するという警報装置にも利用することができる。
図4A及び図4B、図5A及び図5B、図10A及び図10B、図11A及び図11Bでは、レーンマーク候補を幅を持つものとして認識しているが、必ずしもそうする必要はなく、幅を持たない単なる線としてレーンマーク候補を認識してもよい。
上述の例では、主に、車外カメラ50にて撮像した画像に基づいて特定シーンを検知するようにしているが、その他、地図情報Imapから特定シーン208を検知(取得)してもよい。
上述の実施の形態では、特定シーン208を検知した場合にBEV画像220を作成するようにしているが、それに限らず、必要な場合に適宜作成してもよいし、常時作成してもよい。
上述の実施の形態では、奥側の領域と手前側の領域のいずれか一つにてレーンマーク候補が抽出された場合は、補間処理を行わないとしたが、レーンマーク候補が抽出されなかった領域のみ除外して、抽出された領域同士を連結してレーンマークを認識してもよい。これは、特定シーン208を例えば4分割や6分割等、多く分割した場合に、レーンマーク候補が存在しない領域のみ除外し、レーンマーク候補が存在する領域同士を連結してレーンマークを認識する等が挙げられる。もちろん、交差点でない場合でも適用可能である。
上述の実施の形態では、車両周辺センサ群20に複数の車外カメラ50を含むが、複数の車外カメラ50に、車両10の前方を検出するステレオカメラが含まれてもよい。もちろん、レーンマークを認識するに当たっては、単一のカメラでもよい。
上記実施の形態の車体挙動センサ群22には、車速センサ60、横加速度センサ62及びヨーレートセンサ64を含むが(図1参照)、これに限らない。例えば、横加速度センサ62及びヨーレートセンサ64のいずれか1つ又は複数を省略することも可能である。
上記実施の形態の運転操作センサ群24には、APセンサ80、BPセンサ82、舵角センサ84及び操舵トルクセンサ86を含むが(図1参照)、これに限らない。例えば、APセンサ80、BPセンサ82、舵角センサ84及び操舵トルクセンサ86のいずれか1つ又は複数を省略することも可能である。
上記の実施の形態では、自動運転制御で対象となるアクチュエータとして、エンジン120、ブレーキ機構130及びEPSモータ140を用いたが(図1参照)、これに限らない。例えば、エンジン120、ブレーキ機構130及びEPSモータ140のいずれか1つ又は2つを自動運転制御の対象から外すことも可能である。いずれかのアクチュエータを自動運転制御の対象から外した場合、対象から外されたアクチュエータに関する制御は、運転者が行うこととなる。さらに、上記のように、EPSモータ140の代わりに、左右の車輪のトルク差を用いて旋回することも可能である。もちろん、例えばレーンキープ制御や車間維持制御等も自動運転制御に含む。
上記の実施の形態では、車両10の加速、減速及び旋回のいずれについても運転者の運転操作を要さない自動運転について説明したが(図2参照)、これに限らない。例えば、車両10の加速、減速及び旋回のいずれか1つ又は2つについてのみ運転者の運転操作を要さない自動運転、又は運転者の運転操作を補助する自動運転に本発明を適用することも可能である。