JP2020046965A - モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 - Google Patents
モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 Download PDFInfo
- Publication number
- JP2020046965A JP2020046965A JP2018175154A JP2018175154A JP2020046965A JP 2020046965 A JP2020046965 A JP 2020046965A JP 2018175154 A JP2018175154 A JP 2018175154A JP 2018175154 A JP2018175154 A JP 2018175154A JP 2020046965 A JP2020046965 A JP 2020046965A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- control
- feedforward
- command
- feedforward controller
- 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.)
- Granted
Links
Images
Landscapes
- Numerical Control (AREA)
- Feedback Control In General (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
Description
特許文献1には、位置指令値から速度指令のフィードフォワード項を計算して、位置制御器から出力される速度指令に加算する位置フィードフォワード制御器と、位置指令値からトルク指令のフィードフォワード項を計算して、速度制御器から出力されるトルク指令に加算する速度フィードフォワード制御器と、が記載されている。また特許文献1には、位置指令値とフィードバックされた位置検出値との差である位置偏差に基づいて位置フィードフォワード制御器のゲインを学習する学習制御器と、位置偏差又は、速度指令値とフィードバックされた速度検出値との差である速度偏差に基づいて速度フィードフォワード制御器のゲインを学習する学習制御器と、が記載されている。
このため、従来は、位置制御を有効にしながら同時に二つのフィードフォワード(FF)制御器を調整する必要があり、例えば、特許文献1においては、モータ制御装置は、位置フィードフォワード制御に対する学習を行う学習制御器と、速度フィードフォワード制御に対する学習を行う学習制御器とを用いて、位置フィードフォワード制御に対する学習と速度フィードフォワード制御に対する学習とを同時に行っている。また、特許文献2においても、位置フィードフォワード係数α1と速度フィードフォワード係数α2の調整を同時に行っている。
しかしながら、位置フィードフォワード制御に対する学習と速度フィードフォワード制御に対する学習とを同時に行うと、学習のための情報処理量が増大する。一方の学習制御器が位置偏差を低減すべく、位置偏差に基づいて速度指令に対するフィードフォワード項を変更しても、他方の学習制御器が位置偏差に基づいてトルク速度指令に対するフィードフォワード項を変更すると、その変更の影響を受けて位置偏差が変わる。このため、二つの学習制御器の学習が相互に干渉して、二つの学習制御器の学習のための情報処理量が増大する。
また、位置フィードフォワード(FF)制御器、速度フィードフォワード(FF)制御器は、フィードバック(FB)制御器に依存した形で調整されるので、例えば、フィードバック(FB)制御器のゲインを変えるとフィードフォワード(FF)制御器も再度調整しなければならないという問題があった。
以下、本発明の実施形態について図面を用いて詳細に説明する。
図1は発明の第1の実施形態の制御システムを示すブロック図である。制御システム10は、図1に示すように、モータ制御装置100、フィードフォワード制御器導出装置200、機械学習装置3000、制御装置400を備えている。ここで制御装置400は、例えば、工作機械等を制御する数値制御装置やロボットを制御するロボット制御装置等の上位の制御装置である。以下、フィードフォワード制御器導出装置200を「FF制御器導出装置200」ともいう。
モータ制御装置100、FF制御器導出装置200、及び機械学習装置3000は1対1の組とされてそれぞれ通信可能に接続される。また、モータ制御装置100は制御装置400に接続される。モータ制御装置100、FF制御器導出装置200、及び機械学習装置3000は、例えば、接続インタフェースを介して直接接続されてもよい。また、ネットワーク(図示せず)を介して接続されてもよい。なお、ネットワークは、例えば、工場内に構築されたLAN(Local Area Network)や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワークにおける具体的な通信方式や、有線接続及び無線接続のいずれであるか等については、特に限定されない。
図2は本発明の第1の実施形態のモータ制御装置100が採用するフルクローズド制御モデルを示すブロック図である。フルクローズド制御モデルを採用することでモータ制御装置100は、工作機械の位置を高精度に制御することができる。
図3は、フルクローズド制御モデルを採用するモータ制御装置100の一例を示すブロック図である。
モータ150は、モータ制御装置の制御対象となる、例えば工作機械,ロボット,産業機械等に含まれる。モータ制御装置100はモータ150とともに、工作機械、ロボット、産業機械等の一部として設けられてもよい。
モータ制御装置100は、例えば、モータ150で連結機構152を介してテーブル153を移動させることで、テーブル153の上に搭載された被加工物(ワーク)を加工する。連結機構152は、モータ150に連結されたカップリング1521と、カップリング1521に固定されるボールねじ1523とを有し、ボールねじ1523にナット1522が螺合されている。モータ150の回転駆動によって、ボールねじ1523に螺着されたナット1522がボールねじ1523の軸方向に移動する。ナット1522の移動によってテーブル153が移動する。
なお、フルクローズド制御に対して、セミクローズド制御と呼ばれる制御がある。これは、図4に示すように、ロータリーエンコーダ151によって検出された信号を積分器(図示せず)で積分することで得られるモータの回転角yM及びモータ速度vMのフィードバック情報に基づいてモータ位置の制御を行う。しかしながら、モータと機械の間には、前述したようにボールねじ1523、カップリング1521、ナット1522のような伝達機構が存在するため、モータ位置は機械位置yLと同じ値とはならず、yMを制御できても、機械位置yLを制御できないことがある。セミクローズド制御モデルについては、後述の<補足説明3>で説明する。
モータ制御装置100は、減算器102、第1制御器としての位置制御器103、加算器104、減算器105、第2制御器としての速度制御器106、第3加算部としての加算器107、積分器108、第1フィードフォワード制御器としての位置フィードフォワード制御器109、及び第2フィードフォワード制御器としての速度フィードフォワード制御器110を備えている。
例えば、制御装置400は、モータ150を動作させるプログラムに基づいて位置指令値y*を作成し、作成した位置指令値y*をモータ制御装置100に入力する。より、具体的には、位置指令値y*は、減算器102、位置フィードフォワード制御器109、速度フィードフォワード制御器110に出力する。減算器102は位置指令値y*と位置フィードバックされた第1検出量としての機械位置yLとの差を求め、その差を位置偏差として位置制御器103に出力する。
制御装置400は、加工プログラムにより指定される加工形状となるように、送り速度を設定して位置指令値y*を作成する。
位置フィードフォワード制御器109は、伝達関数FF(s)で示された位置フィードフォワード処理を行い、その処理結果を第1フィードフォワード制御量としての位置フィードフォワード制御量として、加算器104に出力する。数式1の係数ci、dj(i,j≧0)は位置フィードフォワード制御器109の制御パラメータとしての伝達関数の各係数である。
ここで、位置制御を有効にするため、Kp>0かつFF(s)≠0とする。このように設定することで、機械が暴走する危険もなく、安全な位置制御がなされる。
積分器108は、ロータリーエンコーダ151によって検出された速度検出値であるモータ速度vMを積分して、モータの回転角yMを出力する。
また、前述したように、ボールねじ1523の端部に取り付けられ、ボールねじ1523の移動距離を検出する位置検出器(リニアスケール154)の出力である機械位置yLは位置フィードバックとして減算器102に入力される。なお、伝達関数PL(s)は、モータが発生するトルクTMから機械速度(出力)までの機械の伝達関数を表す。
以上のように、フルクローズド制御モデルを採用するモータ制御装置100は構成される。
次に、FF制御器導出装置200の機能を説明する前に、フルクローズド制御モデルにおいて、位置指令値y*に対して機械位置yLが完全追従する場合(すなわち、y*=yLが成立する場合)における図2で示した伝達関数FF(s)、VFF(s)、PM(s)、PL(s)、CV(s)の間で成り立つ関係式を説明する。
図2を参照して、位置指令値y*に対して機械位置yLが完全追従する場合に、伝達関数FF(s)、VFF(s)、PM(s)、PL(s)、及びCV(s)の間で成り立つ関係式について説明する。以下、PM(s)、CV(s)、PL(s)をそれぞれPM、CV、PLで表す。
vM=PM・CV・FF(s)・y*+PM・VFF(s)・y*−PM・CV・vM
上記の式を変形することで、vMは(数式3)で表される。
他方、yLは、(数式4)で表されることから、(数式4)のvMに(数式3)を代入することで、yLは、(数式5)で表される。
ここで、y*=yLであることから、FF(s)、VFF(s)、PM(s)、PL(s)、及びCV(s)の間で以下の関係式(数式6)がなりたつ。
次に、位置フィードフォワード制御器109の伝達関数FF(s)及び速度フィードフォワード制御器110の伝達関数VFF(s)が、それぞれ、速度制御器106の伝達関数CV(s)に依存しない、伝達関数PM(s)及びPL(s)のみで設定できることについて説明する。
(数式6)の両辺に(1+PMPL)を掛けることで、(数式7)が導出される。
(数式7)をCVでまとめると、(数式8)を得る。
そうすると、FF(s)及びVFF(s)を(数式9)に示すように伝達関数PM(s)及びPL(s)に基づいて設定することで、速度制御器106の伝達関数CV(s)に依存しない、位置フィードフォワード制御器109の伝達関数FF(s)及び速度フィードフォワード制御器110の伝達関数VFF(s)を得ることができる。
フルクローズド制御モデルにおいて、FF制御器導出装置200は、(数式6)乃至(数式7)を用いることで、モータの伝達関数PM(s)及び機械の伝達関数PL(s)を以下の手順で算出することができる。
これにより、FF制御器導出装置200は、モータの伝達関数PM(s)及び機械の伝達関数PL(s)をCV1、CV2、VFF1、VFF2により算出することができる。
参考のために、連立方程式(数式10)及び(数式11)から、PM(s)及びPL(s)を算出する手順について簡単に説明する。
まず、(数式10)の両辺にCV2を掛け、(数式11)の両辺にCV1を掛けて、両者の引き算をすることで、PMを消去することで、PLを(数式13)に示すように求めることができる。
次に、(数式10)から(数式11)の引き算をして、両辺に(CV1−CV2)を加算すると、
CV1−CV2+VFF1−VFF2
=(CV1−CV2)+(CV1−CV2)(PM(s)−PL(s))/PL(s))
となることから、
(CV1−CV2+VFF1−VFF2)PL(s)=(CV1−CV2)PM(s)
となる。
これに、(数式13)に示すPL(s)を代入することで、PM(s)が(数式12)に示すように求めることができる。
FF制御器導出装置200は、(数式12)及び(数式13)により算出されるモータの伝達関数PM(s)及び機械の伝達関数PL(s)から(数式9)に基づいて、速度制御器106の伝達関数CV(s)に依存しない、位置フィードフォワード制御器109の伝達関数FF(s)及び速度フィードフォワード制御器110の伝達関数VFF(s)を算出することができる。
上記説明において、位置フィードフォワード制御器109の伝達関数FF(s)=sと固定して、VFF1(s)及びVFF2(s)を調整しているが、FF(s)=sに固定することに限られない。FF(s)として、(0でない)任意の伝達関数を設定してもよい。この場合においても、(数式7)及び(数式8)から、VFF(s)が求められる。また、連立方程式(数式10)及び(数式11)と同様にして、連立方程式を解くことができる。
上記説明では、位置フィードフォワード制御器109の伝達関数FF(s)を固定して、速度制御器106の伝達関数CV1及びCV2を2つ用意して、位置偏差を0とするように、速度フィードフォワード制御器110の最適な伝達関数VFF1(s)及びVFF2(s)を調整したが、これに限られない。
逆に、速度フィードフォワード制御器110の伝達関数VFF(s)を固定(例えば、VFF(s)=s2)して、速度制御器106の伝達関数CV1及びCV2を2つ用意して、伝達関数CV1により設定される速度制御器106−1及び伝達関数CV2により設定される速度制御器106−2ごとに、位置偏差を0とする、最適な位置フィードフォワード制御器109−1(伝達関数FF1(s))及び位置フィードフォワード制御器109−2(FF2(s))を求めるようにしてもよい。この場合においても、(数式7)乃至(数式8)から、FF1(s)及びFF2(s)が求められ、これから、連立方程式(数式10)及び(数式11)と同様の方法で、伝達関数PM(s)及び伝達関数PL(s)に係る連立方程式を導出することで、伝達関数PM(s)及び伝達関数PL(s)を算出することができる。
前述したように、図4に示すセミクローズド制御は、ロータリーエンコーダ151によって検出された信号を積分器(図示せず)で積分することで得られるモータの回転角yM及びモータ速度vMのフィードバック情報に基づいてモータ位置の制御を行う。しかしながら、モータと機械の間には、前述したようにボールねじ1523、カップリング1521、ナット1522のような伝達機構が存在するため、必ずしもモータ位置は機械位置yLと同じ値とはならず、yMを制御できても、機械位置yLを制御できないことがある。
ただし、機械の剛性が高く、モータの伝達特性=機械の伝達特性(すなわち、PM(s)=PL(s))となる場合には、モータ位置と機械位置とが一致する。この場合は、PM(s)=PL(s)とすることで、フルクローズド制御モデルが適用可能となる。
次に、上述した伝達関数間に成り立つ関係式等を参照しながら、FF制御器導出装置200について説明する。
図5は、本発明の実施形態のFF制御器導出装置200を示すブロック図である。フルクローズド制御モデルを採用するモータ制御装置100における未知の制御対象の特性(具体的には、モータの伝達関数PM(s)及び機械の伝達関数PL(s))を同定するとともに、フィードバック制御器(速度制御器106)に依存しない位置フィードフォワード制御器109及び速度フィードフォワード制御器110を導出するために、図5に示すように、FF制御器導出装置200は、第2制御パラメータ取得部201と、特性同定部202と、制御パラメータ算出部203と、を備える。
ここで、第2制御パラメータ取得部201は、モータ制御装置100に対して、位置フィードフォワード制御器109における固定される制御パラメータ(すなわち、伝達関数FF(s))の設定、並びに速度制御器106−1及び速度制御器106−2に対してそれぞれ異なる伝達関数CV1(s)及びCV2(s)の設定を行うようにしてもよい。
また、予め、モータ制御装置100が、位置フィードフォワード制御器109における固定される制御パラメータ(FF(s))、並びに異なる複数の異なる速度制御器106−1及び速度制御器106−2を備えるようにしてもよい。
第2制御パラメータ取得部201は、後述の機械学習装置3000(機械学習部300)に機械学習させることで、機械学習装置3000から機械学習結果としての(最適化された)速度フィードフォワード制御器110の伝達関数VFF1(s)及びVFF2(s)を取得してもよい。機械学習装置3000による学習については、後述する。
なお、第2制御パラメータ取得部201は、機械学習ではなく、例えば、熟練の経験者がパラメータを調整することで求めた最適な速度フィードフォワード制御器110の伝達関数VFF1(s)及びVFF2(s)を入力部(図示せず)を介して取得するようにしてもよい。
特性同定部202は、算出した伝達関数PM(s)及び伝達関数PL(s)を記憶部(図示せず)に記憶するようにしてもよい。また、表示器(図示せず)に表示するようにしてもよい。
さらに、制御パラメータ算出部203は、算出した伝達関数FF(s)及び伝達関数VFF(s)をそれぞれ、モータ制御装置100に対して、位置フィードフォワード制御器109及び速度フィードフォワード制御器110に設定するように、送信(又は入力)してもよい。
以上により、FF制御器導出装置200は、モータ制御装置100において、制御対象の特性(モータの伝達特性、及び機械の伝達特性)を同定するとともに、速度制御器106に依存しない位置フィードフォワード制御器109及び速度フィードフォワード制御器110を、位置制御を無効にせず、安全に導出することができる。
上記の説明では、FF制御器導出装置200(第2制御パラメータ取得部201)は、位置フィードフォワード制御器109における制御パラメータ(すなわち、伝達関数FF(s))を固定して(例えば、FF(s)=s)、それぞれ異なる制御パラメータ(すなわち、伝達関数CV1(s)及びCV2(s))がそれぞれ適用された、速度制御器106−1(伝達関数CV1(s)に対応)及び速度制御器106−2(伝達関数CV2(s)に対応)ごとに、位置偏差が0となる(より具体的には、位置偏差の評価値が所定の閾値以下となる)ように、速度フィードフォワード制御器110−1の伝達関数VFF1(s)及び速度フィードフォワード制御器110−2の伝達関数VFF2(s)を取得したが、これに限られない。
「補足説明2」で説明したように、FF制御器導出装置200Aは、位置フィードフォワード制御器109の伝達関数FF(s)に換えて、速度フィードフォワード制御器110の伝達関数VFF(s)を固定(例えば、VFF(s)=s2)して、速度制御器106の伝達関数CV1及びCV2を2つ用意して、伝達関数CV1により設定される速度制御器106−1及び伝達関数CV2により設定される速度制御器106−2ごとに、位置偏差を0とする、最適な位置フィードフォワード制御器109−1(伝達関数FF1(s))及び位置フィードフォワード制御器109−2(FF2(s))を求めることで、伝達関数PM(s)及び伝達関数PL(s)を算出してもよい。図6Aは、本発明の実施形態の変形例であるFF制御器導出装置200Aを備える制御システム10Aを示すブロック図である。
また、図6Bは、本発明の実施形態の変形例であるFF制御器導出装置200Aを示すブロック図である。図6Bに示すように、FF制御器導出装置200Aは、特性同定部202Aと、制御パラメータ算出部203Aと、第1制御パラメータ取得部204と、を備える。
ここで、第1制御パラメータ取得部204は、第2制御パラメータ取得部201と同様に、後述の機械学習装置3000(機械学習部300A)に機械学習させることで、機械学習装置3000から機械学習結果としての(最適化された)位置フィードフォワード制御器109の伝達関数FF1(s)及びFF2(s)を取得してもよい。
また、第2制御パラメータ取得部201は、第2制御パラメータ取得部201と同様に、機械学習ではなく、例えば、熟練の経験者がパラメータを調整することで求めた、最適な位置フィードフォワード制御器109の伝達関数FF1(s)及びFF2(s)を入力部(図示せず)を介して取得するようにしてもよい。
以上のように、FF制御器導出装置200Aは構成される。
次に、上述した機械学習装置3000について説明する。図5に示すように、機械学習装置3000は、機械学習部300及び機械学習部300Aを備える。
機械学習部300は、位置フィードフォワード制御器109における制御パラメータ(すなわち、伝達関数FF(s))を固定して(例えば、FF(s)=s)、制御パラメータ(すなわち、伝達関数CV1(s)又はCV2(s))の適用された、速度制御器106−1又は速度制御器106−2に対して、位置偏差が0となる(より具体的には、位置偏差の評価値が所定の閾値以下となる)ように、速度フィードフォワード制御器110−1の伝達関数VFF1(s)又は速度フィードフォワード制御器110−2の伝達関数VFF2(s)を学習する。
他方、機械学習部300Aは、速度フィードフォワード制御器110における制御パラメータ(すなわち、伝達関数VFF(s))を固定して(例えば、VFF(s)=s2)、制御パラメータ(すなわち、伝達関数CV1(s)又はCV2(s))の適用された、速度制御器106−1又は速度制御器106−2に対して、位置偏差が0となる(より具体的には、位置偏差の評価値が所定の閾値以下となる)ように、位置フィードフォワード制御器109−1の伝達関数FF1(s)又は位置フィードフォワード制御器109−2の伝達関数FF2(s)を学習する。
ここでは、機械学習部300について説明する。
機械学習部300は、予め設定された加工プログラム(以下、「学習時の加工プログラム」ともいう)を実行することで、速度フィードフォワード制御器110−1のVFF1(s)又はVFF2(s)の係数を学習する。
ここで、学習時の加工プログラムにより指定される加工形状は、例えば、八角形、又は八角形の角が1つ置きに円弧に置き換えられた形等としてもよい。加工形状はこれに限られない。例えば、円、四角、及び角R付き四角等でもよい。
以下の説明では機械学習部300が強化学習を行う場合について説明するが、機械学習部300が行う学習は特に強化学習に限定されず、例えば、教師あり学習を行う場合にも本発明は適用可能である。
教師あり学習が、完全な正解を示すのに対して、強化学習における報酬は、環境の一部の変化に基づく断片的な値であることが多い。このため、エージェントは、将来にわたっての報酬の合計を最大にするように行動を選択するように学習する。
Q学習では、或る状態Sのとき、取り得る行動Aのなかから、価値Q(S,A)の最も高い行動Aを最適な行動として選択することを目的とする。
この更新式は、状態Stにおける行動Atの価値Q(St,At)よりも、行動Atによる次の状態St+1における最良の行動の価値maxa Q(St+1,A)の方が大きければ、Q(St,At)を大きくし、逆に小さければ、Q(St,At)を小さくすることを示している。つまり、或る状態における或る行動の価値を、それによる次の状態における最良の行動の価値に近づける。ただし、その差は、割引率γと報酬rt+1のあり方により変わってくるが、基本的には、ある状態における最良の行動の価値が、それに至る1つ前の状態における行動の価値に伝播していく仕組みになっている。
「Human-level control through deep reinforcement learning」、Volodymyr Mnih1著[online]、[平成29年1月17日検索]、インターネット〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
以下、伝達関数CV1(s)の適用された速度制御器106−1に対して、速度フィードフォワード制御器110−1の伝達関数VFF1(s)の学習について説明する。
機械学習部300は、モータ制御装置100における、速度フィードフォワード制御器110−1の伝達関数VFF1(s)の各係数ai、bj(i,j≧0)の値、並びに学習時の加工プログラムを実行することで取得されるモータ制御装置100の位置偏差情報、及び位置指令を含む、指令及びフィードバック等のサーボ状態を状態Sとして、当該状態Sに係る、速度フィードフォワード制御器110−1の伝達関数VFF1(s)の各係数ai、bjの値の調整を行動Aとして選択する価値Qを学習する。
上述した強化学習を行うために、図7Aに示すように、機械学習部300は、状態情報取得部301、学習部302、行動情報出力部303、価値関数記憶部304、及び最適化行動情報出力部305を備える。学習部302は報酬出力部3021、価値関数更新部3022、及び行動情報生成部3023を備える。
状態情報取得部301は、取得した状態情報Sを学習部302に対して出力する。
なお、係数ai、bjは予め操作者が工作機械を調整している場合には、調整済の値を初期値として機械学習してもよい。
評価関数fとしては、例えば、
位置偏差の絶対値の積算値を算出する関数
∫|e|dt
位置偏差の絶対値に時間の重み付けをして積算値を算出する関数
∫t|e|dt
位置偏差の絶対値の2n(nは自然数)乗の積算値を算出する関数
∫e2ndt(nは自然数)
位置偏差の絶対値の最大値を算出する関数
Max{|e|}
等を適用することができる。
なお、行動情報Aにより修正された状態情報S´に係る修正後の速度フィードフォワード制御器110−1に基づいて動作したモータ制御装置100の位置偏差の値f(PD(S´))が、行動情報Aにより修正される前の状態情報Sに係る修正前の速度フィードフォワード制御器110−1に基づいて動作したモータ制御装置100の位置偏差の値f(PD(S))と等しい場合は、報酬出力部3021は、報酬の値をゼロとする。
価値関数Qの更新は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移する都度、即座に価値関数Qの更新を行うという学習方法である。また、バッチ学習とは、或る行動Aを現在の状態Sに適用することにより、状態Sが新たな状態S´に遷移することを繰り返すことにより、学習用のデータを収集し、収集した全ての学習用データを用いて、価値関数Qの更新を行うという学習方法である。さらに、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度学習用データが溜まるたびに価値関数Qの更新を行うという学習方法である。
より具体的には、最適化行動情報出力部305は、価値関数記憶部304が記憶している価値関数Qを取得する。この価値関数Qは、上述したように価値関数更新部302−12がQ学習を行うことにより更新したものである。そして、最適化行動情報出力部305は、価値関数Qに基づいて、行動情報を生成し、生成した行動情報をモータ制御装置100(速度フィードフォワード制御器110−1)に対して出力する。この最適化行動情報には、行動情報出力部303がQ学習の過程において出力する行動情報と同様に、速度フィードフォワード制御器110−1の伝達関数VFF1(s)の各係数ai、bjを修正する情報が含まれる。
機械学習部300は、以上の動作で、速度フィードフォワード制御器110−1の伝達関数VFF1(s)の各係数ai、bjの最適化を行い、位置偏差の値を低減するように動作することができる。より具体的には、位置偏差の評価値が所定の閾値(0に近い値)よりも小さな値となるように学習する。
以上のように、本発明に係る機械学習部300を利用することで、モータ制御装置100の速度フィードフォワード制御器110−1のパラメータ調整を簡易化することができる。
なお、機械学習部300の上記説明において、伝達関数CV1(s)及び速度制御器106−1をそれぞれ、伝達関数CV2(s)及び速度制御器106−2に読み換え、伝達関数VFF1(s)及び速度フィードフォワード制御器110−1をそれぞれ伝達関数VFF2(s)及び速度フィードフォワード制御器110−2に読み換えることで、伝達関数CV2(s)の適用された速度制御器106−2に対する速度フィードフォワード制御器110−2の伝達関数VFF2(s)の学習は説明される。
機械学習部300Aは、前述したように、速度フィードフォワード制御器110における制御パラメータ(すなわち、伝達関数VFF(s))を固定して(例えば、VFF(s)=s2)、制御パラメータ(すなわち、伝達関数CV1(s)又はCV2(s))の適用された速度制御器106−1又は速度制御器106−2に対して、位置偏差が0となる(より具体的には、位置偏差の評価値が所定の閾値以下となる)ように、位置フィードフォワード制御器109−1の伝達関数FF1(s)又は位置フィードフォワード制御器109−2の伝達関数FF2(s)を学習する。
このため、機械学習部300Aは、図7Bに示すように、状態情報取得部301A、学習部302A、行動情報出力部303A、価値関数記憶部304A、及び最適化行動情報出力部305Aを備える。また、学習部302Aは報酬出力部3021A、価値関数更新部3022A、及び行動情報生成部3023Aを備える。
以上、機械学習装置3000に含まれる機能ブロックについて説明した。
なお、機械学習装置3000は、機械学習部300及び機械学習部300Aを含むものとして説明したが、これに限られない。機械学習部300を含む機械学習装置と、機械学習部300Aを含む機械学習装置と、を別の装置にしてもよい。
図8は、FF制御器導出装置200の動作の一例に係るフローチャートである。図8のフローチャートを参照して、FF制御器導出装置200によるモータの伝達関数PM(s)及び機械の伝達関数PL(s)の導出及びフィードバック制御器(速度制御器106)の値に限らず、位置偏差を0にすることができ、フィードバック制御器に依存しない位置フィードフォワード制御器109の制御パラメータ及び速度フィードフォワード制御器110の制御パラメータを算出する動作の一例について説明する。
なお、モータ制御装置100は、位置フィードフォワード制御器109における固定される制御パラメータ(FF(s))及び異なる複数の異なる速度制御器106−1及び速度制御器106−2を備えているものとする。
図9に、FF制御器導出装置200Aの動作の一例に係るフローチャートを示す。図9のフローチャートを参照して、FF制御器導出装置200Aの動作の一例について説明する。
なお、モータ制御装置100は、速度フィードフォワード制御器110における固定される制御パラメータ(VFF(s))及び異なる複数の異なる速度制御器106−1及び速度制御器106−2を備えているものとする。
(1)以上のように、本実施形態によれば、例えば、位置制御を有効(Kp>0)にし、位置フィードフォワード制御器109の伝達関数FF(s)を固定(例えばFF(s)=s)し、異なる伝達関数CV1(s)及びCV2(s)を用意して2つの異なる速度制御器106−1(伝達関数CV1(s))と速度制御器106−2(伝達関数CV2(s))ごとに、それぞれ、位置偏差が0となるように最適な速度フィードフォワード制御器110−1の伝達関数VFF1(s)及び速度フィードフォワード制御器110−2の伝達関数VFF2(s)を(例えば、機械学習等で)求めることで、モータの伝達関数PM(s)及び機械の伝達関数PL(s)を導出することができる。
そして、このようにして導出されたモータの伝達関数PM(s)及び機械の伝達関数PL(s)に基づいて、位置制御器103及び速度制御器106に依存しない位置フィードフォワード制御器109(伝達関数FF(s))及び速度フィードフォワード制御器110(伝達関数VFF(s))を算出することができる。
これにより、位置制御器103を無効にせず、安全に、高次の位置フィードフォワード制御器109のパラメータ(伝達関数FF(s))及び速度フィードフォワード制御器110のパラメータ(伝達関数VFF(s))を調整することができる。
さらに、位置フィードフォワード制御器109のパラメータ及び速度フィードフォワード制御器110のパラメータは、同定したモータの伝達関数PM(s)及び機械の伝達関数PL(s)から算出していることから、フィードバック制御器(速度制御器106)の値に限らず、位置偏差を0にすることができ、仮にフィードバック制御器(速度制御器106)を変更する場合であっても、位置フィードフォワード制御器109のパラメータ及び速度フィードフォワード制御器110のパラメータを再度調整する必要がない。
そして、このようにして導出されたモータの伝達関数PM(s)及び機械の伝達関数PL(s)に基づいて、位置制御器103及び速度制御器106に依存しない位置フィードフォワード制御器109(伝達関数FF(s))及び速度フィードフォワード制御器110(伝達関数VFF(s))を算出することができる。
これにより、上記(1)と同様の効果を奏することができる。
上述した実施形態では、FF制御器導出装置200又はFF制御器導出装置200Aを、モータ制御装置100とは別体の装置により構成したが、FF制御器導出装置200又はFF制御器導出装置200Aの機能の一部又は全部をモータ制御装置100により実現するようにしてもよい。また、FF制御器導出装置200又はFF制御器導出装置200Aは別装置ではなく、FF制御器導出装置200又はFF制御器導出装置200Aを1つの装置としてもよい。
また、FF制御器導出装置200又はFF制御器導出装置200Aの機能の一部又は全部を上位の制御装置400により実現するようにしてもよい。
上述した実施形態では、機械学習器300又は機械学習器300Aを、FF制御器導出装置200又はFF制御器導出装置200Aとは別体の装置により構成したが、機械学習器300又は機械学習器300Aの機能の一部又は全部をFF制御器導出装置200又はFF制御器導出装置200Aにより実現するようにしてもよい。また、上述した実施形態では、機械学習装置3000が機械学習器300及び機械学習器300Aを含むようにしたが、機械学習器300又は機械学習器300Aを別の装置としてもよい。
また、機械学習器300又は機械学習器300Aの機能の一部又は全部をモータ制御装置100により実現するようにしてもよい。
また、機械学習器300又は機械学習器300Aの機能の一部又は全部を上位の制御装置400により実現するようにしてもよい。
上述した実施形態では、FF制御器導出装置200又はFF制御器導出装置200Aと機械学習装置3000とモータ制御装置100とが1対1の組として通信可能に接続されているが、例えば1台のFF制御器導出装置200又はFF制御器導出装置200Aが複数のモータ制御装置100とネットワークを介して通信可能に接続され、各モータ制御装置100のFF制御器導出機能を実施するようにしてもよい。その際、FF制御器導出装置200又はFF制御器導出装置200Aの各機能を、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、クラウド上で仮想サーバ機能等を利用して、FF制御器導出装置200又はFF制御器導出装置200Aの各機能を実現してもよい。
同様に、例えば1台の機械学習装置3000が複数のモータ制御装置100とネットワークを介して通信可能に接続され、各モータ制御装置100の機械学習機能を実施するようにしてもよい。
同様に、機械学習装置3000の機械学習部300及び機械学習部300Aを、適宜複数のサーバに分散する、分散処理システムとしてもよい。また、機械学習装置3000の機能の一部又は全部を、適宜複数のサーバに分散するようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、FF制御器導出装置200又はFF制御器導出装置200Aの各機能を実現してもよい。
また、複数の同じ型名、同一仕様、又は同一シリーズのモータ制御装置100−1〜100−nとそれぞれ対応する複数の機械学習装置3000−1〜3000−nがあった場合に、各機械学習装置3000−1〜3000−nにおける学習結果を共有するように構成するようにしてもよい。そうすることで、より最適なモデルを構築することが可能となる。
100 モータ制御装置
102 減算器
103 位置制御器
104 加算器
105 減算器
106 速度制御器
107 加算器
108 積分器
109 位置フィードフォワード制御器
110 速度フィードフォワード制御器
150 モータ
151 ロータリーエンコーダ
152 連結機構
153 テーブル
154 位置検出器(リニアスケール)
3000 機械学習装置
300,300A 機械学習部
301,301A 状態情報取得部
302,302A 学習部
3021,3021A 報酬出力部
3022,3022A 価値関数更新部
3023,3023A 行動情報生成部
303,303A 行動情報出力部
304,304A 価値関数記憶部
305,305A 最適化行動情報出力部
400 制御装置
Claims (9)
- 工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御するモータ制御装置のフィードフォワード制御器導出装置であって、
前記モータ制御装置は、
第1指令及び第1検出量から第1制御量を作成する第1制御器と、
前記第1指令から第1フィードフォワード制御量を作成する第1フィードフォワード制御器と、
前記第1指令から第2フィードフォワード制御量を作成する第2フィードフォワード制御器と、
前記第1制御量と前記第1フィードフォワード制御量とから作成される第2指令に対して、前記第2指令及び第2検出量から第2制御量を作成する第2制御器と、
前記第2制御量及び前記第2フィードフォワード制御量から第3指令を作成する第3加算部と、を備え、
前記フィードフォワード制御器導出装置は、
それぞれ異なる制御パラメータの適用された複数の前記第2制御器ごとに、前記第1指令と前記第1検出量の偏差に基づいて調整された、前記第2フィードフォワード制御器における制御パラメータを取得する第2制御パラメータ取得部と、
前記第2制御パラメータ取得部により取得した、複数の前記第2制御器ごとに調整された前記第2フィードフォワード制御器における制御パラメータに基づいて、制御対象の特性を同定する特性同定部と、
前記特性同定部により同定された制御対象の特性に基づいて第1フィードフォワード制御器(位置FF制御部)及び前記第2フィードフォワード制御器の制御パラメータを算出する制御パラメータ算出部と、
を備える前記モータ制御装置のフィードフォワード制御器導出装置。 - 工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御するモータ制御装置のフィードフォワード制御器導出装置であって、
前記モータ制御装置は、
第1指令及び第1検出量から第1制御量を作成する第1制御器と、
前記第1指令から第1フィードフォワード制御量を作成する第1フィードフォワード制御器と、
前記第1指令から第2フィードフォワード制御量を作成する第2フィードフォワード制御器と、
前記第1制御量と前記第1フィードフォワード制御量とから作成される第2指令に対して、前記第2指令及び第2検出量から第2制御量を作成する第2制御器と、
前記第2制御量及び前記第2フィードフォワード制御量から第3指令を作成する第3加算部と、を備え、
前記フィードフォワード制御器導出装置は、
それぞれ異なる制御パラメータの適用された複数の前記第2制御器ごとに、前記第1指令と前記第1検出量の偏差に基づいて調整された、前記第1フィードフォワード制御器における制御パラメータを取得する第1制御パラメータ取得部と、
前記第1制御パラメータ取得部により取得した、複数の前記第2制御器ごとに調整された前記第1フィードフォワード制御器における制御パラメータに基づいて、制御対象の特性を同定する特性同定部と、
前記特性同定部により同定された制御対象の特性に基づいて第1フィードフォワード制御器及び前記第2フィードフォワード制御器の制御パラメータを算出する制御パラメータ算出部と、
を備える前記モータ制御装置のフィードフォワード制御器導出装置。 - 前記第2制御パラメータ取得部は、さらに
機械学習器又は機械学習器と通信する通信部を備え、
前記機械学習器は、
それぞれ異なる制御パラメータの適用された複数の前記第2制御器ごとに、前記第1指令と前記第1検出量の偏差に基づいて調整された、前記第2フィードフォワード制御器における制御パラメータを学習する、請求項1に記載のフィードフォワード制御器導出装置。 - 前記第1制御パラメータ取得部は、さらに
機械学習器又は機械学習器と通信する通信部を備え、
前記機械学習器は、
それぞれ異なる制御パラメータの適用された複数の前記第2制御器ごとに、前記第1指令と前記第1検出量の偏差に基づいて調整された、前記第1フィードフォワード制御器における制御パラメータを学習する、請求項2に記載のフィードフォワード制御器導出装置。 - 前記制御対象の特性は、サーボモータ、又はスピンドルモータの伝達特性と、工作機械、ロボット、又は産業機械の伝達特性と、を含み、
前記第1指令は位置指令であり、
前記第1検出量は、位置を検出する位置検出部により検出される位置であり、
前記第2指令は速度指令であり、
前記第2検出量は、速度を検出する速度検出部により検出される速度であり、
前記第3指令はトルク指令である、請求項1から請求項4のいずれか1項に記載のフィードフォワード制御器導出装置。 - 請求項1から請求項5の何れか1項に記載のフィードフォワード制御器導出装置を備え、
工作機械、ロボット、産業機械の軸を駆動するサーボモータ、スピンドルモータを制御するモータ制御装置。 - 請求項1から請求項5の何れか1項に記載のフィードフォワード制御器導出装置を備える制御装置。
- 第1指令及び第1検出量から第1制御量を作成する第1制御器と、
前記第1指令から第1フィードフォワード制御量を作成する第1フィードフォワード制御器と、
前記第1指令から第2フィードフォワード制御量を作成する第2フィードフォワード制御器と、
前記第1制御量と前記第1フィードフォワード制御量とから作成される第2指令に対して、前記第2指令及び第2検出量から第2制御量を作成する第2制御器と、
前記第2制御量及び前記第2フィードフォワード制御量から第3指令を作成する第3加算部と、を備える、工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御するモータ制御装置に対して、
コンピュータによる前記モータ制御装置のフィードフォワード制御器導出方法であって、
それぞれ異なる制御パラメータの適用された複数の前記第2制御器ごとに、前記第1指令と前記第1検出量の偏差に基づいて調整された、前記第2フィードフォワード制御器における制御パラメータを取得する第2制御パラメータ取得ステップと、
前記第2制御パラメータ取得ステップにおいて取得した、複数の前記第2制御器ごとに調整された前記第2フィードフォワード制御器における制御パラメータに基づいて、制御対象の特性を同定する特性同定ステップと、
前記特性同定ステップにおいて同定された制御対象の特性に基づいて第1フィードフォワード制御器及び前記第2フィードフォワード制御器の制御パラメータを算出する制御パラメータ算出ステップと、
を備える前記モータ制御装置のフィードフォワード制御器導出方法。 - 第1指令及び第1検出量から第1制御量を作成する第1制御器と、
前記第1指令から第1フィードフォワード制御量を作成する第1フィードフォワード制御器と、
前記第1指令から第2フィードフォワード制御量を作成する第2フィードフォワード制御器と、
前記第1制御量と前記第1フィードフォワード制御量とから作成される第2指令に対して、前記第2指令及び第2検出量から第2制御量を作成する第2制御器と、
前記第2制御量及び前記第2フィードフォワード制御量から第3指令を作成する第3加算部と、を備える、工作機械、ロボット、産業機械のサーボモータ、スピンドルモータを制御するモータ制御装置に対して、
コンピュータによる前記モータ制御装置のフィードフォワード制御器導出方法であって、
それぞれ異なる制御パラメータの適用された複数の前記第2制御器ごとに、前記第1指令と前記第1検出量の偏差に基づいて調整された、前記第1フィードフォワード制御器における制御パラメータを取得する第1制御パラメータ取得ステップと、
前記第1制御パラメータ取得ステップにおいて取得した、複数の前記第2制御器ごとに調整された前記第1フィードフォワード制御器における制御パラメータに基づいて、制御対象の特性を同定する特性同定ステップと、
前記特性同定ステップにおいて同定された制御対象の特性に基づいて第1フィードフォワード制御器及び前記第2フィードフォワード制御器の制御パラメータを算出する制御パラメータ算出ステップと、
を備える前記モータ制御装置のフィードフォワード制御器導出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018175154A JP7101091B2 (ja) | 2018-09-19 | 2018-09-19 | モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018175154A JP7101091B2 (ja) | 2018-09-19 | 2018-09-19 | モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020046965A true JP2020046965A (ja) | 2020-03-26 |
JP7101091B2 JP7101091B2 (ja) | 2022-07-14 |
Family
ID=69901505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018175154A Active JP7101091B2 (ja) | 2018-09-19 | 2018-09-19 | モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7101091B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112083687A (zh) * | 2020-09-11 | 2020-12-15 | 苏州浩智工业控制技术有限公司 | 基于现场总线的速度前馈的过象限补偿方法及装置 |
JP2021174259A (ja) * | 2020-04-24 | 2021-11-01 | 横河電機株式会社 | 制御装置、制御方法および制御プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1056790A (ja) * | 1996-08-08 | 1998-02-24 | Mitsubishi Electric Corp | 電動機制御方法及び電動機制御装置 |
CN103853098A (zh) * | 2014-03-19 | 2014-06-11 | 南京埃斯顿自动控制技术有限公司 | 一种应用于雕铣机的伺服位置控制方法 |
JP2015015844A (ja) * | 2013-07-05 | 2015-01-22 | ファナック株式会社 | フィードフォワード制御を備えたモータ制御装置 |
-
2018
- 2018-09-19 JP JP2018175154A patent/JP7101091B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1056790A (ja) * | 1996-08-08 | 1998-02-24 | Mitsubishi Electric Corp | 電動機制御方法及び電動機制御装置 |
JP2015015844A (ja) * | 2013-07-05 | 2015-01-22 | ファナック株式会社 | フィードフォワード制御を備えたモータ制御装置 |
CN103853098A (zh) * | 2014-03-19 | 2014-06-11 | 南京埃斯顿自动控制技术有限公司 | 一种应用于雕铣机的伺服位置控制方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021174259A (ja) * | 2020-04-24 | 2021-11-01 | 横河電機株式会社 | 制御装置、制御方法および制御プログラム |
US11960267B2 (en) | 2020-04-24 | 2024-04-16 | Yokogawa Electric Corporation | Control apparatus, control method, and storage medium |
JP7484382B2 (ja) | 2020-04-24 | 2024-05-16 | 横河電機株式会社 | 制御装置、制御方法および制御プログラム |
CN112083687A (zh) * | 2020-09-11 | 2020-12-15 | 苏州浩智工业控制技术有限公司 | 基于现场总线的速度前馈的过象限补偿方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP7101091B2 (ja) | 2022-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628355B (zh) | 伺服控制装置及系统、机器学习装置及方法 | |
JP6474449B2 (ja) | 調整装置及び調整方法 | |
US10824121B2 (en) | Machine learning device, servo motor controller, servo motor control system, and machine learning method | |
JP6490131B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6740277B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6474456B2 (ja) | 機械学習装置、サーボ制御システム及び機械学習方法 | |
JP6849643B2 (ja) | 出力装置、制御装置、及び評価関数と機械学習結果の出力方法 | |
JP6784722B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP6740278B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 | |
JP6740279B2 (ja) | 調整装置及び調整方法 | |
JP2018169695A (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6806746B2 (ja) | モータ制御装置 | |
JP2019164484A (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6860541B2 (ja) | 出力装置、制御装置、及び評価関数値の出力方法 | |
JP2021039648A (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
KR20190121972A (ko) | 계산 토크 방식 제어기, 이의 파라미터 결정 및 성능 평가 방법 | |
JP7101091B2 (ja) | モータ制御装置のフィードフォワード制御器導出装置、モータ制御装置、制御装置、及びフィードフォワード制御器導出方法 | |
CN111033396A (zh) | 用于模型预测控制的控制参数的设定方法 | |
JP2020035213A (ja) | 機械学習装置、制御システム及び機械学習方法 | |
JP2021047556A (ja) | 物体移動装置、工作機械、情報処理装置、情報処理方法および情報処理プログラム | |
Li et al. | Position‐based force tracking adaptive impedance control strategy for robot grinding complex surfaces system | |
JP2019140765A (ja) | 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法 | |
Agrawal et al. | Enhancing Human-Robot Interaction through PID Control and Sensor Integration | |
JP6740290B2 (ja) | 機械学習装置、制御装置、及び機械学習方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210713 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220427 |
|
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: 20220531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220704 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7101091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |