(58)【調査した分野】(Int.Cl.,DB名)
移動装置の外部の環境情報、または前記移動装置の状態に基づいた第1の処理により決定された、前記移動装置の第1の動作と、前記第1の処理とは異なる第2の処理により決定された第2の動作とのいずれかを優先して前記移動装置の動作として決定し、または、前記第1の動作、および前記第2の動作のいずれでもない第3の動作を前記移動装置の動作として決定する動作制御部を備え、
前記移動装置の動作の決定は、前記第1の動作と前記第2の動作とが競合するときに実行されるものであって、
前記移動装置の動作として、前記第1の動作乃至前記第3の動作のいずれかを決定する決定方法は、
前記第1の動作および前記第2の動作のいずれかを優先して前記移動装置の動作として決定する第1の決定方法と、
前記第1の動作および前記第2の動作のうち、動作を決定する処理が先に完了した動作を優先して前記移動装置の動作として決定する、または、後に完了した動作を優先して前記移動装置の動作として決定する第2の決定方法と、
前記第1の動作および前記第2の動作の優先度、または前記環境情報の信頼度の高い方を優先して前記移動装置の動作として決定する第3の決定方法と、
前記第1の動作および前記第2の動作のうち、多数決で優先されるものを前記移動装置の動作として決定する第4の決定方法と、
前記第1の動作および前記第2の動作の相互の処理により求められた結果を参考値として使用して、双方で再計算を行うことにより双方の動作を一致させるか、または、既定の繰り返し回数に達するまで、双方で再計算を行うことにより双方の動作を一致させるかのいずれかにより、一致した動作を前記移動装置の動作として決定する第5の決定方法と、
前記第1の動作および前記第2の動作の両者の動作を利用した重付平均となる動作、前記第1の動作および前記第2の動作のどちらも出さず動作を停止させる、現状の動作を継続させる、または前記移動装置の運転者を介入させる、のいずれかからなる前記第3の動作を、前記移動装置の動作として決定する第6の決定方法と
の少なくともいずれか1つの決定方法を含み、
前記動作制御部は、前記第1の動作と前記第2の動作とが競合するときに、前記移動装置の運転者により設定された、前記第1の動作および前記第2の動作が決定される際に利用されるパラメータが用いられて決定された前記第1の動作および前記第2の動作に基づいて、前記移動装置の動作を制御する
情報処理装置。
前記動作制御部は、前記第1の動作および前記第2の動作が決定される際に利用されるパラメータを設定する操作可能なインタフェース画像を表示し、前記移動装置の運転者により操作された前記インタフェース画像に応じた、前記パラメータが用いられて決定された前記第1の動作および前記第2の動作に基づいて、前記移動装置の動作を制御する
請求項1に記載の情報処理装置。
前記動作制御部は、前記移動装置の前記第1の動作の前記2つの動作の組み合わせと、前記第2の動作の前記2つの動作の組み合わせとが、対局する第1の競合状態であるか、または、相互に相反する第2の競合状態であるのかを判定し、判定結果に基づいて、前記第6の決定方法により、前記移動装置の動作を決定する
請求項10に記載の情報処理装置。
前記第1の動作および前記第2の動作の2つの動作のうちの一方の動作は、第1のマージンにより決定され、前記2つの動作のうちの他方の動作は、前記第1のマージンよりも小さな第2のマージンにより決定される
請求項10に記載の情報処理装置。
移動装置の外部の環境情報、または前記移動装置の状態に基づいた第1の処理により決定された、前記移動装置の第1の動作と、前記第1の処理とは異なる第2の処理により決定された第2の動作とのいずれかを優先して前記移動装置の動作として決定し、または、前記第1の動作、および前記第2の動作のいずれでもない第3の動作を前記移動装置の動作として決定するステップを含み、
前記移動装置の動作の決定は、前記第1の動作と前記第2の動作とが競合するときに実行されるものであって、
前記移動装置の動作として、前記第1の動作乃至前記第3の動作のいずれかを決定する決定方法は、
前記第1の動作および前記第2の動作のいずれかを優先して前記移動装置の動作として決定する第1の決定方法と、
前記第1の動作および前記第2の動作のうち、動作を決定する処理が先に完了した動作を優先して前記移動装置の動作として決定する、または、後に完了した動作を優先して前記移動装置の動作として決定する第2の決定方法と、
前記第1の動作および前記第2の動作の優先度、または前記環境情報の信頼度の高い方を優先して前記移動装置の動作として決定する第3の決定方法と、
前記第1の動作および前記第2の動作のうち、多数決で優先されるものを前記移動装置の動作として決定する第4の決定方法と、
前記第1の動作および前記第2の動作の相互の処理により求められた結果を参考値として使用して、双方で再計算を行うことにより双方の動作を一致させるか、または、既定の繰り返し回数に達するまで、双方で再計算を行うことにより双方の動作を一致させるかのいずれかにより、一致した動作を前記移動装置の動作として決定する第5の決定方法と、
前記第1の動作および前記第2の動作の両者の動作を利用した重付平均となる動作、前記第1の動作および前記第2の動作のどちらも出さず動作を停止させる、現状の動作を継続させる、または前記移動装置の運転者の介入させる、のいずれかからなる前記第3の動作を、前記移動装置の動作として決定する第6の決定方法と
の少なくともいずれか1つの決定方法を含み、
前記第1の動作と前記第2の動作とが競合するときに、前記移動装置の運転者により設定された、前記第1の動作および前記第2の動作が決定される際に利用されるパラメータが用いられて決定された前記第1の動作および前記第2の動作に基づいて、前記移動装置の動作が制御される
情報処理方法。
移動装置の外部の環境情報、または前記移動装置の状態に基づいた第1の処理により決定された、前記移動装置の第1の動作と、前記第1の処理とは異なる第2の処理により決定された第2の動作とのいずれかを優先して前記移動装置の動作として決定し、または、前記第1の動作、および前記第2の動作のいずれでもない第3の動作を前記移動装置の動作として決定する動作制御部としてコンピュータを機能させるプログラムであって、
前記移動装置の動作の決定は、前記第1の動作と前記第2の動作とが競合するときに実行されるものであって、
前記移動装置の動作として、前記第1の動作乃至前記第3の動作のいずれかを決定する決定方法は、
前記第1の動作および前記第2の動作のいずれかを優先して前記移動装置の動作として決定する第1の決定方法と、
前記第1の動作および前記第2の動作のうち、動作を決定する処理が先に完了した動作を優先して前記移動装置の動作として決定する、または、後に完了した動作を優先して前記移動装置の動作として決定する第2の決定方法と、
前記第1の動作および前記第2の動作の優先度、または前記環境情報の信頼度の高い方を優先して前記移動装置の動作として決定する第3の決定方法と、
前記第1の動作および前記第2の動作のうち、多数決で優先されるものを前記移動装置の動作として決定する第4の決定方法と、
前記第1の動作および前記第2の動作の相互の処理により求められた結果を参考値として使用して、双方で再計算を行うことにより双方の動作を一致させるか、または、既定の繰り返し回数に達するまで、双方で再計算を行うことにより双方の動作を一致させるかのいずれかにより、一致した動作を前記移動装置の動作として決定する第5の決定方法と、
前記第1の動作および前記第2の動作の両者の動作を利用した重付平均となる動作、前記第1の動作および前記第2の動作のどちらも出さず動作を停止させる、現状の動作を継続させる、または前記移動装置の運転者の介入させる、のいずれかからなる前記第3の動作を、前記移動装置の動作として決定する第6の決定方法と
の少なくともいずれか1つの決定方法を含み、
前記動作制御部は、前記第1の動作と前記第2の動作とが競合するときに、前記移動装置の運転者により設定された、前記第1の動作および前記第2の動作が決定される際に利用されるパラメータが用いられて決定された前記第1の動作および前記第2の動作に基づいて、前記移動装置の動作を制御する
プログラム。
【発明を実施するための最良の形態】
【0023】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0024】
また、以下の順序で説明を行う。
1.本開示の実施の形態
2.第1の変形例
3.第2の変形例
4.第1の応用例
5.第2の応用例
【0025】
<<1.本開示の実施の形態>>
<運転制御装置の構成例>
図1は、本開示を適用した自動車の運転制御装置の一実施の形態の構成例を示すブロック図である。
【0026】
図1の運転制御装置は、自動車に搭載され、自動車の運転を制御する装置である。尚、
図1の運転制御装置は、自動車の運転を制御する装置であることを例にして説明するものであるが、自動車以外の航空機や船舶など、運転者(操縦者を含む)が運転(操縦)することで動作する乗物等であれば、その他のものにおいても適用することができるものである。
【0027】
図1の運転制御装置11は、自動車の運転を制御するものであるが、運転モードが2種類あり、第1のモードは、運転者がステアリングやブレーキを操作して自動車を運転させる手動運転モードであり、第2のモードは、運転者が運転操作に介入することなく、自動車を自動的に運転させる自動運転モードである。
【0028】
この運転モードは、ユーザにより選択的に設定することが可能であり、運転制御装置11は、設定された運転モードで自動車の運転を制御する。
【0029】
より詳細には、手動運転モードの場合、運転制御装置11は、運転者の操作部31の操作内容、例えば、ステアリング、およびブレーキを操作する際の操作内容(舵角、踏力など)と、外界12や自動車の車体の挙動に連動する各種センサからなる検出部34の検出結果に基づいて、運転者毎の運転の癖や習慣などが反映された個人化関数を学習により生成して運転が終了した際に更新する。
【0030】
一方、自動運転モードの場合、運転制御装置11は、外界12や自動車の車体を動作させる複数の機器からなる車体動作部33を制御し、外界12や自動車の車体の挙動に連動する各種センサからなる検出部34の検出結果を取得し、取得した検出結果に基づいて、自動運転を実現させるために、車体動作部33を構成する各機器の動作を決定する。
【0031】
さらに、運転制御装置11は、自動運転モードにおいて、各種センサからなる検出部34の検出結果に基づいて、車体動作部33を構成する各機器の動作を決定すると、学習により得られた個人化関数により運転動作に補正を加えて、車体動作部33を構成する各種の機器を動作させることにより、運転者の癖や習慣に対応した自動運転を実現する。
【0032】
より詳細には、自動運転モードの場合、運転制御装置11は、検出部34の検出結果に基づいて、熟考動作と反射動作との2種類の動作を求め、求められた2種類の動作に基づいて、最終的な自動運転の動作を決定する。
【0033】
ここで、熟考動作とは、検出部34の検出結果を利用して、詳細な処理により、比較的処理時間が掛かるものの、十分に高い精度で決定される動作である。熟考動作は、ごく短時間での動作が必要とされない場合に用いられる。
【0034】
また、反射動作とは、検出部34の検出結果を利用するが、熟考動作を決定するための処理よりも比較的簡易な処理により、処理時間が掛からず、高速に決定される動作である。反射動作は、主に、ごく短時間での動作が必要な場合に用いられる。
【0035】
運転制御装置11は、この熟考動作と反射動作とを利用して、自動運転を実現させるための車体動作部33を構成する各種の機器の動作内容を決定する。
【0036】
より詳細には、運転制御装置11は、自動運転制御ブロック21、個人化ブロック22、操作部31、手動運転制御部32、車体動作部33、検出部34、および表示部35を備えている。
【0037】
自動運転制御ブロック21は、検出部34により検出される各種の検出結果と、個人化関数とにより、自動運転モードにおける車体動作部33を構成する各種の機器の動作を制御する。
【0038】
これに対して、手動運転制御部32は、ステアリングやブレーキといった運転者が車体を動作させるための各機器を操作するときの操作信号に応じて、手動運転モードにおける車体動作部33を構成する各種の機器の動作を制御する。
【0039】
個人化ブロック22は、手動運転モードにおける運転者により操作される操作部31の操作内容と、車体動作部33を構成する各種の構成機器の動作に応じて検出される検出部34の検出結果とから、運転者の個人化関数を学習により求めて、自動運転モードの際に供給する。個人化関数は、運転者の運転動作における個人的な癖や習慣を反映させるものである。したがって、自動運転モードにおいて決定される車体動作部33を構成する各種機器の動作が、個人化関数が利用されて補正されることにより、自動運転モードにおける運転動作を、運転者毎の癖や習慣を反映させてカスタマイズさせることが可能となり、自動運転における快適さを向上させることが可能となる。
【0040】
操作部31は、ステアリング、ブレーキペダル、およびアクセルペダルといった運転に係る各種の操作装置に加えて、その他、ウィンカー、ワイパー、ウィンドウォッシャ、ホーン、ライト、インストルメントパネル等、運転制御装置11が搭載される自動車の車体を構成する各種機器の操作に係る操作装置、並びに、手動運転モード、および自動運転モードを切り替える操作装置等、ユーザたる運転者が自動車内で操作することができるもののほぼ全ての操作に応じた操作信号を発生し、個人化ブロック22、および手動運転制御部32に供給する。
【0041】
手動運転制御部32は、操作部31より供給されてくる操作信号に基づいて、車体動作部33に、各種の動作を指示するコマンドを供給し、車体動作部33を構成する自動車の車体を動作させる各種の機器を動作させる。
【0042】
車体動作部33は、自動車の車体を動作させる具体的な機器群からなるものであり、例えば、操舵輪、ブレーキ、およびエンジンなどの自動車の車体を動作させる各種の機器群である。
【0043】
検出部34は、運転制御装置11が搭載される自動車の車体の動作に係る各種の状態を検出するセンサ群であり、例えば、自動車の位置を検出するGPS(Global Positioning System)、操舵輪の舵角、速度、3次元加速度センサ、ヨー・ロール・ピッチセンサ、カメラ(イメージセンサ)(ステレオカメラセンサ等含む)、雨滴検出センサ、濃霧センサ、照度センサ、気圧センサ、タイヤ気圧センサ、ミリ波レーダ(ミリ波センサ)、赤外線センサ、ビーコンセンサ、並びに、各種機器の温度および圧力センサ等などからなり、検出結果を自動運転制御ブロック21、および個人化ブロック22に供給する。
【0044】
表示部35は、例えば、インストルメントパネルに設けられるLCD(Liquid Crystal Display)などからなる表示装置であり、現在の運転モードが自動運転モード、および手動運転モードのいずれであるか、または、自動運転モードや手動運転モードにおける各種の情報を表示する。表示部35は、操作部31と一体化した構造として、例えば、タッチパネルとして機能するようにしてもよく、このような構成とすることで、例えば、自動運転モード、および手動運転モードを切り替えるための操作ボタンなどを表示させて、タッチ操作により入力を受け付けて切り替えられるようにしてもよい。
【0045】
自動運転制御ブロック21は、自動運転モードにおける自動車の車体動作部33の各種の機器の動作を決定するブロックである。より詳細には、自動運転制御ブロック21は、反射動作決定部51、熟考動作決定部52、自動運転制御部53、および個人化関数記憶部54より構成されている。
【0046】
反射動作決定部51は、検出部34の検出結果に基づいて、後述する熟考動作決定部52における処理と比較して、簡易な処理により自動運転モードにおける車体動作部33を構成する各種の機器の動作を決定し、決定した動作に対応するコマンドを自動運転制御部53に供給する。
【0047】
反射動作決定部51は、例えば、ミリ波レーダ等により前方の自動車との距離が所定の距離よりも短く、かつ、所定の速度より高速であるような場合、衝突の恐れがあるものと判断し、緊急回避行動をとるためのステアリング操作や、自動ブレーキ等、いわゆるプリクラッシュセーフティ装置を動作させるための動作などを決定する。そして、反射動作決定部51は、運転者毎に運転者の運転の癖や習慣が反映されて設定されている個人化関数を個人化関数記憶部54より読み出して、反射動作に対応するコマンドに、運転者の嗜好を反映した補正を加えて自動運転制御部53に供給する。
【0048】
すなわち、反射動作は、極短時間で判断される必要のある、緊急性の高い動作を多く含むものである。このため、反射動作は、検出結果に対して、ある程度、予め決められた動作を多く含むようにしてもよく、このようにすることで、より極短時間での反応が可能な動作を決定することが可能となる。以降においては、この反射動作決定部51により決定される動作を、単に、反射動作と称するものとする。
【0049】
熟考動作決定部52は、検出部34の検出結果に基づいて、反射動作決定部51における処理と比較して、詳細な処理を行って自動運転モードにおける車体動作部33を構成する各種の機器の動作を決定し、対応するコマンドを自動運転制御部53に供給する。そして、熟考動作決定部52は、運転者毎に運転者の運転の癖や習慣が反映されて設定されている個人化関数を個人化関数記憶部54より読み出して、熟考動作に対応するコマンドに、運転者の嗜好を反映した補正を加えて自動運転制御部53に供給する。
【0050】
このように運転者の嗜好が反射動作、および熟考動作のそれぞれに反映されることにより、運転者毎に自動運転モードにおける快適性を向上させることが可能となる。
【0051】
熟考動作決定部52は、例えば、狭い道路で対向車とすれ違う際のステアリング操作を制御する動作を決定するものであり、対向車と自車との時々刻々と変わる車間距離や、複数回数のステアリング操作に応じた車体の動きを推定し、推定結果に応じた動作などの比較的処理に時間が掛かる動作を決定する。以降においては、この熟考動作決定部52により決定される動作を、単に、熟考動作と称するものとする。
【0052】
自動運転制御部53は、反射動作決定部51より供給されてくる反射動作のコマンドと、熟考動作決定部52により決定される熟考動作のコマンドとに基づいて、自動運転モードにおける車体動作部33の動作を決定し、対応するコマンドを車体動作部33に供給する。
【0053】
反射動作決定部51は、一般に、熟考動作決定部52において熟考動作を決定するまでの処理時間よりも、より短時間で反射動作を決定することができる。ただし、検出部34から得られる検出結果の条件に応じて、熟考動作が決定されるまでの処理時間の方が、反射動作が決定されるまでの処理時間よりも短いこともあり、また、略同時であることもある。
【0054】
さらに、自動運転制御部53は、反射動作と熟考動作とに基づいて、一般的には、相互の処理結果が一致していることを前提として、動作を決定し、対応する動作信号を車体動作部33に供給する。
【0055】
しかしながら、反射動作と熟考動作とは、検出結果に応じて、競合することがあるため、以下のような複数の解決モードのうち、設定された解決モードにより自動運転の動作を決定する。
【0056】
すなわち、解決モードには、熟考動作または反射動作のいずれかを優先する第1の解決モード、先着優先、または、後着置き換える第2の解決モード、優先度または確信度の高い方を優先する第3の解決モード、両者の動作を利用した重付平均とするか、または多数決とする第4の解決モード、双方が反対している事実を入力に加えて、双方で再計算する第5の解決モード、コマンド自体の優先度を優先する第6の解決モード、並びに、どちらも出さず停止させるか、現状を継続させる第7の解決モードの7種類がある。さらに、運転者の判断を介入させることで解決を図る第8の解決モードを含めて8種類の解決モードがある。尚、ここで挙げられた8種類の解決モードは、一例に過ぎず、さらに、その他の解決モードを設定するようにしてもよい。
【0057】
上述した8種類の解決モードのうち、いずれの解決モードにより競合を解決するのかについては、操作部31により予め設定することが可能である。したがって、自動運転制御部53は、解決モードの設定内容を記憶し、記憶されている解決モードにしたがって、熟考動作、および反射動作を利用して自動運転モードにおける車体動作部33の動作を決定し、車体動作部33に供給する。
【0058】
熟考動作決定部52は、環境認識部71、ローカルマップ処理部72、グローバルマップ処理部73、経路計画部74、および行動計画部75を備えている。
【0059】
環境認識部71は、自車の環境を認識し、認識結果としての環境情報を生成し、ローカルマップ処理部72に供給する。ここでいう自車の環境情報とは、ローカルマップ処理部72およびグローバルマップ処理部73において必要とされる情報であり、例えば、地球上の位置(地図上で経路として設定されたルート上の位置)を示すGPS情報や、走行している道路上での車線、路面状況などを認識するためのイメージセンサなどにより撮像された画像などである。また、環境情報は、自車の走行速度、天候、交通情報等を含むビーコン情報といった周囲の環境情報や渋滞情報等をも含む。
【0060】
ローカルマップ処理部72は、検出結果に基づいて抽出された環境情報より、走行中の道路上の車線の位置、走行速度、詳細な道路の形状、標識、信号等などの、ローカルマップに基づいた車体周辺であって狭域の情報をローカル情報として抽出し、行動計画部75に供給する。また、ローカルマップ処理部72は、環境情報をグローバルマップ処理部73に供給する。
【0061】
グローバルマップ処理部73は、出発地から目的地までのルート上における渋滞状況や事故情報、並びに渋滞予測といった交通情報など、環境情報に含まれる、ビーコン情報やGPS情報などのグローバルマップに基づいた車体周辺であって広域の情報をグローバル情報として抽出し、経路計画部74に供給する。
【0062】
すなわち、ローカル情報は、ローカルマップ(車体から比較的近距離の範囲の地図情報)に基づいた自動車の車体周辺に関する比較的狭い範囲の情報である。これに対して、グローバル情報は、グローバルマップ(車体から比較的遠距離の範囲の地図情報)に基づいた自動車の車体周辺であって、これから走行するルート上に関する比較的広い範囲の情報である。
【0063】
経路計画部74は、グローバルマップ処理部73より供給されてくるグローバル情報に基づいて、自車の走行経路を計画し、経路計画情報として行動計画部75に供給する。
【0064】
行動計画部75は、ローカル情報と経路計画情報とに基づいて、車体動作部33を動作させるための行動を計画し、熟考動作として対応するコマンドを自動運転制御部53に供給する。より具体的には、行動計画部75は、例えば、ローカル情報である、詳細な道の形状、走行中の車線の情報と、グローバル情報により求められた経路の情報に基づいて、次に、右折する、または、左折するといった経路と、現在の走行車線との関係から車線を変更させる必要がある場合、車線を変更させるために必要なステアリングの舵角、ブレーキタイミング、アクセル開度等を熟考動作として決定し、対応するコマンドを自動運転制御部53に供給する。
【0065】
個人化ブロック22は、個人化関数学習部91、学習結果記憶部82、学習結果検証部93、検証結果判定部94、および個人化関数更新部95を備えている。
【0066】
個人化関数学習部91は、手動運転モードにおける、操作部31より供給されてくる操作信号、および検出部34より供給されてくる各種の検出結果に基づいて、運転者毎の個人化関数を学習により求めて、学習結果記憶部92に記憶させる。すなわち、個人化関数学習部91は、運転者が、手動運転モードで操作部31を実際に操作して運転する際の操作信号と、その際の検出部34の検出結果に基づいて、運転者の運転に係る癖や習慣などを反映した個人化関数を学習により求めるものである。したがって、手動運転モードによる運転時間の長さに応じて、学習時間が長くなることにより、個人化関数は、各運転者の癖や習慣を強く反映させるものとすることができる。
【0067】
また、個人化関数学習部91は、同一の運転者に対して複数の個人化関数を設定するようにしてもよい。すなわち、運転者の運転動作は、常に一定ではなく、体調や精神状態などにより変化するものである。
【0068】
このため、求められる個人化関数を運転者の気分毎に、同一運転者に対して複数の運転モード毎の個人化関数として設定することができる。
【0069】
例えば、ブレーキやアクセルの操作がゆったり目の操作信号から求められる「ゆったり安全」といった運転をするときの個人化関数を第1のモードとすることができる。また、ブレーキ操作が短距離で停止させるような操作信号や、アクセルのオンオフが激しく繰り返されるような操作信号から求められる「キビキビ行動」といった運転をするときの個人化関数を第2のモードとすることができる。そして、この「ゆったり安全」と「キビキビ行動」のそれぞれのパラメータの平均値や重付平均値などから得られる第3の個人化関数を第3のモードとすることができる。
【0070】
このように同一の運転者に対しても複数の個人化関数を、手動運転モードにおける運転者の気分に合わせて設定することで、運転者のその時の気分に応じて自動運転の動作を切り替えることが可能となり、より快適な自動運転を実現することが可能となる。尚、この個人化関数における運転者毎の気分に応じたモードをユーザモードと称するものとする。したがって、個人化関数は、手動運転モードにおいて、運転者毎に、かつ、ユーザモード毎に学習させることが可能であり、自動運転モードにおいても、運転者毎に、かつ、ユーザモード毎に、対応する補正を加えることが可能となる。
【0071】
学習結果検証部93は、運転が終了したときなどに、学習結果記憶部92に記憶されている学習結果である個人化関数を読み出し、インターネットに代表されるネットワークを介して外部の検証装置13に供給し、個人化関数の検証を要求し、検証結果を取得する。
【0072】
検証装置13は、例えば、クラウドコンピューティングにより実現される装置であり、運転制御装置11より個人化関数の検証の依頼があるとき、個人化関数を取得して、シミュレーションにより仮想的に個人化関数を用いた自動運転を実現することで、安全性を検証し、検証結果を運転制御装置11に供給する。より詳細には、検証装置13は、仮想的に自動運転制御部53が決定するコマンドに個人化関数による補正を加えて、車体動作部33を動作させた場合のシミュレーションを所定時間だけ繰り返すことで、個人化関数を利用した時の自動運転を再現して、このときの走行情報を検証結果として記録し、運転制御装置11に供給する。尚、検証装置13の詳細な構成については、
図15を参照して後述する。
【0073】
検証結果判定部94は、個人化関数を用いたシミュレーション結果である検証結果を検証装置13より取得すると、例えば、シミュレーション中に、想定した危機回避行動などが十分にとれており、事故等が発生していないか等により、個人化関数の安全が保障されたものであるか否かを検証する。そして、検証結果判定部94は、検証装置13の検証結果を判定し、判定結果を個人化関数更新部95に供給する。
【0074】
個人化関数更新部95は、検証結果に対する判定結果が、個人化関数による補正をコマンドに施しても事故等が発生することのない安全なものであるとみなされるとき、学習結果記憶部92に記憶されている、検証装置13により安全が保障された個人化関数を読み出して、個人化関数記憶部54に記憶されている個人化関数を更新する。
【0075】
このような一連の処理により、ユーザの嗜好を反映させて、かつ、安全性を確保した個人化関数により、車体動作部33に対する各種のコマンドを補正して、自動運転モードにおける運転制御処理を実現させることができる。結果として、自動運転モードにおいて、安全で、かつ、快適な自動運転を実現することが可能となる。尚、検証装置13に供給した個人化関数が、検証結果に問題があった場合、検証装置13より、さらに、問題が発生した場合のデータの供給を受けて、個人化関数学習部91にフィードバックさせて、再学習に利用させるようにしてもよい。
【0076】
<運転制御処理>
次に、
図2のフローチャートを参照して、
図1の運転制御装置11における運転制御処理について説明する。尚、通常、運転モードは、自動運転モード、または、手動運転モードのいずれかに設定されているが、ここでは、デフォルトで手動運転モードが設定されているものとし、運転が開始された後、自動運転モードにも切り替えられるものとする。また、デフォルトの運転モードは、自動運転モード、および、手動運転モードのいずれであってもよく、自由に設定できるようにしてもよい。
【0077】
ステップS11において、手動運転制御部32は、操作部31が操作されて、運転が開始されたか否かを判定し、開始されるまで、同様の処理を繰り返す。すなわち、この場合、例えば、エンジンを始動させたり、運転動作を可能とさせるためのスタートボタンなどからなる操作部31が操作されたか否かに基づいて、運転が開始されたか否かが判定されるようにしてもよい。ステップS11において、運転が開始されたと判定された場合、処理は、ステップS12に進む。
【0078】
ステップS12において、手動運転制御部32は、運転者を認証する。例えば、手動運転制御部32は、
図3の左部で示されるような運転者を特定する情報の入力を促すような表示画像を表示部35に表示し、操作入力を受け付けて受け付けた操作内容に応じて運転者を特定する。
【0079】
尚、
図3の左部においては、表示部35が、操作部31と一体となったタッチパネルであることを想定したときに表示される表示画像の例が示されており、最上段に「運転者の確認」と表示され、その下に左から、操作ボタン101−1乃至101−3が表示されており、それぞれ対応する位置に、予め登録されている運転者の名前として「太郎」、「花子」、および「次郎」がそれぞれ表示されている。そして、
図3の左部においては、操作ボタン101−3が操作されて、「次郎」が選択されていることを示すコラム102が表示されている。したがって、この場合、手動運転制御部32は、運転者が「次郎」であることを認識する。また、新たなユーザである場合については、別途、登録画像を表示して、登録を促すようにしてもよい。
【0080】
また、運転者の特定は、車内を撮像するカメラなどにより顔画像認証で実現するようにしてもよいし、指紋認証、掌認証、静脈認証、網膜認証、および声紋認証など、運転者が特定可能であれば、他の認証方法であってもよいものである。
【0081】
ステップS13において、手動運転制御部32は、ユーザモードを設定する。すなわち、例えば、手動運転制御部32は、
図3の右部で示されるような運転者の気分に応じて設定された個人化関数のモードであるユーザモードを表示し、いずれかの選択を促す画像を表示し、操作入力を受け付けて受け付けた操作内容に応じてユーザモードを特定する。
【0082】
すなわち、
図3の右部においては、最上段に「次郎さんの今日の運転」と表示され、その下に、選択可能なユーザモードが表示されており、左からボタン105−1乃至105−3が表示され、対応する位置にそれぞれの対応するユーザモードとして、「ゆったり安全」、「バランス」、および「キビキビ行動」が表示されている。そして、
図3の右部においては、ボタン105−3が操作されて、「キビキビ行動」が選択されていることを示すコラム106が表示されている。このような場合、手動運転制御部32は、ユーザモードが「キビキビ行動」であることを認識する。
【0083】
尚、ユーザモードについても、タッチパネル以外の手段により設定するようにしてもよく、例えば、音声入力などで設定するようにしてもよいし、物理的なボタンやスイッチで選択できるようにしてもよい。また、新規のユーザモードを設定できるようにしてもよく、この場合、新規のユーザモードの登録を促す画像を表示するようにしてもよい。
【0084】
ステップS14において、手動運転制御部32は、自動運転モードにおいて、熟考動作と反射動作とが競合した際に、競合を解決するための解決モードの設定を促す画像を表示し、設定された解決モードを自動運転制御部53に記憶させる。
【0085】
すなわち、熟考動作または反射動作のいずれかを優先する第1の解決モード、先着優先、または、後着置き換える第2の解決モード、優先度または確信度の高い方を優先する第3の第1の解決モード、両者の重付平均とするか、または多数決とする第4の解決モード、双方が反対している事実を入力に加えて、双方で再計算する第5の解決モード、コマンド自体の優先度を優先する第6の解決モード、並びに、どちらも出さず停止させるか、現状を継続させる第7の解決モード、または、運転者の介入を受け付けて解決させる第8のモードの8種類の解決モードのいずれとするか、並びに、各解決モードのうち選択肢があれば、そのいずれとするかが設定される。
【0086】
この処理は、具体的には、例えば、
図3の右部と同様に、第1の解決モード乃至第8の解決モードのいずれか、並びに、各解決モードで、さらに、選択肢が存在する解決モードについては、そのいずれとするかを選択する選択ボタンを設けた画像が表示されるようにして、いずれか押下された解決モードが設定されるようにしてもよい。また、物理的に常に解決モードを選択できる選択ボタンを操作部31に設けるようにしてもよいし、常に、いずれかの解決モードに固定的に設定されるようにしてもよい。
【0087】
選択肢が存在する解決モードとは、例えば、第1の解決モードである。すなわち、第1の解決モードは、熟考動作または反射動作のいずれかを優先するモードであるので、熟考動作、または、反射動作のいずれか優先すべき項目が選択肢とされることになる。このため、第1の解決モードが選択される場合については、併せて、熟考動作、または、反射動作のいずれかの選択肢も設定される必要がある。したがって、第5,第6、および第8以外の解決モードにおいては、同様に選択肢も設定される必要がある。
【0088】
尚、このステップS14の解決モードの選択処理は、一度設定された後は、必ず必要とされる処理ではないので、運転者からの要求があった場合にのみ実行される処理とするようにしてもよい。また、デフォルトとして、いずれかの解決モードが設定されているようにしてもよい。さらに、物理ボタンが設けられるような場合については、どのようなタイミングにおいても、物理ボタンが操作されたタイミングにおいて、直ちに設定が変更されるようにしてもよい。
【0089】
ステップS15において、手動運転制御部32は、運転モードが自動運転モードであるか否かを判定する。自動運転モードおよび手動運転モードのいずれかである運転モードは、例えば、表示部35上に切替スイッチ(図示せず)などが常に表示される状態とし、切替スイッチが操作されるなどして、切替操作がなされたか否かにより、運転モードが切り替えられたか否かを判定するようにしてもよい。
【0090】
また、物理的な操作スイッチやボタン(いずれも図示せず)を設けるようにして、切り替えられるようにしてもよい。ステップS15において、例えば、切替操作がなされて、デフォルトである手動運転モードから自動運転モードにされたとみなされた場合、処理は、ステップS16に進み、自動運転処理が実行される。この場合、制御主体は、手動運転制御部32から自動運転制御部53に切り替えられ、自動運転制御部53が自動運転処理を実行する。
【0091】
一方、ステップS15において、デフォルトのまま、自動運転モードではなく、手動運転モードであった場合については、処理は、ステップS17に進み、手動運転処理が実行される。この場合、制御主体は、手動運転制御部32のままであり、手動運転処理を実行する。
【0092】
また、これまでの処理が自動運転処理であった場合、ステップS15の処理により、手動運転モードに切り替えられた場合については、処理は、ステップS17において、手動運転処理が実行される。この場合、制御主体は、自動運転制御部53から手動運転制御部32に切り替えられて、手動運転処理が実行される。
【0093】
尚、以降においては、特に断りがない場合、デフォルトの手動運転モードであるものとして、すなわち、制御主体が手動運転制御部32であるものとして説明を進めるものとする。ただし、自動運転モードによる処理がなされている場合については、制御主体は、自動運転制御部53となり、
図2のフローチャートにおいて説明される処理については、手動運転制御部32と同様の処理を実行するものとする。また、自動運転処理および手動運転処理については、詳細を後述するものとする。
【0094】
ステップS18において、手動運転制御部32は、操作部31が操作されて、運転が終了となる操作がなされたか否かを判定する。ステップS18において、運転を終了させる操作がなされていない場合、処理は、ステップS19に進む。
【0095】
ステップS19において、手動運転制御部32は、運転者が変更したか否かを判定する。例えば、手動運転制御部32は、操作部31が操作されて、運転者の変更が申請されるような操作がなされたか否かを判定する。ステップS19において、例えば、運転者の変更があった場合、処理は、ステップS12に戻る。すなわち、変更された運転者に対してステップS12乃至S14の処理により、運転者の認証処理、ユーザモードの設定、および解決モードの設定がなされ、以降の処理が実行される。
【0096】
一方、ステップS19において、運転者の変更がない場合、処理は、ステップS15に戻る。すなわち、ステップS12乃至S14の処理がスキップされる。
【0097】
ステップS18において、運転終了の操作がなされたとみなされた場合、処理は、ステップS20に進む。
【0098】
ステップS20において、個人化ブロック22は、個人化関数更新処理を実行し、手動運転により学習された個人化関数を検証し、検証結果に応じて個人化関数を更新する。尚、個人化関数更新処理については、詳細を後述するものとする。
【0099】
以上の処理により、自動運転モードと手動運転モードとを切り替えた運転制御を実現することが可能となり、また、後述する手動運転モードにおいて学習された個人化関数を学習により生成し、さらに、更新することが可能となる。
【0100】
<自動運転処理>
次に、
図4のフローチャートを参照して、
図1の運転制御装置11による自動運転処理について説明する。
【0101】
ステップS31において、検出部34は、各種センサ群により検出される複数の検出結果の全てを自動運転制御ブロック21、および個人化ブロック22に供給する。
【0102】
ステップS32において、反射動作決定部51は、検出結果(または、検出結果の一部の結果)に基づいて、反射動作を決定する。
【0103】
ステップS33において、反射動作決定部51は、個人化関数記憶部54に記憶されている個人化関数のうち、認証された運転者のものであって、現在設定されているユーザモードに対応する個人化関数を読み出し、反射動作として決定された動作を、読み出した個人化関数で補正する。
【0104】
ステップS34において、熟考動作決定部52は、熟考動作決定処理を実行して熟考動作を決定する。
【0105】
<熟考動作決定処理>
ここで、
図5のフローチャートを参照して、熟考動作決定処理について説明する。
【0106】
ステップS51において、環境認識部71は、検出部34より供給されてくる検出結果に基づいて、環境情報を抽出し、ローカルマップ処理部72に供給する。
【0107】
ステップS52において、ローカルマップ処理部72は、環境情報より自車の周辺の情報からなるローカル情報を抽出して行動計画部75に供給する。また、ローカルマップ処理部72は、環境情報をグローバルマップ処理部73に供給する。
【0108】
ステップS53において、グローバルマップ処理部73は、環境情報より、自車がこれから走行する経路周辺のマップ情報や経路上の交通情報などを含むグローバル情報を抽出して、経路計画部74に供給する。
【0109】
ステップS54において、経路計画部74は、グローバルマップ処理部73より供給されてくるグローバル情報に基づいて、自車の走行経路を計画し、経路計画として行動計画部75に供給する。すなわち、経路計画部74は、例えば、交通情報に基づいて、現在位置から目的地までの経路を探索し、経路上に渋滞が存在するような場合、渋滞を回避して目的に到達する経路を探索することで、経路を計画する。
【0110】
ステップS55において、行動計画部75は、ローカル情報と経路計画とに基づいて、車体動作部33を動作せるための行動を計画し、計画結果を熟考動作とし、対応するコマンドを自動運転制御部53に供給する。すなわち、行動計画部75は、例えば、ローカル情報である、詳細な道の形状、走行中の車線の情報と、グローバル情報により求められた経路の情報に基づいて、次に、右折する、または、左折するといった経路と、現在の走行車線との関係から車線を変更させる必要がある場合、車線を変更させるためのステアリングの舵角、ブレーキタイミング、アクセル開度等を熟考動作として決定し、対応するコマンドを自動運転制御部53に供給する。
【0111】
以上の処理により、検出結果から環境情報が求められ、環境情報からローカル情報とグローバル情報が求められ、グローバル情報から経路が設定され、設定された経路とローカル情報とから熟考動作が求められる。
【0112】
ここで、
図4のフローチャートの説明に戻る。
【0113】
ステップS35において、熟考動作決定部52の行動計画部75は、個人化関数記憶部54に記憶されている個人化関数のうち、認証された運転者のものであって、現在設定されているユーザモードに対応する個人化関数を読み出し、熟考動作として決定された動作を、読み出した個人化関数で補正する。
【0114】
ステップS36において、自動運転制御部53は、熟考動作と反射動作とが一致せず、競合が発生しているか否かを判定する。ステップS34において、競合が発生していると判定された場合、処理は、ステップS35に進む。
【0115】
ステップS37において、自動運転制御部53は、競合解決処理を実行して、熟考動作と反射動作との競合を解決させて、車体動作部33が実行すべき動作を決定して、決定した動作に対応するコマンドを車体動作部33に供給する。尚、競合解決処理については、
図6,
図7を参照して、詳細を後述する。
【0116】
尚、ステップS36において、競合が発生していないとみなされた場合、ステップS37の処理はスキップされる。
【0117】
そして、ステップS38において、自動運転制御部53は、車体動作部33が実行すべき動作に対応するコマンドを車体動作部33に供給する。すなわち、自動運転制御部53は、反射動作と熟考動作とが一致した場合、その一致した動作に対応するコマンドを車体動作部33に供給し、反射動作と熟考動作とが一致せず、競合した場合、競合解決処理により決定された動作に対応するコマンドを車体動作部33に供給する。結果として、車体動作部33が、自動運転制御部53からのコマンドに従って動作する。
【0118】
結果として、後述するように、運転者が手動運転モードで、自らが運転する際に学習される個人化関数により反射動作および熟考動作それぞれが補正されることで、認証された運転者の運転の癖や習慣を反映させた動作にすることが可能となり、安全な自動運転を実現すると共に、運転者毎の快適な自動運転を実現することが可能となる。
【0119】
尚、
図4においては、ステップS32,S33の処理により実現される反射動作の決定、および、決定された反射動作の個人化関数による補正からなる一連の反射動作に係る処理がなされた後、ステップS34,S35の処理により実現される熟考動作の決定、および、決定された熟考動作の個人化関数による補正に係る一連の熟考動作に係る処理がなされるように記載されている。
【0120】
しかしながら、上述した反射動作に係る処理と熟考動作に係る処理とは、
図1のブロック図からも明らかな通り、検出部34と自動運転制御部53の間で、並列に構成される反射動作決定部51と熟考動作決定部52とでそれぞれになされる処理である。従って、反射動作に係る処理と熟考動作に係る処理とは、現実には、並列に、すなわち、同時になされる処理である。
図4のフローチャートでは、先に反射動作に係る処理がなされ、その後に熟考動作に係る処理がなされるように表現されているものの、これは1つのフローチャートで便宜的に表現した結果であるので、当然のことながら、先に熟考動作に係る処理がなされ、その後に反射動作に係る処理がなされるように表現されてもよいものである。また、同様の理由から、反射動作に係る処理と熟考動作に係る処理とは、同時に並列処理される個別のフローチャートとして表現されてもよいものである。この場合、
図4におけるステップS36以降の処理は、反射動作に係る処理と熟考動作に係る処理との双方が完了した以降でなされる処理となる。
【0121】
<競合解決処理>
次に、
図6,
図7のフローチャートを参照して、競合解決処理について説明する。
【0122】
ステップS71(
図6)において、自動運転制御部53は、熟考動作と反射動作とが一致せず、競合が発生していることを示す情報を表示部35に表示して、運転者に熟考動作と反射動作との間で競合が発生していることを提示する。自動運転制御部53は、例えば、
図8で示されるように、表示部35に対応する、運転制御装置11が搭載されている自動車のインストルメントパネル111に、競合が発生していることを示すマーク124を表示する。尚、
図8のインストルメントパネル111には、左からスピードメータ121、タコメータ122、および燃料メータ123が円盤状の針で示されるメータとして表示されており、競合が発生していることを示すマーク124が、燃料メータ123の左上部に3方向の矢印からなるマークとして表示されている。運転者は、このマーク124を視認することで、熟考動作と反射動作とが一致せずに競合していることを認識することができる。運転者は、必要に応じて自らが手動運転モードに切り替えて、手動で運転することになる可能性を察知することが可能となるため、突然、自らが運転する必要が生じることにより、不用意な動作をしてしまうことを抑制することが可能となる。
【0123】
尚、競合が発生した場合の例として、マーク124を表示して運転者に提示する例について示されているが、競合の発生の提示については、これ以外の方法で提示するようにしてもよく、例えば、音声やシートを振動させるなどして競合の発生を提示するようにしてもよい。
【0124】
ステップS72において、自動運転制御部53は、競合が発生した場合の解決モードが、熟考動作または反射動作のいずれかが優先して選択される解決モードであるか否かを判定する。ステップS72において、例えば、熟考動作または反射動作のいずれかが優先して選択される解決モードであると判定された場合、処理は、ステップS73に進む。
【0125】
ステップS73において、自動運転制御部53は、予め設定された解決モードのうち、熟考動作または反射動作のいずれか設定されている方を決定動作とし、処理は、ステップS85(
図7)に進む。
【0126】
例えば、反射動作が、現在走行しているレーンを維持しつつ前車に追従するような行動であるものとし、熟考動作が、目的地までの経路を考慮して、工事や渋滞を回避するような経路を探索した結果に応じた動作であるものとする。
【0127】
ここで、熟考動作が優先されるように設定されている場合、新たに得た渋滞情報等で最適経路が変わったときには、熟考動作として工事渋滞を回避するような経路として探索された経路を走行するような動作を優先することになる。結果として、自動車の経路は、渋滞を回避する迂回路へと誘導される動作が実現されることになり、所要時間を短縮することが可能となる。
【0128】
また、反射動作が、前方ミリ波レーダにより一定以上の大きさの障害物を検知した場合、緊急ブレーキの操作を行う動作であるものとし、熟考動作が、周囲の環境に応じたレーン内定速運転を実現する動作であるものとする。
【0129】
ここで、反射動作が優先されるように設定されている場合、道路上への急な飛び出しがあったときには、反射動作によるごく短時間の動作で事故を回避することができる。
【0130】
また、ステップS72において、熟考動作または反射動作のいずれかが優先して選択される解決モードではないと判定された場合、処理は、ステップS74に進む。
【0131】
ステップS74において、自動運転制御部53は、競合が発生した場合の解決モードが、先着優先、または、後着置き換えのいずれかが選択される解決モードであるか否かを判定する。ステップS74において、例えば、先着優先、または、後着置き換えのいずれかが選択される解決モードであると判定された場合、処理は、ステップS75に進む。
【0132】
ステップS75において、自動運転制御部53は、予め設定された解決モードのうち、先着優先、または、後着置き換えのいずれか設定されている方式で設定される動作を決定動作とし、処理は、ステップS85(
図7)に進む。
【0133】
熟考動作、および反射動作のそれぞれの動作を指示するコマンドには、それぞれ実行時間が明示的に、または、暗黙的に指定されており(4msなど)、通常は到着したコマンドが、到着した順序でリストに蓄積され、リストの先頭から順番に実行され、結果として、先着優先で動作が決定される。これによって、一定時間ループでのアクセルやステアリング制御や予測運転などを実現する。したがって、先着優先が設定されている場合、一般的な処理により動作が決定されるものとされる。
【0134】
また、各制御モジュールは割り込みなどの状況の変化に応じてタイムリにコマンドを発行し、これまでの行動を変更しない場合は何もしない。一方、コマンドが新しく到着した場合、後着のコマンドで、それまでの動作を表すコマンドを書き換えて、直ちに行動を後着のコマンドにより表される動作に切り替えることで、きびきびとした動作を実現することが可能となる。したがって、この場合、反射動作、および熟考動作のいずれであるかは、動作を決定する要因にはならず、いずれであっても、後着の動作のコマンドにより、現状の動作のコマンドが書き換えられることになる。
【0135】
また、ステップS74において、先着優先、または、後着置き換えのいずれかが選択される解決モードではないと判定された場合、処理は、ステップS76に進む。
【0136】
ステップS76において、自動運転制御部53は、競合が発生した場合の解決モードが、優先度または確信度の高い方が選択される解決モードであるか否かを判定する。ステップS76において、例えば、優先度または確信度の高い方が選択される解決モードであると判定された場合、処理は、ステップS77に進む。
【0137】
ステップS77において、自動運転制御部53は、予め設定された解決モードのうち、優先度または確信度の高い方が選択される動作を決定動作とし、処理は、ステップS85(
図7)に進む。
【0138】
割り込みなどの状況の変化に応じて緊急に発行される熟考動作および反射動作の各種動作を指示するコマンドには高い優先度フラグがついており、リストに蓄積されるコマンドや現在実行中のコマンドに対応する優先度フラグが、新着のコマンドの優先度フラグよりも低い場合、自動運転制御部53は、キャンセルしてでも、新しいもの(緊急ブレーキなど)に置き換える。したがって、この場合、決定される動作は、反射動作でも熟考動作でもよい。
【0139】
また、反射動作、および熟考動作の優先度については、優劣をつけず、環境情報として認識された情報の信頼度に応じて、いずれかを選択するようにしてもよい。
【0140】
すなわち、例えば、反射動作、および熟考動作が、それぞれスピードを上げる動作、およびスピードを落とす動作であるものとする。このような場合、例えば、前方が空いているという環境情報の信頼度が高いときには、スピードを上げる動作が決定動作とされ、前方に障害物が存在するといった環境情報の信頼度が高いときには、スピードを落とす動作が決定動作とされるようにしてもよい。
【0141】
また、例えば、反射動作、および熟考動作が、それぞれ前方であって、自らと同一方向に移動する前車を追い越すという動作、および、自らと同一方向に移動する前車に追従するという動作であるものとする。この場合、前方において、自らと同一の方向に移動する前車が自転車であるという環境情報の信頼度が高い場合、自転車を追い越すという動作が決定動作とされ、自らと同一の方向に移動する前車が自動車であるという環境情報の信頼度が高い場合、自動車に追従するという動作が決定動作とされるようにしてもよい。
【0142】
したがって、この場合においても、決定される動作は、反射動作でも熟考動作でもよい。
【0143】
ステップS76において、優先度または確信度の高い方が選択される解決モードではないと判定された場合、処理は、ステップS78に進む。
【0144】
ステップS78において、自動運転制御部53は、競合が発生した場合の解決モードが、重付平均、または、多数決のいずれかにより動作を決定する解決モードであるか否かを判定する。ステップS78において、例えば、重付平均、または、多数決のいずれかにより動作を決定する解決モードであると判定された場合、処理は、ステップS79に進む。
【0145】
ステップS79において、自動運転制御部53は、予め設定された解決モードのうち、重付平均、または、多数決のいずれかにより決定される動作を決定動作とし、処理は、ステップS85(
図7)に進む。
【0146】
すなわち、環境情報に応じて、反射動作および熟考動作のいずれもが、操舵角などの連続値を設定する動作である場合、それぞれの確信度を用いた重付平均によって行動が決定されるようにしてもよい。
【0147】
尚、実際には、反射動作決定部51、および熟考動作決定部52は、いずれにおいても、車体動作部33を構成する複数の各種機器に対して、複数の動作を決定しており、競合が発生する動作についても、複数の各種機器に対しる、複数の動作である。例えば、前方に存在する障害物に対しての衝突を回避するために緊急停止をさせるような場合、ブレーキを掛けるといった動作と、ステアリングにより回避行動をとるための動作といった、ブレーキとステアリングとのそれぞれに対して動作が決定されることになる。したがって、緊急ブレーキを掛けるか、または、掛けないといった2択の離散的な動作である場合については、これらの複数の動作を利用して、多数決により、動作を決定するようにしてもよい。
【0148】
ステップS78において、重付平均、または、多数決のいずれかにより動作を決定する解決モードではないと判定された場合、処理は、ステップS80に進む。
【0149】
ステップS80において、自動運転制御部53は、競合が発生した場合の解決モードが、反射動作および熟考動作の相互の結果を利用して動作を決定する解決モードであるか否かを判定する。ステップS80において、例えば、反射動作および熟考動作の相互の結果を利用して動作を決定する解決モードであると判定された場合、処理は、ステップS81に進む。
【0150】
ステップS81において、自動運転制御部53は、反射動作および熟考動作の相互の結果を利用して決定される動作を決定動作とし、処理は、ステップS85(
図7)に進む。
【0151】
すなわち、反射動作および熟考動作は、それぞれ個別に求められた動作であるが、両者の判断に食い違いが生じる場合、自動運転制御部53は、例えば、反射動作決定部51と熟考動作決定部52とを制御して、相互の動作を、相互の処理により求められた結果を参考値として使用して再計算させ、双方の動作を一致させるようにする。または、自動運転制御部53は、例えば、反射動作決定部51と熟考動作決定部52とを制御して、規定の繰り返し回数に達するまで、反射動作および熟考動作を求めるための再計算を繰り返させ、双方の動作を一致させる。
【0152】
ステップS80において、反射動作および熟考動作の相互の結果を利用して動作を決定する解決モードではないと判定された場合、処理は、ステップS82に進む。
【0153】
ステップS82において、自動運転制御部53は、競合が発生した場合の解決モードが、反射動作および熟考動作の動作を指示するコマンドの優先度に応じて動作を決定する解決モードであるか否かを判定する。ステップS82において、例えば、反射動作および熟考動作の動作を指示するコマンドの優先度に応じて動作を決定する解決モードであると判定された場合、処理は、ステップS83に進む。
【0154】
ステップS83において、自動運転制御部53は、反射動作および熟考動作の動作を指示するコマンドの優先度に応じて決定する動作を決定動作とし、処理は、ステップS85(
図7)に進む。
【0155】
すなわち、緊急ブレーキなどのコマンドを事前に定義しておき、それが反射動作および熟考動作のいずれかの動作とされた場合、反射動作および熟考動作に依らず最優先で取り扱う。また、緊急コマンド以外でもコマンドに優劣関係を設けておき、動作が競合した場合、その優先度の優劣に応じて動作が決定されるようにしてもよい。コマンドの優劣は、例えば、停止>レーン内直進>レーン逸脱>バックといった順序で予め設定されるようにしてもよい。
【0156】
ステップS82において、反射動作および熟考動作の動作を指示するコマンドの優先度に応じて動作を決定する解決モードではないと判定された場合、処理は、ステップS84に進む。
【0157】
ステップS84において、自動運転制御部53は、運転者介入処理を実行して、競合を運転者の操作を介入して解決させて、動作を決定する。すなわち、この場合、運転者の介入を受け付けて解決させる解決モードであるものとみなされることになる。
【0158】
<運転者介入処理>
ここで、
図9のフローチャートを参照して、運転者介入処理について説明する。
【0159】
ステップS101において、自動運転制御部53は、表示部35を制御して、競合している反射動作および熟考動作のそれぞれを、解決候補として表示し、いずれかの選択により競合の解決を促す画像を表示する。
【0160】
すなわち、例えば、
図10のインストルメントパネル111における競合が発生したことを示すマーク124の右側に、競合している動作を解決候補欄131として、「a)車線維持」、および「b)右車線に変更」を表示する。この解決候補欄131の「a)車線維持」、および「b)右車線に変更」は、それぞれタッチパネルによりタッチすることで選択することができる。
【0161】
ステップS102において、自動運転制御部53は、操作部31が操作されて、いずれかの解決候補が選択されたか否かを判定する。ステップS102において、例えば、
図10で示される解決候補欄131の「a)車線維持」、または「b)右車線に変更」のいずれかが選択されると、処理は、ステップS103に進む。
【0162】
ステップS103において、自動運転制御部53は、解決候補欄131に表示された解決候補のうち、選択された解決候補の動作を決定動作とする。
【0163】
一方、ステップS102において、解決候補欄131のいずれの解決候補も選択されなかった場合、処理は、ステップS104に進む。
【0164】
ステップS104において、自動運転制御部53は、操作部31が操作されて、自動運転モードが解除されたか否かを判定する。ステップS104において、例えば、表示部35に表示されている切替スイッチやボタンが操作されたり、ブレーキペダルやアクセルペダルが踏み込まれて、自動運転モードを解除するとみられる意思表示に対応する動作が検出されると、自動運転モードの解除が要求されたものとみなして、処理は、ステップS105に進む。
【0165】
ステップS105において、自動運転制御部53は、自動運転モードを終了し、手動運転モードに切り替える。この処理により、以降においては、手動運転制御部32が、手動運転処理を実行する。
【0166】
さらに、ステップS104において、自動運転モードの解除が要求されていないとみなされた場合、処理は、ステップS106に進む。
【0167】
ステップS106において、自動運転制御部53は、競合が発生してから所定時間が経過したか否かを判定する。ステップS106において、所定時間が経過していないとみなされた場合、処理は、ステップS101に戻り、所定時間が経過するまで、ステップS101乃至S106の処理が繰り返される。そして、ステップS106において、所定時間が経過したとみなされた場合、処理は、ステップS107に進む。
【0168】
ステップS107において、自動運転制御部53は、自動車の走行を停止させるか、または、現状を継続する動作を決定動作とする解決モードであるものとみなし、停止させるか、または、現状を継続する動作を決定動作とする。この場合、反射動作および熟考動作のどちらも出さず停止させるか、現状を継続させる解決モードであるとみなされる。
【0169】
すなわち、反射動作および熟考動作の競合が解決できない、または、反射動作および熟考動作のいずれのコマンドをも蓄積するリストに何もないような場合、停止動作、または、現状の動作を継続する動作のうち、設定された動作が決定動作とされる。
【0170】
すなわち、以上の処理により、反射動作および熟考動作の競合が解決できない場合に、運転者を介入させる(いずれかの動作を決定させる、または、自動運転モードを解除させて手動運転モードとし、運転者自らが運転する状態にする)ことで、動作を決定させることが可能となる。また、運転者の介入がない場合については、停止動作、または、現状の動作が継続される状態となり、安全に停止させるか、または、運転者による手動運転を促す状態とすることが可能となる。
【0171】
ここで、
図6,
図7のフローチャートの説明に戻る。
【0172】
これまでの処理により、予め設定した解決モードのいずれかにより動作が決定され、自動運転モードを継続することが可能となる。また、自動運転モードでは競合が解決できない場合については、必要に応じて、運転者の介入を促すことが可能となる。
【0173】
ステップS85(
図7)において、自動運転制御部53は、所定時間内に繰り返し停止動作が決定動作として選択されているか否かを判定し、例えば、所定時間内に繰り返し停止動作が決定動作として選択されていると判定された場合、処理は、ステップS86に進む。
【0174】
ステップS86において、自動運転制御部53は、反射動作や熟考動作を決定するために必要な閾値や安全率を制御するパラメータを調整するためのスライドバーを備えたインタフェース(スライドバーIF)画像などを表示部35に表示させることで、閾値や安全率を制御するパラメータの調整を促す。すなわち、自動運転制御部53は、例えば、
図11で示されるようなスライドバーIFからなる画像を表示し、スライドバーを調整することで閾値や安全率を制御するパラメータの調整を促す。
図11においては、タコメータ122の下に、競合が発生していることを示すマーク151が表示されると共に、さらに、その下に、熟考動作および反射動作に係る閾値や安全率を制御するパラメータを連続変量で表現するときのゲージ141と、その閾値や安全率を制御するパラメータを設定するためのスライドバー142が表示されている。スライドバー142は、例えば、タッチパネル操作により、図中の左右方向に移動させることで、ゲージ141に対する位置に応じた閾値や安全率を制御するパラメータを設定する。
【0175】
尚、ここでは、閾値や安全率を制御するパラメータについて、スライドバーIFを用いて設定する例について説明しているが、スライドバーIFを用いて設定できるものであれば、その他のパラメータを設定するようにしてもよく、例えば、反射動作および熟考動作が、それぞれ連続変量で扱えるようなものであれば、その重付平均で動作を決定する際に、それぞれの動作に付加される重みなどを設定できるようにしてもよい。
【0176】
ステップS87において、自動運転制御部53は、スライドバー142が左右に操作されたか否かを判定し、操作されているとみなされるまで、同様の処理を繰り返す。そして、スライドバー142が操作されると処理は、ステップS88に進む。
【0177】
ステップS88において、自動運転制御部53は、スライドバー142により設定された重みに応じて、熟考動作および反射動作の重付平均となる動作を求め、この重付平均となる動作を決定動作とする。
【0178】
尚、ステップS85において、所定時間内に繰り返し停止動作が決定動作とされていないとみなされた場合、ステップS86乃至S88の処理がスキップされる。
【0179】
すなわち、所定時間内に繰り返し停止動作が決定動作として選択される状況は、例えば、狭路で、対向車とすれ違うための動作などが考えられる。このとき、熟考動作が、グローバルな地図情報を参照して進むべき方向を決定し、反射動作が周辺の状況を観測し、自らの車体周辺のスペース幅が(自車幅+マージンθ)で設定される幅以下なら停止動作を決定動作とするものとする。
【0180】
この状況において、例えば、道路脇に自転車等が止めてあると、自車幅に対して十分なマージンを取ることが難しく、決定動作が停止動作となる状態から脱出できない状態となる可能性がある。このような状態は、デッドロックと呼ばれ、安全な動作を選択し続ける結果、停止動作が繰り返し決定動作とされ、そのままの状態となってしまう。
【0181】
ここで、スライドバー142を用いてマージンθを変更することで、運転者が周囲の状況を見ながら、自動車の挙動を調整することが可能となる。より詳細には、運転者は、アクセルやハンドルを用いて自動車の挙動を直接制御するのではなく、スライドバー142を用いて、抽象化された調整パラメータを調整することで、自動車を制御することが可能となる。
【0182】
一般に、これらの調整パラメータを正しく設定することは普通の運転者にとっては難しいが、このようにスライドバー142により調整できるようにすることで現実世界との対応が取りやすく、運転者によらず容易に調整することが可能になる。
【0183】
尚、このスライドバー142により設定される重みからなる調整値が標準の値からずれるのに応じて、自動車の速度を減速させることで、調整をより容易にすることが可能となる。
【0184】
<競合の発生を抑制する工夫について>
以上においては、競合が発生した場合、予め設定された解決モードに応じて、反射動作と熟考動作とを利用して競合を解決する例について説明してきた。しかしながら、競合の発生そのものを抑制することで、運転制御処理を、よりスムーズなものとすることができる。
【0185】
例えば、反射動作および熟考動作を求めるにあたり、それぞれの動作を決定するに当たって設定されるマージンについて、ほぼマージンがないとみられるような第1の値と、マージンとして余裕のある第2の値とを設定し、それぞれについて第1の反射動作、および第2の反射動作、並びに第1の熟考動作、および第2の熟考動作を求める。
【0186】
そして、この第1の反射動作、および第2の反射動作、並びに第1の熟考動作、および第2の熟考動作のそれぞれの動作に基づいて動作を決定するようにして、競合を低減させるようにすることができる。
【0187】
例えば、反射動作と熟考動作とが、前進する動作、または、停止する動作のいずれかを決定動作とする場合、第1の反射動作、および第2の反射動作、並びに第1の熟考動作、および第2の熟考動作の組み合わせに応じて、決定動作を決定する。
【0188】
すなわち、
図12においては、縦方向に第1の反射動作/第2の反射動作の組み合わせが示されており、横方向に第1の熟考動作/第2の熟考動作の組み合わせが示されている。また、第1の反射動作/第2の反射動作と、第1の熟考動作/第2の熟考動作との組み合わせにより決定動作として前進動作を認めるマークが「G」であり、前進動作を認めず停止動作とするマークが「N」である。
【0189】
すなわち、
図12において、第1の反射動作/第2の反射動作と、第1の熟考動作/第2の熟考動作との組み合わせのうち、マージンが小さい第1の反射動作と、第1の熟考動作とがいずれも前進動作(G/X:Xは、NでもGでもよい)を認めている場合、第1の反射動作では停止動作であるが、第2の反射動作が前進動作(N/G)であって、かつ、第1の熟考動作/第2の熟考動作が、いずれも前進動作(G/G)を認めている場合、または、第1の熟考動作では停止動作であるが、第2の熟考動作が前進動作(N/G)であって、かつ、第1の反射動作/第2の反射動作が、いずれも前進動作(G/G)を認めている場合、前進動作(G)が決定動作とされる。
【0190】
逆に、
図12において、第1の反射動作/第2の反射動作と、第1の熟考動作/第2の熟考動作との組み合わせのうち、マージンが小さい第1の反射動作と、第1の熟考動作とがいずれも停止動作(N/X:Xは、NでもGでもよい)である場合、第1の反射動作では前進動作であるが、第2の反射動作が停止動作(G/N)であって、かつ、第1の熟考動作/第2の熟考動作が、いずれも停止動作(N/N)を認めている場合、または、第1の熟考動作では前進動作であるが、第2の熟考動作が停止動作(G/N)であって、かつ、第1の反射動作/第2の反射動作が、いずれも停止動作(N/N)である場合、停止動作(N)が決定動作とされる。
【0191】
そして、このような場合、第1の反射動作/第2の反射動作と、第1の熟考動作/第2の熟考動作との組み合わせが、いずれも前進動作(G/G)、および、いずれも停止動作(N/N)である(図中の三角印である)とき第1の競合状態となり、前進動作および停止動作、並びに停止動作および前進動作の組み合わせである(図中の四角印である)とき第2の競合状態となる。
【0192】
このような場合、第1の競合状態においては、反射動作と熟考動作とで対局する結果となるため、停止動作とするようにし、第2の競合状態においては、相互に相反する結果となるため、運転者を介入して競合状態を解決させるようにしてもよい。
【0193】
また、
図12における第1の競合状態および第2の競合状態のそれぞれにおいて、上述した7種類の競合解決モードを切り替えて設定するようにしてもよい。
【0194】
このように、反射動作と熟考動作とが、それぞれ異なるマージンで複数の動作を決定し、複数の動作のパターンにより動作を決定することで、競合の発生を低減させることができ、運転制御処理をスムーズなものにさせることが可能となる。
【0195】
さらに、以上においては、競合が発生した場合、自動運転制御部53が、予め設定された8種類の解決モードのいずれかにより競合を解決して、動作を決定する処理について説明してきたが、より厳密な競合の解決を実現するため、インターネット等のネットワークを利用して外部のサーバやクラウドコンピューティングにより別途実現される競合解決装置等により競合を解決させるようにしてもよい。
【0196】
<手動運転処理>
次に、
図13のフローチャートを参照して、手動運転処理について説明する。
【0197】
ステップS121において、個人化ブロック22における個人化関数学習部91は、認証により特定されている運転者の個人化関数を学習するための学習モデルと、学習結果記憶部92における格納先DB(データベース)を、運転者と、ユーザモードに応じて選択する。尚、予め学習モデルや格納先DBが学習結果記憶部92に登録されていない場合については、個人化関数学習部91が、運転者のものであって、ユーザモードに応じた学習すべき個人化関数と格納先DBを新規に作成する。
【0198】
ステップS122において、個人化関数学習部91は、検出部34により各種のセンサにより検出された検出結果を取得する。
【0199】
ステップS123において、個人化関数学習部91は、操作部31より供給されてくる操作信号に基づいて、運転者の運転操作に拘わる操作情報を取得する。このとき、手動運転制御部32も、同様の操作信号を取得する。
【0200】
ステップS124において、個人化関数学習部91は、操作部31より取得した操作情報と、検出部34より取得した検出結果とを用いて、認証により特定された運転者であって、その時のユーザモードの癖や習慣に対応する学習モデルにより個人化関数を学習させる。
【0201】
ステップS125において、個人化関数学習部91は、学習により獲得された個人化関数を、認証により特定された運転者であって、その時のユーザモードに対応付けて、学習結果記憶部92に記憶させる。
【0202】
ステップS126において、手動運転制御部32は、操作情報に基づいて、車体の各種の動作を機能させる機器から構成される車体動作部33に対して、対応する動作を実行させるコマンドを供給し、車体動作部33を動作させる。
【0203】
以上の処理により、運転者により操作された操作部31の操作情報と検出部34により検出された検出結果に基づいて、個人化関数がユーザモードに応じて学習されて、学習結果記憶部92に記憶される。この際、手動運転制御部32が、操作情報に対応するコマンドを車体動作部33に供給し、自動車の手動運転を制御することになる。
【0204】
<個人化関数の学習>
ここで、個人化関数の学習について説明する。
【0205】
時刻tにおける検出部34における検出結果(観測値)をStとして、運転者の操作情報をatとし、さらに、その時点での運転操作の目標をgtであるものとする。ここで、運転者の操作を直接真似ようとする場合、学習は、以下の式(1)により定義される関数を個人化関数として学習する処理となる。
【0206】
【数1】
・・・(1)
【0207】
例えば、自動車を停止させる動作を考えるものとする。ここで想定されるのは、自動車が所定のレーン内を走行し、赤信号等の理由により前車、または、白線停止線に合わせて、なめらかに減速し、そして停止するものとする。
【0208】
この場合、早めにブレーキを踏むのが好きな人もいれば、前車までの距離をギリギリまで詰めて急減速して停止するのが好きな人もいる。さらには、車間の間隔をあけて前車の挙動に左右されず、自分の好みの速度で停止することを好む人もいる。
【0209】
個人化関数学習部91は、運転者の運転操作履歴を構成する操作情報の中から、運転者が運転する自動車がレーン内で停止する動作に該当する操作情報を抽出し、集合Xstopを構成する。この場合の学習問題は、以下の式(2)で示される関数で表される。
【0210】
【数2】
・・・(2)
【0211】
関数fstop(St)は、レーン内で停止する動作に係る検出結果より得られる関数である。
【0212】
ここで、目的は運転者の行動の模倣なので、以下の式(3)を実現することが学習となる。
【0213】
【数3】
・・・(3)
【0214】
誤差関数としては、例えば、以下の式(4)を用いることができる。
【0215】
【数4】
・・・(4)
【0216】
すると、レーン内に停止するときの操作情報からなる履歴データXstopに対して、以下の式(5)で表現される機械の出力値を教師信号aiに近づけるような関数近似学習を行うことになる。
【0217】
【数5】
・・・(5)
【0218】
学習器としては、例えば、多層のフィードフォーワードニューラルネットワークを用いた、Deep Learningと呼ばれる学習器を採用することができる。Deep Learningの学習について詳しくは、例えば、機械学習プロフェッショナルシリーズ深層学習(岡谷貴之,講談社サイエンティフィク)を参照されたい。もちろん、これに限らず任意の関数近似器を用いることができる。
【0219】
尚、運転者の運転操作を教師信号として、逆強化学習により、所定の状況での検出結果Stにおける操作情報atを学習させるようにしてもよい。
【0220】
また、学習に用いられるデータとしては、上述したもの以外のものであってもよく、例えば、運転者に関わる情報、同乗者に関わる情報、車中環境に関わる情報、車外環境に関わる情報、および自動車の走行プランに関わる情報などを利用してもよい。
【0221】
ここで、運転者に関わる具体的な情報としては、運転者のバイタル情報(心拍、脈拍、血圧、体温、血糖値、呼気アルコール濃度、血中アルコール濃度、血中酸素濃度、覚醒度、集中度、感情、情動、脳波等)、運転者の姿勢、視線、体動情報等、運動、または、行動状態に関わる情報の1つもしくは複数を含んでもよい。
【0222】
また、同乗者に関わる情報としては、人数、年齢、性別、座席位置、またシートベルト等の安全装置の使用状況、同乗者のバイタル情報(心拍、脈拍、血圧、体温、血糖値、呼気アルコール濃度、血中アルコール濃度、血中酸素濃度、覚醒度、集中度、感情、情動、脳波等)前記同乗者の姿勢、視線、体動情報等、または、運動・行動状態に関わる情報の1つもしくは複数を含んでもよい。
【0223】
さらに、車中環境に関わる情報としては、車内(運転席、助手席ほか、各座席位置で)の環境測定値(気温、湿度、風量、振動、騒音、照度、酸素濃度等)、対象自動車に搭載されているセンサデータ、自動車の運動に関わるリアルタイムの情報、自動車の位置、進行方向(及びそれらの測定精度)、自動車の速度、角速度、加速度、角加速度(及びそれらの測定精度)、アクセル、ブレーキ、操舵に関する操作値。ウィンカー、ワイパー、その他搭載機器の操作情報、ABS(Antilock Brake System)、TCS(Traction Control System)、LKAS(Lane Keep Assist System)、ACC(Adaptive Cruise Control)等の安全装置の作動状況、および、故障関連の情報、または警告情報やエラー情報の1つもしくは複数を含んでもよい。
【0224】
また、車外環境に関わる情報としては、周囲の近接自動車(自動2輪車を含む)の位置および進行方向、また速度、角速度、加速度、角加速度(及びそれらの測定精度)、周囲の近接自動車(自動2輪車を含む)のブレーキランプ、ウィンカー、ハザードランプ等の作動状況、周囲の近接自動車(自動2輪車を含む)からのV2V(Vehicle To Vehicle)通信データ、周囲の軽自動車の位置および進行方向、また速度、角速度、加速度、角加速度(及びそれらの測定精度)、周囲の歩行者の位置および進行方向、また速度、角速度、加速度、角加速度(及びそれらの測定精度)、周辺、とくに前方の信号の状態、また、当該自動車が走行する道路における事故や工事、レーン閉鎖等に関する情報、周囲の歩行者あるいは車外インフラからのV2X(Vehicle To X(X:Everything))通信データや当該自動車が走行する地域の気候及び天候に関する情報の1つもしくは複数を含んでもよい。
【0225】
さらに、当該自動車の走行プランに関わる情報としては、出発地及び出発時刻、また目的地(の複数の候補)もしくは走行する予定の地域、現在地及び現在時刻、および出発地から目的地(候補)までの走行(予定)ルートの1つもしくは複数を含んでもよい。
【0226】
<個人化関数更新処理>
次に、
図14のフローチャートを参照して、個人化関数更新処理について説明する。
【0227】
個人化関数更新処理は、
図2を参照して説明したように、一般に、運転制御処理が終了した後に実行されるが、運転制御処理がなされていないタイミングであれば、その他のタイミングであってもよいものである。
【0228】
ステップS141において、学習結果検証部93は、学習結果記憶部92に記憶されている個人化関数を読み出す。複数の個人化関数や、複数のユーザモード毎の個人化関数が存在する場合、それらを個別に識別して読み出す。
【0229】
ステップS142において、学習結果検証部93は、インターネット等に代表されるネットワークを介して外部の検証装置13に対して、読み出した個人化関数を供給し、検証を要求する。この処理により、検証装置13は、検証処理を実行して、個人化関数の安全性等、動作に問題があるか否かを検証する。尚、検証処理については、
図15以降において後述するものとする。
【0230】
ステップS143において、検証結果判定部94は、検証装置13より検証結果を取得する。
【0231】
ステップS144において、検証結果判定部94は、検証結果に基づいて、個人化関数が用いられることにより、補正が加えられた動作が問題のない運転を仮想空間において実現できたか否かを判定する。ステップS144において、例えば、個人化関数を用いた補正動作が問題のない運転を仮想空間において実現できたとみなされた場合、処理は、ステップS145に進む。
【0232】
ステップS145において、検証結果判定部94は、個人化関数によるコマンドの補正動作が問題ない運転を実現したことを個人化関数更新部95に通知する。この通知により、個人化関数更新部95は、学習結果記憶部92に記憶されている、問題がない状態に学習がなされた個人化関数で、個人化関数記憶部54に記憶されている、対応する運転者であって、対応するユーザモードの個人化関数を更新する。
【0233】
尚、ステップS144において、例えば、個人化関数によるコマンドの補正動作が問題のない運転を実現できなかったとみなされた場合、ステップS145の処理がスキップされて、個人化関数の更新がなされない。また、複数の運転者の個人化関数や、複数のユーザモードが設定されている個人化関数が存在する場合、それぞれ個別に検証処理がなされて、個別の検証結果に応じて、更新がなされる。
【0234】
すなわち、以上の処理により、運転者毎に、かつ、運転者のユーザモード毎に、個別に個人化関数が学習により求められ、さらに、個別に検証処理がなされ、それぞれについて個人化関数が用いられることにより補正が加えられた補正動作による自動運転処理に問題がないとき、個人化関数が更新される。
【0235】
これにより、手動運転モードにおける運転者の運転に係る癖や習慣が反映されるように学習された個人化関数のうち、検証処理により異常がないとみなされた個人化関数だけが更新されるようになる。
【0236】
結果として、自動運転モードであっても、運転者毎に、かつ、運転者のユーザモード毎に対象となる運転者の手動運転モードにおける運転の癖や習慣が反映された自動運転制御を安全に実現することが可能となる。
【0237】
また、ニューラルネットワークであれば、ネットワーク重みなどの個人化関数を学習後のものに更新する。一般には検出結果Stに対して操作情報atを計算するための「辞書データ」が更新されるが、計算アルゴリズム自体が変更され、検出結果Stを入力として出力結果となる操作情報atを計算する関数の実行コード自体を入れ替えるようにしてもよい。
【0238】
<検証装置の構成例>
次に、
図15のブロック図を参照して、検証装置13の構成例について説明する。
【0239】
検証装置13は、検証処理を実行することにより、運転制御装置11より検証が要求された個人化関数の、安全性等を検証するものである。より具体的には、検証装置13は、仮想空間において、上述した運転制御装置11を搭載した自動車を、自動運転モードで、かつ、個人化関数を用いて、シミュレーションによる走行を仮想的に再現させ、事故等の不具合の発生の有無を確認することで、個人化関数の安全性等を検証する。
【0240】
より具体的には、検証装置13は、出発目的地ランダム設定部181、経路生成部182、チェックポイント位置計算部183、行動決定モデル算出部184、シミュレータ185、イベント発生部186、状態算出部187、センサモデルノイズモデル発生部188、記録部189、および検証部190を備えている。
【0241】
出発目的地ランダム設定部181は、仮想空間内における出発地と目的地とをランダムに設定し、経路生成部182および状態算出部187に供給する。
【0242】
経路生成部182は、出発目的地ランダム設定部181により設定された出発地と目的地とから経路を設定し、チェックポイント位置計算部183に供給する。
【0243】
チェックポイント位置計算部183は、生成された経路上の次のチェックポイントを計算し、チェックポイントでの運転操作の目標gtを設定する。ここでいうチェックポイントとは、例えば、
図16で示されるルートマップ上において、状態が算出され、行動が決定されるポイントである。
図16においては、地図上に描かれた道路Rに沿って設定された経路r上の黒点で示された位置がチェックポイントc1乃至cnである。そして、このチェックポイントc1乃至cnのそれぞれにおいて、次の運転操作の目標gtが設定される。
【0244】
運転操作の目標gtとしては、走行予定経路上の「次のチェックポイントの(自車に対する)相対位置、相対姿勢角」や「チェックポイント通過時の速度、加速度プロファイル」「走行予定経路の(チェックポイントにおける)曲率」などが具体例として挙げられる。停止シーンでは、例えば、前方100m(の停止線)で(クルマの向きは現在のまま)、速度および加速度は0といったものとなる。
【0245】
センサモデルノイズモデル発生部188は、検出部34を構成する各種のセンサのモデルを構築し、それぞれのセンサにおけるノイズのモデルを発生し、状態算出部187に供給する。
【0246】
状態算出部187は、シミュレータ185より供給される仮想空間内の走行位置、イベント発生部186により供給される、人の飛び出しや天候の変化といったイベントの情報、センサモデルノイズモデル発生部188より供給されるセンサモデルおよびノイズモデルの情報に基づいて、検出部34により検出されるであろう検出結果(観測値)を状態Stとして算出する。
【0247】
より具体的には、状態Stは、運転制御装置11を搭載し個人化関数が学習された自動車に搭載されている検出部34の仮想的な検出結果であり、例えば、「ミリ波レーダの検出結果」、および「ステレオカメラにより撮像された画像」、または、それらを処理して得られる「周囲の近接車両の位置および進行方向、また速度、角速度、加速度、角加速度」と、「自動車の位置、進行方向、また速度、角速度、加速度、角加速度」である。また、検出結果は、その他、様々な情報であってもよく、様々な情報を利用することで、より「個人化」に寄与することが可能となる。例えば、高速道路および一般道や、昼および夜での運転に係る癖や習慣の変化をも反映させることが可能となる。
【0248】
尚、シミュレータ185により走行状態が再現される出発地については、出発目的地ランダム設定部181より供給される情報が利用される。
【0249】
行動決定モデル算出部184は、チェックポイント位置計算部183より供給されてくるチェックポイントでの運転操作の目標gtと、状態算出部187より供給されてくる状態Stとに基づいて、検証部190より供給されてくる検証が要求された個人化関数を用いて、行動決定モデルatを決定し、シミュレータ185に供給する。この行動決定モデルatは、上述した運転者の操作情報に対応するものである。
【0250】
シミュレータ185は、行動決定モデル算出部184より供給されてくる行動決定モデルatに基づいて、仮想空間内で、運転制御装置11が搭載された自動車の走行(動作)を再現し、その結果をイベント発生部186、状態算出部187、および記録部189に供給する。シミュレータ185により求められる仮想空間内の動作は、理論的には、自動運転制御ブロック21により決定された自動車の動作そのものである。
【0251】
イベント発生部186は、シミュレータ185より順次供給されてくる、チェックポイントでの動作結果をトリガとしてイベントを発生し、状態算出部187および記録部189に供給する。
【0252】
記録部189は、シミュレータ185より供給されてくるシミュレーション結果と、イベント発生部186より供給されてくる各種イベントとを、チェックポイント毎に対応付けて記録する。すなわち、記録部189が、この検証処理が実行されている間の仮想空間内における運転制御装置11が搭載されている自動車の検証結果を順次記録する。
【0253】
検証部190は、インターネットに代表されるネットワークを介して運転制御装置11より供給されてくる検証が要求された個人化関数を受け付けると共に、受け付けた個人化関数を行動決定モデル算出部184に供給する。また、検証部190は、記録部189に記録されている検証結果を読み出し、検証が要求された個人化関数に対応付けて運転制御装置11に供給する。
【0254】
<検証処理>
次に、
図17のフローチャートを参照して、
図15の検証装置13による検証処理について説明する。
【0255】
ステップS161において、検証部190は、運転制御装置11よりネットワークを介して個人化関数の検証が要求されてきたか否かを判定し、要求されるまで、同様の処理を繰り返す。例えば、
図14におけるステップS142の処理により、個人化関数と共に、その検証が要求されてきた場合、処理は、ステップS162に進む。
【0256】
ステップS162において、検証部190は、送信されてきた個人化関数を取得し、行動決定モデル算出部184に供給する。
【0257】
ステップS163において、出発目的地ランダム設定部181は、シミュレータ185における仮想空間内において、ランダムに出発地と目的地を設定して経路生成部182および状態算出部187に供給する。
【0258】
ステップS164において、経路生成部182は、出発目的地ランダム設定部181により、ランダムに設定された出発地と目的地とに基づいて、経路を生成し、チェックポイント位置計算部183に供給する。
【0259】
ステップS165において、チェックポイント位置計算部183は、供給されてきた経路に基づいて、経路上に次のチェックポイントの位置を計算し、チェックポイントでの運転操作の目標gtを設定し、行動決定モデル算出部184に供給する。
【0260】
ステップS166において、状態算出部187は、シミュレータ185における出発時刻および出発地を設定する。
【0261】
ステップS167において、センサモデルノイズモデル発生部188は、センサモデルおよびノイズモデルの情報を発生し、状態算出部187に供給する。
【0262】
ステップS168において、状態算出部187は、シミュレータ185における現在時刻、位置、センサモデルおよびノイズモデルの情報に基づいて、状態Stを算出し、行動決定モデル算出部184に供給する。尚、後述するイベント発生部186によりイベントが発生されている場合については、発生されたイベントも考慮して状態stが算出される。
【0263】
ステップS169において、行動決定モデル算出部184は、検証が要求されている個人化関数を用いて、行動決定モデルatを算出し、シミュレータ185に供給する。より詳細には、検証が要求されている個人化関数fである場合、行動決定モデル算出部184は、個人化関数fに状態Stおよび運転操作の目標gtの情報を入力し、行動決定モデルat(=f(st,gt))を算出する。
【0264】
ステップS170において、シミュレータ185は、行動決定モデルatに基づいて、物理シミュレーションを実行し、実行結果をイベント発生部186、状態算出部187、および記録部189に供給する。すなわち、シミュレータ185は、仮想空間内で運転制御装置11が搭載された自動車に対して、行動決定モデルatで特定された運転操作が加えられたときの走行状態を再現する。
【0265】
ステップS171において、イベント発生部186は、シミュレータ185より供給されてくる仮想空間内での運転制御装置11が搭載された自動車の挙動に応じたイベントを発生し、状態算出部187および記録部189に供給する。
【0266】
ステップS172において、記録部189は、イベント発生部186により発生されたイベント、およびシミュレータ185の物理シミュレーション結果を、チェックポイントに対応付けて記録する。
【0267】
ステップS173において、検証部190は、検証が終了したか否かを判定する。検証処理の終了は、シミュレーションを実行し続ける時間などにより設定されたり、目的地に到着したタイミングなどに設定される。ステップS173において、終了ではない場合、処理は、ステップS174に進む。
【0268】
ステップS174において、チェックポイント位置計算部183は、次のチェックポイントの位置を計算し、そのチェックポイントでの運転操作の目標gtを設定して、行動決定モデル算出部184に供給し、処理は、ステップS167に戻る。
【0269】
すなわち、検証処理が終了するまで、ステップS167乃至S174の処理が繰り返される。
【0270】
そして、ステップS173において、検証終了であるとみなされた場合、処理は、ステップS175に進む。
【0271】
ステップS175において、検証部190は、記録部189に記録されているシミュレーション結果に基づいて、検証結果を生成する。
【0272】
ステップS176において、検証部190は、生成した検証結果を運転制御装置11に供給する。
【0273】
以上の処理により、個人化関数により自動運転処理を実行した場合における安全性を検証することが可能となる。尚、検証結果が、運転制御装置11に送信されると、
図14におけるステップS143以降の処理により、事故などが発生せず、問題がない場合にのみ個人化関数が更新されることになる。
【0274】
尚、運転操作の目標gtや状態Stとして、「高速道路走行中」、「一般道(レーン)走行中」、「交差点通過中」、「停止・減速中」、「非レーン領域走行中(駐車場など)」、「Uターン中」、および「路肩駐車中」といった自動車の動作モードを加えるようにしてもよく、これにより、個人化関数の学習を容易にできることがある。
【0275】
また、以上においては、検証装置13が、インターネットに代表されるネットワークを介した外部の装置として構成される例について説明してきたが、ハードウェアの機能を強化させることで、運転制御装置11に設けるようにしてもよい。
【0276】
<<2.第1の変形例>>
以上においては、検証処理において求められた検証結果だけを検証装置13から運転制御装置11に供給する例について説明してきたが、検証結果に加えて、シミュレーションなどで事故が発生しまったような失敗データや、事故を回避可能な正解データを併せて運転制御装置11に供給するようにしてもよい。このようにすることで、運転制御装置11においては、失敗データや正解データのフィードバックを受けて、再学習を実現することが可能となる。
【0277】
<検証装置の第1の変形例における構成例>
次に、
図18のブロックを参照して、検証結果に加えて、失敗データおよび正解データを併せて運転制御装置11に供給するようにした検証装置13の構成例について説明する。尚、
図18において、
図15の検証装置13と同一の機能を備えた構成については、同一の名称、および同一の符号を付しており、その説明は省略するものとする。すなわち、
図18の検証装置13において、
図15の検証装置13と異なる点は、検証部190に代えて、検証部201を設けた点である。
【0278】
検証部201は、基本的な機能は検証部190と同様であるが、さらに、検証結果に問題がある個人化関数であった場合、検証結果に加えて、失敗データおよび正解データを併せて運転制御装置11に供給する。
【0279】
<運転制御装置の第1の変形例における構成例>
次に、
図19を参照して、検証装置13から、検証結果に加えて、失敗データおよび正解データを受信する運転制御装置11の構成例について説明する。尚、
図19において、
図1の運転制御装置11と同一の機能を備えた構成については、同一の名称、および同一の符号を付しており、その説明は省略するものとする。
【0280】
すなわち、
図19の運転制御装置11において、
図1の運転制御装置11と異なる点は、個人化関数学習部91、および学習結果検証部93に代えて、個人化関数学習部211、および学習結果検証部212を設けた点である。
【0281】
学習結果検証部212は、基本的に、学習結果検証部93と同様の機能を備えるが、さらに、
図19の検証装置13から送信されてくる検証結果、失敗データおよび正解データを受信する。このとき、学習結果検証部212は、検証を依頼した個人化関数に問題があることを示す検証結果が送信されてくるとき、併せて送られてくる失敗データおよび正解データを受信すると、失敗データおよび正解データを個人化関数学習部211にフィードバックする。
【0282】
個人化関数学習部211は、基本的に、個人化関数学習部91と同様の機能を備えるが、さらに、学習結果検証部212より失敗データおよび正解データを取得すると、以降の関数学習にこれを利用する。
【0283】
<
図18の検証装置による検証処理>
ここで、
図20のフローチャートを参照して、検証結果に加えて、失敗データおよび正解データを運転制御装置11に送信する
図18の検証装置13による検証処理について説明する。尚、
図20のステップS201乃至S215,S217の処理については、
図17のステップS161乃至S176と同様の処理であるので、その説明は省略するものとする。
【0284】
すなわち、ステップS216において、検証部201は、検証結果が問題のないものであるか否かを判定する。ここで、検証結果に問題がある場合、処理は、ステップS218に進む。
【0285】
ステップS218において、検証部201は、検証結果と共に、失敗データおよび正解データを運転制御装置11に供給する。
【0286】
以上の処理により、個人化関数に問題がある場合、検証結果と共に、失敗データおよび正解データを運転制御装置11に供給することが可能となる。
【0287】
<
図19の運転制御装置11による個人化関数更新処理>
次に、
図21のフローチャートを参照して、検証結果と共に、失敗データおよび正解データが送信されてくる、
図19の運転制御装置11における個人化関数更新処理について説明する。尚、
図19におけるステップS241,S242,S244、およびS245の処理は、
図14におけるステップS141、S142、S144、およびS145の処理と同様であるので、その説明は適宜省略するものとする。
【0288】
すなわち、ステップS243において、学習結果検証部212は、検証結果と共に、失敗データおよび正解データを取得する。
【0289】
そして、ステップS244において、個人化関数に問題がある場合、処理は、ステップS246に進む。
【0290】
ステップS246において、学習結果検証部212は、失敗データおよび正解データを個人化関数学習部211に供給し、フィードバックする。
【0291】
以上の処理により、学習結果検証部212は、失敗データおよび正解データを用いた学習が可能となるため、再学習を実現することが可能となる。尚、再学習において必要とされるのは、失敗データであるため、正解データは必須ではない。
【0292】
<<3.第2の変形例>>
以上においては、検証結果に加えて、失敗データおよび正解データを運転制御装置11に送信させる検証装置13の例について説明してきたが、個人化関数に問題がある場合、検証装置13において、シミュレーションにより再訓練し、矯正した個人化関数を矯正関数として運転制御装置11に戻すことで個人化関数の更新を行い易くするようにしてもよい。このようにすることで、運転制御装置11においては、学習において完全な個人化関数が完成できない状態でも、矯正関数を受け取り、更新を早期に実現することが可能となる。
【0293】
<検証装置の第2の変形例における構成例>
次に、
図22のブロックを参照して、検証結果に問題があった場合の個人化関数を再訓練により矯正した矯正関数を生成し、検証結果に加えて、失敗データおよび正解データ、並びに、矯正関数を併せて運転制御装置11に供給するようにした検証装置13の構成例について説明する。尚、
図22において、
図18の検証装置13と同一の機能を備えた構成については、同一の名称、および同一の符号を付しており、その説明は省略するものとする。
【0294】
すなわち、
図22の検証装置13において、
図18の検証装置13と異なる点は、検証部201に代えて、検証部221を設けた点である。
【0295】
検証部221は、基本的な機能は検証部201と同様であるが、さらに、検証結果に問題がある個人化関数であった場合、個人化関数を再訓練(再学習)させて矯正関数を生成し、検証結果に加えて、失敗データおよび正解データ、並びに、矯正関数を併せて運転制御装置11に供給する。この際、検証部221は、個人化関数を検証した方法と同手法で矯正関数についても検証処理を施し、検証結果を運転制御装置11に送信する。したがって、この場合、検証部221は、検証が要求された個人化関数、および矯正関数の2種類の検証結果と共に、失敗データおよび正解データを運転制御装置11に送信する。
【0296】
<運転制御装置の第1の変形例における構成例>
次に、
図23を参照して、検証装置13から、検証結果に加えて、失敗データおよび正解データ、並びに、矯正関数を受信する運転制御装置11の構成例について説明する。尚、
図23において、
図19の運転制御装置11と同一の機能を備えた構成については、同一の名称、および同一の符号を付しており、その説明は省略するものとする。
【0297】
すなわち、
図23の運転制御装置11において、
図19の運転制御装置11と異なる点は、個人化関数学習部211、学習結果検証部212、検証結果判定部94、および個人化関数更新部95に代えて、個人化関数学習部231、学習結果検証部232、検証結果判定部233、および個人化関数更新部234を設けた点である。
【0298】
学習結果検証部232は、基本的に、学習結果検証部212と同様の機能を備えるが、さらに、
図22の検証装置13から送信されてくる検証結果、失敗データおよび正解データ、並びに矯正関数を受信する。このとき、学習結果検証部232は、検証を依頼した個人化関数に問題があることを示す検証結果が送信されてくるとき、併せて送られてくる失敗データおよび正解データ、並びに矯正関数を受信すると、失敗データおよび正解データ、並びに矯正関数を個人化関数学習部231にフィードバックする。
【0299】
個人化関数学習部231は、基本的に、個人化関数学習部211と同様の機能を備えるが、さらに、学習結果検証部232より失敗データおよび正解データ、並びに矯正関数を取得すると、以降の関数学習にこれを利用する。
【0300】
さらに、検証結果判定部233は、基本的な機能が検証結果判定部94と同様であるが、さらに、矯正関数も併せて送信されてくるとき、矯正関数の検証結果に基づいて、個人化関数の更新を判定し、検証結果に問題がなければ、個人化関数を矯正関数で更新させる。
【0301】
個人化関数更新部234は、基本的には、個人化関数更新部95と同様の機能を備えているが、さらに、矯正関数の検証結果に問題がない場合、矯正関数で、個人化関数記憶部54に記憶されている、対応する個人化関数を更新する。
【0302】
<
図22の検証装置における検証処理>
ここで、
図24のフローチャートを参照して、検証結果に問題がある場合、再訓練により個人化関数を矯正した矯正関数を生成するときの検証処理について説明する。尚、
図20のステップS261乃至S275,S277の処理については、
図17のステップS161乃至S176と同様の処理であるので、その説明は省略するものとする。
【0303】
すなわち、ステップS276において、検証部221は、検証結果が問題のないものであるか否かを判定する。ここで、検証結果に問題がある場合、処理は、ステップS278に進む。
【0304】
ステップS278において、検証部221は、個人化関数の再訓練(再学習)を行うことで矯正し、矯正関数を生成し、さらに、検証する。
【0305】
ステップS279において、検証部190は、矯正関数の検証結果と共に、失敗データおよび矯正関数を運転制御装置11に供給する。
【0306】
尚、矯正関数は、学習量に応じて、必ずしも安全性が確認されるレベルにまで達したものとならない可能性がある。しかしながら、矯正関数が完成するまでに必要とされる学習がある程度なされた状態となるため、これを利用した学習により学習効率を向上させることが可能となる。
【0307】
以上の処理により、検証結果と共に、失敗データおよび矯正関数を運転制御装置11に供給することが可能となる。
【0308】
<
図23の運転制御装置における個人化関数更新処理>
次に、
図25のフローチャートを参照して、検証結果と共に、失敗データおよび矯正関数が送信されてくるときの運転制御装置11における個人化関数更新処理について説明する。尚、
図21におけるステップS301,S302,S304、およびS305の処理は、
図14におけるステップS141、S142、S144、およびS145の処理と同様であるので、その説明は適宜省略するものとする。
【0309】
すなわち、ステップS303において、学習結果検証部232は、検証結果と共に、失敗データおよび矯正関数を取得する。
【0310】
そして、ステップS304において、検証結果判定部233により個人化関数に問題がある場合、処理は、ステップS306に進む。
【0311】
ステップS306において、検証結果判定部233は、矯正関数に問題があるか否かを判定する。ステップS306において、問題があるとみなされた場合、処理は、ステップS307に進む。
【0312】
ステップS307において、学習結果検証部232は、失敗データおよび矯正関数を個人化関数学習部231に供給し、フィードバックする。
【0313】
この処理により再学習が可能となり、さらに、ある程度学習が進んだ状態であるので、学習効率を向上させることが可能となる。
【0314】
一方、ステップS306において、矯正関数に問題がない場合、処理は、ステップS305に進む。すなわち、この場合、ステップS305において、個人化関数更新部234は、個人化関数記憶部54に記憶されている個人化関数を、送信されてきた矯正関数により更新する。
【0315】
以上の処理により、個人化関数が検証装置13により検証された後、問題がある場合、再訓練により矯正関数が求められ、問題がないレベルの矯正関数が求められれば、運転制御装置11は、個人化関数を直ちに更新することが可能となる。このため、普段、あまり運転しない運転者であっても効率よく個人化関数を更新することが可能となる。
【0316】
また、矯正関数が不完全であっても、ある程度学習が進んだ矯正関数と失敗データを用いて再学習させることができるので、学習効率を向上させることが可能となる。
【0317】
<<4.第1の応用例>>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車などのいずれかの種類の自動車に搭載される装置として実現されてもよい。
【0318】
図26は、本開示に係る技術が適用され得る自動車制御システム2000の概略的な構成の一例を示すブロック図である。自動車制御システム2000は、通信ネットワーク2010を介して接続された複数の電子制御ユニットを備える。
図26に示した例では、自動車制御システム2000は、駆動系制御ユニット2100、ボディ系制御ユニット2200、バッテリ制御ユニット2300、車外情報検出ユニット2400、車内情報検出ユニット2500、及び統合制御ユニット2600を備える。これらの複数の制御ユニットを接続する通信ネットワーク2010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
【0319】
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク2010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。
図26では、統合制御ユニット2600の機能構成として、マイクロコンピュータ2610、汎用通信I/F2620、専用通信I/F2630、測位部2640、ビーコン受信部2650、車内機器I/F2660、音声画像出力部2670、車載ネットワークI/F2680及び記憶部2690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
【0320】
駆動系制御ユニット2100は、各種プログラムにしたがって自動車の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット2100は、内燃機関又は駆動用モータ等の自動車の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、自動車の舵角を調節するステアリング機構、及び、自動車の制動力を発生させるZc等の制御装置として機能する。駆動系制御ユニット2100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
【0321】
駆動系制御ユニット2100には、自動車状態検出部2110が接続される。自動車状態検出部2110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、自動車の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット2100は、自動車状態検出部2110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
【0322】
ボディ系制御ユニット2200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット2200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット2200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット2200は、これらの電波又は信号の入力を受け付け、自動車のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
【0323】
バッテリ制御ユニット2300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池2310を制御する。例えば、バッテリ制御ユニット2300には、二次電池2310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット2300は、これらの信号を用いて演算処理を行い、二次電池2310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
【0324】
車外情報検出ユニット2400は、自動車制御システム2000を搭載した自動車の外部の情報を検出する。例えば、車外情報検出ユニット2400には、撮像部2410及び車外情報検出部2420のうちの少なくとも一方が接続される。撮像部2410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部2420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、自動車制御システム2000を搭載した自動車の周囲の他の自動車、障害物又は歩行者等を検出するための周囲情報検出センサが含まれる。
【0325】
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部2410及び車外情報検出部2420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
【0326】
ここで、
図27は、撮像部2410及び車外情報検出部2420の設置位置の例を示す。撮像部2910,2912,2914,2916,2918は、例えば、自動車2900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部2910及び車室内のフロントガラスの上部に備えられる撮像部2918は、主として自動車2900の前方の画像を取得する。サイドミラーに備えられる撮像部2912,2914は、主として自動車2900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部2916は、主として自動車2900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部2918は、主として先行自動車又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
【0327】
なお、
図27には、それぞれの撮像部2910,2912,2914,2916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部2910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部2912,2914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部2916の撮像範囲を示す。例えば、撮像部2910,2912,2914,2916で撮像された画像データが重ね合わせられることにより、自動車2900を上方から見た俯瞰画像が得られる。
【0328】
自動車2900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部2920,2922,2924,2926,2928,2930は、例えば超音波センサ又はレーダ装置であってよい。自動車2900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部2920,2926,2930は、例えばLIDAR装置であってよい。これらの車外情報検出部2920乃至2930は、主として先行自動車、歩行者又は障害物等の検出に用いられる。
【0329】
図26に戻って説明を続ける。車外情報検出ユニット2400は、撮像部2410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット2400は、接続されている車外情報検出部2420から検出情報を受信する。車外情報検出部2420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット2400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット2400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット2400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット2400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
【0330】
また、車外情報検出ユニット2400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット2400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部2410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット2400は、異なる撮像部2410により撮像された画像データを用いて、視点変換処理を行ってもよい。
【0331】
車内情報検出ユニット2500は、車内の情報を検出する。車内情報検出ユニット2500には、例えば、運転者の状態を検出する運転者状態検出部2510が接続される。運転者状態検出部2510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット2500は、運転者状態検出部2510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット2500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
【0332】
統合制御ユニット2600は、各種プログラムにしたがって自動車制御システム2000内の動作全般を制御する。統合制御ユニット2600には、入力部2800が接続されている。入力部2800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。入力部2800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、自動車制御システム2000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部2800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。さらに、入力部2800は、例えば、上記の入力部2800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット2600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部2800を操作することにより、自動車制御システム2000に対して各種のデータを入力したり処理動作を指示したりする。
【0333】
記憶部2690は、マイクロコンピュータにより実行される各種プログラムを記憶するRAM(Random Access Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するROM(Read Only Memory)を含んでいてもよい。また、記憶部2690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
【0334】
汎用通信I/F2620は、外部環境2750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F2620は、GSM(登録商標)(Global System of Mobile communications)、WiMAX、LTE(Long Term Evolution)若しくはLTE−A(LTE−Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi−Fi(登録商標)ともいう)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F2620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F2620は、例えばP2P(Peer To Peer)技術を用いて、自動車の近傍に存在する端末(例えば、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
【0335】
専用通信I/F2630は、自動車における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F2630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、又はDSRC(Dedicated Short Range Communications)といった標準プロトコルを実装してよい。専用通信I/F2630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
【0336】
測位部2640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、自動車の緯度、経度及び高度を含む位置情報を生成する。なお、測位部2640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
【0337】
ビーコン受信部2650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部2650の機能は、上述した専用通信I/F2630に含まれてもよい。
【0338】
車内機器I/F2660は、マイクロコンピュータ2610と車内に存在する様々な機器との間の接続を仲介する通信インタフェースである。車内機器I/F2660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F2660は、図示しない接続端子(及び、必要であればケーブル)を介して有線接続を確立してもよい。車内機器I/F2660は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は自動車に搬入され若しくは取り付けられる情報機器との間で、制御信号又はデータ信号を交換する。
【0339】
車載ネットワークI/F2680は、マイクロコンピュータ2610と通信ネットワーク2010との間の通信を仲介するインタフェースである。車載ネットワークI/F2680は、通信ネットワーク2010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
【0340】
統合制御ユニット2600のマイクロコンピュータ2610は、汎用通信I/F2620、専用通信I/F2630、測位部2640、ビーコン受信部2650、車内機器I/F2660及び車載ネットワークI/F2680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、自動車制御システム2000を制御する。例えば、マイクロコンピュータ2610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット2100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ2610は、自動車の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、自動運転等を目的とした協調制御を行ってもよい。
【0341】
マイクロコンピュータ2610は、汎用通信I/F2620、専用通信I/F2630、測位部2640、ビーコン受信部2650、車内機器I/F2660及び車載ネットワークI/F2680のうちの少なくとも一つを介して取得される情報に基づき、自動車の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ2610は、取得される情報に基づき、自動車の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
【0342】
音声画像出力部2670は、自動車の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。
図26の例では、出力装置として、オーディオスピーカ2710、表示部2720及びインストルメントパネル2730が例示されている。表示部2720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部2720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ2610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【0343】
なお、
図26に示した例において、通信ネットワーク2010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、自動車制御システム2000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク2010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク2010を介して相互に検出情報を送受信してもよい。
【0344】
以上説明した自動車制御システム2000において、
図1を用いて説明した本実施形態に係る運転制御装置11は、
図26に示した応用例の統合制御ユニット2600に適用することができる。例えば、
図1の運転制御装置11の自動運転制御ブロック21、個人化ブロック22、および手動運転制御部32は、統合制御ユニット2600のマイクロコンピュータ2610、記憶部2690、車載ネットワークI/F2680に相当する。例えば、統合制御ユニット2600が自動運転制御ブロック21として機能することにより、自動運転を安全に実現することができる。また、個人化ブロック22が、個人化関数を学習することにより、運転者毎の嗜好に応じた自動運転を実現することができる。
【0345】
また、
図1を用いて説明した運転制御装置11の少なくとも一部の構成要素は、
図26に示した統合制御ユニット2600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、
図1を用いて説明した運転制御装置11が、
図26に示した自動車制御システム2000の複数の制御ユニットによって実現されてもよい。すなわち、検出部34は、例えば、
図26に示した自動制御システム2000の車外情報検出ユニット2400、および車内検出ユニット2500の少なくともいずれかによって実現されるようにしてもよい。
【0346】
なお、
図1を用いて説明した運転制御装置11の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【0347】
<<5.第2の応用例>>
<ソフトウェアにより実行させる例>
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0348】
図28は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)3001を内蔵している。CPU3001にはバス3004を介して、入出力インタ-フェイス3005が接続されている。バス3004には、ROM(Read Only Memory)3002およびRAM(Random Access Memory)3003が接続されている。
【0349】
入出力インタ-フェイス3005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部3006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部3007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部3008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部3009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア3011に対してデータを読み書きするドライブ3010が接続されている。
【0350】
CPU3001は、ROM3002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア3011ら読み出されて記憶部3008にインストールされ、記憶部3008からRAM3003にロードされたプログラムに従って各種の処理を実行する。RAM3003にはまた、CPU3001が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0351】
以上のように構成されるコンピュータでは、CPU3001が、例えば、記憶部3008に記憶されているプログラムを、入出力インタフェース3005及びバス3004を介して、RAM3003にロードして実行することにより、上述した一連の処理が行われる。
【0352】
コンピュータ(CPU3001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア3011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0353】
コンピュータでは、プログラムは、リムーバブルメディア3011をドライブ3010に装着することにより、入出力インタフェース3005を介して、記憶部3008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部3009で受信し、記憶部3008にインストールすることができる。その他、プログラムは、ROM3002や記憶部3008に、あらかじめインストールしておくことができる。
【0354】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0355】
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0356】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【0357】
例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0358】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0359】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0360】
尚、本開示は、以下のような構成も取ることができる。
<1> 移動体の状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記移動体の動作を熟考動作として決定する熟考動作決定部と、
前記検出部の検出結果に基づいて、前記熟考動作決定部における処理に比して短時間で前記移動体の動作を決定する反射動作決定部と、
前記熟考動作と、前記反射動作決定部により決定された反射動作とに基づいて、前記移動体の動作を制御する動作制御部とを含む
運転制御装置。
<2> 前記熟考動作決定部は、
前記検出部の前記検出結果に基づいて、前記移動体の周囲のローカル情報を抽出するローカル処理部と、
前記検出部の前記検出結果に基づいて、前記移動体の周囲よりも広域のグローバル情報を抽出するグローバル処理部と、
前記ローカル情報、および前記グローバル情報に基づいて動作を決定する行動決定部を含む
<1>に記載の運転制御装置。
<3> 前記動作制御部は、前記熟考動作と前記反射動作との間に競合が発生した場合、前記競合の発生を提示するよう制御する
<1>に記載の運転制御装置。
<4> 前記動作制御部は、前記運転者からの入力に応じて前記競合を解決し、前記熟考動作と、前記反射動作とに基づいて、前記移動体の動作を制御する
<3>に記載の運転制御装置。
<5> 前記動作制御部は、前記熟考動作と前記反射動作との間に競合が発生した場合の複数の解決モードを予め記憶しており、前記複数の解決モードのいずれかの前記解決モードにしたがって、前記競合を解決し、前記熟考動作と、前記反射動作とに基づいて、前記移動体の動作を制御する
<1>に記載の運転制御装置。
<6> 前記解決モードは、
前記熟考動作および前記反射動作のいずれかを優先する第1の解決モードと、
前記熟考動作および前記反射動作のうちの、先着優先、または、後着置き換える第2の解決モードと、
前記熟考動作および前記反射動作のコマンドの優先度、または、前記熟考動作および前記反射動作の動作環境の確信度の高い方を優先する第3の解決モードと、
前記熟考動作および前記反射動作の両者の動作を利用した重付平均とするか、または多数決とする第4の解決モードと、
前記熟考動作および前記反射動作の双方が反対している事実を入力に加えて、双方で再計算する第5の解決モードと、
前記熟考動作および前記反射動作のコマンド自体の優先度を優先する第6の解決モードと、
前記熟考動作および前記反射動作のどちらも出さず停止させるか、現状を継続させる第7の解決モードと、
前記移動体の運転者を介入させる第8の解決モードと
を含む
<5>に記載の運転制御装置。
<7> 前記動作制御部は、前記熟考動作および前記反射動作が決定される際に利用されるパラメータを設定する操作可能なスライドバーを表示し、前記運転者により操作された前記スライドバーの位置に応じた値の前記パラメータが用いられて決定された前記熟考動作および前記反射動作に基づいて、前記移動体の動作を制御する
<6>に記載の運転制御装置。
<8> 前記動作制御部は、前記熟考動作と、前記反射動作とに基づいて、前記移動体を自動運転制御するときの動作を制御する
<1>に記載の運転制御装置。
<9> 移動体の状態を検出し、
前記移動体の状態の検出結果に基づいて、前記移動体の動作を熟考動作として決定し、
前記検出結果に基づいて、前記熟考動作決定部における処理に比して短時間で前記移動体の動作を決定し、
前記熟考動作と、前記熟考動作が決定される処理に比して短時間で決定される反射動作とに基づいて、前記移動体の動作を制御するステップを含む
運転制御方法。
<10> 移動体の状態を検出する検出部と、
前記検出部の検出結果に基づいて、前記移動体の動作を熟考動作として決定する熟考動作決定部と、
前記検出部の検出結果に基づいて、前記熟考動作決定部における処理に比して短時間で前記移動体の動作を決定する反射動作決定部と、
前記熟考動作と、前記反射動作決定部により決定された反射動作とに基づいて、前記移動体の動作を制御する動作制御部としてコンピュータを機能させる
プログラム。