IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社明電舎の特許一覧

特許7110891自動操縦ロボットの制御装置及び制御方法
<>
  • 特許-自動操縦ロボットの制御装置及び制御方法 図1
  • 特許-自動操縦ロボットの制御装置及び制御方法 図2
  • 特許-自動操縦ロボットの制御装置及び制御方法 図3
  • 特許-自動操縦ロボットの制御装置及び制御方法 図4
  • 特許-自動操縦ロボットの制御装置及び制御方法 図5
  • 特許-自動操縦ロボットの制御装置及び制御方法 図6
  • 特許-自動操縦ロボットの制御装置及び制御方法 図7
  • 特許-自動操縦ロボットの制御装置及び制御方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-25
(45)【発行日】2022-08-02
(54)【発明の名称】自動操縦ロボットの制御装置及び制御方法
(51)【国際特許分類】
   G01M 17/007 20060101AFI20220726BHJP
【FI】
G01M17/007 D
G01M17/007 B
【請求項の数】 10
(21)【出願番号】P 2018188766
(22)【出願日】2018-10-04
(65)【公開番号】P2020056737
(43)【公開日】2020-04-09
【審査請求日】2021-02-03
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林特許業務法人
(72)【発明者】
【氏名】吉田 健人
(72)【発明者】
【氏名】深井 寛修
【審査官】岩永 寛道
(56)【参考文献】
【文献】特開2014-115168(JP,A)
【文献】特開2017-111116(JP,A)
【文献】特開2016-156687(JP,A)
【文献】欧州特許出願公開第02246686(EP,A1)
【文献】河本 誠 他5名,強化学習を用いたアクセル・ブレーキペダル操作のためのドライバモデルの有効性検証 HILSを用いた車速追従性と人間らしい操作特性の評価,日本機械学会東海支部第62期総会講演会講演論文集,No.133-1,日本,2013年,p.39-40,インターネット<URL : https://www.jstage.jst.go.jp/article/jsmetokai/2013.62/0/2013.62_39/_pdf/-char/ja>
(58)【調査した分野】(Int.Cl.,DB名)
G01M 17/00- 17/10
G05B 1/00- 7/04
G05B 11/00- 13/04
G05B 17/00- 17/02
G05B 21/00- 21/02
G06N 3/00- 3/12
G06N 7/08- 99/00
G01M 15/00- 15/14
(57)【特許請求の範囲】
【請求項1】
車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、
前記車両の走行状態を取得する走行状態取得部と、
第1の時刻における前記走行状態を基に、第1学習モデルにより、前記第1の時刻より後の前記車両の操作の内容を推論する操作内容推論部と、
前記操作の内容に基づき前記自動操縦ロボットを制御する車両操作制御部と、
を備え、
前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、
前記第1学習モデルは、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第1の時刻より後の第2の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習され
前記第1学習モデルは、前記報酬を基に前記操作の内容を評価して前記操作の内容の評価値を計算する第2学習モデルによって計算された、前記評価値を基に、前記評価値がより高い前記操作の内容を推論するように学習されている、自動操縦ロボットの制御装置。
【請求項2】
前記操作の対象は、アクセルペダルとブレーキペダルを含み、前記走行状態は、アクセルペダルとブレーキペダルの検出量を含む、請求項1に記載の自動操縦ロボットの制御装置。
【請求項3】
前記アクセルペダル及び前記ブレーキペダルの前記検出量の変化が小さいほど値が大きくなるように設定された第1要素が計算され、当該第1要素を基に前記報酬が計算されている、請求項2に記載の自動操縦ロボットの制御装置。
【請求項4】
時間軸と、前記アクセルペダルまたは前記ブレーキペダルの前記検出量を軸とする座標系上で、前記検出量を関数として表現した際に、前記関数の一階微分または二階微分の値を基に、前記第1要素が計算されている、請求項3に記載の自動操縦ロボットの制御装置。
【請求項5】
前記関数の一階微分または二階微分の最大値の絶対値が所定の閾値以下であれば、前記第1要素が正の値となるように、かつ、前記最大値の絶対値が前記所定の閾値よりも大きければ、前記第1要素が負の値となるように、前記第1要素が計算されている、請求項4に記載の自動操縦ロボットの制御装置。
【請求項6】
時間軸と、前記アクセルペダルまたは前記ブレーキペダルの前記検出量を軸とする座標系上で、前記検出量を関数として表現した際に、前記関数の積分量が小さいほど値が大きくなるように設定された積分要素が計算され、当該積分要素を基に前記報酬が計算されている、請求項2に記載の自動操縦ロボットの制御装置。
【請求項7】
前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第2の時刻における前記検出された車速と前記指令車速との差が小さいほど値が大きくなるように設定された第2要素が計算され、当該第2要素を基に前記報酬が計算されている、請求項1から6のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項8】
前記操作内容推論部は、前記第1の時刻以降の複数の時刻における前記操作の内容を推論する、請求項1から7のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項9】
前記第2学習モデルは、前記第1学習モデルにより出力された前記操作の内容を入力とし、前記報酬が大きいほど高い前記評価値を出力するように学習され、
これら前記第1学習モデルと前記第2学習モデルの学習が繰り返されることにより、前記第1学習モデルと前記第2学習モデルは強化学習されている、請求項1から8のいずれか一項に記載の自動操縦ロボットの制御装置。
【請求項10】
車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、
前記車両の走行状態を取得し、前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、
1の時刻における前記走行状態を基に、第1学習モデルにより、前記第1の時刻より後の前記車両の操作の内容を推論し、前記第1学習モデルは、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第1の時刻より後の第2の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習され、前記第1学習モデルは、前記報酬を基に前記操作の内容を評価して前記操作の内容の評価値を計算する第2学習モデルによって計算された、前記評価値を基に、前記評価値がより高い前記操作の内容を推論するように学習されており、
前記操作の内容に基づき前記自動操縦ロボットを制御する、自動操縦ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両を走行させる自動操縦ロボットの制御装置及び制御方法に関する。
【背景技術】
【0002】
一般に、普通自動車などの車両を製造、販売する際には、国や地域により規定された、特定の走行パターン(モード)により車両を走行させた際の燃費や排出ガスを測定し、これを表示する必要がある。
モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係として、グラフにより表わすことが可能である。この到達すべき車速は、車両へ与えられる達成すべき速度に関する指令という観点で、指令車速と呼ばれることがある。
上記のような、燃費や排出ガスに関する試験は、シャシーダイナモメータ上に車両を載置し、車両に搭載された自動操縦ロボット、所謂ドライブロボット(登録商標)により、モードに従って車両を運転させることにより行われる。
【0003】
指令車速には、許容誤差範囲が規定されている。車速が許容誤差範囲を逸脱すると、その試験は無効となるため、自動運転装置には、指令車速への高い追従性が求められる。
これに対し、特許文献1には、車速追従性を高め、事前に行う設定を容易にすることを目的とした、車両速度制御装置が開示されている。
特許文献1の車両速度制御装置は、例えばPID制御則等の、既知のフィードバック制御則に基づいている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-156687号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のように、車両の試験は、燃費や排出ガスの測定を目的の一つとして行われる。
特許文献1のような、フィードバック制御に基づく指令車速への追従制御においては、指令車速に追従させつつ、燃費や排ガス性能をも同時に考慮した車両の操作、例えばアクセルペダルやブレーキペダルの操作量を計算することは、容易ではない。すなわち、燃費や排ガス性能を適切に考慮できないために、指令車速に追従させようとするあまり、例えばアクセルペダルやブレーキペダルを大きく操作したり、小刻みな操作を繰り返したりすることがある。この場合には、車両が備える本来の燃費や排ガス性能よりも、悪い性能が測定される可能性がある。
【0006】
本発明が解決しようとする課題は、指令車速に高い精度で追従させつつ、燃費や排ガス性能を考慮して車両を操作可能な、自動操縦ロボット(ドライブロボット)の制御装置及び制御方法を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するため、以下の手段を採用する。すなわち、本発明は、車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、前記車両の走行状態を取得する走行状態取得部と、第1の時刻における前記走行状態を基に、第1学習モデルにより、前記第1の時刻より後の前記車両の操作の内容を推論する操作内容推論部と、前記操作の内容に基づき前記自動操縦ロボットを制御する車両操作制御部と、を備え、前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、前記第1学習モデルは、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第1の時刻より後の第2の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習されている、自動操縦ロボットの制御装置を提供する。
【0008】
また、本発明は、車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、前記車両の走行状態を取得し、前記走行状態は、前記車両において検出された車速と、前記走行状態が取得された時刻における前記指令車速を含み、第1の時刻から、当該第1の時刻より後の前記車両の操作の内容を推論する第1学習モデルであって、前記操作の内容に基づいた前記自動操縦ロボットの操作の後の、前記第1の時刻より後の第2の時刻における前記走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い前記操作の内容であるほど大きな値となるように報酬を計算し、前記報酬を基に強化学習された前記第1学習モデルにより、前記第1の時刻における前記走行状態を基に、前記車両の操作の内容を推論し、前記操作の内容に基づき前記自動操縦ロボットを制御する、自動操縦ロボットの制御方法を提供する。
【発明の効果】
【0009】
本発明によれば、指令車速に高い精度で追従させつつ、燃費や排ガス性能を考慮して車両を操作可能な、自動操縦ロボット(ドライブロボット)の制御装置及び制御方法を提供することができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態における、自動操縦ロボット(ドライブロボット)を用いた試験環境の説明図である。
図2】上記実施形態における自動操縦ロボットの制御装置のブロック図である。
図3】上記制御装置に設けられた第1学習モデルのブロック図である。
図4】上記第1学習モデルの強化学習に用いられる、第2学習モデルのブロック図である。
図5】上記自動操縦ロボットを制御する制御方法における、学習時のフローチャートである。
図6】上記自動操縦ロボットの制御方法の、学習時における走行データ収集ステップの、詳細なフローチャートである。
図7】上記自動操縦ロボットの制御方法における、性能測定のために車両を走行制御させる際のフローチャートである。
図8】上記実施形態の変形例における自動操縦ロボットの制御装置のブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照して詳細に説明する。
本実施形態における自動操縦ロボットの制御装置は、車両に搭載されて車両を走行させる自動操縦ロボットを、車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、車両の走行状態を取得する走行状態取得部と、第1の時刻における走行状態を基に、第1学習モデルにより、第1の時刻より後の車両の操作の内容を推論する操作内容推論部と、操作の内容に基づき自動操縦ロボットを制御する車両操作制御部と、を備え、走行状態は、車両において検出された車速と、走行状態が取得された時刻における指令車速を含み、第1学習モデルは、操作の内容に基づいた自動操縦ロボットの操作の後の、第1の時刻より後の第2の時刻における走行状態に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容であるほど大きな値となるように計算された報酬を基に、強化学習されている。
本実施形態においては、自動操縦ロボットとしては、ドライブロボット(登録商標)を用いているため、以下、自動操縦ロボットをドライブロボットと記載する。
【0012】
図1は、実施形態におけるドライブロボットを用いた試験環境の説明図である。試験装置1は、車両2、シャシーダイナモメータ3、及びドライブロボット4を備えている。
車両2は、床面上に設けられている。シャシーダイナモメータ3は、床面の下方に設けられている。車両2は、車両2の駆動輪2aがシャシーダイナモメータ3の上に載置されるように、位置づけられている。車両2が走行し駆動輪2aが回転する際には、シャシーダイナモメータ3が反対の方向に回転する。
ドライブロボット4は、車両2の運転席2bに搭載されて、車両2を走行させる。ドライブロボット4は、第1アクチュエータ4cと第2アクチュエータ4dを備えており、これらはそれぞれ、車両2のアクセルペダル2cとブレーキペダル2dに当接するように設けられている。
【0013】
ドライブロボット4は、制御装置10によって制御されている。より詳細には、制御装置10は、ドライブロボット4の第1アクチュエータ4cと第2アクチュエータ4dを制御することにより、車両2のアクセルペダル2cとブレーキペダル2dの開度を変更、調整する。
制御装置10は、ドライブロボット4を、車両2が規定された指令車速に従って走行するように制御する。すなわち、制御装置10は、車両2のアクセルペダル2cとブレーキペダル2dの開度を変更することで、規定された走行パターン(モード)に従うように、車両1を走行制御する。より詳細には、制御装置10は、走行開始から時間が経過するに従い、各時間に到達すべき車速である指令車速に従うように、車両2を走行制御する。
【0014】
制御装置10は、互いに通信可能に設けられた、ドライブロボット制御部20と、学習部30を備えている。
ドライブロボット制御部20は、ドライブロボット4の制御を行うための制御信号を生成し、ドライブロボット4に送信することで、ドライブロボット4を制御する。学習部30は、後に説明するような機械学習器に対して強化学習を行い、学習モデルを生成する。この学習モデルの出力を基に、ドライブロボット4の制御を行うための制御信号が生成される。
ドライブロボット制御部20は、例えば、ドライブロボット4の筐体外部に設けられた、コントローラ等の情報処理装置である。学習部30は、例えばパーソナルコンピュータ等の情報処理装置である。
【0015】
図2は、制御装置10のブロック図である。ドライブロボット制御部20は、指令車速記憶部21、走行状態取得部22、及び車両操作制御部23を備えている。学習部30は、操作内容推論部31、報酬計算部32、強化学習部33、及び学習用データ記憶部34を備えている。
これら制御装置10の構成要素のうち、走行状態取得部22、車両操作制御部23、操作内容推論部31、報酬計算部32、及び強化学習部33は、例えば上記の各情報処理装置内のCPUにより実行されるソフトウェア、プログラムであってよい。また、指令車速記憶部21及び学習用データ記憶部34は、上記各情報処理装置内外に設けられた半導体メモリや磁気ディスクなどの記憶装置により実現されていてよい。
【0016】
後に説明するように、操作内容推論部31は、ある時刻における走行状態を基に、当該時刻よりも後の車両2の操作の内容を推論する。この、車両2の操作の内容の推論を効果的に行うために、特に操作内容推論部31は、後に説明するように機械学習器を備えており、推論した操作の内容に基づいたドライブロボット4の操作の後の時刻における走行状態に基づいて計算された報酬を基に機械学習器を強化学習して学習モデル(第1学習モデル)40を生成する。操作内容推論部31は、性能測定のために実際に車両2を走行制御させる際には、この学習が完了した第1学習モデル40を使用して、車両2の操作の内容を推論する。
すなわち、制御装置10は大別して、強化学習時における操作の内容の学習と、性能測定のために車両を走行制御させる際における操作の内容の推論の、2通りの動作を行う。説明を簡単にするために、以下ではまず、操作の内容の学習時における、制御装置10の各構成要素の説明をした後に、車両の性能測定に際して操作の内容を推論する場合での各構成要素の挙動について説明する。
図2においては、各構成要素が太線と細線の2種類の矢印で結ばれて、データや処理の流れが示されている。車両の性能測定に際して操作の内容を推論する場合でのデータや処理の流れは、太線により示されている。操作の内容の学習時におけるデータや処理の流れは、太線と細線の双方の矢印により示されている。
【0017】
まず、操作の内容の学習時における、ドライブロボット制御部20の構成要素の挙動を説明する。
指令車速記憶部21には、モードに関する情報に基づいて生成された、指令車速が記憶されている。モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係であり、したがって指令車速記憶部21には、実際には、経過時間と指令車速の関係が表現された、例えばテーブルやグラフ、関数等が格納されている。
【0018】
走行状態取得部22は、現在時点における、車両2の走行状態を取得する。車両2の走行状態は、車両2に備えられた様々な図示されない計測器や、車両2を操作するドライブロボット4内に記録された操作実績から取得され得る。すなわち、車両2の走行状態は、現在時点における車両2の動作状況を数値化して表現したものであり、この値を取得する手段は、車両2の計測器による計測値に限られず、ドライブロボット4によって取得可能な値をも含む。
走行状態としては、前回の走行状態取得時刻からのアクセルペダル操作の、ドライブロボット4の操作実績中の操作量(以下、アクセルペダル検出量と呼称する)、前回の走行状態取得時刻からのブレーキペダル操作の、ドライブロボット4の操作実績中の操作量(以下、ブレーキペダル検出量と呼称する)、車両2において検出されたエンジン回転数(以下、エンジン回転数検出量と呼称する)、車両2において検出された車速(以下、検出車速と呼称する)を含む。
走行状態は、更に、当該走行状態が取得された時刻において、車両2が実現すべき指令車速を含む。
【0019】
上記の走行状態の各々は、スカラー値であってもよいが、複数の値により実現されていてもよい。
走行状態の各々は、後述する機械学習器を学習させて学習モデル(第1学習モデル40)を生成する際の入力として主に使用される。このため、走行状態の各々に関し、走行状態が取得された時点のみではなく、その前後の複数の時刻において値を取得し、機械学習器の入力とすることにより、過去の経過や将来の推測を活かしてより効果的に学習することができる可能性がある。
例えば、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速等の、車両2の状態を実際に観測、計測することにより取得される走行状態については、機械学習器の学習アルゴリズムにおいて使用する過去の観測データの参照時間を観測データ参照時間Tobsとすると、観測データ参照時間Tobsの系列として、複数の値を有していてもよい。
また、上記のような観測データとは異なり、指令車速記憶部21に値が格納されており全ての時刻における値が随時参照可能な状態となっている指令車速については、機械学習器の学習アルゴリズムにおいて使用する将来の指令車速の参照時間を指令車速参照時間Trefとすると、指令車速参照時間Trefの系列として、複数の値を有していてもよい。
本実施形態においては、走行状態の各々は、複数の値により実現されている。
【0020】
走行状態取得部22は、車両2に備えられた様々な図示されない計測器やドライブロボット4内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態を、学習部30へ送信する。
【0021】
車両操作制御部23は、次に説明する操作内容推論部31が、走行状態取得部22が送信した送信状態を基に推論した、操作の内容を受信し、これを基にしてドライブロボット4を制御する制御信号を生成して、ドライブロボット4へ送信する。
【0022】
次に、操作の内容の学習時における、学習部30の構成要素の挙動を説明する。
学習部30の操作内容推論部31は、機械学習器を備えている。この機械学習器は、強化学習されることにより、第1学習モデル40が生成される。第1学習モデル40は、車両2の操作の内容を推論するのに使用される。すなわち、機械学習器は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習された学習済みモデル40を生成するものである。
学習部30は、この機械学習器を強化学習するに際し、強化学習に必要な入力となる、走行データを蓄積する。制御装置10が、学習がまだ終了していない、学習途中の機械学習器によって推論された操作の内容によって、一連のデータ収集を行う際における時間単位であるエピソードごとに車両2を走行制御することにより、走行データが蓄積される。この走行データにより機械学習器を強化学習した後に、この出力となる操作の内容を用いて再度走行データを蓄積し、機械学習器を再度学習する。このように、機械学習器を繰り返し更新することにより、最終的に強化学習された、学習済みの第1学習モデル40が生成される。
以下、説明を簡単にするため、操作内容推論部31が備えている機械学習器と、これが学習されて生成される学習モデルをともに、第1学習モデル40と呼称する。
【0023】
操作内容推論部31は、ある時刻(第1の時刻)において、走行状態取得部22から走行状態を受信すると、これを基に、学習中の第1学習モデル40により、第1の時刻より後の車両2の操作の内容を推論する。
【0024】
第1学習モデル40は、所定の第1の時間間隔をおいて、車両2の操作の内容を推論する。この、第1学習モデル40における推論の間隔を、以降、ステップ周期Tstepと呼称する。
ドライブロボット制御部20は、後述するように、ドライブロボット4を制御する制御信号を、ドライブロボット4へと、所定の第2の時間間隔をおいて送信する。この、制御信号の送信間隔を制御周期Tとすると、ステップ周期Tstepは、制御周期Tと同等であってもよいし、制御周期Tよりも大きな値であってもよい。ステップ周期Tstepが制御周期Tよりも大きな値である場合には、第1学習モデル40は、一度の推論により、ステップ周期Tstepに含まれる複数の制御周期Tに相当する、複数の、車両2の操作の内容を出力する。
本実施形態においては、操作内容推論部31は、第1学習モデル40によって、第1の時刻からステップ周期Tstep後までの時間範囲内の、複数の制御周期Tに相当する複数の時刻における操作の内容を推論する。
【0025】
また、第1学習モデル40は、上記のように、第1の時刻より後の、少なくともステップ周期Tstep後までの将来にわたる車両2の操作の内容を推論するが、この推論の対象となる時間間隔は、実際には、ステップ周期Tstepよりも大きくてもよい。すなわち、第1学習モデル40は、実際には、ステップ周期Tstep後までの時間範囲内における車両2の操作の内容を推論すると同時に、ステップ周期Tstep後よりも更に将来の時刻における、車両2の操作の内容を推論してもよい。この、第1学習モデル40によって推論する時間範囲を、行動出力時間Tpredと呼称する。この場合においては、操作内容推論部31は、第1学習モデル40によって、第1の時刻から行動出力時間Tpred後までの時間範囲内の、複数の制御周期Tに相当する複数の時刻における操作の内容を推論する。
このようにした場合においては、第1学習モデル40は、実際に車両2が操作されるステップ周期Tstep後までの操作の内容を推測するに際し、ステップ周期Tstepよりも更に後の時刻における車両2の操作の内容を推測するため、将来の状況を見越した推測をするようになる可能性がある。
【0026】
図3は、第1学習モデル40のブロック図である。
本実施形態においては、第1学習モデル40は、中間層を3層とした全5層の全結合型のニューラルネットワークにより実現されている。第1学習モデル40は、入力層41、中間層42、及び出力層43を備えている。
図3においては、各層が矩形として描かれており、各層に含まれるノードは省略されている。
【0027】
入力層41は、複数の入力ノードを備えている。複数の入力ノードの各々は、例えばアクセルペダル検出量s1、ブレーキペダル検出量s2から、指令車速sNに至るまでの、走行状態sの各々に対応するように設けられている。
既に説明したように、各走行状態sは、複数の値により実現されている。例えば、図3においては、一つの矩形として示されている、アクセルペダル検出量s1に対応する入力は、実際には、アクセルペダル検出量s1の複数の値の各々に対応するように、入力ノードが設けられている。
各入力ノードには、走行状態取得部22から受信した、対応する走行状態sの値が格納される。
【0028】
中間層42は、第1中間層42a、第2中間層42b、及び第3中間層42cを備えている。
中間層42の各ノードにおいては、前段の層(例えば、第1中間層42aの場合は入力層41、第2中間層42bの場合は第1中間層42a)の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層42のノードへの重みを基にした演算がなされて、当該中間層42のノード内に演算結果が格納される。
本実施形態においては、この演算において使用される活性化関数は、例えばReLU(Rectified Linear Unit)である。
【0029】
出力層43においても、中間層42の各々と同様な演算が行われ、出力層43に備えられた各出力ノードに演算結果が格納される。複数の出力ノードの各々は、操作の内容aの各々に対応するように設けられている。本実施形態においては、車両2の操作の対象は、アクセルペダル2cとブレーキペダル2dであり、これに対応して、操作の内容aは、例えばアクセルペダル操作a1とブレーキペダル操作a2となっている。
既に説明したように、各操作の内容aは、複数の値により実現されている。例えば、図3においては、一つの矩形として示されている、アクセルペダル操作a1に対応する出力は、実際には、アクセルペダル操作a1の複数の値の各々に対応するように、出力ノードが設けられている。
【0030】
第1学習モデル40においては、上記のように走行状態sが入力されて、適切な操作の内容aを演算することができるように学習がなされる。この学習においては、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値が調整される。
第1学習モデル40の具体的な学習については、後に説明する。
【0031】
操作内容推論部31は、上記のように、第1の時刻における走行状態sを基に、第1の時刻より後の行動出力時間Tpredまでにおける車両2の操作の内容aを推論し、ドライブロボット制御部20の車両操作制御部23へ送信する。
この操作の内容aに基づき、車両操作制御部23はステップ周期Tstepの間、ドライブロボット4を操作する。
そして、走行状態取得部22は、操作後の車両2の、第1の時刻よりも後の第2の時刻における走行状態を再度取得する。
【0032】
以降においては、第1の時刻で取得された走行状態と第2の時刻で取得された走行状態を区別して記載するため、第1の時刻で取得された走行状態を走行状態s、第2の時刻で取得された走行状態を走行状態st+1と記載する。また、第1の時刻で取得された走行状態sに対して推論され、実行された操作の内容を操作の内容aと記載する。
操作内容推論部31は、第1の時刻における走行状態s、これに対して推論され実際に実行された操作の内容a、及び第2の時刻における走行状態st+1を、次に説明する報酬計算部32に送信する。
報酬計算部32は、強化学習に際し必要となる値である報酬を計算する。後述する強化学習部33は、この報酬を基に、操作の内容aがどの程度適切であったかを示す行動価値を計算し、第1学習モデル40は、この行動価値が高くなるような操作の内容aを出力するように、強化学習が行われる。
報酬計算部32によって計算された報酬は、操作内容推論部31に送信されて操作内容推論部31により受信され、これを受けて操作内容推論部31は、第1の時刻における走行状態s、操作の内容a、第2の時刻における走行状態st+1と、及び受信した報酬の組み合わせを、学習用データ記憶部34へ送信し、記憶する。
【0033】
報酬計算部32は、操作内容推論部31から、第1の時刻における走行状態s、操作の内容a、及び第2の時刻における走行状態st+1を受信する。報酬は、操作の内容a、及びこれに伴う第2の時刻における走行状態st+1が望ましくないほど小さい値を、望ましいほど大きい値を、有するように設計されている。強化学習部33は、後述の数式2により、報酬が大きいほど行動価値(評価値)を高くするように計算し、第1学習モデル40はこの行動価値が高くなるような操作の内容aを出力するように、強化学習が行われる。
【0034】
本実施形態においては、制御装置10は、燃費や排ガス性能を考慮してドライブロボット4を制御するものであるため、報酬には、燃費と排ガス性能が反映されている。
燃費は、例えばガソリンや軽油などの燃料の、単位容量当たりの走行距離、または、一定の距離をどれだけの燃料で走行できるかを示す指標である。
排ガス性能は、排気ガスに含まれる、一酸化炭素、窒素酸化物、炭化水素類、黒煙等の大気汚染物質の濃度が、一定の基準以下であるか否かを示す指標である。
これら燃費や排ガス性能は、車両2の操作という観点では、アクセルペダル2cとブレーキペダル2dの操作が関連する。すなわち、報酬は、アクセルペダル2cとブレーキペダル2dの検出量に基づいて計算されるのが適切である。
【0035】
ただし、燃費や排ガス性能を向上させることに注目するあまり、制御装置10が本来達成すべき、指令車速への追従性能が損なわれることがあってはならない。このため、報酬は、アクセルペダル2cとブレーキペダル2dの検出量に加えて、指令車速への追従性能に基づいて計算されるのが望ましい。
【0036】
本実施形態においては、rを指令車速への追従性に基づいて計算される指令車速報酬要素(第2要素)、rAPをアクセルペダル2cの検出量に基づいて計算されるアクセルペダル報酬要素(第1要素)、rBPをブレーキペダル2dの検出量に基づいて計算されるブレーキペダル報酬要素(第1要素)としたときに、報酬rは、次の数式1によって表わされる。
ここで、w、wAP、wBPは、それぞれ、指令車速報酬要素r、アクセルペダル報酬要素rAP、ブレーキペダル報酬要素rBPに対応した重みである。
【0037】
【数1】
【0038】
このように、報酬rは、指令車速への追従性や、アクセルペダル2c、ブレーキペダル2dの検出量等の、各要素に対応する報酬要素を計算したうえで、これらの重みづけ和を計算することで、一つのスカラー値として計算されている。
【0039】
指令車速報酬要素rは、例えば、操作内容推論部31から受信した第2の時刻における走行状態st+1において、検出車速と指令車速の差分の絶対値を計算し、これが所定の第1閾値以下であれば、差分値が小さいほど大きな値となる、正の値とし、第1閾値よりも大きければ、差分値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容aによって検出車速が指令車速に十分に追従できている場合においては、検出車速と指令車速の差分の絶対値は第1閾値以下の値となり、指令車速報酬要素rの値が大きくなる。逆に、検出車速が指令車速に十分に追従できていない場合においては、検出車速と指令車速の差分の絶対値は第1閾値よりも大きな値となり、指令車速報酬要素rの値が小さくなる。
このように、操作の内容aに基づいたドライブロボット4の操作の後の、第2の時刻における検出車速と指令車速との差が小さいほど値が大きくなるように設定された指令車速報酬要素r(第2要素)が計算され、指令車速報酬要素rを基に報酬rが計算されている。
【0040】
アクセルペダル報酬要素rAPに関しては、例えば、操作内容推論部31から受信した第2の時刻における走行状態st+1において、第1の時刻からのアクセルペダル検出量の推移を取得し、時間軸と、アクセルペダル2cの検出量を軸とする座標系上で、検出量を関数として表現する。アクセルペダル報酬要素rAPは、この関数の二階微分または一階微分の値を基に計算され得る。
【0041】
二階微分の場合においては、例えば、上記関数の二階微分の最大値の絶対値を計算し、これが所定の第2閾値(所定の閾値)以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第2閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容aにおいてアクセルペダル2cの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化せず、したがって関数の二階微分の最大値の絶対値は第2閾値以下の値となり、アクセルペダル報酬要素rAPの値が大きくなる。逆に、操作の内容aにおいてアクセルペダル2cの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化し、したがって関数の二階微分の最大値の絶対値は第2閾値よりも大きな値となり、アクセルペダル報酬要素rAPの値が小さくなる。
【0042】
一階微分の場合においても同様に、例えば、上記関数の一階微分の最大値の絶対値を計算し、これが所定の第3閾値(所定の閾値)以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第3閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容aにおいてアクセルペダル2cの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは大きくはなく、したがって関数の一階微分の最大値の絶対値は第3閾値以下の値となり、アクセルペダル報酬要素rAPの値が大きくなる。逆に、操作の内容aにおいてアクセルペダル2cの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは大きくなり、したがって関数の一階微分の最大値の絶対値は第3閾値よりも大きな値となり、アクセルペダル報酬要素rAPの値が小さくなる。
【0043】
このように、アクセルペダル報酬要素rAPは、第1の時刻から第2の時刻までのアクセルペダル検出量の推移を関数として表わしたときに、関数の一階微分または二階微分の最大値の絶対値が所定の第2、第3閾値以下であれば、最大値の絶対値に応じた正の値となるように、かつ、最大値の絶対値が所定の第2、第3閾値よりも大きければ、最大値の絶対値に応じた負の値となるように、計算されている。
【0044】
ブレーキペダル報酬要素rBPに関しても同様で、例えば、操作内容推論部31から受信した第2の時刻における走行状態st+1において、第1の時刻からのブレーキペダル検出量の推移を取得し、時間軸と、ブレーキペダル2dの検出量を軸とする座標系上で、検出量を関数として表現する。ブレーキペダル報酬要素rBPは、この関数の二階微分または一階微分の値を基に計算され得る。
【0045】
二階微分の場合においては、例えば、上記関数の二階微分の最大値の絶対値を計算し、これが所定の第4閾値(所定の閾値)以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第4閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容aにおいてブレーキペダル2dの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化せず、したがって関数の二階微分の最大値の絶対値は第4閾値以下の値となり、ブレーキペダル報酬要素rBPの値が大きくなる。逆に、操作の内容aにおいてブレーキペダル2dの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは時間と共に大きく変化し、したがって関数の二階微分の最大値の絶対値は第4閾値よりも大きな値となり、ブレーキペダル報酬要素rBPの値が小さくなる。
【0046】
一階微分の場合においても同様に、例えば、上記関数の一階微分の最大値の絶対値を計算し、これが所定の第5閾値(所定の閾値)以下であれば、最大値の絶対値が小さいほど大きな値となる、正の値とし、第5閾値よりも大きければ、最大値の絶対値が大きいほど小さな値となる、負の値とすることで、計算され得る。
この場合においては、操作の内容aにおいてブレーキペダル2dの開度が急激に変わらず、燃費や排ガス性能が良好であると考えられる場合においては、上記曲線の接線の傾きは大きくはなく、したがって関数の一階微分の最大値の絶対値は第5閾値以下の値となり、ブレーキペダル報酬要素rBPの値が大きくなる。逆に、操作の内容aにおいてブレーキペダル2dの開度が急激に変化し、燃費や排ガス性能が良好ではないと考えられる場合においては、上記曲線の接線の傾きは大きくなり、したがって関数の一階微分の最大値の絶対値は第5閾値よりも大きな値となり、ブレーキペダル報酬要素rBPの値が小さくなる。
【0047】
このように、ブレーキペダル報酬要素rBPは、第1の時刻から第2の時刻までのブレーキペダル検出量の推移を関数として表わしたときに、関数の一階微分または二階微分の最大値の絶対値が所定の第4、第5閾値以下であれば、最大値の絶対値に応じた正の値となるように、かつ、最大値の絶対値が所定の第4、第5閾値よりも大きければ、最大値の絶対値に応じた負の値となるように、計算されている。
【0048】
上記のように、アクセルペダル2c及びブレーキペダル2dの検出量の変化が小さいほど値が大きくなるように設定されたアクセルペダル報酬要素rAP、ブレーキペダル報酬要素rBPが計算され、アクセルペダル報酬要素rAP、ブレーキペダル報酬要素rBPを基に報酬rが計算されている。このように、報酬rは、入力された操作の内容aが、対応する第2の時刻における走行状態st+1での燃費と排ガス性能が高くなると考えられるものであるほど、大きな値となるように計算されている。
【0049】
既に説明したように、上記の数式1によって計算された報酬rは、操作内容推論部31へ送信されて、第1の時刻における走行状態s、操作の内容a、第2の時刻における走行状態st+1と共に組み合わされて、学習用データ記憶部34へ送信される。
ここで、報酬rは、第2の時刻における走行状態st+1に対して計算されたものであるから、以降、報酬rt+1と記載する。
学習用データ記憶部34は、操作内容推論部31から送信された、第1の時刻における走行状態s、操作の内容a、第2の時刻における走行状態st+1、及び報酬rt+1の組み合わせを受信して、記憶する。
この組み合わせは、走行データとして、第1学習モデル40の強化学習に使用される。
【0050】
学習部30は、強化学習に十分なデータが学習用データ記憶部34に記憶されるまで、操作内容推論部31による操作の内容aの推論と、操作の内容aがドライブロボット4によって実行された後の状態st+1の取得、及び報酬計算部32によるこれを基にした報酬rt+1の計算を繰り返し、走行データを学習用データ記憶部34に蓄積する。
学習用データ記憶部34に、強化学習に十分な量の走行データが蓄積されると、次に説明する強化学習部33により強化学習が実行される。
【0051】
強化学習部33は、学習用データ記憶部34から、複数の走行データを取得し、これを使用して、第1学習モデル40を強化学習する。以下に説明するように、強化学習部33は、本実施形態においては、深層強化学習アルゴリズムDDPG(Deep Deterministic Policy Gradient)によって、第1学習モデル40と、後に説明する、強化学習部33に設けられた第2学習モデル50を並行して学習させているが、強化学習に用いられるアルゴリズムは、DDPG以外の他のアルゴリズムであってもよい。
まず、第1学習モデル40の学習について説明する。
【0052】
既に説明したように、強化学習部33は、操作の内容aがどの程度適切であったかを示す行動価値を計算し、第1学習モデル40が、この行動価値が高くなるような操作の内容aを出力するように、強化学習を行う。この行動価値(評価値)は、第1の時刻における走行状態sと、これに対する操作の内容aを引数とした関数Q(s、a)として、次の式で表わされる。
【0053】
【数2】
【0054】
上式において、γは割引率であり、αは学習率である。
行動価値関数Q(s、a)は、第1の時刻における走行状態sにおいて操作の内容aを実行した際に、以降の時刻において最終的に得られると考えられる収益、すなわち時間割引報酬の和の期待値を表す。maxQ(st+1、a)は、第2の時刻においてとり得る操作の内容aに対する行動価値関数Qの最大値であり、これに割引率γを乗算して報酬rt+1を加算した値は、第1の時刻において操作の内容aを実行し、報酬rt+1を受け取った後の、すなわち第2の時刻における行動価値である。この、第2の時刻における行動価値と、第1の時刻における行動価値Q(s、a)の差分であるTD(Temporal Difference)誤差に対し、学習率αを乗算して、元々の行動価値関数Q(s、a)に加算することにより、行動価値関数Q(s、a)を更新する。
すなわち、上記の数式2は、行動価値関数Q(s、a)の更新式であり、行動価値関数Q(s、a)は随時、更新される。
【0055】
既に説明したように、強化学習部33は、上記の数式2により、報酬rt+1が大きいほど行動価値Q(s、a)を高くするように計算する。この行動価値Q(s、a)が高くなるような操作の内容aを第1学習モデル40が出力するように、第1学習モデル40の強化学習は実行される。ここで、上記のように数式2は行動価値関数Q(s、a)の更新式であるため、第1学習モデル40が学習されて走行状態sと操作の内容aの出力が変化すると、行動価値関数Q(s、a)自体も更新される。
このように、強化学習部33は、第1学習モデル40の学習と、行動価値関数Q(s、a)の更新を、並行して、例えば交互に繰り返すことにより、実行する。
【0056】
第1学習モデル40は、上記のように、行動価値の高い操作の内容aを出力することを目的としている。すなわち、行動価値関数Q(s、a)の値ができるだけ大きい操作の内容aを出力するように、第1学習モデル40の学習は実行される。
本実施形態においては、μ(s)を、第1学習モデル40に走行状態sを入力としたときの出力関数(すなわち操作の内容a)としたときに、「-Q(s、μ(s))」の値を損失関数とし、これをできるだけ小さくする操作の内容aを出力するように、第1学習モデル40を学習させる。すなわち、誤差逆伝搬法、確率的勾配降下法等により、この損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって、強化学習部33は第1学習モデル40を学習させる。
【0057】
ここで、既に説明したように、本実施形態においては強化学習としてDDPGを用いている。すなわち、強化学習部33は、ニューラルネットワークにより実現された第2学習モデル50を備えており、数式2における行動価値関数Q(s、a)を、関数近似器としての第2学習モデル50により計算している。
【0058】
図4は、第2学習モデル50のブロック図である。
本実施形態においては、第2学習モデル50は、第1学習モデル40と同様に、中間層を3層とした全5層の全結合型のニューラルネットワークにより実現されている。第2学習モデル50は、入力層51、中間層52、及び出力層53を備えている。
図4においては、各層が矩形として描かれており、各層に含まれるノードは省略されている。
【0059】
入力層51は、複数の入力ノードを備えている。複数の入力ノードの各々は、例えばアクセルペダル検出量s1、ブレーキペダル検出量s2から、指令車速sNに至るまでの、走行状態sの各々と、及び、例えばアクセルペダル操作a1とブレーキペダル操作a2の、操作の内容aの各々に対応するように設けられている。このように、上記の数式2における行動価値関数Q(s、a)の引数に対応するように、入力ノードが設けられている。
第1学習モデル40と同様に、各走行状態sは、複数の値により実現されている。例えば、図4においては、一つの矩形として示されている、アクセルペダル検出量s1に対応する入力は、実際には、アクセルペダル検出量s1の複数の値の各々に対応するように、入力ノードが設けられている。
また、各操作の内容aも、第1学習モデル40と同様に、複数の値により実現されている。例えば、図4においては、一つの矩形として示されている、アクセルペダル操作a1に対応する出力は、実際には、アクセルペダル操作a1の複数の値の各々に対応するように、入力ノードが設けられている。
各入力ノードには、学習用データ記憶部34から受信した、第1の時刻における走行状態sと、操作の内容aの値が格納される。
【0060】
中間層52は、第1中間層52a、第2中間層52b、及び第3中間層52cを備えている。
中間層52の各ノードにおいては、前段の層(例えば、第1中間層52aの場合は入力層51、第2中間層52bの場合は第1中間層52a)の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層52のノードへの重みを基にした演算がなされて、当該中間層52のノード内に演算結果が格納される。
本実施形態においては、この演算において使用される活性化関数は、例えばReLU(Rectified Linear Unit)である。
【0061】
出力層53においても、中間層52の各々と同様な演算が行われ、出力層53に備えられた出力ノードに演算結果が格納される。本実施形態においては、出力ノードは、例えば1つであり、これが、計算された行動価値関数Q(s、a)の値に相当する。
【0062】
第2学習モデル50においても、走行状態sと操作の内容aが入力されて、適切な行動評価関数Qを演算することができるように学習がなされる。この学習においては、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値が調整される。
第2学習モデル50は、次式を損失関数として、これをできるだけ小さくするように学習される。
【0063】
【数3】
【0064】
上式は、第1学習モデル40において説明した、TD誤差に相当する。TD誤差は、第2の時刻における行動価値である、第2の時刻において実行する操作の内容μ(st+1)に対する行動価値関数Qに割引率γを乗算して報酬rt+1を加算した値と、第1の時刻における行動価値Q(s、a)との差分である。このため、TD誤差(の二乗)を最小化することにより、行動価値Q(s、a)として適切な値が出力されるように第1学習モデル40が学習される。
第2学習モデル50においても、第1学習モデル40と同様に、誤差逆伝搬法、確率的勾配降下法等により、数式3として示された損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって、第2学習モデル50は学習される。
【0065】
このように、本実施形態においては、第1学習モデル40は、操作の内容aに基づいたドライブロボット4の操作の後の、第1の時刻より後の第2の時刻における走行状態st+1に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容aであるほど大きな値となるように計算された報酬rt+1を基に、強化学習されている。
また、第1学習モデル40は、報酬rt+1を基に操作の内容aを評価して操作の内容aの評価値Q(s、a)を計算する第2学習モデル50によって計算された、評価値Q(s、a)を基に、評価値Q(s、a)がより高い操作の内容を推論するように学習されている。
更に、第2学習モデル50は、第1学習モデル40により出力された操作の内容aを入力とし、報酬rt+1が大きいほど高い評価値Q(s、a)を出力するように学習され、これら第1学習モデル40と第2学習モデルの学習50が繰り返されることにより、第1学習モデル40と第2学習モデルの学習50は強化学習されている。
【0066】
以上のように、制御装置10は、操作の内容の学習時においては、学習が中途の状態における第1学習モデル40によって、現在(第1の時刻)の走行状態sにおいて実行すべき操作の内容aを推論する。また、制御装置10は、この操作の内容aを実行した後の時刻(第2の時刻)において、操作の内容aの実行によって変化した走行状態st+1を基に、報酬rt+1を取得する。このようにして、制御装置10は、まず走行データを蓄積する。
蓄積された走行データを基に、第1の時刻の走行状態sと、学習が中途の状態における第1学習モデル40によって推論された操作の内容aを入力として、報酬rt+1を基に、現状の第1学習モデル40の出力となる操作の内容aを適切に評価できるように、第2学習モデル50を学習する。
この学習後の第2学習モデル50を用いて、これが出力する評価値Q(s、a)が大きな操作の内容aを出力するように、第1学習モデル40を学習する。
これにより、第1学習モデル40が出力する操作の内容aが変化するため、再度走行データを蓄積する。
このように、走行データの蓄積と、第1学習モデル40及び第2学習モデル50の学習を繰り返すことで、第1学習モデル40及び第2学習モデル50の学習が完了する。
【0067】
本実施形態において、制御装置10は、第1学習モデル40及び第2学習モデル50の学習において、例えば、各々の、学習前後における損失関数の差が一定の値以下となった場合に、学習を繰り返したとしてもその効果が十分に見込めないと判断し、学習を終了する。
【0068】
次に、実際に車両2の性能測定に際して操作の内容を推論する場合での、すなわち、第1学習モデル40の強化学習が終了した後における、制御装置10の各構成要素の挙動について説明する。
【0069】
走行状態取得部22は、現在時点における、車両2の走行状態を取得する。
走行状態取得部22は、車両2に備えられた様々な図示されない計測器やドライブロボット4内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態を、学習部30へ送信する。
【0070】
学習部30の操作内容推論部31は、ある時刻(第1の時刻)において、走行状態取得部22から走行状態を取得すると、これを基に、学習済みの第1学習モデル40により、第1の時刻より後の車両2の操作の内容aを推論する。
この第1学習モデル40は、操作の内容aに基づいたドライブロボット4の操作の後の、第1の時刻より後の第2の時刻における走行状態sに基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容aであるほど大きな値となるように計算された報酬rを基に、強化学習されている、学習済みのモデルである。
【0071】
操作内容推論部31は、学習部30によって事前に強化学習されて、重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値が調整、決定された、学習済みの第1学習モデル40が、例えばCPU上でプログラムとして実行されることで、車両2の操作の内容aを推論する。
より詳細には、操作内容推論部31が、受信した走行状態sの各々を、学習済みの第1学習モデル40の入力層41の、対応する入力ノードに入力すると、第1学習モデル40は、入力層41から中間層42を介して出力層43へと順に辿りながら、重みやバイアスの値等を用いて重み付け和を演算する処理を実行する。最終的に出力層43の各出力ノードに、第1の時刻以降に実行すべき操作の内容aが格納される。
操作内容推論部31は、推論した操作の内容aを、車両操作制御部23へ送信する。
【0072】
車両操作制御部23は、操作内容推論部31から操作の内容aを受信し、この操作の内容aに基づき、ステップ周期Tstepの間、ドライブロボット4を操作する。
【0073】
次に、図1図4、及び図5図7を用いて、上記のドライブロボット4の制御装置10によりドライブロボット4を制御する方法を説明する。図5は、ドライブロボット4の制御方法における、学習時のフローチャートである。図6は、ドライブロボット4の制御方法の、学習時における走行データ収集ステップの、詳細なフローチャートである。図7は、ドライブロボット4の制御方法における、性能測定のために車両2を走行制御させる際のフローチャートである。
本ドライブロボット4の制御方法は、車両2に搭載されて車両2を走行させるドライブロボット4を、車両2が規定された指令車速に従って走行するように制御する、ドライブロボット4の制御方法であって、車両2の走行状態sを取得し、走行状態sは、車両2において検出された車速と、走行状態sが取得された時刻における指令車速を含み、第1の時刻から、第1の時刻より後の車両2の操作の内容aを推論する第1学習モデル40であって、操作の内容aに基づいたドライブロボット4の操作の後の、第1の時刻より後の第2の時刻における走行状態sに基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容aであるほど大きな値となるように報酬rを計算し、報酬rを基に強化学習された第1学習モデル40により、第1の時刻における走行状態sを基に、車両の操作の内容aを推論し、操作の内容aに基づきドライブロボット4を制御する。
まず、図5図6を用いて、操作の内容の学習時における動作を説明する。
【0074】
学習が開始されると(ステップS1)、走行環境や第1学習モデル40、第2学習モデル50等の各パラメータが初期設定される(ステップS3)。
その後、図6に示される手順に従い、車両2の走行データを収集する(ステップS5)。
【0075】
既に説明したように、走行データは、一連のデータ収集を行う際における時間単位であるエピソードごとに車両2を走行制御することにより、蓄積される。
エピソードが開始されると(ステップS21)、当該エピソードが開始された時点における、車両2の初期状態を観測する(ステップS23)。エピソードは、車両2が走行制御されている途中において開始される場合もあるため、エピソードの開始時における車両2の初期状態は、車両2が停止している状態はもちろん、走行中の状態をも含み得る。
【0076】
初期状態の観測は、次のように行われる。
走行状態取得部22が、現在時点における、車両2の走行状態sを取得する。
走行状態取得部22は、車両2に備えられた様々な図示されない計測器やドライブロボット4内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態sを、学習部30へ送信する。
【0077】
操作内容推論部31は、走行状態取得部22から、走行状態sを受信する。操作内容推論部31は、走行状態sを受信した時刻を第1の時刻として、受信した走行状態sを基に、学習中の第1学習モデル40により、第1の時刻より後の車両2の操作の内容を推論する(ステップS25)。
より詳細には、操作内容推論部31は、走行状態sを、第1学習モデル40の入力層41の、各走行状態sに対応する入力ノードに入力する。
中間層42の各ノードにおいては、前段の層(例えば、第1中間層42aの場合は入力層41、第2中間層42bの場合は第1中間層42a)の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層42のノードへの重みを基にした演算がなされて、当該中間層42のノード内に演算結果が格納される。
出力層43においても、中間層42の各々と同様な演算が行われ、出力層43に備えられた各出力ノードに演算結果、すなわち操作の内容aが格納される。
【0078】
操作内容推論部31は、この、現在の学習中の第1学習モデル40が推論した操作の内容aを、ドライブロボット制御部20の車両操作制御部23へ送信する。
この操作の内容aに基づき、車両操作制御部23はステップ周期Tstepの間、ドライブロボット4を操作する。
そして、走行状態取得部22は、操作後の車両2の走行状態sを、ステップS23と同様な要領で、再度取得する。
走行状態取得部22は、操作後の車両2の走行状態sを、学習部30へ送信する。
【0079】
操作内容推論部31は、走行状態取得部22から、走行状態sを受信する。操作内容推論部31は、走行状態を受信した時刻を、第1の時刻より後の第2の時刻として、第1の時刻における走行状態s、これに対して推論され実際に実行された操作の内容a、及び第2の時刻における走行状態st+1を、報酬計算部32に送信する。
報酬計算部32は、強化学習に際し必要となる値である報酬rt+1を計算して、操作内容推論部31に送信する。
操作内容推論部31は、報酬rt+1を受信する(ステップS27)。
操作内容推論部31は、第1の時刻における走行状態s、操作の内容a、第2の時刻における走行状態st+1と、及び受信した報酬rt+1の組み合わせを、学習用データ記憶部34へ送信し、記憶する(ステップS29)。
【0080】
学習部30は、エピソードが終了したか否かを判定する(ステップS31)。エピソードが終了したと判定した場合には(ステップS31のYes)、エピソードを終了させて(ステップS33)、図5に示されるステップS7へと遷移する。
エピソードが終了していないと判定した場合には(ステップS31のNo)、第2の時刻を第1の時刻とし、第2の時刻における走行状態st+1を第1の時刻における走行状態sと更新したうえで、ステップS25へ遷移し、この新たな第1の時刻における操作の内容aの推論を行う。このように、各時刻において、操作の内容aの推論、推論した操作の内容aを実行した後の状態の取得、これに基づく報酬の計算を繰り返すことにより、制御装置10は、走行データを学習用データ記憶部34に蓄積する。
【0081】
十分な走行データが学習用データ記憶部34に蓄積されると、これを用いて、第1学習モデル40と第2学習モデル50を強化学習し、学習モデル40、50を更新する(ステップS7)。
まず、蓄積された走行データを基に、第1の時刻の走行状態sと、学習が中途の状態における第1学習モデル40によって推論された操作の内容aを入力として、現状の第1学習モデル40の出力となる操作の内容aを適切に評価できるように、第2学習モデル50を学習する。
【0082】
強化学習部33は、第1の時刻の走行状態sと操作の内容aを、第2学習モデル50の入力層51の、各走行状態s及び操作の内容aに対応する入力ノードに入力する。
中間層52の各ノードにおいては、前段の層(例えば、第1中間層52aの場合は入力層51、第2中間層52bの場合は第1中間層52a)の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層52のノードへの重みを基にした演算がなされて、当該中間層52のノード内に演算結果が格納される。
出力層53においても、中間層52の各々と同様な演算が行われ、出力層53に備えられた出力ノードに演算結果、すなわち行動価値関数Q(s、a)の値が格納される。
【0083】
強化学習部33は、既に説明した数式3を損失関数として、これをできるだけ小さくするように、第2学習モデル50を学習させる。すなわち、第2学習モデル50は、誤差逆伝搬法、確率的勾配降下法等により、数式3として示された損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって学習される。
【0084】
この時点において学習用データ記憶部34に蓄積されているデータによる、第2学習モデル50の更新が終了すると、第1学習モデル40を学習させる。
強化学習部33は、「-Q(s、μ(s))」の値を損失関数とし、これをできるだけ小さくする操作の内容aを出力するように、第1学習モデル40を学習させる。すなわち、第1学習モデル40は、誤差逆伝搬法、確率的勾配降下法等により、この損失関数が減る方向に重みやバイアスの値等の、ニューラルネットワークを構成する各パラメータの値を調整することによって学習される。
【0085】
第1学習モデル40と第2学習モデル50の更新が終了すると、これら第1学習モデル40と第2学習モデル50の学習が終了したか否かを判定する(ステップS9)。
学習が終了していないと判定された場合には(ステップS9のNo)、ステップS5へ遷移する。すなわち、制御装置10は走行データを更に収集し、これを用いた第1学習モデル40と第2学習モデル50の更新を繰り返す。
学習が終了したと判定された場合には(ステップS9のYes)、学習処理を終了する(ステップS11)。
【0086】
次に、図7を用いて、実際に車両2の性能測定に際して操作の内容を推論する場合での、すなわち、第1学習モデル40の強化学習が終了した後において、車両2を走行制御する際の動作について説明する。
【0087】
車両2が走行を開始すると(ステップS51)、走行環境が初期設定され、この時点での走行状態sを初期状態として観測する(ステップS53)。
走行状態sの観測は、次のように行われる。
走行状態取得部22が、現在時点における、車両2の走行状態sを取得する。
走行状態取得部22は、車両2に備えられた様々な図示されない計測器やドライブロボット4内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態sを、学習部30へ送信する。
【0088】
操作内容推論部31は、走行状態取得部22から、走行状態sを受信する。操作内容推論部31は、走行状態sを受信した時刻を第1の時刻として、受信した走行状態sを基に、学習済みの第1学習モデル40により、第1の時刻より後の車両2の操作の内容を推論する(ステップS55)。
より詳細には、操作内容推論部31は、受信した走行状態sの各々を、学習済みの第1学習モデル40の入力層41の、対応する入力ノードに入力すると、入力層41から中間層42を介して出力層43へと順に辿りながら、重みやバイアスの値等を用いて重み付け和を演算する処理を実行する。最終的に出力層43の各出力ノードに、第1の時刻以降に実行すべき操作の内容aが格納される。
操作内容推論部31は、推論した操作の内容aを、車両操作制御部23へ送信する。
【0089】
操作内容推論部31は、この、学習済みの第1学習モデル40が推論した操作の内容aを、ドライブロボット制御部20の車両操作制御部23へ送信する。
この操作の内容aに基づき、車両操作制御部23はステップ周期Tstepの間、ドライブロボット4を操作する。
そして、走行状態取得部22は、操作後の車両2の走行状態sを、ステップS53と同様な要領で、再度取得する(ステップS57)。
走行状態取得部22は、操作後の車両2の走行状態sを、学習部30へ送信する。
【0090】
制御装置10は、車両2の走行が終了したか否かを判定する(ステップS59)。
走行が終了していないと判定された場合には(ステップS59のNo)、ステップS55へ遷移する。すなわち、制御装置10は、ステップS57で取得した走行状態sを基にした操作の内容aの推論と、更なる走行状態sの観測を繰り返す。
走行が終了したと判定された場合には(ステップS59のYes)、走行処理を終了する(ステップS61)。
【0091】
次に、上記のドライブロボットの制御装置及び制御方法の効果について説明する。
【0092】
本実施形態におけるドライブロボット(自動操縦ロボット)の制御装置10は、車両2に搭載されて車両2を走行させるドライブロボット4を、車両2が規定された指令車速に従って走行するように制御する、ドライブロボット4の制御装置10であって、車両2の走行状態sを取得する走行状態取得部22と、第1の時刻における走行状態sを基に、第1学習モデル40により、第1の時刻より後の車両2の操作の内容aを推論する操作内容推論部31と、操作の内容aに基づきドライブロボット4を制御する車両操作制御部23と、を備え、走行状態sは、車両2において検出された車速と、走行状態sが取得された時刻における指令車速を含み、第1学習モデル40は、操作の内容aに基づいたドライブロボット4の操作の後の、第1の時刻より後の第2の時刻における走行状態st+1に基づいて、燃費と排ガス性能のいずれか一方または双方がより高い操作の内容aであるほど大きな値となるように計算された報酬rt+1を基に、強化学習されている。
上記のような構成によれば、車両2の操作の内容aを推論する操作内容推論部31において、第1学習モデル40は、燃費と排ガス性能がより高い操作の内容aであるほど大きな値となるように計算された報酬rt+1を基に、強化学習されている。したがって、操作内容推論部31は、燃費や排ガス性能が考慮された操作の内容aを推論することができるため、ドライブロボット4に、燃費や排ガス性能を考慮して車両2を操作させることができる。
また、第1学習モデル40が操作の内容を推論するに際し基づく、車両2の走行状態sは、走行状態sが取得された時刻における指令車速を含むため、指令車速に高精度で追従するような操作の内容aを推論可能である。
したがって、指令車速に高い精度で追従させつつ、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置10を提供可能である。
【0093】
強化学習以外の機械学習、例えば教師あり学習等において、燃費や排ガス性能を考慮してドライブロボット4が車両2を制御するような学習モデルを生成する際には、実際に車両2を、燃費や排ガス性能が良好となるように走行させて、燃費や排ガス性能が良好な走行データを取得し、これを教師データとして学習させることが考えられる。このように、例えば教師あり学習においては、学習する対象はあくまで与えられた教師データであり、燃費や排ガス性能は、この走行データの学習に付随して、間接的に改善される。すなわち、例えば教師あり学習においては、燃費や排ガス性能の向上を直接的な目標として学習することができない。このため、与えられた教師データ以上に燃費や排ガス性能が良好に改善されるような操作の内容が実際にはあったとしても、これを推論することが容易ではない。
これに対し、本実施形態においては、操作の内容aに関して燃費や排ガス性能が良好か否かの程度を明確な値として有する報酬rを基に、燃費や排ガス性能が良好な操作の内容aを推論するように、第1学習モデル40が強化学習されている。すなわち、本実施形態においては、第1学習モデル40は強化学習により学習されているため、燃費や排ガス性能を向上させることを明示的な目標として、第1学習モデル40が操作の内容aを推論することができる。このため、教師あり学習等の他の機械学習を適用した形態と比較しても、より良好な燃費や排ガス性能となるような操作の内容aを推論し得る。
【0094】
また、操作の対象は、アクセルペダル2cとブレーキペダル2dを含み、走行状態sは、アクセルペダル2cとブレーキペダル2dの検出量を含む。
上記のような構成によれば、車両2の操作において、燃費や排ガス性能と密接に関連するアクセルペダル2cとブレーキペダル2dの検出量を走行状態sに含めているため、適切に報酬rを計算し、結果として、第1学習モデル40によって適切に操作の内容aを推論することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0095】
また、アクセルペダル2c及びブレーキペダル2dの検出量の変化が小さいほど値が大きくなるように設定された第1要素rAP、rBPが計算され、第1要素rAP、rBPを基に報酬rt+1が計算されている。
上記のような構成によれば、燃費や排ガス性能が良好であると考えられる、アクセルペダル2c及びブレーキペダル2dの検出量の変化が小さい場合に、第1要素rAP、rBPの値が小さくなるように計算され、これを基に報酬rt+1が計算されるため、適切に報酬rt+1の値を設定することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0096】
また、時間軸と、アクセルペダル2cまたはブレーキペダル2dの検出量を軸とする座標系上で、検出量を関数として表現した際に、関数の一階微分または二階微分の値を基に、第1要素rAP、rBPが計算されている。
上記のような構成によれば、アクセルペダル2cまたはブレーキペダル2dの検出量の変化量は、これら検出量を表現した関数の一階微分または二階微分の値に密接に関連する。すなわち、検出量を表現した関数の一階微分または二階微分の値を基に第1要素rAP、rBPを計算することにより、適切に報酬rt+1の値を設定することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0097】
また、関数の一階微分または二階微分の最大値の絶対値が所定の閾値以下であれば、第1要素rAP、rBPが正の値となるように、かつ、最大値の絶対値が所定の閾値よりも大きければ、第1要素rAP、rBPが負の値となるように、第1要素rAP、rBPが計算されている。
上記のような構成によれば、関数の一階微分または二階微分の最大値の絶対値が所定の閾値以下であれば、アクセルペダル2cまたはブレーキペダル2dの検出量の変化量が小さく燃費や排ガス性能が良好であると考えられる。この場合には、第1要素rAP、rBPが正の値となるように計算される。また、関数の一階微分または二階微分の最大値の絶対値が所定の閾値以上であれば、アクセルペダル2cまたはブレーキペダル2dの検出量の変化量が大きく燃費や排ガス性能が良好ではないと考えられる。この場合には、第1要素rAP、rBPが負の値となるように計算される。
このように、燃費や排ガス性能が良好である場合に値が大きくなるように第1要素rAP、rBPが計算され、これを基に報酬rt+1が計算されるため、適切に報酬rt+1の値を設定することができる。したがって、より効果的に、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0098】
また、操作の内容aに基づいたドライブロボット4の操作の後の、第2の時刻における検出車速と指令車速との差が小さいほど値が大きくなるように設定された第2要素rが計算され、第2要素rを基に報酬rt+1が計算されている。
上記のような構成によれば、検出車速と指令車速との差が小さいほど値が大きくなるように第2要素rが計算されるため、指令車速への追従性が高いほど、第2要素rが大きな値を有し得る。報酬rt+1は、このような第2要素rを基に計算されているため、指令車速に高い精度で追従させるように車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0099】
また、操作内容推論部31は、第1の時刻以降の時間範囲内の、複数の時刻における操作の内容aを推論する。
上記のような構成によれば、一度の推論で複数の操作の内容を推論するため、操作間隔を推論に要する時間よりも短くすることができる。このため、緻密な操作が可能となる。
また、推論により、実際には使用されないほど将来の操作の内容をも推論することができる。この場合においては、将来を見越した操作の内容aを推論することができるため、操作の内容aの精度が向上し、より効果的に、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0100】
また、第1学習モデル40は、報酬rt+1を基に操作の内容aを評価して操作の内容aの評価値Q(s、a)を計算する第2学習モデル50によって計算された、評価値Q(s、a)を基に、評価値Q(s、a)がより高い操作の内容aを推論するように学習されている。
上記のような構成によれば、報酬rt+1を基にした評価値Q(s、a)の計算を、関数近似器としての第2学習モデル50によって計算している。このため、評価値Q(s、a)の計算が容易となる。
【0101】
また、第2学習モデル50は、第1学習モデル40により出力された操作の内容aを入力とし、報酬rt+1が大きいほど高い評価値Q(s、a)を出力するように学習され、これら第1学習モデル40と第2学習モデル50の学習が繰り返されることにより、第1学習モデル40と第2学習モデル50は強化学習されている。
上記のような構成によれば、第1の時刻の走行状態sと、学習が中途の状態における第1学習モデル40によって推論された操作の内容aを入力として、現状の第1学習モデル40の出力となる操作の内容aを適切に評価できるように、第2学習モデル50を学習し、この学習後の第2学習モデル50を用いて、これが出力する評価値Q(s、a)が大きくなるように、第1学習モデル40を学習することを繰り返して、第1学習モデル40及び第2学習モデル50を学習させることができる。したがって、第1学習モデル40及び第2学習モデル50を効果的に学習させることができる。
【0102】
[実施形態の変形例]
次に、図8を用いて、上記実施形態として示したドライブロボットの制御装置及び制御方法の変形例を説明する。図8は、本変形例におけるドライブロボットの制御装置のブロック図である。本変形例におけるドライブロボット4の制御装置60は、上記実施形態のドライブロボット4の制御装置10とは、ドライブロボット制御部61が、学習部30の、学習が終了した時点における、操作内容推論部31及び第1学習モデル40と同じ構成の、操作内容推論部31A及び第1学習モデル40Aを備えている点が異なっている。
【0103】
本変形例においては、第1学習モデル40及び第2学習モデル50の学習時においては、上記実施形態と同様な構成となっている。これら第1学習モデル40及び第2学習モデル50の学習が終了した後に、操作内容推論部31及び第1学習モデル40が、操作内容推論部31A及び第1学習モデル40Aとしてドライブロボット制御部61の中に複製されている。
実際に車両2の性能測定に際して操作の内容aを推論する場合においては、ドライブロボット制御部61内の操作内容推論部31Aが、第1学習モデル40Aを使用して操作の内容aを推論する。
【0104】
本変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
特に、本変形例の構成においては、実際に車両2の性能測定に際して操作の内容aを推論する場合における処理が、ドライブロボット制御部61の内部だけで完結されており、ドライブロボット制御部61が学習部30と通信する必要がない。
【0105】
なお、本発明のドライブロボットの制御装置及び制御方法は、図面を参照して説明した上述の実施形態及び変形例に限定されるものではなく、その技術的範囲において他の様々な変形例が考えられる。
【0106】
例えば、上記実施形態においては、報酬には、燃費と排ガス性能の双方がより高い操作の内容であるほど大きな値となるように計算されていたが、これに限られず、燃費と排ガス性能のいずれか一方がより高い操作の内容であるほど大きな値となるように計算されていてもよい。
例えば、燃費の値を測定または計算し、燃費の性能が高いほど値が大きくなるように設定された第3要素を計算し、これを基に、燃費が良い操作の内容であるほど大きな値となるように、報酬を計算するようにしてもよい。これにより、燃費のみが報酬に反映され得る。
あるいは、例えば、排ガス性能の値を測定または計算し、排ガス性能が高いほど値が大きくなるように設定された第4要素を計算し、これを基に、排ガス性能が良い操作の内容であるほど大きな値となるように、報酬を計算するようにしてもよい。これにより、排ガス性能のみが報酬に反映され得る。排ガス性能を燃費とは独立して報酬に反映することにより、例えば、自動車の排気経路に設けられる三元触媒コンバータ等において、排ガス中の有害物質の除去性能を評価する場合等に適用可能である。
これら第3及び第4の要素を共に報酬に反映させることによって、燃費と排ガス性能を共に、強化学習に影響し得るようにしてもよいのは、言うまでもない。
【0107】
また、上記実施形態においては、第1学習モデル40及び第2学習モデル50を学習させる際には、実際に車両2を走行させて走行データを観測、取得するように説明したが、これに限られない。例えば、学習時においては、車両2の代わりにシミュレータを使用してもよい。
【0108】
また、上記実施形態においては、操作の対象はアクセルペダル2cとブレーキペダル2dであり、走行状態は、アクセルペダル2cとブレーキペダル2dの検出量を含むように構成されていたが、これに限られない。
【0109】
また、上記実施形態において、報酬の計算に使用される第1要素rAP、rBPは、第2の時刻における走行状態st+1において、第1の時刻からのアクセルペダル2cやブレーキペダル2dの検出量の推移を取得し、時間軸と、アクセルペダル2cやブレーキペダル2dの検出量を軸とする座標系上で、検出量を関数として表現したうえで、この関数の二階微分または一階微分の値を基に、二階微分または一階微分の最大値の絶対値を計算し、これが所定の閾値以下であれば正の値とし、閾値よりも大きければ負の値とすることで計算したが、これに限られない。
第1要素は、例えば、第1の時刻と第2の時刻の時間間隔が十分に短い場合には、第1の時刻におけるアクセルペダルの開度と、第2の時刻におけるアクセルペダルの開度の2値を比較し、その差分が所定の値以上であれば、アクセルペダル2cやブレーキペダル2dの操作量が大きいと考え、小さい値となるように計算してもよい。
また、上記のように計算した二階微分に関し、第1の時刻と第2の時刻の間において、その値が、正負が所定の回数以上入れ替わるように変動した場合においては、小刻みなペダル操作が行われたとして第1要素の値を小さくするように計算してもよい。
また、アクセルペダル2cやブレーキペダル2dの変化量、すなわち二階微分または一階微分の最大値の絶対値に-1を乗算して負の値とし、これを第1要素としてもよい。この第1要素をできるだけ大きくするように計算することで、アクセルペダル2cやブレーキペダル2dの変化量が小さくなるような結果を取得し得る。
あるいは、上記全てを、報酬を計算する上での異なる要素として個別に計算し、報酬に反映することで、上記全ての要因が個別に報酬に影響するように、報酬を計算しても構わない。
【0110】
更には、時間軸と、アクセルペダル2cまたはブレーキペダル2dの検出量を軸とする座標系上で、検出量を関数として表現した際に、関数の積分量が小さいほど値が大きくなるように設定された積分要素が計算され、当該積分要素を基に報酬が計算されるようにしてもよい。積分量が小さい操作においては、アクセルペダル2cやブレーキペダル2dの全体的な操作量が少なく、燃費や排ガス性能が良好であると考えられる。すなわち、上記関数の積分量が小さいほど値が大きくなるように設定した積分要素を基に報酬を計算することで、効果的に、燃費や排ガス性能を考慮して車両2を操作可能な、ドライブロボット4の制御装置を提供可能である。
【0111】
また、学習モデル40、50の構成は、上記実施形態において説明したものに限られないのは、言うまでもない。例えば、学習モデル40、50において、中間層42、52の数を、3より小さい、または3より多い数とする等、多くの変形例が想定されるが、本発明の主旨を損なわない限りにおいて、どのような構成を備えていてもよい。
これは、学習モデル40、50の損失関数に関しても同様である。上記実施形態において、例えば第2学習モデル50の損失関数は、既に説明した数式3に示される構造としたが、これに代えて、次の数式4を第2学習モデル50の損失関数としてもよい。数式4は、損失関数の計算において、学習対象として現存する、学習中の現段階のネットワークを用いるのではなく、少し前の時点で固定された第1学習モデル40及び第2学習モデル50に対し、これをターゲットネットワークとして使用する場合の損失関数である。Qtargetは、ターゲットネットワークとしての第2学習モデル50における行動価値関数であり、μtargetは、ターゲットネットワークとしての第1学習モデル40における出力関数である。
【0112】
【数4】
【0113】
また、上記実施形態においては、操作内容推論部31により推論された操作の内容aは、そのまま車両操作制御部23に送信されて、ドライブロボット4の制御に使用されたが、これに限られない。例えば、操作の内容aを過去または将来の一定の期間にわたって、横軸を時間軸として関数表現したうえで、ローパスフィルタを適用することで、近接する時刻における操作の内容aの変化をなだらかにすることにより、車両2を滑らかに操作することができる。
操作の内容aに対して、過去または将来の一定の期間にわたって移動平均を計算することによっても、同様な効果が期待できる。
あるいは、ドライブロボット制御部20は、フィードバック系の制御を行うフィードバック制御部を備え、操作の内容aは、フィードフォワード値としてフィードバック制御部で使用されてもよい。すなわち、フィードバック制御部により、例えばPID制御などのフィードバック系の制御系を実現し、操作内容推論部31により推論された操作の内容aを、当該制御系におけるフィードフォワード値として使用するように構成してもよい。この場合においては、車速追従性が向上する。
【0114】
また、上記実施形態においては、学習前後における損失関数の差が一定の値以下となった場合に学習を終了したが、これに限られない。例えば、所定の回数だけ学習モデル40、50を更新したら学習を終了するようにしてもよい。あるいは、学習途中のモデル40を用いて車両2を実際に走行させ、その結果として燃費や排ガス性能等を実際に測定して、これを基に走行スコアを計算し、走行スコアが学習前後で一定以上増加しなくなった場合に学習を終了するようにしてもよい。
【0115】
また、上記実施形態においては、第1学習モデル40と第2学習モデル50は強化学習のみにより学習されていたが、部分的に教師あり学習を組み合わせてもよい。例えば、アクセルペダル2cとブレーキペダル2dを操作して何らかの走行を行った際に、その走行データを取得して、検出車速を指令車速に置き換えると、指令車速に完全に追従されたアクセルペダル2cとブレーキペダル2dの操作データを得ることができる。このように作成されたデータを教師データとして教師あり学習を併用することにより、強化学習における学習の方向性を定めて学習の進捗を促進するとともに、追従性がより高い操作の内容を学習、推論することができる。
【0116】
これ以外にも、本発明の主旨を逸脱しない限り、上記実施形態及び変形例で挙げた構成を取捨選択したり、他の構成に適宜変更したりすることが可能である。
【符号の説明】
【0117】
1 試験装置
2 車両
2c アクセルペダル
2d ブレーキペダル
3 シャシーダイナモメータ
4 ドライブロボット(自動操縦ロボット)
10、60 制御装置
20、61 ドライブロボット制御部
21 指令車速記憶部
22 走行状態取得部
23 車両操作制御部
30 学習部
31、31A 操作内容推論部
32 報酬計算部
33 強化学習部
34 学習用データ記憶部
40、40A 第1学習モデル
50 第2学習モデル
Q 行動価値関数(評価値)
s 走行状態
s1 アクセルペダル検出量
s2 ブレーキペダル検出量
sN 指令車速
a 操作の内容
a1 アクセルペダル操作
a2 ブレーキペダル操作
図1
図2
図3
図4
図5
図6
図7
図8