以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係る走行制御システム1の構成の一例を示す機能ブロック図である。本実施形態に係る走行制御システム1は、車両2に搭載され、車両2の周辺における走行道路や周辺車両等の障害物の状況を認識した上で、車両2の走行における現在及び将来のリスクを判断し、適切な運転支援や走行制御を行うためのシステムである。図1に示すように、走行制御システム1は、周辺環境認識装置10、車載用表示制御装置20、自車位置決定装置30、外界センサ群40、車両センサ群50、地図情報管理装置60、走行制御装置70、アクチュエータ群80、表示装置90等を含んで構成される。
周辺環境認識装置10は、例えば、車両2に搭載されたECU(Electronic Control Unit)等であり、処理部100と、記憶部120と、通信部130と、を有する。なお、周辺環境認識装置10の形態に特に制限はなく、ECU以外のものを周辺環境認識装置10として用いてもよい。例えば、周辺環境認識装置10は、走行制御装置70や外界センサ群40等に統合されていてもよい。
処理部100は、例えば、CPU(Central Processing Unit:中央演算処理装置)及びRAM(Random Access Memory)などのメモリを含んで構成される。処理部100は、周辺環境認識装置10の機能を実現するための部分として、自車情報取得部101、周辺環境要素取得部102、環境要素移動予測部103、存在時間範囲決定部104、走行危険度決定部105、走行危険度マップ作成部106、及び走行危険度マップ提供部107を有する。処理部100は、記憶部120に格納されている所定の動作プログラムを実行することで、これらの各部に対応する処理を行う。
自車情報取得部101は、車両2の動きに関連する自車情報として、例えば車両2の位置、走行速度、操舵角、アクセルの操作量、ブレーキの操作量、車両2の制御計画(これからどのような軌道、速度で車両2を制御するかの計画)等の情報を、自車位置決定装置30、車両センサ群50、走行制御装置70、アクチュエータ群80等から取得する。自車情報取得部101により取得された自車情報は、自車情報データ群121として記憶部120に格納される。
周辺環境要素取得部102は、車両2の周辺における各種環境要素に関する周辺環境要素情報として、例えば車両2の周辺に存在する障害物の情報や、車両2の周辺における道路の特徴を示す特徴物等の情報を、外界センサ群40や地図情報管理装置60から取得する。なお、車両2の周辺に存在する障害物とは、例えば車両2の周囲を移動している他車両、自転車、歩行者等の移動体や、車両2の周囲の道路上で静止している駐車車両、落下物、設置物等である。周辺環境要素取得部102により取得された周辺環境要素情報は、周辺環境要素情報データ群122として記憶部120に格納される。
環境要素移動予測部103は、記憶部120に格納された周辺環境要素情報データ群122に基づいて、外界センサ群40で検出された環境要素に含まれる他車両、自転車、歩行者等の移動体が将来どのように移動するかを予測する。環境要素移動予測部103による移動体の移動予測結果は、当該移動体に対応する周辺環境要素情報に付加され、周辺環境要素情報データ群122として記憶部120に格納される。
存在時間範囲決定部104は、記憶部120に格納された自車情報データ群121や、環境要素移動予測部103による移動体の移動予測結果に基づいて、車両2の周辺の所定位置に対して車両2や環境要素がそれぞれ存在し得る時間範囲を決定する。以下の説明では、存在時間範囲決定部104により決定された車両2と環境要素の存在時間範囲を、自車存在時間範囲、環境要素存在時間範囲とそれぞれ称する。存在時間範囲決定部104により決定された自車存在時間範囲と環境要素存在時間範囲は、上記の自車情報と周辺環境要素情報にそれぞれ付加され、自車情報データ群121、周辺環境要素情報データ群122として記憶部120にそれぞれ格納される。
走行危険度決定部105は、記憶部120に格納されたパラメータデータ群123が表す各種パラメータや、自車情報データ群121、周辺環境要素情報データ群122がそれぞれ表す自車情報および周辺環境要素情報に基づいて、車両2の周辺の走行危険度を決定する。
走行危険度マップ作成部106は、走行危険度決定部105による走行危険度の決定結果に基づき、車両2の周辺の各位置と走行危険度との関係を表す走行危険度マップを作成する。走行危険度マップ作成部106により作成された走行危険度マップに関する情報は、走行危険度マップデータ群124として記憶部120に格納される。
走行危険度マップ提供部107は、記憶部120に格納された走行危険度マップデータ群124に基づいて、車両2の走行危険度マップに関する情報を、周辺環境認識装置10内の他の機能や、車両2に搭載された周辺環境認識装置10以外の装置に提供する。
記憶部120は、例えば、HDD(Hard Disk Drive)、フラッシュメモリ、ROM(Read Only Memory)などの記憶装置や、RAM(Random Access Memory)などのメモリを含んで構成される。記憶部120は、処理部100が実行するプログラムや、本システムの実現に必要なデータ群などを格納している。本実施形態では、特に、周辺環境認識装置10の機能を実現するための情報として、自車情報データ群121、周辺環境要素情報データ群122、パラメータデータ群123、及び走行危険度マップデータ群124が記憶部120に格納される。
自車情報データ群121は、車両2に関するデータの集合体である。例えば、自車位置決定装置30から取得された車両2の位置や、車両センサ群50から取得された車両2の状態に関する情報が、自車情報データ群121に含まれる。また、車両2周辺の各位置について車両2が当該位置に存在し得る時間範囲、すなわち前述の自車存在時間範囲に関する情報も、自車情報データ群121に含まれる。
周辺環境要素情報データ群122は、車両2の周辺環境に関するデータの集合体である。例えば、地図情報管理装置60から取得された車両2周辺の道路に関するデジタル道路地図データや、外界センサ群40から取得された車両2周辺の各種環境要素の認識データや、それらを統合して生成されたデータ等が、周辺環境要素情報データ群122に含まれる。また、環境要素移動予測部103による移動体の移動予測結果を示すデータも、周辺環境要素情報データ群122に含まれる。さらに、車両2周辺の各位置について環境要素が当該位置に存在し得る時間範囲、すなわち前述の環境要素存在時間範囲に関する情報も、周辺環境要素情報データ群122に含まれる。なお、周辺環境要素情報データ群122では、複数の環境要素のそれぞれに対して上記のようなデータが設定される。ここでいう「環境要素」とは、車両2の走行に対して影響を与える情報要素を意味する。例えば、車両2の周辺にある他車両、歩行者等の移動体や落下物等の障害物、車線や道路の境界情報等の道路形状、速度規制や一方通行や信号等の交通ルール等の情報要素が、上記の「環境要素」に含まれる。これらの情報要素は、性質としては様々であるが、いずれも車両2周辺の空間上の位置あるいは領域に意味を与えるものであるという共通点を持つ。そのため、本実施形態では、これらの情報要素を「環境要素」として共通の枠組みで扱い、周辺環境要素情報データ群122におけるデータの蓄積対象とする。
なお、本実施形態における「時間」とは、ある参照時点を基準とした時間系において示されるものである。好ましくは、現在を参照時点として、車両2の現在位置の周辺の各位置において車両2や環境要素が将来のどの時間帯(例えば、2秒後から3秒後)に存在し得るかを、自車存在時間範囲や環境要素存在時間範囲で示すことができる。ここで、上記の「時間範囲」とは、必ずしも幅を持った時間である必要はなく、ある特定の時点を自車存在時間範囲や環境要素存在時間範囲としてもよい。また、車両2の現在位置の周辺の各位置において車両2や環境要素が存在する時間の確率分布、すなわち各位置における所定の時間間隔ごとの車両2や環境要素の存在確率の分布を、自車存在時間範囲や環境要素存在時間範囲として示してもよい。
パラメータデータ群123は、走行危険度マップ作成部106が走行危険度マップの作成において用いるパラメータに関するデータの集合体である。パラメータデータ群123には、例えば周辺環境認識装置10の出荷前など、事前に記憶部120に保存されたデータも含まれる。
走行危険度マップデータ群124は、車両2の周辺の各位置と、車両2の走行危険度、すなわち車両2が当該位置を走行する場合の危険度との関係を示す走行危険度マップに関するデータの集合体である。
通信部130は、各種プロトコルに基づいて、車両2に搭載された他の装置とデータの送受信を行う。通信部130は、例えば、Ethernet(登録商標)又はCAN(Controller Area Network)等の通信規格に準拠したネットワークカード等を含んで構成される。
車載用表示制御装置20は、表示装置90と接続されており、処理部200と、記憶部220と、通信部230と、画面入出力部240と、を有する。車載用表示制御装置20は、周辺環境認識装置10から出力される情報や、走行制御装置70から出力される情報に基づいて、車両2の運転支援に関する運転者への通知を、表示装置90を通じた音声や画面により行うように構成されている。
処理部200は、例えば、CPU及びRAMなどのメモリを含んで構成される。処理部200は、車載用表示制御装置20の機能を実現するための部分として、走行危険度マップ取得部201、制御計画情報取得部202、走行危険度マップ表示制御部203、を有する。処理部200は、記憶部220に格納されている所定の動作プログラムを実行することで、これらの各部に対応する処理を行う。
走行危険度マップ取得部201は、周辺環境認識装置10から出力された走行危険度マップのデータを取得し、記憶部220に格納する。
制御計画情報取得部202は、走行制御装置70から出力された車両2の制御計画情報を取得し、記憶部220に格納する。
走行危険度マップ表示制御部203は、記憶部220に格納された走行危険度マップのデータに基づいて、画面入出力部240を介して表示装置90の画面上に走行危険度マップを表示させる。
記憶部220は、例えば、HDD、フラッシュメモリ、ROMなどの記憶装置や、RAMなどのメモリを含んで構成される。記憶部220は、処理部200が実行するプログラムや、本システムの実現に必要なデータ群などを格納している。
通信部230は、各種プロトコルに基づいて、車両2に搭載された他の装置とデータの送受信を行う。通信部230は、例えば、Ethernet又はCAN等の通信規格に準拠したネットワークカード等を含んで構成される。
画面入出力部240は、表示装置90への画面表示情報の出力や、ユーザが表示装置90の画面上で行ったタッチパネル操作情報の取得を行う。
自車位置決定装置30は、車両2の地理的な位置を測位し、その情報を提供する装置である。自車位置決定装置30は、例えば、全地球航法衛星システム(GNSS)受信装置により構成される。その場合、自車位置決定装置30は、単純にGNSS衛星から受信する電波に基づいた測位結果を提供するように構成されていても良い。あるいは、車両2の移動速度や進行方位角など、外界センサ群40や車両センサ群50から取得可能な情報を活用して、GNSS衛星から受信した電波による測位結果に対して補間や誤差補正を行うように自車位置決定装置30を構成しても良い。
外界センサ群40は、車両2周辺の一定範囲の障害物(他車両、自転車、歩行者、落下物等)や特徴物(道路標識、白線、ランドマーク等)を認識することができるセンサ群である。外界センサ群40は、例えば、カメラ装置、レーダ、レーザーレーダ、ソナー等により構成される。外界センサ群40は、検出した車両2周辺の障害物や特徴物の情報(例えば、車両2からの相対距離と相対角度等)を、外界センサ群40や周辺環境認識装置10が接続されているCAN等の車載ネットワーク上に出力する。周辺環境認識装置10は、この車載ネットワークを通じて、外界センサ群40からの出力結果を取得できるように構成されている。なお、本実施形態では、外界センサ群40で障害物や特徴物を検出する処理を実施する構成になっているが、外界センサ群40から出力される信号やデータを用いて、周辺環境認識装置10や他装置でこれらの検出処理を行っても良い。
車両センサ群50は、車両2の動きに関する各種部品の状態(例えば走行速度、操舵角、アクセルの操作量、ブレーキの操作量等)を検出する装置群である。車両センサ群50は、例えば、CAN等の車載ネットワーク上に、検出したこれらの状態量を定期的に出力する。車載ネットワークに接続された周辺環境認識装置10や他の装置は、この車載ネットワークを通じて、車両センサ群50から出力された各種部品の状態量を取得することができるように構成されている。
地図情報管理装置60は、車両2周辺のデジタル地図情報を管理及び提供する装置である。地図情報管理装置60は、例えば、ナビゲーション装置等により構成される。地図情報管理装置60は、例えば、車両2の周辺を含む所定地域のデジタル道路地図データを備えており、自車位置決定装置30で決定された車両2の位置情報に基づき、地図上での車両2の現在位置、すなわち車両2が走行中の道路や車線を特定するように構成されている。また、特定した車両2の現在位置やその周辺の地図データを、CAN等の車載ネットワークを介して周辺環境認識装置10に提供するように構成されている。
走行制御装置70は、車両2の燃費性能、安全性、利便性等を高めることを目的として、車両2の先進運転支援システム(ADAS:Advanced Driver Assistance Systems)を実現するためのECUである。走行制御装置70は、周辺環境認識装置10から出力される情報に基づいて、例えば、アクチュエータ群80に指示を出して車両2の加減速や操舵を自動で制御したり、車載用表示制御装置20および表示装置90を介してドライバに情報提供や警告を出力したりする。
アクチュエータ群80は、車両2の動きを決定する操舵、ブレーキ、アクセル等の制御要素を制御する装置群である。アクチュエータ群80は、運転者によるハンドル、ブレーキペダル、アクセルペダル等の操作情報や、走行制御装置70から出力される目標制御値に基づいて、車両2の動きを制御するように構成されている。
図2は、本実施形態の走行危険度マップデータ群124が表す走行危険度マップの一例を示す図である。
走行危険度マップデータ群124は、車両2の周辺の各位置における車両2の走行危険度を示す走行危険度マップを表すデータである。図2に示すように、走行危険度マップデータ群124は、例えば、車両2の現在位置を中心としたx−y座標系で規定される所定の領域(x方向で−XBm〜XFm、y方向で−YRm〜YLm)において、x、yがそれぞれ変数で表される座標値(x、y)の各位置に対する車両2の走行危険度R(x、y)を示したものである。ここで、x軸250は車両2を前後方向に貫く中心軸であり、x軸250の正方向は車両2の前方向に対応する。また、y軸251は車両2の前部を左右方向に貫く中心軸であり、y軸251の正方向は車両2の左方向に対応する。なお、座標値(x、y)の取り得る値は、連続値(例えば、関数表現)でも良いし、離散値(例えば、グリッド表現)でも良い。図2に示す走行危険度マップの例では、座標値(x、y)を離散値(x=x−5、x−4、・・・、x30、y=y−8、y−7、・・・、y8)として、グリッドマップ上で走行危険度R(x、y)の値を表現している。
以降の説明では、グリッドマップにより表現された走行危険度マップのセル長(各セルに対応する地点間のx軸方向の距離)およびセル幅(各セルに対応する地点間のy軸方向の距離)を、それぞれdx、dyで表すものとする。すなわち、各セルのセル長dxとセル幅dyは、走行危険度マップにおいて走行危険度が示された各位置の車両2の前後方向と横方向における間隔をそれぞれ表している。図2の例では、走行危険度マップ内のすべてのセルにおいてdxとdyを共通としているが、セルの位置に応じて異なるdxやdyを用いても良い。
以降では、走行危険度マップのx軸正方向に存在するセル(x0を除く)の数を前方セル数Nx+、x軸負方向に存在するセルの数を後方セル数Nx−、y軸正方向に存在するセルの数(y0を除く)を左側セル数Ny+、y軸負方向に存在するセルの数を右側セル数Ny−、でそれぞれ表すものとする。dxとdyが共通である場合は、図2に示す走行危険度マップの各方向の長さをそれぞれ表す前方長さXF、後方長さXB、左側長さYL、右側長さYRと、セル長dx、セル幅dyおよび前後左右の各セル数Nx+、Nx−、Ny+、Ny−との間には、以下の式(1)〜(4)の関係が成立する。
XF=Nx+・dx ・・・(1)
XB=Nx−・dx ・・・(2)
YL=Ny+・dy ・・・(3)
YR=Ny−・dy ・・・(4)
図2において、例えば、座標値(x17、y−4)のセルに格納されている走行危険度R(x17、y−4)の値は、この座標値に相当する車両2からの相対位置における車両2の走行危険度に相当する。ここで、図2の各セルに格納されている走行危険度R(x、y)の値は、当該セルにおける車両2と車両2周辺の環境要素との相互作用による危険度を積算して正規化したものであり、その値が大きいほど、車両2が走行する際の危険度が高いことを示すものである。図2の例では、各セルでの車両2の走行危険度R(x、y)の値をハッチングで表しており、ハッチングが濃い箇所ほど、走行時の危険度が高いことを示している。
続いて、図3〜図14を用いて走行制御システム1の動作について説明する。本実施形態における走行制御システム1の周辺環境認識装置10は、外部装置である自車位置決定装置30、外界センサ群40、車両センサ群50、地図情報管理装置60からそれぞれ取得した車両2や車両2周辺の環境要素に関する情報に基づいて、以下で説明するような周辺環境認識処理を実行し、前述のような車両2周辺の走行危険度マップを作成する。そして、生成した走行危険度マップを車載用表示制御装置20や走行制御装置70に出力する。走行制御装置70は、取得した走行危険度マップに基づいて、例えば、車両2の安全に走行可能な軌道を計画し、アクチュエータ群80を介して、車両2の走行を制御する。車載用表示制御装置20は、例えば、取得した走行危険度マップや走行制御装置70から出力される制御計画情報を表示し、走行制御システム1の状態を運転者や乗員に提示する。これらの動作により、車両2の運転支援が行われる。
図3は、本実施形態の走行制御システム1において、周辺環境認識装置10で実行される周辺環境認識処理フロー500を示す図である。
まず、自車情報取得部101は、ステップS501において所定時間待機する。ここでは、周辺環境認識装置10に対して走行危険度マップ生成のトリガーがかかるまでの時間、処理を進めずに待機する。同トリガーは、走行危険度マップが一定時間毎に生成されるようにタイマーでかけても良いし、走行危険度マップの更新の必要性を検知してオンデマンドにかけても良い。
次に、自車情報取得部101は、ステップS502において、周辺環境認識処理に必要な自車情報として、車両2に関する情報を記憶部120の自車情報データ群121から取得する。ここでは、自車位置決定装置30から取得された車両2の位置情報や、車両センサ群50から取得された車両2の状態に関する情報、走行制御装置70から取得された車両2の制御計画情報、等を自車情報として取得する。車両2の状態に関する情報とは、車両2の速度、加速度、舵角、アクセル開度、ヨーレート等、車両2の現在の状態を示すものでもよいし、過去所定時間(例えば、1秒間)の平均速度のように、車両2に関する統計的な情報を示すものでもよいし、将来所定時間(例えば、5秒間)の予測平均速度のように、車両2に関する予測情報を示すものでもよい。なお、これらの情報は前述のように、自車情報取得部101により、車両ネットワーク等を介して適切なタイミングで自車位置決定装置30や車両センサ群50、走行制御装置70等から取得された情報、あるいはそれらの情報に基づいて加工された情報(例えば、統計的な情報等)を、記憶部120に自車情報データ群121として格納されたものである。
次に、周辺環境要素取得部102は、ステップS503において、周辺環境認識処理に必要な周辺環境要素情報として、車両2周辺の環境要素に関する情報を記憶部120の周辺環境要素情報データ群122から取得する。ここでは、地図情報管理装置60から取得された車両2周辺の道路に関するデジタル道路地図データや、外界センサ群40から取得された車両2周辺の各種環境要素の認識データを、周辺環境要素情報として取得する。車両2周辺の環境要素の認識データには、障害物(他車両、人、落下物等)、道路形状(路端、白線、停止線、ゼブラゾーン等)、路面状態(凍結、水溜り、ポットホール等)などの認知状況を表す情報が含まれる。なお、これらの情報は前述のように、周辺環境要素取得部102により、車両ネットワーク等を介して適切なタイミングで外界センサ群40や地図情報管理装置60から取得され、記憶部120に周辺環境要素情報データ群122として格納されたものである。これは、いわゆるフュージョン処理により適切に統合されたものでも良い。
続いて、環境要素移動予測部103は、ステップS504において、ステップS503で取得した周辺環境要素情報に基づいて、車両2の周辺における移動可能な環境要素(車両、人等)が、所定時間の間にどのように移動するかを表す移動予測情報を生成する。ここでは、当該環境要素に関する周辺環境要素情報が表す認識情報(相対位置、移動方向、移動速度等)や、当該環境要素に関する周辺環境要素情報が表す周辺の状況(道路形状、交通ルール、障害物等)を鑑みて、環境要素ごとの動きを予測する。移動予測情報は、例えば、所定の時間(例えば、1秒後、2秒後、…)と当該時間での推定位置情報のリストで表現される。
次に、走行危険度マップ作成部106は、ステップS505において、ステップS502で自車情報として取得した車両2の状態に関する情報に基づいて、走行危険度マップパラメータ決定処理を実行する。この走行危険度マップパラメータ決定処理は、以降のステップで作成する走行危険度マップに関するパラメータを決定し、パラメータデータ群123の一部として記憶部120に格納するための処理である。走行危険度マップパラメータ決定処理の詳細は図4および図5を用いて以下で説明する。
続いて、存在時間範囲決定部104は、ステップS506において、ステップS502で取得した自車情報と、ステップS505の走行危険度マップパラメータ決定処理で決定した走行危険度マップに関するパラメータとに基づいて、車両2の存在時間範囲マップを決定する自車存在時間範囲決定処理600を実行する。自車存在時間範囲決定処理600の詳細は図6及び図7を用いて以下で説明する。
次に、存在時間範囲決定部104は、ステップS507において、ステップS504で行った周辺環境要素移動予測の結果に基づいて、各環境要素の存在時間範囲マップを決定する環境要素存在時間範囲決定処理700を実行する。環境要素存在時間範囲決定処理700の詳細は図8を用いて以下で説明する。
続いて、走行危険度マップ作成部106は、ステップS508において、車両2周辺の走行危険度マップを作成する走行危険度マップ作成処理800を実行する。ここでは、ステップS506で決定した車両2の存在時間範囲マップと、ステップS507で決定した環境要素の存在時間範囲マップと、ステップS503で取得した周辺環境要素情報とに基づいて、車両2周辺の走行危険度マップを作成する。走行危険度マップ作成処理800の詳細は図9及び図10を用いて以下で説明する。
ステップS508の走行危険度マップ作成処理800が完了すると、走行危険度マップ提供部107は、ステップS509において、作成された走行危険度マップのデータを車載用表示制御装置20や走行制御装置70等に出力する。出力される走行危険度マップのデータフォーマットについては、図11を用いて以下で説明する。
上述したステップS501〜S509の処理を実行した後は、ステップS501に戻り、これらの処理を繰り返し実行する。
<走行危険度マップパラメータ決定処理(S505)>
次に、図3のステップS505で実行される走行危険度マップパラメータ決定処理について説明する。走行危険度マップパラメータ決定処理では、以下で説明するような方針に従って走行危険度マップの表現形式を決定し、その表現形式に対応したパラメータを決定する。
走行危険度マップは、例えば、走行制御装置70が車両2の走行軌道を計画する際に用いられる。計画する走行軌道の対象時間をT秒とすると、走行危険度マップは、少なくとも車両2がT秒間に進む領域を表現する必要がある。車両2の走行速度がvである場合、車両2の進行方向(x軸方向)では、T秒間に車両2が進む距離Lxは、Lx=T・vの式で表現され、走行危険度マップで表現すべき領域は走行速度vに比例して延びていく。一方、横方向(y軸方向)では、T秒間に車両2が進む距離Lyは、旋回半径をrとすると、Ly=r・(1−cos(v・T/r))の式で表現される。ここで、横加速度が大きいと乗り心地が悪くなるため、許容される最大横加速度をAlatとすると、速度vのときの最小旋回半径は、r=v2/Alatと定まる。これを上記式に代入して変形すると、以下の式(5)が得られる。
Ly=(v2/Alat)・(1−cos(Alat・T/v)) ・・・(5)
ここで、v=AlatT/wとすると、式(5)は以下の式(6)に変形できる。
Ly=AlatT2(1−cosw)/w2 ・・・(6)
式(6)において、wを0に近づけると、LyはAlatT2/2に近づく。これは、車両2が進む横方向の距離Lyは、走行速度vに拠らず、一定値AlatT2/2内に収まることを意味する。
一方、走行軌道の計画において必要となる走行危険度マップの精度は、車両2の走行速度に応じて変化する。例えば、駐車場や路地のように低速で隙間を縫うような車両2の制御が必要な場合は、走行危険度マップにおいて細かい粒度での表現(例えば、10cm)が求められる。一方、高速道路のように車両2が高速で走行している場合は、車両2を制御できる精度を考慮すると、車両2の進行方向に対して細かい粒度(例えば、10cm)で走行危険度マップを表現する必要はない。また一般的に、車両走行に関する危険度は、例えば衝突危険度の指標として用いられるTTC(Time To Collision)のように、時間のスケールで判断される。これらのことから、走行危険度マップの表現において一定の精度が要求されるのは、時間のスケールであると考えられる。
そこで、以上のことを鑑み、本実施形態では、図2のようにグリッドマップで表現された走行危険度マップにおいて、車両2の進行方向すなわち前後方向における各セルの長さdxを、車両2の走行速度vに応じて変化させる。具体的には、dx=a・v(aは正の定数)の関係を満たすように、各セルの長さdxを走行速度vに比例して変化させる。ここで、aは時間スケールにおける走行危険度マップの表現精度に相当する値である。一方、車両2の横方向における各セルの幅dyは、車両2の走行速度vに対して一定の値に設定する。このとき、車両2がT秒間に進む領域が走行危険度マップ上で少なくとも表現されるように、各セルの長さdxおよび幅dyや、セルの数が設定される。例えば、車両2の進行方向すなわちx軸正方向のセル数Nx+と、車両2の横方向すなわちy軸正負方向のセル数Ny+及びNy−とは、それぞれ以下の式(7)、(8)で算出される。
Nx+=Lx/dx=T/a ・・・(7)
Ny±=Ly/dy=AlatT2/2dy ・・・(8)
式(7)、(8)において、セル数Nx+、Ny+及びNy−は、いずれも走行速度vに拠らない定数で表現されている。そのため、走行危険度マップに必要なセル数は、車両2の走行速度vに関わらず常時一定値に保つことができる。これは、走行危険度マップに必要なメモリ使用量を一定値に規定することができることを意味しており、周辺環境認識装置10のようにメモリ制約がある組込み用の装置での設計を容易とすることができる。
また、上記のように、車両2の進行方向における各セルの長さdxを車両2の走行速度vに比例して設定することにより、dx=a・vと表すことができる。そのため、1つのセルに相当する距離を車両2が前方に走行する時間Txcellは、Txcell=dx/v=aと算出され、走行速度vに依存せず一定となる。これは、例えばa=0.1と設定すれば、時間スケールで表現された走行危険度マップにおいて、0.1秒単位での表現精度を保つことができることを意味する。
一方、横方向については、前述のように車両2が所定時間内に進む距離Lyは走行速度vに拠らず一定であるため、要求精度を満たすように各セルの幅dyを固定で設定すればよい。例えば、0.1秒単位での表現精度を保ちたい場合、0.1秒間に車両2が横方向に進む距離は、前述の式(6)からLy=Alat・(0.1)2/2=Alat/200と求められる。そのため、dy=Alat/200とすれば、横方向の要求精度を保つことができる。
ただし、上記のようにして決定されたセル幅dyの値が外界センサ群40の認識精度に比べて非常に小さい場合は、横方向の走行危険度マップが必要以上に細かく表現されてしまい、メモリを不要に消費することにつながる。そのため、このような場合は外界センサ群40の認識精度に合せてセル幅dyを設定してもよい。
また、セル幅dyを走行危険度マップ全体で共通とせずに、x軸250から離れるほど大きくしてもよい。具体的には、例えば、各セルの横方向の位置yn(ただしnは整数、図2の例ではnは−8から8までの整数))を、yn=Alat・(a・n)2/2と設定する。なお、aは前述のように、時間スケールにおける走行危険度マップの表現精度に相当する値であり、例えばa=0.1秒である。この場合、各セルのセル幅dyは横位置ynに応じて変化するが、時間スケール上ではセル長さdxと同様に、常にa秒単位の表現精度を保つことができる。このようにすれば、セル幅dyが固定である場合と比較して、横方向のセル数Ny+及びNy−を小さく抑えることができるため、さらなるメモリ消費量の削減が可能となる。
本実施形態では、走行危険度マップパラメータ決定処理において、以上説明したような方針に従って、車両2の走行速度vに基づいて走行危険度マップの各セルの長さdxを決定すると共に、各セルの幅dyを決定することができる。そして、決定したこれらの値に応じたパラメータを決定することができる。
なお、前述のように各セルの長さdxを車両2の走行速度vに比例して変化させる際には、例えば図4のグラフに示すように、所定速度未満ではdxを変化させないようにすることが好ましい。図4は、車両2の走行速度vと走行危険度マップのセル長さdxとの関係を示したグラフの一例である。図4のグラフ401において、横軸は車両2の走行速度vを表し、縦軸は走行危険度マップのセル長さdxを表している。本実施形態では、グラフ401において折れ線411に示すように、走行速度vが所定値Vth以上のときには、セル長さdxを走行速度vに比例して変化させる一方で、走行速度vが所定値Vthよりも小さいときには、セル長さdxを固定値dx0とする。このようにすれば、車両2が低速で走行しているときに、セル長さdxを必要以上に小さくしてしまうのを避けることができる。すなわち、セル長さdxを単純に速度比例とすると、走行速度vが小さいときには、外界センサ群40の認識精度や安全性の判断に必要な要求精度に対して、セル長さdxが必要以上に小さくなり、不要にメモリを消費してしまう。そこで、上記のように走行速度vが所定値Vthよりも小さいときには、セル長さdxを固定値dx0とすることで、不要なメモリ消費を避けることができる。
また、上記では簡単のため、車両2が一定の走行速度vで走行していると仮定し、T秒間に車両2が進む距離LxをLx=T・vとして説明したが、実際には車両2が走行中に加速する場合もある。この場合、車両2の最大縦加速度をAlonとすると、T秒間に車両2が進む距離Lxは以下の式(9)で表現される。
Lx=T・v+Alon・T2/2 ・・・(9)
グラフ401において破線412は、dx=(T・v+Alon・T2/2)/Nx+の関係を示す直線である。距離Lxを式(9)で表現した場合、グラフ401に示すように、折れ線411の屈曲部分がこの破線412上に位置するようにVthが設定される。すなわち、dx0=(T・Vth+Alon・T2/2)/Nx+の関係を満たすように、セル長さdxを走行速度vに比例して変化させる走行速度vの閾値Vthを設定することで、車両2が走行中に加速する場合についても対応可能となる。
また、車両2の走行速度vに応じて、走行危険度マップにおける車両2の位置を変化させてもよい。例えば、走行速度vが大きいときには、車両2が後方に走行することはない。そのため、この場合は車両2の後方に対する走行危険度を表現する必要性がなく、図2に示した走行危険度マップの後方長さXBをXB=0としてよい。反対に、走行速度vが小さい場合、すなわち車両2の低速走行時や停止時には、車両2がバック走行により後方に向かって走行する可能性がある。そのため、この場合は車両2の後方に対する走行危険度を表現することが重要となり、XB>0とする必要がある。その一方で、前述のようにv<Vthのときにセル長dxを固定値dx0とすると、走行速度vが小さいときには走行危険度マップの前方長さXFが距離Lxよりも大きくなり、車両2の前方の走行危険度が過剰に表現されることになる。
そこで本実施形態では、上記のように車両2の前方の走行危険度が過剰に表現されるのを避けるため、走行危険度マップパラメータ決定処理において、走行危険度マップ上での車両2の位置を走行速度vに応じて変化させるように、パラメータを決定する。具体的には、例えば図5のグラフに示すように、走行速度vに応じて走行危険度マップの前方長さXFと後方長さXBをそれぞれ設定すればよい。図5は、車両2の走行速度vと走行危険度マップの前後方向の長さXF、XBおよびセル数Nx+、Nx−との関係を示したグラフの一例である。図5のグラフ402において、横軸は車両2の走行速度vを表し、縦軸の上方向は走行危険度マップの前方長さXFを表し、縦軸の下方向は後方長さXBを表している。グラフ402の太線421は、本実施形態における走行速度vと前方長さXFの関係を表し、太線422は、本実施形態における走行速度vと後方長さXBの関係を表している。また、図5のグラフ403において、横軸は車両2の走行速度vを表し、縦軸は車両2の前後方向における走行危険度マップのセル数を表している。グラフ403の破線431は、本実施形態における走行速度vと前方セル数Nx+の関係を表し、破線432は、本実施形態における走行速度vと後方セル数Nx−の関係を表している。
T秒間に車両2が加速しながら後方に進む距離Lx−は、車両2の後方走行における最大縦加速度をAlon−(ただしAlon−<0)とすると、前述の式(9)を用いて、Lx−=|T・v+Alon−・T2/2|と表すことができる。そこで本実施形態では、例えばグラフ402において太線421、422にそれぞれ示すように、v<Vthのときに、以下の式(10)、(11)をそれぞれ満たすように、前方セル数Nx+および後方セル数Nx−を決定する。なお、グラフ402では縦軸の下方向(負方向)を後方長さXBとしていることから、式(11)の右辺の符号を反転させたものを太線422で示している。ここで、前方セル数Nx+と前方長さXFの関係、および後方セル数Nx−と後方長さXBの関係は、前述の式(1)、(2)でそれぞれ示したとおりである。また、式(10)においてXF0は、v=Vthのときの前方長さXFの値である。
XF=T・v+Alon・T2/2 ・・・(10)
XB=−(XF−XF0) ・・・(11)
上記のようにすることで、走行危険度マップに対する要求範囲(前方は距離Lx、後方は距離Lx−)を満たしながら、グラフ403に示すように、車両2の前後方向での合計セル数(Nx++Nx−+1)を、一定値Nx0に保つことができる。そのため、不要なメモリ消費を抑えることが可能となる。
なお、上記のように走行危険度マップの前後方向について、合計セル数を一定に保ちながら長さXFとXBをそれぞれ制御するというのは、走行危険度マップにおける車両2の進行方向に対する位置(後方セル数Nx−)を走行速度vに応じて変化させることに相当する。すなわち、図5のグラフ402の例では、グラフ403で示すように、走行速度vに応じて後方セル数Nx−が変化することになる。
以上説明した走行危険度マップの表現形式の決定方法において、車両2の走行速度vには、車両2の現在の走行速度を用いてもよいし、過去の所定時間(例えば、1秒間)における平均速度のように統計的な速度を用いてもよい。また、将来の所定時間(例えば、5秒間)の予測平均速度のように、車両2に関する予測情報を示すものでもよい。
本実施形態の走行危険度マップパラメータ決定処理では、以上のようにして、走行危険度マップのセル位置(セル長、セル幅)や車両2の位置を設定し、これらの設定結果に応じたパラメータを決定して、パラメータデータ群123として記憶部120に格納する。こうして決定されたパラメータを用いて走行危険度マップを作成することにより、車両2の走行に対する安全性の判断に必要な走行危険度マップに対する要求精度や要求範囲を満たしつつ、メモリ消費量を抑えることが可能となる。
<自車存在時間範囲決定処理600(S506)>
次に、図3のステップS506で実行される自車存在時間範囲決定処理600について説明する。図6は、自車存在時間範囲決定処理600のフローチャートの一例を示す図である。
まず、存在時間範囲決定部104は、ステップS601において、記憶部120のパラメータデータ群123から走行危険度マップに関するパラメータデータを取得する。ここで取得される走行危険度マップに関するパラメータデータとは、図3のステップS505の走行危険度マップパラメータ決定処理で決定されたパラメータデータや、周辺環境認識装置10の出荷前に事前にROM等の記憶部120に保存されたパラメータデータが含まれるものである。
次に、存在時間範囲決定部104は、ステップS602において、走行危険度マップの各セルに対応する位置(x、y)において、運転距離D(x、y)を決定する。続いて、存在時間範囲決定部104は、ステップS603において、ステップS602で決定した運転距離D(x、y)に基づき、車両2の車速、加速度、ジャーク等を考慮して、当該位置における車両2の存在時間範囲TED(x、y)を算出する。そして、存在時間範囲決定部104は、ステップS604において、ステップS603で行った存在時間範囲TED(x、y)の算出結果に基づき、車両2の存在時間範囲マップを構成し、記憶部120の自車情報データ群121に設定する。ステップS604の処理を実行したら、存在時間範囲決定部104は、自車存在時間範囲決定処理600を終了する。
図7を用いて、ステップS602とステップS603でそれぞれ行われる処理の詳細を説明する。図7は、自車情報データ群121における車両2の存在時間範囲マップ300の一例を示した図である。
ステップS602で決定される運転距離D(x、y)とは、車両2が座標値(x、y)の位置に到達するまでの道のりに相当する距離である。該当位置に対する軌道は、例えば、図7のy軸321上に中心点を持ち原点と該当位置を通る扇形の弧や、原点と該当位置を通って原点との接線がx軸320であるスプライン曲線等が考えられる。図7に例示した存在時間範囲マップ300では、(xa、ya)に対する軌道331と、(xb、yb)に対する軌道332とを示している。例えば、扇形の弧のモデルを用いた場合の運転距離D(x、y)は、扇形の半径r(x、y)と扇形の中心角θ(x、y)との積で表される。座標値(x、y)に対する半径r(x、y)と中心角θ(x、y)の値は、以下の式(12)、(13)を用いてそれぞれ算出することが可能である。
r(x、y)=(x2+y2)/2y ・・・(12)
θ(x、y)=arctan(x/(r−y)) ・・・(13)
ステップS603で算出する存在時間範囲TED(x、y)は、各時間において車両2が当該位置に存在する確率を表現した分布である。図7の存在時間範囲マップ300において、(xa、ya)に対応する存在時間範囲TED(xa、ya)と、(xb、yb)に対応する存在時間範囲TED(xb、yb)とは、それぞれ時間確率分布301、302のように表される。なお実際には、厳密な確率分布を求めるのは困難であるため、時間確率分布301、302を近似して扱ってもよい。例えば、当該位置に対する平均到達時間Tr(x、y)を代表値として扱ってもよい。また、平均値μをTr(x、y)、分散値σ2をf(Tr)としたガウス分布で近似してもよい。ここで、分散値σ2をTrの関数fで表現しているのは、時間が経過するほど車両2が存在し得る時間帯が確率的に拡がるためである。なお、平均到達時間Tr(x、y)は、例えば、上述した車両2の走行速度vを用いて、運転距離D(x、y)を走行速度vで除算することにより算出される。
ここで、運転距離D(x、y)や存在時間範囲TED(x、y)は、原則として、走行危険度マップにおけるすべてのセル位置に対して算出する必要がある。セルの大きさを固定とした場合は、車両2の走行速度vが変化しても運転距離D(x、y)は変わらないので、予め算出した結果を記憶部120に保存しておくことで、ステップS602ではそれを参照して運転距離D(x、y)を決定できる。そのため、演算量を軽減することが可能である。一方、本実施形態のように車両2の走行速度vに応じてセルの大きさを動的に変化させる場合、走行速度vに応じて運転距離D(x、y)が変化するので、原則として運転距離D(x、y)を毎回算出する必要がある。この場合、存在時間範囲TED(x、y)についても毎回算出する必要がある。その結果、セルの大きさを固定とした場合に比べて、演算量が多くなるという課題が生じる。
そこで本実施形態では、前述のように、セルの長さを走行速度vに比例するように設定することで、車両2の走行速度vに応じてセルの大きさを動的に変化させた場合でも、演算量の増加を抑えるようにしている。この点について、以下に説明する。
車両2の走行速度v(≧Vth)における存在時間範囲をTED(x、y、v)と表現すると、これは以下の式(14)で示すような特徴を持つ。
TED(x、y、v)
=D(a・v、y)/v
=(v/Vth)・D(a・Vth、y・Vth/v)/v
=TED(x、y・Vth/v、Vth) ・・・(14)
上記の式(14)は、前述の式(12)、(13)により、運転距離D(x、y)が以下の式(15)のような特徴を持つことにより導かれる。
D(k・x、k・y)=k・D(x、y)・・・(15)
式(14)は、任意の速度v(≧Vth)における存在時間範囲TED(x、y、v)が、速度Vthのときの存在時間範囲TED(x、y、Vth)を参照することにより得られることを意味している。したがって、本実施形態では、速度Vthのときの存在時間範囲TED(x、y、Vth)を事前に計算してROM等の記憶部120に格納しておくことで、ステップS602とステップS603の計算処理量を大幅に削減することが可能である。なお、v<Vthの場合は、前述のようにセルの大きさが固定であるため、従来のセルの大きさを変化させない場合と同様に、運転距離D(x、y)を事前に計算してROM等の記憶部120に格納しておくことで、演算量の削減を図れる。
このように、本実施形態では、車両2の進行方向におけるセルの長さdxを走行速度vに比例するように設定することで、事前の計算結果を用いて走行危険度の算出に必要な演算を行うことを可能とし、演算量を低減している。なお、本実施形態とは異なり、走行速度vに比例させずにセルの大きさを変化させた場合は、上述のような事前計算は困難であるため、演算量を低減することができない。本発明では、この点についても留意すべきである。
<環境要素存在時間範囲決定処理700(S507)>
次に、図3のステップS507で実行される環境要素存在時間範囲決定処理700について説明する。図8は、環境要素存在時間範囲決定処理700のフローチャートの一例を示す図である。
まず、存在時間範囲決定部104は、ステップS701において、周辺環境要素情報データ群122を参照し、車両2の周辺に存在する環境要素のうち一つを選択する。
続いて、存在時間範囲決定部104は、ステップS702において、ステップS701で選択した環境要素が他車両、自転車、歩行者等の移動体であるか否かを判定する。その結果、環境要素が移動体である場合はステップS703に進み、移動体でない場合はステップS706に進む。
ステップS702で環境要素が移動体であると判定した場合、存在時間範囲決定部104は、ステップS703において、周辺環境要素情報データ群122を参照し、ステップS701で選択した環境要素に対する移動予測結果を示す情報を取得する。
続いて、存在時間範囲決定部104は、ステップS704において、ステップS703で取得した当該環境要素の移動予測結果に基づき、当該位置における環境要素の存在時間範囲ETED(x、y)を算出する。なお、走行危険度マップは、車両2の軌道の危険度を判断するためのものであるため、車両2が特定の走行軌道を描くことを前提としてはならない。そのため、前述の自車存在時間範囲決定処理600では、すべてのセル位置に対して車両2の存在時間範囲を算出する必要がある。一方、環境要素については、その走行軌道を予測して危険度を判断する。そのため、ステップS703で取得した移動予測結果が示す当該環境要素の予測走行軌道に関連するセル位置のみに対して、存在時間範囲を算出すればよい。
当該環境要素の存在時間範囲の算出が終わると、存在時間範囲決定部104は、ステップS705において、その算出結果に基づき、環境要素存在時間範囲マップを周辺環境要素情報データ群122に設定する。
続いて、存在時間範囲決定部104は、ステップS706において、車両2の周辺に存在する全ての環境要素をステップS701で選択済みであるか否かを判定する。未選択の環境要素がある場合はステップS701に戻り、その中でいずれかの環境要素をステップS701で選択した後、当該環境要素に対して上記ステップS702以降の処理を行う。一方、全ての環境要素を選択済みである場合に、存在時間範囲決定部104は、環境要素存在時間範囲決定処理700を終了する。
以上説明した自車存在時間範囲決定処理600および環境要素存在時間範囲決定処理700により、車両2の現在位置の周辺の各位置に対する車両2の存在時間範囲を表す自車存在時間範囲マップと、車両2の現在位置の周辺の各位置に対する各環境要素の存在時間範囲を表す環境要素存在時間範囲マップとが、それぞれ決定される。
<走行危険度マップ作成処理800(S508)>
次に、図3のステップS508で実行される走行危険度マップ作成処理800について説明する。
走行危険度マップ作成部106は、図3のステップS505で実行された走行危険度マップパラメータ決定処理により決定されたパラメータに従い、走行危険度マップの各セルに相当する座標値(x、y)を決定する。次に、走行危険度決定部105は、図3のステップS506で実行された自車存在時間範囲決定処理600によって作成された車両2の存在時間範囲マップと、図3のステップS507で実行された環境要素存在時間範囲決定処理700によって作成された各環境要素の存在時間範囲マップとを用いて、座標値(x、y)における走行危険度R(x、y)を算出する。続いて、走行危険度マップ作成部106は、走行危険度決定部105が算出した走行危険度R(x、y)に基づき、走行危険度マップを生成し、記憶部120の走行危険度マップデータ群124に格納する。
走行危険度R(x、y)は、例えば、各環境要素によりもたらされる危険度の重み付け積算値であり、例えば以下の式(16)で表される。ただし式(16)において、ri、wi(iは1からnの整数)は、環境要素iに関する走行危険度と重み付け係数をそれぞれ表す。
R(x、y)=w1・r1(x、y)+・・・+wn・rn(x、y) ・・(16)
または、走行危険度R(x、y)は、各環境要素によりもたらされる危険度の重みづけの最大値(wi・ri(x、y)の最大値)により算出してもよい。
環境要素iに関する走行危険度riは、図3のステップS506で生成された車両2の存在時間範囲マップと、図3のステップS507で生成された各環境要素の存在時間範囲マップとを用いて算出される。一例としては、自車存在時間範囲マップにおける車両2の存在時間範囲の確率分布と、環境要素存在時間範囲マップにおける各環境要素の存在時間範囲の確率分布との重なり具合に基づいて、走行危険度マップの各位置における走行危険度が算出される。存在時間範囲の確率分布に基づいた環境要素iに対する車両2の走行危険度R(x、y)の算出式は、例えば、以下の式(17)で表される。ただし式(17)において、p(x、y)(t)は車両2の存在時間範囲の確率分布を表しており、pi(x、y)(t)は環境要素iの存在時間範囲の確率分布を表している。
または、車両2の存在時間範囲の代表値Trepreと環境要素iの存在時間範囲の代表値T(i) repreを用いて、例えば以下の式(18)により、走行危険度R(x、y)を算出してもよい。
上記の式(18)は、車両2の存在時間範囲の代表値Trepreと環境要素iの存在時間範囲の代表値T(i) repreとの差分の絶対値に基づく関数f(x)により、走行危険度を評価するものである。関数f(x)は、xが大きくなるほど値が小さくなる関数であり、例えば補正係数a、bを用いて、f(x)=a・exp(−bx2)等の式で表すことができる。
式(18)において関数f(x)の値の大きさや減衰の程度は、車両2の存在時間範囲の代表値Trepreや、車両2の車速に応じて、例えば上記補正係数a、bを用いて調整してもよい。また、代表値を中心とした所定の分布(ガウス分布等)により、車両2や各環境要素の存在時間範囲の確率分布を近似し、それらの重ね合わせにより走行危険度を算出してもよい。
上記算出方式によれば、所定位置における車両2と各環境要素の時間軸上の交錯度合を評価して危険度を設定しているため、車両2の走行危険度を実態に合う形で高精度に算出することができる。
図9、図10を用いて、走行危険度マップ作成処理800により生成される走行危険度マップの例を説明する。
図9は、車両2の走行道路環境の一例を示した図である。図9では、車両2が対向二車線の道路を走行しているシーンが示されている。図9のシーンでは、車両2近傍の反対車線において他車両452が路上駐車しており、他車両451が当該駐車車両(他車両452)を追い越そうとしている。この道路は車線幅が十分に広くないため、他車両451が駐車車両を追い越す過程で、反対車線(車両2が走行している車線)にはみ出す必要がある。また、車両2の前方において、他車両453が車両2と同程度の速度で走行している。図9においてハッチングで示した領域461、462、463は、他車両451、452、453の予測走行軌道の範囲をそれぞれ示している。一方、点線で表した460は、車両2がこれまでの走行を継続した場合の予測走行軌道を示している。
図10は、図9に示したシーンにおける走行危険度マップの生成例である。図10左側の走行危険度マップ801は、速度v=Va(>Vth)での走行危険度マップの例を示し、図10右側の走行危険度マップ802は、速度v=Vb(>Va)での走行危険度マップの例を示している。上述のように、車両2の進行方向におけるセルの長さは、車両2の走行速度vに比例して大きくなるため、走行危険度マップ802は、走行危険度マップ801と比べて車両2の前方に長くなっていることがわかる(XFb>XFa)。
走行危険度マップ801、802において、領域810〜814では、異なる走行危険度がそれぞれ設定されている。なお、領域810、811は車両2の走行車線側の非車道領域と路側帯領域にそれぞれ相当し、領域812は走行車線領域に相当する。また、領域813は路側帯を含む対向車線領域に相当し、領域814は対向車線側の非車道領域に相当する。走行危険度マップ802ではこれらの領域810〜814の図示を省略しているが、走行危険度マップ801と同様である。走行危険度マップ801、802に示した領域810〜814の走行危険度は、静的な環境要素が示す道路属性として各領域を認識し、それぞれの走行危険度モデルに従って該当セルに走行危険度を積算することにより求められたものである。
また、走行危険度マップ801の領域815及び走行危険度マップ802の領域817と、走行危険度マップ801の領域816及び走行危険度マップ802の領域818は、それぞれ他車両451、452による走行危険度が表現されたものである。他車両452は、駐車車両でありその場に存在し続けるため、領域816及び818に示すように、車両2の速度に関わらず、他車両452付近に非常に高い走行危険度が設定される。これらの領域において、車両2が該当位置を走行した場合の衝突確率は1である。一方、他車両451は、移動車両であり車両2と存在時間範囲が重なる領域は、車両2との相対速度に応じて変わってくる。例えば、車両2の走行速度がv=Vaの場合は、他車両451が車両2の走行車線にはみ出してくるタイミングで、車両2の走行軌道と他車両451の走行軌道とが時間的に交錯する。そのため、走行危険度マップ801において領域815のように走行危険度が設定される。一方、車両2の走行速度が相対的に大きいv=Vbの場合は、他車両451が車両2の走行車線にはみ出してくる前のタイミングで、車両2の走行軌道と他車両451の走行軌道とが時間的に交錯する。そのため、走行危険度マップ802において領域817のように走行危険度が設定される。
これに拠れば、例えば、走行制御装置70は、走行危険度マップ801を用いて車両2の走行制御を行う場合は、他車両451との衝突リスクの回避のため領域815を回避するように、走行車線812の左寄りを走行する軌道を選択する。一方、走行危険度マップ802を用いて車両2の走行制御を行う場合は、不要な回避軌道を選択せずに走行車線の中心を走行する軌道を選択する。このように、状況に応じた安全で快適な走行軌道の判断を容易に行うことが可能である。
<走行危険度マップの出力データフォーマット>
次に、走行危険度マップのデータフォーマットについて説明する。図11は、本実施形態における周辺環境認識装置10の走行危険度マップ提供部107が出力する走行危険度マップのデータフォーマット850の一例の説明図である。ただし、通信プロトコルに関するヘッダ情報等の図示は省略している。
周辺環境認識装置10から出力される走行危険度マップデータは、図11のデータフォーマット850に示すように、総セル数851、X方向のセル数852、Y方向のセル数853、X方向のセルの長さ854、Y方向のセルの長さ855、自車両位置856、自車速857、走行危険度情報858、等の各データにより構成される。
総セル数851は、走行危険度マップを構成するセルの総数を示すデータであり、これはX方向のセル数852とY方向のセル数853の積と同値である。X方向のセルの長さ854、Y方向のセルの長さ855は、走行危険度マップにおける各セルの車両2の前後方向と左右方向の長さをそれぞれ示すデータであり、それぞれ前述のセル長さdx、セル幅dyに該当する。自車両位置856は、走行危険度マップ上で車両2がどのセル位置に設定されているかを示すデータであり、例えば、(X方向の位置、Y方向の位置)の座標で表現される。これは、図5で説明したように、走行危険度マップ上での車両2の位置を走行速度vに応じて変化させる場合に必要となる情報である。自車速857は、当該走行危険度マップの生成の際に基準とした車両2の走行速度vを示すデータである。なお、ここでの車両2の走行速度vとは、前述のように、現在の速度でもよいし、統計的な速度でもよいし、将来の予測に基づく速度でもよい。走行危険度情報858は、走行危険度マップにおける各セルの走行危険度に関する情報を示すデータである。走行危険度は、所定の範囲の数値(例えば、0〜100)で表現され、例えば、数値が大きいほど危険度が大きいことを意味する。
本実施形態では、セルの長さ(dx)が車両2の走行速度vに比例するため、走行危険度マップのデータでは、X方向のセルの長さ854の値が、自車速857の値に比例して変化する。また、図5で説明したように、走行危険度マップ上での車両2の位置が走行速度vに応じて変化するため、自車両の位置856(特にx成分)の値も、自車速857の値に応じて変化する。一方、それ以外の符号851〜853、855の各データの値については、自車速857の値が変わっても変化しない。すなわち、総セル数851の値が変化しないため、走行危険度マップの出力データ長は固定長である。そのため、周辺環境認識装置10から走行危険度マップのデータを受信して処理を行う走行制御装置70や車載用表示制御装置20では、走行危険度マップに関する処理に使用するメモリ量を確定的に見積もることができ、設計が容易になるという利点がある。
<車載用表示制御装置20の走行危険度マップ表示処理>
次に、図12〜図14を用いて車載用表示制御装置20の動作について説明する。図12は、車載用表示制御装置20により実行される走行危険度マップ表示処理フロー900の一例を示す図である。
まず、走行危険度マップ取得部201は、ステップS901において、周辺環境認識装置10から図11のデータフォーマット850に従って出力された走行危険度マップを取得する。
次に、制御計画情報取得部202は、ステップS902において、走行制御装置70から出力された制御計画情報を取得する。制御計画情報の中には、走行制御装置70が上記走行危険度マップに基づいて決定した走行軌道の情報が含まれている。
そして、走行危険度マップ表示制御部203は、ステップS903において、ステップS901とステップS902で取得した走行危険度マップと制御計画情報を用いて、運転者または乗員に伝達するための画面情報を生成する。そして、生成した画面情報を、画面入出力部240を介して表示装置90に出力し、表示装置90において表示させる。
図13は、表示装置90における表示画面の例を示す図である。表示画面1001、1002は、それぞれ図10の走行危険度マップ801、802を取得したときの表示画面例に相当する。本実施形態では、表示画面1001、1002の左側に、センサや地図等による認知情報を表示するパネル1011、1021がそれぞれ配置され、表示画面の右側に、走行危険度マップと走行制御装置70が決定した走行軌道を表示するパネル1012、1022がそれぞれ配置されている。なお、パネル1012、1022の走行危険度マップは、車両2からの距離に応じた距離スケール1014、1024でそれぞれ表現されている。
表示画面1001、1002では、パネル1012とパネル1022に示されるように、走行危険度マップ上に車両2の走行軌道1013、1023がそれぞれ重畳表示される。これにより、車両2がどのような状況(危険性)に基づいて走行したか、もしくはどのように今後走行していくかを、運転者または乗員が把握することができる。車両の自動運転制御では一般に、運転者や乗員は、走行制御システムがどのような意図で車両を制御しているのかわからないため、不安を感じることがある。そこで、本実施形態の表示画面1001、1002のように、走行制御システム1の判断内容(走行軌道)とその根拠(走行危険度マップ及び認知情報)を示すことにより、運転者や乗員の不安を軽減することが可能となる。
なお、本実施形態では、前述のように車両2の走行速度vに比例して進行方向のセルの長さが変化するため、表示装置90における表示画面の形態に特徴がある。具体的には、表示画面1002では、表示画面1001に比べて走行速度vが大きいため、走行危険度マップの表示対象範囲が車両2の前方(進行方向)に拡がっている。また、図13の例では示していないが、同様にして、走行危険度マップ上の車両2の位置も走行速度vに応じて変化する。具体的には、図5で説明したように車両2の位置が変化する場合は、走行速度vが減少して低速になるにつれて、車両2の位置が走行危険度マップの中心に近づき、画面上で上方向に次第にずれていくような見え方となる。このように、車両2の走行速度の変化に応じて、表示画面上の走行危険度マップの対象領域や車両2の位置が変化することは、本実施形態における特徴の一つである。
なお、上記で説明した図13の画面表示方法では、車両2の速度vが増加すると、それに比例して走行危険度マップの表示対象範囲が拡大していく。しかし、走行危険度マップの表示対象範囲が拡大していくと、表示装置90の画面サイズの制約等から、高速走行時には走行危険度マップ全体を(例えば、前後方向に)縮小して表示したり、一部を表示しないようにしたりする必要が生じる。その結果、高速走行時には走行危険度マップが見えづらくなる可能性がある。そこで、走行危険度マップが車両2の速度に比例して伸びていくことを利用して、所定速度以上では走行危険度マップを距離スケールではなく時間スケールで表現するという方式も考えられる。
図14は、距離スケールと時間スケールでそれぞれ表現した場合の表示装置90における表示画面の例を示す図である。図14において、表示画面1003は、車両2の走行速度vが前述の所定値Vthよりも小さい場合の距離スケールでの表示画面例であり、表示画面1004は、車両2の走行速度vが所定値Vth以上である場合の時間スケールでの表示画面例を示している。これらの表示画面でも、図13に示した表示画面1001、1002と同様に、左側にはセンサや地図等による認知情報を表示するパネル1031、1041がそれぞれ配置され、右側には走行危険度マップと走行制御装置70が決定した走行軌道を表示するパネル1032、1042がそれぞれ配置されている。また、パネル1032、1042では、走行危険度マップ上に車両2の走行軌道1033、1043がそれぞれ重畳表示されている。
本表現方式において、v<Vthのときには、前述のように走行危険度マップのセル長さdxが固定値dx0であるため、表示画面1003のように、時間スケールでは表現せずに、車両2からの距離に応じた距離スケール1034で表現した走行危険度マップを表示する。一方、v≧Vthになると、表示画面1004のように、車両2の到達時間に応じた時間スケール1044で表現した走行危険度マップを表示する。このように、車両2の走行速度に応じて、距離スケールと時間スケールとを切り替えて走行危険度マップを表現する。時間スケールで表現した場合、高速走行時でも常に走行危険度マップの表示対象範囲が一定になるため、安定して表示することが可能である。
以上のように、本実施形態によれば、走行危険度マップのセルの長さ(dx)を走行速度vに比例するように設定することにより、安全性の判断に必要な要求精度と要求範囲を満たしつつ、走行危険度マップにおいて必要なセル数を常時一定値に保つことが可能である。これにより、走行危険度マップによるメモリ消費量を軽減するとともに、一定値に規定することが可能となり、メモリ制約がある組込み用の装置での設計が容易となる。
また、本実施形態によれば、車両2の進行方向におけるセルの長さ(dx)を走行速度vに比例するように設定することにより、走行危険度の算出に必要な演算を事前計算しておくことが可能となり、演算量を低減することができる。
以上説明した本発明の一実施形態によれば、以下の作用効果を奏する。
(1)周辺環境認識装置10は、車両2に搭載され、車両2の周辺環境を認識する。周辺環境認識装置10は、車両2の走行速度を含む車両2の動きに関する自車情報を取得する自車情報取得部101と、車両2の周辺の環境要素に対する周辺環境要素情報を取得する周辺環境要素取得部102と、自車情報および周辺環境要素情報に基づいて、車両2の周辺の複数の位置における走行危険度をそれぞれ決定する走行危険度決定部105と、を備える。車両2の前後方向における複数の位置の間隔、すなわち走行危険度マップの各セルの長さdxは、車両2の走行速度vに応じて変化する。このようにしたので、高速走行時と低速走行時の両方について、演算量やメモリ消費量を抑えつつ、安全性の判断に必要な危険度を求めることができる。
(2)車両2の前後方向における複数の位置の間隔、すなわち走行危険度マップの各セルの長さdxは、車両2の走行速度vが所定値Vth以上のときには車両2の走行速度vに比例して変化し、車両2の走行速度vが所定値Vth未満のときには一定であることとした。このようにしたので、車両2が低速で走行しているときに、車両2の前後方向における複数の位置の間隔が必要以上に小さくなって不要にメモリが消費されるのを避けることができる。
(3)車両2の走行速度vが所定値Vth未満のときには、車両2の走行速度vが減少するほど車両2の後方における複数の位置の数、すなわち走行危険度マップの後方長さXBを増加することとした。このようにしたので、車両2がバック走行により後方に向かって走行する可能性がある場合に、必要な範囲で走行危険度を拡大させることができる。
(4)上記の複数の位置の数、すなわち走行危険度マップのセルの合計数は、車両2の走行速度vの変化に対して一定であることとした。このようにしたので、周辺環境認識装置10から走行危険度マップのデータを受信して処理を行う装置において、走行危険度マップに関する処理に使用するメモリ量を確定的に見積もることができるため、設計の容易化が可能である。
(5)車両2の横方向における複数の位置の間隔、すなわち走行危険度マップの各セルの幅dyは、車両2の走行速度vの変化に対して一定であることとした。このようにしたので、横方向に対する危険度の要求精度を保ちつつ、演算量やメモリ消費量を抑えることができる。
(6)車両2の横方向における複数の位置の間隔、すなわち走行危険度マップの各セルの幅dyは、車両2を前後方向に貫く中心軸であるx軸250から離れるほど大きくなることとしてもよい。このようにすれば、さらなるメモリ消費量の削減が可能となる。
(7)周辺環境認識装置10は、車両2の周辺の複数の位置の各々と走行危険度との関係を表す走行危険度マップを作成する走行危険度マップ作成部106をさらに備える。このようにしたので、車両2と各環境要素との時間軸上の交錯関係を走行危険度という指標に投影して、車両2の走行危険度に対する評価結果を2次元空間上で分かりやすく示した走行危険度マップを提供することができる。
(8)周辺環境認識装置10は、自車情報に基づいて、車両2の周辺の複数の位置の各々に対する車両2の存在時間範囲を表す自車存在時間範囲を決定すると共に、周辺環境要素情報に基づいて、車両2の周辺の複数の位置の各々に対する環境要素の存在時間範囲を表す環境要素存在時間範囲を決定する存在時間範囲決定部104をさらに備える。走行危険度決定部105は、存在時間範囲決定部104により決定された自車存在時間範囲および環境要素存在時間範囲に基づいて、複数の位置における走行危険度をそれぞれ決定する。このようにしたので、車両2の周辺環境や環境要素の時間的な変化を考慮して、車両2の走行危険度を高精度に評価することができる。
(9)車載用表示制御装置20は、車両2に搭載された表示装置90に対して、車両2に関する情報を表示させる。車載用表示制御装置20は、車両2の周辺の複数の位置における走行危険度を表した走行危険度マップを取得する走行危険度マップ取得部201と、走行危険度マップ取得部201により取得された走行危険度マップを表示装置90に表示させる走行危険度マップ表示制御部203と、を備える。車両2の周辺における走行危険度マップの表示対象範囲は、車両2の走行速度vに応じて変化する。このようにしたので、高速走行時と低速走行時の両方について、演算量やメモリ消費量を抑えつつ、安全性の判断に必要な危険度を走行危険度マップで表現することができる。
(10)走行危険度マップは、複数の位置にそれぞれ対応する複数のセルに分割されており、走行危険度マップにおけるセルの大きさは、車両2の走行速度vが所定値Vth以上のときには車両2の走行速度vに応じて変化し、車両2の走行速度vが所定値Vth未満のときには一定である。このようにしたので、車両2が低速で走行しているときに、走行危険度マップのセルが必要以上に小さくなって不要にメモリが消費されるのを避けることができる。
(11)車両2の走行速度vが所定値Vth未満のときには、車両2の走行速度vに応じて、走行危険度マップにおける車両2の位置が変化する。具体的には、車両2の走行速度vが減少するほど、車両2の位置が走行危険度マップの中心に近づく。このようにしたので、車両2がバック走行により後方に向かって走行する可能性がある場合に、演算量やメモリ消費量の増加を抑えつつ、走行危険度マップを必要な範囲に拡大して表現することができる。
(12)走行危険度マップは、複数の位置にそれぞれ対応する複数のセルに分割されており、車両2の走行速度vが所定値Vth以上のときには車両2の到達時間に応じた時間スケールで表現され、車両2の走行速度vが所定値Vth未満のときには車両2からの距離に応じた距離スケールで表現されることとしてもよい。このようにすれば、高速走行時でも常に走行危険度マップの表示対象範囲を一定として、見やすく安定した走行危険度マップの表示が可能である。
なお、以上で説明した実施形態は一例であり、本発明はこれに限られない。すなわち、様々な応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
例えば、上記実施形態では、周辺環境認識装置10の各処理を、プロセッサとRAMを用いて、所定の動作プログラムを実行することで実現しているが、必要に応じて独自のハードウェアで実現することも可能である。また、上記の実施形態では、周辺環境認識装置10、車載用表示制御装置20、自車位置決定装置30、外界センサ群40、車両センサ群50、地図情報管理装置60、走行制御装置70、アクチュエータ群80、表示装置90をそれぞれ個別の装置として記載しているが、必要に応じて任意のいずれか2つ以上の装置を組み合せて実現することも可能である。
上記の各処理が、プロセッサが所定の動作プログラムを実行することで実現される場合、各処理を実現する動作プログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機で読み取り可能な非一時的データ記憶媒体に格納することができる。
また、図面には、実施形態を説明するために必要と考えられる制御線及び情報線を示しており、必ずしも、本発明が適用された実際の製品に含まれる全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
以上説明した実施形態や各種の変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。