JP7467133B2 - 制御装置、制御方法、及びモータ制御装置 - Google Patents

制御装置、制御方法、及びモータ制御装置 Download PDF

Info

Publication number
JP7467133B2
JP7467133B2 JP2020010335A JP2020010335A JP7467133B2 JP 7467133 B2 JP7467133 B2 JP 7467133B2 JP 2020010335 A JP2020010335 A JP 2020010335A JP 2020010335 A JP2020010335 A JP 2020010335A JP 7467133 B2 JP7467133 B2 JP 7467133B2
Authority
JP
Japan
Prior art keywords
control
unit
learning
command value
operation amount
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
Application number
JP2020010335A
Other languages
English (en)
Other versions
JP2021117699A (ja
Inventor
俊也 高野
智秋 茂田
優一 阿邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2020010335A priority Critical patent/JP7467133B2/ja
Publication of JP2021117699A publication Critical patent/JP2021117699A/ja
Application granted granted Critical
Publication of JP7467133B2 publication Critical patent/JP7467133B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)
  • Control Of Electric Motors In General (AREA)

Description

本発明の実施形態は、制御装置、制御方法、及びモータ制御装置に関する。
近年、モデルが複雑で、高度な制御が要求される分野のブレークスルー技術として、人工知能技術のひとつである強化学習(ReinforcementLearning)が注目されている。強化学習は、教師有り学習(Supervised Learning)および教師無し学習(Unsupervised Learning)と並ぶ機械学習の手法の1つとして位置付けられており、制御対象に対して、操作量を与え、その結果得られた制御量から報酬値を計算し、高い報酬値が得られるように各状態に対する操作量を学習する。
強化学習は、直接正解を与えて学習する教師有り学習とは異なり、報酬値を指標として操作量を学習するため、制御対象に関する完全な理解を必要とせず、複雑なモデルの制御への応用が期待される。ところが、強化学習の初期段階においては、制御対象に対して、試行錯誤的に操作量を与えるため、制御対象を正しく運転操作できず、異常停止させてしまう恐れがある。
特許第497433号公報
本発明が解決しようとする課題は、制御対象が異常動作や停止することを抑制しつつ制御モデルを学習可能な制御装置、制御方法、及びモータ制御装置を提供することである。
本実施形態によれば、操作量に応じて実動する制御対象の制御装置であって、制御装置は、制御部と、推定部と、補正部と、を備える。制御部は、制御指令値と、制御指令値に対して制御対象が実動することにより生じた制御量と、を用いた強化学習により操作量を出力する制御モデルを学習する制御部であって、制御指令値、及び制御量を用いて操作量を出力する。推定部は、制御対象を操作量で操作したときの所定時間後の制御量が所定範囲内か否かを推定する。補正部は、所定の範囲外の場合に、所定時間後の制御量が所定範囲内となる補正操作量に補正した操作量を出力する。
制御対象が異常動作や停止することを抑制しつつ制御モデルを学習できる。
制御装置の構成を示すブロック図。 制御部の詳細な構成を示すブロック図。 操作量補正部の詳細な構成を示すブロック図。 制御モデル学習部の詳細な構成を示すブロック図。 モータ制御装置の構成を示すブロック図。 モータ制御装置の制御部の詳細な構成を示すブロック図。 ノイズN(t)の例を示す図。 モータ制御装置の操作量補正部の詳細な構成を示すブロック図。 モータ制御装置の制御モデル学習部の詳細な構成を示すブロック図。 モータ制御装置の制御処理例を示すフローチャート。
以下、本発明の実施形態に係る制御装置、制御方法、及びモータ制御装置について、図面を参照しながら詳細に説明する。なお、以下に示す実施形態は、本発明の実施形態の一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。また、本実施形態で参照する図面において、同一部分又は同様な機能を有する部分には同一の符号又は類似の符号を付し、その繰り返しの説明は省略する場合がある。また、図面の寸法比率は説明の都合上実際の比率とは異なる場合や、構成の一部が図面から省略される場合がある。
(第1実施形態)
図1は、本発明による制御システム1の構成を示すブロック図である。図1を用いて、制御システム1の構成を説明する。図1に示すように、本実施形態に係る制御システム1は、学習機能を有するシステムであり、制御装置10と、制御対象12と、表示部14とを備えて構成される。
制御装置10は、制御対象12を制御する制御装置であり、制御部20と、操作量補正部30と、操作量評価部40と、制御モデル学習部50と、可視化部60とを、有する。制御対象12は、例えばモータである。表示部14は、例えば、液晶モニタで構成される。
なお、本実施形態では、制御により生じた制御対象12の状態を示す測定量を制御状態量と称する。また、制御対象12において制御の対象となる量を制御量と称する。例えば、制御対象12の制御状態量もしくは制御状態量の一部が制御量である。また、制御量の目標値を制御指令値と称する。さらにまた、制御量に影響を与える手段を駆動する量を操作量と称する。例えば、制御対象12がモータの場合には、制御指令値である回転速度に応じた電圧が電圧電流変換器に出力され、電圧電流変換器から出力された電流がモータに出力され、モータが回転する。この場合、制御量に影響を与える手段が電圧電流変換器であり、制御量に影響を与える操作量は電圧であり、制御量は回転速度である。
制御部20は、強化学習(Reinforcement Learning)により制御モデルを学習する学習機能を有し、制御指令値と、制御指令値に対して制御対象12が実動することにより生じた制御状態量とに基づき、操作量を出力する。また、制御モデルの強化学習による学習状態を表示部14に出力する。例えば、学習状態は、後述の報酬値である。なお、本実施形態に係る制御モデルは、例えばニューラルネットワークであるが、これに限定されない。
本実施形態で用いる制御モデルは、入力が、例えば制御指令値と、少なくとも制御量を含む制御状態量とであり、出力が操作量である。制御モデルは、例えば方策勾配法により制御モデルパラメータW(t)を学習する。また、本実施形態では制御モデルパラメータW(t)を学習することを、制御モデルの学習と称する。
この制御モデルでは、例えば制御指令値と、制御量との差が小さくなるほど報酬値を大きくする強化学習を行う。強化学習の方法には、一般的な方法を用いることが可能である。報酬値は、後述する操作量評価部40が演算する制御評価値を用いることが可能である。なお、本実施形態では、方策勾配法を用いるが、これに限定されない。例えば、強化学習にはQ-learningを用いることが可能である。また、この制御モデルは、制御モデルパラメータW(t)を、教師あり学習により学習することが可能である。すなわち、制御モデルは、教師なしの強化学習と、教師有り学習とを併用して、制御モデルパラメータW(t)の学習が可能である。なお、制御部20の詳細は図2を用いて後述する。
操作量補正部30は、制御対象12を操作量で操作したときの所定時間後、例えば1秒後の制御量が所定範囲内か否かを推定する。また、操作量補正部30は、制御対象12を操作量で操作したときの所定時間後の制御量が所定範囲外の場合には、所定時間後の制御量が所定範囲内となる補正操作量に操作量を補正する。なお、操作量補正部30の詳細は図3を用いて後述する。
操作量評価部40は、制御対象12の制御量が制御指令値に従っているほど値が高くなる制御評価値を出力する。例えば、操作量評価部40は、制御指令値と、制御指令値に対応する制御量との差が小さくなるほど、評価値を高く出力する。なお、本実施形態に係る制御評価値が強化学習の報酬値に対応する。
制御モデル学習部50は、制御部20と同等の制御モデルを有している。この制御モデル学習部50は、制御部20と相互に連携しており、制御モデルパラメータW(t)の情報を共有している。また、制御モデル学習部50は操作量補正部30により、操作量による所定時間後の制御量が所定の範囲外と推定された場合に、範囲外と推定された制御指令値と、少なくとも制御量を含む制御状態量を入力とし、補正操作量を教師データとする教師学習により制御モデルを学習する。例えば、制御モデルが出力する操作量が補正操作量に近づくように、制御モデルパラメータW(t)を学習する。また、制御モデル学習部50は、学習後の制御モデルパラメータW(t)を制御部20に出力する。
制御モデル学習部50は、操作量評価部40が演算する制御評価値に基づいて、学習を実行するか否かを判断してもよい。制御評価値は、制御評価値があらかじめ定めた基準値を超える場合に「学習する」、基準値を下回る場合に「学習しない」といった判断を行う。なお、制御モデル学習部50の詳細は図4を用いて後述する。
可視化部60は、制御部20から取得した強化学習の学習状態と制御モデル学習部50から取得した制御モデルの学習状態を表示部14に表示する。例えば、可視化部60は、制御部20から取得した制御指令値、及び制御量の時系列値を表示部14に表示する。この場合、学習が進むに従い、制御指令値と制御量との乖離が小さくなる。また、可視化部60は、制御モデル学習部50から取得した教師データである補正操作量と、制御モデルの出力値との差を時系列値に表示部14に表示する。この場合、学習が進むに従い、補正操作量と、制御モデルの出力値との乖離が小さくなる。
ここで、図2に基づき制御部20について詳細に説明する。図2は制御部20の詳細な構成を示したブロック図である。図2に示すように、制御部20は、強化学習部201と、操作量推定部202と、探索処理部203と、学習回数カウント部204と、制御状態上下限生成部205と、を備える。
強化学習部201は、上述のように、入力が、制御指令値と、制御量を少なくとも含む制御状態量とであり、出力が操作量である制御モデルの制御モデルパラメータW(t)を学習する。すなわち、強化学習部201は、制御指令値が入力される度に、制御指令値と、対応する制御状態量と、操作量評価部40により演算された制御評価値とを、用いて制御モデルパラメータW(t)を強化学習する。これにより、制御モデルは、強化学習が進むにしたがい、より報酬値の大きくなる操作量を出力する。また、制御モデルパラメータW(t)は、更新される度に操作量推定部202に出力される。
操作量推定部202は、制御モデルパラメータW(t)を強化学習部201から取得し、学習された最新の制御モデルパラメータW(t)に逐次的に更新する。これにより操作量推定部202は、最新の制御モデルパラメータW(t)を用いて、制御指令値と、対応する制御状態量とを入力とし、操作量を出力する。また、操作量推定部202は、制御モデルパラメータW(t)が更新されるごとに、制御モデル学習部50(図1)に対して、制御モデルパラメータW(t)を出力する。一方で、操作量推定部202は、制御モデル学習部50において、制御モデルパラメータW(t)が更新された場合には、更新された制御モデルパラメータW(t)を強化学習部201および操作量推定部202に設定する。
探索処理部203は、操作量推定部202が出力する操作量推定値に摺動を与える。これにより、制御モデルの強化学習が、所謂局所解に陥ることを抑制する。すなわち、探索処理部203は、さらなる最適な制御量と操作量の組み合わせを探索するため、操作量推定部202の操作量に摺動を与える。この摺動は、ランダムノイズなどを模擬したノイズである。例えば、学習回数に応じてノイズの範囲を調整しながら、操作量にノイズを印加する。なお、本実施形態では、操作量推定部202が出力する操作量推定値、及び操作量推定値にノイズが印加された操作量を共に操作量と称する。また、操作量推定値にノイズの印加をしなくともよい。この場合、操作量推定値が操作量となる。
学習回数カウント部204は、学習回数をカウントする。本実施形態では、離散時間tごとに制御対象12から制御状態量を取得し、学習を行う。これを1単位として、学習回数をカウントするものとする。すなわち、学習回数は、離散時間tの経過時間に対応する。
制御状態上下限生成部205は、制御指令値に対応する制御量の取り得る上限値および下限値を学習回数カウント部204の学習回数を参照し、生成する。
ここで、図3を用いて、操作量補正部30の詳細な構成を説明する。図3は操作量補正部30の詳細な構成を示したブロック図である。操作量補正部30は、制御状態推定処理部301と、操作量補正処理部302とを有する。
制御状態推定処理部301は、操作量推定部202が出力する操作量で制御対象12を制御した場合に生じる制御量を推定する。例えば、線形の近似式により制御指令値及び操作量に基づき、制御量を推定する。より具体的には、所定期間内に取得された現制御指令値が発令される前の所定期間内に取得された、制御量(y)、制御指令値(x1)、操作量(x2)の複数データの組み合わせにより、線形の近似式を生成する。例えば、y=a×x1+b+x2+cなどの線形の近似式を生成し、制御指令値(x1)、及び操作量(x2)に基づき制御量(y)を推定する。この線形近似式は、所謂一次近似式であり、現時点から所定時間内の状態を反映した予測式である。すなわち、この線形近似式は、制御モデルに対して、より簡略化された予測式である。
また、制御状態推定処理部301は、制御状態上限値と制御状態下限値との範囲内を制御量の所定範囲とする。例えば、制御状態上限値と制御状態下限値は、制御対象12の定格値である。制御状態推定処理部301は、制御対象12を操作量(x2)で操作したときの所定時間後の制御量(y)が所定範囲内か否かを推定する。なお、本実施形態に係る制御状態推定処理部301が推定部に対応する。
操作量補正処理部302は、推定した制御量(y)が所定範囲内に無い場合に、制御量(y)が所定範囲となる補正操作量(x2’)に操作量(x2)を補正する。例えば、操作量補正部30は、上述の線形式にしたがい、制御量(y)が所定範囲となる補正操作量(x2’)を演算する。推定した制御量が所定範囲内に無い場合に、この補正操作量(x2’)が操作量として制御対象12に出力される。これにより、制御対象12が異常動作や停止することが抑制される。なお、本実施形態に係る操作量補正処理部302が補正部に対応する。
ここで、図4を用いて制御モデル学習部50の詳細な構成を説明する。図4は、制御モデル学習部50の詳細な構成を示したブロック図である。制御モデル学習部50は、制御モデル更新判定処理部501と、制御モデル部502と、誤差評価部503と、制御モデルパラメータ調整処理部504と、複数の遅延回路505~507とを有する。
制御モデル更新判定処理部501は、操作量補正処理部302(図1)が推定した制御量が所定範囲内に無いと判定した場合に、更に教師有り学習により制御モデルの制御モデルパラメータW(t)を学習するか否かを判定する。例えば、この制御モデル更新判定処理部501は、操作量評価部40(図1)により演算された制御評価値があらかじめ設定された基準値を超える場合に、制御モデルパラメータW(t)の教師有り学習を行うと、判定する。
制御モデル部502は、教師有り学習を行うと、判定された場合に、強化学習部201(図2)から最新の制御モデルパラメータW(t)を取得する。そして、制御モデル部502は、制御指令値制御対象12の制御量を含む制御状態量、制御指令値を、遅延回路505、506を介して取得し、操作量を出力する。なお、まだ教師あり学習が行われる前の段階であるので、この操作量に対応する制御量は所定値を超える範囲にある。
誤差評価部503は、遅延回路507を介して制御モデル更新判定処理部501から取得した補正操作量と、制御モデル部502が演算した操作量との誤差を計算し、評価値として制御モデルパラメータ調整処理部504に出力する。
制御モデルパラメータ調整処理部504は、評価値が減少するように制御モデルの制御モデルパラメータW(t)を調整する。すなわち、上述のように、制御モデルパラメータ調整処理部504は、制御モデルパラメータW(t)、を教師あり学習により学習する。
教師あり学習が行われる度に、更新した制御モデルパラメータW(t)は、制御モデル部502に出力され、誤差評価部503により誤差が再演算される。この誤差は制御モデル学習状態として出力される。この場合、過学習を抑制するため、評価値が所定値低減された時点で、制御モデルパラメータ調整処理部504による教師有り学習を停止してもよい。教師有り学習が停止されると、制御モデルパラメータ調整処理部504は、教師有り学習した制御モデルパラメータW(t)を、制御部20の各部に設定する。
以上のように、本実施形態によれば、制御部20が強化学習により学習される制御モデルを用いて制御指令値、及び制御量に基づく操作量を出力し、制御状態推定処理部301がこの操作量で制御対象12を操作したときの所定時間後の制御量が所定範囲内か否かを推定し、所定の範囲外と推定された場合には、操作量補正処理部302が所定時間後の制御量が所定範囲内となる補正操作量に操作量を補正する。これにより、制御量が所定範囲内であれば、制御全体として報酬の大きくなる操作量による制御が可能となると共に強化学習が進められる。一方で、所定の範囲外であれば、異常動作や停止することが抑制された補正操作量により制御対象12の制御が可能となる。このように、強化学習による制御モデルの学習を進めている初期段階でも、制御対象12が異常動作や停止することを抑制しつつ、制御全体として報酬値の大きくなる制御を行うことができる。
また、所定時間後の制御量が所定範囲外になると推定される場合に、制御モデル学習部50が、制御部20が強化学習している制御モデルを、所定範囲外になると推定された制御指令値、及び制御量を用いて、補正操作量を教師データとして、教師有り学習する。これにより、所定範囲外になると推定された制御指令値、及び制御量が制御モデルに入力された場合でも、所定時間後の制御量が所定範囲となる操作量を出力するように制御モデルを学習できる。一般に制御量が所定範囲外になる場合には、装置が停止状態や異常状態となり、定常的な制御量を取得できないため、強化学習は停止してしまうが、本実施形態による制御装置10は、所定時間後の制御量が所定範囲外になると推定される場合にも、教師有り学習により制御モデルの学習を進めることが可能であり、より効率的に制御モデルの学習を行うことが可能である。
(第2実施形態)
第2実施形態では、制御対象12をモータ12aとしたモータ制御装置10aについて説明する。モータ12aに対応する各制御量を用いて各処理部の動作を説明する。
図5は、モータの回転速度ωmeas(t)を制御するモータ制御装置10aのブロック図である。
図5に示すように、制御部20は、離散時間tにおいて、制御指令値として、回転速度ωref(t)を、制御状態量として、回転速度測定値ωmeas(t)、電流測定値Imeas(t)、及び電圧測定値Vmeas(t)を取得する。制御量は、制御状態量の中の、回転速度測定値ωmeas(t)である。
制御部20は、操作量として電圧Vest(t)、制御状態上限として回転速度の上限値ωmax、制御状態下限として回転速度の下限値ωminを生成する。なお、回転軸の磁極の水平方向と垂直方向の2成分に分けて、モータを制御するベクトル制御では、電圧V(t)、電流測定値Imeas(t)、電圧測定値Vmeas(t)、補正操作量Vcomp(t)は、それぞれ2次元の要素を有する。電圧Vest(t)は、モータ12a内の電圧電流変換器へ印加される電圧である。電流測定値Imeas(t)、電圧測定値Vmeas(t)は、モータ12aにおいて実際に測定された電流及び電圧である。
制御部20は、制御指令値である回転速度ωref(t)、制御量である回転速度測定値ωmeas(t)、制御状態量である圧測定値Vmeas(t)、及び電流測定値Imeas(t)を入力とし、操作量を出力する制御モデルの制御パラメータW(t)を強化学習により学習する。
制御モデル学習部50も、制御部20と同等の制御モデルを有する。制御部20と制御モデル学習部50の制御モデルは相互に連携しおり、制御モデルパラメータW(t)は、同一の値が設定される。すなわち、制御部20は、制御モデル学習部50に対して、制御モデルパラメータW(t)が更新されるごとに出力する。同様に、制御モデル学習部50において、制御モデルの教師有り学習が発生した場合には、制御モデルパラメータW(t)を制御モデル学習部50から制御部20に出力する。このように、制御部20と制御モデル学習部50は同一の制御モデルパラメータW(t)を、相互に学習する。
制御部20は、制御部20における強化学習部201(図2)の学習状態L1(t)を出力する。学習状態L1(t)は、制御指令値である回転速度ωref(t)と測定値である回転速度ωmeas(t)との誤差、操作量である制御電圧V(t)、及び制御評価値r(t)などを含む。同様に、制御部20は、制御モデル学習部50における制御モデルパラメータ調整処理部504(図4)の学習状態L2(t)を出力する。学習状態L2(t)は、制御指令値である回転速度ωref(t)と測定値である回転速度ωmeas(t)との誤差、操作量である制御電圧V(t)、及び制御評価値r(t)などを含む。
操作量補正部30は、電圧V(t)、回転速度の上限値ωmax、回転速度の下限値ωminを入力とし、補正操作量Vcomp(t)を操作量として制御対象12に出力する。より詳細には、制御部20が出力する電圧V(t)でモータ12aを制御した場合に、所定時間後の制御量である回転速度ωmeas(t)が回転速度の上限値ωmax、及び回転速度の下限値ωmin以内となるか否かを推定する。回転速度の上限値ωmax、及び回転速度の下限値ωmin以外となる場合に、所定時間後の制御量である回転速度ωmeas(t)が回転速度の上限値ωmax、及び回転速度の下限値ωmin以内となる補正操作量Vcomp(t)を操作量として出力する。この場合、補正操作量Vcomp(t)は、操作量補正部30による補正が無い場合には、操作量である電圧V(t)である。
モータ12aは、補正操作量Vcomp(t)に応じて回転速度ωmeas(t)で回転する。また、モータ12aは、現在の制御状態量である回転速度ωmeas(t)、電流測定値Imeas(t)、及び電圧測定値Vmeas(t)を出力する。この場合、回転速度ωmeas(t)は、回転速度の上限値ωmax、及び回転速度の下限値ωmin以内に制御される。
操作量評価部40は、制御指令値ωref(t)、モータ12aの制御状態量である電流測定値Imeas(t)、回転速度測定値ωmeas(t)を用いて制御状態を評価し、制御評価値r(t)を出力する。より具体的には、操作量評価部40は、制御評価値r(t)として、例えば制御指令値ωref(t)と回転速度測定値ωmeas(t)との偏差の絶対値が小さくなるに従い大きな値を取る第1項と、電流測定値Imeas(t)の絶対値が小さくなるに従い大きな値を取る第2項の加算値を出力する。また、操作量評価部40は、補正操作量Vcomp(t)と、電圧測定値Vmeas(t)との偏差の絶対値が小さくなるに従い大きな値をとる補正操作量Vcomp(t)の制御評価値rcomp(t)を出力する。
制御モデル学習部50は、上述のように、制御モデルの制御モデルパラメータW(t)を教師あり学習する。制御モデル学習部50は、所定時間後の制御量である回転速度ωmeas(t)が回転速度の上限値ωmax、及び回転速度の下限値ωmin以外となる場合に、制御モデルパラメータW(t)を教師あり学習する。この場合、教師信号は補正操作量Vcomp(t)であり、操作量Vest(t)と補正操作量Vcomp(t)との差が減少するように学習される。
可視化部60は、学習状態L1(t)およびL2(t)を基に、学習の進行状況を表示部14に表示する。
図6は、制御部20の詳細な構成を示したブロック図である。図6に基づき制御部20の詳細を説明する。
強化学習部201は、例えば、ニューロン数が4-64-32-8-1の5層で構成されるニューラルネットワークを制御モデルとして学習する。すなわち、入力層の4ニューロンには、回転速度ωref(t)、回転速度測定値ωmeas(t)、電流測定値Imeas(t)、圧測定値Vmeas(t)がそれぞれ入力され、出力層の1ニューロンから操作量Vest(t)が出力されるように、操作量評価部40が演算する制御評価値を報酬値としてニューロン間の結合係数W(t)が強化学習される。強化学習には、例えば方策勾配法(policy gradient methods)が用いられる。なお、本実施形態に係るニューロン間の結合係数W(t)が制御モデルパラメに対応する。
このニューラルネットワークは、学習初期の段階では、学習が進んでいないので、操作量Vest(t)によるモータ12aの制御では、指令値である回転速度ωref(t)と、回転速度測定値ωmeas(t)との乖離が大きくなる。一方で、学習が進むに従い、回転速度ωref(t)と、回転速度測定値ωmeas(t)との乖離がより小さくなる。
操作量推定部202は、強化学習部201と同等のニューロン数が4-64-32-8-1の5層で構成されるニューラルネットワークを制御モデルとして、有している。操作量推定部202の結合係数W(t)は、強化学習部201で結合係数W(t)が更新される度に同一の結合係数W(t)に置き替えられる。これにより、入力層の4ニューロンには、操作量推定部202は、回転速度ωref(t)、回転速度測定値ωmeas(t)、電流測定値Imeas(t)、圧測定値Vmeas(t)がそれぞれ入力され、出力層の1ニューロンから操作量推定値Vest(t)が出力される。
探索処理部203は、最適な制御量と操作量の組み合わせを探索するため、操作量推定部202の操作量推定値Vest(t)にノイズN(t)を加算する。ノイズN(t)は、例えば、式(1)に基づく。
Figure 0007467133000001
ここで、θ、μ、σはパラメータである。Rand(t)は0から1の範囲の乱数で、離散時刻tごとに乱数を発生する。
図7は、ノイズN(t)の例を示す図である。例え軸はN(t)を示し、横軸は、サンプル回数tを示す。N(0)=0.6、θ=0.1、μ=0.6およびσ=0.15である。このように、探索処理部203は、ノイズN(t)を(2)式に従い、Vest(t)に加算し、操作量V(t)を出力する。
Figure 0007467133000002
ここで、探索を実施する回数をNeとすると、Pは式(3)で与えられる。
Figure 0007467133000003
ここで、Countは学習回数カウント部204からの出力で、離散時間ごとに繰り返し実施する学習回数をカウントしたものである。学習回数カウント部204は、学習回数Countを強化学習部201および探索処理部203に出力する。
制御状態上下限生成部204は、制御指令値ωref(t)と学習回数カウント部からの出力Countを取得し、ωref(t)とCountとに対応する制御状態の上限ωmaxと下限ωminを出力する。すなわち、ωmaxおよびωminはそれぞれ、式(4)および式(5)で示される。
Figure 0007467133000004
Figure 0007467133000005
F(Count)およびG(Count)は、学習回数を説明変数とする関数で、学習回数Countに応じて、上限値および下限値を調整する。例えば、F(Count)は単調減少関数であり、G(Count)は単調増加関数である。なお、FおよびGは、学習状態L1もしくはL2を説明変数としてもよい。
図8は操作量補正部30の詳細な構成を示したブロック図である。図8において、制御状態推定処理部301は、制御対象の制御状態量Vmeas(t)と、ωmeas(t)とを用いて操作量V(t)で操作したときの次の離散時間(t+1)における制御状態推定値ωest(t)を推定する。例えば、表面永久磁石型動機モータ(SPMSM: Surface Permanent Magnet Synchronous Motor)において、駆動電圧Vmeas(t)は、式(6)で表わすことができる。KEおよびαは定数である。
Figure 0007467133000006
Figure 0007467133000007
KEおよびαは離散時間(t-1)とtで一定とみなすことができる。この場合、(8)式で示すように、KEおよびαを計算することができる。
Figure 0007467133000008
したがって、操作量V(t)を離散時間tから(t+1)までのΔtの時間、印加したときの制御量の推定値ωest(t)は、(9)式で計算される。
Figure 0007467133000009
操作量補正処理部302では、ωest(t)と、上限回転数ωmaxおよび下限回転数ωminとを比較し、ωest(t)>ωmaxあるいはωest(t)<ωminとなる場合、操作量を補正する。すなわち、(10)、(11)、(12)式に基づいて、補正操作量Vcomp(t)を計算する。
Figure 0007467133000010
Figure 0007467133000011
Figure 0007467133000012
図9は、制御モデル学習部50の詳細を示したブロック図である。図9に基づき制御モデル学習部50の詳細を説明する。
制御モデル更新判定処理部501は、制御評価値r(t)があらかじめ設定された基準値を超えるか否かを判定する。制御モデル更新判定処理部501は、制御評価値r(t)があらかじめ設定された基準値を超える場合に、制御モデル部502を学習すると判定する。
制御モデル部502は、強化学習部201と同等のニューロン数が44-64-32-8-1の5層で構成されるニューラルネットワークを制御モデルとして、有している。制御モデル部502の結合係数W(t)は、強化学習部201で結合係数W(t)が更新される度に同一の結合係数W(t)に置き替えられる。これにより、制御モデル部502では、入力層の4ニューロンに回転速度ωref(t)、回転速度測定値ωmeas(t)、電流測定値Imeas(t)、圧測定値Vmeas(t)がそれぞれ入力され、出力層の1ニューロンから操作量(操作量推定値)Vest(t)が出力される。
誤差評価部503は、操作量Vest(t)と補正操作量Vcomp(t)との2乗誤差を演算する。そして、を誤差評価部503は、この2乗誤差を評価値として制御モデルパラメータ調整処理部504に出力する。また、誤差評価部503は、この評価値を学習状態L2(t)として可視化部60に出力する。
制御モデルパラメータ調整処理部504は、制御モデル部502のニューラルネットワークの結合係数W(t)を、例えば逆誤差伝播法バックプロパゲーション:Backpropagation)により学習する。この結合係数W(t)を、制御モデル部502に再設定し、誤差評価部503が評価値を再演算する。このような処理を繰り返し、評価値が所定値に達するまでニューラルネットワークの結合係数W(t)を例えば逆誤差伝播法により教師有り学習する。逆誤差伝播法による学習が終了すると、ニューラルネットワークの結合係数W(t)は、強化学習部201、操作量推定部202に設定される。
図10は、モータ制御装置10aの制御処理例を示すフローチャートである。ここでは、指令値に対する操作量を出力する1ステップ分の処理を説明する。
先ず、制御部20は、制御指令値として回転速度ωref(t)が入力される(ステップS100)。続けて、制御部20の操作量推定部202が有するニューラルネットの入力層の各ニューロンに回転速度指令値ωref(t)、回転速度測定値ωmeas(t)、電流測定値Imeas(t)、圧測定値Vmeas(t)がそれぞれ入力され、出力層の1ニューロンから操作量推定値Vest(t)が出力される(ステップS102)。
次に、この操作量推定値Vest(t)に、探索処理部203がノイズN(t)を加算し、操作量V(t)を出力する(ステップS104)。
次に、操作量補正部30の制御状態推定処理部301は、(9)式に示すように、モータ12aの操作量V(t)と、回転速度測定値ωmeas(t)を用いて、次の離散時間(t+1)の制御量の推定値である回転速度ωest(t)を推定する(ステップS106)。
次に、操作量補正部30の制御状態推定処理部301は、推定値である回転速度ωest(t)が所定範囲を超えているか否かを判定する(ステップS108)。この所定範囲は、上限回転ωmaxより小さく、且つωminより大きい範囲である。所定範囲を超えている場合(ステップS108のY)、操作量V(t)の補正操作量である補正操作量Vcomp(t)が(10)式に従い操作量補正処理部302により演算される(ステップS110)。続けて、操作量補正部30は、補正操作量Vcomp(t)をモータ12aに出力する(ステップS112)。
次に、制御モデルがモータ12aに出力される(ステップS110)。続けて、制御モデル学習部50の制御モデルパラメータ調整処理部504が、補正操作量Vcomp(t)を教師としてニューラルネットの教師有り学習を行う。この場合、入力層の各ニューロンに回転速度ωref(t)、回転速度測定値ωmeas(t)、電流測定値Imeas(t)、圧測定値Vmeas(t)がそれぞれ入力され、出力層の1ニューロンから出力される操作量推定値Vest(t)と補正操作量Vcomp(t)との差が減少するように学習される。
一方で、所定範囲を超えていない場合(ステップS108のN)、操作量V(t)がモータ12aに出力される(ステップS118)。続けて、制御部20の強化学習部201が、操作量評価部の演算した評価値を報酬とし、ニューラルネットの強化学習を行う(ステップS120)。
以上説明したように、本実施形態によれば、制御部20の操作量推定部202が強化学習した制御モデルを用いて、操作量推定値Vest(t)に、探索処理部203がノイズN(t)を加算し、操作量V(t)を出力し、操作量補正部30の制御状態推定処理部301が、操作量V(t)と、制御量である回転速度測定値ωmeas(t)を用いて、次の離散時間(t+1)の制御量の推定値である回転速度ωest(t)を推定する。そして、操作量補正部30の制御状態推定処理部301が、推定値である回転速度ωest(t)が所定範囲を超えているか否かを判定し、超えている場合に、操作量補正処理部302が、所定範囲を超えないように操作量V(t)を補正した補正操作量Vcomp(t)を制御対象12に出力し、超えていない場合に操作量V(t)を制御対象12に出力する。これにより、制御量である回転速度測定値ωmeas(t)が所定範囲内であれば、制御全体として報酬の大きくなる操作量V(t)による制御が可能となると共に、制御モデルの強化学習を行うことができる。一方で、所定の範囲外であれば、補正操作量Vcomp(t)によりモータ12aが異常動作や停止することない制御が可能となる。さらに、補正操作量Vcomp(t)により、制御モデルの教師あり学習を行うことができる。
本実施形態による制御装置10、及びモータ制御装置10aにおけるデータ処理方法の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、データ処理方法の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、データ処理方法の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規な装置、方法及びプログラムは、その他の様々な形態で実施することができる。また、本明細書で説明した装置、方法及びプログラムの形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。
1:制御システム、10:制御装置、10a:モータ制御装置、12:制御対象、12a:モータ、14:表示部、20:制御部、30:操作量補正部、40:操作量評価部、50:制御モデル学習部、60:可視化部、201:強化学習部。

Claims (12)

  1. 操作量に応じて実動する制御対象の制御装置であって、
    制御指令値と、前記制御指令値に対して前記制御対象が実動することにより生じた制御量と、を用いた前記制御対象が実動する学習期間中の強化学習により前記操作量を出力する制御モデルを学習する制御部であって、
    前記学習期間中の前記制御モデルを用いて、第1制御指令値、及び前記第1制御指令値に対して前記制御対象が実動することにより生じた第1制御量に基づく第1操作量を出力する制御部と、
    前記制御モデルに対してより簡略化された予測モデルであって、前記制御対象の制御指令値及び操作量に対して、前記制御対象の所定時間後の第2制御量を出力する予測モデルを用いて、前記制御対象を前記第1制御指令値に対して前記第1操作量で操作したときの所定時間後の第2制御量が所定範囲内か否かを推定する推定部と、
    前記所定の範囲外の場合に、前記予測モデルを用いて、前記所定時間後の前記第2制御量が前記所定範囲内となる補正操作量に補正した第2操作量を出力する補正部と、
    を備える制御装置。
  2. 前記所定の範囲外の場合における前記第1制御指令値、及び前記第1制御量を入力とし、前記補正操作量を教師データとする教師学習により前記制御モデルを学習する制御モデル学習部を更に備え、
    前記制御部は、前記制御モデル学習部が学習した前記制御モデルを用いて前記操作量を出力する、請求項1に記載の制御装置。
  3. 前記所定の範囲内の場合における前記第1制御指令値、及び前記第1制御量を用いて、前記第1制御指令値と、前記第1制御量との偏差が小さくなるに従い大きくなる報酬値を算出し、前記報酬値が大きくなるように、前記制御モデルを強化学習により学習する強化学習部を更に備え、
    前記制御部と前記制御モデル学習部は、前記強化学習部が学習した同一の前記制御モデルを用いる、請求項2に記載の制御装置。
  4. 前記強化学習部は、前記制御対象が実動する期間中に前記制御モデルを強化学習しており、
    前記制御部と前記制御モデル学習部は、前記強化学習部が学習した前記制御モデルに逐次置き換える、請求項3に記載の制御装置。
  5. 前記制御モデルは、ニューラルネットワークで構成する、請求項4に記載の制御装置。
  6. 前記制御モデル学習部における前記制御モデルの教師有り学習は、前記報酬値が所定値以上の場合のみ、実行する、請求項5に記載の制御装置。
  7. 前記所定範囲は、強化学習の実行回数に応じて可変とする、請求項6に記載の制御装置。
  8. 前記所定範囲は、強化学習の学習進行に応じて可変とする、請求項7に記載の制御装置。
  9. 前記学習進行は、前記第1制御指令値と、前記第1制御指令値に対して前記制御対象が実動することにより生じた前記第1制御量との誤差とする、請求項8に記載の制御装置。
  10. 前記学習進行の状態を表示装置に可視化する可視化部を備える、請求項9に記載の制御装置。
  11. 操作量に応じて実動する制御対象の制御方法であって、
    制御指令値と、前記制御指令値に対して前記制御対象が実動することにより生じた制御量と、を用いた前記制御対象が実動する学習期間中の強化学習により前記操作量を出力する制御モデルを学習する制御工程であって、
    前記学習期間中の前記制御モデルを用いて、第1制御指令値、及び前記第1制御指令値に対して前記制御対象が実動することにより生じた第1制御量に基づく第1操作量を出力する制御工程と、
    前記制御モデルに対してより簡略化された予測モデルであって、前記制御対象の制御指令値及び操作量に対して、前記制御対象の所定時間後の第2制御量を出力する予測モデルを用いて、
    前記制御対象を前記第1制御指令値に対して前記第1操作量で操作したときの所定時間後の第2制御量が所定範囲内か否かを推定する推定工程と、
    前記所定の範囲外の場合に、前記予測モデルを用いて、前記所定時間後の前記第2制御量が前記所定範囲内となる補正操作量に補正した第2操作量を出力する補正工程と、
    を備える制御方法。
  12. 操作量に応じて実動するモータのモータ制御装置であって、
    回転速度を指令する制御指令値と、前記制御指令値に対して前記モータが回転することにより生じた回転速度を含む制御量と、を用いた前記モータが実動する学習期間中の強化学習により前記操作量を出力する制御モデルを学習した制御部であって、
    前記学習期間中の前記制御モデルを用いて、第1制御指令値、及び前記第1制御指令値に対して前記モータが実動することにより生じた第1制御量に基づく第1操作量を出力する制御部と、
    前記制御モデルに対してより簡略化された予測モデルであって、前記モータの制御指令値及び操作量に対して、前記モータの所定時間後の第2制御量を出力する予測モデルを用いて、
    前記モータを前記第1制御指令値に対して前記第1操作量で操作したときの所定時間後の第2制御量が所定範囲内か否かを推定する推定部と、
    前記所定の範囲外の場合に、前記予測モデルを用いて、前記所定時間後の前記第2制御量が前記所定範囲内となる補正操作量に補正した第2操作量を出力する補正部と、
    を備えるモータ制御装置。
JP2020010335A 2020-01-24 2020-01-24 制御装置、制御方法、及びモータ制御装置 Active JP7467133B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020010335A JP7467133B2 (ja) 2020-01-24 2020-01-24 制御装置、制御方法、及びモータ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020010335A JP7467133B2 (ja) 2020-01-24 2020-01-24 制御装置、制御方法、及びモータ制御装置

Publications (2)

Publication Number Publication Date
JP2021117699A JP2021117699A (ja) 2021-08-10
JP7467133B2 true JP7467133B2 (ja) 2024-04-15

Family

ID=77174925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020010335A Active JP7467133B2 (ja) 2020-01-24 2020-01-24 制御装置、制御方法、及びモータ制御装置

Country Status (1)

Country Link
JP (1) JP7467133B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7409345B2 (ja) * 2021-03-31 2024-01-09 横河電機株式会社 学習処理装置、制御装置、学習処理方法、制御方法、学習プログラムおよび制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007271187A (ja) 2006-03-31 2007-10-18 Hitachi Ltd 燃焼装置を有する制御対象物の制御装置、及びボイラを有するプラントの制御装置
JP2019200453A (ja) 2018-05-14 2019-11-21 オムロン株式会社 制御システム、学習データ作成装置、学習装置および判定装置
JP2020092490A (ja) 2018-12-03 2020-06-11 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007271187A (ja) 2006-03-31 2007-10-18 Hitachi Ltd 燃焼装置を有する制御対象物の制御装置、及びボイラを有するプラントの制御装置
JP2019200453A (ja) 2018-05-14 2019-11-21 オムロン株式会社 制御システム、学習データ作成装置、学習装置および判定装置
JP2020092490A (ja) 2018-12-03 2020-06-11 富士通株式会社 強化学習プログラム、強化学習方法、および強化学習装置

