以下、図面を参照しながら本発明の実施形態について説明する。この実施形態に記載されている構成要素はあくまで例示であり、以下の実施形態によって限定されるわけではない。
(車両制御装置の構成)
図1Aは、車両の自動運転制御を行う車両制御装置100の基本構成を示す図であり、車両制御装置100は、センサS、カメラCAM、コンピュータCOMを有する。センサSは、例えば、レーダS1、ライダS2等を含む。また、コンピュータCOMは、処理の実行を司るCPU(C1)、メモリC2、外部デバイスとのインタフェース(I/F)C3等を含む。センサSおよびカメラCAMは、車両の外界情報を取得し、コンピュータCOMに入力する。ここで、コンピュータCOMが搭載されている車両を以下の説明では自車両ともいい、自車両の周囲に存在する二輪または四輪の車両を他車両ともいう。
コンピュータCOMは、センサSおよびカメラCAMから入力された情報に画像処理を行い、外界情報が取得された、ある時点における画像(シーン画像)に含まれるオブジェクトを抽出する。オブジェクトには、例えば、時間の経過に従い移動しない静的なオブジェクト(例えば、車線、信号機、縁石、標識やガードレールなどの道路構造物等の静止物体)と、時間の経過に従い移動する動的なオブジェクト(例えば、他車両や歩行者等の移動物体)とが含まれる。
コンピュータCOMは、例えば、ある時点T0において、センサSおよびカメラCAMにより取得された画像(シーン画像)から、シーン画像に含まれるオブジェクトを抽出し、自車両の周囲にどのようなオブジェクトが配置されているかを解析する(シーン理解)。
コンピュータCOMは、シーン画像内で抽出されたオブジェクトをそれぞれラベリングして特定し、それぞれのオブジェクトに対して、ある時点から将来に向けた所定時間TSにおけるオブジェクトの動き(移動軌跡)を予測計算する(予測処理)。
コンピュータCOMは、予測したオブジェクトの移動軌跡に基づいて、自車両を、どの位置に、どの時点までに移動させるかという自車両の移動軌跡を計算する(行動計画)。自車両の移動軌跡を生成する際に、コンピュータCOMは、取得されたシーン画像において、例えば、熟練の運転者による走行と、その際に検知された自車両の周囲状況との組み合わせのデータを考慮して、自車両の移動軌跡を決定することが可能である。この具体的な処理内容については、後に詳細に説明する。
本実施形態において、コンピュータCOMは、複数の自動運転モードを切り替えて自動運転制御を行うことが可能である。ここで、複数の自動運転モードには、シーン理解、予測および行動計画を一つの処理フロー(ワンフロー)で行うことにより、短時間に自車両の行動計画を計算する、計算時間優先の自動運転モード(第1の自動運転モード)と、予測および行動計画を所定の演算周期で繰り返すループ演算を行い高精度に自車両の行動計画を計算する、精度優先の自動運転モード(第2の自動運転モード)と、ある時点T1におけるシーン画像内で求める行動計画を、時点T1よりも前の時点である時点T0におけるシーン画像から求めた行動計画を用いて計算する、処理負荷を低減しつつ行動計画の精度を確保した自動運転モード(第3の自動運転モード)と、が含まれる。
自動運転モードの切り替えは、例えば、運転者の設定に応じて切り替え可能である。あるいは、走行する道路の種類(高速道、一般道など)、シーン画像から抽出されたオブジェクトの情報(例えば、歩行者が少なく他車両が多い、あるいは、歩行者および他車両の双方が多いなど)、昼間や夜間など走行する時間帯や、天候など、自車両を取り巻く外界の状況に応じて、コンピュータCOMは、自動的に自動運転モードを切り替えて自動運転制御を行うことが可能である。
図1Aに示す車両制御装置100を車両に搭載する場合、コンピュータCOMを、例えば、センサSやカメラCAMの情報を処理する認識処理系のECUや画像処理系のECU内に配置してもよいし、車両の駆動制御を行う制御ユニット内のECUや、自動運転用のECU内に配置してもよい。あるいは、以下に説明する図1Bのように、センサS用のECU、カメラ用のECU、および自動運転用のECU等、車両制御装置100を構成する複数のECUに機能を分散させてもよい。
図1Bは、車両1を制御するための車両制御装置100の制御ブロック図の構成例を示す図である。図1Bにおいて、車両1はその概略が平面図と側面図とで示されている。車両1は一例としてセダンタイプの四輪の乗用車である。
図1Bの制御ユニット2は、車両1の各部を制御する。制御ユニット2は車内ネットワークにより通信可能に接続された複数のECU20〜29を含む。各ECU(Engine Control Unit)は、CPU(Central Processing Unit)に代表されるプロセッサ、半導体メモリ等の記憶デバイス、外部デバイスとのインタフェース等を含む。記憶デバイスにはプロセッサが実行するプログラムやプロセッサが処理に使用するデータ等が格納される。各ECUはプロセッサ、記憶デバイスおよびインタフェース等を複数備えていてもよい。
以下、各ECU20〜29が担当する機能等について説明する。なお、ECUの数や、担当する機能については、車両1の適宜設計可能であり、本実施形態よりも細分化したり、あるいは、統合することが可能である。
ECU20は、車両1の自動運転に関わる制御を実行する。自動運転においては、車両1の操舵と、加減速の少なくともいずれか一方を自動制御する。自動運転に関わる具体的な制御に関する処理については後に詳細に説明する。
ECU21は、電動パワーステアリング装置3を制御する。電動パワーステアリング装置3は、ステアリングホイール31に対する運転者の運転操作(操舵操作)に応じて前輪を操舵する機構を含む。また、電動パワーステアリング装置3は操舵操作をアシストしたり、あるいは、前輪を自動操舵するための駆動力を発揮するモータや、操舵角を検知するセンサ等を含む。車両1の運転状態が自動運転の場合、ECU21は、ECU20からの指示に対応して電動パワーステアリング装置3を自動制御し、車両1の進行方向を制御する。
ECU22および23は、車両の周囲状況を検知する検知ユニット41〜43の制御および検知結果の情報処理を行う。検知ユニット41は、例えば、車両1の前方を撮影するカメラであり(以下、カメラ41と表記する場合がある。)、本実施形態の場合、車両1のルーフ前部に2つ設けられている。カメラ41が撮影した画像の解析(画像処理)により、物標の輪郭抽出や、道路上の車線の区分線(白線等)を抽出可能である。
検知ユニット42は、例えば、ライダ(レーザレーダ)であり(以下、ライダ42と表記する場合がある)、車両1の周囲の物標を検知したり、物標との距離を測距する。本実施形態の場合、ライダ42は車両の周囲に複数設けられている。図1Bに示す例では、ライダ42は、例えば、5つ設けられており、車両1の前部の各隅部に1つずつ、後部中央に1つ、後部各側方に1つずつ設けられている。検知ユニット43は、例えば、ミリ波レーダであり(以下、レーダ43と表記する場合がある)、車両1の周囲の物標を検知したり、物標との距離を測距する。本実施形態の場合、レーダ43は車両の周囲に複数設けられている。図1Bに示す例では、レーダ43は、例えば、5つ設けられており、車両1の前部中央に1つ、前部各隅部に1つずつ、後部各隅部に一つずつ設けられている。
ECU22は、一方のカメラ41と、各ライダ42の制御および検知結果の情報処理を行う。ECU23は、他方のカメラ41と、各レーダ43の制御および検知結果の情報処理を行う。車両の周囲状況を検知する装置を二組備えたことで、検知結果の信頼性を向上でき、また、カメラ、ライダ、レーダといった種類の異なる検知ユニットを備えたことで、車両の周辺環境の解析を多面的に行うことができる。尚、ECU22およびECU23を一つのECUにまとめてもよい。
ECU24は、ジャイロセンサ5、GPSセンサ24b、通信装置24cの制御および検知結果あるいは通信結果の情報処理を行う。ジャイロセンサ5は車両1の回転運動を検知する。ジャイロセンサ5の検知結果や、車輪速等により車両1の進路を判定することができる。GPSセンサ24bは、車両1の現在位置を検知する。通信装置24cは、地図情報や交通情報を提供するサーバと無線通信を行い、これらの情報を取得する。ECU24は、記憶デバイスに構築された地図情報のデータベース24aにアクセス可能であり、ECU24は現在地から目的地へのルート探索等を行う。データベース24aはネットワーク上に配置可能であり、通信装置24cがネットワーク上のデータベース24aにアクセスして、情報を取得することが可能である。
ECU25は、車車間通信用の通信装置25aを備える。通信装置25aは、周辺の他車両と無線通信を行い、車両間での情報交換を行う。
ECU26は、パワープラント6を制御する。パワープラント6は車両1の駆動輪を回転させる駆動力を出力する機構であり、例えば、エンジンと変速機とを含む。ECU26は、例えば、アクセルペダル7Aに設けた操作検知センサ7aにより検知した運転者の運転操作(アクセル操作あるいは加速操作)に対応してエンジンの出力を制御したり、車速センサ7cが検知した車速等の情報に基づいて変速機の変速段を切り替える。車両1の運転状態が自動運転の場合、ECU26は、ECU20からの指示に対応してパワープラント6を自動制御し、車両1の加減速を制御する。
ECU27は、方向指示器8を含む灯火器(ヘッドライト、テールライト等)を制御する。図1Bの例の場合、方向指示器8は車両1の前部、ドアミラーおよび後部に設けられている。
ECU28は、入出力装置9の制御を行う。入出力装置9は運転者に対する情報の出力と、運転者からの情報の入力の受け付けを行う。音声出力装置91は運転者に対して音声により情報を報知する。表示装置92は運転者に対して画像の表示により情報を報知する。表示装置92は例えば運転席表面に配置され、インストルメントパネル等を構成する。なお、ここでは、音声と表示を例示したが振動や光により情報を報知してもよい。また、音声、表示、振動または光のうちの複数を組み合わせて情報を報知してもよい。更に、報知すべき情報のレベル(例えば緊急度)に応じて、組み合わせを異ならせたり、報知態様を異ならせてもよい。
入力装置93は運転者が操作可能な位置に配置され、車両1に対する指示を行うスイッチ群であるが、音声入力装置も含まれてもよい。
ECU29は、ブレーキ装置10やパーキングブレーキ(不図示)を制御する。ブレーキ装置10は例えばディスクブレーキ装置であり、車両1の各車輪に設けられ、車輪の回転に抵抗を加えることで車両1を減速あるいは停止させる。ECU29は、例えば、ブレーキペダル7Bに設けた操作検知センサ7bにより検知した運転者の運転操作(ブレーキ操作)に対応してブレーキ装置10の作動を制御する。車両1の運転状態が自動運転の場合、ECU29は、ECU20からの指示に対応してブレーキ装置10を自動制御し、車両1の減速および停止を制御する。ブレーキ装置10やパーキングブレーキは車両1の停止状態を維持するために作動することもできる。また、パワープラント6の変速機がパーキングロック機構を備える場合、これを車両1の停止状態を維持するために作動することもできる。
(自動運転制御における処理の概要)
自動運転制御は、図2に示すように、概略的に3つのステップを有する。すなわち、自動運転制御は、第1ステップとして、車両1(自車両)の周辺の外界情報を認識するシーン理解と、第2ステップとして、シーン理解により、シーン画像から抽出されたオブジェクト(物体)が、どのような移動軌跡で移動するかを予測する予測処理と、第3ステップとして、予測処理の結果に基づいて、車両1(自車両)がどのような移動軌跡をとるべきかを決める行動計画と、を有する。
以下の説明では、シーン理解、予測、および行動計画の処理をワンフローで行う計算時間優先の第1の自動運転モード(図2(a))、シーン理解、予測、および行動計画の処理のうち、予測および行動計画を所定の演算周期で繰り返すループ演算を行い高精度に車両1(自車両)の行動計画を計算する精度優先の第2の自動運転モード(図2(b))、ある時点t1におけるシーン画像内で求める行動計画を、時点T1よりも前の時点である時点T0におけるシーン画像で求めた行動計画を用いて計算する第3の自動運転モード(図2(c))について、以下具体的に説明する。各自動運転モードでは、シーン理解の処理は基本的に同様の処理であるが、予測および行動計画の処理において、それぞれ異なる特徴を有する。
<第1実施形態:第1の自動運転モード>
本実施形態では、ECU20が車両1の自動運転に関わる制御を実行する。ECU20は、計算した自車両の移動軌跡に基づいて、制御対象となる車両1の自動運転制御を行う。図2(a)は、第1の自動運転モードに対応する処理フローの概要を示す図であり、第1の自動運転モードにおいて、ECU20は、シーン理解、予測、および行動計画の処理をワンフローで行う。第1の自動運転モードでは、後に説明する第2の自動運転モードのように、シーン理解、予測、および行動計画の処理のうち、予測および行動計画を繰り返すループ演算を行わないため、第2の自動運転モードに比べて計算量を低減することができ、より短時間で、シーン理解から行動計画までの処理を行うことができる。
図3は、車両1(自車両)が走行するときの実際の時間を示す時間軸(縦軸)と、動的なオブジェクト(例えば、図5の他車両205)および車両1(自車両)の移動軌跡を求める際の計算に用いる計算上の時間軸(横軸)との関係を模式的に示す図である。例えば、時点T0において、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された情報(外界情報)により、車両1(自車両)の周囲に存在する、静的なオブジェクトおよび動的なオブジェクトの情報が、例えば、図5のように、車両の周囲の状況を示す画像(一つのシーンを示すシーン画像)として得られる。
第1の自動運転モードでは、ECU20は、シーン画像を取得した時点(例えば、時点T0)から所定時間(TS:例えば数秒間)におけるオブジェクトの移動軌跡を時系列で計算し、オブジェクトの移動軌跡の時間毎の位置に基づいて、車両1(自車両)の移動軌跡を時系列に計算する。
ECU20は、シーン画像を取得した時点T0から所定時間TSにおいて、例えば、歩行者や他車両等、時間の経過に従い移動する動的なオブジェクトが移動する移動軌跡を予測する。この移動軌跡の予測は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を時系列に予測することによって行われる。そして、ECU20は、オブジェクトの所定時間分の移動軌跡に基づいて、時点t1、t2、t3・・・ごとに、所定時間TSまで、車両1(自車両)の移動軌跡を時系列に計算する。
シーン理解、予測、および行動計画における一連の処理(ワンフローの処理)により、オブジェクトの移動軌跡の計算結果(予測結果)と、オブジェクトの移動軌跡の予測結果に基づいた車両1(自車両)の移動軌跡の計算結果(行動計画)とが求められる。ここで、所定時間TSは任意に設定可能な時間であり、より短い所定時間TSを設定することも可能である。
図4は、第1の自動運転モードにおける処理の流れを説明するフローチャートである。ECU20は、例えば、運転者により目的地の設定と自動運転が指示されると、ECU24により探索された案内ルートにしたがって、目的地へ向けて車両1の走行を自動制御する。
自動運転制御の際、ECU20は、ECU22および23から車両1の周囲状況に関する情報(外界情報)を取得する(S10)。ステップS10の処理により、時点T0の外界情報に基づいて、例えば、図5のような、車両の周囲の状況を示す画像(シーン画像)が取得される。
そして、ECU20は、外界情報が取得された時点(例えば、時点T0)におけるシーン画像に含まれるオブジェクト(歩行者204、他車両205、障害物217)を抽出する(S11)。ECU20は、シーン画像から、時間の経過に従い移動しない静的なオブジェクト(静止物体)および時間の経過に従い移動する動的なオブジェクト(移動物体)を抽出し、抽出したオブジェクトが、シーン画像内で、どのように配置されているかを特定する。ECU20は、シーン画像における車両1(自車両)の位置を、座標系の原点として固定して、オブジェクトの位置を特定する。
ECU20は、抽出したオブジェクトのうち、動的なオブジェクト(移動物体)に対して、外界情報が取得された時点T0から将来に向けた所定時間TSにおけるオブジェクトの動き(移動軌跡)を時系列で計算し予測する(S12)。ECU20は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を時系列に予測する。
次に、ECU20は、時系列で計算した、動的なオブジェクトの所定時間分の移動軌跡に基づいて、車両1(自車両)の所定時間分の移動軌跡を時系列で計算する(S13)。ECU20は、時点T0で取得されたシーン画像における動的なオブジェクトの時系列の移動軌跡の計算結果に基づいて、例えば、熟練の運転者(熟練運転者)による走行データと、車両1(自車両)の周囲に存在するシーン画像内のオブジェクトの位置とを考慮して、車両1(自車両)の時系列の移動軌跡を計算する。ECU20は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、車両1(自車両)の位置を時系列に計算する。
そして、ECU20は、時点t1、t2、t3・・・の各時点におけるオブジェクトの移動軌跡の計算結果に基づいて、各時点において車両1(自車両)が移動すべき移動軌跡を決定する(S14)。ステップS13の演算結果に基づいて、ECU20は車両1(自車両)の移動軌跡を決定する。以上の処理よれば、オブジェクトの時系列の移動軌跡に対応する車両1(自車両)の移動軌跡を時系列で求めることができる。
次に、図5および図6を用いて、第1の自動運転モードにおける処理の具体的な内容を説明する。図5は、ある時点(例えば、時点t0)において、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された外界情報に基づくシーン画像を例示する図である。シーン画像内には車両1(自車両)の周囲に存在するオブジェクトとして、歩行者204と、他車両205が例示されている。
(シーン理解の具体例)
図4に示す処理が開始されると、ECU22および23は、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された情報に基づいて、車両1(自車両)の周囲状況に関する情報の処理を行う。ECU20は、ECU22および23から車両1(自車両)の周囲状況に関する情報(外界情報)を取得する。ECU20は、取得した外界情報に基づいて、例えば図5に示すように、車両1とその周囲の状況を上から見たような画像であって、車両1の周囲の物体がマッピングされたような、車両の周囲の状況を示す画像(一つのシーンを示すシーン画像)を取得する。以上の処理は、図4のステップS10に対応する。ECU20は、シーン画像における車両1(自車両)の位置を、座標系の原点として固定して、以下の演算処理を実行する。
ECU20は、ある時点t0におけるシーン画像に含まれる、静的なオブジェクトおよび動的なオブジェクトを抽出する。図5において、車両1(自車両)は、区分線201及び202(例えば、車道外側線、路側帯に対応する線)によって示される、車両が走行可能な範囲のうち、中央線203で区切られた左側の車線を(図5の紙面下側から上側へ向かって)走行している。静的なオブジェクトとして、例えば、不図示のガードレール、縁石等が抽出される。
車両1(自車両)の進行方向には、動的なオブジェクトとして、区分線202よりも左に位置する歩道側に歩行者204の存在と、対向車線側に他車両205の存在とが抽出されている。また、対向車線側の区分線201上には、静的なオブジェクトとして、障害物217の存在が抽出されている。
尚、図5では、ある時点T0におけるシーン画像内に、動的なオブジェクトとして、他車両205と歩行者204の例を示しているが、この例に限定されず、例えば、自転車や二輪車等の他の交通参加者が、路上又は車両1(自車両)の周囲に存在しうる。また、複数の他車両や、複数の歩行者が存在することも想定されうる。以上の処理は、図4のステップS11に対応する。
(予測処理の具体例)
ECU20は、ECU22および23から車両1の周囲状況に関する情報(外界情報)を取得すると、外界情報に基づいて、オブジェクト(歩行者204、他車両205等の移動物体)のそれぞれについて移動軌跡を予測する。図5には、各オブジェクトの動きを予測した移動軌跡が例示されている(211〜213、505〜507)。
図5において、歩行者204が将来存在すると予測される範囲を、歩行者204を囲む一点鎖線211、点線212、及び二点鎖線213によって表している。例えば、一点鎖線211は、時点t1における歩行者204の予測範囲であり、点線212の範囲は、時点t1よりも後の時間t2において歩行者204が存在すると予測される範囲である。同様に、二点鎖線213の範囲は、時間t2よりも後の時間t3において歩行者204が存在すると予測される範囲である。
ここで、歩行者の移動予測については、歩行者204の目、鼻、腕、足等の各パーツの組み合せにより顔の向きや、体の向きが、判断される。歩行者204の顔の向きに応じて、その顔の方向に歩行者204が進むことが予測されるため、歩行者204が移動すると予測される方向は、顔の向いている方向(例えば、矢印214の方向)となりうる。ECU20は、歩行者204の顔の向きや、体の向き等を考慮して、所定時間TSを分割した時点t1、t2、t3・・・の時点ごとに、所定時間TSまで、歩行者204の移動軌跡の予測を行う。
図5において、他車両205は障害物217を回避するため、中央線203側にオフセットした状態で走行している。ECU20は、他車両205が走行する車線の状況や障害物の有無などを考慮して、所定時間TSを分割した時点t1、t2、t3・・・の時点ごとに、所定時間TSまで、他車両205の移動軌跡の予測を行う。以上の処理は、図4のステップS12の処理に対応するものであり、二点鎖線で示す移動軌跡505は、本ステップに処理により求めた他車両205の移動軌跡を示すものである。
(行動計画の具体例)
図4のステップS13に対応する処理として、ECU20は、オブジェクトの移動軌跡505に基づいて、時点t1、t2、t3・・・の各時点における車両1(自車両)の各位置を車両1(自車両)の移動軌跡として計算する。そして、ECU20は、ステップS13で計算した移動軌跡を車両1(自車両)の移動軌跡を決定する(S14)。図5において、二点鎖線で示す移動軌跡501は、図4のS13およびS14の処理により計算された車両1(自車両)の移動軌跡を例示するものである。ECU20は、決定された移動軌跡501に従って、ECU21、ECU26および29に指示して、車両1の操舵、駆動、制動を制御する。
図6は、車両1(自車両)の移動軌跡の計算、決定を例示的に説明する図である。図6(a)において、曲線601、602は、シーン画像内における所定の位置(図5のP〜P’の位置)において、オブジェクト(歩行者204、他車両205)が存在すると予測される予測値の分布を示している。曲線601は、図5で示した歩行者204に関する予測値の分布を示し、曲線602は、図5で示した他車両205に関する予測値の分布を示している。
矩形604は、静的なオブジェクト(静止物体)である障害物217や不図示の縁石等の、静止物体に関する予測値の分布を示している。静的なオブジェクト(静止物体)については、物体が動かずにその位置にとどまるため、予測値の分布は、その位置において高く、その他の位置においてはゼロ又は十分に小さい値を有するような、矩形状の分布となる。
曲線601と曲線602との間の領域は、車両1(自車両)が走行している車線内において、オブジェクト(物体)が存在しない領域であり、車両1(自車両)が走行可能な領域である。曲線603は、走行可能な領域における熟練の運転者(熟練運転者)による走行パターンの分布を示しており、曲線603のピークM1は、走行可能な領域内において、熟練運転者が最も高い確率で選択する走行位置を示している。
ECU20は、図3に示す各時点(例えば、t1、t2、t3・・・TS)においてオブジェクト(物体)が存在しない領域(走行可能な領域)を特定し、熟練運転者による走行パターンの分布に基づいて、車両1を曲線603のピークM1の位置に進めるように移動軌跡を計算する。このように計算された移動軌跡が、図4のS13、S14で求めた車両1(自車両)の移動軌跡501となる。
ここで「熟練運転者」は、例えば、プロのドライバーや無事故・無違反の優良運転者等である。また、多数の運転者による車両の走行データを収集し、その中から、急激な車線変更、急発進、急制動、急ハンドルが行われない、または、走行速度が安定している等の所定の基準を満たした走行データを、収集した走行データの中から抽出して、熟練運転者の走行データとして、ECU20における自動運転制御に反映してもよい。
第1の自動運転モードでは、オブジェクトの時系列の移動軌跡に対応して、車両1(自車両)の移動軌跡を時系列に計算する。これによれば、車両1が、シーン画像に含まれるオブジェクト(歩行者204や他車両205)に干渉しないように、車両1(自車両)の移動軌跡を時系列に決定することが可能となる。
<第2実施形態:第2の自動運転モード>
本実施形態においても、ECU20が車両1の自動運転に関わる制御を実行する。ECU20は、計算した移動軌跡に基づいて、制御対象となる車両1の自動運転の制御を行う。図2(b)は、第2の自動運転モードに対応する処理フローの概要を示す図であり、第2の自動運転モードにおいて、ECU20は、シーン理解、予測、および行動計画の処理のうち、予測および行動計画を所定の演算周期で繰り返すループ演算を行い、より高精度に車両1(自車両)の行動計画を計算する。
図7は、車両1(自車両)が走行するときの実際の時間を示す時間軸(縦軸)と、動的なオブジェクト(例えば、図5の他車両205)および車両1(自車両)の移動軌跡を求める際の計算に用いる計算上の時間軸(横軸)との関係を模式的に示す図である。例えば、時点T0において、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された情報(外界情報)により、車両1(自車両)の周囲に存在する、静的なオブジェクトおよび動的なオブジェクトの情報が、例えば、第1実施形態で説明した図5のように、車両の周囲の状況を示す画像(一つのシーンを示すシーン画像)として得られる。
第2の自動運転モードでは、ECU20は、シーン画像を取得した時点(例えば、時点T0)から所定時間TSにおけるオブジェクトの移動軌跡を時系列に予測する。この移動軌跡の予測は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を予測することによって行われる。
そして、ECU20は、オブジェクトの所定時間分の移動軌跡に基づいて、時点t1、t2、t3・・・ごとに、所定時間TSまで、車両1(自車両)の移動軌跡を時系列に計算する。シーン理解、予測、および行動計画における一連の処理により、オブジェクトの移動軌跡の計算結果と、オブジェクトの移動軌跡の予測結果に基づいた車両1(自車両)の移動軌跡の計算結果とが求められる。ここで、所定時間TSは任意に設定可能な時間であり、より短い所定時間TSを設定することも可能である。
次に、ループ演算により、ECU20は、計算した移動軌跡に従って車両1(自車両)が移動した場合、オブジェクトがどのような動きをするかを予測する。オブジェクトの移動軌跡の予測は、同様に所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を予測することによって行われる。
ECU20は、予測したオブジェクトの移動軌跡と、前回の予測処理で求めたオブジェクトの移動軌跡とを比較して、比較の結果により、オブジェクトの移動軌跡に変化が生じている場合、ECU20は、変化したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を、時点t1、t2、t3・・・ごとに、所定時間TSまで再度計算(補正)する。
ループ演算により同様の処理を所定回数行い、オブジェクトの移動軌跡に変化が生じていない場合、すなわち、オブジェクトの移動軌跡の変化が収束した場合、収束したオブジェクトの移動軌跡に基づいて、ECU20は、車両1(自車両)の移動軌跡を決定する。
また、所定回数のループ演算を行っても収束しない場合、ECU20は、直近に補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を、時点t1、t2、t3・・・ごとに、所定時間TSまで再度計算(補正)して、ECU20は、車両1(自車両)の移動軌跡を決定する。尚、以上の処理は、時点T0のシーン画像におけるシーン理解、予測と行動計画に関する演算の説明であるが、時点T0よりも後の時点T1や、時点T1よりも後の時点T2においても同様である。
図8は、第2の自動運転モードにおける処理の流れを説明するフローチャートである。ECU20は、例えば、運転者により目的地の設定と自動運転が指示されると、ECU24により探索された案内ルートにしたがって、目的地へ向けて車両1の走行を自動制御する。
自動運転制御の際、ECU20は、ECU22および23から車両1の周囲状況に関する情報(外界情報)を取得する(S20)。ステップS20の処理により、時点T0の外界情報に基づいて、第1実施形態で説明した図5のような、車両の周囲の状況を示す画像(シーン画像)が取得される。
そして、ECU20は、外界情報が取得された時点(例えば、時点T0)におけるシーン画像に含まれるオブジェクト(歩行者204、他車両205、障害物217)を抽出する(S21)。ECU20は、シーン画像から、静的なオブジェクト(静止物体)および動的なオブジェクト(移動物体)を抽出し、抽出したオブジェクトが、シーン画像内で、どのように配置されているかを特定する。ECU20は、シーン画像における車両1(自車両)の位置を、座標系の原点として固定して、オブジェクトの位置を特定する。
そして、ECU20は、抽出したオブジェクトのうち、動的なオブジェクト(移動物体)に対して、外界情報が取得された時点t0から将来に向けた所定時間TSにおけるオブジェクトの動き(移動軌跡)を予測する(S22)。ECU20は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を時系列に予測する。
次に、ECU20は、時系列で計算した、オブジェクトの所定時間分の移動軌跡に基づいて、車両1(自車両)の所定時間分の移動軌跡を計算する(S23)。ECU20は、時点T0で取得されたシーン画像におけるオブジェクトの移動軌跡の予測結果に基づいて、例えば、熟練の運転者(熟練運転者)による走行データと、車両1(自車両)の周囲に存在するシーン画像内のオブジェクトの位置とを考慮して、車両1(自車両)の時系列の移動軌跡を計算する。ECU20は、時点t1、t2、t3・・・ごとに、所定時間TSまで、車両1(自車両)の位置を時系列に計算する。
ステップS24では、車両1(自車両)が、ステップS23で計算した移動軌跡に従って移動した場合、ECU20は、オブジェクトがどのような動きをするか予測する。そして、ECU20は、本ステップで予測したオブジェクトの移動軌跡と、ステップS22で予測したオブジェクトの移動軌跡(前回の予測処理で求めたオブジェクトの移動軌跡)と、を比較する。車両1(自車両)の動きは、オブジェクトの動きに影響を与える場合があり、ECU20は、車両1(自車両)の所定時間分の動き(自車両の移動軌跡)の影響を受けてオブジェクトの動き(オブジェクトの移動軌跡)が変化するか否かを判定する(S24)。ECU20は、所定の演算周期における繰り返し演算により、補正したオブジェクトの移動軌跡の変化が収束したか否かを閾値との比較に基づいて判定する。ここで、所定の閾値は、任意に設定可能な値である。
ステップS24の判定で、オブジェクトの移動軌跡の差分が所定の閾値を超える場合、ECU20は、オブジェクトの移動軌跡に変化が生じていると判定し(S24−Yes)、処理をステップS23に戻す。
ステップS23では、ECU20は、変化したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を再度計算(補正)する。すなわち、オブジェクトの移動軌跡に変化が生じている場合、ECU20は、変化したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を、時点t1、t2、t3・・・ごとに、所定時間TSまで再度計算(補正)し、処理をステップS24に進める。
ステップS24では、車両1(自車両)が、ステップS23で補正した移動軌跡に従って移動した場合、ECU20は、オブジェクトがどのような動きをするか再度予測する。そして、ECU20は、再度予測したオブジェクトの移動軌跡と、前回の予測処理で求めたオブジェクトの移動軌跡と、を比較して、比較の結果により、オブジェクトの移動軌跡の差分が所定の閾値を超える場合、ECU20は、オブジェクトの移動軌跡に変化が生じていると判定し(S24−Yes)、処理をステップS23に戻す。ステップS23において、車両1(自車両)の移動軌跡を、時点t1、t2、t3・・・ごとに、所定時間TSまで時系列に再度計算(補正)する。ECU20は、同様のループ演算を予め設定された回数繰り返す。
一方、ステップS24における比較の結果によりオブジェクトの移動軌跡に差分が生じない場合(同一の移動軌跡の場合)、あるいは、オブジェクトの移動軌跡の差分が所定の閾値以下の場合、ECU20は、オブジェクトの移動軌跡に変化が生じていないと判定し(S24−No)、処理をステップS25に進める。
ステップS25において、ECU20は、所定時間において、車両1(自車両)が移動する移動軌跡を決定する。ECU20は、先のステップS24の判定に基づいて、補正したオブジェクトの移動軌跡の変化が収束した場合(S24−No)、収束したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を決定する(S25)。
尚、ECU20は、ステップS23およびS24の間のループ演算の回数をカウントアップし、予め設定された所定回数のループ演算を行っても収束しない場合(S24−Yes)、すなわち、所定の閾値を超えてオブジェクトの移動軌跡に変化が生じる場合、ECU20は、ステップS23に処理を戻さず、処理をステップS25に進める。
ECU20は、ステップS24の比較の結果に基づいて、所定回数のループ演算を行っても補正したオブジェクトの移動軌跡の変化が収束しない場合(S24−Yes)、直近に補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を決定する(S25)。
次に、図5および図6を用いて、第2の自動運転モードにおける処理の具体的な内容を説明する。第2の自動運転モードにおいても、第1実施形態で説明した図5のような、車両の周囲の状況を示す画像(シーン画像)が取得される。例えば、時点T0において、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された、走行中の車両1(自車両)の周囲に存在するオブジェクトのシーン画像が取得される。そして、ECU20は、シーン理解により、シーン画像に含まれるオブジェクト(歩行者204、他車両205、障害物217)を抽出して、シーン画像における車両1(自車両)の位置を、座標系の原点として固定して、オブジェクトの位置を特定する。シーン理解、予測、および行動計画の一連の処理を第1実施形態で説明した処理と同様にワンフローで行うことにより、図5に示すような、他車両205の移動軌跡505と、車両1(自車両)の移動軌跡501とが求められる。
次に、第2の自動運転モードでは、ループ演算により、ECU20は、計算した移動軌跡501に従って車両1(自車両)が移動した場合、オブジェクトがどのような動きをするかを予測する。オブジェクトの移動軌跡の予測は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を予測することによって行われる。
車両1(自車両)が、歩行者204を避けて、中央線203寄りの移動軌跡501を選択した場合、他車両205は、車両1(自車両)との干渉を避けるため、移動軌跡を区分線201側(間隔に余裕のある障害物217側)にシフト(補正)する。
例えば、車両1(自車両)が移動軌跡501により移動したときに、他車両205の移動軌跡505が、ループ演算により一点鎖線で示す移動軌跡506に変化した場合、ECU20は、変化した他車両205の移動軌跡506に基づいて、車両1(自車両)の移動軌跡を、時点t1、t2、t3・・・ごとに、所定時間TSまで再度計算(補正)する。例えば、ECU20は、再度の計算処理により、移動軌跡501を、一点鎖線で示す移動軌跡502に補正する。
同様にループ演算により、車両1(自車両)が移動軌跡502により移動したときに、他車両205の移動軌跡506が、実線で示す移動軌跡507に変化した場合、ECU20は、変化した他車両205の移動軌跡507に基づいて、車両1(自車両)の移動軌跡を、時点t1、t2、t3・・・ごとに、所定時間TSまで再度計算(補正)する。例えば、ECU20は、再度の計算処理により、移動軌跡502を、実線で示す移動軌跡503に補正する。この処理は、図8のS24−Yes、S23の処理に対応する処理である。
また、ループ演算によりオブジェクト(他車両205)の移動軌跡507に変化が生じていない場合、ECU20は、他車両205の移動軌跡の変化が収束したと判定し、収束した他車両205の移動軌跡507に基づいて、ECU20は、車両1(自車両)の移動軌跡として、図5の移動軌跡503を決定する。これらの処理は、図8のS24−No、S25の処理に対応する処理である。
また、ループ演算により同様の処理を所定回数行い、所定回数のループ演算を行っても収束しない場合、ECU20は、直近に補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を決定する。これらの処理は、所定回数のループ演算を行っても収束しない場合の処理(図7のS24−Yes、S25)に対応する。
図6は、自車両の移動軌跡の決定を例示的に示す図である。図6(b)において、曲線601、602は、図6(a)と同様に、シーン画像内における所定の位置(図5のP〜P’の位置)において、オブジェクトが存在すると予測される予測値の分布を示している。曲線601は、図5で示した歩行者204に関する予測値の分布を示し、曲線602は、図5で示した他車両205に関する予測値の分布を示している。
図6(b)では、車両1(自車両)の移動軌跡501〜503(図5)の影響を受けて他車両205の動きが変化した場合の予測値の分布の変化を破線曲線602Bで示している。破線曲線602Bの分布は、曲線602の分布に比べて、矩形604側(紙面の右側)にシフトしている。破線曲線602Bのシフトは、図5における他車両205の移動軌跡505から移動軌跡507への変化に対応するものである。
曲線601と破線曲線602Bとの間の領域は、車両1(自車両)が走行している車線内において、オブジェクト(物体)が存在しない領域であり、車両1(自車両)が走行可能な領域である。図6(b)における走行可能な領域は、破線曲線602Bのシフトにより、図6(a)における走行可能な領域よりも広くなっている。また、曲線603Bは、走行可能な領域における熟練の運転者(熟練運転者)による走行パターンの分布を示しており、曲線603BのピークM2は、走行可能な領域内において、熟練運転者が最も高い確率で選択する走行位置を示している。
ECU20は、図7に示す各時点(例えば、t1、t2、t3・・・TS)においてオブジェクト(物体)が存在しない領域(走行可能な領域)を特定し、熟練運転者による走行パターンの分布に基づいて、車両1を曲線603BのピークM2の位置に進めるように移動軌跡を計算する。このように計算された移動軌跡が、図4のS13、S14で求めた車両1(自車両)の移動軌跡503となる。
第2の自動運転モードによれば、オブジェクトの動きを予測して車両1(自車両)の移動軌跡を計算する。車両1(自車両)の移動軌跡に応じた、オブジェクトの動きを予測してオブジェクトの移動軌跡を補正する。補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を補正する。ループ演算により、オブジェクトの移動軌跡の変化に基づいて、車両1(自車両)の移動軌跡を補正することにより、行動計画において、より高精度に車両1(自車両)の移動軌跡を計算することができる。
これによれば、熟練運転者による走行データの蓄積を考慮しつつ、オブジェクトの移動軌跡の変化を考慮して自車両の移動軌跡を決定することができるため、より高精度に所定時間における自車両の移動軌跡を決定することができる。また、熟練運転者が実際にとった行動に基づいて移動軌跡が決定されるため、自車両が、周囲の環境に照らして、熟練運転者であれば選択したであろう行動又はそれに近い行動をとるようになる。この結果、市街地など、移動するオブジェクトが多い環境においても、歩行者や他車両等の交通参加者の動きに応じて、車両1(自車両)の移動軌跡を決定することが可能になる。
<第3実施形態:第3の自動運転モード>
本実施形態においても、ECU20が車両1の自動運転に関わる制御を実行する。ECU20は、計算した移動軌跡に基づいて、制御対象となる車両1の自動運転の制御を行う。第3の自動運転モードでは、ある時点T1におけるシーン画像内で求めたオブジェクトの移動軌跡を、時点T1よりも前の時点である時点T0におけるシーン画像内で求めた行動計画(車両1(自車両)の移動軌跡)に基づいて補正し、補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を計算する。時点T0のシーン画像に基づいて計算された行動計画は時点T1のシーン画像に基づいて計算された行動計画により補正される。すなわち、時点T0で計算された車両1(自車両)の移動軌跡は時点T1で計算された車両1(自車両)の移動軌跡により持ち替えられる。
図2(c)は、第3の自動運転モードに対応する処理フローの概要を示す図である。時点T0での処理は、図2(a)と同様の処理であり、ECU20は、シーン理解、予測、および行動計画の処理をワンフローで行う。時点T0で計算された行動計画(車両1(自車両)の移動軌跡)の計算結果が、時点T1の処理に反映される。
時点T1での処理は、シーン理解、予測、および行動計画の処理をワンフローで行うものであるが、予測処理において、時点T1よりも前の時点である時点T0における行動計画の計算結果が入力される。
ECU20は、時点T1で取得されたシーン画像に基づいて計算されるオブジェクトの移動軌跡を、時点T0で計算された行動計画を用いて補正し、補正したオブジェクトの移動軌跡に対応する車両1(自車両)の移動軌跡を時系列で計算する。時点T1で計算された行動計画(車両1(自車両)の移動軌跡)の計算結果が、同様に時点T2の処理に反映される。
図9は、車両1(自車両)が走行するときの実際の時間を示す時間軸(縦軸)と、動的なオブジェクト(移動物体)および車両1(自車両)の移動軌跡を求める際の計算に用いる計算上の時間軸(横軸)との関係を模式的に示す図である。例えば、時点T1において、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された情報(外界情報)により、車両1(自車両)の周囲に存在する、静的なオブジェクトおよび動的なオブジェクトの情報が、例えば、図11のように、車両の周囲の状況を示す画像(一つのシーンを示すシーン画像)として得られる。
第3の自動運転モードでは、ECU20は、シーン画像を取得した時点(例えば、時点T1)から所定時間TSにおけるオブジェクトの移動軌跡を時系列で計算し、オブジェクトの移動軌跡の時間毎の位置に基づいて、車両1(自車両)の移動軌跡を時系列に計算する。
ECU20は、シーン画像を取得した時点T1から所定時間TSにおいて、例えば、歩行者や他車両等、時間の経過に従い移動する動的なオブジェクトが移動する移動軌跡を予測する。予測処理には、時点T1よりも前の時点である時点T0におけるシーン画像内で求めた行動計画(車両1(自車両)の移動軌跡)の計算結果が入力される。
オブジェクトの移動軌跡の予測は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、オブジェクトの位置を時系列に予測することによって行われる。
ECU20は、オブジェクトの移動軌跡の予測結果を、時点T0におけるシーン画像内で求めた行動計画(車両1(自車両)の移動軌跡)の計算結果に基づいて補正する。そして、ECU20は、補正したオブジェクトの移動軌跡に基づいて、時点t1、t2、t3・・・ごとに、所定時間TSまで、車両1(自車両)の移動軌跡を時系列に計算する。
ECU20は、時点T1で計算した車両1(自車両)の移動軌跡の計算結果に基づいて、時点T0で計算した車両1(自車両)の移動軌跡を補正(更新)する。ECU20は、時点T1で計算した行動計画(車両1(自車両)の移動軌跡)の計算結果を、時点T2の処理に同様に反映する。
図10は、第3の自動運転モードにおける処理の流れを説明するフローチャートである。例えば、運転者により目的地の設定と自動運転が指示されると、ECU24により探索された案内ルートにしたがって、目的地へ向けて車両1の走行を自動制御する。
自動運転制御の際、ECU20は、ECU22および23から車両1の周囲状況に関する情報(外界情報)を取得する(S30)。ステップS30の処理により、時点T1の外界情報に基づいて、例えば、図11のようなシーン画像が取得される。
そして、ECU20は、外界情報が取得された時点(例えば、時点T1)におけるシーン画像に含まれるオブジェクトを抽出する(S31)。ECU20は、シーン画像から、時間の経過に従い移動しない静的なオブジェクト(静止物体)および時間の経過に従い移動する動的なオブジェクト(移動物体)を抽出し、抽出したオブジェクトが、シーン画像内で、どのように配置されているかを特定する。ECU20は、シーン画像における車両1(自車両)の位置を、座標系の原点として固定して、オブジェクトの位置を特定する。
また、ECU20は、計算済みである、前の時点T0における行動計画(自車両の移動軌跡の計算結果)を入力する(S32)。すなわち、ECU20は、シーン画像を取得した時点T1よりも前の時点T0における前シーン画像内で求めた行動計画(自車両の移動軌跡)を取得する。
ECU20は、抽出したオブジェクトのうち、動的なオブジェクト(移動物体)に対して、外界情報が取得された時点T1から将来に向けた所定時間TSにおけるオブジェクトの動き(移動軌跡)を時系列に計算する(S33)。
そして、ECU20は、ステップS32で取得した、時点T0における前シーン画像内で求めた行動計画(自車両の移動軌跡)に基づいて、ステップS33で計算したオブジェクトの移動軌跡を補正する。ECU20は、シーン画像を取得した時点(例えば、T1)よりも前の時点(例えば、T0)において取得した前シーン画像で算出された車両1の移動軌跡に基づいて、シーン画像におけるオブジェクトの移動軌跡を補正した移動軌跡を計算する。車両1(自車両)の動きは、オブジェクトの動きに影響を与える場合があり、ECU20は、車両1(自車両)の移動軌跡の影響を受けてオブジェクトの動き(オブジェクトの移動軌跡)の変化を計算し、移動軌跡の変化の計算結果に基づいて、オブジェクトの移動軌跡を補正する。ECU20は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで時系列に、オブジェクトの移動軌跡を補正する。
ステップS34において、ECU20は、補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の所定時間分の移動軌跡を時系列で計算する。ECU20は、補正したオブジェクトの移動軌跡に基づいて、例えば、熟練の運転者(熟練運転者)による走行データと、車両1(自車両)の周囲に存在するシーン画像内のオブジェクトの位置とを考慮して、ECU20は、所定時間TSを分割した時点t1、t2、t3・・・ごとに、所定時間TSまで、車両1(自車両)の移動軌跡を時系列に計算する。
ステップS35において、ECU20は、ステップS34の計算結果に基づいて、時点T0で計算した行動計画(車両1(自車両)の移動軌跡)を補正(更新)する。
次に、図11を用いて、第3の自動運転モードにおける処理の具体的な内容を説明する。時点T1において、検知ユニット(カメラ41、ライダ42、レーダ43)により取得された、走行中の車両1(自車両)の周囲に存在するオブジェクトのシーン画像が取得される(図11)。図11におけるオブジェクト(歩行者204、他車両205、障害物217)は図5と同様である。
そして、ECU20は、シーン理解により、図11に示すシーン画像に含まれるオブジェクト(歩行者204、他車両205、障害物217)を抽出して、シーン画像における車両1(自車両)の位置を、座標系の原点として固定して、オブジェクトの位置を特定する。以上の処理は、図10のステップS30、S31に対応する。
図11において、二点鎖線で示す移動軌跡1101は、時点T1よりも前の時点T0のシーン画像に基づいて計算された行動計画(車両1(自車両)の移動軌跡)である。シーン理解、予測、および行動計画の一連の処理を第1実施形態で説明した処理と同様にワンフローで行うことにより、車両1(自車両)の移動軌跡1101が求められる。この処理は図10のステップS32に対応する処理であり、ECU20は、計算済みである、前の時点T0における行動計画(自車両の移動軌跡の計算結果)を取得する。この処理は、図10のステップS32に対応する。
二点鎖線で示す移動軌跡1105は、時点T1のシーン画像において、計算された他車両205の移動軌跡の予測結果である。ECU20は、車両1(自車両)が移動軌跡1101により移動したときの、他車両205の移動軌跡の変化を計算する。そして、ECU20は、移動軌跡の変化の計算結果に基づいて、他車両205の移動軌跡を補正する。図11において、実線で示す移動軌跡1106は、補正した他車両205の移動軌跡を示す。ECU20は、シーン画像を取得した時点(例えば、T1)よりも前の時点(例えば、T0)において取得した前シーン画像で算出された車両の移動軌跡(例えば、1101)に基づいて、シーン画像におけるオブジェクトの移動軌跡(例えば、1105)を補正した移動軌跡(例えば、1106)を計算する。他車両205の移動軌跡1105および1106を求める処理は、図10のステップS33に対応する。
次に、ECU20は、補正した他車両205の移動軌跡1106に基づいて、車両1(自車両)の所定時間分の移動軌跡を時系列で計算する。図11において、実線で示す移動軌跡1102は、補正した他車両205の移動軌跡1106に基づいて計算した車両1(自車両)の移動軌跡を示す。移動軌跡1102を求める処理は、図10のステップS34に対応する。
そして、ECU20は、計算した車両1(自車両)の移動軌跡1102に基づいて、時点T0で計算した行動計画(車両1(自車両)の移動軌跡1101)を補正する。移動軌跡1101を移動軌跡1102で補正する処理は、図10のステップS35に対応する。
図6は、自車両の移動軌跡の決定を例示的に示す図である。図6(c)において、曲線601、602は、シーン画像内における所定の位置(図11のP〜P’の位置)において、オブジェクトが存在すると予測される予測値の分布を示している。曲線601は、図11で示した歩行者204に関する予測値の分布を示し、曲線602は、図11で示した他車両205に関する予測値の分布を示している。
図6(c)では、車両1(自車両)の移動軌跡1101(図11)の影響を受けて他車両205の動きが変化した場合の予測値の分布の変化を破線曲線602Cで示している。破線曲線602Cの分布は、曲線602の分布に比べて、矩形604側(紙面の右側)にシフトしている。破線曲線602Cのシフトは、図11における他車両205の移動軌跡1105から移動軌跡1106への変化に対応するものである。
曲線601と破線曲線602Cとの間の領域は、車両1(自車両)が走行している車線内において、オブジェクト(物体)が存在しない領域であり、車両1(自車両)が走行可能な領域である。図6(c)における走行可能な領域は、破線曲線602Cのシフトにより、例えば、図6(a)における走行可能な領域よりも広くなっている。また、曲線603Cは、走行可能な領域における熟練の運転者(熟練運転者)による走行パターンの分布を示しており、曲線603CのピークM3は、走行可能な領域内において、熟練運転者が最も高い確率で選択する走行位置を示している。曲線603は、時点T0のシーン画像における熟練の運転者(熟練運転者)による走行パターンの分布を示しており、この曲線は図6(a)の曲線603に対応するものである。
ECU20は、図9に示す各時点(例えば、t1、t2、t3・・・TS)においてオブジェクト(物体)が存在しない領域(走行可能な領域)を特定し、熟練運転者による走行パターンの分布に基づいて、車両1を曲線603CのピークM3の位置に進めるように移動軌跡を計算する。このように計算された移動軌跡が、図10のS34で求めた車両1(自車両)の移動軌跡1102となる。図6(c)において、M1は、時点T0のシーン画像に基づいて計算した車両1の移動軌跡上の位置であり、車両1(自車両)の移動軌跡の補正により、移動軌跡上の位置M1がM3に補正される。
第3の自動運転モードによれば、時点T1において取得したシーン画像において、車両1の周囲に存在するオブジェクトの移動軌跡を、前の時点T0で計算した行動計画(車両1(自車両)の移動軌跡)の計算結果に基づいて補正する。シーン画像を取得した時点よりも前の時点において取得した前シーン画像で計算された車両の移動軌跡に基づいて、オブジェクトの移動軌跡を補正することで、演算処理の負荷を低減することが可能になる。これにより、予測と行動計画を繰り返すループ演算に比べて計算負荷を低減しつつ、オブジェクトの移動軌跡を補正し、補正したオブジェクトの移動軌跡に基づいて、車両1(自車両)の移動軌跡を時系列に計算することが可能になる。
(その他の実施形態)
以上、いくつかの好適な態様を例示したが、本発明はこれらの例に限られるものではなく、本発明の趣旨を逸脱しない範囲で、その一部が変更されてもよい。例えば、各実施形態の内容に、目的、用途等に応じて他の要素を組み合わせることも可能であるし、或る実施形態の内容に他の実施形態の内容の一部を組み合わせることも可能である。また、本明細書に記載された個々の用語は、本発明を説明する目的で用いられたものに過ぎず、本発明は、その用語の厳密な意味に限定されるものでないことは言うまでもなく、その均等物をも含みうる。
また、各実施形態で説明された1以上の機能を実現するプログラムは、ネットワーク又は記憶媒体を介してシステム又は装置に供給され、該システム又は装置のコンピュータにおける1以上のプロセッサは、このプログラムを読み出して実行することができる。このような態様によっても本発明は実現可能である。
<実施形態のまとめ>
構成1.上記実施形態の車両制御装置は、生成した移動軌跡に基づいて、車両(例えば、1)の自動運転の制御を行う車両制御装置(例えば、100)であって、
前記車両(1)の周囲の状況を示すシーン画像(例えば、図5)から前記車両の周囲に存在するオブジェクト(例えば、204、205)を抽出する抽出手段(例えば、20、22、23)と、
前記シーン画像を取得した時点(例えば、T0)から所定時間(例えば、TS)における前記オブジェクトの移動軌跡(例えば、505)を時系列で計算し、前記オブジェクトの移動軌跡(505)の時間毎の位置に基づいて、前記車両の移動軌跡(例えば、501)を時系列に生成する制御手段(例えば、20)と、を備えることを特徴とする。
構成1によれば、時系列に予測したオブジェクトの移動軌跡に対応して、制御対象となる車両をどの位置に移動させればよいか、時系列に計算することが可能になる。
構成2.上記実施形態の車両制御装置(100)であって、前記制御手段(20)は、前記シーン画像を取得した時点から所定時間(TS)内の第1の時点(例えば、図3のt1)における前記オブジェクトの位置に基づいて前記第1の時点(図3のt1)における前記車両の位置を計算し、前記所定時間(TS)内の第2の時点(例えば、図3のt2)における前記オブジェクトの位置に基づいて前記第2の時点(図3のt2)における前記車両の位置を計算することを特徴とする。
構成2によれば、オブジェクトの時系列の位置から、制御対象の車両の位置を時系列に対応づけて計算することが可能になる。
構成3.上記実施形態の車両制御装置(100)であって、前記抽出手段(20、22、23)は、前記シーン画像に対する画像処理により、時間の経過に従い移動しない静的なオブジェクト(例えば、図5の217)と、時間の経過に従い移動する動的なオブジェクト(例えば、図5の205)と、を前記シーン画像から抽出することを特徴とする。
構成3によれば、シーン画像に含まれるオブジェクトの中から、移動軌跡を求めるオブジェクトと特定することができる。
構成4.上記実施形態の車両制御装置(100)であって、前記制御手段(20)は、前記抽出手段により抽出された前記動的なオブジェクトについて、前記移動軌跡を時系列に計算することを特徴とする。
構成4によれば、シーン画像に含まれるオブジェクトの中から、移動軌跡を求めるオブジェクトと特定し、特定したオブジェクトに対して移動軌跡を求めることが可能になる。
構成5.上記実施形態の車両制御装置(100)であって、前記制御手段(20)は、前記シーン画像における前記車両の位置を、座標系の原点として固定して、演算処理を実行することを特徴とする。
構成5によれば、ある時点で取得された画像において制御対象の車両の位置を座標系の原点として固定することにより、移動軌跡の計算における演算処理の負荷を低減することができる。
構成6.上記実施形態の車両(例えば、1)は、上記の構成1乃至5のいずれか1つの構成に記載の車両制御装置(例えば、100)を有することを特徴とする。
構成6によれば、車両内部で上述の処理を迅速に実行することで、より精度よく生成した移動軌跡に基づいて、車両の自動運転の制御を行うことが可能になる。
構成7.上記実施形態の車両制御方法は、生成した移動軌跡に基づいて、車両の自動運転の制御を行う車両制御装置の車両制御方法であって、
前記車両の周囲の状況を示すシーン画像(例えば、図5)から前記車両の周囲に存在するオブジェクト(例えば、204、205)を抽出する抽出工程(例えば、S10、S11)と、
前記シーン画像を取得した時点から所定時間における前記オブジェクトの移動軌跡を時系列で計算し、前記オブジェクトの移動軌跡の時間毎の位置に基づいて、前記車両の移動軌跡を時系列に生成する制御工程(例えば、S12〜S14)と、を有することを特徴とする。
構成7によれば、時系列に予測したオブジェクトの移動軌跡に対応して、制御対象となる車両をどの位置に移動させればよいか、時系列に計算することが可能になる。
構成8.上記実施形態の車両制御方法であって、前記制御工程(例えば、S12〜S14)では、前記シーン画像を取得した時点から所定時間(TS)内の第1の時点(例えば、図3のt1)における前記オブジェクトの位置に基づいて前記第1の時点(図3のt1)における前記車両の位置を計算し、前記所定時間(TS)内の第2の時点(例えば、図3のt2)における前記オブジェクトの位置に基づいて前記第2の時点(図3のt2)における前記車両の位置を計算することを特徴とする。
構成8によれば、オブジェクトの時系列の位置から、制御対象の車両の位置を時系列に対応づけて計算することが可能になる。
構成9.上記実施形態のプログラムであって、プログラムは、コンピュータに、上記の構成7または8に記載の車両制御方法の各工程を実行させる。構成9によれば、車両制御方法の各工程をコンピュータにより実現することが可能となる。