Nothing Special   »   [go: up one dir, main page]

JP3805476B2 - Motor control device - Google Patents

Motor control device Download PDF

Info

Publication number
JP3805476B2
JP3805476B2 JP13001297A JP13001297A JP3805476B2 JP 3805476 B2 JP3805476 B2 JP 3805476B2 JP 13001297 A JP13001297 A JP 13001297A JP 13001297 A JP13001297 A JP 13001297A JP 3805476 B2 JP3805476 B2 JP 3805476B2
Authority
JP
Japan
Prior art keywords
motor
value
command value
motor control
time
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.)
Expired - Fee Related
Application number
JP13001297A
Other languages
Japanese (ja)
Other versions
JPH10323070A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP13001297A priority Critical patent/JP3805476B2/en
Publication of JPH10323070A publication Critical patent/JPH10323070A/en
Application granted granted Critical
Publication of JP3805476B2 publication Critical patent/JP3805476B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Feedback Control In General (AREA)
  • Control Of Position Or Direction (AREA)
  • Control Of Electric Motors In General (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、自動搬送機、自動組立機などの自動機械や産業用ロボットなどに用いられるモータ制御装置に関する。
【0002】
【従来の技術】
産業用に用いられる一般の自動機では、生産性向上のため、動作の高速化が強く望まれているが、モータが出せるトルクや速度には上限があり、モータの仕様によって制約される。また、自動機による作業の品質を保証するためには、指令値への追従精度も、指定許容値以下に抑えておかなければならないなど、自動機が行う作業からの要求によってもモータの動きは制約を受ける。このため、上記のようなモータの仕様や作業上の要求から決まる制約条件を満たす範囲内で出来る限り高速に動作させる指令値を生成する必要がある。
【0003】
このような動作の高速化を実現するための指令値生成方法は、ロボットの分野で研究されており、例えば、図9は「空間経路が指定されるマニピュレータ動作の時間短縮」(計測自動制御学会論文集 第22巻10号 昭和61年10月発行)に記された方法を説明するための模式図である。
【0004】
ここで説明する例では、制約条件として、モータトルクを許容値以下に抑えることと指令値への追従誤差を許容値以下に抑えることを考えている。制約を受ける変数を被制約変数と呼ぶことにすると、ここでの被制約変数はモータトルクと指令値への追従誤差となる。
【0005】
図9において、1はモータ、2はモータによって駆動される機械、3はモータ1を指令値に追従するように制御するモータ制御手段である。また、4はモータ1の所望の動作を指定する基準指令値を記憶しておく基準指令値記憶手段、5は基準指令値を時間軸方向に伸縮してモータ制御手段3に与える指令値を算出する指令値算出手段である。6は時間スケール関数を記憶しておく時間スケール関数記憶手段であり、指令値算出手段5においては、この時間スケール関数に基づいて時間軸の伸縮を行う。7はモータ1、機械、及びモータ制御手段3の特性をモデル化したモータ制御モデル、8はそのモータ制御モデル7に基づいて、被制約変数であるモータトルク、及び指令値への追従誤差を予測する予測モデル、9はその予測モデル8の出力に基づいて、時間スケール関数を最適化する最適化手段である。10は指令値生成手段であり、図9に示すように、基準指令値記憶手段4、指令値算出手段5、時間スケール関数記憶手段6、及び最適化手段9により構成される。さらに、11はモータトルクの上限であるトルク許容値、12は指令値への追従誤差の上限である誤差許容値である。
【0006】
次に、図9に示した従来のモータ制御装置の作用を説明する。
【0007】
基準指令値r(τ)は、例えば、図10(b)の上図に示したように、時間τの関数として与えられ、モータの位置の動きを時間τの関数として記述したものである。この基準指令値r(τ)では、動作の始めと終わりでは緩やかな動きとなっているためモータの負荷はあまり大きくないが、中央付近では急激な動きとなっておりモータの負荷も大きくなる。このような基準指令値r(τ)に対して、モータ負荷の小さい所では、基準指令値r(τ)を時間軸方向に縮めることにより動作を高速化することができる。逆に、モータ負荷の大きい所では、時間軸を伸ばすことにより、モータ負荷を軽減し、モータ負荷が許容値を越えないようにする必要がある。
【0008】
このように、モータの負荷に応じて基準指令値r(τ)を時間軸方向に伸縮することにより、モータ負荷が許容値を越えない範囲で高速の動作を実現する指令値r(t)を生成することができる。図10(b)下図は、このようにして生成した指令値r(t)の例を示している。以下の説明において、時間軸を伸縮する前の時間τを仮想時間、伸縮した後の時間tを実時間と呼ぶことにする。
【0009】
また、上記のように基準指令値r(τ)を時間軸方向に伸縮する度合いを示す関数を、時間スケール関数κ(τ)と呼ぶことにする。時間スケール関数κ(τ)は仮想時間τの関数として定義する。上記の基準指令値に対する時間スケール関数κ(τ)の例を、図10(a)に示す。仮想時間τと実時間tは時間スケール関数によって
dt/dτ=κ(τ)
と関係付けられる。すなわち、時間スケール関数κ(τ)が1より大きい所では時間を伸ばし、1より小さい所では時間を縮めることになる。
【0010】
基準指令値記憶手段4及び時間スケール関数記憶手段6には、それぞれ、上記のような基準指令値r(τ)と時間スケール関数κ(τ)とが記憶されており、指令値算出手段5では、両者に基づいてモータ制御手段3に与えられる指令値r(t)が生成される。時間スケール関数κ(τ)は、モータを動かす前に予め計算され、時間スケール関数記憶手段6に記憶されている。
【0011】
時間スケール関数κ(τ)は、以下のようにして生成される。
【0012】
モータ制御モデル7は、モータ1と、モータ1によって駆動される機械2及びモータ制御手段3の特性をモデル化したものであり、予測モデル8では、指令値算出手段5により生成された指令値をモータ制御手段3に与えた時のモータトルクと指令値への追従精度を、このモータ制御モデル7に基づいて予測する。
【0013】
最適化手段9では、予測モデル8で予測されるモータトルクと追従誤差がその許容値を超えない範囲内で、基準指令値で指定された動作をできるだけ短時間で終了するような時間スケール関数κ(τ)を算出する。指定された動作を終了するのに要する時間は

Figure 0003805476
で計算できるから、最適化手段6では、これを最小にするように時間スケール関数κ(τ)を決定する。但し、τ0は仮想時間における動作開始時刻、τ1は動作終了時刻である。以上のような、モータトルク、追従誤差等がその許容値を越えないという条件の下で、上式(1)の評価関数を最小化する時間スケール関数κ(τ)は、数理計画法における制約条件付き非線形最適化問題を解くことにより求めることができる。
【0014】
上述の従来方法の作用と問題点をより具体的に示すために、シミュレーションを行った結果を以下に示す。シミュレーションには、図11に示す簡単な1軸のモータ駆動系を用いた。図11において、1はモータ、45はモータで駆動される機械に相当する慣性負荷で、モータ1と慣性負荷45は剛体の軸43で接続されている。また、3はモータ制御手段であり、モータ1に付いている速度検出器41と位置検出器42によって検出されるモータ速度と位置のフィードバック制御を行っており、指令値に追従してモータ1を制御するように構成されている。図12に、基準指令値を示す。基準指令値としては、停止状態から2秒で1ラジアン回転して停止するものを用いた。
【0015】
図13に、基準指令値をそのまま指令値としてモータ制御手段3に入力した場合のシミュレーション結果を示す。図13(a)の破線は、モータ制御手段3に入力された指令値、実線は指令値に追従して動作するモータ1の位置を示している。図13(b)はモータトルクであり、図13(c)は指令値への追従誤差を示している。図13(b)、図13(c)において、モータトルクと追従誤差はそれぞれの許容値で正規化して示してあり、−1〜+1が許容範囲に相当する。図13(d)は時間スケール関数κ(τ)であり、この場合、時間軸の伸縮を行っていないので、時間スケール関数κ(τ)は1となっている。図13(b)のモータトルクの最大値は許容値の約半分、図13(c)の追従誤差の最大値は許容値の約8割であり、許容値に対して余裕があることが分かる。
【0016】
図14に、最適化手段9により最適化された時間スケール関数を用いて指令値を生成した場合のシミュレーション結果を示す。移動時間は基準指令値の2秒から1.2秒に短縮されている。また、動作の始めと終わりで、モータトルクが許容値に達し、中間部分では追従誤差が許容値に達しており、制約条件を満たす範囲内で最大限の動作の高速化が行われている。
【0017】
従来の動作高速化方法は上記のように構成されており、モータトルクや指令値への追従誤差を許容値以下に抑えながら、式(1)の評価関数を最小化する時間スケール関数を最適化手段9で算出している。
【0018】
ところが、上記従来方法では、モータ制御モデル7に基づいて時間スケール関数を算出しているため、上記モータ制御モデル7と実際のモータ制御系の特性にモデル化誤差があると、上記予測モデル8によって予測される被制約変数の値と実際の被制約変数の値が一致しなくなる。このため、被制約変数の予測値が許容値を越えていなくても、実際の値は制約条件を満足しない場合が生じる。例えば、機械2の剛性が低く振動しやすい場合には、動作を高速化することにより、機械振動を発生しやすくなり、振動の影響で制約条件を満足しなくなる可能性がある。また、摩擦や重力などモデル化困難な外乱を受ける系についても、摩擦や重力に抗して機械を駆動する必要があるため、上記予測モデル8で予測されるモータトルクよりも大きなトルクを必要とする。
【0019】
このような問題点を具体的に示すために、上述のようにして算出した時間スケール関数κ(τ)を用いて生成した指令値r(t)を剛性の低い機械に適用した場合のシミュレーション結果を、図15に示す。図16はシミュレーションに用いた剛性の低い機械系のモデルであり、モータ1と慣性負荷45が剛性の低い軸44で接続されている他は図11と同じである。
【0020】
図15のシミュレーション結果を見ると、機械振動によりモータトルクが許容値を越えており、制約条件を満足していないことが分かる。図17は予測値と実際の値とを同じグラフにプロットしたものである。図17(a)はモータトルク、図17(b)は指令値への追従誤差を示しており、これら各図において、実線はモータ制御モデル7と予測モデル8に基づいて予測した予測値を示しており、破線は実際にモータを動かした時の値を示している。モータ制御モデル7には振動特性が含まれていないので、機械振動の影響を予測することが出来ず、実際の被制約変数の値を正確には予測できていない。特に、モータトルクの予測誤差が大きくなっている。
【0021】
【発明が解決しようとする課題】
以上のように、上記従来方法では、モータ制御系のモデルを用いて時間スケール関数を算出し、これに基づいて指令値を生成しているため、モデル化誤差がある場合には、制約条件を満足しない指令値が求まってしまうという問題点があった。
【0022】
また、モータ制御モデル7に振動モデルや外乱モデルを含めることにより、より正確なモデルを用いて時間スケール関数を求める方法も考えられるが、そのためには、機械の振動特性や外乱特性を正確に同定する必要がある。現実には、機械の振動特性や外乱特性を正確に同定するのは容易ではないばかりか、経時変化によりこれらの特性が変動する可能性もあり、その都度特性を同定する必要があり、多くの手間を要するという問題点がある。
【0023】
また、制約条件を満足する範囲内で出来るだけ動作を高速化する指令値を生成するには、制約条件付きの非線形最適化問題を解く必要があるが、この計算アルゴリズムは複雑で多くの計算時間を必要としていた。特に、産業用に用いられるロボットや自動機では、複数軸の同期動作を必要とするものが多く、このような多軸同期システムに対して最適指令値を算出するためには、軸数の二乗に比例して計算量が増えるため、軸数が多くなるに従って膨大な計算時間を必要とするという問題点があった。
【0024】
本発明はこのような問題点を解決するためになされたものであり、モータで駆動される機械の剛性が低く振動しやすい場合や、摩擦や重力などの外乱が加わる場合でも、制約条件を逸脱することなく、動作の高速化を実現する指令値をより少ない計算量で生成するモータ制御装置を得ることを目的としている。
【0025】
【課題を解決するための手段】
請求項1に記載された発明に係るモータ制御装置は、従来のモータ制御装置に、実際にモータを動かして計測した被制約変数とその許容値とを比較する比較手段と、上記比較手段の出力により被制約変数の許容値を修正する許容値修正手段とを付加するように構成したものである。
【0026】
請求項2に記載された発明に係るモータ制御装置は、計測値がその許容値を越えている時には、対応する許容値を小さく修正し、修正した許容値を用いて指令値生成手段により指令値を算出するように構成したものである。
【0027】
請求項3に記載された発明に係るモータ制御装置は、前記モータとモータによって駆動される機械系及び前記指令値に追従するようにモータを制御するモータ制御手段からなるモータ制御系の特性が正確に分かっている周波数領域を第一の周波数領域、特性が正確には分かっていない周波数領域を第二の周波数領域とし、図9に示した従来のモータ制御装置において、モータ制御モデルを該モータ制御モデルの上記第一の周波数領域での特性を近似する近似モデルに置き換え、前記近似モデルを用いて前記被制約変数の値を予測する第一の予測モデルに加えて、前記近似モデルに基づいてモータトルクの前記第二の周波数領域の周波数成分を予測する第二の予測モデルを付加し、指令値生成手段において、前記第一の予測モデルから出力される被制約変数の予測値を設定された許容値以下に抑えつつ、所望の動作を行うのに要する動作時間の長さと前記第二の予測モデルの出力の大きさとを同時に小さくするような指令値を生成するように構成したものである。
【0028】
請求項4乃至請求項6に記載された発明に係るモータ制御装置は、請求項3に記載された発明において、指令値生成手段を、所望の動作を記述する基準指令値を記憶する基準指令値記憶手段と、基準指令値を時間軸方向に伸縮してモータ制御手段に与える指令値を生成する指令値算出手段と、前記基準指令値を時間軸方向に伸縮する割合を表現する時間スケール関数を記憶する時間スケール関数記憶手段と、前記時間スケール関数を生成する最適化手段とから構成し、前記最適化手段において、前記第一の予測モデルから出力される被制約変数の予測値を設定された許容値以下に抑えつつ、所望の動作を行うのに要する動作時間の長さと前記第二の予測モデルの出力の大きさとを同時に小さくするような時間スケール関数を生成するように構成したものである。
【0029】
請求項7に記載された発明に係るモータ制御装置は、図9に示した従来のモータ制御装置において、モータ制御モデルを、該モータ制御モデルのモータで駆動される機械系の固有振動数以下の特性を近似する近似モデルに置き換え、前記近似モデルを用いて前記被制約変数の値を予測する第一の予測モデルに加えて、前記近似モデルに基づいてモータトルクの前記機械系の固有振動数以上の周波数成分を予測する第二の予測モデルを付加し、指令値生成手段において、前記第一の予測モデルから出力される被制約変数の予測値を設定された許容値以下に抑えつつ、所望の動作を行うのに要する動作時間の長さと前記第二の予測モデルの出力されるモータトルクの高周波成分の大きさとを同時に小さくするような指令値を生成するように構成したものである。
【0032】
請求項1又は2に記載された発明に係るモータ制御装置では、実際にモータを動かして計測した被制約変数の値をその許容値と比較して、許容値を修正することにより、実際のモータに予測困難な摩擦などの外乱が作用する場合でも、制約条件を満足する指令値を得ることができる。
【0033】
請求項3乃至請求項6の何れかに記載された発明に係るモータ制御装置では、上記近似モデルはモータ制御系の特性が正確に分かっている第一の周波数領域でのモータ制御系の特性を近似している。従って、モータの動作周波数領域を前記第一の周波数領域に制限すれば、上記近似モデルは実際のモータ制御システムの良い近似になっており、予測モデルによって出力される予測値は実際のモータの動きと良く一致する。しかるに、最適化手段では、時関スケール関数を小さくするだけでなく、第二の予測モデルにより予測されるモータトルクの前記第二の周波数領域の周波数成分をも小さくするような時間スケール関数を算出するから、このような時間スケール関数を用いて生成された指令値には、前記第二の周波数領域の周波数成分は殆ど含まれていない。従って、上述のように生成された指令値を用いてモータを駆動すれば、モータの動作周波数領域を前記第一の周波数領域に制限することができ、予測モデルにより実際のモータの動きを正確に予測できることから、モータ制御系の特性が完全には分かっていなくても、制約条件を逸脱しない指令値を生成することができる。
【0034】
請求項7に記載された発明に係るモータ制御装置では、請求項2又は請求項3に記載されたモータ制御装置において、前記第一の周波数領域をモータで駆動する機械系の概略の固有振動数以下の周波数領域とし、第二の周波数領域を前記機械系の概略の固有振動数以上の周波数領域としたものである。これにより、機械系の固有振動数以上の高周波成分は殆ど含まない指令値を生成できることから、剛性が低く振動しやすい機械に対しても、振動を起こさず、制約条件を満足する指令値を生成することができる。
【0037】
【発明の実施の形態】
以下、添付図面を参照して本発明の実施の形態について説明する。尚、以下の説明において、図9に示した従来の制御装置と同一部分には同一の符号を付している。
【0038】
実施の形態1.
図1は本発明の実施の形態1によるモータ制御装置の構成を示すブロック図である。図1において、符号11はモータ1の仕様から決まるモータトルクの許容値umax、12は作業上の要求から決まる指令値への追従誤差の許容値emax、13はモータ1を実際に動かして被制約変数であるモータトルクと指令値への追従誤差を計測する被制約変数計測手段、14は計測したモータトルクの絶対値の最大値を検出する第一の最大値検出手段、15は計測した追従誤差の絶対値の最大値を検出する第二の最大値検出手段、16は第一の最大値検出手段14の出力とモータトルクの許容値umaxの比Kuを算出する第一の比較手段、17は第二の最大値検出手段15の出力と追従誤差の許容値emaxとの比Keを算出する第二の比較手段、18は上記第一の比較手段16の出力Kuに基づいて上記モータトルクの許容値の設定値を修正する第一の許容値修正手段、19は上記第二の許容値比較手段17から出力される比Keに基づいて上記追従誤差の許容値の設定値を修正する第二の許容値修正手段、20は第一の許容値修正手段16により修正されたモータトルクの修正許容値、21は第二の許容値修正手段17により修正された追従誤差の修正許容値である。
【0039】
次に、この実施の形態の作用について説明する。まず、最初は、上記モータトルクの修正許容値20及び追従誤差の修正許容値21には、それぞれ、本来のモータトルクの許容値11と本来の追従誤差の許容値12が設定されており、最適化手段9において、これらを用いて上記従来例に示した方法により時間スケール関数が算出され、時間スケール関数記憶手段6に記憶される。
【0040】
次に、基準指令値とこの時間スケール関数とに基づいて、指令値算出手段5により指令値が生成され、モータが駆動される。これと同時に、モータトルクと指令値への追従誤差が被制約変数計測手段13により計測される。計測されたモータトルクは前記第一の最大値検出手段14でその絶対値の最大値が検出され、さらに第一の比較手段16に入力され、上記第一の比較手段16の出力Kuが算出される。同様に、上記計測された追従誤差は上記第二の最大値検出手段15及び第二の許容値比較手段17に入力され、上記比Keが算出される。
【0041】
上記第一の比較手段16の出力Kuが1より大きいときは、計測されたモータトルクがその許容値11より大きくなっていることを意味する。このときは、上記第一の許容値修正手段18により、上記修正許容値20の値が小さくなるように修正される。例えば、(以前の修正許容値/Ku)を新たな修正許容値とするように修正される。これと同様に、比Keが1より大きい時には、上記第二の許容値修正手段19により、追従誤差の修正許容値21の値が小さくなるように修正される。
【0042】
さらに、このようにして修正された修正許容値20、21を用いて最適化手段9によって、時間スケール関数が算出される。つまり、実際にモータ1を動かして計測した被制約変数が制約条件を満足していない場合には、制約条件を厳しく設定し直して、指令値を生成している。
【0043】
これにより、上記モータ制御モデル7にモデル化誤差がある場合でも、実際に計測して得られた被制約変数が許容値以下になるような指令値を生成することができる。
【0044】
実施の形態2.
図2は、本発明の実施の形態2によるモータ制御装置の構成を示すブロック図である。図2において、符号22は、モータと、モータによって駆動される機械系及びモータ制御手段からなるモータ制御系の、上記機械系の固有振動数以下の周波数領域における特性を近似する近似モデルである。
【0045】
モータ制御系の特性は、低周波領域の特性を比較的正確に知ることができるが、高周波領域の特性を正確に同定するのは困難である。特に、機械系の固有振動数以上の周波数領域では、高次の振動モードなどの影響があり、特性の同定が困難となる。また、経時変化により振動特性が変動する可能性もある。そこで、本実施の形態2では、機械系の固有振動数以下の周波数領域の特性が正確に分かっているものと仮定している。以下、機械系の固有振動数以下の周波数領域を第一の周波数領域、固有振動数以上の周波数領域を第二の周波数領域とする。
【0046】
図2において、符号8は上記近似モデル22に基づいて、被制約変数であるモータトルクと追従誤差を予測する第一の予測モデル、23は上記近似モデル22に基づいてモータトルクの前記第二の周波数領域の周波数成分、すなわち、機械系の固有振動数より高い周波数領域の周波数成分を出力する第二の予測モデルである。
【0047】
26は、前記第一の予測モデル8と第二の予測モデル23に基づいて時間スケール関数を生成する最適化手段である。この最適化手段26では、前記第一の予測モデルにより予測される制約変数の値が許容値以下になる範囲内で、評価関数
Figure 0003805476
が最小となる時間スケール関数κ(τ)を生成する。ここで、τ0は仮想時間における動作開始時刻、τ1は動作終了時刻、j(τ)は上記第二の予測モデルから出力されるモータトルクの第二の周波数領域の周波数成分、W0は定数である。上式(4)の第一項は、基準指令値で与えられる所望の動作を行うのに要する動作時間の長さを評価する第一の評価関数25であり、第二項は前記第二の予測モデルの出力の大きさを評価する第二の評価関数24であり、最適化手段26では、両者の和が最小となるように時間スケール関数を算出する。
【0048】
次に、この実施の形態2の作用について説明する。図16は、モータ1と、このモータ1によって駆動される機械系及び上記モータ制御手段からなるモータ制御系の例を示したものである。すなわち、図2における機械2は、図16における剛性の低い軸44とそれに連結された慣性負荷45に相当する。
【0049】
図16のモータ制御系に対する近似モデル22は図11に示すようなものとなる。図11は、図16における剛性の低い軸44を剛体の高い軸43で置き換えたものである。図16及び図11の周波数特性を図3に示す。図3中、破線は図16の実際のモータ制御系の周波数特性であり、実線は図11の近似モデルの周波数特性である。ここで用いた機械系の固有振動数は約24rad/sであり、両者の周波数特性はそれ以上の高周波領域では異なるが、20rad/s以下の低周波領域では良く一致している。
【0050】
仮想時間τと実時間tは時間スケール関数κ(τ)を用いて、
dt/dτ=κ(τ) (5)
で関係付けられる。
【0051】
図2の近似モデル22の状態方程式を、
dx(t)/dt=A(x(t))+B(x(t))・r(t) (6)
とする。但し、x(t)は近似モデル22の状態変数、r(t)はモータ制御手段に与えられる指令値、A(x(t))、B(x(t))は近似モデル22の特性を表す行列である。
【0052】
このとき、第一の予測モデル8から出力されるモータトルクu(t)、追従誤差e(t)は、それぞれ、
u(t)=Cu・x(t)+Du・r(t) (7)
e(t)=Ce・x(t)+De・r(t) (8)
で得られる。但し、Cu、Du、Ce、Deは近似モデル22の特性から決まる行列である。
【0053】
また、第二の予測モデル23の出力であるモータトルクの高周波成分は、
dxf(t)/dt=Af・xf(t)+Bf・u(t) (9)
j(t)=Cf・xf(t)+Df・u(t) (10)
で表される。但し、式(9)は機械系の固有振動数より低い20Hz以下の周波数成分を除去するハイパスフィルタであり、xf(t)はハイパスフィルタの状態変数、u(t)は第一の予測モデル8によって予測されるモータトルク、j(t)は第二の予測手段23の出力であるモータトルクの高周波成分、Af、Bf、Cf、Dfはハイパスフィルタの特性を表す定数行列である。
【0054】
制約条件としては、モータトルクu(t)と指令値への追従誤差e(t)がそれぞれの許容値umax、emaxを越えないようにする。この制約条件を、モータトルクu(t)と指令値への追従誤差e(t)を用いて式で書くと、
−umax ≦ u(t) ≦ umax (11)
−emax ≦ e(t) ≦ emax (12)
となる。
【0055】
最適化手段26では、前述のように評価関数、
Figure 0003805476
が最小となるような時間スケール関数を算出する。つまり、最適化手段では、式(5)〜式(10)で記述されるシステムに対して、制約条件の式(11)、式(12)を満足する範囲内で評価関数の式(13)を最小化する時間スケール関数κ(τ)を算出することになるが、このような時間スケール関数κ(τ)は一般に用いられている制約条件付きの非線形最適化手法を用いて求めることができる。
【0056】
このようにして算出された時間スケール関数は、時間スケール関数記憶手段6に記憶される。実際に、モータ1を動かす時には、基準指令値記憶手段4に記憶されている基準指令値r(τ)と時間スケール関数記憶手段6に記憶されている時間スケール関数κ(τ)を用いて、指令値算出手段5により指令値r(t)が生成される。生成された指令値r(t)はモータ制御手段3に入力され、指令値に追従するようにモータ1が制御される。
【0057】
このようにして生成された指令値r(t)を、図16に示す実モデルに与えた時の動きをシミュレーションした結果を図4に示す。シミュレーションの条件は、図15に示した従来のモータ制御装置によるシミュレーションと全く同じである。図4より、移動時間は基準指令値の2秒から1.5秒に短縮されている。従来方法による1.2秒よりも長くなってはいるが、モータトルク、追従誤差ともに許容値以下に納まっている。
【0058】
図5は、予測モデル8から出力される予測値と実システムでの計測値とを比較して示している。図5(a)はモータトルク、図5(b)は指令値への追従誤差であり、破線は計測値、実線は予測値である。指令値に高周波成分が含まれておらず、モータ1の動作周波数領域が低周波領域に制限されていることから両者はよく一致している。
【0059】
尚、上記実施の形態2では、第二の評価関数24としてモータトルクの高周波成分の二乗積分を計算していたが、第二の評価関数24はモータトルクの高周波成分の大きさを評価するものであれば、上記に限らない。例えば、モータトルクの高周波成分の絶対値の積分や四乗の積分、あるいは、絶対値の最大値でも同様に作用する。
【0060】
実施の形態3.
図6は本発明の実施の形態3によるモータ制御装置の構成を示すブロック図である。図6において、図2と同一部分には同一の記号を付している。また、符号31は第1番目の被制約変数であるモータトルクに対応する重み関数を記憶する第一の重み関数記憶手段、32は第2番目の被制約変数である追従誤差に対応する重み関数を記憶する第二の重み関数記憶手段、27は第一の予測モデル8により予測されるモータトルクの予測値と前記モータトルクの許容値11とを比較する第一の比較手段、28は第一の予測モデル8により予測される追従誤差の予測値と前記追従誤差の許容値12とを比較する第二の比較手段、29は前記第一の比較手段27の比較結果に基づいて前記第一の重み関数記憶手段31に記憶された重み関数を修正する第一の重み関数修正手段、30は前記第二の比較手段28の比較結果に基づいて前記第二の重み関数記憶手段32に記憶された重み関数を修正する第二の重み関数修正手段である。
【0061】
上記実施の形態2と同様に、図11の近似モデルの状態方程式を、
dx(t)/dt=A(x(t))+B(x(t))・r(t) (14)
第一の予測モデルから出力されるモータトルクu(t)、追従誤差e(t)を、
u(t)=Cu・x(t)+Du・r(t) (15)
e(t)=Ce・x(t)+De・r(t) (16)
また、第二の予測モデルに含まれるハイパスフィルタの状態方程式を、
dxf(t)/dt=Af・xf(t)+Bf・u(t) (17)
j(t)=Cf・xf(t)+Df・u(t) (18)
制約条件を、
−umax ≦ u(t) ≦ umax (19)
−emax ≦ e(t) ≦ emax (20)
とする。
【0062】
これらの式を前記式(5)を用いて仮想時間τ領域における式に変換すると、
dx(τ)/dτ=[A(x(τ))+B(x(τ))・r(τ)]・κ(τ) (21)
dxf(τ)/dτ=[Af・xf(τ)+Bf・u(τ)]・κ(τ) (22)
u(τ)=Cu・x(τ)+Du・r(τ) (23)
e(τ)=Ce・x(τ)+De・r(τ) (24)
j(τ)=Cf・xf(τ)+Df・u(τ) (25)
−umax ≦ u(τ) ≦ umax (26)
−emax ≦ e(τ) ≦ emax (27)
が得られる。
【0063】
最適化手段では、上式(21)〜(25)で表される系に対して、評価関数
Figure 0003805476
を最小とする時間スケール関数κ(τ)を求める。
ここで、W1(τ)、W2(τ)は、それぞれ第一、第二の重み関数記憶手段31、32に記憶された重み関数である。
【0064】
ところが、式(21)、式(22)の状態方程式は、状態変数x(τ)、xf(τ)と時間スケール関数κ(τ)に関して非線形となっており、このようなκ(τ)を求めるには、非線形最適化問題を解く必要があり、複雑な計算を要する。そこで、式(21)、式(22)を適当な時間スケール関数κ0(τ)の近傍で線形近似し、近似した線形系に対して式(28)の評価関数を最小とする時間スケール関数κ(τ)を求める。線形系に対して、式(28)の二次形式評価関数を最小とするκ(τ)は、最適制御理論に基づいて、行列リカッチ方程式を解くことにより容易に求めることができる。
【0065】
但し、これだけでは式(28)の評価関数が最小となるだけであり、被制約変数が許容値以下になる保証はない。そこで、被制約変数が許容値以下になるように、前記第一、第二の重み関数修正手段29、30により重み関数W1(τ)、W2(τ)の値を修正する。被制約変数が許容値より大きくなっている時刻では、重み関数の値を大きくすることにより、対応する被制約変数の値を小さくすることができる。
【0066】
以上の方法により時間スケール関数κ(τ)を算出するアルゴリズムを図7にフローチャートで示す。
【0067】
図7において、まず、ステップ(イ)では、被制約変数であるモータトルクu(τ)と指令値への追従誤差e(τ)の許容値umaxとemaxをモータの仕様や作業上の要求に基づいて設定する。
【0068】
ステップ(ロ)では、近似モデルの状態方程式を仮想時間領域の状態方程式に変換する。この変換は式(21)〜式(27)の通りである。
【0069】
ステップ(ハ)では、時間スケール関数κ(τ)の初期値として、κ0(τ)=1を代入する。
【0070】
ステップ(ニ)では、ステップ(ロ)で求めた仮想時間領域の状態方程式をκ0(τ)の近傍で線形近似する。
【0071】
ステップ(ホ)では、ステップ(ロ)で求めた線形系に対して、評価関数
Figure 0003805476
を最小にするようなΔκ(τ)を計算する。但し、
κ(τ)=κ0(τ)+Δκ(τ)
である。
【0072】
このような、Δκ(τ)は最適制御理論を用いて、行列リカッチ方程式を解くことにより、容易に求めることができる。
【0073】
ステップ(ヘ)では、繰り返し計算の終了判定を行う。すなわち、判定条件として、
(1) すべての制約条件が満足されており、かつ、Δκ(τ)のノルムが十分小さい。
(2) 繰り返し計算の回数がある値以上である。
を用いて、上記(1)及び(2)の何れかが成立すれば、κ0(τ)を最適なκ(τ)として繰り返し計算を終了する。そうでなければ、ステップ(ト)に進む。
【0074】
ステップ(ト)では、被制約変数が許容値以下になるように、以下のように、重み関数W1(τ)、W2(τ)を修正する。
・W1(τ)・u(τ) / umax を新たなW1(τ)とする。
・W2(τ)・e(τ) / emax を新たなW2(τ)とする。
すなわち、被制約変数がその許容値より大きくなる時刻では、重み関数を大きくすることにより被制約変数の大きさを抑える。逆に、被制約変数の値がその許容値より小さい時刻では、重み関数を小さく修正する。
【0075】
ステップ(チ)では、κ0(τ)+Δκ(τ)を新たなκ0(τ)とし、ステップ(二)に戻り、繰り返し計算を行う。
【0076】
以上のアルゴリズムでは、ステップ(ト)で重み関数の修正を行っており、被制約変数がその許容値を越える時刻では、重み関数を大きくし、許容値を越えない時刻では重み関数を小さく修正している。これにより、許容値を越えている時刻では、重みが大きくなるため、対応する被制約変数の値が小さくなる。一方、許容値を越えていない時刻では、重み関数の値は零に近くなるため、実質的に時間スケール関数とトルク高周波成分の二乗和、すなわち、
κ(τ)・κ(τ)+W0・j(τ)・j(τ)
を小さくする時間スケール関数を求めることができる。
【0077】
つまり、以上の繰り返し計算アルゴリズムにより、各被制約変数がその許容値以下となり、同時に所望の動作に要する時間とモータトルクの高周波成分の両方を出来るだけ小さくする時間スケール関数を求めることができる。
【0078】
また、上記のアルゴリズムでは、線形系に対する二次評価関数を最小にする最適化問題を繰り返して解くこりにより、非線形系に対する制約付き最適化問題を解いている。一般に、非線形系に対する制約付き最適化問題は計算が複雑で、長い計算時間を必要とするが、線形系に対する二次評価関数最小化問題は比較的容易に解くことができる。上記アルゴリズムは、ステップ(ニ)で線形近似した系に対してステップ(ホ)で最適化問題を解いており、比較的簡単な計算を繰り返すことにより、複雑な最適化問題を解くことができる。
【0079】
実施の形態4.
複数のモータを同期動作させる場合の最適な時間スケール関数を求めるための計算量は、モータ軸数の二乗に比例して増加する。例えば、実施の形態3の図7に示したフローチャートのステップ(ホ)で解く行列リカッチ方程式の次数は(全モータ制御系の次数)×(全モータ制御系の次数)となる。全モータ制御系の次数は、(一つのモータ制御系の次数)×(モータ軸数)となることから、行列リカッチ方程式を解くための計算量は、モータ軸数の二乗に比例して増大することになる。
【0080】
図8は本発明の実施の形態4によるモータ制御装置の構成を示すブロック図であり、二つのモータの同期制御が必要となる機械系に適用した場合の一実施例を示す。
【0081】
図8において、符号1−1は第一のモータ、1−2は第二のモータであり、図2と同一部分には同一の記号を付している。但し、各符号に付した「−1」は第一のモータに関するものであり、「−2」は第二のモータに関するものである。また、34は予測モデルであり、図2における第一の予測モデル8と第二の予測モデル23を合わせたもの、35は評価関数で、図2における第一の評価関数25と第二の評価関数24とを合わせたものである。さらに、36は時間スケール関数合成手段である。
【0082】
第一のモータ1−1に対する最適化手段26−1では、実施の形態2と同様の方法により、時間スケール関数κ1(τ)を算出し、第二のモータ1−2に対する最適化手段26−2でも同様に時間スケール関数κ2(τ)を算出する。このようにして算出された時間スケール関数は、時間スケール関数合成手段36に入力され、入力されたκ1(τ)、κ2(τ)により、下式のように、新たな時間スケール関数κ(τ)が生成される。
【0083】
κ(τ)=max{κ1(τ),κ2(τ)}
このようにして生成された時間スケール関数は、第一、第二のモータに対する時間スケール関数記憶手段6−1、6−2に入力され、記憶される。
【0084】
これにより、同じ時間スケール関数を用いてそれぞれの基準指令値に対して時間軸の伸縮を行うので、2つのモータの同期動作を実現でき、且つ、両方のモータに対する制約条件を満足する範囲内で動作の高速化を実現することができる。また、これに必要な計算量はモータ軸数に比例して増加するだけであり、少ない計算量で時間スケール関数を求めることができる。
【0085】
【発明の効果】
以上のように、本発明によるモータ制御装置は次のような優れた効果を奏するものである。
【0086】
請求項1又は請求項2に係るモータ制御装置によれば、実施の形態1に示したように、実際にモータを動かして計測した被制約変数を用いて許容値を修正しているので、モデル化誤差があったとしても、制約条件を満足しながら動作を高速化する指令値を生成できる効果がある。
【0087】
また、請求項3乃至請求項7の何れかに係るモータ制御装置によれば、実施の形態2に示したように、モータ制御系の特性が不正確な周波数領域の周波数成分を含まない指令値を生成することができ、特性が正確には分かっていない機械や剛性が低く振動しやすい機械に対しても、制約条件を満足する高速化指令値を生成できる効果がある。
【0088】
請求項5及び請求項に係るモータ制御装置によれば、実施の形態3から明らかなように、比較的簡単な計算の繰り返しにより、複雑な最適化問題を解くことが可能となり、短い計算時間で最適な高速化指令値を得られる効果がある。
【図面の簡単な説明】
【図1】 本発明の実施の形態1によるモータ制御装置の構成を示すブロック図である。
【図2】 本発明の実施の形態2によるモータ制御装置の構成を示すブロック図である。
【図3】 本発明による実システムと近似モデルの周波数特性を比較した図である。
【図4】 図2のモータ制御装置を用いた場合のシミュレーション結果を示す図である。
【図5】 図2のモータ制御装置による予測値と計測値を比較した図である。
【図6】 本発明の実施の形態3によるモータ制御装置の構成を示すブロック図である。
【図7】 本発明による時間スケール関数κ(τ)を算出するアルゴリズムを示すフローチャートである。
【図8】 本発明の実施の形態4によるモータ制御装置の構成を示すブロック図である。
【図9】 従来の指令値生成方法を示すブロック図である。
【図10】 本発明による仮想時間τと時間スケール関数κ(τ)の関係を示す図である。
【図11】 1軸の剛体モータ駆動系を示す模式図である。
【図12】 本発明による基準指令値の波形を示すグラフである。
【図13】 本発明による基準指令値を用いた場合のシミュレーション結果を表す図である。
【図14】 従来方式を剛体系に適用した場合のシミュレーション結果を表す図である。
【図15】 従来方式を振動系に適用した場合のシミュレーション結果を表す図である。
【図16】 1軸の振動しやすいモータ駆動系を示す模式図である。
【図17】 従来方式による予測値と計測値を比較した図である。
【符号の説明】
1 モータ、2 モータによって駆動される機械、3 モータ制御手段、4 基準指令値記憶手段、5 指令値算出手段である、6 時間スケール関数記憶手段、7 モータ制御モデル、8 予測モデル、9 最適化手段、10 指令値生成手段、11 トルク許容値、12 誤差許容値、13 被制約変数計測手段、14 第一の最大値検出手段、15 第二の最大値検出手段、16 第一の比較手段、17 第二の比較手段、18 第一の許容値修正手段、19 第二の許容値修正手段、20 モータトルクの修正許容値、21 追従誤差の修正許容値、22 近似モデル、23 第二の予測モデル、24 第二の評価関数、25 第一の評価関数、26 最適化手段、27 第一の比較手段、28 第二の比較手段、29 第一の重み関数修正手段、30 第二の重み関数修正手段、31 第一の重み関数記憶手段、32 第二の重み関数記憶手段、33 最適化手段、34 予測モデル、35 評価関数、36 時間スケール関数合成手段、43 軸、44 剛性の低い軸、45 慣性負荷。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a motor control device used for an automatic machine such as an automatic transfer machine and an automatic assembly machine, an industrial robot, and the like.
[0002]
[Prior art]
In general automatic machines used for industrial use, it is strongly desired to increase the operation speed in order to improve productivity. However, there are upper limits on the torque and speed that can be generated by the motor, which are limited by the motor specifications. In addition, in order to guarantee the quality of work by an automatic machine, the tracking accuracy to the command value must also be kept below the specified allowable value. Limited. For this reason, it is necessary to generate a command value for operating as fast as possible within a range that satisfies the constraint conditions determined by the motor specifications and work requirements as described above.
[0003]
A command value generation method for realizing such high-speed operation has been studied in the field of robots. For example, FIG. 9 shows “Time reduction of manipulator operation in which a spatial path is specified” (The Society of Instrument and Control Engineers) It is a schematic diagram for demonstrating the method described in the collection of papers Vol. 22 No. 10 October, 1986 issue).
[0004]
In the example described here, as a constraint condition, it is considered that the motor torque is suppressed to an allowable value or less and that the error in tracking the command value is suppressed to an allowable value or less. If the variable subjected to the constraint is called a constrained variable, the constrained variable here is a tracking error to the motor torque and the command value.
[0005]
In FIG. 9, 1 is a motor, 2 is a machine driven by the motor, and 3 is motor control means for controlling the motor 1 so as to follow a command value. Reference numeral 4 is a reference command value storage means for storing a reference command value for designating a desired operation of the motor 1, and 5 is a command value to be given to the motor control means 3 by expanding and contracting the reference command value in the time axis direction. Command value calculating means. Reference numeral 6 denotes time scale function storage means for storing a time scale function, and the command value calculation means 5 expands and contracts the time axis based on this time scale function. 7 is a motor control model that models the characteristics of the motor 1, the machine, and the motor control means 3, and 8 is a motor control model 7 based on the motor control model 7. The prediction model 9 is an optimization means for optimizing the time scale function based on the output of the prediction model 8. Reference numeral 10 denotes command value generation means, which comprises a reference command value storage means 4, a command value calculation means 5, a time scale function storage means 6, and an optimization means 9, as shown in FIG. Further, 11 is a torque allowable value that is an upper limit of the motor torque, and 12 is an error allowable value that is an upper limit of an error in tracking the command value.
[0006]
Next, the operation of the conventional motor control device shown in FIG. 9 will be described.
[0007]
The reference command value r (τ) is given as a function of time τ, for example, as shown in the upper diagram of FIG. 10B, and describes the movement of the motor position as a function of time τ. At this reference command value r (τ), the motor load is not so large at the beginning and the end of the operation, but it is abrupt movement near the center, and the motor load increases. With respect to such a reference command value r (τ), at a place where the motor load is small, the operation can be speeded up by reducing the reference command value r (τ) in the time axis direction. On the contrary, in a place where the motor load is large, it is necessary to reduce the motor load by extending the time axis so that the motor load does not exceed the allowable value.
[0008]
In this way, the command value r (t) that realizes high-speed operation within a range where the motor load does not exceed the allowable value by expanding and contracting the reference command value r (τ) in the time axis direction according to the load of the motor. Can be generated. The lower part of FIG. 10B shows an example of the command value r (t) generated in this way. In the following description, the time τ before expanding and contracting the time axis is referred to as virtual time, and the time t after expanding and contracting is referred to as real time.
[0009]
In addition, a function indicating the degree of expansion / contraction of the reference command value r (τ) in the time axis direction as described above is referred to as a time scale function κ (τ). The time scale function κ (τ) is defined as a function of the virtual time τ. An example of the time scale function κ (τ) with respect to the reference command value is shown in FIG. The virtual time τ and real time t are determined by the time scale function.
dt / dτ = κ (τ)
Related to. That is, when the time scale function κ (τ) is larger than 1, the time is increased, and when the time scale function κ (τ) is smaller than 1, the time is shortened.
[0010]
The reference command value storage means 4 and the time scale function storage means 6 store the reference command value r (τ) and the time scale function κ (τ) as described above. Based on the both, a command value r (t) to be given to the motor control means 3 is generated. The time scale function κ (τ) is calculated in advance before moving the motor, and is stored in the time scale function storage means 6.
[0011]
The time scale function κ (τ) is generated as follows.
[0012]
The motor control model 7 models the characteristics of the motor 1, the machine 2 driven by the motor 1, and the motor control means 3. In the prediction model 8, the command value generated by the command value calculation means 5 is represented. Based on this motor control model 7, the following accuracy to the motor torque and the command value when given to the motor control means 3 is predicted.
[0013]
In the optimization means 9, a time scale function κ that ends the operation specified by the reference command value in as short a time as possible within a range where the motor torque and the tracking error predicted by the prediction model 8 do not exceed the allowable values. (Τ) is calculated. The time required to finish the specified action is
Figure 0003805476
Therefore, the optimization means 6 determines the time scale function κ (τ) so as to minimize it. However, τ0 is the operation start time in the virtual time, and τ1 is the operation end time. The time scale function κ (τ) that minimizes the evaluation function of the above equation (1) under the condition that the motor torque, the tracking error, etc. do not exceed the allowable values as described above is a constraint in mathematical programming. It can be obtained by solving a conditional nonlinear optimization problem.
[0014]
In order to more specifically illustrate the operation and problems of the conventional method described above, the results of simulation are shown below. A simple uniaxial motor drive system shown in FIG. 11 was used for the simulation. In FIG. 11, reference numeral 1 denotes a motor, 45 denotes an inertial load corresponding to a machine driven by the motor, and the motor 1 and the inertial load 45 are connected by a rigid shaft 43. Reference numeral 3 denotes motor control means for performing feedback control of the motor speed and position detected by the speed detector 41 and the position detector 42 attached to the motor 1. Configured to control. FIG. 12 shows the reference command value. As the reference command value, one that stops after rotating by 1 radian in 2 seconds from the stop state was used.
[0015]
FIG. 13 shows a simulation result when the reference command value is directly input to the motor control means 3 as the command value. The broken line in FIG. 13A indicates the command value input to the motor control means 3, and the solid line indicates the position of the motor 1 that operates following the command value. FIG. 13B shows the motor torque, and FIG. 13C shows the tracking error to the command value. In FIG. 13B and FIG. 13C, the motor torque and the tracking error are normalized by their respective allowable values, and −1 to +1 corresponds to the allowable range. FIG. 13D shows a time scale function κ (τ). In this case, since the time axis is not expanded or contracted, the time scale function κ (τ) is 1. The maximum value of the motor torque in FIG. 13 (b) is about half of the allowable value, and the maximum value of the tracking error in FIG. 13 (c) is about 80% of the allowable value. .
[0016]
FIG. 14 shows a simulation result when the command value is generated using the time scale function optimized by the optimization means 9. The movement time is shortened from 2 seconds as the reference command value to 1.2 seconds. In addition, the motor torque reaches an allowable value at the beginning and end of the operation, and the follow-up error reaches an allowable value in the intermediate portion, so that the maximum speeding-up of the operation is performed within a range that satisfies the constraint conditions.
[0017]
The conventional speeding-up method is configured as described above and optimizes the time scale function that minimizes the evaluation function of equation (1) while keeping the tracking error to the motor torque and command value below the allowable value. It is calculated by means 9.
[0018]
However, in the conventional method, since the time scale function is calculated based on the motor control model 7, if there is a modeling error in the characteristics of the motor control model 7 and the actual motor control system, the prediction model 8 The predicted constrained variable value and the actual constrained variable value do not match. For this reason, even if the predicted value of the constrained variable does not exceed the allowable value, the actual value may not satisfy the constraint condition. For example, when the rigidity of the machine 2 is low and it is easy to vibrate, mechanical vibrations are likely to be generated by increasing the operation speed, and the constraint condition may not be satisfied due to the influence of vibrations. Also, a system that is subject to disturbances that are difficult to model such as friction and gravity needs to drive the machine against friction and gravity, and therefore requires a torque larger than the motor torque predicted by the prediction model 8. To do.
[0019]
In order to specifically show such a problem, a simulation result when the command value r (t) generated using the time scale function κ (τ) calculated as described above is applied to a machine having low rigidity. Is shown in FIG. FIG. 16 is a model of a mechanical system with low rigidity used for the simulation, and is the same as FIG. 11 except that the motor 1 and the inertia load 45 are connected by a shaft 44 with low rigidity.
[0020]
From the simulation result of FIG. 15, it can be seen that the motor torque exceeds the allowable value due to mechanical vibration, and the constraint condition is not satisfied. FIG. 17 is a plot of predicted values and actual values on the same graph. 17A shows the motor torque, and FIG. 17B shows the follow-up error to the command value. In these figures, the solid line shows the predicted value predicted based on the motor control model 7 and the prediction model 8. The broken line indicates the value when the motor is actually moved. Since the motor control model 7 does not include vibration characteristics, the influence of mechanical vibration cannot be predicted, and the actual value of the constrained variable cannot be accurately predicted. In particular, the prediction error of the motor torque is large.
[0021]
[Problems to be solved by the invention]
As described above, in the above-described conventional method, the time scale function is calculated using the model of the motor control system, and the command value is generated based on the time scale function. There was a problem that an unsatisfactory command value was obtained.
[0022]
In addition, a method of obtaining a time scale function using a more accurate model by including a vibration model or a disturbance model in the motor control model 7 is also conceivable. For this purpose, the vibration characteristics and disturbance characteristics of the machine are accurately identified. There is a need to. In reality, it is not easy to accurately identify the vibration characteristics and disturbance characteristics of a machine, but these characteristics may fluctuate due to changes over time, and it is necessary to identify the characteristics each time. There is a problem that it takes time and effort.
[0023]
In addition, in order to generate a command value that speeds up the operation as much as possible within the range that satisfies the constraints, it is necessary to solve the nonlinear optimization problem with constraints, but this calculation algorithm is complicated and requires a lot of computation time. Needed. In particular, many robots and automatic machines used for industrial use require a multi-axis synchronous operation. In order to calculate the optimum command value for such a multi-axis synchronous system, the square of the number of axes is required. Since the amount of calculation increases in proportion to the number of axes, there is a problem that enormous calculation time is required as the number of axes increases.
[0024]
The present invention has been made to solve such problems. Even when the rigidity of a machine driven by a motor is low and easily vibrates, or when disturbances such as friction and gravity are applied, the invention departs from the constraint conditions. Therefore, an object of the present invention is to obtain a motor control device that generates a command value for realizing a high-speed operation with a smaller calculation amount.
[0025]
[Means for Solving the Problems]
The motor control device according to the invention described in claim 1 is a conventional motor control device, the comparison means for comparing the constrained variable actually measured by moving the motor and its allowable value, and the output of the comparison means. Thus, an allowable value correcting means for correcting the allowable value of the constrained variable is added.
[0026]
When the measured value exceeds the allowable value, the motor control device according to the second aspect of the invention corrects the corresponding allowable value to a small value, and uses the corrected allowable value to change the command value by the command value generation means. Is calculated.
[0027]
According to a third aspect of the present invention, there is provided a motor control device having an accurate motor control system comprising the motor, a mechanical system driven by the motor, and motor control means for controlling the motor so as to follow the command value. In the conventional motor control device shown in FIG. 9, the motor control model is the motor control model, in which the frequency region known in FIG. 9 is the first frequency region and the frequency region whose characteristics are not accurately known is the second frequency region. In addition to the first prediction model for predicting the value of the constrained variable using the approximate model, the motor based on the approximate model is replaced with an approximate model that approximates the characteristics of the model in the first frequency domain. A second prediction model for predicting the frequency component of the second frequency region of torque is added, and the command value generating means outputs the first prediction model from the first prediction model. A command value that simultaneously reduces the length of operation time required to perform a desired operation and the output size of the second prediction model while keeping the predicted value of the constrained variable below a set allowable value. It is configured to generate.
[0028]
According to a fourth aspect of the present invention, in the motor control apparatus according to the third aspect, the command value generating means stores a reference command value for storing a reference command value describing a desired operation. A storage means; a command value calculating means for generating a command value to be supplied to the motor control means by expanding and contracting the reference command value in the time axis direction; and a time scale function expressing a ratio of expanding and contracting the reference command value in the time axis direction. The time scale function storage means for storing and the optimization means for generating the time scale function are configured, and in the optimization means, the predicted value of the constrained variable output from the first prediction model is set. A time scale function is generated so as to simultaneously reduce the length of the operation time required for performing a desired operation and the output size of the second prediction model while keeping the allowable value or less. One in which the.
[0029]
The motor control device according to the invention described in claim 7 is the conventional motor control device shown in FIG. 9, wherein the motor control model is equal to or lower than the natural frequency of the mechanical system driven by the motor of the motor control model. In addition to the first predictive model for predicting the value of the constrained variable using the approximate model, replacing the approximate model with characteristics approximating the characteristic, the motor torque is equal to or higher than the natural frequency of the mechanical system based on the approximate model. And adding a second prediction model for predicting the frequency component of the desired value while the command value generation means suppresses the predicted value of the constrained variable output from the first prediction model to be equal to or less than a set allowable value. A command value is generated so as to simultaneously reduce the length of the operation time required to perform the operation and the magnitude of the high-frequency component of the motor torque output from the second prediction model. It is intended.
[0032]
In the motor control device according to the first or second aspect of the invention, the value of the constrained variable actually measured by moving the motor is compared with the allowable value, and the actual value is corrected by correcting the allowable value. Even when a disturbance such as friction that is difficult to predict is applied, a command value that satisfies the constraint condition can be obtained.
[0033]
In the motor control device according to any one of claims 3 to 6, the approximate model represents the characteristics of the motor control system in the first frequency region in which the characteristics of the motor control system are accurately known. Approximate. Therefore, if the motor operating frequency region is limited to the first frequency region, the approximate model is a good approximation of the actual motor control system, and the predicted value output by the predictive model is the actual motor motion. Matches well. However, the optimization means calculates a time scale function that not only reduces the time scale function but also reduces the frequency component in the second frequency domain of the motor torque predicted by the second prediction model. Therefore, the command value generated using such a time scale function contains almost no frequency component in the second frequency region. Therefore, if the motor is driven using the command value generated as described above, the operating frequency range of the motor can be limited to the first frequency range, and the actual motor movement can be accurately determined by the prediction model. Since it can be predicted, even if the characteristics of the motor control system are not completely known, a command value that does not deviate from the constraint conditions can be generated.
[0034]
According to a seventh aspect of the present invention, in the motor control device according to the second or third aspect, the approximate natural frequency of the mechanical system in which the first frequency region is driven by the motor. The following frequency region is used, and the second frequency region is a frequency region that is equal to or higher than the approximate natural frequency of the mechanical system. As a result, it is possible to generate command values that contain almost no high-frequency components above the natural frequency of the mechanical system, so even for machines that have low rigidity and tend to vibrate, command values that satisfy the constraints are generated without causing vibration. can do.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In the following description, the same parts as those of the conventional control device shown in FIG.
[0038]
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a motor control device according to Embodiment 1 of the present invention. In FIG. 1, reference numeral 11 is an allowable value umax of the motor torque determined from the specifications of the motor 1, 12 is an allowable value emax of the follow-up error to the command value determined from work requirements, and 13 is a constraint by actually moving the motor 1. Constrained variable measuring means for measuring the tracking error to the motor torque and the command value as variables, 14 is a first maximum value detecting means for detecting the maximum absolute value of the measured motor torque, and 15 is the measured tracking error. The second maximum value detecting means 16 for detecting the maximum absolute value of the first value, 16 is the first comparing means for calculating the ratio Ku between the output of the first maximum value detecting means 14 and the allowable value umax of the motor torque, 17 Second comparison means 18 for calculating the ratio Ke between the output of the second maximum value detection means 15 and the allowable value emax of the follow-up error is based on the output Ku of the first comparison means 16 and the allowable motor torque. Value First tolerance correction means 19 for correcting the constant value, 19 is a second tolerance correction for correcting the set value of the tolerance value of the following error based on the ratio Ke output from the second tolerance value comparison means 17. Means 20 is a motor torque correction allowable value corrected by the first allowable value correcting means 16, and 21 is a tracking error correction allowable value corrected by the second allowable value correcting means 17.
[0039]
Next, the operation of this embodiment will be described. First, the motor torque correction allowable value 20 and the tracking error correction allowable value 21 are set with the original motor torque allowable value 11 and the original tracking error allowable value 12, respectively. In the converting means 9, a time scale function is calculated by these using the method shown in the conventional example and stored in the time scale function storage means 6.
[0040]
Next, based on the reference command value and this time scale function, the command value calculation means 5 generates a command value and drives the motor. At the same time, the follow-up error to the motor torque and the command value is measured by the constrained variable measuring means 13. The absolute value of the measured motor torque is detected by the first maximum value detecting means 14 and further inputted to the first comparing means 16 to calculate the output Ku of the first comparing means 16. The Similarly, the measured follow-up error is input to the second maximum value detecting means 15 and the second allowable value comparing means 17, and the ratio Ke is calculated.
[0041]
When the output Ku of the first comparison means 16 is larger than 1, it means that the measured motor torque is larger than the allowable value 11. At this time, the first allowable value correction means 18 corrects the correction allowable value 20 to be small. For example, the correction is made so that (previous correction allowable value / Ku) becomes a new correction allowable value. Similarly, when the ratio Ke is larger than 1, the second allowable value correction means 19 corrects the value of the tracking error correction allowable value 21 to be small.
[0042]
Further, a time scale function is calculated by the optimization means 9 using the correction allowable values 20 and 21 corrected in this way. In other words, when the constrained variable actually measured by moving the motor 1 does not satisfy the constraint condition, the constraint condition is strictly reset and the command value is generated.
[0043]
Thereby, even when there is a modeling error in the motor control model 7, it is possible to generate a command value such that the constrained variable actually obtained by measurement is less than or equal to the allowable value.
[0044]
Embodiment 2. FIG.
FIG. 2 is a block diagram showing the configuration of the motor control apparatus according to the second embodiment of the present invention. In FIG. 2, reference numeral 22 denotes an approximate model that approximates characteristics in a frequency region equal to or lower than the natural frequency of the mechanical system of a motor, a motor control system composed of a motor, a mechanical system driven by the motor, and motor control means.
[0045]
Regarding the characteristics of the motor control system, the characteristics in the low frequency region can be known relatively accurately, but it is difficult to accurately identify the characteristics in the high frequency region. In particular, in the frequency region above the natural frequency of the mechanical system, there is an influence such as a higher-order vibration mode, making it difficult to identify characteristics. In addition, vibration characteristics may vary due to changes over time. Therefore, in the second embodiment, it is assumed that the characteristics in the frequency region below the natural frequency of the mechanical system are accurately known. Hereinafter, the frequency region below the natural frequency of the mechanical system is defined as a first frequency region, and the frequency region above the natural frequency is defined as a second frequency region.
[0046]
In FIG. 2, reference numeral 8 is a first prediction model for predicting the motor torque and the tracking error as the constrained variables based on the approximate model 22, and 23 is the second prediction of the motor torque based on the approximate model 22. It is the 2nd prediction model which outputs the frequency component of a frequency domain, ie, the frequency component of a frequency domain higher than the natural frequency of a mechanical system.
[0047]
Reference numeral 26 denotes optimization means for generating a time scale function based on the first prediction model 8 and the second prediction model 23. In this optimization means 26, the evaluation function is within a range where the value of the constraint variable predicted by the first prediction model is less than or equal to the allowable value.
Figure 0003805476
Generates a time scale function κ (τ) that minimizes. Here, τ0 is the operation start time in virtual time, τ1 is the operation end time, j (τ) is the frequency component in the second frequency domain of the motor torque output from the second prediction model, and W0 is a constant. . The first term of the above equation (4) is a first evaluation function 25 that evaluates the length of operation time required to perform a desired operation given by the reference command value, and the second term is the second term. This is a second evaluation function 24 for evaluating the magnitude of the output of the prediction model, and the optimization means 26 calculates a time scale function so that the sum of the two is minimized.
[0048]
Next, the operation of the second embodiment will be described. FIG. 16 shows an example of a motor control system comprising the motor 1, a mechanical system driven by the motor 1, and the motor control means. That is, the machine 2 in FIG. 2 corresponds to the low-rigidity shaft 44 and the inertia load 45 connected thereto in FIG.
[0049]
An approximate model 22 for the motor control system of FIG. 16 is as shown in FIG. FIG. 11 is obtained by replacing the low rigidity shaft 44 in FIG. 16 with a rigid high shaft 43. The frequency characteristics of FIGS. 16 and 11 are shown in FIG. In FIG. 3, the broken line is the frequency characteristic of the actual motor control system of FIG. 16, and the solid line is the frequency characteristic of the approximate model of FIG. The natural frequency of the mechanical system used here is about 24 rad / s, and the frequency characteristics of both are different in a higher frequency region than that, but agree well in a low frequency region of 20 rad / s or less.
[0050]
The virtual time τ and the real time t are calculated using the time scale function κ (τ).
dt / dτ = κ (τ) (5)
Are related.
[0051]
The equation of state of the approximate model 22 in FIG.
dx (t) / dt = A (x (t)) + B (x (t)) · r (t) (6)
And However, x (t) is a state variable of the approximate model 22, r (t) is a command value given to the motor control means, and A (x (t)) and B (x (t)) are characteristics of the approximate model 22. It is a matrix that represents.
[0052]
At this time, the motor torque u (t) and the tracking error e (t) output from the first prediction model 8 are respectively
u (t) = Cu · x (t) + Du · r (t) (7)
e (t) = Ce · x (t) + De · r (t) (8)
It is obtained by. However, Cu, Du, Ce, and De are matrices determined from the characteristics of the approximate model 22.
[0053]
The high frequency component of the motor torque that is the output of the second prediction model 23 is
dxf (t) / dt = Af · xf (t) + Bf · u (t) (9)
j (t) = Cf · xf (t) + Df · u (t) (10)
It is represented by However, Expression (9) is a high-pass filter that removes a frequency component of 20 Hz or less, which is lower than the natural frequency of the mechanical system, xf (t) is a state variable of the high-pass filter, and u (t) is the first prediction model 8 , J (t) is a high-frequency component of the motor torque that is the output of the second prediction means 23, and Af, Bf, Cf, and Df are constant matrices representing the characteristics of the high-pass filter.
[0054]
As a constraint condition, the motor torque u (t) and the follow-up error e (t) to the command value should not exceed the respective allowable values umax and emax. When this constraint is expressed by an equation using the motor torque u (t) and the tracking error e (t) to the command value,
−umax ≦ u (t) ≦ umax (11)
−emax ≦ e (t) ≦ emax (12)
It becomes.
[0055]
In the optimization means 26, as described above, the evaluation function,
Figure 0003805476
Calculate a time scale function that minimizes. That is, in the optimization means, the evaluation function formula (13) within the range satisfying the constraint formulas (11) and (12) for the system described by the formulas (5) to (10). The time scale function κ (τ) that minimizes the time scale is calculated, and such a time scale function κ (τ) can be obtained by using a generally used nonlinear optimization method with constraints. .
[0056]
The time scale function calculated in this way is stored in the time scale function storage means 6. Actually, when the motor 1 is moved, the reference command value r (τ) stored in the reference command value storage unit 4 and the time scale function κ (τ) stored in the time scale function storage unit 6 are used. A command value r (t) is generated by the command value calculation means 5. The generated command value r (t) is input to the motor control means 3, and the motor 1 is controlled so as to follow the command value.
[0057]
FIG. 4 shows the result of simulating the movement when the command value r (t) generated in this way is given to the actual model shown in FIG. The simulation conditions are exactly the same as the simulation by the conventional motor control device shown in FIG. From FIG. 4, the movement time is shortened from 2 seconds as the reference command value to 1.5 seconds. Although it is longer than 1.2 seconds according to the conventional method, both the motor torque and the tracking error are within the allowable values.
[0058]
FIG. 5 shows a comparison between the predicted value output from the prediction model 8 and the measured value in the actual system. 5A shows the motor torque, FIG. 5B shows the follow-up error to the command value, the broken line shows the measured value, and the solid line shows the predicted value. Since the high-frequency component is not included in the command value and the operating frequency region of the motor 1 is limited to the low-frequency region, the two match well.
[0059]
In the second embodiment, the square integral of the high frequency component of the motor torque is calculated as the second evaluation function 24. However, the second evaluation function 24 evaluates the magnitude of the high frequency component of the motor torque. If it is, it will not be restricted to the above. For example, the same operation is performed with the integral of the absolute value of the high frequency component of the motor torque, the integral of the fourth power, or the maximum value of the absolute value.
[0060]
Embodiment 3 FIG.
FIG. 6 is a block diagram showing the configuration of the motor control apparatus according to Embodiment 3 of the present invention. In FIG. 6, the same parts as those in FIG. Reference numeral 31 denotes a first weight function storage means for storing a weight function corresponding to the motor torque which is the first constrained variable, and 32 denotes a weight function corresponding to the tracking error which is the second constrained variable. The second weighting function storage means 27 for storing the motor, 27 is a first comparison means for comparing the predicted value of the motor torque predicted by the first prediction model 8 and the allowable value 11 of the motor torque, 28 is the first comparison means The second comparison unit 29 for comparing the predicted value of the tracking error predicted by the prediction model 8 and the allowable value 12 of the tracking error is based on the comparison result of the first comparison unit 27. First weight function correction means 30 for correcting the weight function stored in the weight function storage means 31, 30 is stored in the second weight function storage means 32 based on the comparison result of the second comparison means 28. Modify weight function A second weighting function correcting means.
[0061]
As in the second embodiment, the state equation of the approximate model in FIG.
dx (t) / dt = A (x (t)) + B (x (t)) · r (t) (14)
The motor torque u (t) and tracking error e (t) output from the first prediction model are
u (t) = Cu · x (t) + Du · r (t) (15)
e (t) = Ce · x (t) + De · r (t) (16)
In addition, the state equation of the high-pass filter included in the second prediction model is
dxf (t) / dt = Af · xf (t) + Bf · u (t) (17)
j (t) = Cf · xf (t) + Df · u (t) (18)
Constraint
−umax ≦ u (t) ≦ umax (19)
−emax ≦ e (t) ≦ emax (20)
And
[0062]
When these equations are converted into equations in the virtual time τ region using the equation (5),
dx (τ) / dτ = [A (x (τ)) + B (x (τ)) · r (τ)] · κ (τ) (21)
dxf (τ) / dτ = [Af · xf (τ) + Bf · u (τ)] · κ (τ) (22)
u (τ) = Cu · x (τ) + Du · r (τ) (23)
e (τ) = Ce · x (τ) + De · r (τ) (24)
j (τ) = Cf · xf (τ) + Df · u (τ) (25)
−umax ≦ u (τ) ≦ umax (26)
−emax ≦ e (τ) ≦ emax (27)
Is obtained.
[0063]
In the optimization means, the evaluation function is applied to the system represented by the above equations (21) to (25).
Figure 0003805476
Find the time scale function κ (τ) that minimizes.
Here, W1 (τ) and W2 (τ) are weight functions stored in the first and second weight function storage means 31 and 32, respectively.
[0064]
However, the state equations of the equations (21) and (22) are nonlinear with respect to the state variables x (τ) and xf (τ) and the time scale function κ (τ). To find it, it is necessary to solve a nonlinear optimization problem, which requires complicated calculations. Therefore, linear approximation is performed on the equations (21) and (22) in the vicinity of an appropriate time scale function κ0 (τ), and the time scale function κ that minimizes the evaluation function of the equation (28) for the approximated linear system. Find (τ). For a linear system, κ (τ) that minimizes the quadratic evaluation function of Equation (28) can be easily obtained by solving a matrix Riccati equation based on optimal control theory.
[0065]
However, this alone only minimizes the evaluation function of Equation (28), and there is no guarantee that the constrained variable will be less than the allowable value. Therefore, the values of the weight functions W1 (τ) and W2 (τ) are corrected by the first and second weight function correcting means 29 and 30 so that the constrained variable is not more than the allowable value. At the time when the constrained variable is larger than the allowable value, the value of the corresponding constrained variable can be decreased by increasing the value of the weight function.
[0066]
FIG. 7 is a flowchart showing an algorithm for calculating the time scale function κ (τ) by the above method.
[0067]
In FIG. 7, first, in step (A), the motor torque u (τ), which is a constrained variable, and the allowable values umax and emax of the follow-up error e (τ) to the command value are used as requirements in the motor specifications and work. Set based on.
[0068]
In step (b), the state equation of the approximate model is converted into a state equation in the virtual time domain. This conversion is as shown in equations (21) to (27).
[0069]
In step (c), κ0 (τ) = 1 is substituted as the initial value of the time scale function κ (τ).
[0070]
In step (d), the state equation in the virtual time domain obtained in step (b) is linearly approximated in the vicinity of κ0 (τ).
[0071]
In step (e), the evaluation function is applied to the linear system obtained in step (b).
Figure 0003805476
Δκ (τ) that minimizes However,
κ (τ) = κ0 (τ) + Δκ (τ)
It is.
[0072]
Such Δκ (τ) can be easily obtained by solving the matrix Riccati equation using optimal control theory.
[0073]
In step (f), it is determined whether or not to repeat the calculation. That is, as a judgment condition,
(1) All constraints are satisfied and the norm of Δκ (τ) is sufficiently small.
(2) The number of repeated calculations is greater than a certain value.
If any one of the above (1) and (2) is established, the calculation is repeated with κ0 (τ) as the optimum κ (τ). Otherwise, go to step (g).
[0074]
In step (g), the weighting functions W1 (τ) and W2 (τ) are corrected as follows so that the constrained variable is equal to or smaller than the allowable value.
Let W1 (τ) · u (τ) / umax be a new W1 (τ).
W2 (τ) · e (τ) / emax is set as a new W2 (τ).
That is, at the time when the constrained variable becomes larger than the allowable value, the size of the constrained variable is suppressed by increasing the weight function. Conversely, at a time when the value of the constrained variable is smaller than the allowable value, the weight function is corrected to be small.
[0075]
In step (H), κ0 (τ) + Δκ (τ) is set as a new κ0 (τ), and the process returns to step (2) to perform repeated calculation.
[0076]
In the above algorithm, the weighting function is corrected in step (g). The weighting function is increased at times when the constrained variable exceeds the allowable value, and the weighting function is decreased at times when the constrained variable does not exceed the allowable value. ing. Thereby, at the time when the allowable value is exceeded, the weight is increased, so that the value of the corresponding constrained variable is decreased. On the other hand, at the time when the allowable value is not exceeded, the value of the weight function is close to zero.
κ (τ) ・ κ (τ) + W0 ・ j (τ) ・ j (τ)
It is possible to obtain a time scale function for reducing.
[0077]
That is, by the above iterative calculation algorithm, it is possible to obtain a time scale function that makes each constrained variable less than its allowable value, and at the same time, minimizes both the time required for the desired operation and the high frequency component of the motor torque.
[0078]
In the above algorithm, a constrained optimization problem for a nonlinear system is solved by repeatedly solving an optimization problem that minimizes a quadratic evaluation function for the linear system. In general, a constrained optimization problem for a nonlinear system is complicated to calculate and requires a long calculation time, but a quadratic cost function minimization problem for a linear system can be solved relatively easily. In the above algorithm, the optimization problem is solved in step (e) for the system linearly approximated in step (d), and a complicated optimization problem can be solved by repeating relatively simple calculations.
[0079]
Embodiment 4 FIG.
The amount of calculation for obtaining an optimal time scale function when a plurality of motors are operated synchronously increases in proportion to the square of the number of motor shafts. For example, the order of the matrix Riccati equation solved in step (e) of the flowchart shown in FIG. 7 of the third embodiment is (order of all motor control systems) × (order of all motor control systems). Since the order of all motor control systems is (order of one motor control system) x (number of motor axes), the amount of calculation for solving the matrix Riccati equation increases in proportion to the square of the number of motor axes. It will be.
[0080]
FIG. 8 is a block diagram showing the configuration of the motor control apparatus according to the fourth embodiment of the present invention, and shows an example when applied to a mechanical system that requires synchronous control of two motors.
[0081]
In FIG. 8, reference numeral 1-1 is a first motor, 1-2 is a second motor, and the same parts as those in FIG. However, “−1” attached to each symbol relates to the first motor, and “−2” relates to the second motor. 34 is a prediction model, which is a combination of the first prediction model 8 and the second prediction model 23 in FIG. 2, 35 is an evaluation function, and the first evaluation function 25 and the second evaluation in FIG. The function 24 is combined. Furthermore, 36 is a time scale function synthesis means.
[0082]
In the optimization means 26-1 for the first motor 1-1, the time scale function κ1 (τ) is calculated by the same method as in the second embodiment, and the optimization means 26- for the second motor 1-2. 2 also calculates the time scale function κ2 (τ). The time scale function calculated in this way is input to the time scale function synthesizing unit 36, and a new time scale function κ (τ (τ) is obtained from the input κ1 (τ) and κ2 (τ) as shown in the following equation. ) Is generated.
[0083]
κ (τ) = max {κ1 (τ), κ2 (τ)}
The time scale function generated in this way is input and stored in the time scale function storage means 6-1 and 6-2 for the first and second motors.
[0084]
As a result, the time axis is expanded and contracted with respect to each reference command value using the same time scale function, so that the synchronous operation of the two motors can be realized and the constraint conditions for both motors are satisfied. High speed operation can be realized. Further, the amount of calculation required for this only increases in proportion to the number of motor shafts, and the time scale function can be obtained with a small amount of calculation.
[0085]
【The invention's effect】
As described above, the motor control device according to the present invention has the following excellent effects.
[0086]
According to the motor control device according to claim 1 or claim 2, as shown in the first embodiment, the allowable value is corrected using the constrained variable actually measured by moving the motor. Even if there is a conversion error, it is possible to generate a command value that speeds up the operation while satisfying the constraint conditions.
[0087]
In addition, according to the motor control device of any one of claims 3 to 7, as shown in the second embodiment, the command value does not include a frequency component in the frequency region where the characteristics of the motor control system are inaccurate. Therefore, it is possible to generate a high-speed command value that satisfies the constraint conditions even for a machine whose characteristics are not accurately known or a machine with low rigidity and easy to vibrate.
[0088]
Claim 5 and claim 7 As is clear from the third embodiment, the motor control device according to the present invention can solve a complicated optimization problem by repeating relatively simple calculations, and can achieve an optimum speed-up command value in a short calculation time. There is an effect that can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a motor control device according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a motor control device according to a second embodiment of the present invention.
FIG. 3 is a diagram comparing frequency characteristics of an actual system and an approximate model according to the present invention.
FIG. 4 is a diagram showing a simulation result when the motor control device of FIG. 2 is used.
5 is a diagram comparing a predicted value and a measured value obtained by the motor control device of FIG. 2; FIG.
FIG. 6 is a block diagram showing a configuration of a motor control device according to a third embodiment of the present invention.
FIG. 7 is a flowchart showing an algorithm for calculating a time scale function κ (τ) according to the present invention.
FIG. 8 is a block diagram showing a configuration of a motor control device according to a fourth embodiment of the present invention.
FIG. 9 is a block diagram showing a conventional command value generation method.
FIG. 10 is a diagram showing a relationship between a virtual time τ and a time scale function κ (τ) according to the present invention.
FIG. 11 is a schematic diagram showing a single-axis rigid motor drive system.
FIG. 12 is a graph showing a waveform of a reference command value according to the present invention.
FIG. 13 is a diagram showing a simulation result when a reference command value according to the present invention is used.
FIG. 14 is a diagram illustrating a simulation result when the conventional method is applied to a rigid system.
FIG. 15 is a diagram illustrating a simulation result when the conventional method is applied to a vibration system.
FIG. 16 is a schematic diagram showing a motor drive system that easily vibrates on one axis.
FIG. 17 is a diagram comparing a predicted value and a measured value according to a conventional method.
[Explanation of symbols]
1 motor 2 machine driven by motor 3 motor control means 4 reference command value storage means 5 command value calculation means 6 time scale function storage means 7 motor control model 8 prediction model 9 optimization Means, 10 command value generating means, 11 torque allowable value, 12 error allowable value, 13 restricted variable measuring means, 14 first maximum value detecting means, 15 second maximum value detecting means, 16 first comparing means, 17 Second comparison means, 18 First tolerance correction means, 19 Second tolerance correction means, 20 Motor torque correction tolerance, 21 Tracking error correction tolerance, 22 Approximation model, 23 Second prediction Model, 24 Second evaluation function, 25 First evaluation function, 26 Optimization means, 27 First comparison means, 28 Second comparison means, 29 First weight function correction means, 30 Second weight function Corrective hand , 31 1st weight function storage means, 32 2nd weight function storage means, 33 optimization means, 34 prediction model, 35 evaluation function, 36 time scale function synthesis means, 43 axes, 44 low rigidity axis, 45 inertia load.

