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

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

▶ 株式会社東芝の特許一覧 ▶ 東芝電機サービス株式会社の特許一覧

特許7384572制御装置、制御方法、及びモータ制御システム
<>
  • 特許-制御装置、制御方法、及びモータ制御システム 図1
  • 特許-制御装置、制御方法、及びモータ制御システム 図2
  • 特許-制御装置、制御方法、及びモータ制御システム 図3
  • 特許-制御装置、制御方法、及びモータ制御システム 図4A
  • 特許-制御装置、制御方法、及びモータ制御システム 図4B
  • 特許-制御装置、制御方法、及びモータ制御システム 図5
  • 特許-制御装置、制御方法、及びモータ制御システム 図6
  • 特許-制御装置、制御方法、及びモータ制御システム 図7
  • 特許-制御装置、制御方法、及びモータ制御システム 図8
  • 特許-制御装置、制御方法、及びモータ制御システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】制御装置、制御方法、及びモータ制御システム
(51)【国際特許分類】
   G05B 13/02 20060101AFI20231114BHJP
   H02P 29/20 20160101ALI20231114BHJP
【FI】
G05B13/02 L
H02P29/20
【請求項の数】 10
(21)【出願番号】P 2019090868
(22)【出願日】2019-05-13
(65)【公開番号】P2020187489
(43)【公開日】2020-11-19
【審査請求日】2022-02-03
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100091982
【弁理士】
【氏名又は名称】永井 浩之
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100125151
【弁理士】
【氏名又は名称】新畠 弘之
(72)【発明者】
【氏名】高野 俊也
(72)【発明者】
【氏名】阿邊 優一
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2019-021024(JP,A)
【文献】特開平07-210535(JP,A)
【文献】特開2019-071405(JP,A)
【文献】特表平07-503563(JP,A)
【文献】特開2003-044102(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/02
(57)【特許請求の範囲】
【請求項1】
第1操作量と、第2操作量とに基づく操作量に応じて実動する制御対象の制御装置であって、
制御指令値と、前記制御指令値に対して前記制御対象が実動することにより生じた制御量と、に基づく前記第1操作量を出力する第1制御部と、
前記制御指令値と、前記制御量と、を用いた強化学習により、前記第2操作量を学習した第2制御部であって、前記制御指令値、及び前記制御量を用いて前記第2操作量を出力する第2制御部と、
前記第1操作量と、前記第2操作量とに基づく前記操作量を出力する出力部と、
前記第2操作量の変動成分を計算する指令値変動成分計算部と、を備え、
前記第1制御部は、前記制御指令値と、前記制御指令値に対する前記制御量の平均値と、の偏差に基づき、前記第1操作量を出力し、
前記出力部は、前記第1操作量と前記第2操作量の前記変動成分とを加算した前記操作量を出力する、制御装置。
【請求項2】
前記第2制御部は、前記制御指令値と、前記制御指令値に対する前記制御量との偏差が小さくなるに従い大きくなる報酬値を算出し、前記報酬値が大きくなるように前記第2操作量を学習する、請求項1に記載の制御装置。
【請求項3】
前記第2制御部は、前記制御量の時間変化量に更に基づき前記報酬値を算出する、請求項2に記載の制御装置。
【請求項4】
前記第1制御部は、前記制御指令値と、前記制御指令値に対する前記制御量と、の偏差に基づき、前記第1操作量を出力し、
前記出力部は、前記第1操作量と前記第2操作量とを加算した前記操作量を出力する、請求項1乃至3のいずれか一項に記載の制御装置。
【請求項5】
前記制御対象はモータであり、
前記第1操作量を前記操作量として出力する第1モード、前記第2操作量を前記操作量として出力する第2モード、及び、前記第1操作量と前記第2操作量とを加算した前記操作量を出力する第3モードの内の少なくとも前記第1モード及び第3モードのいずれかを選択する、選択部をさらに備える、請求項1乃至4のいずれか一項に記載の制御装置。
【請求項6】
前記制御量は前記モータの回転速度であり、
前記選択部は、前記回転速度が上昇もしくは下降するとき、前記第1モードを選択する、請求項5に記載の制御装置。
【請求項7】
前記制御量は前記モータの回転速度であり、
前記選択部は、前記モータが定速運転をする場合に、前記第3モードを選択する、請求項5に記載の制御装置。
【請求項8】
前記選択部は、前記強化学習が行われる場合に、前記第3モードを選択する、請求項5に記載の制御装置。
【請求項9】
第1操作量と、第2操作量とに基づく操作量に応じて実動する制御対象の制御の制御方法であって、
制御指令値と、前記制御指令値に対して前記制御対象が実動することにより生じた制御量と、に基づく前記第1操作量を出力する第1制御工程と、
前記制御指令値と、前記制御量と、を用いた強化学習により、前記第2操作量を学習した第2制御部の第2制御工程であって、前記制御指令値、及び前記制御指令値に対する前記制御量を用いて前記第2操作量を出力する第2制御工程と、
前記第1操作量と前記第2操作量とを加算した前記操作量を出力する出力工程と、
前記第2操作量の変動成分を計算する指令値変動成分計算工程と、を備え、
前記第1制御工程は、前記制御指令値と、前記制御指令値に対する前記制御量の平均値と、の偏差に基づき、前記第1操作量を出力し、
前記出力工程は、前記第1操作量と前記第2操作量の前記変動成分とを加算した前記操作量を出力する、制御方法。
【請求項10】
モータと、
第1操作量と、前記第1操作量を補う第2操作量とを加算した操作量に応じて実動する前記モータの回転速度を制御する制御装置と、を備える、モータ制御システムであって、
前記制御装置は、
制御指令値と、前記制御指令値に対して前記モータが実動することにより生じた制御量と、に基づく前記第1操作量を出力する第1制御部と、
前記制御指令値と、前記制御量と、を用いた強化学習により、前記第2操作量を学習した第2制御部であって、前記制御指令値、及び前記制御量を用いて前記第2操作量を出力する第2制御部と、
前記第1操作量と前記第2操作量とを加算した前記操作量を出力する出力部と、 前記第2操作量の変動成分を計算する指令値変動成分計算部と、を有し、
前記第1制御部は、前記制御指令値と、前記制御指令値に対する前記制御量の平均値と、の偏差に基づき、前記第1操作量を出力し、
前記出力部は、前記第1操作量と前記第2操作量の前記変動成分とを加算した前記操作量を出力する、モータ制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御装置、制御方法、及びモータ制御システムに関する。
【背景技術】
【0002】
モータの定負荷状態における回転速度などの基本的な制御ついては一般的な制御方法が確立されている。ところが、負荷変動による脈動を低減する回転速度制御では制御モデルを構築し、制御モデルのパラメータを様々な動作シーケンスを繰り返し実行して、調整する必要がある。このため、モータ種別、使用条件ごとにモータ制御モデルの設計およびパラメータ調整を行う必要がある。さらに、回転速度の脈動となり得る主要因のみを考慮したモータ制御モデルを構築するのが一般的であり、更なる制御精度の向上が望まれている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2018/151215号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
発明が解決しようとする課題は、制御指令値と、制御量との間の非線形に変動する偏差を抑制可能な制御装置、制御方法、及びモータ制御システムを提供することである。
【課題を解決するための手段】
【0005】
本実施形態によれば、第1操作量と、第2操作量とに基づく操作量に応じて実動する制御対象の制御装置であって、第1制御部と、第2制御部と、出力部と、を備える。第1制御部は、制御指令値と、制御指令値に対して制御対象が実動することにより生じた制御量と、に基づく第1操作量を出力する。第2制御部は、制御指令値と、制御量と、を用いた強化学習により、第2操作量を学習した第2制御部であって、制御指令値、及び制御量を用いて第2操作量を出力する。出力部は、第1操作量と、第2操作量とに基づく操作量を出力する。
【図面の簡単な説明】
【0006】
図1】モータ制御システムの構成を示すブロック図。
図2】制御部の詳細な構成を示したブロック図。
図3】第2制御部の構成を示したブロック図。
図4A】第2制御部の処理例を示すフローチャート。
図4B】制御装置の処理例を示すフローチャート。
図5】第2実施形態に係る制御部の詳細な構成を示すブロック図。
図6】回転速度平均値計算部の詳細な構成を示す図。
図7】変更選択スイッチが変更する出力値を示す図。
図8】指令値変動成分計算部の詳細な構成を示す図。
図9】選択スイッチが変更する出力値を示す図。
【発明を実施するための形態】
【0007】
以下、本発明の実施形態に係る制御装置、制御方法、及びモータ制御システムについて、図面を参照しながら詳細に説明する。なお、以下に示す実施形態は、本発明の実施形態の一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。また、本実施形態で参照する図面において、同一部分又は同様な機能を有する部分には同一の符号又は類似の符号を付し、その繰り返しの説明は省略する場合がある。また、図面の寸法比率は説明の都合上実際の比率とは異なる場合や、構成の一部が図面から省略される場合がある。
【0008】
(第1実施形態)
図1は、本発明によるモータ制御システム1の構成を示すブロック図である。図1に示すように、本実施形態に係るモータ制御システム1は、学習機能を有するシステムであり、制御装置10と、モータ20とを備えて構成される。図1には更に、モータ20に機械的に接続される負荷Lが図示されている。
【0009】
制御装置10は、例えばモータ20の回転速度を制御する。この制御装置10は、制御部30と、電流制御部40と、駆動回路部50と、選択部60とを、有する。
【0010】
モータ20は、例えば永久磁石同期モータである。本実施形態に係る負荷Lは、例えばコンプレッサである。このため、モータ20の回転位相に応じて負荷Lの大きさが変動する場合がある。これにより、モータ20の出力を一定にすると、回転速度に脈動が生じてしまう。
【0011】
制御部30は、学習機能を有し、モータ20の回転速度を制御する。制御部30は、プロセッサを含んで構成されており、必要なプログラムを記憶部314(図3)から読み出して実行することで、モータ制御システム1全体の処理を制御する。すなわち、制御部30が、記憶部314に記憶されるプログラムを実行することにより、電流制御部40、駆動回路部50、および選択部60の各処理が実行される。ここで、プロセッサという文言は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、或いは、特定用途向け集積回路(Application Specific Integrated Circuit: ASIC)等の回路を意味する。また、本実施形態に係る電流制御部40、駆動回路部50、および選択部60のそれぞれは例えば回路により構成される。
【0012】
この制御部30は、回転速度の制御指令値ωrefと、回転速度の測定値ωfbkに基づき、電流指令値idrefと、電流指令値iqrefとを生成する。ここで、回転速度の制御指令値ωrefは、モータ20の回転速度をωrefに制御する制御指令値である。また、回転速度の測定値ωfbkは、回転速度の制御指令値ωrefに対して実動しているモータ20の回転速度の実測値である。このように、回転速度の制御指令値ωrefに対する回転速度の測定値ωfbkが制御部30にフィードバックされる。
【0013】
なお、本実施形態では、制御の対象となる量を制御量と呼ぶこととする。例えば制御対象であるモータ20の回転速度ωfbkが制御量である。また、制御量の目標値を制御指令値と呼ぶこととする。例えばモータ20の回転速度の目標値ωrefが制御指令値である。さらにまた、制御量に影響を与える手段を駆動する量を操作量と呼ぶこととする。例えば、電流制御部40がモータ20の制御量に影響を与える手段であり、電流制御部40の駆動電圧Vd、Vqを指示する電流指令値idref、電流指令値iqrefが操作量に対応する。すなわち、本実施形態に係る回転速度の測定値ωfbkが制御量に対応し、電流指令値idref、電流指令値iqrefが操作量に対応する。また、制御部30の詳細は後述する。
【0014】
学習・推論選択信号は、制御部30において操作量を学習する学習モード、又は、学習結果に基づき、操作量を推論する推論モードを選択する信号である。学習・推論選択信号はモータ制御システム1内もしくは図示しない外部装置により生成される。
【0015】
電流制御部40は、制御部30からの電流指令値idrefおよびiqrefに基づき、電流IdrefおよびIqrefに対応する駆動電圧VdおよびVqを生成する。ここで、永久磁石同期モータにおいて、回転子の永久磁石の中心軸をd軸、永久磁石間の軸をq軸とする。すなわち、電流Idrefおよび駆動電圧Vdは、それぞれd軸の電流値および電圧値を表し、電流Iqref、および駆動電圧Vqは、それぞれq軸の電流値および電圧値を表す。
【0016】
駆動回路部50は、電流制御部40から供給される電圧VdおよびVqを用いて3相交流電圧Vu、Vv、Vwを生成し、モータ20に供給する。また、モータ20には速度計が設けられており、回転速度の測定値ωfbkを制御部30に出力する。さらにまた、モータ20には電流計が設けられており、駆動回路部50の電流値IdfbkおよびIqfbkを制御部30に出力する。なお、電流値IdfbkおよびIqfbkは、電流指令値idrefおよびiqrefに対応する測定値である。
【0017】
選択部60は、モータ制御方式選択信号により、制御部30の動作モードを切り換える。より具体的には、選択部60は、モータ制御方式選択信号により、比例・積分速度制御モード(第1モード)、強化学習速度制御モード(第2モード)、統合モードのいずれかに制御部30の動作モードを切り換える。すなわち、モータ制御方式選択信号には、比例・積分速度制御モード、強化学習速度制御モード、統合モードのいずれかを示す情報が含まれている。
【0018】
例えば、選択部60は、モータ20の回転速度が上昇もしくは下降するときには、比例・積分速度制御を選択する。また、選択部60は、モータ20が定速運転をする場合に、統合モードを選択する。さらにまた、選択部60は、強化学習が行われる場合に、統合モードを選択する。なお、モータ制御方式選択信号は、図示しない外部装置から入力してもよい。
【0019】
図2は制御部30の詳細な構成を示したブロック図であり、図2に基づき制御部30について詳細に説明する。制御部30は、第1制御部302と、第2制御部304と、出力部305とを有する。
【0020】
ここで、各制御モードについて説明する。比例・積分速度制御モードは、第1制御部302の出力のみが電流制御部40に出力されるモードであり、強化学習速度制御モードは、第2制御部304の出力のみが電流制御部40に出力されるモードであり、統合モードは、第1制御部302及び第2制御部304の出力が電流制御部40に出力されるモードである。
【0021】
第1制御部302は、例えば比例・積分速度(PI)制御器(Proportional Integral Controller)であり、主として操作量の内の直流的成分をd軸の第1操作量idrefpiとq軸の第1操作iqrefpiとして出力する。この第1制御部302は、制御指令値ωrefと制御量ωfbkと、を用いて電流指令値である第1操作量idrefpiおよびiqrefpiを出力する。
【0022】
例えば、第1制御部302は、制御指令値ωrefと制御量ωfbkとの偏差に比例したP値と、制御指令値ωrefと制御量ωfbkとの偏差の累積値に比例したI値と、の加算値に基づき、第1操作量idrefpiおよびiqrefpiを出力する。例えばモータ20が比例制御モードである場合には、第1制御部302は、制御指令値ωrefと制御量ωfbkとの偏差に比例したP値と、制御指令値ωrefと制御量ωfbkとの偏差の累積値に比例したI値と、の加算値に基づき、idrefpiおよびiqrefpiの絶対電流値Iiを出力する。ここで、モータ20の比例制御モードとは、モータ20のトルクを主としてq軸の電流Idrefにより制御するモードを意味する。
【0023】
そして、第1制御部302は、モータ20の制御モードに応じてd軸の第1操作量idrefpiとq軸の第1操作iqrefpiとを演算する。例えば、比例制御モードの場合には、d軸の第1操作量idrefpiを所定値(例えば0)とし、絶対電流値Iiに基づき、q軸の第1操作iqrefpiを演算して、出力する。例えば、第1操作量idrefpiが0である場合、第1操作iqrefpiは、絶対電流値Iiと同等の値となる。
【0024】
なお、本実施形態に係るモータ20の制御は、q軸の第1操作量iqrefpiにモータ20のトルクが比例する比例制御の例で説明するが、これに限定されない。例えば、最大トルク制御などを用いても良い。最大トルク制御の場合には、絶対電流値Iiと電流位相角βの一般的な関係式に基づき、d軸の第1操作量idrefpiとq軸の第1操作iqrefpiとを演算する。
【0025】
第1制御部302は、制御指令値ωrefと制御量ωfbkとの偏差が線形的に変動する場合には、制御精度がより高くなる傾向にある。一方で、第1制御部302は、制御指令値ωrefと制御量ωfbkとの偏差が非線形的に、例えばサイン波のように変動する場合には、制御精度がより低くなる傾向にある。
【0026】
第2制御部304は、学習時の制御指令値ωrefと学習時の制御量ωfbkとを用いた強化学習(Reinforcement Learning)により、第1操作量idrefpi、およびiqrefpiを補う第2操作量idrefrl、およびiqrefrlを学習した制御部である。この第2制御部304は、制御指令値ωref、及び制御指令値ωrefに対する制御量ωfbkを用いて第2操作量idrefrl、およびiqrefrlを出力する。
【0027】
第2制御部304の出力信号によれば、制御指令値ωrefと制御量ωfbkとの偏差が非線形的に、例えばサイン波のように変動する場合にも、モータ20の制御精度がより高くなる傾向を示す。一方で、制御指令値ωrefと制御量ωfbkとの偏差が線形的に変動する場合には、オフセット的な定常値のずれが発生する傾向を示す。このため、第2制御部304は、第2操作量idrefrl、およびiqrefrlを第1制御部302の第1操作量idrefpi、iqrefpiの補正量として、例えば政策勾配法(policy gradient methods)により学習する。
【0028】
出力部305は、第1操作量idrefpiと第2操作量idrefrlとに基づき、操作量idrefを出力し、第1操作量iqrefpiと第2操作量iqrefrlに基づき、操作量iqrefを出力する。より具体的には、出力部305は、第1操作量idrefpiと第2操作量idrefrlとを加算して、操作量idrefを出力し、第1操作量iqrefpiと第2操作量iqrefrlとを加算して、操作量iqrefを出力する。
【0029】
図3は、第2制御部304の構成を示したブロック図である。第2制御部304は、例えば強化学習の一例である政策勾配法により第2操作量idrefrl、およびiqrefrlを学習する。第2制御部304は、報酬演算部306と、遅延器308と、減算器310と、強化学習部312と、記憶部314と、選択スイッチ316とを有する。
【0030】
報酬演算部306は、例えば、制御指令値ωref、制御量ωfbk、及び実電流Idfbk、Iqfbkに基づき報酬rを演算する。例えば報酬演算部306は、制御指令値ωrefと制御量ωfbkとの偏差の絶対値が小さくなるに従い大きな値を取る第1項と、実電流Idfbk、Iqfbkの絶対値が小さくなるに従い大きな値を取る第2項の加算値である。また、報酬演算部306は、制御量ωfbkの時間変化量に更に基づき報酬値を算出してもよい。
【0031】
遅延器308は、制御量ωfbkの出力タイミングを所定時間、例えば1サンプル遅延させる。すなわち、この遅延器308は、制御量ωfbkの出力タイミングを1サンプル遅延させた1サンプル前の制御量ωfbkoを減算器310と強化学習部312とに出力する。このように、制御量ωfbkoを用いることにより、制御量ωfbkの時間変動量に関する情報も強化学習部312の学習、推論に用いることが可能となり、制御精度がより向上する。
【0032】
減算器310は、現フレームの制御量ωfbkから遅延器308が出力する1サンプル前の制御量ωfbkoを減算し、強化学習部312に出力する。すなわち、減算器310は、制御量ωfbkの時間変動量を強化学習部312に出力する。
【0033】
学習・推論選択信号が推論選択信号である場合に、強化学習部312は、制御指令値ωref、制御量ωfbk、実電流Idfbk、Iqfbk、及び制御量ωfbko中の少なくとも、制御指令値ωref、制御量ωfbkを含む状態sを観測して、行動a(すなわち、第2操作量idrefrl、およびiqrefrl)を決定する。以下の説明では、行動aは、ステップtの第2操作量idrefrl、およびiqrefrlを意味する。例えば、強化学習部312は、制御指令値ωref、制御量ωfbk、及び制御量ωfbkoを含む状態sを観測して、行動aを決定する。
【0034】
学習・推論選択信号が学習選択信号である場合に、強化学習部312は、将来にわたっての報酬rの合計が最大になるような行動aを学習する。例えば、強化学習部312は、制御指令値ωref、制御量ωfbk、及び制御量ωfbkoを含む状態sを観測して、報酬rの合計が最大になるような行動aを学習する。
【0035】
ここで、強化学習部312で用いる政策勾配法による強化学習の一例について説明する。なお、本実施形態に係る第2制御部304は、政策勾配法を用いるが、これに限定されず、Q学習などのアルゴリズムを用いても良い。
【0036】
政策勾配法では、状態空間をS、行動空間をA、実数の集合をRと表す。各離散時間ステップtにおいて、強化学習部312は状態s∈Sを観測して行動a∈Aを実行し、状態遷移の結果、報酬r∈Rを受け取る。一般に報酬と遷移先の状態は確率変数であり、その分布は状態sと行動aに依存する。行動選択において確率的政策を特徴付ける確率的政策関数π(a|s)は、状態sにおいて行動aを選択する確率を表す。すなわち、強化学習部312は、状態sに応じた政策的確率πに従った行動aを実行する。これにより、状態sから状態st+1に確率的政策関数π(a|s)に従い遷移する。
【0037】
報酬rは遷移先の状態st+1に含まれるステップt+1の制御指令値ωrefと制御量ωfbkとの偏差WSの絶対値、実電流Idfbk、Iqfbkに基づき、報酬演算部306により演算される。強化学習部312は、政策的確率πについての知識は事前に与えられておらず、強化学習の目的は強化学習部312のパフォーマンスを最大化する政策的確率πの学習を行うことである。すなわち、強化学習部312は、学習・推論選択信号が学習選択信号である場合においては、(1)式に示す割引報酬合計による評価値を最大化する確率的政策関数πの学習を行う。
【数1】
ここで、割引率0<γ≦1(本実施形態では、例えば0.9~0.99に設定する)は未来の報酬の重要度を示す。また、E{・}は期待値演算を表す。
【0038】
強化信号として計算されるTD_errorは状態遷移による評価値Vπ(s)の変化を示す。強化学習部312の学習において、TD_errorを行動評価として確率的政策関数π(a|s)を改善する。すなわち、強化学習部312は、TD_errorが正のとき、よい状態に遷移したと考えられるので状態sにおける行動aの選択確率を増やす。逆に、強化学習部312は、TD_errorが負のとき、状態sにおける行動aの選択確率を減らす。
【0039】
行動選択確率を特徴付ける確率的政策関数π(a|s)は、政策パラメータベクトルθを用いて表される。すなわち、確率的政策関数π(a|s)は、政策パラメータベクトルθを含んで表現される。
【0040】
強化学習部312は、政策パラメータベクトルθを調節することで行動選択確率を変化させる。例えば強化学習部312は、(2)式で示すように、政策パラメータθを更新する。ただし、απは、学習係数である。
【数2】
【0041】
これにより、強化学習部312は、ステップtの状態情報sに対して、ステップt+1のより適した第2操作量idrefrl、およびiqrefrlを選択することが可能となる。このように、強化学習部312により学習された確率的政策関数π(a|s)に基づいて、制御量ωrefと制御量ωfbkとの偏差がより最小に近づく第2操作量idrefrl、およびiqrefrlを選択することが可能となる。
【0042】
記憶部314は、例えばRAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク等により実現される。この記憶部312は、制御部30のプログラム、強化学習部314により学習された確率的政策関数π(a|s)などの情報を記憶する。
【0043】
選択スイッチ316は、モータ制御方式選択信号により、出力値を変更する。すなわち、選択スイッチ316は、比例・積分速度制御モードが選択された場合には出力を0にする。一方で、選択スイッチ316は、強化学習速度制御モード、および統合モードのいずれかが選択された場合には、第2操作量idrefrl、およびiqrefrlを出力する。
【0044】
図4Aは、第2制御部304の処理例を示すフローチャートである。ここでは、説明を簡単にするため、確率的政策πとして(3)式で表される正規分布を用いた例を説明する。また、状態変数sを制御指令値ωrefと、制御量ωfbkとの偏差WSとする。さらにまた、モータ20の制御を第2操作量iqrefrlによる比例制御モードとする。すなわち、行動aを第2操作量iqrefrlの選択として説明する。
【数3】
ただしμは中心値、σは標準偏差を表す。この正規分布を確率的政策πとして用いる。また、中心値μ、標準偏差σを政策パラメータベクトルとし、(2)式の更新式を(3)式に適用すると、(4)、(5)式を得る。
【数4】
【数5】
【0045】
まず、第2制御部304は、学習・推論選択信号の内の学習選択信号が入力されているか否かを判定する(ステップS100)。学習選択信号が入力されている場合(ステップS100のYES)、強化学習部312は、現タイミングにおける制御指令値ωref(t)と、制御指令値ωref(t)に対する制御量ωfbk(t)、電流Idfbk(t)、Iqfbk(t)、及び制御量ωfbk(t)の一つ前のタイミングで取得された制御量ωfbk(t-1)を取得する。そして、制御量ωref(t)、制御量ωfbk(t)の偏差WSを状態sとして取得する(ステップS101)。ここで、標記(t)はステップtを意味する。
【0046】
次に、強化学習部312は、状態sに応じてμ=mu(s)、σ=sigma(s)の正規分布に従ったランダムサンプリングによって行動a、すなわち、第2操作量iqrefrl(t)を演算する(ステップS102)。ここで、mu(s)は、sのサンプリング平均を意味する。sigma(s)は、サンプリングされたsの標準偏差を意味する。続けて、強化学習部312は、演算された第2操作量iqrefrl(t)により遷移した次のステップの状態st+1を取得する(ステップS103)。
【0047】
次に、強化学習部312は、状態st+1の報酬rt+1を報酬演算部306から取得する(ステップS104)。続けて、強化学習部312は、(1)式に従い評価値Vπ(s)を報復期待値として演算し(ステップS105)、報復期待値が増加していればTD_errorを正とし、減少していればTD_errorを負とする。
【0048】
次に、強化学習部312は、(4)、(5)式に従い強化学習モデルを更新する(ステップS106)。TD_errorが正なら、中心値mu(s)をaの方向へ修正する。また、行動aが±sigma(s)の内側だったなら、sigma(s)を小さくする方向へ、外側なら大きくする方向へ修正する。TD_errorが負なら逆の操作を行う。
【0049】
次に、強化学習部312は、強化学習モデルを更新後に、状態sに応じてμ=mu(s)、σ=sigma(s)の正規分布に従ったランダムサンプリングによって行動a、すなわち、第2操作量iqrefrl(t)を演算し、次のステップの状態st+1に状態を更新する(ステップS107)。
【0050】
次に、強化学習部312は、偏差WSが設定値以下か否かを判定する(ステップS107)。強化学習部312は、設定値以下でない場合(ステップS107のNO)、ステップS101からの処理を繰り返す。一方で、強化学習部312は、設定値以下である場合(ステップS107のYES)、ステップS100からの処理を繰り返す。
【0051】
一方で、学習選択信号が入力されていない場合(ステップS100のNO)、強化学習部312は、現タイミングにおける制御指令値ωref(t)と、制御指令値ωref(t)に対する制御量ωfbk(t)、実電流Idfbk(t)、Iqfbk(t)、及び制御量ωfbk(t)の一つ前のタイミングで取得された制御量ωfbk(t-1)を取得し、制御指令値ωref(t)、制御量ωfbk(t)の偏差WSを状態sとして取得する(ステップS201)。
【0052】
次に、強化学習部312は、状態sに応じてμ=mu(s)、σ=sigma(s)の正規分布に従ったランダムサンプリングによって行動a、すなわち、第2操作量iqrefrl(t)を演算する(ステップS202)。続けて、
強化学習部312は、第2操作量iqrefrl(t)を出力部305に出力する(ステップS203)。
【0053】
次に、強化学習部312は、全体処理を終了するか否かを判定する(ステップS204)。強化学習部312は、全体処理を終了しない場合(ステップS204のNO)、ステップS100からの処理を繰り返す。一方で、強化学習部312は、全体処理を終了する場合(ステップS204のYES)、全体処理を終了する。
【0054】
図4Bは、学習後の制御装置10の処理例を示すフローチャートである。
まず、第1制御部302は、制御指令値ωrefと、制御指令値ωrefに対して制御対象であるモータ20が実動することにより生じた制御量ωfbkとの偏差を用いて第1操作量idrefpiおよびiqrefpiを出力する(ステップS301)。
【0055】
次に、制御指令値ωrefと、制御指令値ωrefに対する第1操作量idrefpiおよびiqrefpiにより実働するモータ20の制御量ωfbkと、を用いた強化学習により、第2操作量を学習した第2制御部304は、制御指令値ωrefと、及び制御指令値ωrefに対する制御量ωfbkを用いて第2操作量idrefrl、およびiqrefrlを出力する(ステップS302)。
【0056】
次に、出力部305は、第1操作量idrefpiおよびiqrefpiと、第2操作量idrefrl、およびiqrefrlとのそれぞれを加算した操作量idrefおよびiqrefを出力する(ステップS303)。これにより、モータ20は操作量idrefおよびiqrefに応じたトルクを出力する。
【0057】
以上説明したように、本実施形態によれば、第1制御部302の出力する第1操作量idrefpiおよびiqrefpiを第2制御部304が出力する第2操作量idrefrl、およびiqrefrlで補うこととした。これにより、第1制御部302が回転速度を比例・積分方式で制御することにより、モータ20における回転速度の直流分をより高精度に制御可能となり、第2制御部304がモータ20における回転速度の変動分の制御を強化学習により学習することにより、回転速度の変動分をより高精度に制御可能となる。このように、本実施形態によれば、モータ20の回転速度の変動を抑制可能な速度制御が実現できる。これにより、モータ20の回転位相に応じて負荷Lが変動する場合にも、制御指令値ωrefと制御量ωfbkとの間の非線形に変動する偏差を抑制できる。
【0058】
また、負荷Lを変更した場合においても、第1制御部302における利得等のパラメータは変更する必要はなく、強化学習モデルを負荷特性に合わせて学習し変更すればよいため、一度確立した第1制御部302における比例・積分制御のパラメータを再利用することができる。
【0059】
(第2実施形態)
第1実施形態では、第1制御部302は、制御指令値ωrefと制御量ωfbkとの偏差に基づき、制御を行っていたが、第2実施形態では、第1制御部302は、制御指令値ωrefと制御量ωfbkの平均値との偏差に基づき、制御を行う点で相違する。以下では第1実施形態と相違する点に関して説明する。
【0060】
図1に示すように、本実施形態に係る選択部60は、制御指令値ωrefの時間変化に基づき、比例・積分速度制御モード、強化学習速度制御モード、統合モードのいずれかを選択可能である。例えば、選択部60は、モータ20の定速回転時は統合モードを選択することにより、より安定的に定速回転制御を行うことができる。
【0061】
一方で、選択部60は、モータ20の加速および減速時は比例・積分モードを選択することでより安定的にモータ20の加速制御を行うことができる。さらに、接続負荷Lが変更となった場合においても、強化学習部で再学習すればよいため、利便性が向上する。
【0062】
図5は、第2実施形態に係る制御部30の詳細な構成を示すブロック図である。制御部30は、回転速度平均値計算部318と、指令値変動成分計算部320とを、更に備える。
【0063】
出力部305は、第1操作量idrefpiと第2操作量idrefriの変動成分Δidrefとを加算して、操作量idrefを出力し、第1操作量iqrefpiと第2操作量iqrefriの変動成分Δiqrefとを加算して、操作量iqrefを出力する。
【0064】
回転速度平均値計算部318は、一定間隔で入力される回転速度ωfbk(t)の平均値^ωfbk(t)を計算する。ここで、(t)はタイミングtを標記している。また、文章内では回転速度ωfbk(t)の平均値を^ωfbk(t)で標記する。
【0065】
回転速度平均値計算部318は、例えば、(6)式にしたがい回転速度ωfbk(t)の逐次平均値^ωfbk(t)を計算する。
【数6】
すなわち、回転速度ωfbk(t)および逐次平均値^ωfbk(t)は、回転速度ωref(0)が設定されてから、t回目のサンプルにおける回転速度測定値および回転速度測定値の逐次平均値である。
【0066】
第1制御部302は、逐次平均値^ωfbk(t)と回転速度制御指令値ωref(t)との偏差WS1(t)に比例したP(t)値と、偏差の累積値に比例したI(t)値の加算値を直流成分制御量、すなわち第1操作量idrefpiおよびiqrefpiとして出力する。
【0067】
指令値変動成分計算部320は、第2操作量idrefri(t)およびiqrefri(t)それぞれの平均値に対する変動成分Δidref(t)、Δiqref(t)を、例えば、(7)~(10)式に基づき計算する。これにより、第2操作量idrefri(t)およびiqrefri(t)に重畳している直流成分が取り除かれる。
【数7】
【数8】
【数9】
【数10】
図6は回転速度平均値計算部318の詳細な構成を示す図である。図7は、モータ制御方式選択信号により、選択スイッチ318bが変更する出力値を示す図である。
【0068】
図6に示すように、回転速度平均値計算部318は、平均値計算部318aと、選択スイッチ318bとを有する。
平均値計算部318aは、モータ制御方式選択信号が、比例・積分速度制御モードのとき、リセット状態となり、制御対象から入力される回転速度ωfbk(t)をそのまま出力する。また、平均値計算部318aは、モータ制御方式選択信号が統合制御モードのとき、(6)式に基づき、回転速度ωfbk(t)の平均値^ωfbk(t)の計算を開始する。
【0069】
選択スイッチ318bは、モータ制御方式選択信号により、出力値を変更する。すなわち、選択スイッチ318bは、比例・積分速度制御モードが選択された場合、出力を回転速度ωfbk(t)にする。選択スイッチ318bは、強化学習速度制御モードが選択された場合、出力を0とする。そして、選択スイッチ318bは、統合モードが選択された場合、出力を平均値^ωfbk(t)を出力する。
【0070】
図8は指令値変動成分計算部320の詳細な構成を示す図である。図9は、モータ制御方式選択信号により、選択スイッチ320bが変更する出力値を示す図である。
【0071】
図8に示すように、指令値変動成分計算部320は、変動成分計算部320aと、選択スイッチ320bとを有する。
変動成分計算部320aは、第2操作量idrefri(t)およびiqrefri(t)それぞれの平均値に対する変動成分Δidref(t)、Δiqref(t)を、例えば、(7)~(10)式に基づき計算する。
【0072】
選択スイッチ320bは、モータ制御方式選択信号によって、比例・積分速度制御モードでは(0、0)を出力し、強化学習速度制御モードでは(idrefrl、iqrefrl)を出力し、統合モードでは(Δidref、Δiqref)を出力する。
【0073】
このように、第1制御部302は、逐次平均値^ωfbk(t)と回転速度制御指令値ωref(t)との偏差WS1(t)に比例したP(t)値と、偏差WS1(t)の累積値に比例したI(t)値の加算値である第1操作量idrefpi(t)およびiqrefpi(t)を出力する。また、操作量idref(t)、iqref(t)の変動分ある第2操作量idrefpl(t)、iqrefpl(t)を強化学習した第2制御304の第2操作量idrefpl(t)、iqrefpl(t)の変動分Δidref(t)、Δiqref(t)を指令値変動成分計算部320が出力する。出力部305は、第1操作量idrefpi(t)およびiqrefpi(t)と変動分Δidref(t)、Δiqref(t)を加算して操作量idref(t)、iqref(t)として出力する。これにより、操作量idref(t)、iqref(t)の直流分である第1操作量idrefpi(t)およびiqrefpi(t)を第1制御部302による比例・積分速度制御で制御し、操作量idref(t)、iqref(t)の変動分Δidref(t)、Δiqref(t)を、第2操作量idrefpl(t)、iqrefpl(t)を強化学習した第2制御部304による強化学習制御で制御可能となる。
【0074】
以上説明したように、本実施形態によれば、操作量idref(t)、iqref(t)の直流分を第1制御部302で制御し、変動分を第2制御304で制御することとした。これにより、モータ20の回転位相に応じて負荷Lが変動する場合にも、制御指令値ωref(t)と制御量ωfbk(t)との間の非線形に変動する偏差をより高精度に抑制できる。
【0075】
また、第1制御部302による比例・積分速度制御と、第2制御部304による強化学習速度制御と制御内容を分担することとした。このため、第1制御部302による比例・積分速度制御と第2制御部304による強化学習速度制御を個別に調整、学習することが可能となる。
【0076】
さらにまた、速度制御方式選択信号により、比例・積分速度制御モード、強化学習速度制御モード、統合モードのいずれかを選択できるように構成した。これにより、モータ20の負荷状態により、第1制御部302及び第2制御部304それぞれの制御を選択でき、より効果的な制御が実行できる。このように、負荷特性に適した安定的な速度制御を実現可能となる。
【0077】
上述した実施形態で説明した制御装置およびモータ制御システムの少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、制御装置およびモータ制御システムの少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0078】
また、制御装置およびモータ制御システムの少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0079】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施することが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形例は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0080】
1:モータ制御システム、10:制御装置、20:モータ、60:選択部、302:第1制御部、304:第2制御部、305:出力部、320:指令値変動成分計算部。
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9