Also Published As

Publication number Publication date
JP2021117699A (ja) 2021-08-10

Similar Documents

Publication Publication Date Title
US8855804B2 (en) Controlling a discrete-type manufacturing process with a multivariate model
JP6359182B2 (ja) 機械の動作を制御するための方法およびシステム
JP6008898B2 (ja) プロセス制御システムにおけるオンライン適応モデル予測制御
CN106560997B (zh) 机械学习装置以及电动机控制装置
JP2016158485A (ja) 列車を所定の位置範囲に停止させるためのシステムおよび方法
CN108008627A (zh) 一种并行优化的强化学习自适应pid控制方法
CN108830376B (zh) 针对时间敏感的环境的多价值网络深度强化学习方法
CN113168566A (zh) 通过使用熵约束来控制机器人
KR101849464B1 (ko) Pid 게인 자동 튜닝 방법
JP7467133B2 (ja) 制御装置、制御方法、及びモータ制御装置
EP3704550B1 (en) Generation of a control system for a target system
US11936320B2 (en) Thermal control for vehicle motor
CN110018722B (zh) 用于热控制的机器学习装置、系统和方法
JP2021517700A (ja) 制御システム、制御方法及び記憶媒体
CN115963752A (zh) 一种基于深度学习的音圈电机位置伺服控制系统及数学模型的训练方法
US11287801B2 (en) Control device, CNC device, and control method
KR102190584B1 (ko) 메타 강화 학습을 이용한 인간 행동패턴 및 행동전략 추정 시스템 및 방법
JP7469476B2 (ja) 制御支援装置、制御システム及び制御支援方法
WO2021149435A1 (ja) 自動操縦ロボットの制御装置及び制御方法
JP7381751B2 (ja) 制御支援装置、制御装置及び制御支援方法
WO2022049672A1 (ja) 学習装置、学習方法、制御システムおよび記録媒体
Ninomiya Dynamic sample size selection based quasi-Newton training for highly nonlinear function approximation using multilayer neural networks
JP2005293434A (ja) パラメータ決定装置、それを備えた制御装置、パラメータ決定方法、プログラム、および、プログラムを記録した記録媒体
CN115319741B (zh) 机器人控制模型的训练方法和机器人控制方法
KR0121103B1 (ko) 다기준 전문가형 퍼지논리 제어방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240403

R150 Certificate of patent or registration of utility model

Ref document number: 7467133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150