実施の形態1.
本開示では、AI(Artificial Intelligence)を“学習モデル”、“学習済みモデル”又は“学習器”と記載する。また、本開示では、“学習器”とは、既知の学習手法を用いることにより入力情報に対して出力情報を決定できるソフトウェア又はLSIで構成される制御装置を指し、“学習モデル”とは、前述の“学習器”を構成する入力情報と出力情報との対応付けが決まる前段階のソフトウェア又はLSIを指し、“学習済みモデル”とは、前述の“学習器”を構成する入力情報と出力情報との対応付けが決まった段階のソフトウェア又はLSIを指すが、学習過程を経て知能を獲得するものであれば上述の構成以外のものであってもよい。
図1は、本開示の実施の形態1における、AI統合システム1を説明するためのシステム構成図である。ここでいうAI統合システム1とは、AIを用いて制御する装置を複数統合させて動作させることにより、用途に応じた処理又は動作を行うシステムを指す。
図1に、AI統合システム1の例を示す。AI統合システム1は、産業用ロボットM1,M2及びコンベアー装置M3を統合したシステムである。
産業用ロボットM1は腕節部Arm1、捕捉部Hand1及び撮像部Camera1を備えており、撮像部Camera1で撮像しながらコンベアーによって運ばれる複数の部品類Parts1を識別し、腕節部Arm1及び捕捉部Hand1を駆動させて部品類Parts1を補足する。また、産業用ロボットM2は腕節部Arm2、捕捉部Hand2及び撮像部Camera2を備えており、撮像部Camera2で撮像しながらコンベアーによって運ばれる複数の部品類Parts2を識別し、腕節部Arm2及び捕捉部Hand2を駆動させて部品類Parts2を補足する。また、コンベアー装置M3は、コンベアーConveyor及び切り替え部Switchを備えており、コンベアーConveyorは1つの通路が途中で2つの通路に分岐して複数の部品類Partsを運び、切り替え部SwitchはコンベアーConveyorの分岐点において、運ばれてくる複数の部品類Partsを所定条件のもと、産業用ロボットM1又は産業用ロボットM2のいずれかの側に切り替えて流す。
図2は、AI統合システム1に統合される種々のAIを示すシステム構成図である。図2(a)に示すように、産業用ロボットM1の腕節部Arm1はAIであるAI1aによって制御され、捕捉部Hand1はAIであるAI1hによって制御され、撮像部Camera1はAIであるAI1cによって制御される。また、産業用ロボットM2の腕節部Arm2はAIであるAI2aによって制御され、捕捉部Hand2はAIであるAI2hによって制御され、撮像部Camera2はAIであるAI2cによって制御される。また、コンベアー装置M3はAIであるAI3によって制御される。産業用ロボットM1のAI1a、AI1h及びAI1c、産業用ロボットM2のAI2a,AI2h及びAI2c、並びに、コンベアー装置M3のAI3は、それぞれ、産業用ロボットM1,M2及びコンベアー装置M3が連動できるように制御を行う。
ところで、産業用ロボットM1のAI1a、AI1h及びAI1c、産業用ロボットM2のAI2a,AI2h及びAI2c、並びに、コンベアー装置M3のAI3は、各々のAIが搭載される産業用ロボットM1,M2及びコンベアー装置M3が統合される前に個別に制御に関する学習を行っており、AI統合システム1として統合された後に各々の装置が実際に稼働する環境においては制御に関する学習を行っていない。そのため、システムとして各々の装置が適切に動作する保証が持てないことが危惧される。
本開示では、上述のような、複数のAIを統合するシステムにおいて、各々のAIがシステムに適した制御を行うための学習を行わせるAIについて説明する。図2(b)では、このような複数のAIに学習を行わせるAIをAIsvとして示している。
次に、AI統合システム1の別の例として、自動運転機能又は運転支援機能を実装した自動車について説明する。
図3は、別のAI統合システム1を説明するためのシステム構成図である。図3では、AI統合システム1として車両2の構成を示している。車両2は、ここでは自動車(より具体的には、完成車)とする。以下、AI統合システム1を単に“システム”とも記載する。
車両2のボディである車体3には、タイヤ4、ドア5、ヘッドライト6、電子ミラー7、車載カメラ8、レーダ9及びトランスミッション10が備え付けられる。車載カメラ8及びレーダ9は、車両2の周辺の対象物を検出するための装置である。車載カメラ8は撮像装置である。レーダ9にはLiDAR(light detection and ranging)などのレーザーレーダ又はミリ波レーダなどの電磁波が用いられる。
駆動装置11は、エンジン又はモーターなど、車両2を走行させるための駆動力を発生する装置である。制動装置12は、機械的ブレーキ又は電力回生ブレーキなど、車両2を減速又は停止させるための制動力を発生する装置又は減速機構である。操舵装置13は、車両2の進行方向を変えるためのステアリング装置である。緩衝装置14は、車両2に生じる振動及び慣性力などの応力を緩和及び緩衝するための減衰力を発生するサスペンション装置である。
駆動装置11及び制動装置12は、タイヤ4に駆動力及び制動力を与える。また、操舵装置13は、タイヤ4の向きを変えることで進行方向に向かう抗力を与える。また、緩衝装置14は、車両2と路面との間に生じる応力を緩和するためにタイヤ4と車体3との間に減衰力を与える。
UI装置15は、メーター機器を含めたインストルメントパネル、カーナビゲーション又は情報端末装置など、搭乗者に対して車両2の周囲を表示したり、車両2の周辺の状況を通知したり、車両2に搭載された種々の装置類の操作を可能としたりする、UI(ユーザーインターフェース、User Interface)のための装置である。
ドア5、ヘッドライト6及び電子ミラー7は、UI装置15を介して、搭乗者からの操作を受け付けて動作する。
認識装置16は、車載カメラ8、レーダ9及び図示しないGPS(Global Positioning System)装置などを個別又は連動させて制御することにより、車両2内外の対象物を検出及び認識したり、車両2の位置情報を取得したりする。なお、認識装置16がヘッドライト6を制御することにより、車載カメラ8での撮像による物体などの検出及び認識の精度を向上させるようにしてもよい。
伝達装置17は、変速機及び差動装置など駆動伝達に関わる経路であるトランスミッション10を制御する。
上述の駆動装置11、制動装置12、操舵装置13、緩衝装置14、UI装置15、認識装置16及び伝達装置17は同一の装置として搭載されてもよい。また、上述の装置以外にも、車両2に搭載される他の装置をAI統合システム1に含めてもよい。
図4は、図3に示すAI統合システム1に統合される種々のAIを示すシステム構成図である。図4では、AI統合システム1は、駆動装置11、制動装置12、操舵装置13、緩衝装置14、UI装置15、認識装置16及び伝達装置17の各々を制御するためのAIが統合されている。各々のAIは機械学習を用いた学習器Lmであって、例えば、ニューラルネットワークを用いて学習させた学習済みモデルである。各々のAIは、ソフトウェア又はLSIで構成される。
駆動装置11を制御するAIを駆動制御部21、制動装置12を制御するAIを制動制御部22、操舵装置13を制御するAIを操舵制御部23、緩衝装置14を制御するAIを緩衝制御部24、UI装置15を制御するAIをUI制御部25、認識装置16を制御するAIを認識制御部26、及び、伝達装置17を制御するAIを伝達制御部27とする。
図5は、図3に示すAI統合システム1の統括部30を説明するためのシステム構成図である。AI統合システム1は統括部30を備える。なお、統括部30はAI統合装置とも扱うものとする。また、統括部30はAI統合プログラム、AI統合回路及びAI統合データとも扱うものとする。
統括部30は、駆動制御部21、制動制御部22、操舵制御部23、緩衝制御部24、UI制御部25、認識制御部26及び伝達制御部27に対し、統合学習を行わせる。
また、統括部30は、車両2が走行する環境である走行シーンDsの推定、AI統合システム1に統合された各々のAIの制御の評価、各々のAIの制御に用いられる学習済みモデルの切り替えなどを行う。統括部30での処理の詳細については後述する。
なお、本開示では、車両2が置かれる環境の例として走行シーンDsを扱うが、ここでの環境とは、車両2の走行に関わる状態又は状況に限定されるものではなく、例えば、搭乗者の挙動、体調及び安全状況、並びに、車両2の経年劣化の状態など、車載装置の制御に関わるものを含む。
図6は、図3に示すAI統合システム1の構成を説明するためのシステム構成図である。AI統合システム1は、統括部30及び複数のセンサ処理部31A,31B,・・・,31Nを備える。統括部30は、複数のセンサ処理部31と接続して種々の信号を送受信する。
また、AI統合システム1には、車両2に搭載される種々のセンサ32A,32B,・・・,32N、車載ネットワーク40に接続する通信装置41、並びに、車両2に搭載される種々の車載装置Vdが接続される。これらのセンサ32、通信装置41及び車載装置Vdは信号伝送路42を介して繋がる。車載ネットワーク40は、車車間通信、地車間通信、並びに、社会インフラとして敷設された広域通信網又はインターネット網と繋がる。
図6では、センサ32Aに接続するセンサ処理部31をセンサ処理部31A、センサ32Bに接続するセンサ処理部31をセンサ処理部31Bとしているが、各々のセンサ32とセンサ処理部31との対応は1対1でなくとも良く、1対複数、複数対1、並びに、複数対複数であってもよい。
種々のセンサ32A,32B,・・・,32Nは、車両2に搭載される装置であって、例えば、走行速度情報、サスペンションに掛かる荷重情報、及び、温度情報など、車両2に関わる種々の情報を検知して出力する。
例えば、複数あるセンサ32のいずれかは、車体3及び個々の車輪の少なくともいずれかにおいて、速度及び加速度、ロール・ピッチ・ヨーを含む角度及び角速度、振動の振幅及び周波数、並びに、正のトルク及び負のトルク(つまり、駆動力及び制動力)などの走行制御に関わる動的な情報と、車体3内部、車体3外部及び車体3そのものの少なくともいずれかにおいて、温度、湿度、照度及び重量などの走行条件に関わる静的な情報とを検知して、検知した情報を対応するセンサ処理部31に出力する。
また、他のセンサ32のいずれかは、カメラ8での撮像、レーダ9による物体検知、並びに、例えばGPSを用いた位置検知及び通信デバイスを利用したデータ通信などの周囲の状況の認識に関わる情報を取得して、取得した情報を対応するセンサ処理部31に出力する。
種々の装置を統合するシステム1としての車両2は、上述した種々のセンサ32及び通信から得られる情報に基づいて自車両2の状態を認識し、認識した状態Stにおいて取るべき行動Actを関連付けたデータセット(行動Act,状態St)を扱うことにより、自車両2が置かれた環境とインタラクションをする。以下、種々の装置を全て統合した車両2を完成車と呼ぶ。
自車両2の状態Stとは、上述のセンサ32及び通信を介して得られる、例えば、位置情報、目標との距離情報、速度情報などの種々の情報から導出される。以下、種々のセンサ32及び通信から得られる情報をまとめて検知情報Siとする。また、行動Actとは、車両2に搭載される種々の車載装置Vdに対する制御、並びに、搭乗者に対する種々の情報の通知又は提供を指す。
センサ処理部31は、制御対象の車載装置Vdと双方向の信号伝送が可能に接続している。センサ処理部31は、制御対象の車載装置Vd又は信号伝送路42に接続された他の装置に実装される。
センサ処理部31は、上述した種々のセンサ32及び通信を介して入力した検知情報Siをもとに制御信号Csを生成して、制御対象の車載装置Vdに対して生成した制御信号Csを送信する。センサ処理部31は、入力した検知情報Siと、車載装置Vdを制御するために生成した制御信号Csとを統括部30に対して逐次出力する。
統括部30は、記憶部30mを備えており、入力した情報、導出した情報又は設定された情報など種々の情報を、一時的又は消去されるまで、記憶部30mに保持することができる。
統括部30は、検知情報Si、制御信号Cs及び出力元のセンサ処理部31を関連付けた関連情報Riを保持する。統括部30に入力される検知情報Si及び制御信号Csには、出力元のセンサ処理部31を示す情報が付与されている。このことは、センサ処理部31が検知情報Si及び制御信号Csを出力するときに出力元の情報として付与したり、信号伝送路42上の装置が出力元のセンサ処理部31の情報と検知情報Si及び制御信号Csとを関連付けるために付与したりすることで可能となる。
このように、上述のデータセット(行動Act,状態St)は、検知情報Siと制御信号Csとを関連付けたデータセット(制御信号Cs,検知情報Si)として扱うことができる。
本開示では、センサ処理部31が実装するAIの一例としてニューラルネットワークを扱う。センサ処理部31は、複数のニューラルネットワークデータを保持しており、これらの複数のニューラルネットワークデータを切り替えて設定し、制御対象の車載装置Vdの制御を行う。センサ処理部31に設定されたニューラルネットワークデータは、検知情報Siを入力すると、検知情報Siと対応した制御信号Csを生成する。以下、ニューラルネットワークデータをNNデータNdと記載する。
図6では、センサ処理部31Aは、学習器Lm、NNデータNdA1,NdA2,・・・,NdAn、及び、教師データTdAを保持している。また、センサ処理部31Bは、学習器Lm、NNデータNdB1,NdB2,・・・,NdBn、及び、教師データTdBを保持している。以降、センサ処理部31Nまで同様である。
センサ処理部31が保持する複数のNNデータNdは学習済みモデルである。この学習済みモデルは、ニューラルネットワークで構築される学習モデルに対して、入力する検知情報Siと出力する制御に関わる情報(又は制御信号Cs)とのデータセット、つまり教師データTdを用いて学習を行わせることにより獲得される。教師データTdは正解データとも呼ばれる。なお、センサ処理部31が保持する複数のNNデータNdの学習は、センサ処理部31が車両2に統合されるのに先立って行われる。
なお、AIの学習モデルは、ニューラルネットワーク以外の機械学習の手法、例えば強化学習によって、構築されてもよい。
図7は、センサ処理部31の構成を説明するための模式図である。
センサ処理部31は、AI(つまり、学習器Lm)、複数のNNデータNdを保持するための図示しない記憶装置、複数のNNデータNdのうちの1つをAIに設定するための図示しない設定部、及び、車内外の他の装置との通信を行う図示しない通信部を備える。
センサ処理部31が備える複数のNNデータNdは、センサ処理部31が車両2に統合されるのに先立って、教師データ群を用いた学習器Lmでの学習が収束した学習済みモデルである。
図7に示すように、センサ処理部31AのAIは、ニューラルネットワークで実現されており、パーセプトロンを有する。そして、複数のNNデータNdA1,NdA2,・・・,NdAnの各々は、パーセプトロンのネットワークを構成するためのパラメータデータであって、設定部は、複数のNNデータNdA1,NdA2,・・・,NdAnのうち1つをAIのパーセプトロンに設定する。つまり、パーセプトロンの構成を、複数のNNデータNdA1,NdA2,・・・,NdAnによって変えることができる。
これにより、センサ処理部31AのAIは、設定されたNNデータNdに依存して、ある入力情報(つまり、検知情報Si)に対して異なる出力情報(つまり、制御信号Cs)を生成することが可能となる。その結果、各々のセンサ処理部31は、車両2が置かれた環境に適応できるNNデータNdをAIに設定することにより、環境に応じて入力される検知情報Siに基づいて、適応性の高い(言い換えると、環境に対してインタラクティブな)制御信号Csを生成して、制御対象となる車載装置Vdを制御することができる。
なお、図7に示す例は、パラメータデータを変えることによってパーセプトロンの構成、つまりAIの制御特性を変化させるものであるが、この他の実装方法として、例えば、センサ処理部31が構成の異なるパーセプトロンを複数保持して、パーセプトロン自体を切り替えることによって、AIの制御特性を変化させたりする構成としたり、学習器Lm内にパーセプトロンを持たせる構成としたりしてもよい。つまり、パーセプトロンの配置は任意に設計されるものとする。
図8は、AIに行わせる学習と、学習によって獲得される学習済みモデルとを説明するための図である。図8では、例えば、制動装置12を制御するための学習モデルを扱っている。
図8(a)に示すように、学習モデルの学習過程において入力される情報B1は、車両2の走行速度、走行地点(又は走行位置)、目標地点(又は、目標距離若しくは目標位置)、及び、目標速度などが挙げられる。また、学習過程において教師データTdとなる入力情報B2は、車両2の走行速度、走行地点(又は走行位置)、目標地点(又は、目標距離若しくは目標位置)、目標速度、及び、制動力(又は、制動量若しくは制動時間)などが挙げられる。
教師データTdを用いて学習を行った学習モデルは、入力情報B1に対して適切な制動力(又は、制動量若しくは制動時間)を推定し、出力情報Cとして出力できるようになる。
さらに、図8(b)の「<1>データ取得」に示すように、学習のために取得するデータは、実際の走行車両2で得られる、制動制御Bcに関わる種々の情報を扱ってもよい。
制動制御Bcに関わる種々の情報とは、センサ32を用いて得られる又は導出される走行状態(例えば、各々のタイヤ4に掛かる荷重、車体3の傾き、及び車体3に働く慣性モーメントなど)及び路面状態、車載カメラ8又はレーダ(LiDAR)などを用いて認識される周囲の状況及び目標地点(又は、目標距離若しくは目標位置)、並びに、GPS、車車間通信又はVICS(Vehicle Information and Communication System(登録商標))などの車載ネットワーク40の通信を用いて得られる走行地点(又は走行位置)、天候の状況及び交通状況などが挙げられる。
また、車両2及び環境のモデルを構築し、構築したモデルに対してシミュレーション解析を行うことで導出されるデータを扱ってもよい。その他に、予め得られる既知の情報として、車両2の固有情報(例えば、車体3重量、静止時の重心、二輪駆動又は四輪駆動、並びに、前輪駆動又は後輪駆動など)を扱ってもよい。
そして、図8(b)の「<2>データ前処理」に示すように、取得したデータに対して、次のように前処理を行うことが考えられる。実測によってデータを取得する場合、センサ32での検出情報の数値化及び変換処理、車載カメラ8での撮像画像の検出及び認識処理、レーダでの反射波情報の測定及び三次元マッピング処理、GPS情報に基づいた走行地点(又は走行位置)及び目標地点(又は、目標距離若しくは目標位置)の導出処理などが挙げられる。シミュレーション解析の場合、構築した車両2及び環境モデルに対する動的解析の外乱を含めた精度向上と演算量の削減、並びに誤差の修正処理などが挙げられる。
そして、図8(b)の「<3>AI学習」に示すように、制動装置12を制御の対象とするセンサ処理部31のAIは、上述の入力情報B1及びB2並びに出力情報Cを用いて学習を経ることで、例えば、走行条件及び交通規制などに応じた走行速度の制限、走行路上での衝突回避のための停止、カーブ又は見通しの悪い交差点での走行動作に伴う減速、目的地点での停車、といった動作に際して適宜、制動制御Bcの決定を行えるようになる。
さらに、上述の学習を各々のセンサ処理部31のAIに対して行うことで、種々の走行シーンDsに対応した複数の学習済みモデルとしてのNNデータNdを獲得することができる。種々の走行シーンDsは、完成車が走行する様々な環境(例えば、交通規制、走行場所、路面状態、気候、及び気温など)を特徴付ける要素の情報で区別される。学習過程で用いられる教師データTdは、この環境を特徴付ける要素の情報を含むように予め用意される。走行シーンDsについては後述する。
このようにして、車両2に搭載される車載装置Vdは、センサ処理部31がこれらのNNデータNdを切り替えて適用することにより、自装置の動作を環境に合わせることが可能となる。
そして、図8(b)の「<4>AI活用」に示すように、センサ処理部31のAIは、例えば、様々な環境に適用可能な自動運転機能又は運転支援機能を実装した自動車における制動装置12の制動制御に活用される。このことは、完成車メーカーは、完成車に搭載された車載装置Vdに対して所望する信頼性を確保することができるようになる。
完成車としての車両2が走行する環境には、例えば、比較的低速に走行する市街地又は山岳地、比較的高速に走行する高速道路又は交通規制の緩い郊外の交通網、タイヤ4のグリップが利きやすい舗装道路、並びに、タイヤ4のグリップが利きづらい未舗装路などが挙げられる。
そして、これらの環境における検知情報Siとして、例えば、市街地では、走行車線、標識、信号、他の車両2、歩行者、自転車及び周囲若しくは周辺の見通しを妨げる建物等の障害物などが多く存在する。また、山岳地では、走行車線において頻度が高く度合いの厳しい起伏、勾配及び湾曲などが多く存在する。また、高速道路では、周囲の走行車両2との位置関係、トンネルへの出入りによる明暗、道路への乗り降りを含む車線の変更、及び、交通規制又は標識などが多く存在する。
さらに、車両2が走行する環境には、例えば、車載カメラ8が撮像する映像から情報を認識しづらい豪雨の状況、ステアリング制御とおりに走行しづらい強風の状況、並びに、水たまり、凍結及び深雪といった路面状態を悪化させる天候及び気象の状況などが挙げられる。
このように、車両2が走行する環境における検知情報Siは、種々の交通規制、周囲若しくは周辺の状況及び路面状態、種々の天候及び気候の状況、並びに、これらの状態及び状況が複合的に影響を及ぼす場合に依存する。複合的に影響を及ぼす走行シーンDsとは、例えば、晴天の都市部の一般道路、雨天時の郊外の舗装されていない走行路、及び、豪雪時の高速道路などであって、環境を特徴付ける複数の要素を組み替えたり組み合わせたりすることで構成される。センサ処理部31は、これら複数の要素を検知情報Siとして入力する。
なお、環境を特徴付ける複数の要素は、シミュレーションによって導出した情報であってもよいし、実際の車両2を実環境で走行させたときに取得した情報であってもよい。
車両2が置かれた環境に応じて、種々の車載装置Vdの制御を行うセンサ処理部31のAIは、車両2に統合される前段階において学習を行う。多様な特徴を含む環境を表現した走行シーンDsごとに複数の教師データTd(以下、教師データ群と呼ぶ)が予め用意される。これらの走行シーンDsごとの教師データ群を用いて学習モデルに学習をさせることによって学習済みモデルを獲得する。1つの走行シーンDsと対応した学習済みモデルが1つのNNデータNdであって、センサ処理部31は複数のNNデータNdを保持している。
そして、センサ処理部31は、車両2に統合された後、入力する検知情報Siをもとに、統括部30から切り替え指示SwがあったNNデータNdを用いて制御を行う。統括部30の切り替え指示Swについては後述する。このときのセンサ処理部31でのNNデータNdの切り替えは、統括部30からの切り替え指示Swがあった直後でなくとも、センサ処理部31の制御又は車載装置Vdの動作が安定しているタイミングで行うようにしてもよい。
このように、統合された車両2において各々のセンサ処理部31が複数あるNNデータNdのうち環境に適したNNデータNdに切り替えることで、例えば、市街地において速度の変化度合いを緩くするとともに車載カメラ8及び車載レーダ9の検知対象を比較的小さなもの(例えば、歩行者、自転車及び信号など)に向けて特に感度を高める、高速道路において速度の変化度合いを強くするとともにステアリングの変化度合いを大きく緩やかにする、山岳地においてステアリングの変化度合いを細かく機微にするとともに車載カメラ8及び車載レーダの検知対象を比較的大きなもの(例えば、湾曲した断崖及び傾斜など)に向けて特に感度を高める、などといった制御を車載装置Vdに対して行わせることが可能となる。
つまり、センサ処理部31は、例えば、右折を行う制御であっても、走行する環境に応じて、制御の量、期間(又は時間)、変化率(又は変化速度)及び他の制御との優先度などが異なる制御信号Csを生成して出力することが可能となる。
統括部30は、種々の走行シーンDsを推定するための情報、各々のセンサ処理部31が保持する複数のNNデータNdと走行シーンDsとの関連付けを示す情報、並びに、センサ処理部31と検知情報Si及び制御信号Csとを関連付ける関連情報Riを予め保持している。この関連情報Riは、図8(a)に示した、システム1への統合前のAI対して行われる学習に関する情報、つまり、入力情報B1及びB2と出力情報Cとのデータセットをもとに生成される。また、統括部30は、各々のセンサ処理部31に設定中のNNデータNdの情報を保持している。
図6に説明を戻す。統括部30は、評価部30e及び選択部30sを備える。以下、統括部30の評価部30eについて説明する。
評価部30eは、入力した検知情報Siをもとに、車両2が置かれた環境を特徴付ける要素を抽出又は導出し、センサ処理部31に設定中のNNデータNdでの制御が適切であるかどうかを評価する。
評価部30eは、上述の関連情報Riを用いて、車両2に統合後の各々のセンサ処理部31が出力する検知情報Siと制御信号Csとのデータセットの評価を行う。つまり、評価部30eは、車両2が環境とインタラクションするときの、車両2の状態St(つまり、入力する検知情報Si)と行動Act(つまり、出力する制御信号Cs)のデータセットを用いて、各々のAIに設定されたNNデータNdの制御を評価する。
図9は、統括部30の評価部30eが、検知情報Si及び制御信号CsのデータセットをもとにNNデータNdを評価する過程を説明するための模式図である。
センサ処理部31Aに設定されるNNデータNdA1は、市街地での走行において駆動装置11(例えば、エンジン又はモーター)を制御するために獲得された学習済みモデルである。また、センサ処理部31Aに設定されるNNデータNdA2は、高速道路での走行において駆動装置11(例えば、エンジン又はモーター)を制御するために獲得された学習済みモデルである。
センサ処理部31Bに設定されるNNデータNdB1は、市街地での走行において制動装置12(例えばブレーキ装置)を制御するために獲得された学習済みモデルである。また、センサ処理部31Bに設定されるNNデータNdB2は、高速道路での走行において制動装置12(例えばブレーキ装置)を制御するために獲得された学習済みモデルである。
センサ処理部31Cに設定されるNNデータNdC1は、市街地での走行において操舵装置13(例えばステアリング装置)を制御するために獲得された学習済みモデルである。また、センサ処理部31Cに設定されるNNデータNdC2は、高速道路での走行において操舵装置13(例えばステアリング装置)を制御するために獲得された学習済みモデルである。
センサ処理部31Dに設定されるNNデータNdD1は、市街地での走行において緩衝装置14(例えばサスペンション装置)を制御するために獲得された学習済みモデルである。また、センサ処理部31Dに設定されるNNデータNdD2は、高速道路での走行において緩衝装置14(例えばサスペンション装置)を制御するために獲得された学習済みモデルである。
評価部30eは、車両2への統合後のセンサ処理部31A~Dから入力する検知情報Si及び制御信号Csのデータセットをもとに、当該センサ処理部31に設定中のNNデータNdが環境に適しているかどうか評価を行う。
図9(a)は、センサ処理部31Aが、NNデータNdA1及びNNデータNdA2を用いて駆動装置11(例えば、エンジン又はモーター)を制御したときの、車両2の走行速度vと、車両2の振動及び傾きから導出される走行の不安定度合いIsとの関係を示している。この他にも、走行の不安定度合いIsには、評価対象の車載装置Vdに対する制御に関わる情報とセンサ32に関わる情報とのデータセットを用いても良く、例えば、各々のタイヤ4の摩擦力及び荷重(又は衝撃力)、並びに、車両2の運動エネルギー及び慣性モーメントなどを用いてもよい。駆動装置11に対する制御を駆動制御Dcとする。
図9(a)に示すように、NNデータNdA1は、学習過程によれば、走行速度vが時速40km~時速60kmの状態のとき、NNデータNdA2よりも走行の不安定度合いIsを低く抑制することができる。また、NNデータNdA2は、学習過程によれば、走行速度vが時速80km~時速100kmの状態のとき、NNデータNdA1よりも走行の不安定度合いIsを低く抑制することができる。
評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Aから入力する情報に基づいて、センサ処理部31AにはNNデータNdA1が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速40km~時速60kmの状態であると判断した場合、センサ処理部31AにNNデータNdA1が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdA1の制御は適切であると評価する。
一方で、評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Aから入力する情報に基づいて、センサ処理部31AにはNNデータNdA2が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速80km~時速100kmの状態であると判断した場合、センサ処理部31AにNNデータNdA2が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdA2の制御は適切であると評価する。
図9(b)は、センサ処理部31Bが、NNデータNdB1及びNNデータNdB2を用いて制動装置12(例えばブレーキ装置)を制御したときの、車両2の走行速度vと、走行の不安定度合いIsとの関係を示している。走行の不安定度合いIsについては、図9(a)と同様である。制動装置12に対する制御を制動制御Bcとする。
図9(b)に示すように、NNデータNdB1は、学習過程によれば、走行速度vが時速40km~時速60kmの状態のとき、NNデータNdB2よりも走行の不安定度合いIsを低く抑制することができる。また、NNデータNdB2は、学習過程によれば、走行速度vが時速80km~時速100kmの状態のとき、NNデータNdB1よりも走行の不安定度合いIsを低く抑制することができる。
評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Bから入力する情報に基づいて、センサ処理部31BにはNNデータNdB1が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速40km~時速60kmの状態であると判断した場合、センサ処理部31BにNNデータNdB1が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdB1の制御は適切であると評価する。
一方で、評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Bから入力する情報に基づいて、センサ処理部31BにはNNデータNdB2が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速80km~時速100kmの状態であると判断した場合、センサ処理部31BにNNデータNdB2が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdB2の制御は適切であると評価する。
図9(c)は、センサ処理部31Cが、NNデータNdC1及びNNデータNdC2を用いて操舵装置13(例えばステアリング装置)を制御したときの、車両2の走行速度vと、走行の不安定度合いIsとの関係を示している。走行の不安定度合いIsについては、図9(a)と同様である。操舵装置13に対する制御を操舵制御Scとする。
図9(c)に示すように、NNデータNdC1は、学習過程によれば、走行速度vが時速40km~時速60kmの状態のとき、NNデータNdC2よりも走行の不安定度合いIsを低く抑制することができる。また、NNデータNdC2は、学習過程によれば、走行速度vが時速80km~時速100kmの状態のとき、NNデータNdC1よりも走行の不安定度合いIsを低く抑制することができる。
評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Cから入力する情報に基づいて、センサ処理部31CにはNNデータNdC1が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速40km~時速60kmの状態であると判断した場合、センサ処理部31CにNNデータNdC1が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdC1の制御は適切であると評価する。
一方で、評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Cから入力する情報に基づいて、センサ処理部31CにはNNデータNdC2が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速80km~時速100kmの状態であると判断した場合、センサ処理部31CにNNデータNdC2が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdC2の制御は適切であると評価する。
図9(d)は、センサ処理部31Dが、NNデータNdD1及びNNデータNdD2を用いて緩衝装置14(例えばサスペンション装置)を制御したときの、車両2の走行速度vと、走行の不安定度合いIsとの関係を示している。走行の不安定度合いIsについては、図9(a)と同様である。緩衝装置14に対する制御を緩衝制御Ccとする。
図9(d)に示すように、NNデータNdD1は、学習過程によれば、走行速度vが時速40km~時速60kmの状態のとき、NNデータNdD2よりも走行の不安定度合いIsを低く抑制することができる。また、NNデータNdD2は、学習過程によれば、走行速度vが時速80km~時速100kmの状態のとき、NNデータNdD1よりも走行の不安定度合いIsを低く抑制することができる。
評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Dから入力する情報に基づいて、センサ処理部31DにはNNデータNdD1が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速40km~時速60kmの状態であると判断した場合、センサ処理部31DにNNデータNdD1が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdD1の制御は適切であると評価する。
一方で、評価部30eは、統括部30が保持する情報又は統括部30がセンサ処理部31Dから入力する情報に基づいて、センサ処理部31DにはNNデータNdD2が設定中であり、検知情報Si及び制御信号Csのデータセットをもとに走行速度vが時速80km~時速100kmの状態であると判断した場合、センサ処理部31DにNNデータNdD2が設定されていることは適切であると評価する。また、検知情報Si及び制御信号Csのデータセットをもとに走行の不安定度合いIsが低く抑制されていると判断した場合、NNデータNdD2の制御は適切であると評価する。
このようにして、評価部30eは、各々のセンサ処理部31が複数あるNNデータNdの1つを用いて制御対象の車載装置Vdを制御するときの検知情報Si及び制御信号Csのデータセットに基づいて、センサ処理部31に設定中のNNデータNdが適しているかどうかを評価するとともに、当該NNデータNdの制御による車載装置Vdの動作及び状態の安定性を評価する。
評価部30eは、さらに、複数のセンサ処理部31に設定中のNNデータNdを組み合わせたときの制御が適切に機能しているかどうかを判定及び評価してもよい。
以下、統括部30の選択部30sについて説明をする。評価部30eでの評価の内容が、設定中のNNデータNdの制御が適切ではなく、そのため車両2の走行が不安定であることを示す場合、選択部30sは、入力した検知情報Si及び制御信号Csのデータセットをもとに、上述した複数の走行シーンDsのうち、いずれに近似するか、又は、いずれの走行シーンDsが相応しいか推定を行う。
選択部30sが走行シーンDsを推定するための情報としては、例えば、車両2の走行速度、振動、傾き、運動エネルギー及び慣性モーメント、タイヤ4に掛かる摩擦力及び荷重(又は衝撃力)、並びに、走行路の勾配又は湾曲度合い(つまりRの度合い)、気温又は気候などが挙げられる。選択部30sは、この他に、車載ネットワーク40から得られる情報を用いて走行シーンDsを推定してもよい。
なお、統括部30は、環境を特徴付ける要素の情報と、当該要素の情報を対応付けた走行シーンDsの情報とを予め保持しているものとする。
ここで、実際の環境から得られる検知情報Siが、予め保持する走行シーンDsを構成する要素の情報と一致することは稀であると考えられる。そこで、環境を特徴付ける要素のうち走行の安全性又は信頼性に関わるものに予め高い優先度を設けておき、選択部30sが、総合的に優先度の高い走行シーンDsを推定するようにしたり、近似する走行シーンDsの候補を複数推定して、そのうち最も走行の安全性が高い制御と対応する走行シーンDsを推定するようにしたりしてもよい。最も走行の安全性が高い制御とは、例えば、走行速度の制御範囲が低速なもの、又は、周囲の対象物の検知若しくは周辺の状況の認識に基づいて走行制御を行うものなどである。
そして、選択部30sは、各々のセンサ処理部31が保持するNNデータNdのうち、推定した走行シーンDsに適するものを選択する。また、選択部30sは、入力した検知情報Si及び制御信号Csのデータセットをもとに、実際の環境に近似又は相応する特徴を含む教師データ群を用いて学習を行ったものを選択したり、車載ネットワーク40から得られる情報を用いてNNデータNdを選択したりしてもよい。
その後、選択部30sは、各々のセンサ処理部31に対し、選択したNNデータNdを設定するように切り替え指示Swを行う。
さらに、選択部30sは、評価部30eでの評価内容によらず、あるセンサ処理部31から入力した検知情報Si及び制御信号Csのデータセットをもとに、複数の走行シーンDsのうちから新たに近似する又は相応しいものを推定したり、あるセンサ処理部31に設定中のNNデータNdよりも走行シーンDsに適する他のNNデータNdを選択し、当該センサ処理部31に対して当該他のNNデータNdを設定させるための切り替え指示Swを行ったりしてもよい。
図10は、AI統合システム1における統括部30での処理を説明するためのフローチャート図である。
図10(a)は、評価部30eでの処理を示す。
処理Sp81aでは、評価部30eが、各々のセンサ処理部31から検知情報Si及び制御信号Csのデータセットを入力する。
処理Sp82aでは、評価部30eが、処理Sp81aで入力したデータセットと対応する各々のセンサ処理部31のNNデータNdでの制御を評価する。
処理Sp83aでは、評価部30eが、処理Sp82aでの評価をもとに各々のNNデータNdでの制御が適切であるかどうかを判定する。制御が適切であるNNデータNdにおいては処理Sp81aに進む。制御が適切ではないNNデータNdにおいては処理Sp84aに進む。
処理Sp84aでは、図10(b)の処理を行う。
図10(b)は、選択部30sでの処理を示す。
処理Sp81bでは、選択部30sが、各々のセンサ処理部31から検知情報Siを入力する。
処理Sp82bでは、選択部30sが、処理Sp81bで入力した検知情報Siをもとに車両2が走行する走行シーンDsを推定する。
処理Sp83bでは、選択部30sが、各々のセンサ処理部31に対して、処理Sp82bで推定した走行シーンDsに適するNNデータNdを選択する。
処理Sp84bでは、選択部30sが、各々のセンサ処理部31に対して、処理Sp83bで選択したNNデータNdに切り替えさせる切り替え指示を送信する。
なお、図10(a)及び(b)の一連の処理は独立して行われてもよい。また、図10(a)及び(b)の個々の処理は、次の処理の進捗によらず実行を開始させてもよい。例えば、各々のセンサ処理部31からデータセットが送信されれば、逐次入力を行う。
以上説明したように、実施の形態1によれば、種々の用途の動作を行う複数の装置と、当該複数の装置をそれぞれ制御する複数のAIとを統合したAI統合システム1において、AIを搭載した各々のセンサ処理部31は、システム1が置かれた環境の情報である検知情報Siを入力し、制御対象の装置を制御する制御信号Csを生成して出力する。各々のセンサ処理部31は、NNデータNdを複数保持しており、そのうち1つのNNデータNdをAIに設定することにより制御を行う。複数のNNデータNdは、システム1が置かれる環境に対応して、学習モデルに学習を行わせた学習済みモデルである。統括部30(評価部30e)は、各々のセンサ処理部31のAIに設定されたNNデータNdでの制御対象の装置への制御を評価する。また、統括部30(選択部30s)は、各々のセンサ処理部31に対して、推定される走行シーンDsと対応したNNデータNdを選択するとともに、選択したNNデータNdに切り替える指示を行って設定させる。その結果、AI統合システム1に、種々の用途の動作を行う各々の装置を制御する複数のAIを統合したとき、システム1が置かれた環境に適するNNデータNdを各々のセンサ処理部31に設定させて、種々の用途で動作する各々の装置を適切に制御させることを可能とする。
なお、AI統合システム1としては、実施の形態1で説明した車両2の他に、例えば、産業ロボット(つまり、ファクトリーオートメーション)、監視システム(又は監視装置)、空調システム(又は空調装置)、並びに、ホームエレクトロニクスなど、複数のAIを統合するものが対象となる。
システム1に統合される複数のAIが複数の学習済みモデルを切り替えて制御を行う場合、複数のAIが個別に制御を行うと、制御対象の装置間において動作の整合が取れなくなるおそれがある。特に、システム1に統合されるAI間の制御の関連性が複雑となると、設計者が各々のAIの制御の整合性を考慮して、システム1が安定した状態となるようにAIの学習済みモデルを切り替えさせることは困難となる。この問題に対して、システム1が統合された複数のAIの制御によって不安定な状態に陥らないように、統括部30が各々のAIの制御を評価して、適切な学習済みモデルを設定させるようにしたので、種々の用途の動作を行う装置類をそれぞれ制御するAIを個別に学習させたとしても、学習済みモデルで制御を行う複数のAIをシステム1に統合したときに、システム1が安定して動作することが可能となる。
なお、AI統合システム1の統括部30は、1つの車載装置Vdと対応した1つのセンサ処理部に対して、複数の学習済みモデルのうちから1つを選択し設定させてもよい。
<変形例>
図11は、統括部30の第1の変形例を説明するための模式図である。また、図12は、統括部30の第2の変形例を説明するための模式図である。図11に示すように、AI統合システム1の統括部30は、各々のセンサ処理部31のうち少なくともいずれかを含んでいてもよい。また、図12に示すように、AI統合システム1の統括部30が車両2の外部サーバにあり、車載ネットワーク40の通信を介して、車両2のセンサ処理部31などと情報のやり取りを行うようにしてもよい。
実施の形態2.
実施の形態1では、種々の車載装置Vdを車両2に統合するのに先立って、車載装置Vdを制御するセンサ処理部31のAIに対し、複数の走行シーンDsごとに学習を行わせて走行シーンDsと対応した複数のNNデータNdを獲得させた。そして、車載装置Vdの車両2への統合後には、各々のセンサ処理部31に対し、車両2が走行する環境に応じて獲得した複数のNNデータNdを切り替えて設定させた。実施の形態2では、各々のセンサ処理部31が車両2の置かれた環境に応じて設定するNNデータNdに対して統合学習を行う。
各々のセンサ処理部31が保持している複数のNNデータNdは、最終的な製品(つまり、完成車)として統合される前段階での学習によって獲得された学習済みモデルであり、最終的な製品として統合された状態において、制御対象となる車載装置Vdに対して適切な制御を行える保証はない。つまり、各々のセンサ処理部31が、学習済みの複数のNNデータNdを予め保持してこれらを切り替えながら制御対象となる車載装置Vdを制御することが可能だとしても、実際の環境を走行する完成車というシステム1で統合されたとき、切り替え指示Swにより設定されたNNデータNdが各々の車載装置Vdを安定して制御し続けることができるかどうか、信頼性を確証できないおそれがある。
ここで、制御における高いロバスト性とは、各々のセンサ処理部31が車両2に統合された後の、実際に車両2が走行する環境において、センサ処理部31のAI(つまり、学習過程の学習モデル又は学習済みモデル)が車載装置Vdの制御を行うとき、例えば、学習過程での教師データTdに含まれていなかった特徴を含む検知情報Siが入力されたり、教師データTdには含まれていたが組み合わせとして入力しなかった複数の特徴を含む検知情報Siが入力されたり、学習過程において考慮されなかった外乱を含む検知情報Siが入力されたりしても、制御対象の車載装置Vdを不安定な動作状態のままとすることなく、速やかに安定した動作状態に遷移させて制御を継続できる性質を指すものとする。
図13は、本開示の実施の形態2における、AIでの制御で扱う検知情報Si及び制御信号Csを2次元で表現する制御領域を説明するための模式図である。
統括部30は、完成車を模擬したシミュレーションによる解析、又は、実際の完成車を用いた実測によって得られた教師データTdに基づき、理論上は安定して車載装置Vdを制御できる検知情報Si及び制御信号Csの範囲によって表される制御可能な領域の情報を、各々のセンサ処理部31と対応させて保持している。
図13に示すように、種々の車載装置Vdに対するAIでの制御で扱う検知情報Si及び制御信号Csの2軸で構成される制御領域を考える。なお、種々の車載装置Vdの例として、駆動装置11、制動装置12、操舵装置13、緩衝装置14の4つを扱うものとする。
駆動装置11を制御の対象とするセンサ処理部31Aの制御領域は、検知情報Siとして車両2の速度及び加速度を扱い、制御信号Csとして駆動力Dfを扱うものとする。また、制動装置12を制御の対象とするセンサ処理部31Bの制御領域は、検知情報Siとして路面の勾配及び摩擦力(つまり、各々のタイヤ4と路面とのグリップ度合い)を扱い、制御信号Csとして制動力Bfを扱うものとする。また、操舵装置13を制御の対象とするセンサ処理部31Cの制御領域は、検知情報Siとして車両2の向き及び位置の変化(例えば、変化量又は変化率)を扱い、制御信号Csとして操舵反応Sr(例えば、操舵量又は操舵速度)を扱うものとする。また、緩衝装置14を制御の対象とするセンサ処理部31Dの制御領域は、検知情報Siとして車両2の振動及び応力の変化(例えば、変化量又は変化率)を扱い、制御信号Csとして緩衝反応Cr(例えば、緩衝量又は緩衝速度)を扱うものとする。
制御領域上の楕円A1~A4,B1~B4,C1~C4及びD1~D4は、センサ処理部31A,31B,31C及び31Dが保持するNNデータNdA1~NdA4,NdB1~NdB4,NdC1~NdC4及びNdD1~NdD4を示しており、各々のNNデータNdが扱う検知情報Si及び制御信号Csの範囲を模式的に表している。
駆動装置11について具体例を挙げると、市街地の走行シーンDsに対応した楕円A1と、高速道路の走行シーンDsに対応した楕円A2とを比較すると、楕円A1より楕円A2の方が、数値が高い範囲において車両2の速度及び加速度を維持するように駆動力を制御することとなる。なお、高速道路への出入りなどの一時的な低速運転又は渋滞などの徐行運転は、市街地又は高速道路と対応する走行シーンDs及び教師データTdに含まれるものとする。また、市街地の走行シーンDsに対応した楕円A1と、山岳地の走行シーンDsに対応した楕円A3とを比較すると、車両2の速度及び加速度を維持する範囲は同程度であるが、楕円A1より楕円A3の方が、数値が高い範囲において駆動力を制御することとなる。また、市街地の走行シーンDsに対応した楕円A1と、郊外の未舗装路の走行シーンDsに対応した楕円A4とを比較すると、楕円A1より楕円A3の方が、数値が高い範囲において車両2の速度及び加速度を維持するとともに、数値が高い範囲において駆動力を制御することとなる。以下、この楕円枠を制御可能域Iaと定義する。
制動装置12についても同様に、入力する検知情報Siと生成する制御信号Csとの範囲として、市街地の走行シーンDsに対応した制御可能域Iaである楕円B1、高速道路の走行シーンDsに対応した制御可能域Iaである楕円B2、山岳地の走行シーンDsに対応した制御可能域Iaである楕円B3、及び、未舗装路の走行シーンDsに対応した制御可能域Iaである楕円B4を考える。
操舵装置13についても同様に、入力する検知情報Siと生成する制御信号Csとの範囲として、市街地の走行シーンDsに対応した制御可能域Iaである楕円C1、高速道路の走行シーンDsに対応した制御可能域Iaである楕円C2、山岳地の走行シーンDsに対応した制御可能域Iaである楕円C3、及び、未舗装路の走行シーンDsに対応した制御可能域Iaである楕円C4を考える。
緩衝装置14についても同様に、入力する検知情報Siと生成する制御信号Csとの範囲として、市街地の走行シーンDsに対応した制御可能域Iaである楕円D1、高速道路の走行シーンDsに対応した制御可能域Iaである楕円D2、山岳地の走行シーンDsに対応した制御可能域Iaである楕円D3、及び、未舗装路の走行シーンDsに対応した制御可能域Iaである楕円D4を考える。
NNデータNdA1,NdA2,・・・,NdD4の各々は、車載装置Vd及びセンサ処理部31が車両2に統合されたとき、統合前の学習により獲得した制御可能域Iaにおいて、車両2を環境に適応させて走行制御を行うことを期待されている。
統括部30は、図13に示したような、各々のNNデータNdの制御可能域Iaを検知情報Si及び制御信号Csのデータセットで表される情報として予め保持している。評価部30eは、この制御可能域Iaの情報を用いて、車載装置Vdの動作状態の安定性の評価を行ったり、設定中のNNデータNdでの制御が適切に機能しているかどうかの評価を行ったりすることができる。また、選択部30sは、この制御可能域Iaの情報を用いて、現在の走行シーンDsに適するNNデータNdを選択し、切り替え指示Swを行うことができる。
図14は、各々の車載装置Vdでの制御における相互の影響を説明するための模式図である。図14では、車両2が山岳地を走行する場合に、センサ処理部31A,31B,31C及び31DにおいてNNデータNdA3,NdB3,NdC3及びNdD3が制御を行うことを表している。また、実線矢印Eab,Eac及びEadは、センサ処理部31AのNNデータNdA3での制御が他のセンサ処理部31のNNデータNdB3,NdC3及びNdD3での制御と相互に影響し合うことを示す。
駆動装置11におけるNNデータNdA3の制御可能域Iaの点Uaでの制御によって、制動装置12、操舵装置13及び緩衝装置14におけるNNデータNdB3,NdC3及びNdD3のそれぞれは、制御可能域Iaの点Ub,Uc及びUdで制御を行ったとする。このとき、点Ua,Ub,Uc及びUdは制御可能域Iaに含まれるため、評価部30eは、それぞれのNNデータNdの制御が適切に機能していると評価する。
また、駆動装置11におけるNNデータNdA3の制御可能域Iaの点Faでの制御によって、制動装置12、操舵装置13及び緩衝装置14におけるNNデータNdB3,NdC3及びNdD3のそれぞれは、制御可能域Iaの点Fb,Fc及びFdで制御を行ったとする。このとき、点Fa及びFbは制御可能域Iaに含まれるが、点Fc及びFdは制御可能域Iaに含まれないため、評価部30eは、それぞれのNNデータNdの制御が適切に機能していないと評価する。しかしながら、点Fcは操舵装置13を制御の対象とするNNデータNdでのロバスト性に基づいた制御によって、次の制御のタイミングにおけるNNデータNdでの制御が制御可能域Iaに含まれたとすると、安定した走行状態に車両2を維持できる可能性が生じる。
このように、一般に、学習済みモデルを含む制御系(言い換えると、制御システム)は、多少のロバスト性を有することが期待される。つまり、センサ処理部31のNNデータNdは、このロバスト性を有することにより、制御可能域Iaを超えた破線楕円枠の領域においても、制御対象となる車載装置Vdの制御を行えることが期待される。以下、この破線楕円枠をロバスト制御域Raと定義する。
このようなロバスト制御域Raでの制御は、例えば、車両2のタイヤ4の空気圧又はブレーキ圧、並びに、積載物による車体3の重量又は受ける風圧など、一時的又は経時的な走行特性の変化に対しても制御が行えることが望まれる。
しかしながら、ロバスト制御域Raは、不確定な領域であって、設計によって意図したとおりのロバスト性を制御系(言い換えると、制御システム)に与えることは困難である。そのため、センサ処理部31が保持するNNデータNdが有するロバスト性では対応できない適応外領域Naが存在する可能性がある。
図14では、実線矢印Eab,Eac及びEadと同様に、センサ処理部31B,31C及び31Dの各々のNNデータNdでの制御が相互に影響し合うことを破線矢印Ebc,Ebd及びEcdで示す。上述のとおり、各々の車載装置Vdは、NNデータNdA3,NdB3,NdC3及びNdD3の制御可能域Ia以外の不確定なロバスト制御域Raにおいて制御される可能性がある。このような不確定なロバスト制御域Raにおいて各々の車載装置Vdが制御された結果、車両2というシステム1のうえで適切に連動するとは限らない。つまり、実線矢印Eab,Eac及びEad、並びに、破線矢印Ebc,Ebd及びEcdに示した相互の影響に起因して、あるNNデータNdでのロバスト制御域Raにおける制御の結果が、他のNNデータNdに対して適応外領域Naでの制御に繋がり、当該他のNNデータNdが制御できない状況に陥るおそれがある。
このような適応外領域Naは、車載装置Vdが車両2に統合される前であっても、センサ処理部31の各々のNNデータNdが制御できる範囲を評価することにより、ある程度は予測が可能である。しかしながら、適応外領域Naを狭めるための統合学習(つまり、最終的な制御系である完成車のロバスト性を高めるための追加の学習)を、車両2に統合される前の個々のNNデータNdに対して(つまり、学習済みモデルとしてのNNデータNdを獲得する過程で)行うことは困難である。
各々の車載装置Vdを制御するセンサ処理部31のNNデータNdが適応外領域Naで制御する状況に陥らないように、各々のNNデータNdでの制御のロバスト性を高めることを考える。
図15は、AIによる制御が有するロバスト性を説明するための模式図である。図14に示す適応外領域Naでの制御に陥らないために、車両2が山岳地を走行する場合、各々の車載装置Vdを制御するNNデータNdA3,NdB3,NdC3及びNdD3のロバスト制御域Raが拡張されることで、あるNNデータNdでの制御の結果、他のNNデータNdでの制御がロバスト制御域Raの内側に含まれる可能性が高まる。これにより、各々のNNデータNdは制御対象の制御を速やかに制御可能域Ia内に遷移させ、その結果、安定した制御を継続する可能性が高まる。
図15では、NNデータNdC3での制御がロバスト制御域Ra内で行われた結果、NNデータNdD3での制御は拡張されたロバスト制御域Ra内となったことを示す。これにより、次の制御のタイミングにおいて、NNデータNdC3及びNdD3は、速やかに制御可能域Ia内での制御に復帰できるようになる。
図6に示すように、統括部30は、学習部30aを備える。統括部30は、図13に示したような、各々のセンサ処理部31における複数のNNデータNdA1,NdA2,・・・,NdD4のデータセットの制御可能域Iaの情報を予め保持している。そして、センサ処理部31に設定中のNNデータNdが制御可能域Ia外において制御を行い、その後、速やかに制御可能域Ia内での制御に復帰した場合、学習部30aは、このときの制御可能域Ia外での制御に対応したデータセットを当該NNデータNdのロバスト制御域Raとして、予め保持する制御可能域Iaの情報に対し追加及び更新を行う。
ここで、NNデータNdでの制御が速やかに制御可能域Ia内に復帰したかどうかの判定は、車両2を構成する種々の車載装置Vdの動作状態が安定した状態にあるか、又は、安定した状態に遷移しているか、評価部30eが予め設計で定められた期間における安定性を評価することにより行うことができる。
図16は、AIでの制御におけるロバスト性が拡張された状態を説明するための模式図である。図16に示すように、山岳地での走行シーンDsと同様に、他の走行シーンDsにおいてもNNデータNdのロバスト制御域Raが拡張されれば、より安定して車両2の走行を制御することが可能となる。
図17は、走行シーンDsと対応したAIの制御領域の重複部分を示す模式図である。ところで、図17に示すように、センサ処理部31が保持する走行シーンDsに対応した複数のNNデータNdの制御可能域Ia及びロバスト制御域Raを合わせた領域には、重複する重複制御域Daが存在する可能性がある。このような重複制御域Daに含まれるデータセットの扱いとしては、例えば、他の設定中のNNデータNdの走行シーンDsとの整合性又は親和性がある走行シーンDsに対応したNNデータNdに含まれるものと判定したり、重複制御域Daに遷移したデータセットがその直前に含まれていた領域のNNデータNdに含まれるものと判定したりすることが考えられる。つまり、重複制御域Daに含まれるデータセットが、次に遷移する見込みの高い領域と対応するNNデータNdに含まれるように判定する。
図18は、システム1としての車両2と、種々の車載装置Vdを制御するサブシステムとしてのAIと、さらに統括部30との関係を説明するための模式図である。
システム1としての車両2(つまり、完成車)において、統括部30は、センサ処理部31とその制御対象の車載装置Vdとの組をそれぞれサブシステムとして扱う。
各々のサブシステムは、統合前の学習によって獲得されたNNデータNdを用いて、車両2というシステム1への統合後、検知情報Siの入力と制御信号Csの生成を行いながら、各々のサブシステムの用途の動作を行う。
ところで、用途が同じサブシステムであっても、統合されるシステム1としての完成車の車種(例えば、車体3重量、重心、車幅、及びホイールベースなど)が異なったり、車種が同じであっても、仕様(例えば、ハイブリッドエンジン若しくはモーターエンジン、二輪駆動若しくは四輪駆動、並びに、排気量など)又は装備(例えば、タイヤ4、ホイール及びヘッドライト6など)が異なったりすれば、同じ環境で、同じコースを、同じ速度で走行したとしても、各々のサブシステムのセンサ処理部31が入力する検知情報Siと生成する制御信号Csとは異なってくる。
つまり、システム1としての完成車はプロパティ(つまり、車種、仕様又は装備などの種々のパラメータによって定まる特性)がそれぞれで異なる。言い換えると、完成車はそれぞれ複数の固有のパラメータを持っている。そのため、種々の車載装置Vdを制御するNNデータNdを連動させて統合学習を行わせるためには、車両2が持つ複数の固有のパラメータが及ぼす車載装置Vdへの影響を考慮する必要がある。
このことは、統合前の学習によって獲得されるNNデータNdの制御可能域Iaが同じであっても、車両2のプロパティが異なれば、制御によりデータセットが遷移する領域も異なってくることを意味する。そのため、車両2(つまり、完成車)ごとにNNデータNdの制御可能域Iaが適切に形成されていることが望ましく、その結果としてロバスト制御域Raが適切に拡張されることが期待できる。
そこで、車両2への統合前の学習によって獲得されるNNデータNdの制御可能域Iaを基礎として、車両2への統合後に、NNデータNdに対して統合学習を行わせることを考える。つまり、NNデータNdの制御可能域Iaを再形成させ、さらに再形成された制御可能域Iaを基礎としてロバスト制御域Raを拡張させることを目的に、統合後の統合学習を行わせる。
以下、各々のセンサ処理部31が保持するNNデータNdを統合学習させる方法について説明する。なお、統合後のNNデータNdの統合学習は、実際の環境において、又は、ある走行シーンDsを模擬した環境において、完成車を走行させることにより行われる。これらの環境には統合前の学習での走行シーンDsに含まれる特徴的な要素と同等の要素が含まれるものとする。
車両2への統合後、選択部30sは、入力する検知情報Siをもとに走行シーンDsを推定し、各々のセンサ処理部31が保持する複数のNNデータNdのうち、推定した走行シーンDsに対応するNNデータNdを選択して、各々のセンサ処理部31に対して設定させる。ここで、統合学習においては、選択部30sが行う走行シーンDsの推定とNNデータNdの選択及び設定とを人が行ってもよい。
また、各々のセンサ処理部31が保持するNNデータNdには、学習済みモデルを変化させない追加学習非対応モードと、追加の学習によって学習済みモデルを変化させることが可能な追加学習対応モードとを、切り替えて設定できるものとする。なお、車両2への統合時点では、各々のセンサ処理部31のNNデータNdは追加学習非対応モードに設定されるものとする。なお、学習部30aからの追加学習対応モードの指示を追加学習対応モードAL、学習部30aからの追加学習非対応モードの切り替え指示を追加学習非対応モードNLとする。
先ず、学習部30aが、各々のセンサ処理部31に対して設定中のNNデータNdを追加学習対応モードに切り替えさせ、各々のセンサ処理部31のNNデータNdに独立して一斉に統合学習を行わせる例について説明する。
ここでは、統合学習を行うための走行シーンDsとして高速道路を扱う。そして、車両2ごとに異なるプロパティとして、2つの車両2A及び2Bを扱うものとする。車両2Aは、排気量が大きく、馬力が高く、車体3の重量が重い車両2(例えば、排気量が4000cc以上のもの)とする。車両2Bは、排気量が小さく、馬力が低く、車体3の重量が軽い車両2(例えば、排気量が660cc以下のもの)とする。
高速道路では、車両2A及び車両2Bは、走行速度の維持又は他車の追い越しをするための加速、ジャンクション付近での車線変更又はカーブのための減速、並びに、進行方向を変えるための操舵を行う。
以下、種々の車載装置Vdのうち、駆動装置11、制動装置12及び操舵装置13、並びに、これら3つの車載装置Vdを制御の対象とするセンサ処理部31A、センサ処理部31Bの及びCを扱うものとする。
また、センサ処理部31A、センサ処理部31Bの及びCに設定される、高速道路に対応したNNデータNdをNNデータNdA2,NdB2及びNdC2とする。NNデータNdA2,NdB2及びNdC2は制御対象の車載装置Vdの制御を行いつつ、独立して一斉に統合学習を行わせる。
高速道路において、車両2AがRの小さいカーブに差し掛かるとき、車両2Aの制動装置12を制御するNNデータNdB2aは、車両2Aの重量が重いため、カーブに差し掛かる前に十分に走行速度を落としきれなかったとする。NNデータNdB2aは、カーブに差し掛かる時点で走行速度が速すぎるため、制御可能域Iaでの制御では走行の安全を確保できないと判定し、他のNNデータNdの制御とは独立して、制御可能域Iaを超える大きい制動力で制動装置12を制御する。また、車両2Aの操舵装置13を制御するNNデータNdC2aは、カーブに差し掛かる時点で走行速度が速すぎるため、制御可能域Iaでの制御では走行の安全を確保できないと判定し、他のNNデータNdの制御とは独立して、制御可能域Iaを超える大きい操舵量と操舵速度で操舵装置13を制御する。その結果、車両2Aは強めのブレーキと急なステアリングによって、タイヤ4のグリップが利きづらくなり、スリップしてしまうことが考えられる。
このように、制動制御Bcより先に又は一斉に操舵制御Scを行ってしまうと、タイヤ4と路面との摩擦力が車体3の慣性力に負けてスリップし、車両2の進行方向を目標に近づけることが困難となる。
車両2Aの駆動装置11を制御するNNデータNdA2aは、車両2Bよりも重い車体3を加速させるために、車両2Bの駆動装置11を制御するNNデータNdA2bに比べて高い駆動力の範囲で制御を行うこととなる。その結果、駆動力を制御するための制御量の変動(つまり、変化量又は変化率)が急峻となる。このため、学習を行うにしたがって、NNデータNdA2aの制御はNNデータNdA2bに比べて、駆動力を高める傾向が強くなると考えられる。
また、車両2Aの制動装置12を制御するNNデータNdB2aは、車両2Bよりも重い車体3を減速させるために、車両2Bの制動装置12を制御するNNデータNdB2bに比べて高い制動力の範囲で制御を行うこととなる。その結果、制動力を制御するための制御量の変動(つまり、変化量又は変化率)が急峻となる。このため、学習を行うにしたがって、NNデータNdB2aの制御はNNデータNdB2bに比べて、制動力を高める傾向が強くなると考えられる。
また、車両2Aの操舵装置13を制御するNNデータNdC2aは、車両2Bよりも重くホイールベースが長い車体3を操舵するために、車両2Bの制動装置12を制御するNNデータNdC2bに比べて操舵角の制御が複雑となる。それは、車体3が重いほど進行方向への慣性が大きくなるため、新たな目標となる進行方向に向かうフィードバック制御が安定しづらくなるからである。また、ホイールベースが長いほど回転半径が大きくなるため、新たな目標となる進行方向に向かうには広い範囲で操舵角を制御することとなるからである。その結果、操舵を制御するための制御量の変動(つまり、変化量又は変化率)が大きくなる。このため、学習を行うにしたがって、NNデータNdC2aの制御はNNデータNdC2bに比べて、操舵角を大きく頻繁に変える傾向が強くなると考えられる。
一方で、高速道路において、車両2BがRの小さいカーブに差し掛かるとき、車両2Bの制動装置12を制御するNNデータNdB2bは、車両2Bの重量が軽いため、カーブに差し掛かる前に十分に走行速度を落とすことができる。そのため、NNデータNdB2bは制御可能域Iaにおいて制動装置12を制御することができる。
また、車両2Bの操舵装置13を制御するNNデータNdC2bは、カーブに差し掛かる時点で十分に走行速度が落ちているため、制御可能域Iaにおいて操舵装置13を制御することができる。その結果、車両2Bは適度なブレーキとステアリングにより、タイヤ4のグリップが利いており、スリップすることはない。
車両2Bは、排気量が小さく、車体3の重量が軽く、ホイールベースが短いため、車両2Aでの制御よりも制御量の変動(つまり、変化量又は変化率)が緩やかとなる。
統合前の学習済みモデルであるNNデータNdをそのまま車両2Aの制御に用いたとすると、NNデータNdが事前の学習過程(又は、教師データTd)をもとに車両2Aを制御しようとしても、実際の環境での車両2Aの動作の変動(つまり、制御信号Csに対する車両2の状態を示すデータセットの変動)が激しいため、事前の教師データTdで獲得した制御可能域Iaから外れてロバスト制御域Raでの制御をとる可能性が比較的大きくなると考えられる。このことは、ロバスト制御域Raでの制御から速やかに制御可能域Iaでの制御に遷移しづらくする。このような場合、統合学習を行わせたとしても、統合前の学習済みモデルの制御可能域Iaを車両2Aに適した制御可能域Iaに再形成させられる可能性は低い。
一方で、統合前の学習済みモデルであるNNデータNdをそのまま車両2Bの制御に用いたとすると、NNデータNdが事前の学習過程(又は、教師データTd)をもとに車両2Bを制御したとき、実際の環境での車両2Bの動作の変動(つまり、制御信号Csに対する車両2の状態を示すデータセットの変動)が緩やかであるため、事前の教師データTdで獲得した制御可能域Iaから外れてロバスト制御域Raでの制御をとる可能性が比較的小さくなると考えられる。このことは、ロバスト制御域Raでの制御から速やかに制御可能域Iaでの制御に遷移しやすくする。このような場合、統合学習を行わせることで、統合前の学習済みモデルの制御可能域Iaを車両2Bに適した制御可能域Iaに再形成させられる可能性は高い。
このように、各々のNNデータNdを統合させるシステム1によっては、統合学習を秩序立てずに、独立して一斉に行わせると、各々のNNデータNdでの制御が環境に対して適切に機能せず、その結果、学習がスムーズに収束せず、統合後の各々のAIがシステム1における用途を果たせない場合が生じるおそれがある。つまり、統合学習を行ったとしてもNNデータNdの制御可能域Iaが適切に再形成されず、システム1の動作が不安定のままとなるおそれがある。
次に、学習部30aが、制御の優先度Pを考慮し、優先度Pの高いセンサ処理部31に対して設定中のNNデータNdを追加学習対応モードに切り替えさせ、各々のセンサ処理部31のNNデータNdに秩序立てて統合学習を行わせる例について説明する。
図19は、制御の優先度Pを考慮したときの各々のNNデータNdにおける統合学習の収束度合いを説明するための模式図である。車両2の走行シーンDsとして、高速道路を扱うものとする。
図19(a1)~(a3)は、制御の優先度Pとして、駆動制御Dc、制動制御Bc、及び操舵制御Scの順に統合学習を行っている。
図19(a1)は、センサ処理部31Aが、NNデータNdA2を用いて駆動制御Dcを行ったときの、駆動装置11への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。
制御信号Csの送信回数に記した1Mはある所定の回数を示しており、10Mは1Mの10倍を示す。また、制御の安定評価Seは、検知情報Siから得られる情報をもとに導出される評価値によって、評価部30eで判定することができる。そして、評価部30eは、評価値の変動が収束判断値Conv以下となったことで学習が収束したと判断する。
駆動装置11及び制動装置12に対する制御の安定評価Seは、例えば、走行速度の変化量及び変化率、目標の走行距離における目標の走行速度への到達度合い、並びに、燃費などの情報を用いて、評価部30eで判定することができる。また、操舵装置13に対する制御の安定評価Seは、例えば、目標の走行距離における目標の走行軌道への到達度合い、並びに、当該軌道上での車両2の姿勢などの情報を用いて、評価部30eで判定することができる。また、緩衝装置14に対する制御の安定評価Seは、例えば、車両2に働く慣性モーメント、各タイヤ4に掛かる荷重、車両2の傾き、並びに、車両2の振動などの情報を用いて、評価部30eで判定することができる。
図19(a1)に示すように、NNデータNdA2は、制御信号Csの送信回数が10Mを過ぎたあたりで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をTa1とする。
図19(a2)は、センサ処理部31Dが、NNデータNdD2を用いて制動制御Bcを行ったときの、制動装置12への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図19(a2)に示すように、NNデータNdD2は、制御信号Csの送信回数が10Mを過ぎたあたりで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をTa2とする。
図19(a3)は、センサ処理部31Bが、NNデータNdB2を用いて操舵制御Scを行ったときの、操舵装置13への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図19(a3)に示すように、NNデータNdB2は、制御信号Csの送信回数が10Mに達する手前で評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をTa3とする。
図19(a1)~(a3)では、NNデータNdA2,NdB2及びNdD2は、制御信号Csの送信回数が増加するのに伴い、評価値の変動が収束している。つまり、この優先度Pで制御を行っていくことで、NNデータNdA2,NdB2及びNdD2は制御対象の車載装置Vdを安定して制御できるようになる。
図20は、制御の優先度Pを考慮したときの各々のNNデータNdにおける統合学習の収束度合いを説明するための別の模式図である。車両2の走行シーンDsとして、高速道路を扱うものとする。
図20(b1)~(b3)は、制御の優先度Pとして、操舵制御Sc、駆動制御Dc、及び制動制御Bcの順に統合学習を行っている。
図20(b1)は、センサ処理部31Bが、NNデータNdB2を用いて操舵制御Scを行ったときの、操舵装置13への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数に記した1Mはある所定の回数を示しており、10Mは1Mの10倍を示し、100Mは1Mの100倍を示す。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図20(b1)に示すように、NNデータNdB2は、制御信号Csの送信回数が100Mを超えたところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をTb1とする。
図20(b2)は、センサ処理部31Aが、NNデータNdA2を用いて駆動制御Dcを行ったときの、駆動装置11への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図20(b2)に示すように、NNデータNdA2は、制御信号Csの送信回数が100Mを超えたところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をTb2とする。
図20(b3)は、センサ処理部31Dが、NNデータNdD2を用いて制動制御Bcを行ったときの、制動装置12への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図20(b3)に示すように、NNデータNdD2は、制御信号Csの送信回数が100Mを超えたところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をTb3とする。
図20(b1)~(b3)では、NNデータNdA2,NdB2及びNdD2は、図19(a1)~(a3)の場合と比べて、評価値の変動が収束するのに、より多くの制御信号Csの送信を要している。つまり、図20(b1)~(b3)では、この優先度Pで制御を行っていくことで、NNデータNdA2,NdB2及びNdD2は制御対象の車載装置Vdを安定して制御できるようにはなるが、図19(a1)~(a3)の場合と比べると、制御が適切に行われなかったときのデータセットを多く含んでおり、そのため、獲得された制御可能域Ia及びロバスト制御域Raが図19(a1)~(a3)の場合と比べて適切ではないおそれがある。
図21は、制御の優先度Pを考慮したときの各々のNNデータNdにおける統合学習の収束度合いを説明するためのさらに別の模式図である。車両2の走行シーンDsとして、高速道路を扱うものとする。
図21(c1)~(c4)は、制御の優先度Pとして、緩衝制御Cc、駆動制御Dc、制動制御Bc、及び操舵制御Scの順に統合学習を行っている。
図21(c1)は、センサ処理部31Cが、NNデータNdC2を用いて緩衝制御Ccを行ったときの、緩衝装置14への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図21(c1)に示すように、NNデータNdC2は、制御信号Csの送信回数が10Mに達しないところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をDc1とする。
図21(c2)は、センサ処理部31Aが、NNデータNdA2を用いて駆動制御Dcを行ったときの、駆動装置11への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図21(c2)に示すように、NNデータNdA2は、制御信号Csの送信回数が10Mに達しないところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をDc2とする。
図21(c3)は、センサ処理部31Dが、NNデータNdD2を用いて制動制御Bcを行ったときの、制動装置12への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図21(c3)に示すように、NNデータNdD2は、制御信号Csの送信回数が10Mに達しないところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をDc3とする。
図21(c4)は、センサ処理部31Bが、NNデータNdB2を用いて操舵制御Scを行ったときの、操舵装置13への制御信号Csの送信回数に対する制御の安定評価Seの遷移を示している。制御信号Csの送信回数及び制御の安定評価Seについては、図19(a1)と同様とする。図21(c4)に示すように、NNデータNdB2は、制御信号Csの送信回数が10Mに達しないところで評価値の変動は収束判断値Conv以下に収束する。このときの制御信号Csの送信回数をDc4とする。
図21(c2)~(c4)では、NNデータNdA2,NdB2及びNdD2は、図19(a1)~(a3)の場合と比べて、評価値の変動が収束するのに、より少ない制御信号Csの送信で済んでいる。つまり、図21(c2)~(c4)では、この優先度Pで制御を行っていくことで、NNデータNdA2,NdB2及びNdD2は制御対象の車載装置Vdを安定して制御できるようになる。さらに、図19(a1)~(a3)の場合と比べると、制御が適切に行われたデータセットを多く含んでおり、そのため、獲得された制御可能域Ia及びロバスト制御域Raが図19(a1)~(a3)の場合と比べて適切であることが期待できる。
なお、評価部30eは、各々のNNデータNdでの統合学習が収束するかどうかの判定について、評価値の変動が収束判断値Conv以下に収束する前に、例えば、制御信号Csの送信回数が所定回数に達したり、所定時間が経過したりすることにより行うことができる。
所定回数及び所定時間は、走行シーンDs及びセンサ処理部31ごとに統括部30に予め設定されてもよいし、統括部30が自車両2での統合学習を通じて車両2のプロパティ及び走行シーンDsに基づき導出したり、車載ネットワーク40を介して取得したりすることにより設定されてもよい。
なお、NNデータNdでの統合学習が収束しない場合、学習部30aは、選択部30sに対してNNデータNdの再選択指示Rsと切り替え指示Swとを行わせてもよい。
図19(a1)~(a3)及び図20(b1)~(b3)での駆動制御Dc、制動制御Bc及び操舵制御Scにおける統合学習の収束度合いの違いは、統合学習の優先度Pを駆動制御Dc、制動制御Bc及び操舵制御Scの順に行ったことである。
駆動制御Dc、制動制御Bc及び操舵制御Scの3つの制御項目Ciの優先度Pは次のように考えられる。駆動制御Dcが適切に行われず、過度な加速により走行速度が非常に高い状態において、制動制御Bc及び操舵制御Scを行ったとしても、タイヤ4と路面との間の摩擦力(つまり、タイヤ4のグリップ)が車体3の慣性力に負けてスリップしてしまうおそれがある。そのため、駆動制御Dcが適切に行われない状態で車両2を安定した状態に維持させることは困難である。したがって、3つの制御項目Ciのうち駆動制御Dcが適切に行われることが最も優先される。
また、駆動制御Dcが適切に行われて走行速度が適度である状態において、制動制御Bcより優先的に操舵制御Scを行ってしまうと、タイヤ4と路面との間の摩擦力(つまり、タイヤ4のグリップ)が車体3の慣性力に負けてスリップしてしまうおそれがある。そのため、制動制御Bcが適切に行われない状態で操舵制御Scを行ったとしても車両2を安定した状態に維持させることは困難である。したがって、3つの制御項目Ciのうち制動制御Bcが適切に行われることが次に優先される。
また、図19(a1)~(a3)及び図21(c2)~(c4)での駆動制御Dc、制動制御Bc及び操舵制御Scにおける統合学習の収束度合いの違いは、図21(c1)の緩衝制御Ccにおける統合学習を優先的に行ったことである。
例えば、車両2が凹凸の激しい未舗装面を走行する場合、タイヤ4と路面との間の摩擦力が低下してグリップが利きづらく、車両2の走行が安定しない状態となる。このような状態では、駆動制御Dc、制動制御Bc及び操舵制御Scを適切に行うことは困難となる。
車両2の走行時の安定性を確保するうえで、慣性力に抗して車体3の傾き(又は姿勢)及び重心の位置が制御されること、また、各々のタイヤ4が路面に対して均等な荷重で接地することが望ましい。車体3の傾きが抑えられていると、車両2の重心の位置が変動しづらくなり、各々のタイヤ4が路面に対して均等な荷重で接地しやすくなる。また、各々のタイヤ4が路面に対して均等な荷重で接地していると、各々のタイヤ4と路面との間の摩擦力が損なわれにくくグリップが利きた状態を維持しやすくなる。緩衝装置14は、各々のタイヤ4の緩衝度合い(つまり、変化量又は変化速度)を変化させることによって、車両2の重心の位置を変化させる(つまり、車体3の前後左右の傾きと重量のバランスを変化させる)ことができる。これにより、車両2が加速、減速及びカーブを行うとき、車両2の進行方向とは別の方向に働く慣性力に抗して路面に力を伝達させるタイヤ4の摩擦力(つまり、グリップ)をより向上させることが可能となる。
例えば、車両2が前方に加速する際には、慣性力によって車両2が後方に傾くが、この慣性力に抗して緩衝装置14が後輪の緩衝度合いを強めるように(つまり、後輪が沈みにくくなるように)動作することで、後輪に慣性力が集中して後輪の摩擦力が負けてしまうのを抑制し、結果としてタイヤ4からの前進する回転力を路面に伝わりやすくすることができる。
また、車両2が走行中にカーブする際には、慣性力によって車両2がカーブする向きとは反対に傾くが、この慣性力に抗して緩衝装置14がカーブの外側の車輪の緩衝度合いを強めるように(つまり、カーブの外側の車輪が沈みにくくなるように)動作することで、カーブ外側の車輪に慣性力が集中して車輪の摩擦力が負けてしまうのを抑制し、つまり、左右の車輪に適度に慣性力を分散させ、結果としてタイヤ4からの進行方向を変更するための反力を路面に伝わりやすくすることができる。
なお、カーブに伴い車両2が減速すると車両2が前方に傾くが、前輪に荷重が掛かることによってカーブの際の摩擦力(つまり、進行方向を変更するための反力)を強める作用が生じる。その一方で、前輪に荷重が掛かり過ぎる(言い換えると、車両2が前方に傾き過ぎる)ことによって後輪の摩擦力を弱める作用(つまり、後輪のスリップ)が生じる。このような過度な作用によって後輪のスリップを生じさせないように、緩衝装置14がカーブの外側の前後の車輪の緩衝度合いを調整することが望ましい。
統合学習によって車両2に適した緩衝制御Ccが行われることにより、車体3の傾きを抑制したり、各々のタイヤ4が路面に対して均等な荷重で接地させたりすることが可能となる。その結果、各々のタイヤ4と路面との間の摩擦力の低下を抑制してグリップを利きやすくする作用をもたらすことになる。したがって、駆動制御Dc、制動制御Bc及び操舵制御Scよりも緩衝制御Ccを優先的に行うことは、車両2の走行における安定性を確保しやすくする。
前述の高速道路での走行例では、プロパティが異なる車両2A及びBの駆動制御Dc、制動制御Bc及び操舵制御Scの優先度Pを扱った。そこでは、車両2Bより車両2Aのほうが、排気量、馬力及び車体3の重量が大きいため、その分、制御量の変動も大きくなり、統合前の学習によって獲得されたNNデータNdでは適切に制御が行われないおそれがあることを説明した。
しかしながら、上述の凹凸の激しい未舗装面を走行する場合、車両2Aに比べて車両2Bは、車体3及び車輪のサイズが小さく重量が軽いため、路面の凹凸を走行するうえで安定性を確保しづらい。このような場合、緩衝制御Ccが適切に行われるように優先的に統合学習を行わせることで、走行時の安定性を確保しやすくなる。ここでの緩衝制御Ccとは、例えば、車体3の傾き、タイヤ4が乗り上げる凹凸の大きさ、又は、カーブで働く慣性力の大きさなどに応じて、各々のタイヤ4に対する緩衝装置14の緩衝度合いの強弱を変えたり、緩衝動作のレスポンスを変えたりすることが考えられる。
上述の凹凸が激しい未舗装面での走行例では、統合学習によって緩衝制御Ccが適切に行われるようになると、駆動制御Dc、制動制御Bc及び操舵制御Scでの統合学習がより適切に行われることが期待される。
上述のとおり、システム1への統合後のNNデータNdを統合学習させる順序によっては、各々のNNデータNdでの制御が環境に対して適切に機能せず、その結果、学習がスムーズに収束せず、統合後の各々のAIがシステム1における用途を果たせない場合が生じるおそれがある。つまり、統合学習を行ったとしてもNNデータNdの制御可能域Iaが適切に再形成されず、システム1の動作が不安定のままとなるおそれがある。
そのため、学習部30aは、図19~図21に示される安定評価Seを行った結果、統合学習させているNNデータNdでの制御が環境に対して適切に機能していないと判定する場合には、制御の優先度Pを導出する過程にフィードバックして、制御の優先度Pを変更して統合学習を行わせることにより、制御対象となる車載装置Vdへの制御の過不足を抑制することが可能となる。
また、このような安定評価Seを行った結果は、制御に対する各々の車載装置Vdの動作の特性を示す情報として蓄積し、車両2のプロパティ又は走行シーンDsの特徴における影響を分析することにより、統合前の学習における教師データTd及び学習過程での評価指標、並びに、統合後の統合学習における走行シーンDsの推定及び制御の優先度Pの導出などに活用することができる。
図22は、車両2に関わる物理量が制御項目Ciに影響を及ぼすメカニズムの一例を説明するための模式図である。
制御項目Ciとして、ここでは、駆動制御Dc、制動制御Bc、操舵制御Sc、及び、緩衝制御Ccを扱う。また、車両2に関わる種々のパラメータとして、ここでは、車体3、車幅、ホイールベース、走行速度、重量(又は質量)、及び、重心を扱う。
一般に、重量(又は質量)は、完成車である車体3によって決まる。重心は、車体3、車幅及びホイールベースなどによって決まる。重量(又は質量)及び重心に関わるパラメータとして、さらに搭乗者及び積載物を扱ってもよい。
制御項目Ciの駆動制御Dc、制動制御Bc、操舵制御Sc、及び、緩衝制御Ccは、制御の結果が互いに影響し合う。これらの制御項目Ciにおける相互の影響を表現するために、それぞれの制御項目Ciの制御モデルCaを構成する物理量として、摩擦力Fb、荷重(又は衝撃力)Fp、運動エネルギーE、及び、慣性モーメントIを扱う。ここで、駆動制御Dcの制御モデルCaは制御モデルCaA、また、制動制御Bcの制御モデルCaは制御モデルCaBなど、制御項目Ciごとに制御モデルCaが決まる。また、荷重(又は衝撃力)Fp及び運動エネルギーEについては量又は変動率を扱ってもよい。
図22に示すように、駆動制御Dcの制御モデルCaは、少なくとも、車両2に働く摩擦力Fbと、運動エネルギーEとを含めて表現することができる。また、制動制御Bcの制御モデルCaは、少なくとも、車両2に働く摩擦力Fbと、運動エネルギーEとを含めて表現することができる。また、操舵制御Scの制御モデルCaは、少なくとも、車両2に働く摩擦力Fbと、慣性モーメントI(又は運動エネルギーE)とを含めて表現することができる。また、緩衝制御Ccの制御モデルCaは、少なくとも、車両2に働く荷重(又は衝撃力)Fpを含めて表現することができる。ここで、摩擦力Fb及び荷重(若しくは、衝撃力)Fpは、車両2の各タイヤ4に働くものと見做すことができる。
駆動制御Dc及び制動制御Bcは、摩擦力Fb及び運動エネルギーEの2つの変動の影響を受ける。そして、操舵制御Scは、摩擦力Fb及び慣性モーメントI(又は運動エネルギーE)の2つの変動の影響を受ける。そして、緩衝制御Ccは、荷重(又は衝撃力)Fpの1つの変動の影響を受ける。
以下に、車両2に働く物理量を用いて各々の制御モデルCaを表現した例を示す。
摩擦力Fbは、例えば、数式(1)で表すことができる。
荷重又は衝撃力Fpは、例えば、数式(2)で表すことができる。
…(2)
(m:質量、mg:重量、v:車両2の走行速度、l:衝撃により進む距離、h:落下した(又は進んだ)距離)
運動エネルギーEは、例えば、数式(3)で表すことができる。
…(3)
(m:質量、v:車両2の走行速度、I:慣性モーメント、ω:角速度)
慣性モーメントIは、例えば、数式(4)で表すことができる。
…(4)
(m:質量、r:回転半径、d:回転軸と重心との距離)
なお、制御モデルCaは、学習モデルに含まれるものであってもよいし、機械学習に限定されない一般的な制御回路又は制御プログラムに適用されるものであってもよい。
一般に、ごく短い時間の摩擦力Fbに含まれるNは、各タイヤ4に掛かる荷重又は衝撃力Fpにより変動する。また、各タイヤ4に掛かる荷重又は衝撃力Fpは、走行する車両2の運動エネルギーEにより変動する。また、走行する車両2の運動エネルギーEは、車両2の走行速度vと慣性モーメントIにより変動する。また、慣性モーメントIは、車両2の重心の位置dにより変動する。
そして、駆動制御Dc及び制動制御Bcは、車両2の走行速度vを変化させる。緩衝制御Ccは、車両2の重心の位置dを変化させる。操舵制御Scは、車両2の横滑り、オーバーステア又はアンダーステアが生じないものとすると、車両2の走行速度及び重心を変化させない、又は、変化させても微小なものと扱うことができる。
ここで、駆動制御Dc及び制動制御Bcが走行速度vを変化させると、それに伴い運動エネルギーEが変動する。このため、運動エネルギーEによって表現される荷重(又は衝撃力)Fpと、荷重(又は衝撃力)Fpによって表現される摩擦力Fbとのいずれも、駆動制御Dc及び制動制御Bcにより変動する。
また、緩衝制御Ccが車両2の重心の位置dを変化させると、それに伴い慣性モーメントIが変化する。このため、慣性モーメントIによって表現される運動エネルギーEと、運動エネルギーEによって表現される荷重(又は衝撃力)Fpと、荷重(又は衝撃力)Fpによって表現される摩擦力Fbとのいずれも、緩衝制御Ccにより変動する。
重心の位置dの変動を直接に受ける慣性モーメントIを制御モデルCaに含んだ操舵制御Scは、重心の位置を変動させる緩衝制御Ccの影響が強い。また、走行速度vの変動を直接に受ける運動エネルギーEを制御モデルCaに含んだ駆動制御Dc、制動制御Bc及び操舵制御Scは、走行速度vを変動させる駆動制御Dc及び制動制御Bcの影響が強い。また、駆動制御Dcと制動制御Bcとを比べると、駆動制御Dcは運動エネルギーEを増加させ、制動制御Bcは運動エネルギーEを減少させるため、駆動制御Dcの方が他の制御項目Ciに与える影響が強い。
これらの関係をまとめると、操舵制御Scは、駆動制御Dc、制動制御Bc及び緩衝制御Ccの影響を強く受ける。制動制御Bcは、駆動制御Dc及び緩衝制御Ccの影響を強く受ける。駆動制御Dcは、制動制御Bc及び緩衝制御Ccの影響を強く受ける。緩衝制御Ccは、駆動制御Dc及び制動制御Bcの影響を受ける。なお、駆動制御Dcが与える影響は、制動制御Bcが与える影響よりも強い。また、駆動制御Dc、制動制御Bc及び操舵制御Scは慣性モーメントIの影響を受け、慣性モーメントIは操舵制御Scの影響を受ける。したがって、各々の制御項目Ciが影響する度合い、つまり、制御の優先度Pは、緩衝制御Cc>駆動制御Dc>制動制御Bc>操舵制御Scの順となる。
このように、車両2に関わる物理量を用いて各々の制御項目Ciを表現した制御モデルCaに基づいて、各々の制御項目Ciに対して統合学習を行わせるときの優先度Pを導出することができる。
なお、車両2の制御モデルCaは、上述の数式(1)から(4)の式に限定されることはなく、ラグランジアン又はハミルトニアンの関数を用い、運動量、ポテンシャル、並びに、摩擦力及び空気抵抗などの外力表現を含んだ種々の物理量を、高速演算が可能なコンピュータ(つまり、各々の制御モデルCaの解析に特化した演算装置又は量子コンピュータなど)に演算させて導出してもよい。このとき、例えば、全て又は一部の解析演算を“運動エネルギー>>ポテンシャル+外力エネルギー”の系と見做せる場合に、運動量の解析として扱うことで演算量を抑制してもよい。また、これらの解析演算の過程において、各々の制御モデルCaの事前の解析結果を、例えば、統括部30、センサ処理部31、車載装置Vd又は車載ネットワーク40上のサーバなどで複数保持しておき、各々の車載装置Vdの挙動との類似性に基づいて保持された解析結果を利用することにより、解析演算の効率化又は高速化を図ってもよい。
上述した4つの制御項目Ciの優先度Pによれば、先ず、学習部30aは、緩衝装置14を制御の対象とするセンサ処理部31DのNNデータNdを追加学習対応モードに設定し、統合後の車両2に適する緩衝制御Ccを統合学習させる。次に、学習部30aは、駆動装置11を制御の対象とするセンサ処理部31AのNNデータNdを追加学習対応モードに設定し、統合後の車両2に適する駆動制御Dcを統合学習させる。次に、学習部30aは、制動装置12を制御の対象とするセンサ処理部31BのNNデータNdを追加学習対応モードに設定し、統合後の車両2に適する制動制御Bcを統合学習させる。次に、学習部30aは、操舵装置13を制御の対象とするセンサ処理部31CのNNデータNdを追加学習対応モードに設定し、統合後の車両2に適する操舵制御Scを統合学習させる。
このように、制御の優先度Pを考慮することにより、各々の制御項目Ciに関わるNNデータNdの統合学習を時系列で切り替えて行わせることが可能となる。
図23は、AI統合システム1に統合された複数のAIを統合学習させる過程を説明するための模式図である。図23に示す2軸は、縦軸にAIと対応する制御項目Ciを、横軸に時系列の量として時間軸Coをとっている。また、縦軸の制御項目Ciは、システム1が動作する環境(例えば、走行シーンDs)における、制御の優先度Pの順で並べられている。なお、横軸には、時系列で扱える量であれば、例えば、演算又は計数のカウント数などでもよい。図23の例では、緩衝制御Cc、駆動制御Dc、制動制御Bc、操舵制御Sc、伝達制御Tc、認識制御Rc、UI制御Ui、及び、バッテリー制御Ecの順に並べられている。
学習部30aは、統合学習の開始である時間T1において、最も優先度Pが高い緩衝制御Ccと対応するセンサ処理部31DのNNデータNdDに対して統合学習Ld1を行わせる。評価部30eは、統合学習Ld1における収束度合い又は安定評価Seなどの情報をもとに、時間T1から開始された統合学習Ld1の進捗を評価する。学習部30aは、評価部30eでの評価をもとに、他のAIの統合学習に切り替えるかどうかを判断する。
ところで、複数のAIに対して制御の優先度Pを考慮しつつ並行して学習を進めさせる方針のもと、システム1に統合される装置類及び制御するAIの特性に応じて、統合学習Ld1が収束していなくとも、安定評価Seなどから得られる学習の進捗によって他のAIの統合学習に切り替える判断を行うよう、学習部30aを処理させることも可能である。また、制御の優先度Pが高い順に、順次、AIの統合学習を終了させて次のAIの統合学習に切り替えるよう、学習部30aを処理させることも可能である。
学習部30aは、時間T2において、2番目に優先度Pが高い駆動制御Dcと対応するセンサ処理部31AのNNデータNdAに対して統合学習La1を行わせる。評価部30eは、統合学習La1における収束度合い又は安定評価Seなどの情報をもとに、時間T2から開始された統合学習La1の進捗を評価する。学習部30aは、評価部30eでの評価をもとに、他のAIの統合学習に切り替えるかどうかを判断する。
ここで、学習部30aは、統合学習Ld1と同様にして、統合学習La1が収束していなくとも、安定評価Seなどから得られる学習の進捗によって他のAIの統合学習に切り替える判断を行うものとする。
学習部30aは、時間T3において、改めてセンサ処理部31DのNNデータNdDに対して統合学習Ld2を行わせる。
このように、学習部30aは、時間T2における統合学習Ld1から統合学習La1への切り替え判断とともに、統合学習La1での進捗によって再び緩衝制御Ccの統合学習Ld2に切り替える判断を行っておくことも可能である。つまり、学習部30aは、上述の方針のもと、優先度Pが高い統合学習xの終了前に、優先度Pが低い他のAIの統合学習yを途中まで進めさせ、再び優先度Pが高い統合学習xを進めさせることで、複数のAIに対して制御の優先度Pを考慮しつつ並行して学習済みモデルを変更させることができる。
学習部30aは、時間T4において、3番目に優先度Pが高い制動制御Bcと対応するセンサ処理部31BのNNデータNdBに対して統合学習Lb1を行わせる。評価部30eは、統合学習Lb1における収束度合い又は安定評価Seなどの情報をもとに、時間T4から開始された統合学習Lb1の進捗を評価する。学習部30aは、評価部30eでの評価をもとに、他のAIの統合学習に切り替えるかどうかを判断する。
学習部30aは、時間T5において、改めて駆動制御Dcと対応するセンサ処理部31AのNNデータNdAに対して統合学習La2を行わせる。
以降、同様にして、学習部30aは、時間T6から時間T11までの期間に、緩衝制御Ccと対応するセンサ処理部31DのNNデータNdD、駆動制御Dcと対応するセンサ処理部31AのNNデータNdA、制動制御Bcと対応するセンサ処理部31BのNNデータNdB、及び、操舵制御Scと対応するセンサ処理部31CのNNデータNdCに対して統合学習を行わせる。その結果、統合学習Ld1,統合学習La1,統合学習Ld2,統合学習Lb1,統合学習La2,統合学習Lc1,統合学習Ld3,統合学習La3,統合学習Lb2及び統合学習Lc2に示すように、制御の優先度Pを反映しつつ、NNデータNdの学習を順次終了させることができる。
さらに、学習部30aは、時間T11から時間T17において、制御の優先度Pが低い伝達制御Tc、認識制御Rc、UI制御Ui及びバッテリー制御Ecの各々と対応するセンサ処理部31のNNデータNdに対しても統合学習を行わせることが可能である。
なお、学習部30aは、時間T12のように、伝達制御Tcと対応するセンサ処理部31EのNNデータNdEに対する統合学習Lt1の最中に、並行して認識制御Rcと対応するセンサ処理部31FのNNデータNdFに対する統合学習Lf1を開始させたり、時間T14のように、統合学習Lf1の最中に、並行してUI制御Uiと対応するセンサ処理部31GのNNデータNdGに対する統合学習Lg1、及び、バッテリー制御Ecと対応するセンサ処理部31HのNNデータNdHに対する統合学習Lh1を開始させたりしてもよい。
図23に示すように、制御の優先度Pを考慮することによって、学習部30aは複数のAIに対して分割して統合学習を行わせることが可能となる。これにより、複数のAIは、影響力の強さにしたがった一方的な追加学習(つまり、統合学習)だけでなく、相互に及ぼす影響の結果を反映した双方向的な追加学習(つまり、統合学習)により学習モデルを変更させることが可能となる。
図24は、AI統合システム1における統括部30での処理を説明するためのフローチャート図である。図24は、統括部30が、各々のセンサ処理部31のNNデータNdに統合学習を行わせる処理を示す。
処理Sp161では、選択部30sが、図10(b)の処理Sp81bで入力した検知情報Siをもとに車両2が走行する走行シーンDsを推定する。
処理Sp162では、学習部30aが、処理Sp161で推定した走行シーンDsをもとに、各々のセンサ処理部31のNNデータNdでの制御の優先度Pを導出する。
処理Sp163では、学習部30aが、処理Sp162で導出した制御の優先度Pをもとに、各々のセンサ処理部31のNNデータNdに対して統合学習を行わせる。
処理Sp164では、評価部30eが、処理Sp163でのNNデータNdに対する統合学習により入力したデータセットをもとに、NNデータNdでの制御を評価する。
処理Sp165では、評価部30eが、処理Sp164での評価をもとに、各NNデータNdでの統合学習が収束したかどうかを判定する。統合学習が収束した場合は処理Sp161に進み、選択部30sが新たな走行シーンDsであること、又は走行シーンが変わったことを推定したとき、引き続き、制御の優先度Pを導出し、各々のNNデータNdを追加学習対応モードに設定して統合学習を行わせる。統合学習が収束しない場合は処理Sp166に進み、図10(b)の処理を行う。
なお、処理Sp167のように、学習部30aは、処理Sp164での評価をもとにして、処理Sp163に進み、図23に示したように各々のNNデータNdでの統合学習の実行を切り替えさせてもよいし、処理Sp162に進み、走行シーンDsの特徴に応じて各々のNNデータNdでの制御の優先度Pを改めて導出し直してもよい。
なお、図24の一連の処理は、図10(a)及び(b)の処理と独立して行われてもよい。また、図24の個々の処理は、次の処理の進捗によらず実行を開始させてもよい。例えば、各々のNNデータNdでの制御の優先度Pを導出しつつ、既に導出した優先度Pに基づいて個々のNNデータNdに統合学習を行わせてもよい。
さらに、学習部30aは、各々のNNデータNdの統合学習が収束した後は、各々のNNデータNdを、常時、追加学習非対応モードに設定してもよいし、追加学習対応モードに設定してもよい。
また、複数の車両2において、車種、装備及び仕様などのプロパティが同等と見做せる場合、ある車両2で統合学習を行わせたNNデータNdを他の車両2に対して通信を介して取得させ用いさせてもよい。
また、プロパティが同等な複数の車両2間において、統合学習を行わせた各々のNNデータNdを比較及び分析して情報の差分を抽出し、抽出した差分情報をフィードバックすることにより、各々のNNデータNdでの制御における不具合の改善に利用したり、制御の優先度Pを導出するときの制御モデルCaに反映したり、各々のNNデータNdでの制御がより安定して安全性及び信頼性の高いものとなるように適用させてもよい。このようにすることで、車両2が走行する多様な環境において、車両2が個別に複数のAIをAI統合システム1に統合させるための統合学習を地道に行うことなく、複数の車両2間で未対応の環境に対して相互に補完し合いながら、より高精度でより迅速に、複数のAIを車両2のシステム1に適応させることが可能となる。
上述した複数の車両2を扱う場合、車載ネットワーク40に接続するサーバが、複数の車両2に搭載の統括部30と通信して、各々の統括部30及びセンサ処理部31が保持する種々の情報及びNNデータNdの更新を行ってもよい。
以上説明したように、実施の形態2によれば、実施の形態1のAI統合システム1において、システム1に統合された後の複数のAIがシステム1の特性に合わせて適切に制御を行えるようにするために、統括部30が複数のAIに対して制御の優先度Pを考慮した統合学習を行わせる。統括部30(学習部30a)は、システム1に統合された各々のセンサ処理部31が保持するNNデータNdに統合学習を行わせる。統括部30(学習部30a)は、統括部30(選択部30s)で推定した走行シーンDsと対応するNNデータNdに対して統合学習を行わせる。また、統括部30(学習部30a)は、走行シーンDsと対応して各々のセンサ処理部31に設定されたNNデータNdのうちから、制御の優先度Pをもとに秩序立てて(つまり、順序を決めて)統合学習を行わせる。ここでの制御の優先度Pは、例えば、各々の制御項目Ciが相互に及ぼす影響度合いの強さ関係、各々の制御項目Ciを制御モデルCaで表現したときに含まれる物理量(つまり、システム1に固有のパラメータ)を介した制御項目Ci間の因果関係、及び、各々のセンサ処理部31のNNデータNdが行う制御により制御対象の装置が行う動作の安定評価Seなどをもとに、学習部30aが導出してもよいし、人によって若しくはネットワークを介して設定されてもよい。その結果、AI統合システム1に、種々の用途の動作を行う各々の装置を制御する複数のAIを統合したとき、システム1が動作する環境において、複数のAIに設定されたNNデータNdを秩序立てて統合学習させることが可能となる。
このように、NNデータNdの統合学習を制御の優先度Pを考慮して行わせると、システム1が動作する環境において安定した動作状態を維持させるのにベースとなる制御項目Ci(言い換えると、クリティカルな制御項目Ci)が先行して適切に機能するようになるため、その他の制御項目Ciがより適切に機能できるようになり、結果として、統合後の複数のAIをシステム1に適応させやすくする効果が得られる。
システム1への統合後のAIは、統合学習によって統合前の学習により獲得した学習済みモデルをシステム1に適応して変化させることができる。そして、システム1に適応して制御を変化させたAIは、システム1への統合前と比べて、制御を行ううえでのロバスト性はより高いと言える。
また、システム1に新たにセンサ32及びセンサ処理部31を追加したり、センサ処理部31に接続するセンサ32を変更したりして統合させる場合においても、統括部30が改めて統合学習を行わせるNNデータNdの優先度Pを導出して学習させることにより、システム1は安定した動作状態を継続することが可能となる。このとき、学習部30aが追加又は変更があったセンサ32を扱うセンサ処理部31のNNデータNdに対して優先的に統合学習を行わせるよう処理することで、システム1を再び安定して動作させることが期待できる。このことは、システム1に適応して制御を変化させたAIが制御を行ううえでのロバスト性を向上させることに繋がる。
また、システム1に統合済みのセンサ処理部31のNNデータNdを変更した場合においても、統括部30が変更されたNNデータNdを統合学習させることによって、システム1を安定して動作させることが可能となる。このとき、変更されたNNデータNdだけでなく、制御の優先度Pに基づいて、他のNNデータNdを統合学習させてもよい。制御の優先度Pは統括部30が改めて導出してもよいし、既に導出されたものを用いてもよい。
また、システム1に搭載された車載装置Vd又は統合されたセンサ処理部31のいずれかが異常状態となった場合においても、統括部30が、異常状態となった車載装置Vd又はセンサ処理部31に関わるNNデータNdを除く、他のNNデータNdを統合学習させることによって、システム1を継続して動作させる可能性が得られる。これにより、システム1における装置動作に対する制御のロバスト性が向上する。
また、AIを活用した装置又は部品の共通化を図る場合、統合する各々のAIを代表的なシステム1において統合学習させておくことで、これらのAIを他のシステム1に統合させた後に行う統合学習を効率化させることが期待できる。これにより、多品種のシステム1に対して、装置及び部品とともに制御を共用化することが可能となる。
また、上述の説明では、学習部30aは、各々のNNデータNdが行う制御に関して優先度Pを導出して統合学習に利用したが、車載装置Vd自体及び車載装置Vdの動作の少なくともいずれかに関して優先度Pを導出して統合学習に利用してもよい。
また、各々のセンサ処理部31の学習器Lmが単一のNNデータNdを扱う(つまり、センサ処理部31がAIを切り替えない)構成であっても、本実施の形態2を適用することは可能である。この場合、統括部30は、各々のセンサ処理部31で用いられる単一のNNデータNd(つまりAI)に統合学習を行わせるときの優先度Pを上述の要領で導出し、導出した優先度Pに基づいて各々のNNデータNdの学習を実行させる。これにより、上述と同様にして、システム1に統合される前の学習によって制御対象となる車載装置Vdを制御するための学習済みモデルであるAI(つまり、NNデータNd)を、システム1への統合後に秩序立てて統合学習させることが可能となり、その結果、各々のセンサ処理部31のAIに対してより適切に制御を行わせる効果が得られる。このことは、AIが学習によって獲得する制御(言い換えると、自律制御)のロバスト性を向上させることに繋がる。
実施の形態3.
実施の形態2では、各々の制御項目Ciを表現する制御モデルCaを用いて制御の優先度Pを導出した。実施の形態3では、各々の制御項目Ciにおける学習過程に基づき、制御の優先度Pを導出する。
図25は、本開示の実施の形態3における、NNデータNdへの統合学習を通じて制御の優先度Pを決定する過程を説明するための模式図である。
学習部30aは、各々のセンサ処理部31が保持するNNデータNdの車両2への統合前の学習に関する情報を取得できるものとする。
NNデータNdの車両2への統合前の学習に関する情報とは、種々の走行シーンDsにおけるNNデータNdの学習過程に関する情報であって、例えば、各々のNNデータNdにおける走行シーンDsごとの制御の貢献度合い、学習の収束度合い、又は、学習に用いるシードを変えたときの学習過程のばらつき度合いなどの種々の評価項目が挙げられる。
走行シーンDsごとの制御の貢献度合いとは、車両2の走行に対する影響力であって、例えば、NNデータNdの制御対象となる車載装置Vdが適切に動作したとき(例えば、車載装置Vdの制御とその結果が、走行シーンDsに対応した教師データTdに近似するとき)、又は、適切に動作しなかったとき(例えば、車載装置Vdの制御とその結果が、走行シーンDsに対応した教師データTdに近似しないとき)、並びに、制御の後の走行の安定評価などから導出できる。学習の収束度合いは、例えば、学習が収束したと判定されるまでの制御信号Csの送信回数、又は、学習に用いる教師データ数(若しくはデータセット数)などから導出できる。学習に用いるシードを変えたときの学習過程のばらつき度合いは、例えば、シード数と学習過程のばらつきとの関係などから導出できる。
以下に、学習部30aが制御の優先度Pを決定する過程について説明する。ここでは、評価部30eが、車両2への統合前の各々のセンサ処理部31のNNデータNdに対し、走行シーンDsごとに上述の評価項目で評価を行う。上述の評価項目とは、制御の貢献度合い、学習の収束度合い及び学習過程のばらつき度合いである。
評価部30eは、この評価結果をもとに走行シーンDsごとの評価値Valを導出し、評価値Valが高いものを抽出する。評価値Valを抽出する過程において、評価項目ごとに重み付けを変えてもよい。
車両2が走行する環境として、凍結又は未舗装などの路面状態が悪い走行シーンDsを扱い、上述の評価項目をもとに評価値Valを導出した結果、各々の制御項目CiにおけるNNデータNdの評価値Valが次のとおりとなったとする。
[駆動制御Dc,制動制御Bc,操舵制御Sc,緩衝制御Cc,UI制御Ui,認識制御Rc,伝達制御Tc,バッテリー制御Ec,・・・]
=[8.5,7.5,7.0,9.0,5.0,3.0,2.0,1.5,・・・]
この評価値Valをもとに、制御の優先度Pが高いものを抽出する。抽出の方法としては、例えば、評価値Valが6.0以上の制御項目Ciを選択する方法が挙げられる。これにより、緩衝制御Cc(評価値Val:9.0)、駆動制御Dc(評価値Val:8.5)、制動制御Bc(評価値Val:7.5)及び操舵制御Sc(評価値Val:7.0)の4つの制御項目Ciが抽出されたとする。
抽出された4つの制御項目Ciに対して、評価値Valの高い順に優先度Pを設けて統合学習を行わせる。さらに、その他の走行シーンDsについても同様にして、評価、抽出及び優先度Pの決定を行い、各々のNNデータNdに統合学習を行わせる。
以上説明したように、実施の形態3によれば、実施の形態2のAI統合システム1において、評価部30eが、例えば、各々のセンサ処理部31のNNデータNdにおける統合前の学習過程に関する情報、及び、各々のNNデータNdでの制御の貢献度合いなどをもとに評価値Valを導出し、統括部30(学習部30a)が、導出された評価値Valをもとに各々の制御項目Ciの制御の優先度Pを決定して統合学習を行わせることが可能となる。なお、実施の形態2の方法と合わせて制御の優先度Pを導出することも可能である。
実施の形態4.
実施の形態4では、実施の形態3で抽出された制御項目Ciをさらに組み合わせて統合学習を行わせる。
図26は、本開示の実施の形態4における、NNデータNdへの統合学習を通じて制御の優先度Pを決定する別の過程を説明するための模式図である。実施の形態3の例では、学習部30aは、車両2に統合する種々のセンサ処理部31が担う制御項目Ciのうち、緩衝制御Cc、駆動制御Dc、制動制御Bc及び操舵制御Scの4つを抽出した。
本実施の形態では、学習部30aは、抽出された4つの制御項目Ci(つまり、駆動制御Dc、制動制御Bc、操舵制御Sc及び緩衝制御Cc)のうちから2つ以上を組み合わせて、試行的な統合学習を行わせる。
図26(a)では、学習部30aは、抽出された4つの制御項目Ciのうち2つを組み合わせた6パターンについて、組み合わせ対象の2つの制御項目Ciは追加学習対応モードとし、その他の制御項目Ciは追加学習非対応モードとして、試行的な統合学習を行わせる。そして、評価部30eは、組み合わせた6パターンについて試行的な統合学習を行わせたときの学習過程の評価を行う。学習過程の評価としては、例えば、各々のNNデータNdの出力(つまり、制御信号Cs)のばらつき度合い、又は、図19~図21に示した制御の安定評価Seなどが考えられる。学習過程において、各々のNNデータNdの出力(つまり、制御信号Cs)のばらつき度合いが大きければ、統合学習の候補として低い評価を与えることにより、制御のばらつき度合いが小さいNNデータNdの組み合わせを優先して統合学習させることが可能となる。このような試行的な統合学習での評価をもとに、学習部30aは、優先的に組み合わせて統合学習を行わせるNNデータNdを決定し、組み合わせたそれぞれのNNデータNdの学習が収束するまで統合学習を行わせる。
図26(b)では、学習部30aは、抽出された4つの制御項目Ciのうち2つの組み合わせの順序を考慮した12パターンについて、組み合わせ対象の2つの制御項目Ciは順を変えて追加学習対応モードとし、その他の制御項目Ciは追加学習非対応モードとして、試行的な統合学習を行わせる。そして、図26(a)と同様にして、評価部30eは、組み合わせた12パターンについて試行的な統合学習を行わせたときの学習過程の評価を行う。このような試行的な統合学習での評価をもとに、学習部30aは、順序を考慮したうえで優先的に組み合わせて統合学習を行わせるNNデータNdを決定し、組み合わせたNNデータNdの学習が順次収束するまで統合学習を行わせる。
図26(a)及び(b)は一例であって、学習部30aは、種々の制御項目Ciから複数のNNデータNdを組み合わせて試行的な統合学習を行わせるとともに、優先度Pを決定して統合学習を行わせてもよい。
以上説明したように、実施の形態4によれば、実施の形態2のAI統合システム1において、学習部30aが、例えば、各々のセンサ処理部31のNNデータNdを組み合わせた複数のパターンにおけるNNデータNdでの試行的な統合学習を行わせて、評価部30eが、これらの試行的な統合学習に対して評価を行う。そして、学習部30aが、評価部30eでの評価をもとに、NNデータNdの組み合わせの優先度Pを決定し、NNデータNdの統合学習を行わせることが可能となる。なお、実施の形態2及び3の方法と合わせて制御の優先度Pを導出することも可能である。
上述した実施の形態1から4におけるニューラルネットワークは、一般に、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、及び複数のニューロンからなる出力層で構成される。中間層は、1層、又は2層以上でもよい。
図27は、3層のニューラルネットワークの例を説明するための模式図である。例えば、図27に示すような3層のニューラルネットワークであれば、複数の入力が入力層(X1‐X3)に入力されると、その値に重みW1(w11‐w16)を掛けて中間層(Y1‐Y2)に入力され、その結果にさらに重みW2(w21‐w26)を掛けて出力層(Z1‐Z3)から出力される。この出力結果は、重みW1とW2の値によって変わる。
また、学習器Lmに適用される学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
図28は、上述した各実施の形態並びに変形例に示した本開示の技術を実施するためのハードウェア構成例である。ハードウェアは、少なくとも、演算装置であるCPU、メモリなどの記憶デバイスである補助記憶装置、及び、ハードディスク又は光ディスクなどの主記憶装置で構成される。ハードウェア構成は図28の例に限られることはない。さらに、外部ネットワークと接続する通信デバイスを備えていてもよい。
<各実施の形態並びに変形例の主な構成>
AI統合システムは、制御対象の装置が動作する環境の特徴を示す検知情報をセンサ及び外部ネットワークの少なくともいずれかを介して入力とし、制御対象の装置を制御するための制御信号を生成する複数の学習済みモデルのうちから、入力した検知情報をもとに、1つを選択する統括部と、選択された学習済みモデルを用いて、制御対象の装置を制御するセンサ処理部とを備える。なお、統括部は、入力した検知情報及び制御信号の少なくともいずれかに基づき、複数の学習済みモデルのうちから1つを選択するようにしてもよい。
また、AI統合システムは、制御対象の装置が動作する環境の特徴を示す検知情報をセンサ及び通信ネットワークの少なくともいずれかを介して入力とし、制御対象の装置を制御するための制御信号を生成する学習済みモデルと、複数の制御対象の装置の各々と対応して学習済みモデルを用いて制御する複数のセンサ処理部と、複数のセンサ処理部の各々に対し、学習済みモデルに追加学習させる学習部とを備える。なお、学習部は、複数のセンサ処理部のうち少なくともいずれかに対し追加学習させるようにしてもよい。
また、AI統合装置は、制御対象の装置が動作する環境の特徴を示す検知情報をセンサ及び外部ネットワークの少なくともいずれかを介して入力として制御対象の装置を制御するための制御信号を生成する複数の学習済みモデルのうち、入力した検知情報をもとに1つを選択して制御させる統括部を備える。なお、統括部は、入力した検知情報及び制御信号の少なくともいずれかに基づき、複数の学習済みモデルのうちから1つを選択するようにしてもよい。
また、AI統合装置は、複数の制御対象の装置の各々と対応した、制御対象の装置が動作する環境の特徴を示す検知情報をセンサ及び通信ネットワークの少なくともいずれかを介して入力として制御対象の装置を制御するための制御信号を生成する各々の学習済みモデルの少なくともいずれかに対し、優先的に追加学習させる統括部を備える。
また、AI統合プログラムは、制御対象の装置が動作する環境の特徴を示す検知情報をセンサ及び外部ネットワークの少なくともいずれかを介して入力として制御対象の装置を制御するための制御信号を生成する複数の学習済みモデルのうちから、入力した検知情報をもとに、環境に適する1つを選択し、制御対象の装置を制御させる。なお、AI統合プログラムは、入力した検知情報及び制御信号の少なくともいずれかに基づき、複数の学習済みモデルのうちから1つを選択するようにしてもよい。
また、AI統合プログラムは、複数の制御対象の装置の各々と対応した、制御対象の装置が動作する環境の特徴を示す検知情報をセンサ及び通信ネットワークの少なくともいずれかを介して入力として制御対象の装置を制御するための制御信号を生成する学習済みモデルの少なくともいずれかに対し、優先的に追加学習させる。