(57)【特許請求の範囲】
【請求項１】
車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、
車速と前記指令車速を含む、前記車両の走行状態を基に、前記車両を前記指令車速に従って走行させるような前記車両の操作を推論するように、機械学習器を強化学習して生成された操作推論学習モデルにより、前記操作を第１の周期で推論する操作内容推論部と、
前記走行状態を基に、前記操作内容推論部により推論された前記操作を前記第１の周期の間に調整する、調整係数を推論するように、機械学習器を強化学習して生成された調整係数推論学習モデルにより、前記調整係数を推論する調整係数推論部と、
前記第１の周期の間に、前記調整係数により前記操作を調整して調整後操作を生成し、当該調整後操作に基づき前記自動操縦ロボットを制御する車両操作制御部と、
を備え、
前記自動操縦ロボットを制御する第２の周期は、前記第１の周期よりも短く設定され、
前記調整係数推論学習モデルも前記第１の周期ごとに前記調整係数を推論し、
前記操作推論学習モデルと前記調整係数推論学習モデルの各々は、一度の推論で、次の前記第１の周期の間に使用される前記操作と前記調整係数のみを推論し、
前記車両操作制御部は、次の推論が行われるまでの間の前記第２の周期の各々において、最新の前記操作と前記調整係数を使用して、前記調整後操作を生成する、自動操縦ロボットの制御装置。
【請求項２】
前記調整係数は、比例ゲイン、積分ゲイン、及び微分ゲインを含み、
前記車両操作制御部は、前記調整係数を基に、フィードバック制御により、前記操作の調整量を計算し、当該調整量を基に前記操作を調整して前記調整後操作を生成する、請求項１に記載の自動操縦ロボットの制御装置。
【請求項３】
前記車両操作制御部は積分バッファを計算し、
前記調整係数推論学習モデルは、前記走行状態と、前記積分バッファを基に、前記調整係数を推論する、請求項２に記載の自動操縦ロボットの制御装置。
【請求項４】
前記操作推論学習モデルと、前記調整係数推論学習モデルは、一つの学習モデルとして実現されている、請求項１から３のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項５】
前記操作の対象は、アクセルペダルを含む、請求項１から４のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項６】
車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、
車速と前記指令車速を含む、前記車両の走行状態を基に、前記車両を前記指令車速に従って走行させるような前記車両の操作を推論するように、機械学習器を強化学習して生成された操作推論学習モデルにより、前記操作を第１の周期で推論し、前記自動操縦ロボットを制御する第２の周期は、前記第１の周期よりも短く設定され、前記操作推論学習モデルは、一度の推論で、次の前記第１の周期の間に使用される前記操作のみを推論し、
前記走行状態を基に、推論された前記操作を前記第１の周期の間に調整する、調整係数を推論するように、機械学習器を強化学習して生成された調整係数推論学習モデルにより、前記第１の周期ごとに前記調整係数を推論し、前記調整係数推論学習モデルは、一度の推論で、次の前記第１の周期の間に使用される前記調整係数のみを推論し、
前記第１の周期の間に、次の推論が行われるまでの間の前記第２の周期の各々において、最新の前記操作と前記調整係数を使用して、前記調整係数により前記操作を調整して調整後操作を生成し、当該調整後操作に基づき前記自動操縦ロボットを制御する、自動操縦ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動操縦ロボットの制御装置及び制御方法に関する。
【背景技術】
【０００２】
一般に、普通自動車などの車両を製造、販売する際には、国や地域により規定された、特定の走行パターン（モード）により車両を走行させた際の燃費や排出ガスを測定し、これを表示する必要がある。
モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係として、グラフにより表わすことが可能である。この到達すべき車速は、車両へ与えられる達成すべき速度に関する指令という観点で、指令車速と呼ばれることがある。
上記のような、燃費や排出ガスに関する試験は、シャシーダイナモメータ上に車両を載置し、車両に搭載された自動操縦ロボット、所謂ドライブロボット（登録商標）により、モードに従って車両を運転させることにより行われる。
【０００３】
指令車速には、許容誤差範囲が規定されている。車速が許容誤差範囲を逸脱すると、その試験は無効となるため、自動操縦ロボットの制御には、指令車速への高い追従性が求められる。このため、自動操縦ロボットの制御に、例えば強化学習の技術が適用されることがある。
例えば、特許文献１には、人間らしいペダル操作を行うドライバモデルを強化学習によって構築することが可能な車輌用走行シミュレーション装置、ドライバモデル構築方法及びドライバモデル構築プログラムが開示されている。
より詳細には、車輌用走行シミュレーション装置は、ドライバモデルのゲインの値を変更させながら、車輌モデルを複数回走行させ、この時に変更されたゲインの値を報酬値に基づいて評価することによって、ドライバモデルのゲインの設定を自動的に行う。
特許文献１の構成においては、実際に車輌を走行させるに際し、強化学習により予め決定されたゲインの値を用いて、ドライバモデルが車輌をＰＩＤ制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１１５１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車両を走行させて特性を計測するための、例えばＷＬＴＣ（Ｗｏｒｌｄｗｉｄｅ  ｈａｒｍｏｎｉｚｅｄ  Ｌｉｇｈｔ  ｖｅｈｉｃｌｅｓ  Ｔｅｓｔ  Ｃｙｃｌｅ）モード等の走行モードには、多種多様なパターンの走行モードが含まれている。特許文献１のように、予め決定されたゲインの値により車両を制御する装置においては、このような多種多様なパターンの各々に柔軟に対応して、車両を高い精度で指令車速に追従させることは、容易ではない。
【０００６】
これに対し、検出車速や指令車速等の車両の状態を入力させて当該状態に適した車両の操作を出力するように構築された、ニューラルネットワーク等の機械学習器を、強化学習により学習させて、操作を推論する学習モデルを生成することが考えられる。実際に車両を走行させる際には、車両の状態を操作推論学習モデルに入力し、これに対して操作推論学習モデルが推論した操作を車両に適用するように、ドライブロボットが制御される。
一般に、ニューラルネットワーク等の、機械学習器を学習させて生成される学習モデルによる推論は、演算量が多くなる傾向にある。したがって、実際にドライブロボットを制御する制御時刻の時間間隔である制御周期よりも、操作推論学習モデルによって操作を推論する推論時刻の時間間隔である推論周期の方が長くなり、一つの推論周期内に、複数の制御時刻が含まれることがある。
このような場合に、ある推論周期内に含まれる複数の制御時刻の全てにおいて、操作推論学習モデルによって最新に推論された操作と同じ操作を適用することも考えられるが、これは緻密な制御とはいえず、指令車速への高い追従性が望めない。
あるいは、次の推論周期に含まれる複数の制御時刻の全てにおける操作を、一度にまとめて推論することも考えられる。しかし、この場合においては、推論される操作の数が増えるために操作推論学習モデルの構造が複雑になる。また、操作推論学習モデルの学習も容易ではない。
【０００７】
本発明が解決しようとする課題は、車両の操作を推論する学習モデルの構造が簡潔で機械学習が容易であり、かつ指令車速に高い精度で追従させることができる、自動操縦ロボット（ドライブロボット）の制御装置及び制御方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するため、以下の手段を採用する。すなわち、本発明は、車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、車速と前記指令車速を含む、前記車両の走行状態を基に、前記車両を前記指令車速に従って走行させるような前記車両の操作を推論するように、機械学習器を強化学習して生成された操作推論学習モデルにより、前記操作を第１の周期で推論する操作内容推論部と、前記走行状態を基に、前記操作内容推論部により推論された前記操作を前記第１の周期の間に調整する、調整係数を推論するように、機械学習器を強化学習して生成された調整係数推論学習モデルにより、前記調整係数を推論する調整係数推論部と、前記第１の周期の間に、前記調整係数により前記操作を調整して調整後操作を生成し、当該調整後操作に基づき前記自動操縦ロボットを制御する車両操作制御部と、を備えている、自動操縦ロボットの制御装置を提供する。
【０００９】
また、本発明は、車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、車速と前記指令車速を含む、前記車両の走行状態を基に、前記車両を前記指令車速に従って走行させるような前記車両の操作を推論するように、機械学習器を強化学習して生成された操作推論学習モデルにより、前記操作を第１の周期で推論し、前記走行状態を基に、推論された前記操作を前記第１の周期の間に調整する、調整係数を推論するように、機械学習器を強化学習して生成された調整係数推論学習モデルにより、前記調整係数を推論し、前記第１の周期の間に、前記調整係数により前記操作を調整して調整後操作を生成し、当該調整後操作に基づき前記自動操縦ロボットを制御する、自動操縦ロボットの制御方法を提供する。
【発明の効果】
【００１０】
本発明によれば、車両の操作を推論する学習モデルの構造が簡潔で機械学習が容易であり、かつ指令車速に高い精度で追従させることができる、自動操縦ロボット（ドライブロボット）の制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、自動操縦ロボット（ドライブロボット）を用いた試験環境の説明図である。
【図２】上記実施形態における自動操縦ロボットの制御装置のブロック図である。
【図３】上記制御装置のデータの流れを示す処理ブロック図である。
【図４】上記自動操縦ロボットを制御する制御方法における、学習時のフローチャートである。
【図５】上記自動操縦ロボットの制御方法における、性能測定のために車両を走行制御させる際のフローチャートである。
【図６】上記実施形態の第１変形例における自動操縦ロボットの制御装置のデータの流れを示す処理ブロック図である。
【図７】上記実施形態の第２変形例における自動操縦ロボットの制御装置のデータの流れを示す処理ブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照して詳細に説明する。
本実施形態においては、自動操縦ロボットとしては、ドライブロボット（登録商標）を用いているため、以下、自動操縦ロボットをドライブロボットと記載する。
【００１３】
図１は、実施形態におけるドライブロボットを用いた試験環境の説明図である。試験装置１は、車両２、シャシーダイナモメータ３、及びドライブロボット４を備えている。
車両２は、床面上に設けられている。シャシーダイナモメータ３は、床面の下方に設けられている。車両２は、車両２の駆動輪２ａがシャシーダイナモメータ３の上に載置されるように、位置づけられている。車両２が走行し駆動輪２ａが回転する際には、シャシーダイナモメータ３が反対の方向に回転する。
ドライブロボット４は、車両２の運転席２ｂに搭載されて、車両２を走行させる。ドライブロボット４は、アクチュエータ４ｃを備えている。アクチュエータ４ｃは、車両２のアクセルペダル２ｃに当接するように設けられている。
【００１４】
ドライブロボット４は、後に詳説する制御装置１１によって制御されている。制御装置１１は、ドライブロボット４のアクチュエータ４ｃを制御することにより、車両２のアクセルペダル２ｃの開度を変更、調整する。
制御装置１１は、ドライブロボット４を、車両２が規定された指令車速に従って走行するように制御する。すなわち、制御装置１１は、車両２のアクセルペダル２ｃの開度を変更することで、規定された走行パターン（モード）に従うように、車両２を走行制御する。より詳細には、制御装置１１は、走行開始から時間が経過するに従い、各時間に到達すべき車速である指令車速に従うように、車両２を走行制御する。
【００１５】
制御装置１１は、ドライブロボット制御部２０と学習部３０を備えている。
ドライブロボット制御部２０は、ドライブロボット４の制御を行うための制御信号を生成し、ドライブロボット４に送信することで、ドライブロボット４を制御する。学習部３０は、後に説明するような機械学習を行い、操作推論学習モデル、第１行動価値推論学習モデル、調整係数推論学習モデル、及び第２行動価値推論学習モデルを生成する。上記のような、ドライブロボット４の制御を行うための制御信号は、操作推論学習モデルと調整係数推論学習モデルによる推論結果を基に生成される。
ドライブロボット制御部２０は、例えば、ドライブロボット４の筐体外部に設けられた、コントローラ等の情報処理装置である。学習部３０は、例えばパーソナルコンピュータ等の情報処理装置である。
【００１６】
図２は、試験装置１と制御装置１１のブロック図である。図３は、試験装置１と制御装置１１のデータの流れを示す処理ブロック図である。
試験装置１は、既に説明したような車両２、シャシーダイナモメータ３、及びドライブロボット４に加え、車両状態計測部５を備えている。車両状態計測部５は、車両２やシャシーダイナモメータ３の状態を計測する各種の計測装置である。車両状態計測部５は、本実施形態においては、車両２のエンジン回転数ｎｄｅｔ、エンジン温度ｄｄｅｔ、及び車速ｖｄｅｔを検出する。これらの検出された値の各々は、次に説明する制御装置１１の、ドライブロボット制御部２０に送信される。
【００１７】
ドライブロボット制御部２０は、車両操作制御部２２と駆動状態取得部２３を備えている。車両操作制御部２２は、操作補完部２４を備えている。操作補完部２４は、走行抵抗演算部２５、フィードバック操作量演算部２６、及び車両駆動力演算部２７を備えている。学習部３０は、指令車速生成部３１、推論データ成形部３２、学習データ成形部３３、操作学習データ生成部３４、学習データ記憶部３５、調整係数学習データ生成部３６、及び強化学習部４０を備えている。強化学習部４０は、操作内容推論部４１、第１行動価値推論部４２、報酬計算部４３、調整係数推論部４５、及び第２行動価値推論部４６を備えている。報酬計算部４３は、操作報酬計算部４４と調整係数報酬計算部４７を備えている。
制御装置１１の、学習データ記憶部３５以外の各構成要素は、例えば上記の各情報処理装置内のＣＰＵにより実行されるソフトウェア、プログラムであってよい。また、学習データ記憶部３５は、上記各情報処理装置内外に設けられた半導体メモリや磁気ディスクなどの記憶装置により実現されていてよい。
操作内容推論部４１、第１行動価値推論部４２、調整係数推論部４５、及び第２行動価値推論部４６の各々は、操作推論学習モデル５０、第１行動価値推論学習モデル６０、調整係数推論学習モデル７０、及び第２行動価値推論学習モデル８０を、それぞれ備えている。
【００１８】
後に説明するように、操作内容推論部４１の操作推論学習モデル５０が車両２の操作を推論し、調整係数推論部４５の調整係数推論学習モデル７０が車両２の調整係数を推論する。ドライブロボット制御部２０は、これらの推論された操作と調整係数を基に、ドライブロボット４を制御する。
特に本実施形態においては、操作補完部２４は、これを構成する走行抵抗演算部２５、フィードバック操作量演算部２６、及び車両駆動力演算部２７により、推論された車両２の操作に対して、推論された調整係数に則ってフィードバック系の制御を行い、実際にドライブロボット４に適用する操作を演算して、ドライブロボット４を制御する。
ここではまず、ドライブロボット制御部２０を詳細に説明する。以下、操作内容推論部４１及び調整係数推論部４５における、操作と調整係数を推論する推論時刻の時間間隔を、推論周期（第１の周期）Ｔｎｎと呼称する。また、実際にドライブロボット４を制御する制御時刻の時間間隔を、制御周期（第２の周期）Ｔｄｒと呼称する。本実施形態においては、推論周期Ｔｎｎは制御周期Ｔｄｒよりも長くなるように設定されている。すなわち、ある時刻における操作と調整係数の推論結果と同一の値が、次の推論周期Ｔｎｎ後の時刻までの時間間隔内の、ドライブロボット４の全ての制御時刻において適用される。以下のドライブロボット制御部２０の各動作は、制御周期Ｔｄｒにおいて実行される。
【００１９】
駆動状態取得部２３は、車両状態計測部５から、車両２の検出エンジン回転数ｎｄｅｔと検出エンジン温度ｄｄｅｔ、及び検出車速ｖｄｅｔを受信する。これらの値は、車両操作制御部２２内の各構成要素から参照可能に設けられている。
車両操作制御部２２は、後に説明する学習部３０の指令車速生成部３１から、従うべき指令車速ｖｒｅｆを受信する。車両操作制御部２２の車両駆動力演算部２７は、この受信した指令車速ｖｒｅｆの微分値と、車両２の重量を基に所定の近似式により車両駆動力Ｆｘを演算する。
走行抵抗演算部２５は、検出車速ｖｄｅｔを基に、実路面上での実走行を模した走行抵抗ＦＲＬを演算する。走行抵抗演算部２５は、走行抵抗ＦＲＬをシャシーダイナモメータ３へ送信し、走行中の車両２に対して走行抵抗力を発生させる。
【００２０】
駆動状態取得部２３は、車両駆動力Ｆｘと走行抵抗ＦＲＬが加算された値である要求駆動力Ｆｒｅｆと、検出エンジン回転数ｎｄｅｔ、検出エンジン温度ｄｄｅｔ、及び検出車速（車速）ｖｄｅｔを、後に説明する推論データ成形部３２に送信する。
推論データ成形部３２は、駆動状態取得部２３から受信した値の各々と、別途指令車速生成部３１から受信した指令車速ｖｒｅｆを併せて、車両２の走行状態として、操作内容推論部４１に送信する。
操作内容推論部４１は、これら走行状態を基に、車両２を指令車速ｖｒｅｆに従って走行させるような車両２の操作を推論するように強化学習されている。操作内容推論部４１は、推論周期Ｔｎｎごとに、受信した走行状態を基に、車両２の操作を推論する。本実施形態においては、操作の対象はアクセルペダル２ｃを含んでいる。このため、操作内容推論部４１は、本実施形態においてはアクセル開度の変更量を演算する。このアクセル開度の変更量は、厳密には、指令車速ｖｒｅｆから算出された要求駆動力Ｆｒｅｆを基に、フィードフォワード系の推論を行うことで算出されるものである。すなわち、操作内容推論部４１によって算出されるアクセル開度の変更量は、フィードフォワード変更量（以下、ＦＦ変更量と記載する）θＦＦである。
【００２１】
推論データ成形部３２はまた、上記の車両２の走行状態を、調整係数推論部４５に送信する。調整係数推論部４５は、走行状態を基に、操作内容推論部４１により推論されたＦＦ変更量すなわち操作θＦＦを次の推論周期Ｔｎｎの間に調整するための、調整係数を推論するように強化学習されている。調整係数推論部４５は、推論周期Ｔｎｎごとに、受信した走行状態を基に、車両２の調整係数を推論する。本実施形態においては、調整係数は比例ゲインＫｐ、積分ゲインＫｉ、及び微分ゲインＫｄを含んでいる。
【００２２】
フィードバック操作量演算部２６は、指令車速ｖｒｅｆと検出車速ｖｄｅｔとの差分である車速誤差ｄｖを受信する。フィードバック操作量演算部２６はまた、推論周期Ｔｎｎごとに、調整係数推論部４５から、推論された調整係数Ｋｐ、Ｋｉ、Ｋｄ、すなわち比例ゲインＫｐ、積分ゲインＫｉ、及び微分ゲインＫｄを受信する。
フィードバック操作量演算部２６は、推論周期Ｔｎｎごとに受信する調整係数Ｋｐ、Ｋｉ、Ｋｄの最新の推論結果を基に、フィードバック制御により、操作θＦＦの調整量θＦＢ、すなわちアクセル開度のフィードバック変更量（以下、ＦＢ変更量と記載する）θＦＢを演算する。特に本実施形態においては、フィードバック制御は、ＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ−Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｃｏｎｔｒｏｌｌｅｒ）制御である。フィードバック操作量演算部２６は、上記のように、推論周期Ｔｎｎよりも短い制御周期Ｔｄｒで、調整量θＦＢを演算する。
【００２３】
操作補完部２４は、推論周期Ｔｎｎごとに、操作内容推論部４１から、推論された操作θＦＦを受信する。
操作補完部２４は、推論周期Ｔｎｎごとに受信する操作θＦＦの最新の推論結果に対し、フィードバック操作量演算部２６により演算された調整量θＦＢを加算して、調整後操作θｒｅｆ、すなわち実際に使用される変更量θｒｅｆを計算する。操作補完部２４は、上記のように、推論周期Ｔｎｎよりも短い制御周期Ｔｄｒで、調整後操作θｒｅｆを演算する。
操作補完部２４は、この調整後操作θｒｅｆを、ドライブロボット４に送信する。ドライブロボット４は、調整後操作θｒｅｆを基にアクチュエータ４ｃを駆動させてアクセルペダル２ｃを操作することにより、アクセル開度を変更する。
【００２４】
このように、車両操作制御部２２は、調整係数Ｋｐ、Ｋｉ、Ｋｄにより操作θＦＦを調整して調整後操作θｒｅｆを生成し、調整後操作θｒｅｆに基づきドライブロボット４を制御する。操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄは、制御周期Ｔｄｒよりも長い推論周期Ｔｎｎで推論されて更新される。
【００２５】
次に、学習部３０について説明する。
上記のように、操作内容推論部４１は、ある時刻における走行状態を基に、当該時刻よりも後の車両２の操作θＦＦを推論する。この、車両２の操作θＦＦの推論を効果的に行うために、特に操作内容推論部４１は、後に説明するように機械学習器を備えており、推論した操作θＦＦに基づいたドライブロボット４の操作の後の時刻における走行状態に基づいて計算された報酬を基に機械学習器を強化学習して操作推論学習モデル５０を生成する。操作内容推論部４１は、性能測定のために実際に車両２を走行制御させる際には、この学習が完了した操作推論学習モデル５０を使用して、車両２の操作θＦＦを推論する。
また、上記のように、調整係数推論部４５は、ある時刻における走行状態を基に、当該時刻よりも後の車両２の調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する。この、車両２の調整係数Ｋｐ、Ｋｉ、Ｋｄの推論を効果的に行うために、特に調整係数推論部４５は、後に説明するように機械学習器を備えており、推論した調整係数Ｋｐ、Ｋｉ、Ｋｄに基づいたドライブロボット４の操作の後の時刻における走行状態に基づいて計算された報酬を基に機械学習器を強化学習して調整係数推論学習モデル７０を生成する。調整係数推論部４５は、性能測定のために実際に車両２を走行制御させる際には、この学習が完了した調整係数推論学習モデル７０を使用して、車両２の調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する。
すなわち、制御装置１１は大別して、強化学習時における操作θＦＦ及び調整係数Ｋｐ、Ｋｉ、Ｋｄの学習と、性能測定のために車両２を走行制御させる際における操作θＦＦ及び調整係数Ｋｐ、Ｋｉ、Ｋｄの推論の、２通りの動作を行う。説明を簡単にするために、以下ではまず、操作θＦＦ及び調整係Ｋｐ、Ｋｉ、Ｋｄ数の学習時における、制御装置１１の各構成要素の説明をした後に、車両２の性能測定に際して操作θＦＦ及び調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する場合での各構成要素の挙動について説明する。
図２においては、各学習モデル５０、７０の学習時における、各学習モデル５０、７０に関連したデータの送受信は破線で示されている。
【００２６】
まず、操作θＦＦ及び調整係数Ｋｐ、Ｋｉ、Ｋｄの学習時における、学習部３０の構成要素の挙動を説明する。
指令車速生成部３１は、モードに関する情報に基づいて生成された、指令車速ｖｒｅｆを保持している。指令車速生成部３１は指令車速ｖｒｅｆを、車両操作制御部２２と推論データ成形部３２に送信する。
既に説明したように、車両操作制御部２２は、指令車速生成部３１から受信した指令車速ｖｒｅｆを基にドライブロボット４を制御して車両２を走行させる。駆動状態取得部２３は、要求駆動力Ｆｒｅｆ、検出エンジン回転数ｎｄｅｔ、検出エンジン温度ｄｄｅｔ、及び検出車速（車速）ｖｄｅｔを収集し、推論データ成形部３２へ送信する。
推論データ成形部３２は、駆動状態取得部２３から要求駆動力Ｆｒｅｆ、検出エンジン回転数ｎｄｅｔ、検出エンジン温度ｄｄｅｔ、及び検出車速ｖｄｅｔを受信する。また、推論データ成形部３２は、指令車速生成部３１から指令車速ｖｒｅｆを受信する。推論データ成形部３２は、これらを併せて走行状態とし、適切に成形した後に、強化学習部４０の操作内容推論部４１と調整係数推論部４５に送信する。
【００２７】
操作内容推論部４１は、走行状態を受信すると、これを基に、学習中の操作推論学習モデル５０により、車両２を指令車速ｖｒｅｆに従って走行させるための、車両２の操作θＦＦを推論する。この操作θＦＦは、操作内容推論部４１が次の推論を実行している推論周期Ｔｎｎの間は更新されないため、次の推論周期Ｔｎｎの間のドライブロボット４の制御に継続して使用される。
本実施形態においては、操作推論学習モデル５０は、走行状態の各々に対応する入力ノードを備えた入力層と、複数の中間層、及び車両２の操作θＦＦに対応する出力ノードを備えた、ニューラルネットワークである。
入力ノードの各々に、対応する走行状態の値が入力されると、重みを基にした演算がなされて、入力ノードの次の段として設けられた中間層の、中間ノードの各々に、演算結果が格納される。このような演算と、次の段の中間ノードへの演算結果の格納が、各中間層に対して順次実行される。最終的には、最終段の中間層内の中間ノードに格納された演算結果を基に、同様な演算がなされ、その結果が車両２の操作θＦＦとして出力ノードに格納される。
操作内容推論部４１は、このようにして生成された車両２の操作θＦＦを、車両操作制御部２２に送信する。
【００２８】
同様に、調整係数推論部４５は、走行状態を受信すると、これを基に、学習中の調整係数推論学習モデル７０により、車両２を指令車速ｖｒｅｆに従って走行させるための、操作内容推論部４１により推論された車両２の操作θＦＦに適用される調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する。この調整係数Ｋｐ、Ｋｉ、Ｋｄは、調整係数推論部４５が次の推論を実行している推論周期Ｔｎｎの間は更新されないため、次の推論周期Ｔｎｎの間のドライブロボット４の制御に継続して使用される。
本実施形態においては、調整係数推論学習モデル７０は、走行状態の各々に対応する入力ノードを備えた入力層と、複数の中間層、及び調整係数Ｋｐ、Ｋｉ、Ｋｄの各々に対応する出力ノードを備えた、ニューラルネットワークである。
入力ノードの各々に、対応する走行状態の値が入力されると、重みを基にした演算がなされて、入力ノードの次の段として設けられた中間層の、中間ノードの各々に、演算結果が格納される。このような演算と、次の段の中間ノードへの演算結果の格納が、各中間層に対して順次実行される。最終的には、最終段の中間層内の中間ノードに格納された演算結果を基に、同様な演算がなされ、その結果が調整係数Ｋｐ、Ｋｉ、Ｋｄとして出力ノードに格納される。
調整係数推論部４５は、このようにして生成された調整係数Ｋｐ、Ｋｉ、Ｋｄを、車両操作制御部２２に送信する。
【００２９】
上記のような、操作内容推論部４１と調整係数推論部４５における、車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄの推論は、推論周期Ｔｎｎごとに行われる。操作推論学習モデル５０と調整係数推論学習モデル７０の各々は、一度の推論で、次の推論周期Ｔｎｎの間に使用される車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄのみを推論し、より将来の推論は行わない。更に次の推論周期Ｔｎｎに使用される車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄは、次の推論において導出される。
車両操作制御部２２は、これらの推論された車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを、推論周期Ｔｎｎごとに受信して更新する。車両操作制御部２２は、次の推論周期Ｔｎｎ後の時刻までの間、更新された最新の車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを基に、刻々と変化する走行状態を随時入力して調整後操作θｒｅｆを生成し、調整後操作θｒｅｆに基づきドライブロボット４を制御する。
操作推論学習モデル５０と調整係数推論学習モデル７０の学習、すなわち誤差逆伝搬法、確率的勾配降下法によるニューラルネットワークを構成する各パラメータの値の調整は、現段階においては行われず、操作推論学習モデル５０と調整係数推論学習モデル７０は車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを推論するのみである。操作推論学習モデル５０と調整係数推論学習モデル７０の学習は、後に、第１及び第２行動価値推論学習モデル６０、８０の学習に伴って行われる。
【００３０】
操作推論学習モデル５０と調整係数推論学習モデル７０の推論結果を基にドライブロボット４が制御された結果、車両２の走行状態が変更される。駆動状態取得部２３は、この変更後の走行状態を、車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄが適用された後の、次の走行状態として取得する。
報酬計算部４３は、操作推論学習モデル５０と調整係数推論学習モデル７０の強化学習に使用される報酬を計算する。
より詳細には、操作報酬計算部４４は、走行状態と、これに対応して操作推論学習モデル５０により推論された操作θＦＦ、及び当該操作θＦＦを基に新たに生成された次の走行状態を基に、適切に設計された式により報酬を計算する。また、調整係数報酬計算部４７は、走行状態と、これに対応して調整係数推論学習モデル７０により推論された調整係数Ｋｐ、Ｋｉ、Ｋｄ、及び当該調整係数Ｋｐ、Ｋｉ、Ｋｄを基に新たに生成された次の走行状態を基に、適切に設計された式により報酬を計算する。
本実施形態においては、推論周期Ｔｎｎよりも制御周期Ｔｄｒが短いため、推論周期Ｔｎｎの間に制御周期Ｔｄｒ間隔で複数回、ドライブロボット４が制御される。これに伴い、本実施形態における報酬は、この複数回の各制御の後における指令車速ｖｒｅｆと検出車速ｖｄｅｔの誤差を平均した値の、絶対値として設定されている。すなわち、本実施形態においては、上記のような絶対値を計算し、これが０に近いほど、高い報酬となるように設計されている。
後述する第１及び第２行動価値推論学習モデル６０、８０は、行動価値を、報酬が小さいほどこれが高くするように計算し、操作推論学習モデル５０と調整係数推論学習モデル７０はこれらの行動価値が高くなるような操作θＦＦや調整係数Ｋｐ、Ｋｉ、Ｋｄを出力するように、強化学習が行われる。
【００３１】
操作報酬計算部４４は、走行状態、これに対応して推論された操作θＦＦ、当該操作θＦＦを基に新たに生成された次の走行状態、及び計算した報酬を、学習データ成形部３３に送信する。学習データ成形部３３は、これらを適切に成形して学習データ記憶部３５に保存する。これらのデータは、後述する第１行動価値推論学習モデル６０の学習に使用される。
また、調整係数推論部４５は、走行状態、これに対応して推論された調整係数Ｋｐ、Ｋｉ、Ｋｄ、当該調整係数Ｋｐ、Ｋｉ、Ｋｄを基に新たに生成された次の走行状態、及び計算した報酬を、学習データ成形部３３に送信する。学習データ成形部３３は、これらを適切に成形して学習データ記憶部３５に保存する。これらのデータは、後述する第２行動価値推論学習モデル８０の学習に使用される。
このようにして、操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄの推論と、この推論結果に対応した、次の走行状態の取得、及び報酬の計算が、第１及び第２行動価値推論学習モデル６０、８０の学習に十分なデータが蓄積されるまで、繰り返し行われる。
【００３２】
学習データ記憶部３５に、第１行動価値推論学習モデル６０の学習に十分な量の走行データが蓄積されると、第１行動価値推論部４２は第１行動価値推論学習モデル６０を学習する。第１行動価値推論学習モデル６０は、機械学習器が学習されることにより、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習された学習済みモデルとなる。
強化学習部４０は全体として、操作推論学習モデル５０が推論した操作θＦＦがどの程度適切であったかを示す行動価値を計算し、操作推論学習モデル５０が、この行動価値が高くなるような操作θＦＦを出力するように、強化学習を行う。行動価値は、走行状態と、これに対する操作θＦＦを引数として、報酬が大きいほど行動価値を高くするように設計された関数として表わされる。本実施形態においては、この関数の計算を、走行状態と操作θＦＦを入力として、行動価値を出力するように設計された、関数近似器としての第１行動価値推論学習モデル６０により行う。
【００３３】
操作学習データ生成部３４は、学習データ記憶部３５内の学習データを成形して、第１行動価値推論部４２へ送信する。
第１行動価値推論部４２は、成形された学習データを受信し、第１行動価値推論学習モデル６０を機械学習させる。
本実施形態においては、第１行動価値推論学習モデル６０は、走行状態と操作θＦＦの各々に対応する入力ノードを備えた入力層と、複数の中間層、及び操作θＦＦに関する行動価値に対応する出力ノードを備えた、ニューラルネットワークである。第１行動価値推論学習モデル６０は、操作推論学習モデル５０と同様な構造のニューラルネットワークにより実現されているため、構造上の詳細な説明を割愛する。
【００３４】
操作報酬計算部４４は、ＴＤ（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）誤差、すなわち、操作θＦＦを基にした制御を行う前の行動価値と、制御後の行動価値の誤差を小さくして、行動価値として適切な値が出力されるように、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値を、誤差逆伝搬法、確率的勾配降下法により調整する。このように、現状の操作推論学習モデル５０によって推論された操作θＦＦを適切に評価できるように、第１行動価値推論学習モデル６０を学習させる。
【００３５】
また、同様に、学習データ記憶部３５に、調整係数推論学習モデル７０の学習に十分な量の走行データが蓄積されると、調整係数推論部４５は第２行動価値推論学習モデル８０を学習する。第２行動価値推論学習モデル８０は、機械学習器が学習されることにより、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習された学習済みモデルとなる。
強化学習部４０は全体として、調整係数推論学習モデル７０が推論した調整係数Ｋｐ、Ｋｉ、Ｋｄがどの程度適切であったかを示す行動価値を計算し、調整係数推論学習モデル７０が、この行動価値が高くなるような調整係数Ｋｐ、Ｋｉ、Ｋｄを出力するように、強化学習を行う。行動価値は、走行状態と、これに対する調整係数Ｋｐ、Ｋｉ、Ｋｄを引数として、報酬が大きいほど行動価値を高くするように設計された関数として表わされる。本実施形態においては、この関数の計算を、走行状態と調整係数Ｋｐ、Ｋｉ、Ｋｄを入力として、行動価値を出力するように設計された、関数近似器としての第２行動価値推論学習モデル８０により行う。
【００３６】
調整係数学習データ生成部３６は、学習データ記憶部３５内の学習データを成形して、第２行動価値推論部４６へ送信する。
第２行動価値推論部４６は、成形された学習データを受信し、第２行動価値推論学習モデル８０を機械学習させる。
本実施形態においては、第２行動価値推論学習モデル８０は、走行状態と調整係数Ｋｐ、Ｋｉ、Ｋｄの各々に対応する入力ノードを備えた入力層と、複数の中間層、及び調整係数Ｋｐ、Ｋｉ、Ｋｄに関する行動価値に対応する出力ノードを備えた、ニューラルネットワークである。第２行動価値推論学習モデル８０は、調整係数推論学習モデル７０と同様な構造のニューラルネットワークにより実現されているため、構造上の詳細な説明を割愛する。
【００３７】
調整係数推論部４５は、ＴＤ誤差、すなわち、調整係数Ｋｐ、Ｋｉ、Ｋｄを基にした制御を行う前の行動価値と、制御後の行動価値の誤差を小さくして、行動価値として適切な値が出力されるように、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値を、誤差逆伝搬法、確率的勾配降下法により調整する。このように、現状の調整係数推論学習モデル７０によって推論された調整係数Ｋｐ、Ｋｉ、Ｋｄを適切に評価できるように、第２行動価値推論学習モデル８０を学習させる。
【００３８】
第１及び第２行動価値推論学習モデル６０、８０の学習が進むと、第１及び第２行動価値推論学習モデル６０、８０の各々は、より適切な行動価値の値を出力するようになる。すなわち、第１及び第２行動価値推論学習モデル６０、８０の各々が出力する行動価値の値が学習前とは変わるため、これに伴い、行動価値が高くなるような操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを出力するように設計された操作推論学習モデル５０と調整係数推論学習モデル７０の各々を更新する必要がある。このため、操作内容推論部４１と調整係数推論部４５は、操作推論学習モデル５０と調整係数推論学習モデル７０を学習する。
具体的には、操作内容推論部４１と調整係数推論部４５の各々は、例えば行動価値の負値を損失関数とし、これをできるだけ小さくするような、すなわち行動価値が大きくなるような操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを出力するように、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値を、誤差逆伝搬法、確率的勾配降下法により調整して、操作推論学習モデル５０と調整係数推論学習モデル７０の各々を学習させる。
操作推論学習モデル５０と調整係数推論学習モデル７０の各々が学習され更新されると、出力される操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄが変化するため、再度走行データを蓄積し、これを基に第１及び第２行動価値推論学習モデル６０、８０を学習する。
このように、学習部３０は、操作推論学習モデル５０及び調整係数推論学習モデル７０と、第１及び第２行動価値推論学習モデル６０、８０との学習を互いに繰り返すことにより、これら学習モデル５０、６０、７０、８０を強化学習する。
学習部３０は、この強化学習を、所定の学習終了基準を満たすまで実行する。
【００３９】
次に、車両２の性能測定に際して操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する場合での、すなわち、操作推論学習モデル５０と調整係数推論学習モデル７０の強化学習が終了した後における、学習部３０の各構成要素の挙動について説明する。
【００４０】
指令車速生成部３１は指令車速ｖｒｅｆを、ドライブロボット制御部２０と推論データ成形部３２に送信する。
ドライブロボット制御部２０は、要求駆動力Ｆｒｅｆ、検出エンジン回転数ｎｄｅｔ、検出エンジン温度ｄｄｅｔ、及び検出車速（車速）ｖｄｅｔを、推論データ成形部３２へ送信する。
推論データ成形部３２は、要求駆動力Ｆｒｅｆ、検出エンジン回転数ｎｄｅｔ、検出エンジン温度ｄｄｅｔ、及び検出車速（車速）ｖｄｅｔ、及び指令車速ｖｒｅｆを走行状態として受信し、適切に成形した後に、強化学習部４０の操作内容推論部４１と調整係数推論部４５に送信する。
操作内容推論部４１は、走行状態を受信すると、これを基に、学習が完了した操作推論学習モデル５０により、次の推論周期Ｔｎｎの間、車両を指令車速ｖｒｅｆに従って走行させるための、車両２の操作θＦＦを推論する。
同様に、調整係数推論部４５は、走行状態を受信すると、これを基に、学習中の調整係数推論学習モデル７０により、次の推論周期Ｔｎｎの間、車両を指令車速ｖｒｅｆに従って走行させるための、操作内容推論部４１により推論された車両２の操作θＦＦに適用される調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する。
【００４１】
フィードバック操作量演算部２６は、推論された調整係数Ｋｐ、Ｋｉ、Ｋｄ、すなわち比例ゲインＫｐ、積分ゲインＫｉ、及び微分ゲインＫｄを基に、推論周期Ｔｎｎより短い制御周期Ｔｄｒ間隔で、ＰＩＤ制御により、調整量θＦＢを演算する。この演算において使用される調整係数Ｋｐ、Ｋｉ、Ｋｄは、制御周期Ｔｄｒよりも長い推論周期Ｔｎｎ間隔で、調整係数推論部４５によって推論され、更新される。
操作補完部２４は、フィードバック操作量演算部２６から調整量θＦＢを受信し、推論された車両２の操作θＦＦを基に、推論周期Ｔｎｎより短い制御周期Ｔｄｒ間隔で、調整後操作θｒｅｆを計算する。この演算において使用される車両２の操作θＦＦは、制御周期Ｔｄｒよりも長い推論周期Ｔｎｎ間隔で、操作内容推論部４１によって推論され、更新される。
操作補完部２４は、この調整後操作θｒｅｆを、ドライブロボット４に送信する。ドライブロボット４は、調整後操作θｒｅｆを基にアクチュエータ４ｃを駆動させてアクセルペダル２ｃを操作することにより、アクセル開度を変更する。
【００４２】
次に、図１〜図３、及び図４、５を用いて、上記のドライブロボット４の制御装置１１によりドライブロボット４を制御する方法を説明する。図４は、ドライブロボット４の制御方法における、学習時のフローチャートである。図５は、ドライブロボット４の制御方法における、性能測定のために車両２を走行制御させる際のフローチャートである。
まず、図４を用いて、学習時における動作を説明する。
【００４３】
学習が開始されると（ステップＳ１）、各学習モデル５０、６０、７０、８０等の各パラメータが初期設定される（ステップＳ３）。
その後、車両２の走行データを収集する（ステップＳ５）。より詳細には、制御装置１１が、学習がまだ終了していない、学習途中の操作推論学習モデル５０、調整係数推論学習モデル７０によって推論された車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄによって車両２を走行制御することにより、走行データが蓄積される。
【００４４】
十分な走行データが学習データ記憶部３５に蓄積されると、これを用いて、操作推論学習モデル５０と調整係数推論学習モデル７０を強化学習し、学習モデル５０、７０を更新する（ステップＳ７）。
操作推論学習モデル５０と調整係数推論学習モデル７０の更新が終了すると、これら操作推論学習モデル５０と調整係数推論学習モデル７０の学習が終了したか否かを判定する（ステップＳ９）。
学習が終了していないと判定された場合には（ステップＳ９のＮｏ）、ステップＳ５へ遷移する。すなわち、制御装置１１は走行データを更に収集し、これを用いた操作推論学習モデル５０と調整係数推論学習モデル７０の更新を繰り返す。
学習が終了したと判定された場合には（ステップＳ９のＹｅｓ）、学習処理を終了する（ステップＳ１１）。
【００４５】
次に、図５を用いて、実際に車両２の性能測定に際して車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する場合での、すなわち、操作推論学習モデル５０と調整係数推論学習モデル７０の強化学習が終了した後において、車両２を走行制御する際の動作について説明する。
【００４６】
車両２が走行を開始すると（ステップＳ５１）、走行環境が初期設定され、制御装置１１は、この時点での走行状態を初期状態として観測する（ステップＳ５３）。
推論データ成形部３２は、走行状態を適切に成形した後に、強化学習部４０の操作内容推論部４１と調整係数推論部４５に送信する。
操作内容推論部４１は、走行状態を受信すると、これを基に、次の推論周期Ｔｎｎの間、車両を指令車速ｖｒｅｆに従って走行させるための、車両２の操作θＦＦを推論する。
同様に、調整係数推論部４５は、走行状態を受信すると、これを基に、次の推論周期Ｔｎｎの間、車両を指令車速ｖｒｅｆに従って走行させるための、操作内容推論部４１により推論された車両２の操作θＦＦに適用される調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する（ステップＳ５５）。
【００４７】
フィードバック操作量演算部２６は、推論周期Ｔｎｎより短い制御周期Ｔｄｒ間隔で、推論された調整係数Ｋｐ、Ｋｉ、Ｋｄを基に、ＰＩＤ制御により、調整量θＦＢを演算する。
操作補完部２４は、推論周期Ｔｎｎより短い制御周期Ｔｄｒ間隔で、フィードバック操作量演算部２６から調整量θＦＢを受信し、推論された車両２の操作θＦＦを基に、調整後操作θｒｅｆを計算する。
操作補完部２４は、この調整後操作θｒｅｆを、ドライブロボット４に送信する。ドライブロボット４は、調整後操作θｒｅｆを基にアクチュエータ４ｃを駆動させてアクセルペダル２ｃを操作することにより、アクセル開度を変更する。
そして、駆動状態取得部２３は、操作後の車両２の走行状態を、ステップＳ５３と同様な要領で、再度取得する（ステップＳ５７）。
駆動状態取得部２３は、操作後の車両２の走行状態を、学習部３０へ送信する。
【００４８】
制御装置１１は、車両２の走行が終了したか否かを判定する（ステップＳ５９）。
走行が終了していないと判定された場合には（ステップＳ５９のＮｏ）、ステップＳ５５へ遷移する。すなわち、制御装置１１は、ステップＳ５７で取得した走行状態を基にした操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄの推論と、更なる走行状態の観測を繰り返す。
走行が終了したと判定された場合には（ステップＳ５９のＹｅｓ）、走行処理を終了する（ステップＳ６１）。
【００４９】
次に、上記のドライブロボット４の制御装置及び制御方法の効果について説明する。
【００５０】
本実施形態のドライブロボット４の制御装置１１は、車両２に搭載されて車両２を走行させるドライブロボット（自動操縦ロボット）４を、車両２が規定された指令車速ｖｒｅｆに従って走行するように制御する、ドライブロボット４の制御装置１１であって、車速ｖｄｅｔと指令車速ｖｒｅｆを含む、車両２の走行状態を基に、車両２を指令車速ｖｒｅｆに従って走行させるような車両２の操作θＦＦを推論するように、機械学習器を強化学習して生成された操作推論学習モデル５０により、操作θＦＦを推論周期（第１の周期）Ｔｎｎで推論する操作内容推論部４１と、走行状態を基に、操作内容推論部４１により推論された操作θＦＦを推論周期Ｔｎｎの間に調整する、調整係数Ｋｐ、Ｋｉ、Ｋｄを推論するように、機械学習器を強化学習して生成された調整係数推論学習モデル７０により、調整係数Ｋｐ、Ｋｉ、Ｋｄを推論する調整係数推論部４５と、推論周期Ｔｎｎの間に、調整係数Ｋｐ、Ｋｉ、Ｋｄにより操作θＦＦを調整して調整後操作θｒｅｆを生成し、当該調整後操作θｒｅｆに基づきドライブロボット４を制御する車両操作制御部２２と、を備えている。
また、本実施形態のドライブロボット４の制御方法は、車両２に搭載されて車両２を走行させるドライブロボット（自動操縦ロボット）４を、車両２が規定された指令車速ｖｒｅｆに従って走行するように制御する、ドライブロボット４の制御方法であって、車速ｖｄｅｔと指令車速ｖｒｅｆを含む、車両２の走行状態を基に、車両２を指令車速ｖｒｅｆに従って走行させるような車両２の操作θＦＦを推論するように、機械学習器を強化学習して生成された操作推論学習モデル５０により、操作θＦＦを推論周期（第１の周期）Ｔｎｎで推論し、走行状態を基に、推論された操作θＦＦを推論周期Ｔｎｎの間に調整する、調整係数Ｋｐ、Ｋｉ、Ｋｄを推論するように、機械学習器を強化学習して生成された調整係数推論学習モデル７０により、調整係数Ｋｐ、Ｋｉ、Ｋｄを推論し、推論周期Ｔｎｎの間に、調整係数Ｋｐ、Ｋｉ、Ｋｄにより操作θＦＦを調整して調整後操作θｒｅｆを生成し、当該調整後操作θｒｅｆに基づきドライブロボット４を制御する。
上記のような構成によれば、操作推論学習モデル５０は、車速ｖｄｅｔと指令車速ｖｒｅｆを含む、車両２の走行状態を基に、車両２を指令車速ｖｒｅｆに従って走行させるような車両２の操作θＦＦを推論するように強化学習されている。このため、少なくとも操作推論学習モデル５０が車両２の操作θＦＦを推論する周期である推論周期Ｔｎｎおきに、車両２を指令車速ｖｒｅｆに精度よく追従させるような車両２の操作θＦＦが出力される。
ここで、上記のような操作推論学習モデル５０は、演算量が多くなる傾向がある。したがって、ドライブロボット４の制御周期Ｔｄｒよりも推論周期Ｔｎｎは長くなり、一つの推論周期Ｔｎｎ内に、複数の制御時刻が含まれる。このため、車両２の操作θＦＦは、制御時刻の各々に個別に対応するように出力されない。このような場合に、複数の制御時刻の各々に同一の車両２の操作θＦＦを適用すると、緻密な制御ができず、指令車速への追従性が向上しない。
これに対し、本実施形態においては、走行状態を基に、推論周期Ｔｎｎの間、推論された操作θＦＦを調整する、調整係数Ｋｐ、Ｋｉ、Ｋｄを推論するように強化学習されている調整係数推論学習モデル７０により、調整係数Ｋｐ、Ｋｉ、Ｋｄが推論される。すなわち、推論周期Ｔｎｎに含まれる各制御時刻において、操作θＦＦはこの調整係数Ｋｐ、Ｋｉ、Ｋｄによって随時調整されて、ドライブロボット４が制御される。これにより、推論周期Ｔｎｎと制御周期Ｔｄｒのサンプリング差が補完され、一定の時間の間、操作θＦＦが新たに推論されなくとも、その間に、操作θＦＦを調整しつつ使用することができる。したがって、指令車速への追従性が向上する。
また、推論周期Ｔｎｎに含まれる、ドライブロボット４の複数の制御時刻において、同一の操作θＦＦが調整されつつ使用されるので、操作推論学習モデル５０は、一度の推論において、複数の操作θＦＦを推論する必要がない。これにより、操作推論学習モデル５０の構造を簡潔にすることができ、かつ操作推論学習モデル５０を容易に機械学習させることができる。
【００５１】
また、推論周期Ｔｎｎは、ドライブロボット４を制御する制御周期（第２の周期）Ｔｄｒよりも長く設定され、調整係数推論学習モデル７０も推論周期Ｔｎｎごとに調整係数Ｋｐ、Ｋｉ、Ｋｄを推論し、操作推論学習モデル５０と調整係数推論学習モデル７０の各々は、一度の推論で、次の推論周期Ｔｎｎの間に使用される車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄのみを推論し、車両操作制御部２２は、最新の車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄを使用して、次の推論が行われるまでの間に、調整後操作θｒｅｆを生成する。
また、調整係数Ｋｐ、Ｋｉ、Ｋｄは、比例ゲインＫｐ、積分ゲインＫｉ、及び微分ゲインＫｄを含み、車両操作制御部２２は、調整係数Ｋｐ、Ｋｉ、Ｋｄを基に、フィードバック制御により、操作θＦＦの調整量θＦＢを計算し、当該調整量θＦＢを基に操作θＦＦを調整して調整後操作θｒｅｆを生成する。
更に、操作θＦＦの対象は、アクセルペダル２ｃを含む。
上記のような構成によれば、ドライブロボット４の制御装置１１を適切に実現可能である。
【００５２】
［実施形態の第１変形例］
次に、図６を用いて、上記実施形態として示したドライブロボット４の制御装置１１及び制御方法の変形例を説明する。図６は、本変形例におけるドライブロボットの制御装置のデータの流れを示す処理ブロック図である。
本変形例におけるドライブロボット４の制御装置は、上記実施形態のドライブロボット４の制御装置１１とは、車両操作制御部のフィードバック操作量演算部２６Ａが、ＰＩＤ制御の積分項により蓄積される積分バッファｉ＿ｂｕｆｆを計算して調整係数推論部４５Ａへ送信する点が異なっている。
これに伴い、調整係数推論部４５Ａ内に設けられた調整係数推論学習モデルは、入力層に、走行状態に対応する入力ノードに加えて、積分バッファｉ＿ｂｕｆｆに対応する入力ノードを備えた構成となっている。これにより、調整係数推論学習モデルは、走行状態と、積分バッファｉ＿ｂｕｆｆを基に、調整係数を推論する。
【００５３】
本第１変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
本変形例の構成においては、調整係数推論学習モデルの推論結果である調整係数が使用される、調整係数推論学習モデルの後段に位置するフィードバック操作量演算部２６Ａにおいて使用される積分バッファｉ＿ｂｕｆｆが、調整係数推論学習モデルの入力となっている。したがって、上記実施形態よりも、調整係数の精度が向上する。
【００５４】
［実施形態の第２変形例］
次に、図７を用いて、上記第１変形例として示したドライブロボット４の制御装置及び制御方法の、更なる変形例を説明する。図７は、本変形例におけるドライブロボットの制御装置のデータの流れを示す処理ブロック図である。
本変形例におけるドライブロボット４の制御装置は、上記第１変形例のドライブロボット４の制御装置とは、操作内容推論部４１Ｂ内の操作推論学習モデルに、調整係数推論学習モデルが統合され、操作推論学習モデルと、調整係数推論学習モデルが、一つの学習モデルとして実現されている点が異なっている。
【００５５】
すなわち、本変形例における、操作内容推論部４１Ｂに設けられた学習モデルは、走行状態及び積分バッファｉ＿ｂｕｆｆの各々に対応する入力ノードを備えた入力層と、複数の中間層、及び車両２の操作θＦＦと調整係数Ｋｐ、Ｋｉ、Ｋｄの各々に対応する出力ノードを備えた、ニューラルネットワークである。
これに伴い、この学習モデルを強化学習する際に用いられる行動価値推論学習モデルは、走行状態と、これに対する車両２の操作θＦＦ、及び調整係数Ｋｐ、Ｋｉ、Ｋｄを入力として、報酬が大きいほど高い行動価値出力するように設計された、関数近似器としての学習モデルとなっている。
【００５６】
このような構成においては、操作内容推論部４１Ｂが調整係数Ｋｐ、Ｋｉ、Ｋｄを出力するようになり、これがフィードバック操作量演算部２６Ａへと送信される。
また、フィードバック操作量演算部２６Ａが出力した積分バッファｉ＿ｂｕｆｆは、操作内容推論部４１Ｂへと送信されて、学習モデルに入力される。
【００５７】
本第２変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
本変形例の構成においては、学習モデルの数が低減されるため、より少ないリソース環境下においても実装が可能となる。
【００５８】
なお、本発明のドライブロボットの制御装置及び制御方法は、図面を参照して説明した上述の実施形態及び各変形例に限定されるものではなく、その技術的範囲において他の様々な変形例が考えられる。
例えば、上記実施形態においては、車両の操作としてアクセルペダルの操作量を出力したが、これに加え、ブレーキペダル等の、他の操作を出力しても構わない。
また、上記実施形態においては、操作推論学習モデル５０と調整係数推論学習モデル７０の学習と、第１行動価値推論学習モデル６０と第２行動価値推論学習モデル８０の学習が繰り返されるように説明した。しかし、十分な精度で学習されるのであれば、これら学習モデル５０、６０、７０、８０を学習する順序は、これに限られない。例えば、操作推論学習モデル５０と第１行動価値推論学習モデル６０の学習を繰り返してこれらの学習を完了させた後、調整係数推論学習モデル７０と第２行動価値推論学習モデル８０の学習を繰り返し、これらの学習を完了させるようにしてもよい。
これ以外にも、本発明の主旨を逸脱しない限り、上記実施形態及び各変形例で挙げた構成を取捨選択したり、他の構成に適宜変更したりすることが可能である。
【符号の説明】
【００５９】
１  試験装置
２  車両
２ｃ  アクセルペダル
３  シャシーダイナモメータ
４  ドライブロボット（自動操縦ロボット）
１１  制御装置
２０  ドライブロボット制御部
２２  車両操作制御部
２３  駆動状態取得部
２４  操作補完部
２５  走行抵抗演算部
２６、２６Ａ  フィードバック操作量演算部
２７  車両駆動力演算部
３０  学習部
３１  指令車速生成部
３５  学習データ記憶部
４０  強化学習部
４１、４１Ｂ  操作内容推論部
４２  第１行動価値推論部
４３  報酬計算部
４５、４５Ａ  調整係数推論部
４６  第２行動価値推論部
５０  操作推論学習モデル
６０  第１行動価値推論学習モデル
７０  調整係数推論学習モデル
８０  第２行動価値推論学習モデル
θＦＦ  フィードフォワード変更量（操作）
θＦＢ  フィードバック変更量（調整量）
θｒｅｆ  調整後操作
Ｋｐ  比例ゲイン（調整係数）
Ｋｉ  積分ゲイン（調整係数）
Ｋｄ  微分ゲイン（調整係数）
ｉ＿ｂｕｆｆ  積分バッファ
ｖｄｅｔ  検出車速（車速）
ｖｒｅｆ  指令車速
【要約】      （修正有）【課題】自動操縦ロボット（ドライブロボット）の制御装置及び制御方法を提供する。【解決手段】機械学習器を強化学習して生成された操作推論学習モデル５０により、操作を第１の周期で推論する操作内容推論部４１と、走行状態を基に、操作内容推論部４１により推論された操作を第１の周期の間に調整する、調整係数を推論するように、機械学習器を強化学習して生成された調整係数推論学習モデル７０により、調整係数を推論する調整係数推論部４５と、第１の周期の間に、調整係数により操作を調整して調整後操作を生成し、調整後操作に基づき自動操縦ロボット４を制御する車両操作制御部２２と、を備える。【選択図】図２【図１】
0006908144.tif 000002
【図２】
0006908144.tif 000003
【図３】
0006908144.tif 000004
【図４】
0006908144.tif 000005
【図５】
0006908144.tif 000006
【図６】
0006908144.tif 000007
【図７】
0006908144.tif 000008