Claims (7)

モータトルク、モータ速度、加速度、実効トルク、指令値への追従誤差など、モータの仕様、及びモータを用いて行う作業上の要求から制約が課せられる被制約変数を予め設定された許容値以下に抑えると同時に所望の動作を最短時間で行う指令値を生成し、生成した指令値に追従して動作するようにモータを制御するモータ制御装置において、
前記モータと、該モータによって駆動される機械、及び前記指令値に追従するように前記モータを制御するモータ制御手段からなるモータ制御系をモデル化したモータ制御モデルと、
実際に前記モータを動作させた時の前記被制約変数の値を計測する被制約変数計測手段と、
計測した前記被制約変数の絶対値の最大値を検出する最大値検出手段と、
前記最大値検出手段の出力と前記許容値とを比較する比較手段と、
前記比較手段での比較結果に基づいて前記被制約変数の許容値を修正する許容値修正手段と、
前記モータ制御モデルを用いて予測される被制約変数の予測値を前記修正された修正許容値以下に抑えると同時に、所望の動作を最短時間で行う指令値を生成して前記モータ制御手段へ出力する指令値生成手段と、
を備えることを特徴とするモータ制御装置。
Limit the variable to be constrained by the motor specifications and work requirements using the motor, such as motor torque, motor speed, acceleration, effective torque, and follow-up error to the command value, to less than the preset allowable value. In a motor control device that generates a command value for performing a desired operation in the shortest time at the same time and controls the motor to operate following the generated command value,
A motor control model that models a motor control system including the motor, a machine driven by the motor, and motor control means for controlling the motor so as to follow the command value;
A constrained variable measuring means for measuring the value of the constrained variable when the motor is actually operated;
Maximum value detecting means for detecting the maximum absolute value of the measured constrained variable;
Comparing means for comparing the output of the maximum value detecting means and the allowable value;
An allowable value correcting means for correcting an allowable value of the constrained variable based on a comparison result in the comparing means;
A command value for performing a desired operation in the shortest time is generated and output to the motor control means at the same time as the predicted value of the constrained variable predicted using the motor control model is kept below the corrected correction allowable value. Command value generating means for
A motor control device comprising:
請求項1記載のモータ制御装置において、
(1) 前記指令値生成手段によって生成された指令値によって前記モータを動作させ、
(2) 前記比較手段において、前記最大値検出手段の出力と前記モータの仕様あるいは作業上の要求から決定される本来の許容値とを比較し、
(3) 前記最大値検出手段の出力が前記本来の許容値より大きい場合は、前記許容値修正手段により被制約変数の許容値を小さく修正し、
(4) 修正した修正許容値を用いて前記指令値生成手段により指令値を再度生成し、
(5) 被制約変数が前記本来の許容値よりも小さくなるまで、上記(1)〜(4)を繰り返すことを特徴とするモータ制御装置。
The motor control device according to claim 1,
(1) The motor is operated by the command value generated by the command value generating means,
(2) In the comparison means, the output of the maximum value detection means is compared with the original allowable value determined from the specifications of the motor or work requirements;
(3) When the output of the maximum value detecting means is larger than the original allowable value, the allowable value of the constrained variable is corrected to be small by the allowable value correcting means,
(4) A command value is generated again by the command value generation means using the corrected correction allowable value,
(5) The motor control apparatus characterized by repeating the above (1) to (4) until the constrained variable becomes smaller than the original allowable value.
モータトルク、モータ速度、加速度、実効トルク、指令値への追従誤差などのモータの仕様、及びモータを用いて行う作業上の要求から制約が課せられる被制約変数を予め設定された許容値以下に抑えると同時に所望の動作を最短時間で行う指令値を生成し、生成した指令値に追従するようにモータを制御するモータ制御装置において、
前記モータと、該モータによって駆動される機械系と、前記指令値に追従するように前記モータを制御するモータ制御手段とからなるモータ制御系の特性が正確に分かっている周波数領域を第一の周波数領域、特性が正確には分かっていない周波数領域を第二の周波数領域とし、前記モータ制御系の前記第一の周波数領域における特性を近似する近似モデルと、
前記近似モデルを用いて前記被制約変数の値を予測する第一の予測モデルと、 前記近似モデルに基づいてモータトルクの前記第二の周波数領域の周波数成分を予測する第二の予測モデルと、
前記モータ制御手段に与える指令値を生成する指令値生成手段と、
を備え、
前記所望の動作を行うのに要する動作時間の長さを評価する第一の評価関数と、前記第二の予測モデルの出力の大きさを評価する第二の評価関数とを設定し、 前記指令値生成手段は、前記第一の予測モデルにより予測される被制約変数の予測値を上記設定された許容値以下に抑えると同時に、前記第一の評価関数の値と前記第二の評価関数の値の和が最小となるような指令値を生成することを特徴とするモータ制御装置。
Limit the variable to be constrained by motor specifications such as motor torque, motor speed, acceleration, effective torque, error in tracking to command value, and work requirements using the motor to below the preset allowable value. In a motor control device that generates a command value for performing a desired operation in the shortest time at the same time and controls the motor to follow the generated command value,
A frequency region in which the characteristics of a motor control system comprising the motor, a mechanical system driven by the motor, and motor control means for controlling the motor so as to follow the command value are accurately known is a first frequency region. An approximate model that approximates the characteristics in the first frequency domain of the motor control system, with the frequency domain, the frequency domain in which the characteristics are not accurately known as the second frequency domain,
A first prediction model that predicts the value of the constrained variable using the approximate model; a second prediction model that predicts a frequency component of the second frequency region of motor torque based on the approximate model;
Command value generating means for generating a command value to be given to the motor control means;
With
A first evaluation function that evaluates the length of operation time required to perform the desired operation, and a second evaluation function that evaluates the magnitude of the output of the second prediction model; and The value generation means suppresses the predicted value of the constrained variable predicted by the first prediction model below the set allowable value, and at the same time, the value of the first evaluation function and the second evaluation function A motor control device that generates a command value that minimizes a sum of values.
モータトルク、モータ速度、加速度、実効トルク、指令値への追従誤差などのモータの仕様、及び上記モータを用いて行う作業上の要求から制約が課せられる被制約変数を予め設定された許容値以下に抑えると同時に所望の動作を最短時間で行う指令値を生成し、生成された指令値に追従するようにモータを制御するモータ制御装置において、
仮想的な時間τと実際の時間tとをdt/dτ=κ(τ)で関係付ける時間スケール関数κ(τ)を記憶する時間スケール関数記憶手段と、
前記仮想時間τの関数として与えられる基準指令値r(τ)を記憶する基準指令値記憶手段と、
前記基準指令値r(τ)と前記時間スケール関数κ(τ)とから実際の時間における指令値r(t)を算出する指令値算出手段と、
前記モータと、該モータによって駆動される機械系、及び前記指令値に追従するように前記モータを制御するモータ制御手段からなるモータ制御系の特性が正確に分かっている周波数領域を第一の周波数領域、特性が正確には分かっていない周波数領域を第二の周波数領域とし、前記モータ制御系の、前記第一の周波数領域における特性を近似する近似モデルと、
前記近似モデルに基づいて前記被制約変数の値を予測する第一の予測モデルと、
前記近似モデルに基づいてモータトルクの前記第二の周波数領域の周波数成分を予測する第二の予測モデルと、
前記第一及び第二の予測モデルに基づいて前記時間スケール関数κ(τ)を算出する最適化手段と、
を備え、
前記所望の動作を行うのに要する動作時間の長さを評価する第一の評価関数と、前記第二の予測モデルの出力の大きさを評価する第二の評価関数とを設定し、
前記最適化手段は、前記第一の予測モデルにより予測される被制約変数の予測値を上記設定された許容値以下に抑えると同時に、前記第一の評価関数の値と前記第二の評価関数の値の和が最小となるような時間スケール関数κ(τ)を生成することを特徴とするモータ制御装置。
Motor specifications such as motor torque, motor speed, acceleration, effective torque, and error in tracking command values, and constrained variables that are subject to restrictions from work requirements using the above motors are less than a preset allowable value In a motor control device that generates a command value for performing a desired operation in the shortest time at the same time and controls the motor to follow the generated command value,
A time scale function storage means for storing a time scale function κ (τ) that relates the virtual time τ and the actual time t by dt / dτ = κ (τ);
Reference command value storage means for storing a reference command value r (τ) given as a function of the virtual time τ;
Command value calculating means for calculating a command value r (t) at an actual time from the reference command value r (τ) and the time scale function κ (τ);
A frequency range in which the characteristics of the motor control system comprising the motor, a mechanical system driven by the motor, and motor control means for controlling the motor to follow the command value are accurately known is a first frequency. An approximate model that approximates the characteristics of the motor control system in the first frequency domain, with the frequency domain in which the characteristics and characteristics are not accurately known as the second frequency domain,
A first prediction model for predicting a value of the constrained variable based on the approximate model;
A second prediction model for predicting a frequency component of the second frequency region of the motor torque based on the approximate model;
Optimization means for calculating the time scale function κ (τ) based on the first and second prediction models;
With
A first evaluation function that evaluates the length of operation time required to perform the desired operation, and a second evaluation function that evaluates the magnitude of the output of the second prediction model,
The optimization means suppresses the predicted value of the constrained variable predicted by the first prediction model to be equal to or less than the set allowable value, and at the same time, the value of the first evaluation function and the second evaluation function A motor control device that generates a time scale function κ (τ) that minimizes the sum of the values of.
モータトルク、モータ速度、加速度、実効トルク、指令値への追従誤差などのモータの仕様、及び上記モータを用いて行う作業上の要求から制約が課せられる被制約変数を予め設定された許容値以下に抑えると同時に所望の動作を最短時間で行う指令値を生成し、生成された指令値に追従するようにモータを制御するモータ制御装置において、
仮想的な時間τと実際の時間tとをdt/dτ=κ(τ)で関係付ける時間スケール関数κ(τ)を記憶する時間スケール関数記憶手段と、
前記仮想時間τの関数として与えられる基準指令値r(τ)を記憶する基準指令値記憶手段と、
前記基準指令値r(τ)と前記時間スケール関数κ(τ)とから実際の時間における指令値r(t)を算出する指令値算出手段と、
前記モータと、該モータによって駆動される機械系、及び前記指令値に追従するように前記モータを制御するモータ制御手段からなるモータ制御系の特性が正確に分かっている周波数領域を第一の周波数領域、特性が正確には分かっていない周波数領域を第二の周波数領域とし、前記モータ制御系の、前記第一の周波数領域における特性を近似する近似モデルと、
前記近似モデルに基づいて前記被制約変数の値を予測する第一の予測モデルと、
前記近似モデルに基づいてモータトルクの前記第二の周波数領域の周波数成分を予測する第二の予測モデルと、
各被制約変数に対応した重み関数を記憶する重み関数記憶手段と、
前記第一の予測モデルにより予測される被制約変数の値と前記被制約変数の許容値とを比較する比較手段と、
前記比較手段の結果に基づいて、前記重み関数記憶手段に記憶された重み関数を修正する重み関数修正手段と、
前記第一及び第二の予測モデルの出力と前記重み関数記憶手段に記憶された重み関数の値とに基づいて、前記時間スケール関数κ(τ)を算出する最適化手段と、
を備えることを特徴とするモータ制御装置。
Motor specifications such as motor torque, motor speed, acceleration, effective torque, and error in tracking command values, and constrained variables that are subject to restrictions from work requirements using the above motors are less than a preset allowable value In a motor control device that generates a command value for performing a desired operation in the shortest time at the same time and controls the motor to follow the generated command value,
A time scale function storage means for storing a time scale function κ (τ) that relates the virtual time τ and the actual time t by dt / dτ = κ (τ);
Reference command value storage means for storing a reference command value r (τ) given as a function of the virtual time τ;
Command value calculating means for calculating a command value r (t) at an actual time from the reference command value r (τ) and the time scale function κ (τ);
A frequency range in which the characteristics of the motor control system comprising the motor, a mechanical system driven by the motor, and motor control means for controlling the motor to follow the command value are accurately known is a first frequency. An approximate model that approximates the characteristics of the motor control system in the first frequency domain, with the frequency domain in which the characteristics and characteristics are not accurately known as the second frequency domain,
A first prediction model for predicting a value of the constrained variable based on the approximate model;
A second prediction model for predicting a frequency component of the second frequency region of the motor torque based on the approximate model;
Weight function storage means for storing a weight function corresponding to each constrained variable;
A comparison means for comparing the value of the constrained variable predicted by the first prediction model with an allowable value of the constrained variable;
Weight function correcting means for correcting the weight function stored in the weight function storage means based on the result of the comparing means;
Optimization means for calculating the time scale function κ (τ) based on the outputs of the first and second prediction models and the value of the weight function stored in the weight function storage means;
A motor control device comprising:
請求項5記載のモータ制御装置において、
前記最適化手段は、前記第一の予測モデルから出力される各被制約変数の二乗に前記重み関数記憶手段に記憶された重み関数の値を乗じた値と、前記第二の予測モデルから出力される予測値の二乗の定数倍と、前記時間スケール関数の二乗との和をモータの動作開始時刻から動作終了時刻まで、前記仮想時間領域で積分した値が最小になるような前記時間スケール関数を算出し、
前記重み関数修正手段は、前記予測モデルにより予測される被制約変数がその許容値よりも大きい時刻では、その被制約変数に対応する重み関数の値を増加させ、逆に、被制約変数の予測値がその許容値より小さい場合には、対応する重み関数を負にならない範囲で減少させるように重み関数を修正し、
前記最適化手段は、上記のように修正された重み関数を用いて、前記時間スケール関数を算出することを特徴とするモータ制御装置。
The motor control device according to claim 5, wherein
The optimization means outputs a value obtained by multiplying the square of each constrained variable output from the first prediction model by the value of the weight function stored in the weight function storage means, and the second prediction model. The time scale function that minimizes the value obtained by integrating the sum of the square of the predicted value squared and the square of the time scale function from the motor operation start time to the operation end time in the virtual time domain. To calculate
The weight function correcting means increases the value of the weight function corresponding to the constrained variable at a time when the constrained variable predicted by the prediction model is larger than the allowable value, and conversely, predicting the constrained variable If the value is less than its tolerance, modify the weight function to reduce the corresponding weight function to a non-negative range,
The motor control apparatus characterized in that the optimization means calculates the time scale function using the weight function modified as described above.
請求項3乃至請求項6の何れかに記載のモータ制御装置において、
前記モータで駆動される機械系の概略の固有振動数以下の周波数領域を前記第一の周波数領域とし、前記機械系の概略の固有振動数以上の周波数領域を前記第二の周波数領域とすることを特徴とするモータ制御装置。
The motor control device according to any one of claims 3 to 6,
The frequency region below the approximate natural frequency of the mechanical system driven by the motor is the first frequency region, and the frequency region above the approximate natural frequency of the mechanical system is the second frequency region. A motor control device.
JP13001297A 1997-05-20 1997-05-20 Motor control device Expired - Fee Related JP3805476B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13001297A JP3805476B2 (en) 1997-05-20 1997-05-20 Motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13001297A JP3805476B2 (en) 1997-05-20 1997-05-20 Motor control device

