JP6866940B1 - 自動操縦ロボットの制御装置及び制御方法 - Google Patents
自動操縦ロボットの制御装置及び制御方法 Download PDFInfo
- Publication number
- JP6866940B1 JP6866940B1 JP2020007945A JP2020007945A JP6866940B1 JP 6866940 B1 JP6866940 B1 JP 6866940B1 JP 2020007945 A JP2020007945 A JP 2020007945A JP 2020007945 A JP2020007945 A JP 2020007945A JP 6866940 B1 JP6866940 B1 JP 6866940B1
- Authority
- JP
- Japan
- Prior art keywords
- vehicle
- vehicle speed
- time
- control
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 abstract description 11
- 238000001514 detection method Methods 0.000 description 24
- 230000002787 reinforcement Effects 0.000 description 24
- 238000010801 machine learning Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001771 impaired effect Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 239000000446 fuel Substances 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/14—Adaptive cruise control
- B60W30/143—Speed control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/10—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
- B60W40/105—Speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/0097—Predicting future conditions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M17/00—Testing of vehicles
- G01M17/007—Wheeled or endless-tracked vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/10—Historical data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
Description
モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係として、グラフにより表わすことが可能である。この到達すべき車速は、車両へ与えられる達成すべき速度に関する指令という観点で、指令車速と呼ばれることがある。
上記のような、燃費や排出ガスに関する試験は、シャシーダイナモメータ上に車両を載置し、車両に搭載された自動操縦ロボット、所謂ドライブロボット(登録商標)により、モードに従って車両を運転させることにより行われる。
これに対し、特許文献1には、車速追従性を高め、事前に行う設定を容易にすることを目的とした、車両速度制御装置が開示されている。
特許文献1の車両速度制御装置は、例えばPID制御則等の、既知のフィードバック制御則に基づいている。
ただし、この場合においては、学習モデルが、前回の推論と大きく異なる操作を推論することがある。例えば、学習モデルがアクセルペダルとブレーキペダルの操作量を推論するような場合において、学習モデルがある時刻にアクセルペダルをオンとしブレーキペダルをオフとする操作を推論したとする。学習モデルは、この後の、次の推論において、アクセルペダルをオフとしブレーキペダルをオンとする操作を推論し、更に次の推論において、再度アクセルペダルをオンとしブレーキペダルをオフとする操作を推論する可能性がある。このような、操作量が大きい急激な操作が短い時間に細かく何度も行われるような操作の系列がドライブロボットに適用されると、車両が備える本来の燃費や排ガス性能よりも、悪い性能が測定される可能性がある。
上記のような、細かく操作量が大きな操作の系列を平滑化してなめらかにするために、学習モデルにより推論された操作に対し、過去に推論された、あるいは過去にドライブロボットに実際に適用された、過去の時刻における操作を含めて、操作量の移動平均を計算することで、操作の値を補正することが考えられる。あるいは、過去から現在にわたって推論された操作の系列を時間に対する関数とみたときに、この関数に対してローパスフィルタを適用することによっても、操作がなめらかになるように補正され得る。
例えば、学習モデルが、時刻T1において、点P1として示されるような結果を推論した場合を考える。図9においては、この時刻T1よりも前の時刻T2、T3では、点P1よりも大きな操作量となっている。このような場合において、推論結果である操作量P1に移動平均やローパスフィルタ等を適用すると、点P4として示されるように、過去の操作量の影響を受けて推論結果よりも大きな値となるように、操作の値が補正される。すなわち、実際にはより小さな操作の量が適用されるのが望ましいところ、操作の量がより大きな値となるように補正されてしまっている。これにより、図9のように、例えば値を漸次的に変化させようとする一連の操作をドライブロボットに適用しようとする際に、実際には、望ましい操作よりも遅れた操作が適用されてしまう。
上記のような理由に因り、学習モデルの推論結果を移動平均やローパスフィルタ等により補正すると、操作は平滑化されるが、過去の推論結果の影響を受けざるを得ないために、車両の操作に遅れが生じ、指令車速への追従性が低減する。
図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に当接するように設けられている。
制御装置10は、ドライブロボット4を、車両2が規定された指令車速に従って走行するように制御する。すなわち、制御装置10は、車両2のアクセルペダル2cとブレーキペダル2dの開度を変更することで、規定された走行パターン(モード)に従うように、車両1を走行制御する。より詳細には、制御装置10は、走行開始から時間が経過するに従い、各時間に到達すべき車速である指令車速に従うように、車両2を走行制御する。
ドライブロボット制御部20は、ドライブロボット4の制御を行うための制御信号を生成し、ドライブロボット4に送信することで、ドライブロボット4を制御する。学習部30は、後に説明するような機械学習器に対して強化学習を行い、学習モデルを生成する。この学習モデルの出力を基に、ドライブロボット4の制御を行うための制御信号が生成される。
ドライブロボット制御部20は、例えば、ドライブロボット4の筐体外部に設けられた、コントローラ等の情報処理装置である。学習部30は、例えばパーソナルコンピュータ等の情報処理装置である。
これら制御装置10の構成要素のうち、走行状態取得部22、車両操作制御部23、操作内容推論部31、報酬計算部32、及び強化学習部33は、例えば上記の各情報処理装置内のCPUにより実行されるソフトウェア、プログラムであってよい。また、指令車速記憶部21及び学習用データ記憶部34は、上記各情報処理装置内外に設けられた半導体メモリや磁気ディスクなどの記憶装置により実現されていてよい。
すなわち、制御装置10は大別して、強化学習時における操作系列の学習と、性能測定のために車両を走行制御させる際における操作系列の推論の、2通りの動作を行う。説明を簡単にするために、以下ではまず、操作系列の学習時における、制御装置10の各構成要素の説明をした後に、車両2の性能測定に際して操作系列を推論する場合での各構成要素の挙動について説明する。
図2においては、各構成要素が太線と細線の2種類の矢印で結ばれて、データや処理の流れが示されている。車両2の性能測定に際して操作系列を推論する場合でのデータや処理の流れは、太線により示されている。操作系列の学習時におけるデータや処理の流れは、太線と細線の双方の矢印により示されている。
指令車速記憶部21には、モードに関する情報に基づいて生成された、指令車速が記憶されている。モードは、例えば、走行開始から経過した時間と、その時に到達すべき車速との関係であり、したがって指令車速記憶部21には、実際には、経過時間と指令車速の関係が表現された、例えばテーブルやグラフ、関数等が格納されている。
走行状態としては、前回の走行状態取得時刻からのアクセルペダル操作の、ドライブロボット4の操作実績中の操作量(以下、アクセルペダル検出量と呼称する)、前回の走行状態取得時刻からのブレーキペダル操作の、ドライブロボット4の操作実績中の操作量(以下、ブレーキペダル検出量と呼称する)、車両2において検出されたエンジン回転数(以下、エンジン回転数検出量と呼称する)、車両2において検出された車速(以下、検出車速と呼称する)を含む。
走行状態は、更に、当該走行状態が取得された時刻において、車両2が実現すべき指令車速を含む。
走行状態の各々は、後述する機械学習器を学習させて学習モデル(第1学習モデル40)を生成する際の入力として主に使用される。このため、走行状態の各々に関し、走行状態が取得された時点のみではなく、その前後の複数の時刻において値を取得し、機械学習器の入力とすることにより、過去の経過や将来の推測を活かしてより効果的に学習することができる可能性がある。
例えば、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速等の、車両2の状態を実際に観測、計測することにより取得される走行状態については、機械学習器の学習アルゴリズムにおいて使用する過去の観測データの参照時間を観測データ参照時間Tobsとすると、観測データ参照時間Tobsの系列として、複数の値を有していてもよい。
また、上記のような観測データとは異なり、指令車速記憶部21に値が格納されており全ての時刻における値が随時参照可能な状態となっている指令車速については、機械学習器の学習アルゴリズムにおいて使用する将来の指令車速の参照時間を指令車速参照時間Trefとすると、指令車速参照時間Trefの系列として、複数の値を有していてもよい。
本実施形態においては、走行状態の各々は、複数の値により実現されている。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態を、学習部30へ送信する。
学習部30の操作内容推論部31は、機械学習器を備えている。この機械学習器は、強化学習されることにより、第1学習モデル40(操作推論学習モデル)が生成される。第1学習モデル40は、車両2の操作系列を推論するのに使用される。本実施形態においては、機械学習器は、強化学習により機械学習される。すなわち、機械学習器は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習された学習済みモデル40を生成するものである。
学習部30は、この機械学習器を強化学習するに際し、強化学習に必要な入力となる、走行データを蓄積する。制御装置10が、学習がまだ終了していない、学習途中の機械学習器によって推論された操作によって車両2を走行制御することにより、走行データが蓄積される。この走行データにより機械学習器を強化学習した後に、この出力となる操作を用いて再度走行データを蓄積し、機械学習器を再度学習する。このように、機械学習器を繰り返し更新することにより、最終的に強化学習された、学習済みの第1学習モデル40が生成される。
以下、説明を簡単にするため、操作内容推論部31が備えている機械学習器と、これが学習されて生成される学習モデルをともに、第1学習モデル40と呼称する。
ドライブロボット制御部20は、後述するように、ドライブロボット4を制御する制御信号を、ドライブロボット4へと、所定の第2の時間間隔をおいて送信する。この、制御信号の送信間隔を制御周期Tsとすると、本実施形態におけるステップ周期Tstepは、制御周期Tsよりも大きな値である。このため、第1学習モデル40は、一度の推論により、ステップ周期Tstepに含まれる複数の制御周期Tsに相当する、複数の、車両2の操作、すなわち操作系列を出力する。
このようにした場合においては、第1学習モデル40は、実際に車両2が操作されるステップ周期Tstep後までの操作系列を推測するに際し、ステップ周期Tstepよりも更に後の時刻における車両2の操作を推測するため、将来の状況を見越した推測をするようになる可能性がある。
本実施形態においては、第1学習モデル40は、中間層を3層とした全5層の全結合型のニューラルネットワークにより実現されている。第1学習モデル40は、入力層41、中間層42、及び出力層43を備えている。
図3においては、各層が矩形として描かれており、各層に含まれるノードは省略されている。
既に説明したように、各走行状態sは、複数の値により実現されている。例えば、図3においては、一つの矩形として示されている、アクセルペダル検出量s1に対応する入力は、実際には、アクセルペダル検出量s1の複数の値の各々に対応するように、入力ノードが設けられている。
各入力ノードには、走行状態取得部22から受信した、対応する走行状態sの値が格納される。
中間層42の各ノードにおいては、前段の層(例えば、第1中間層42aの場合は入力層41、第2中間層42bの場合は第1中間層42a)の各ノードから、この前段の層の各ノードに格納された値と、前段の層の各ノードから当該中間層42のノードへの重みを基にした演算がなされて、当該中間層42のノード内に演算結果が格納される。
既に説明したように、各操作系列aは、複数の値により実現されている。例えば、図3においては、一つの矩形として示されている、アクセルペダル操作系列a1に対応する出力は、実際には、アクセルペダル操作系列a1の複数の値の各々に対応するように、出力ノードが設けられている。
この操作系列aに基づき、車両操作制御部23はステップ周期Tstepの間、ドライブロボット4を操作する。
そして、走行状態取得部22は、操作後の車両2の、第1の時刻よりも後の第2の時刻における走行状態sを再度取得する。
操作内容推論部31は、第1の時刻における走行状態s、これに対して推論され実際に実行された操作系列a、及び第2の時刻における走行状態sを、次に説明する報酬計算部32に送信する。
報酬計算部32は、第1の時刻における走行状態s、これに対応して推論された操作系列a、当該操作系列aを基に新たに生成された第2の時刻における走行状態s、及び計算した報酬を、学習用データ記憶部34に送信し、保存する。
このようにして、操作系列aの推論、この操作系列aがドライブロボット4によって実行された後の走行状態sの取得と、及び報酬の計算が、強化学習に十分なデータが蓄積されるまで、繰り返し行われる。
学習用データ記憶部34に、強化学習に十分な量の走行データが蓄積されると、次に説明する強化学習部33により強化学習が実行される。
学習部30は全体として、第1学習モデル40が推論した操作系列aがどの程度適切であったかを示す行動価値を計算し、第1学習モデル40が、この行動価値が高くなるような操作系列aを出力するように、強化学習を行う。行動価値は、走行状態sと、これに対する操作系列aを引数として、報酬が大きいほど行動価値Qを高くするように設計された関数Qとして表わされる。本実施形態においては、この関数Qの計算を、走行状態sと操作系列aを入力として、行動価値Qを出力するように設計された、関数近似器としての第2学習モデル50により行う。
第2学習モデル50の入力層51においては、入力ノードが、例えばアクセルペダル検出量s1、ブレーキペダル検出量s2から、指令車速sNに至るまでの、走行状態sの各々と、及び、例えばアクセルペダル操作系列a1とブレーキペダル操作系列a2の、操作系列aの各々に対応するように設けられている。第2学習モデル50は、第1学習モデル40と同様な構造のニューラルネットワークにより実現されているため、構造上の詳細な説明を割愛する。
第1学習モデル40の出力層53においては、出力ノードは、例えば1つであり、これが、計算された行動価値Qの値に相当する。
第2学習モデル50の学習が進むと、第2学習モデル50は、より適切な行動価値Qの値を出力するようになる。すなわち、第2学習モデル50が出力する行動価値Qの値が学習前とは変わるため、これに伴い、行動価値Qが高くなるような操作系列aを出力するように設計された第1学習モデル40を更新する必要がある。このため、操作内容推論部31は第1学習モデル40を学習する。
具体的には、操作内容推論部31は、例えば行動価値Qの負値を損失関数とし、これをできるだけ小さくするような、すなわち行動価値Qが大きくなるような操作系列aを出力するように、重みやバイアスの値等、ニューラルネットワークを構成する各パラメータの値を、誤差逆伝搬法、確率的勾配降下法により調整して、第1学習モデル40を学習させる。
第1学習モデル40が学習され更新されると、出力される操作系列aが変化するため、再度走行データを蓄積し、これを基に第2学習モデル50を学習する。
このように、学習部30は、第1学習モデル40と第2学習モデル50の学習を繰り返すことにより、これら学習モデル40、50を強化学習する。
走行状態取得部22は、車両2に備えられた様々な図示されない計測器やドライブロボット4内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態を、学習部30へ送信する。
この第1学習モデル40は、操作系列aに基づいたドライブロボット4の操作の後の、第1の時刻より後の第2の時刻における走行状態sに基づいて計算された報酬を基に、強化学習されている、学習済みのモデルである。
操作内容推論部31は、推論した操作系列aを、車両操作制御部23へ送信する。
図5は、車両操作制御部23の説明図である。
図5においては、第1学習モデル40の推論の間隔であるステップ周期Tstepおきの複数の時刻Ti(i=1〜M)の各々において、操作内容推論部31によって推論された操作系列ai(i=1〜M)の関係が示されている。本実施形態においては、操作系列ai(i=1〜M)の各々は、アクセルペダル操作系列a1である場合を考える。すなわち、操作系列は、本来であれば操作系列a1i(i=1〜M)と記載すべきところ、記載を簡単にするために操作系列ai(i=1〜M)と記載する。操作系列ai(i=1〜M)は、ブレーキペダル操作系列a2であっても構わない。
説明の都合上、操作系列aが推論された時刻が過去に遡るほど、これに付された添え字iは、大きな値となるように示されている。すなわち、時刻Ti(i=1〜M)のうち最も過去の時刻は時刻TMであり、これに対応して時刻TMに操作内容推論部31によって推論された操作系列aは操作系列aMである。また、時刻Ti(i=1〜M)のうち最も新しい時刻は時刻T1であり、これに対応する操作系列aは操作系列a1である。
時刻TMにおいては、時刻TMから時刻T0までの操作系列aMが、操作内容推論部31により推論されている。時刻T0は、時刻TMのTpred後の時刻であり、かつ時刻T1のステップ周期Tstep後の時刻である。また、時刻TM−1においては、時刻TM−1からTpred後の時刻までの操作系列aM−1が、操作内容推論部31により推論されている。以降、同様に、例えば時刻T1においては、時刻T1からTpred後の時刻までの操作系列a1が、操作内容推論部31により推論されている。
車両操作制御部23は、操作内容推論部31により最新の操作系列a1が推論されたとしても、これをそのまま用いてドライブロボット4を操作する制御信号を生成しない。車両操作制御部23は、実際に制御を行う制御時刻Ttにおいて実際に使用する操作である最終操作値atを、最新の操作系列a1を含む、過去複数回において操作内容推論部31により推論された操作系列ai(i=1〜M)内の操作ai、t(i=1〜M)を基に、以下のように算出する。
車両操作制御部23は、制御時刻Ttに対して推論された複数の操作ai,tを操作系列ai(i=1〜M)の各々から抽出して、この各々に対し、上記の重みαiを次の式(2)により適用して、制御時刻Ttにおける最終操作値atを算出する。
車両操作制御部23は、最終操作値atに基づきドライブロボット4を制御する制御信号を生成して、ドライブロボット4に送信することで、ドライブロボット4を制御する。
まず、図6を用いて、操作系列aの学習時における動作を説明する。
その後、車両2の走行データを収集する(ステップS5)。より詳細には、制御装置10が、学習がまだ終了していない、学習途中の第1学習モデル40によって推論された操作系列によって車両2を走行制御することにより、走行データが蓄積される。走行データは、第1の時刻における走行状態s、操作系列a、第2の時刻における走行状態sと、及び受信した報酬の組み合わせである。
第1学習モデル40と第2学習モデル50の更新が終了すると、これら第1学習モデル40と第2学習モデル50の学習が終了したか否かを判定する(ステップS9)。
学習が終了していないと判定された場合には(ステップS9のNo)、ステップS5へ遷移する。すなわち、制御装置10は走行データを更に収集し、これを用いた第1学習モデル40と第2学習モデル50の更新を繰り返す。
学習が終了したと判定された場合には(ステップS9のYes)、学習処理を終了する(ステップS11)。
走行状態sの観測は、次のように行われる。
走行状態取得部22が、現在時点における、車両2の走行状態sを取得する。
走行状態取得部22は、車両2に備えられた様々な図示されない計測器やドライブロボット4内に記録された操作実績等から、アクセルペダル検出量、ブレーキペダル検出量、エンジン回転数検出量、検出車速を取得する。
また、走行状態取得部22は、指令車速記憶部21から、指令車速を取得する。
走行状態取得部22は、これらの取得した走行状態sを、学習部30へ送信する。
操作内容推論部31は、上式(1)、(2)を用いて、ドライブロボット4の最終操作値を算出する。
車両操作制御部23は、最終操作値に基づきドライブロボット4を制御する制御信号を生成して、ドライブロボット4に送信することで、ドライブロボット4を制御する。
車両操作制御部23は、操作内容推論部31による推論の間隔に相当するステップ周期Tstepの間、ドライブロボット4を操作する。
そして、走行状態取得部22は、操作後の車両2の走行状態sを、ステップS53と同様な要領で、再度取得する(ステップS57)。
走行状態取得部22は、操作後の車両2の走行状態sを、学習部30へ送信する。
走行が終了していないと判定された場合には(ステップS59のNo)、ステップS55へ遷移する。すなわち、制御装置10は、ステップS57で取得した走行状態sを基にした操作系列aの推論と、更なる走行状態sの観測を繰り返す。
走行が終了したと判定された場合には(ステップS59のYes)、走行処理を終了する(ステップS61)。
また、本実施形態におけるドライブロボット(自動操縦ロボット)の制御方法は、車両2に搭載されて車両2を走行させるドライブロボット4を、車両2が規定された指令車速に従って走行するように制御するものであって、車速と指令車速を含む、車両2の走行状態sを取得し、走行状態sを基に、車両2を指令車速に従って走行させるような、将来の複数の時刻における車両2の操作の系列である操作系列aを推論するように機械学習されている第1学習モデル(操作推論学習モデル)40により、操作系列aを推論し、過去複数回において推論された操作系列ai(i=1〜M)の各々から、次にドライブロボット4を制御する制御時刻Ttに相当する操作ai、t(i=1〜M)を抽出し、これら抽出された複数の操作ai、t(i=1〜M)の重み付け和を計算することで最終操作値atを計算し、当該最終操作値atに基づきドライブロボット4を制御する制御信号を生成して、ドライブロボット4に送信する。
上記のような構成によれば、第1学習モデル40が操作系列aを推論するに際し基づく、車両2の走行状態は、指令車速を含む。また、第1学習モデル40は、車両2を指令車速に従って走行させるような、将来の複数の時刻における車両2の操作の系列である操作系列aを推論するように機械学習されている。このため、第1学習モデル40は、指令車速に高精度で追従するような操作系列aを推論可能である。
すなわち、制御時刻Ttの最終操作値atを算出するに際し、複数の推論において導出された複数の操作を基に、これらの重み付け和を計算しているため、単一の推論において導出された操作のみを基にした場合に比べると、時系列に沿った一連の操作が平滑化されてなめらかなものとなる。
また、最終操作値atを算出する際に重み付け和が計算される対象となるのは、複数の推論の各々における、同一の制御時刻Ttに実行すべき操作ai、t(i=1〜M)である。このため、当該制御時刻Ttとは異なる、過去の、あるいは将来の、他の時刻の操作は計算の対象とならない。このように、他の時刻における操作の演算への影響が排除され、指令車速への追従性が損なわれることが抑制される。
以上により、指令車速に高い精度で追従させつつ、なめらかに車両を操作可能な、自動操縦ロボットの制御装置及び制御方法を実現可能となる。
例えば、操作に関して他の時刻の操作との移動平均やローパスフィルタ等を適用した場合においては、ある時刻にペダル操作を切り替えようとしてゼロの値を出力しようとしたとしても、値がゼロではない他の時刻の操作の影響を受けて、ゼロではない値が出力され、結果としてペダル操作が切り替えられないような場合が生じ得る。
これに対し、上記のような構成によれば、複数の推論の各々における当該時刻の操作が適切にゼロとなっていれば、当該時刻の操作としてゼロの値を出力可能となるため、ペダル操作の切り替えに遅れが生じない。
上記のような構成によれば、操作系列ai(i=1〜M)が推論される基となる、操作内容推論部31に入力される走行状態sが新しいものであるほど、これに対応して出力される操作系列ai(i=1〜M)には、より大きな重みαi(i=1〜M)が適用される。このため、最新の推論結果に対して過去の推論結果を考慮して最終操作値atを計算しているにもかかわらず、最新の推論結果が過去の推論結果に過度に影響されて指令車速への追従性が損なわれる可能性を低減可能である。
上記のような構成によれば、最終操作値atを適切に算出可能である。
次に、上記実施形態として示したドライブロボットの制御装置及び制御方法の変形例を説明する。本変形例におけるドライブロボット4の制御装置は、上記実施形態のドライブロボット4の制御装置10とは、重みαi(i=1〜M)の設定が異なっている。
より詳細には、本変形例においては、車速として有され得る値の範囲は、1以上の車速区分閾値により複数の車速域に区分され、係数xは、複数の車速域の各々に対して、低い車速に対応する車速域ほど大きい値となるように設定されている。
ここで、上記の式(1)においては、係数xの値が大きくなるほど、iが大きい場合の重みαiの値が小さくなり、iが小さい場合の重みαiの値が大きくなる。すなわち、係数xの値を大きくすることで、重み付け和により最終操作値atを算出する際に、新しく推論された操作系列aiに対応して乗算される重みαiの値を大きくして、現時刻に近い予測の重要度を高めることができる。
例えば、車速域ごとに適した係数xの値を、予め実験的に求めておき、車速に応じてxを変更しながらドライブロボット4を制御することによって、操作のなめらかさと、指令車速への追従性を、バランスよく両立させることができる。
次に、図8を用いて、上記実施形態として示したドライブロボットの制御装置及び制御方法の変形例を説明する。図8は、本変形例におけるドライブロボットの制御装置の、第1学習モデル60のブロック図である。本変形例におけるドライブロボット4の制御装置は、上記実施形態のドライブロボット4の制御装置10とは、係数xは、第1学習モデル(操作推論学習モデル)60の出力値であり、第1学習モデル60は、走行状態sを基に、係数xを推論するように機械学習されている点が異なっている。
すなわち、図8に示される第1学習モデル60においては、出力ノード63として係数xに対応するノードが追加されており、係数xが、車速への追従性を高めることができる値となるように、第1学習モデル40が強化学習される。
また、上記実施形態においては、操作の対象はアクセルペダル2cとブレーキペダル2dであり、走行状態は、アクセルペダル2cとブレーキペダル2dの検出量を含むように構成されていたが、これに限られない。
また、学習モデル40、50の構成は、上記実施形態において説明したものに限られないのは、言うまでもない。例えば、学習モデル40、50において、中間層42、52の数を、3より小さい、または3より多い数とする等、多くの変形例が想定されるが、本発明の主旨を損なわない限りにおいて、どのような構成を備えていてもよい。
更には、上記実施形態においては、第1学習モデル40は強化学習されたが、これに限られず、本発明の主旨が損なわれない限り、他の機械学習方法により学習されてもよい。
2 車両
3 シャシーダイナモメータ
4 ドライブロボット(自動操縦ロボット)
10 制御装置
20 ドライブロボット制御部
21 指令車速記憶部
22 走行状態取得部
23 車両操作制御部
30 学習部
31 操作内容推論部
32 報酬計算部
33 強化学習部
34 学習用データ記憶部
40、60 第1学習モデル(操作推論学習モデル)
50 第2学習モデル
Q 行動価値関数
s 走行状態
sN 指令車速
a、ai(i=1〜M) 操作系列
ai、t(i=1〜M) 操作
Ti(i=1〜M) 時刻
Tt 制御時刻
Claims (6)
- 車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御装置であって、
車速と前記指令車速を含む、前記車両の走行状態を取得する走行状態取得部と、
前記走行状態を基に、前記車両を前記指令車速に従って走行させるような、将来の複数の時刻における前記車両の操作の系列である操作系列を推論するように機械学習されている操作推論学習モデルにより、前記操作系列を推論する操作内容推論部と、
過去複数回において推論された前記操作系列の各々から、次に前記自動操縦ロボットを制御する制御時刻に相当する前記操作を抽出し、これら抽出された複数の前記操作の重み付け和を計算することで最終操作値を計算し、当該最終操作値に基づき前記自動操縦ロボットを制御する制御信号を生成して、前記自動操縦ロボットに送信する、車両操作制御部と、
を備えている、自動操縦ロボットの制御装置。 - 前記重み付け和において使用される重みは、前記重み付け和の計算に使用される前記操作が抽出された前記操作系列の、推論された時刻が過去に遡るものほど、値が小さくなるように設定されている、請求項1に記載の自動操縦ロボットの制御装置。
- 前記車速として有され得る値の範囲は、1以上の車速区分閾値により複数の車速域に区分され、
前記係数xは、前記複数の車速域の各々に対して、低い前記車速に対応する前記車速域ほど大きい値となるように設定されている、請求項3に記載の自動操縦ロボットの制御装置。 - 前記係数xは、前記操作推論学習モデルの出力値であり、
前記操作推論学習モデルは、前記走行状態を基に、前記係数xを推論するように機械学習されている、請求項3または4に記載の自動操縦ロボットの制御装置。 - 車両に搭載されて前記車両を走行させる自動操縦ロボットを、前記車両が規定された指令車速に従って走行するように制御する、自動操縦ロボットの制御方法であって、
車速と前記指令車速を含む、前記車両の走行状態を取得し、
前記走行状態を基に、前記車両を前記指令車速に従って走行させるような、将来の複数の時刻における前記車両の操作の系列である操作系列を推論するように機械学習されている操作推論学習モデルにより、前記操作系列を推論し、
過去複数回において推論された前記操作系列の各々から、次に前記自動操縦ロボットを制御する制御時刻に相当する前記操作を抽出し、これら抽出された複数の前記操作の重み付け和を計算することで最終操作値を計算し、当該最終操作値に基づき前記自動操縦ロボットを制御する制御信号を生成して、前記自動操縦ロボットに送信する、自動操縦ロボットの制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020007945A JP6866940B1 (ja) | 2020-01-22 | 2020-01-22 | 自動操縦ロボットの制御装置及び制御方法 |
PCT/JP2020/047787 WO2021149435A1 (ja) | 2020-01-22 | 2020-12-22 | 自動操縦ロボットの制御装置及び制御方法 |
US17/794,057 US11718295B2 (en) | 2020-01-22 | 2020-12-22 | Automatic driving robot control device and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020007945A JP6866940B1 (ja) | 2020-01-22 | 2020-01-22 | 自動操縦ロボットの制御装置及び制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6866940B1 true JP6866940B1 (ja) | 2021-04-28 |
JP2021117001A JP2021117001A (ja) | 2021-08-10 |
Family
ID=75638896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020007945A Active JP6866940B1 (ja) | 2020-01-22 | 2020-01-22 | 自動操縦ロボットの制御装置及び制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11718295B2 (ja) |
JP (1) | JP6866940B1 (ja) |
WO (1) | WO2021149435A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6866940B1 (ja) * | 2020-01-22 | 2021-04-28 | 株式会社明電舎 | 自動操縦ロボットの制御装置及び制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0471933A (ja) * | 1990-07-10 | 1992-03-06 | Toyota Motor Corp | 車両用走行制御装置 |
JPH04194724A (ja) * | 1990-11-28 | 1992-07-14 | Nippondenso Co Ltd | 自動運転制御装置 |
JPH06105414A (ja) * | 1992-09-18 | 1994-04-15 | Toshiba Corp | 運転制御装置 |
JP3873584B2 (ja) * | 2000-06-29 | 2007-01-24 | 日産自動車株式会社 | 車両用自動運転装置 |
US9766625B2 (en) * | 2014-07-25 | 2017-09-19 | Here Global B.V. | Personalized driving of autonomously driven vehicles |
JP6429235B2 (ja) | 2015-02-24 | 2018-11-28 | 株式会社明電舎 | 車両速度制御装置 |
US10901423B2 (en) * | 2017-09-01 | 2021-01-26 | International Business Machines Corporation | Generating driving behavior models |
JP6954168B2 (ja) | 2018-02-15 | 2021-10-27 | 株式会社明電舎 | 車両速度制御装置及び車両速度制御方法 |
JP2020148593A (ja) * | 2019-03-13 | 2020-09-17 | 株式会社明電舎 | 自動操縦ロボットを制御する操作推論学習モデルの学習システム及び学習方法 |
US11643073B2 (en) * | 2019-10-24 | 2023-05-09 | Zoox, Inc. | Trajectory modifications based on a collision zone |
JP6866940B1 (ja) * | 2020-01-22 | 2021-04-28 | 株式会社明電舎 | 自動操縦ロボットの制御装置及び制御方法 |
-
2020
- 2020-01-22 JP JP2020007945A patent/JP6866940B1/ja active Active
- 2020-12-22 US US17/794,057 patent/US11718295B2/en active Active
- 2020-12-22 WO PCT/JP2020/047787 patent/WO2021149435A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021149435A1 (ja) | 2021-07-29 |
US11718295B2 (en) | 2023-08-08 |
JP2021117001A (ja) | 2021-08-10 |
US20230038802A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111695690B (zh) | 基于合作式强化学习与迁移学习的多智能体对抗决策方法 | |
US10692018B2 (en) | Machine learning device and machine learning method for learning optimal object grasp route | |
WO2020183864A1 (ja) | 自動操縦ロボットを制御する操作推論学習モデルの学習システム及び学習方法 | |
CN112668235A (zh) | 基于离线模型预训练学习的ddpg算法的机器人控制方法 | |
JP6908144B1 (ja) | 自動操縦ロボットの制御装置及び制御方法 | |
JP6542833B2 (ja) | 制御装置及び機械学習装置 | |
JP6954168B2 (ja) | 車両速度制御装置及び車両速度制御方法 | |
JP6457369B2 (ja) | パラメータを自動調整する機能を有する機械学習装置及び電動機制御装置 | |
JP6841852B2 (ja) | 制御装置及び制御方法 | |
CN111433689B (zh) | 用于目标***的控制***的生成 | |
JP6866940B1 (ja) | 自動操縦ロボットの制御装置及び制御方法 | |
US20190317472A1 (en) | Controller and control method | |
CN113614743A (zh) | 用于操控机器人的方法和设备 | |
CN108687766B (zh) | 机器人的控制装置、机器学习装置以及机器学习方法 | |
CN116587275A (zh) | 基于深度强化学习的机械臂智能阻抗控制方法及*** | |
JP7110891B2 (ja) | 自動操縦ロボットの制御装置及び制御方法 | |
JP7336856B2 (ja) | 情報処理装置、方法及びプログラム | |
JP2021143882A (ja) | 自動操縦ロボットを制御する操作推論学習モデルの学習システム及び学習方法 | |
WO2022059484A1 (ja) | 自動操縦ロボットを制御する操作推論学習モデルの学習システム及び学習方法 | |
JP7248053B2 (ja) | 制御装置及び制御方法 | |
JPWO2020138436A1 (ja) | ロボット制御装置、ロボットシステム及びロボット制御方法 | |
JP2021128510A (ja) | 自動操縦ロボットを制御する操作推論学習モデルの学習システム及び学習方法 | |
JP2024001584A (ja) | 自動操縦ロボットの制御装置及び制御方法 | |
Uc-Cetina | Supervised reinforcement learning using behavior models | |
CN111753982B (zh) | 一种基于强化学习的人机融合自主性边界切换方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210107 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210118 |
|
TRDD | Decision of grant or rejection written | ||
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20210303 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6866940 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |