以下、本発明の実施形態を図面を参照して説明する。
最初に、本発明の説明に用いる用語について説明する。
本発明において、「自動運転車」とは、走行中のいかなる場合でも運転手が運転することがない自動車であってもよく、運転手が特定の交通条件下でコントロールを完全に自動車に委ね、その特定の交通条件が満たされてない場合には、運転手が運転する自動車であってもよい。前者の場合、無人であってもよい。
また、本発明の「自動運転車」は、「自律走行車」と称することもできる。
「進行不可能領域」とは、物理的にまたは法的に自動車が進行できない領域である。
物理的に自動車が進行できない領域の具体例として、例えば、電信柱等の障害物が存在する領域や、現在位置を基準とした場合の0.1秒後の位置として進行方向との間で90°をなす方向の位置や、0.1秒以内の進行方向の位置として現在位置から10m以上離れた位置等が挙げられる。
また、法的に自動車が進行できない領域の具体例として、例えば、歩道、建物や公園の中、赤信号の交差点、進行した場合に逆走となる一方通行の道路等が挙げられる。
「進行可能領域」とは、物理的にも法的にも、自動運転車または運転手が進行しようとすれば進行することができる領域である。
「計画経路」とは、自動運転車が進行経路として計画した経路である。自動運転車は、計画経路を、進行可能領域内で定める。計画経路では、時刻と、自動運転車の位置とが対応付けられている。
「不進行領域」とは、進行可能領域内の領域であって、かつ、自動運転車が進行しない領域として定めた領域である。換言すれば、「不進行領域」は、自動運転車が進行可能な領域であり、かつ、自動運転車が進行しない領域として定めた領域である。
不進行領域は、自動運転車が進行することはできるが進行しない領域として定めた領域であり、元々、進行することが不可能な「進行不可能領域」とは区別する。すなわち、不進行領域は、進行不可能領域と重複しない。かかる用語の定義は、後述する自動運転車が不進行領域と進行不可能領域とを併せた領域を送受信する態様を除外することを意図したものではない。
本発明の車両システムは、自動運転車に設けられ、自動運転車の走行を制御する。本発明の車両システムは、自動運転車の走行に関する計画の作成動作として、「ミッションプランニング」、「モーションプランニング」および「コントロール」を実行する。
「ミッションプランニング」は、例えば、「右折する」、「左車線に車線変更する」、「停止する」、「転回する」等のミッションを定める動作である。ミッションは、目標状態と称してもよい。
「モーションプランニング」は、ミッションプランニングの出力であるミッションを達成するように、計画経路を作成する動作である。
「コントロール」は、計画経路に従って自動運転車が走行するように、アクセル、ブレーキ、ステアリング等を制御するための制御情報を作成する動作である。
本発明の車両システムは、例えば、2Hzで「ミッションプランニング」を実行し、例えば、25Hzで「モーションプランニング」を実行し、例えば、10Hzで「コントロール」を実行する。
実施形態1.
図1は、本発明の第1の実施形態の車両制御システムの例を示すブロック図である。第1の実施形態の車両制御システム1は、進行不可能領域情報記憶部2と、目標設定部7と、計画経路作成部3と、送信部6と、応答受信部9と、走行制御部8と、判定部31と、受信部32と、応答送信部33とを備える。
図2は、車両制御システム1が設けられた複数の自動運転車を示す模式図である。図2では、2台の自動運転車A,Bを図示しているが、車両制御システム1が設けられた自動運転車の数は限定されない。以下、説明を簡単にするため、適宜、2台の自動運転車A,Bを用いて説明する。自動運転車Aに設けられた車両制御システム1と、自動運転車Bに設けられた車両制御システム1は、同様の構成(図1参照)である。また、自動運転車Aに設けられた車両制御システム1と、自動運転車Bに設けられた車両制御システム1とを区別する場合、前者は符号“1”に添え字“a”を付して表し、後者は符号“1”添え字“b”を付して表す(図2参照)。同様に、計画経路作成部3等の車両制御システム1内の各要素に関しても、自動運転車Aに設けられていることを明示的に示す場合には符号に添え字“a”を付して表し、自動運転車Bに設けられていることを明示的に示す場合には符号に添え字“b”を付して表す。自動運転車A,Bを区別する必要がない場合には、符号に添え字“a”,“b”を付けずに表す。これらの点は、後述の第2の実施形態でも同様である。
進行不可能領域情報記憶部2は、進行不可能領域を示す情報(例えば、歩道や建物等が存在する領域を示す情報)や、自動運転車の状態(例えば、進行方向)等に応じて進行不可能領域となり得る領域を示す情報(例えば、一方通行の道路の領域を示す情報)を記憶する記憶装置である。
目標設定部7は、その目標設定部7を備えている自動運転車の目標とする状態(ミッション)を定める。例えば、目標設定部7は、「右折する」、「左車線に車線変更する」、「停止する」、「転回する」等のミッションを定める。目標設定部7は、例えば、外部から与えられる情報(行先、信号の状況等)に応じてミッションを定めてもよい。目標設定部7の動作は、前述の「ミッションプランニング」に相当する。目標設定部7は、例えば、2Hzでミッションを定める。
計画経路作成部3は、目標設定部7が定めたミッションに従って、車両制御システム1が搭載されている自動運転車の計画経路を作成する。計画経路の作成は、前述の「モーションプランニング」に相当する。ここでは、便宜的に、車両制御システム1が搭載されている自動運転車が自動運転車Aであるものとして説明する。計画経路作成部3は、例えば、25Hzで計画経路を作成する。
計画経路作成部3は、進行不可能領域情報記憶部2を参照して、進行不可能領域を特定する。さらに、計画経路作成部3は、進行不可能領域以外の領域を、進行可能領域と判定する。計画経路作成部3は、進行可能領域内で、計画経路を作成する。計画経路作成部3は、計画経路として、時刻と自動運転車Aの位置との対応を示す情報を含む計画経路を作成する。
計画経路作成部3は、例えば、RRT(Rapidly-Exploring Random Trees)や、A*(A-star)等の公知のアルゴリズムを用いて、計画経路を作成すればよい。計画経路の作成に用いるアルゴリズムは、RRTやA*に限定されない。
図3は、計画経路の例を示す模式図である。進行不可能領域11以外の領域が進行可能領域12である。計画経路作成部3は、進行可能領域12内に計画経路15を作成する。説明を簡単にするために、図3では、計画経路15が直線である場合を示しているが、計画経路15は曲線であってもよい。また、t0は、現在時刻である。t1,t2,t3は将来の時刻である。図3に示す例において、L0は、現在時刻t0における自動運転車Aの位置である。L1は、時刻t1における自動運転車Aの位置である。L2は、時刻t2における自動運転車Aの位置である。L3は、時刻t3における自動運転車Aの位置である。
送信部6は、計画経路作成部3によって作成された計画経路を、周辺に存在する他の自動運転車に同報送信する。このとき、送信部6は、計画経路とともに、自動運転車Aの識別情報も同報送信する。これは、計画経路を受信した他の自動運転車が、自動運転車Aに応答を返せるようにするためである。ここでは、周辺に存在する他の自動運転車の例として、自動運転車Bを挙げて説明する。
応答受信部9は、送信した計画経路に対する応答として、他の自動運転車Bから、その計画経路に合意する旨またはその計画経路に合意しない旨の通知を受信する。
走行制御部8は、計画経路作成部3によって作成された計画経路に従って自動運転車Aを走行させるように、自動運転車Aを制御する。走行制御部8は、自動運転車Aの各部(例えば、アクセル、ブレーキ等)に対する制御情報を作成し、その制御情報によって、自動運転車Aを制御する。ただし、走行制御部8は、制御部6が送信した計画経路に対する応答として、応答受信部9が他の自動運転車Bからその計画経路に合意する旨の通知を受信している場合に、その計画経路に従って自動運転車Aを走行させるように、自動運転車Aを制御する。
なお、応答受信部9が他の自動運転車Bからその計画経路に合意しない旨の通知を受信した場合には、計画経路作成部3は、計画経路を再度作成する。
また、自動運転車Aの車両制御システム1aだけでなく、他の自動運転車Bの車両制御システム1bも計画経路を作成し、その計画経路を送信する。
受信部32は、他の自動運転車Bの車両制御システム1bが同報送信した計画経路および自動運転車Bの識別情報を受信する。
判定部31は、受信部32が受信した他の自動運転車Bの計画経路と、計画経路作成部3が作成した自動運転車Aの計画経路とに基づいて、他の自動運転車Bの計画経路に合意するか否かを判定する。例えば、自動運転車Bの計画経路と自動運転車Aの計画経路とが交差しなければ、判定部31は、自動運転車Bの計画経路に合意すると判定する。自動運転車Bの計画経路と自動運転車Aの計画経路とが交差するならば、判定部31は、自動運転車Bの計画経路に合意しないと判定する。ただし、判定部31の判定方法は、上記の例に限定されず、判定部31は他の方法で判定を行ってもよい。
応答送信部33は、判定部31の判定結果に応じて、受信部32が受信した自動運転車Bの計画経路への応答を、ユニキャスト方式で自動運転車Bに送信する。判定部31が自動運転車Bの計画経路に合意すると判定した場合には、応答送信部33は、自動運転車Bの計画経路に合意する旨の通知を自動運転車Bに送信する。また、判定部31が自動運転車Bの計画経路に合意しないと判定した場合には、応答送信部33は、自動運転車Bの計画経路に合意しない旨の通知を自動運転車Bに送信する。
なお、応答受信部9が自動運転車Bから受信する応答は、自動運転車Bの判定部31bが自動運転車Aの計画経路に合意するか否かを判定し、自動運転車Bの応答送信部33bがその判定結果に応じて自動運転車Aに対して送信した応答である。
送信部6、応答受信部9、受信部32および応答送信部33が行う車車間通信の態様は特に限定されない。例えば、送信部6、応答受信部9、受信部32および応答送信部33は、車車間通信において、電波を用いてもよく、あるいは、赤外線を用いてもよい。この点は、後述の第2の実施形態でも同様である。
目標設定部7、計画経路作成部3、送信部6(通信のためのハードウェアは除く。)、応答受信部9(通信のためのハードウェアは除く。)、走行制御部8、判定部31、受信部32(通信のためのハードウェアは除く。)および応答送信部33(通信のためのハードウェアは除く。)は、例えば、車両制御プログラムに従って動作するコンピュータによって実現される。このコンピュータは、自動運転車に備えられる。この場合、コンピュータは、そのコンピュータが備えるプログラム記憶装置等のプログラム記録媒体から車両制御プログラムを読み込み、車両制御プログラムに従って、目標設定部7、計画経路作成部3、送信部6、応答受信部9、走行制御部8、判定部31、受信部32および応答送信部33として動作すればよい。なお、コンピュータには、通信のためのハードウェア(通信インタフェース)が接続されている。
次に、処理経過について説明する。図4は、第1の実施形態の処理経過の例を示すシーケンス図である。なお、車両制御システム1の個々の要素の動作については既に説明しているので、ここでは、動作の詳細な説明は省略する。以下の説明では、自動運転車A(車両制御システム1a)が自動運転車B(車両制御システム1b)に自動運転車Aの計画経路を送信する場合を例にして説明する。自動運転車Bが自動運転車Aに自動運転車Bの計画経路を送信する場合の処理経過も同様である。
なお、車両制御システム1aの目標設定部7aは既にミッションを定めているものとする。
計画経路作成部3aは、既に定められているミッションに従って、自動運転車Aの計画経路を作成する(ステップS11)。換言すれば、計画経路作成部3aは、ミッションを達成するように、自動運転車Aの計画経路を作成する。
送信部6aは、その計画経路および自動運転車Aの識別情報を、周辺に存在する他の自動運転車に同報送信する(ステップS12)。
車両制御システム1bの受信部32bは、ステップS12で送信された自動運転車Aの計画経路および自動運転車Aの識別情報を受信する。また、車両制御システム1bの計画経路作成部3bは、自動運転車Bの計画経路を作成しているものとする。
車両制御システム1bの判定部31bは、受信部32bが受信した他の自動運転車Aの計画経路と、計画経路作成部3bが作成した自動運転車Bの計画経路とに基づいて、自動運転車Aの計画経路に合意するか否かを判定する(ステップS13)。例えば、自動運転車Aの計画経路と自動運転車Bの計画経路とが交差しなければ、判定部31bは、自動運転車Aの計画経路に合意すると判定する。自動運転車Aの計画経路と自動運転車Bの計画経路と交差するならば、判定部31bは、自動運転車Aの計画経路に合意しないと判定する。
次に、応答送信部33bは、ステップS13の判定結果に応じて、受信部32bが受信した計画経路に対する応答を、ユニキャスト方式で自走運転車Aに送信する(ステップS14)。判定部31bが自動運転車Aの計画経路に合意すると判定した場合には、応答送信部33bは、自動運転車Aの計画経路に合意する旨の通知を自動運転車Aに送信する。また、判定部31bが自動運転車Aの計画経路に合意しないと判定した場合には、応答送信部33bは、自動運転車Aの計画経路に合意しない旨の通知を自動運転車Aに送信する。
車両制御システム1aの応答受信部9aは、ステップS14で送信された応答を受信する。ここで、自動運転車Aの計画経路に合意する旨の通知を応答受信部9aが受信した場合(ステップS15のYes)、走行制御部8aは、車両制御システム1bに合意された自動運転車Aの計画経路に従って自動運転車Aを走行させるように、自動運転車Aを制御する(ステップS16)。また、自動運転車Aの計画経路が他の自動運転車Bに合意された場合、その後、計画経路作成部3aが自動運転車Aの計画経路を作成する場合、計画経路作成部3aは、他の自動運転車Bに合意された計画経路によって制限される。すなわち、計画経路作成部3aは、合意された計画経路から外れない計画経路を作成する。また、走行制御部8aは、合意された計画経路から外れないように、自動運転車Aを走行させる。従って、自動運転車Aの計画経路が他の自動運転車Bに合意された場合、自動運転車Aの動きはその計画経路によって制限される。
また、自動運転車Aの計画経路に合意しない旨の通知を応答受信部9aが受信した場合(ステップS15のNo)、計画経路作成部3aは、再度、自動運転車Aの計画経路を作成する(ステップS17)。その後、ステップS12以降の動作を行えばよい。
特許文献1,2との比較により、本実施形態の効果を説明する。引用文献1,2に記載の技術と比較すると、引用文献1,2に記載の技術では、ミッションに相当する情報(例えば、車線変更の要求等)を、車車間で通信し、そのミッションに関して許可するか否かを判定していた。そのため、引用文献1,2に記載の技術では、スムーズな交通の流れが実現されるとは言えない場合があり得る。
一方、本実施形態によれば、車両制御システム1は、ミッション自体ではなく、計画経路作成部3がミッションに従って作成した計画経路を、車車間通信によって、他の自動運転車に送信する。そして、その計画経路に合意する旨の通知をその自動運転車から受信した場合、車両制御システム1は、その車両制御システム1を備えている自動運転車を、その計画経路に従って走行させる。すなわち、車両制御システム1は、ミッションそのものではなく、ミッションに従ったモーションプランニングの結果について、他の自動運転車に合意を受け、そのモーションプランニングの結果に従って自車両を走行させる。例えば、計画経路は、時刻と自車両の位置との対応を示す情報を含んでいる。このように、計画経路は、ミッションよりも詳細な情報であり、車両制御システム1は、そのような計画経路についいて、他の自動運転車に合意を受け、計画経路に従って自車両を走行させる。従って、スムーズな交通の流れを実現することができる。
なお、第1の実施形態において、計画経路作成部3は、図3に模式的に示すような線として表される計画経路ではなく、幅を持つ計画経路を作成してもよい。
実施形態2.
第1の実施形態では、車両制御システムは、自車両の計画経路を、他の自動運転車に送信する。しかし、計画経路を他の自動運転車に通知するよりは、不進行領域の計画(以下、単に、不進行領域計画と記す)を他の自動運転車に通知する方が好ましい。これは、以下の理由による。
自動運転車Bが、他の自動運転車Aの不進行領域計画を通知される場合、自動運転車Bは、その不進行領域内で自動運転車Bが進行するように、ミッションプランニングやモーションプランニングを実行することができる。その不進行領域は、自動運転車Aが進行しないと定めている領域であるので、自動運転車Bは、自動運転車Aの影響を受けないような、ミッションや計画経路を定めることができる。この点で、計画経路よりも、不進行領域計画を他の自動運転車に通知した方が好ましいと言える。なお、自動運転車Bが、他の自動運転車Aの計画経路を通知された場合、自動運転車Bが、その計画経路以外の領域を自動運転車Aが進行しない領域として推定し、ミッションプランニングやモーションプランニングを実行することも考えられる。しかし、その領域は、あくまで、自動運転車Bが推定した領域に過ぎない。「この領域には進行する予定はない」という自動運転車Aの意思が明示された(言い換えると、宣言された)領域である不進行領域計画そのものを通知された方が好ましい。
また、自動運転車Aの車両制御システムが、自動運転車Aの計画経路について他の自動運転車Bの合意を受け、その計画経路に従って自動運転車Aを走行させるように制御していたとする。そして、その状態で、何らかの事故が生じたとする。車両制御システムが、計画経路に従って自動運転車Aを走行させるように自動運転車Aを制御したとしても、実際には、路面状況や横風等の影響により、実際に走行した経路と計画経路は合致しない。この場合、自動運転車Aが計画経路と一致しない経路を走行したことによって、事故が生じたと言えるかどうかの議論が生じてしまう。一方、自動運転車Aが、自動運転車Aの不進行領域計画を他の自動運転車Bに通知していた場合、自動運転車Aがその不進行領域に進入したか否かは容易に判定することができ、上記のような議論は生じない。この点を鑑みても、計画経路よりも、不進行領域計画を他の自動運転車に通知した方が好ましいと言える。
また、自動運転車Aが、自動運転車Aの計画経路を他の自動運転車Bに通知し、その計画経路が自動運転車Bに合意された場合、自動運転車Aの動きはその計画経路によって制限される。すなわち、自動運転車Aには、その計画経路に従って進行する義務が生じる。この場合、その計画経路に沿って進行することができない何らかの事態が生じた場合に、自動運転車Aは対処できない。この点を鑑みても、計画経路よりも、不進行領域計画を他の自動運転車に通知した方が好ましいと言える。
第2の実施形態の車両制御システムは、不進行領域計画を作成し、他の自動運転車に通知する。
図5は、本発明の第2の実施形態の車両制御システムの例を示すブロック図である。第1の実施形態で示した要素と同一の要素については、図1に示す符号と同一の符号を付し、詳細な説明を省略する。第2の実施形態の車両制御システム1は、進行不可能領域情報記憶部2と、目標設定部7と、計画経路作成部3と、不進行領域計画作成部4と、基準領域設定部5と、送信部6と、応答受信部9と、走行制御部8と、部分領域特定部34と、受信部32と、応答送信部33とを備える。以下の説明でも、便宜的に、車両制御システム1が搭載されている自動運転車が自動運転車Aであるものとして説明する。
進行不可能領域情報記憶部2、目標設定部7および計画経路作成部3はそれぞれ、第1の実施形態における進行不可能領域情報記憶部2、目標設定部7および計画経路作成部3と同様であり、説明を省略する。
走行制御部8は、計画経路作成部3によって作成された計画経路に従って自動運転車Aを走行させるように、自動運転車Aを制御する。ただし、本実施形態では、車両制御システム1は、計画経路について、他の自動運転車によって合意するか否かの判定を受けない。従って、走行制御部8は、計画経路に対する他の自動運転車の合意を必要とせずに、計画経路に基づいて自動運転車Aを制御する。
不進行領域計画作成部4は、計画経路作成部3が作成する計画経路に基づいて、自動運転車Aの不進行領域の計画を作成する。既に説明したように、不進行領域は、自動運転車が進行可能な領域であり、かつ、自動運転車が進行しない領域として定めた領域である。
不進行領域計画作成部4は、時刻と関連付けた不進行領域計画を作成する。より具体的には、不進行領域計画作成部4は、時間帯毎に不進行領域計画を作成する。
以下、不進行領域計画の作成動作の例を説明する。まず、不進行領域計画の作成動作の第1の例について説明する。第1の例では、不進行領域計画作成部4は、時間帯毎に、計画経路の両側Xm以内の領域以外の領域であって、かつ、進行不可能領域11と重ならない領域を、不進行領域として定める。このことは、自動運転車A(より具体的には、不進行領域計画作成部4)が、計画経路の両側Xm以内の領域以外の領域に進行しないと定めていることを意味する。ここでは、図3に示す計画経路15が作成されている場合を例にして説明する。
図6は、時間帯t0〜t1における自動運転車Aの不進行領域を示す模式図である。図6では、時間帯t0〜t1における計画経路15を破線で示している。図6に示す領域16aは、この計画経路の両側Xm以内の領域である。そして、不進行領域計画作成部4は、時間帯t0〜t1における不進行領域として、領域16a以外の領域であって、進行不可能領域11と重ならない領域17aを定める。
なお、進行不可能領域は、図6に示す進行不可能領域11以外にも存在し得るが、ここでは、説明を簡単にするために、進行不可能領域として進行不可能領域11のみを示す。この点は、図7等の他の図面でも同様である。
図7は、時間帯t1〜t2における自動運転車Aの不進行領域を示す模式図である。図7では、時間帯t1〜t2における計画経路を破線で示している。図7に示す領域16bは、この計画経路の両側Xm以内の領域である。そして、不進行領域計画作成部4は、時間帯t1〜t2における不進行領域として、領域16b以外の領域であって、進行不可能領域11と重ならない領域17bを定める。
不進行領域計画作成部4は、時刻t2以降の各時間帯に関しても、同様に、自動運転車Aの不進行領域を定める。なお、不進行領域を定めるときの時間帯の長さ(例えば、t0〜t1等)は、予め定めておけばよい。
時間帯毎に定めた不進行領域が、不進行領域計画である。以上が、不進行領域計画の作成動作の第1の例である。
なお、上記のように時間帯毎に定めた不進行領域の積集合は、任意の時刻において、進行可能領域内の領域であって、かつ、自動運転車が進行しない領域として定めた領域であると言える。図8は、時間帯毎に定めた不進行領域の積集合の例を示す。図8に示す領域17が、この積集合に該当する。
次に、不進行領域計画の作成動作の第2の例を説明する。この場合、計画経路作成部3は、最終的に1つの計画経路を定める過程において、1つまたは複数のアルゴリズムによって、複数の計画経路を得る(導出する)。なお、この場合、計画経路作成部3は、その複数の計画経路の中から最適な計画経路(例えば、道のりが最も短い計画経路)を、最終的な計画経路として定める。
第2の例では、最終的な計画経路を定める過程で計画経路作成部3が得る複数の計画経路に基づいて、不進行領域計画を作成する。
図9は、複数の計画経路の例を示す説明図である。図9では、3つの計画経路15a〜15cを図示しているが、計画経路の数は3つに限定されない。計画経路作成部3は、各計画経路15a〜15cを、進行可能領域12内に作成する。前述の場合と同様に、t0は、現在時刻である。t1,t2,t3は将来の時刻である。図9に示す例において、L0は、現在時刻t0における自動運転車Aの位置である。L1は、時刻t1における自動運転車Aの位置である。L2は、時刻t2における自動運転車Aの位置である。L3は、時刻t3における自動運転車Aの位置である。
第2の例においても、不進行領域計画作成部4は、時間帯毎に、不進行領域を定める。不進行領域計画作成部4は、1つの時間帯の不進行領域を定めるときに、その時間帯で最も外側の計画経路、その時間帯の開始時刻における各計画経路上の位置を結んだ線、その時間帯の終了時刻における各計画経路上の位置を結んだ線によって囲まれる領域を特定する。そして、不進行領域計画作成部4は、その領域以外の領域であって、かつ、進行不可能領域と重ならない領域を、不進行領域として定める。このことは、自動運転車A(より具体的には、不進行領域計画作成部4)が、その領域以外の領域に進行しないと定めていることを意味する。なお、説明を簡単にするために、図9では、いずれの時間帯でも、最も外側の計画経路が、計画経路15bおよび計画経路15cで変わらない場合を示している。計画経路が交差することによって、最も外側の計画経路が入れ替わることがあってもよい。
図10は、時間帯t0〜t1における自動運転車Aの不進行領域を示す模式図である。この時間帯で最も外側に存在する計画経路は計画経路15bおよび計画経路15cである。また、時刻t0における各計画経路上の位置は共通である。また、時刻t1における各計画経路上の位置を結んだ線は、図10に示すようになる。従って、計画経路15b、計画経路15c、時刻t0における各計画経路上の位置を結んだ線(本例では、点になる。)、および、時刻t1における各計画経路上の位置を結んだ線で囲まれる領域は、図10に示す領域18aとなる。そして、不進行領域計画作成部4は、時間帯t0〜t1における不進行領域として、領域18a以外の領域であって、進行不可能領域11と重ならない領域19aを定める。
図11は、時間帯t1〜t2における自動運転車Aの不進行領域を示す模式図である。この時間帯で最も外側に存在する計画経路は計画経路15bおよび計画経路15cである。また、時刻t1における各計画経路上の位置を結んだ線、および、時刻t2における各計画経路上の位置を結んだ線は、図11に示すようになる。従って、計画経路15b、計画経路15c、時刻t1における各計画経路上の位置を結んだ線、および、時刻t2における各計画経路上の位置を結んだ線で囲まれる領域は、図11に示す領域18bとなる。そして、不進行領域計画作成部4は、時間帯t1〜t2における不進行領域として、領域18b以外の領域であって、進行不可能領域11と重ならない領域19bを定める。
不進行領域計画作成部4は、時刻t2以降の各時間帯に関しても、同様に、自動運転車Aの不進行領域を定める。既に説明したように、不進行領域を定めるときの時間帯の長さ(例えば、t0〜t1等)は、予め定めておけばよい。
時間帯毎に定めた不進行領域が、不進行領域計画である。以上が、不進行領域計画の作成動作の第2の例である。
なお、上記のように時間帯毎に定めた不進行領域の積集合は、任意の時刻において、進行可能領域内の領域であって、かつ、自動運転車が進行しない領域として定めた領域であると言える。図12は、時間帯毎に定めた不進行領域の積集合の例を示す。図12に示す領域19が、この積集合に該当する。
進行可能領域12のうち、領域19以外の領域(図12で斜線で示していない領域)は、同一ミッションの下で、現在時刻より後の時刻で作成される計画経路が含まれ得る領域であると言える。現在のミッションをmとする。ミッションmの下で、時刻tに作成され得る計画経路の集合をPt(m)と表す。また、現在時刻をt0とする。進行可能領域12のうち、領域19以外の領域は、以下のように表される領域を包含していると言える。
図8に示す例において、進行可能領域12のうち、領域17以外の領域(図8で斜線で示していない領域)に関しても同様である。
不進行領域計画の作成動作の例として、第1の例、および第2の例を説明した。不進行領域計画の作成動作は、上記の2つの例に限定されず、不進行領域計画作成部4は、他の方法で、不進行領域計画を作成してもよい。
不進行領域計画作成部4は、計画経路作成部3が計画経路を作成する頻度よりも低い頻度で、不進行領域計画を作成する。例えば、計画経路作成部3は、25Hzで計画経路を作成する。また、不進行領域計画作成部4は、例えば、5Hzで不進行領域計画を作成する。ただし、ここで示した5Hz等の値は例示であり、不進行領域計画の作成頻度が、計画経路の作成頻度よりも低ければよい。図13は、不進行領域計画の作成頻度と計画経路の作成頻度を示す模式図である。図13に示す横軸は時間を表す。また、図13に示す円形のマーカは、計画経路を作成するタイミングや、不進行領域計画を作成するタイミングを表している。本発明では、図13に示すように、不進行領域計画作成部4が不進行領域計画を作成する頻度は、計画経路作成部3が計画経路を作成する頻度よりも低い。
以下の説明では、計画経路作成部3が25Hzで計画経路を作成し、不進行領域計画作成部4が5Hzで不進行領域計画を作成する場合を例にして説明する。
基準領域設定部5は、計画経路作成部3が作成した計画経路を包含する幅を持った領域であって、定められた頻度(本例では周波数5Hz)によらずに不進行領域計画作成部4が不進行領域計画を再度作成するか否かの判定基準となる領域を設定する。以下、この領域を基準領域と記す。基準領域設定部5は、不進行領域計画が作成されたときに、基準領域を設定する。
不進行領域計画作成部4が前述の第1の例に示す方法で不進行領域計画を作成する場合、基準領域設定部5は、不進行領域計画作成部4が不進行領域計画を作成する際に用いる計画経路(例えば、図3に示す計画経路15)の両側Ym以内の領域を基準領域として設定する。ただし、Ymは、前述のXm(図6、図7を参照)よりも小さい値である。図14は、基準領域の例を示す模式図である。図14に示す例では、2本の破線に挟まれ、計画経路15を中心とする領域が、基準領域21に該当する。
また、不進行領域計画作成部4が前述の第2の例に示す方法で不進行領域計画を作成する場合、計画経路作成部3は、最終的に1つの計画経路を定める過程において複数の計画経路を導出し、その複数の計画経路の中から最適な計画経路を、最終的な計画経路として定める。基準領域設定部5は、その計画経路の両側Ym以内の領域を基準領域として設定する。図15は、基準領域の他の例を示す模式図である。計画経路作成部3が、図9に示す計画経路15aを最適な計画経路として定めたとする。この場合、基準領域設定部5は、計画経路15aの両側Ym以内の領域を基準領域21として定める。図15に示す例では、2本の破線に挟まれ、計画経路15aを中心とする領域が、基準領域21に該当する。
不進行領域計画作成部4は、計画経路作成部3が新たに作成した計画経路が基準領域21から外れる場合、定められた頻度(本例では周波数5Hz)によらずに、再度、不進行領域計画を作成する。すなわち、新たな計画経路が基準領域21から外れる場合、不進行領域計画作成部4は、定められたタイミングでなくても、新たに、不進行領域計画を作成する。例えば、図13に示す例では、不進行領域計画作成部4は、時刻“1”,“6”で不進行領域計画を作成する。そして、例えば、時刻“3”で作成された計画経路が、時刻“1”で設定された基準領域21から外れる場合、不進行領域計画作成部4は、そのタイミングで、新たに不進行領域計画を作成する。また、新たに不進行領域計画が作成されたことにより、基準領域設定部5は、新たに基準領域を設定する。
送信部6は、不進行領域計画作成部4が不進行領域計画を作成する毎に、その不進行領域計画を、周辺に存在する自動運転車に同報送信する。このとき、送信部6は、不進行領域計画とともに、自動運転車Aの識別情報も同報送信する。これは、不進行領域計画を受信した他の自動運転車が、自動運転車Aに応答を返せるようにするためである。ここでは、周辺に存在する他の自動運転車の例として、自動運転車Bを挙げて説明する。
なお、送信部6は、不進行領域計画および自動運転車Aの識別情報を送信すればよく、計画経路については送信しない。
応答受信部9は、送信した不進行領域計画に対する応答として、他の自動運転車Bから、その不進行領域内の領域であって自動運転車Aの不進行領域として自動運転車Bが合意した部分領域の情報を受信する。ここで、部分領域は、不進行領域の部分集合である。
自動運転車Aが、自動運転車Aの不進行領域を自動運転車Bに通知し、その部分領域に対して自動運転車Bの合意が得られた場合、自動運転車Aには、その合意が得られた部分領域に進行しないという制限(義務)が生じる。従って、応答受信分9が、自動運転車Aの不進行領域として自動運転車Bが合意した部分領域の情報を受信した後に、計画経路作成部3が、自動運転車Aの計画経路を作成する場合、計画経路作成部3は、その部分領域以外の領域で計画経路を作成する。
また、自動運転車Aの車両制御システム1aだけでなく、他の自動運転車Bの車両制御システム1bも不進行領域計画を作成し、その不進行領域計画を送信する。
受信部32は、他の自動運転車Bの車両制御システム1bが同報送信した自動運転車Bの不進行領域計画および自動運転車Bの識別情報を受信する。
部分領域特定部34は、受信部32が受信した他の自動運転車Bの不進行領域計画が示す不進行領域内の領域であって、自動運転車Bの不進行領域として合意する部分領域を特定する。例えば、自動運転車Bの不進行領域計画が示す不進行領域内で、自動運転車Aの計画経路作成部3が自動運転車Aの計画経路を作成する。部分領域特定部34は、自動運転車Bの不進行領域計画が示す不進行領域のうち、その自動運転車Aの計画経路を包含する部分領域を特定する。特定された領域内に自動運転車Bが進行しなければ、自動運転車Aは自動運転車Bの影響を受けずに走行できる。
応答送信部33は、受信部32が受信した自動運転車Bの不進行領域計画に対する応答として、部分領域特定部34が特定した部分領域(自動運転車Bの不進行領域の部分領域)の情報を、ユニキャスト方式で自動運転車Bに送信する。
なお、応答受信部9が自動運転車Bから受信する応答は、自動運転車Bの部分領域特定部34bが自動運転車Aの不進行領域の部分領域に対して合意した場合における、その部分領域の情報である。
目標設定部7、計画経路作成部3、不進行領域計画作成部4、基準領域設定部5、送信部6(通信のためのハードウェアは除く。)、応答受信部9(通信のためのハードウェアは除く。)、走行制御部8、部分領域特定部34、受信部32(通信のためのハードウェアは除く。)および応答送信部33(通信のためのハードウェアは除く。)は、例えば、車両制御プログラムに従って動作するコンピュータによって実現される。このコンピュータは、自動運転車に備えられる。この場合、コンピュータは、そのコンピュータが備えるプログラム記憶装置等のプログラム記録媒体から車両制御プログラムを読み込み、車両制御プログラムに従って、目標設定部7、計画経路作成部3、不進行領域計画作成部4、基準領域設定部5、送信部6、応答受信部9、走行制御部8、部分領域特定部34、受信部32および応答送信部33として動作すればよい。なお、コンピュータには、通信のためのハードウェア(通信インタフェース)が接続されている。
次に、本発明の処理経過について説明する。図16は、不進行領域計画を作成する際の処理経過の例を示すフローチャートである。なお、車両制御システム1の個々の要素の動作については既に説明しているので、ここでは、動作の詳細な説明は省略する。また、図16に示すステップS1〜S7は繰り返し処理であり、直近に実行されたステップS7において、基準領域が設定されているものとして説明する。
計画経路作成部3は、計画経路の作成タイミングになったか否かを判定する(ステップS1)。計画経路の作成タイミングになっていなければ(ステップS1のNo)、計画経路作成部3は、計画経路の作成タイミングになるまで待機する。
計画経路の作成タイミングになったならば(ステップS1のYes)、計画経路作成部3は、計画経路を作成する(ステップS2)。
次に、不進行領域計画作成部4は、不進行領域計画の作成タイミングになったか否かを判定する(ステップS3)。不進行領域計画の作成タイミングになったならば(ステップS3のYes)、ステップS5に移行する。
不進行領域計画の作成タイミングになっていなければ(ステップS3のNo)、不進行領域計画作成部4は、ステップS2で作成された計画経路が、既に設定されている基準領域から外れているか否かを判定する(ステップS4)。計画経路が基準領域から外れているならば(ステップS4のYes)、ステップS5に移行する。また、計画経路が基準領域から外れていないならば(ステップS4のNo)、ステップS1に戻る。
ステップS3またはステップS4からステップS5に移行した場合、不進行領域計画作成部4は、不進行領域計画を作成する(ステップS5)。不進行領域計画作成部4は、直近のステップS2で作成された計画経路に基づいて不進行領域計画を作成してもよい。あるいは、不進行領域計画作成部4は、直近のステップS2で最終的な計画経路を定める過程で得られる複数の計画経路に基づいて不進行領域計画を作成してもよい。
次に、送信部6は、ステップS5で作成された不進行領域計画(時間帯毎の不進行領域)および自動運転車Aを含む情報を、周辺の自動運転車に同報送信する(ステップS6)。
次に、基準領域設定部5は、直近のステップS2で作成された計画経路に基づいて、基準領域を設定する(ステップS7)。ステップS7の後、ステップS1に戻る。
次に、車車間通信で不進行領域計画を送信する場合の処理経過の例について説明する。図17は、この場合の処理経過の例を示すシーケンス図である。以下の説明では、自動運転車A(車両制御システム1a)が自動運転車B(車両制御システム1b)に自動運転車Aの不進行領域計画を送信する場合を例にして説明する。自動運転車Bが自動運転車Aに自動運転車Bの不進行領域計画を送信する場合の処理経過も同様である。
なお、既に、車両制御システム1aの不進行領域計画作成部4は自動運転車Aの不進行領域計画を作成しているものとする。
自動運転車Aの送信部6aは、その不進行領域計画および自動運転車Aの識別情報を、周辺に存在する他の自動運転車に同報送信する(ステップS21)。
車両制御システム1bの受信部32bは、ステップS21で送信された自動運転車Aの不進行領域計画および自動運転車Aの識別情報を受信する。
車両制御システム1bの部分領域特定部34bは、その自動運転車Aの不進行領域計画が示す不進行領域内の領域であって、自動運転車Aの不進行領域として合意する部分領域を特定する(ステップS22)。
図18は、自動運転車Aの不進行領域計画が示す不進行領域の例を示す模式図である。図18では、自動運転車A,Bも模式的に図示している。領域41は、自動運転車Aの不進行領域である。また、領域42は、自動運転車Aの進行可能領域のうち、自動運転車Aの不進行領域41以外の領域である。
ステップS22において、車両制御システム1bの計画経路作成部3bは、自動運転車Aの不進行領域41内で、自動運転車Bの計画経路を作成する。部分領域特定部34bは、その自動運転車Bの計画経路を包含する部分領域(自動運転車Aの不進行領域41の部分領域)を特定する。
図19は、自動運転車Bの計画経路を包含する部分領域の例を示す模式図である。計画経路作成部3bが、自動運転車Bの計画経路47(図19参照)を作成したとする。部分領域特定部34bは、自動運転車Aの不進行領域41内の部分領域として、自動運転車Bの計画経路47を包含する部分領域を特定する。部分領域特定部34bは、例えば、不進行領域41内の部分領域として、自動運転車Bの計画経路47を包含する部分領域43(図19参照)を特定する。そして、部分領域特定部34bは、その部分領域43を、自動運転車Aの不進行領域として自動運転車Bが合意する部分領域とする。
ステップS22の後、車両制御システム1bの応答送信部33bは、ステップS22で特定された部分領域を示す情報を、不進行領域計画に対する応答として、自動運転車Aにユニキャスト方式で送信する(ステップS23)。
車両制御システム1aの応答受信部9aは、ステップS23で送信された、部分領域を示す情報を受信する。車両制御システム1aは、自動運転車Aの不進行領域計画を他の自動運転車Bに送信(提示)し、その不進行領域のうちの一部の領域(部分領域)について、自動運転車Aの不進行領域として、自動運転車Bの合意を受けたことになる。この結果、自動運転車Aには、その部分領域に進行しないという義務が生じる。図19に示す例では、車両制御システム1aは、自動運転車Aの不進行領域41を自動運転車Bに提示し、その部分領域43について、自動運転車Aの不進行領域として自動運転車Bの合意を得た。従って、応答受信部9aがその部分領域43を示す情報を受信した後、自動運転車Aには、部分領域43を進行しないという義務が生じる。一方、車両制御システム1aが自動運転車Bに提示した不進行領域41のうち、部分領域43以外の領域44(図19参照)については、自動運転車Bは、自動運転車Aの不進行領域として合意していない。従って、領域44に関しては、進行してはならないという義務(制限)は自動運転車Aに生じない。
応答受信部9aが部分領域43を示す情報を受信した後、計画経路作成部3aが自動運転車Aの計画経路を作成する場合、部分領域43以外の領域(図19に示す例では、領域42と領域44)で、計画経路を作成する(ステップS24)。
例えば、上記のように、応答受信部9aが部分領域43を示す情報を受信したとする。その後、自動運転車Aが計画経路を変更しなければならなくなったとする。図20は、自動運転車Aが計画経路を変更しなければならない状況の例を示す模式図である。図20では、自動運転車Aの計画経路上に落石48が生じ、車両制御システム1aがミッションおよび計画経路を変更しなければならなくなった状況を示している。ここで、自動運転車Aには、部分領域43を進行しないという制限が生じているので、目標設定部7は、部分領域43に入らずに落石48の領域を回避するというミッションを定める。そして、計画経路作成部3は、そのミッションに従って、部分領域43を通過しない新たな計画経路49を、部分領域43以外の領域に定める(図20参照)。走行制御部8aは、計画経路49に従って走行するように、自動運転車Aを制御する。この結果、自動運転車Aは、落石48の領域を回避して進行することができる。また、自動運転車Aは、部分領域43に入らないので、自動運転車Bに影響を与えずに、進行することができる。なお、ミッションと同様に計画経路の変更の起因となるイベントが発生してもよい。
第1の実施形態のように、自動運転車Aが、計画経路について他の自動運転車Bの合意を得た場合、その計画経路に従って進行しなければならない。そのため、自動運転車Aは、図20に例示する状況が生じた場合に、状況に対する対処が難しくなる。一方、第2の実施形態では、自動運転車Aは、自動運転車Bに提示した不進行領域のうち、自動運転車Bが合意した部分領域内に進行しなければよい。従って、第2の実施形態では、ミッションや計画経路の変更の自由度が大きく、突発的な状況に対処しやすいという効果が得られる。
また、第2の実施形態において、不進行領域計画はモーションプランニングの結果に該当する。従って、第2の実施形態の車両制御システム1は、第1の実施形態と同様に、ミッションそのものについて、他の自動運転車の合意を受けるわけではない。第2の実施形態の車両制御システム1は、モーションプランニングの結果(不進行領域計画)を他の自動運転車Bに提示し、不進行領域として合意を受けた領域に入らないように自車両を走行させる。従って、第1の実施形態と同様に、スムーズな交通の流れを実現することができる。
さらに、第2の実施形態では、ミッションや計画経路の変更の自由度が大きく、突発的な状況に対処しやすい。この点については、既に説明したので、ここでは説明を省略する。
なお、第2の実施形態において、自動運転車Aの不進行領域計画を受信した自動運転車Bの部分領域特定部34が、自動運転車Aの不進行領域全体について合意しない場合があってもよい。その場合、車両制御システム1a,1bが自動運転車Aの不進行領域について自動交渉を行えばよい。ただし、この場合における自動交渉の動作は、特に限定されない。また、この場合における自動交渉の動作は、本発明のスコープ外である。
図21は、本発明の各実施形態の車両制御システム1を実現するコンピュータ、およびそのコンピュータを備える自動運転車内の要素の例を示す模式図である。本発明の各実施形態の車両制御システム1は、コンピュータ50によって実現される。コンピュータ50は、記憶装置52と、プロセッサ51とを備える。本発明の車両制御システム1の動作は、プログラムの形式で記憶装置52に記憶されている。プロセッサ51は、記憶装置52からそのプログラムを読み込み、そのプログラムに従って、車両制御システム1として動作する。
また、自動運転車は、通信インタフェース61を備えている。通信インタフェース61は、コンピュータ50に接続されており、プロセッサ51は、通信インタフェース61を介して、車車間通信を行う。
また、プロセッサ51は、計画経路に従って自動運転車を走行させるように自動運転車を制御する。例えば、プロセッサ51は、アクセル53を制御するための制御情報を、アクセル53に対応するEPU(Electronic Control Unit )56に出力し、EPU56を介してアクセル53を制御する。同様に、プロセッサ51は、ブレーキ54を制御するための制御情報を、ブレーキ54に対応するEPU57に出力し、EPU57を介してブレーキ54を制御する。同様に、プロセッサ51は、ステアリング55を制御するための制御情報を、ステアリング55に対応するEPU58に出力し、EPU58を介してステアリング55を制御する。図21では、アクセル53、ブレーキ54およびステアリング55を例示したが、プロセッサ51は、自動運転車内の他の要素についても同様に制御する。
また、図1や図5に示す構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
次に、本発明の概要について説明する。図22は、本発明の概要を示すブロック図である。本発明の車両制御システム1は、自動運転車10に設けられる。また、車両制御システム1は、目標設定部7と、計画経路作成部3と、走行制御部8と、送信部6と、応答受信部9とを備える。
目標設定部7は、自動運転車10の目標とする状態を定める。
計画経路作成部3は、目標とする状態を実現するための自動運転車10の計画経路を作成する。
走行制御部8は、計画経路に従って自動運転車10を走行させるように自動運転車10を制御する。
送信部6は、計画経路を他車両に送信する。
応答受信部9は、他車両から、計画経路に対する応答として、計画経路に合意する旨または計画経路に合意しない旨の通知を受信する。
走行制御部8は、応答受信部9が計画経路に合意する旨の通知を受信した場合に、計画経路に従って自動運転車10を走行させるように自動運転車10を制御する。
そのような構成によって、スムーズな交通の流れを実現することができる。
また、計画経路作成部3が、応答受信部9が計画経路に合意しない旨の通知を受信した場合に、計画経路を再度作成する構成であってもよい。
また、他車両が作成した計画経路を受信する受信部(例えば、受信部32)と、他車両の計画経路に合意するか否かを判定する判定部(例えば、判定部31)と、判定部の判定結果に応じて、他車両の計画経路に対する応答として、他車両の計画経路に合意する旨または他車両の計画経路に合意しない旨の通知を他車両に送信する応答送信部(例えば、応答送信部33)とを備え、判定部が、他車両の計画経路と、計画経路作成部が作成した計画経路とに基づいて、他車両の計画経路に合意するか否かを判定する構成であってもよい。
図23は、本発明の概要の他の例を示すブロック図である。本発明の車両制御システム1は、自動運転車10に設けられる。また、車両制御システム1は、計画経路作成部3と、不進行領域計画作成部4と、送信部6と、応答受信部9とを備える。
計画経路作成部3は、自動運転車10の計画経路を作成する。
不進行領域計画作成部4は、自動運転車10が進行可能な領域であり、かつ、自動運転車10が進行しない領域として定めた領域である不進行領域の計画を作成する。
送信部6は、不進行領域の計画を他車両に送信する。
応答受信部9は、他車両から、不進行領域内の領域であって自動運転車10の不進行領域として他車両が合意した部分領域の情報を受信する。
計画経路作成部3は、部分領域の情報を受信した後に計画経路を再度作成する際に、部分領域以外の領域で計画経路を作成する。
そのような構成によって、スムーズな交通の流れを実現することができる。
また、他車両が作成した不進行領域の計画を受信する受信部(例えば、受信部32)と、他車両の不進行領域内の領域であって他車両の不進行領域として合意する部分領域を特定する部分領域特定部(例えば、部分領域特定部34)と、部分領域の情報を他車両に送信する応答送信部(例えば、応答送信部33)とを備える構成であってもよい。
また、不進行領域計画作成部4が、計画経路、または、計画経路を作成する過程で得られる複数の計画経路に基づいて、不進行領域の計画を作成する構成であってもよい。
また、本発明は、無人航空機に適用されてもよい。本発明を無人航空機に適用した場合には、無人航空機同士が空域を送受信する。
産業上の利用の可能性
本発明は、自動運転車に搭載される車両制御システムに好適に適用される。