Publications (2)

Publication Number Publication Date
JPH10323070A JPH10323070A (en) 1998-12-04
JP3805476B2 true JP3805476B2 (en) 2006-08-02

Family

ID=15023977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13001297A Expired - Fee Related JP3805476B2 (en) 1997-05-20 1997-05-20 Motor control device

Country Status (1)

Country Link
JP (1) JP3805476B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60044508D1 (en) * 2000-11-20 2010-07-15 Mitsubishi Electric Corp METHOD FOR CONTROLLING AN INDUCTION MOTOR
US6949905B2 (en) * 2001-07-04 2005-09-27 Mitsubishi Denki Kabushiki Kaisha Servo control system and method of setting
JP6396718B2 (en) * 2014-08-21 2018-09-26 株式会社ダイヘン Torque calculation device
JP7024742B2 (en) 2019-02-05 2022-02-24 オムロン株式会社 Controls, model creation methods and control programs
JP7209617B2 (en) * 2019-11-15 2023-01-20 株式会社神戸製鋼所 MOTOR DRIVE CONTROL APPARATUS AND METHOD, AND MOTOR DRIVE CONTROL SYSTEM
CN116100578B (en) * 2023-04-13 2023-07-14 深圳市大族机器人有限公司 Instruction quick response system of double-joint robot

Also Published As

Publication number Publication date
JPH10323070A (en) 1998-12-04

Similar Documents

Publication Publication Date Title
EP3651942B1 (en) Vibration control of systems with configuration dependent dynamics
Mohamed et al. Command shaping techniques for vibration control of a flexible robot manipulator
De Luca et al. Robots with flexible elements
JP3830475B2 (en) Control device
US9242374B2 (en) Robotic control apparatus
Barre et al. Influence of a jerk controlled movement law on the vibratory behaviour of high-dynamics systems
O'Connor Wave-based analysis and control of lump-modeled flexible robots
JP4697139B2 (en) Servo control device
JPH10133703A (en) Adaptive robust controller
Wells et al. Feedforward and feedback control of a flexible robotic arm
JP2014136260A (en) Control device
JP3805476B2 (en) Motor control device
JP7022261B1 (en) Frequency characteristic prediction device and frequency characteristic prediction method
Boscariol et al. Design of a controller for trajectory tracking for compliant mechanisms with effective vibration suppression
JP3936242B2 (en) Gain setting method, controller validity verification method and robot control method in servo motor controller
CN101943889A (en) The method and the device that make the electric drive system regulator start and/or move automatically
JP5407435B2 (en) Motor control device
WO2019117202A1 (en) Control device
JP2005044230A (en) Robot control device
JP6237039B2 (en) Robot control apparatus and robot control method
Waiboer et al. Application of a perturbation method for realistic dynamic simulation of industrial robots
Tokhi et al. Hybrid learning control schemes with acceleration feedback of a flexible manipulator system
JP7518278B2 (en) ADJUSTMENT SUPPORT DEVICE, CONTROL SYSTEM, AND ADJUSTMENT SUPPORT METHOD
JP6800384B1 (en) Positioning control device and positioning method
JP2003274684A (en) Servo controlling apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060411

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: 20060509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120519

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140519

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees