説明

モータ制御装置

【課題】動作中に振動特性が変化する制御対象に対する振動抑制制御の精度を向上できるモータ制御装置を得ること。
【解決手段】モータ1a及び振動可能要素1bを有する制御対象1の動作を制御して、制御対象の動作を動作目標値に追従するようにモデルトルクτaを生成するフィードフォワード制御部111と、モデルトルクに応じてトルク指令τMを発生させる発生部とを備え、フィードフォワード制御部は、制御対象の振動関連情報に応じて、振動特性を表す振動パラメータθを生成する生成部と、振動パラメータに応じて、動特性を模擬した数式モデル121を変更し、モデルトルクから変更された数式モデルにより、制御対象の動作状態を含むモデル変数を演算する第1の演算部と、モデル変数が一定の追従特性で動作目標値に追従するように、振動パラメータに応じて特性を変化させた演算によりモデルトルクを演算する第2の演算部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置に関する。
【背景技術】
【0002】
剛性の低い産業用機械装置において、モータにより産業用機械装置の位置決め駆動が行われると、機械共振などに起因して停止時に残留振動が発生する場合がある。このような残留振動を抑制するために、モータを介して産業用機械装置を動作させるモータ制御装置は、動作目標値に応じて産業用機械装置の振動周波数(共振周波数)の信号成分が小さくなるように制御信号を演算し、産業用機械装置の制振制御を行う。モータ制御装置がこの制振制御を行うためには、産業用機械装置を含む制御系の振動周波数に応じた制振制御の制振パラメータが必要である。動作中に振動周波数が変化しない産業用機械装置に対しては、固定の制振パラメータをモータ制御装置に設定すれば、十分残留振動が抑制可能である。
【0003】
一方、産業用機械装置の中には、直行ロボット、クレーンなどのように動作中に振動周波数が変化するものが存在する。このような産業用機械装置に対しては、固定の制振パラメータをモータ制御装置に設定しても、残留振動を抑制できない傾向にある。
【0004】
それに対して、特許文献1には、x軸用のモータによりアームをx軸方向に移動させるとともにz軸用のモータによりアーム先端の重量物をz軸方向に移動させることが可能な機械制御装置において、アーム及び重量物を含む制御対象の変化する振動周波数に応じて、パラメータ(ゲイン定数)を変更することが記載されている。具体的には、制御用データテーブルがスライド部からアーム先端の重量物までの距離についての位置情報を得て振動周波数の補正量に係る出力データを出力し、補正ブロックが制御用データテーブルの出力データから得られたパラメータ(ゲイン定数)を位置指令値の2階微分値に乗算して補正量を求めて加算器へ出力し、加算器がこの補正量を元の位置指令に加算する。これにより、特許文献1によれば、制御対象における移動する一部の構成部材の現在位置に応じた振動周波数等の変化を考慮して補正を行うので、所定位置まで移動させた制御対象を振動させずに停止させることができるとされている。
【0005】
また、特許文献2には、機械の位置制御装置において、機械を電動機と機械端とからなる2慣性共振系として模擬して電動機と機械端との理論速度偏差を求め、その理論速度偏差から補償トルクを演算し、位置指令に応じたトルク成分から補償トルクを減算して理論トルクを求め、理論トルクを用いて実位置及び実速度がそれぞれ理論位置及び理論速度に追従するようにトルク指令を制御することが記載されている。そして、機械のX軸駆動を行う際に、他軸位置であるY軸位置に応じて機械端慣性、補償トルク比例係数、補償トルク積分係数を逐次変更し、機械端速度を演算する際に用いる負荷慣性を変更後の機械端慣性で書き換え、補償トルクを演算する際に用いる比例係数及び積分係数を変更後の補償トルク比例係数及び補償トルク積分係数で書き換えるとされている。これにより、特許文献2によれば、Y軸位置の移動により機械系の特性が変化した場合でも、機械系の特性に合った最適な制御を得ることができるので、振動抑制性能が損なわれることなく高精度な位置制御を達成できるとされている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−38311号公報
【特許文献2】特開2004−70790号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載された機械制御装置では、変化する機械の振動周波数に対応させながらパラメータ(ゲイン定数)を変化させて位置指令値の2階微分値に乗算することで、動作中に機械固有振動数が変化する制御対象に対しても振動を励起しないようにした指令生成法が実現されている。しかしながら、パラメータを変化する機械固有振動数に正確に対応させながら変化させるだけでは補正の精度が低く、振動抑制制御の精度が低い傾向にある。
【0008】
特許文献2に記載された位置制御装置では、機械系の変化に合わせて、2慣性共振系モデルにおける負荷慣性とねじり位置制御の比例ゲイン・積分ゲインとを可変にしている。このように変更するゲインがねじり位置制御のゲインのみであるため、機械系の特性の変化に合わせて、位置指令から理論位置・理論速度・理論トルクまでの特性が変化してしまい、振動抑制制御における追従特性の指定が難しい。追従特性を指定できない場合、振動抑制制御の精度を向上することが困難になる。
【0009】
本発明は、上記に鑑みてなされたものであって、動作中に振動特性が変化する制御対象に対する振動抑制制御の精度を向上できるモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明の1つの側面にかかるモータ制御装置は、モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、前記制御対象の動作を動作目標値に追従させるようにモデルトルクを生成する制御部と、前記モデルトルクに応じて前記モータに対するトルク指令を発生させる発生部とを備え、前記制御部は、前記制御対象の振動関連情報に応じて、前記制御対象の振動特性を表す振動パラメータを生成する生成部と、前記振動パラメータに応じて、前記制御対象の動特性を模擬した数式モデルを変更し、前記モデルトルクから前記変更された数式モデルにより、前記制御対象の動作状態を含むモデル変数を演算する第1の演算部と、前記モデル変数が一定の追従特性で前記動作目標値に追従するように、前記モデルパラメータと前記動作目標値から前記振動パラメータに応じて特性を変化させた演算により前記モデルトルクを演算する第2の演算部とを有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、動作中に振動周波数が変化する制御対象に対して、動作目標値に対するモデルパラメータの追従特性が一定の特性になるように指定することができるので、容易に振動抑制制御の精度を向上できる。すなわち、動作中に振動特性が変化する制御対象に対する振動抑制制御の精度を向上できる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施の形態1にかかるモータ制御装置の構成を示す図である。
【図2】図2は、実施の形態1における制御対象を示す図である。
【図3】図3は、実施の形態1における制御対象を示す図である。
【図4】図4は、実施の形態1における制御対象を示す図である。
【図5】図5は、実施の形態1におけるモデル制御器の構成及び動作を示す図である。
【図6】図6は、実施の形態1における共振・反共振テーブルの構成を示す図である。
【図7】図7は、実施の形態1の変形例におけるモデル制御器の構成及び動作を示す図である。
【図8】図8は、実施の形態2にかかるモータ制御装置の構成を示す図である。
【図9】図9は、実施の形態2におけるモデル制御器の構成及び動作を示す図である。
【図10】図10は、実施の形態3にかかるモータ制御装置の構成及び動作を示す図である。
【図11】図11は、実施の形態3におけるモデル制御器の構成及び動作を示す図である。
【図12】図12は、実施の形態4におけるモデル制御器の構成及び動作を示す図である。
【発明を実施するための形態】
【0013】
以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0014】
実施の形態1.
実施の形態1にかかるモータ制御装置100の構成について図1を用いて説明する。図1は、実施の形態1にかかるモータ制御装置100の構成を示すブロック図である。
【0015】
モータ制御装置100は、駆動する制御対象1の位置目標値(動作目標値、位置指令)yrefを外部(例えば、図示しない上位コントローラ)から受けるとともに、検出器2(例えば、エンコーダ)により検出されたモータ1aの位置(例えば、モータ1a内におけるロータの回転位置又は可動子の駆動位置)を表すモータ位置検出値pを検出器2から受ける。また、モータ制御装置100は、制御対象1の振動特性に関連した制御対象1の状態を表すパラメータ変更信号(振動関連情報)MLを検出器3から受ける。振動関連情報とは、例えば振動可能要素のバネ定数のように制御対象1を駆動した際に発生する振動の振動周波数に影響を与える値を示す。モータ制御装置100は、パラメータ変更信号MLに応じた動作を行うとともに、モータ位置検出値pが位置目標値yrefへ追従するようにトルク指令τを発生させて電流制御器4へ出力する。これにより、電流制御器4がトルク指令τに応じた電流I(に依存した電力)を制御対象1内部にあるモータ1aへ供給するので、モータ1aは、トルク指令τに応じたモータトルクを発生して制御対象1内部にあるバネなどの弾性体もしくは柔軟物(振動可能要素)1b及び機械負荷1cを動作させる。
【0016】
具体的には、モータ制御装置100は、フィードフォワード制御部111、フィードバック制御部112、及びトルク加算器113を備える。フィードバック制御部112及びトルク加算器113はトルク指令τを発生させる発生部として機能する。
【0017】
フィードフォワード制御部111は、位置目標値yrefを外部から受けるとともに、パラメータ変更信号MLを検出器3から受ける。検出器3は、例えば、アーム長検出器であり、z軸アーム1b1(図3参照)の長さをパラメータ変更信号(振動関連情報)MLとして検出する。あるいは、検出器3は、例えば、ロープ長検出器であり、ロープ1b2(図4参照)の長さをパラメータ変更信号(振動関連情報)MLとして検出する。フィードフォワード制御部111は、制御対象1の理想的な動作波形に対応したモデル位置p、モデル速度vをフィードバック制御部112へ出力し、モデルトルクτをトルク加算器113へ出力する。
【0018】
フィードバック制御部112は、フィードフォワード制御部111から出力されたモデル位置p、モデル速度vを受けるとともに、検出器2からフィードバックされた制御対象1(モータ1a)のモータ位置検出値pを受けて、トルク加算器113へフィードバックトルクτを出力する。
【0019】
トルク加算器113は、フィードバックトルクτとモデルトルクτとの和をトルク指令τとして発生させて電流制御器4へ出力する。電流制御器4は、トルク加算器113から出力されたトルク指令τを受けて、トルク指令τと一致するモータトルクを実現する実電流I(に依存した電力)をモータ1aへ加える(供給する)。そして電流制御器4から出力された実電流Iをモータ1aに流すことにより、制御対象1内のバネなどの弾性体もしくは柔軟物(振動可能要素)1b及び機械負荷1cが駆動される。また、検出器2により、制御対象1内のモータ1aのモータ位置検出値pが検出される。
【0020】
次に、フィードフォワード制御部111の内部構成の概略について説明する。フィードフォワード制御部111は、制振パラメータ決定部(生成部)123、制振パラメータフィルタ(第2の生成部)124、数式モデル(第1の演算部)121、及びモデル制御器(第2の演算部)122を有する。
【0021】
制振パラメータ決定部123は、パラメータ変更信号MLを受けて制振パラメータ信号θを生成する。すなわち、制振パラメータ決定部123は、パラメータ変更信号MLに基づき、制御対象1の現在の振動特性(例えば、共振周波数)を表す制振パラメータ信号(振動パラメータ)θを生成して制振パラメータフィルタ124、モデル制御器122、及び数式モデル121へ出力する。
【0022】
制振パラメータフィルタ124は、制振パラメータ信号θからその時間変化量に応じた制振パラメータ変分信号θ’を生成する。すなわち、制振パラメータフィルタ124は、制振パラメータ信号θを受けて、制御対象1の振動特性変化を表す、すなわち制振パラメータ信号θの時間変化率に相当する制振パラメータ変分信号(第2の振動パラメータ)θ’を演算して、演算した結果をモデル制御器122及び数式モデル121へ出力する。
【0023】
数式モデル121は、制御対象1の動特性を模擬した数式モデルを用いてモデル出力を演算する。すなわち、数式モデル121は、制振パラメータ信号θを制振パラメータ決定部123から受け、制振パラメータ変分信号θ’を制振パラメータフィルタ124から受け、モデルトルクτをモデル制御器122から受ける。数式モデル121は、制御対象1の動特性を模擬した数式モデルを有しており(例えば、図2(b)参照)、制振パラメータ信号θ及び制振パラメータ変分信号θ’に応じて数式モデルを変更する。数式モデル121は、モデルトルクτから、変更後の数式モデルにより、モデル位置p、モデル速度v、内部変数x、モデル出力(モデル変数)yを演算する。そして、数式モデル121は、モデル位置p及びモデル速度vをモデル制御器122及びフィードバック制御部112へ供給し、内部変数x及びモデル出力yをモデル制御器122へ供給する。ここで、内部状態xは、例えばn次(nは1以上)の数値ベクトルである。また、モデル出力yは、制御対象1の動特性を模擬した数式モデルにおいて、動作目標値に追従させたい信号を表す。例えば、動作目標値が位置指令の場合は、モデル出力もモータ回転位置、機械位置など位置情報に関する信号、動作目標値が速度指令の場合は、モデル出力もモータ回転速度、機械速度など速度情報に関する信号を表す。
【0024】
モデル制御器122は、最終的にはモデル出力yとモデル位置pとを位置目標値yrefに追従させる。すなわち、モデル制御器122は、位置目標値yrefを外部から受け、制振パラメータ信号θを制振パラメータ決定部123から受け、制振パラメータ変分信号θ’を制振パラメータフィルタ124から受け、モデル位置p、モデル速度v、内部状態x、モデル出力yを数式モデル121から受ける。モデル制御器122は、これらの入力の値を用いた状態フィードバックを行う。すなわち、モデル制御器122は、数式モデル121の各出力と、制振パラメータ信号θ及び制振パラメータ変分信号θ’に応じて変化するゲインとの乗算に基づき、数式モデル121のモデル位置pが制御対象1に振動を励起させず、かつ定常的にはモデル出力y及びモデル位置pが位置目標値yrefに一致するように、モデルトルクτを計算して出力する。
【0025】
次にフィードバック制御部112の内部構成について説明する。フィードバック制御部112は、位置制御器132、速度演算器133、及び速度制御器131を有する。
【0026】
位置制御器132は、フィードフォワード制御部111から出力されたモデル位置pを受けるとともに、検出器2からフィードバックされたモータ位置検出値pを受ける。位置制御器132は、モータ位置検出値pがモデル位置pに追従するように速度指令vを計算する。位置制御器132は、計算した速度指令vを速度制御器131へ出力する。例えば、位置制御器132が比例制御の場合、位置比例ゲインをKとして、式(1)の演算を行い、その結果を速度指令vとして出力する。
【0027】
=K(p−p)・・・(1)
【0028】
速度演算器133は、検出器2より検出されたモータ位置検出値pを受ける。速度演算器133は、受けたモータ位置検出値pに対して差分やフィルタ処理等を行い、モータ速度演算値vを計算する。速度演算器133は、計算したモータ速度演算値vを速度制御器131へ出力する。
【0029】
速度制御器131は、フィードフォワード制御部111から出力されたモデル速度vを受け、位置制御器132から出力された速度指令vを受け、速度演算器133から出力されたモータ速度演算値vを受ける。速度制御器131は、モータ速度演算値vをモデル速度vに追従させるように、すなわちモータ速度演算値vMがモデル速度vと速度指令vとの和に一致するように速度PI制御などの演算によりフィードバックトルクτを計算する。速度制御器131は、計算したフィードバックトルクτをトルク加算器113へ出力する。速度制御器131における計算処理の例として、式(2)のようにPI制御とフィルタとの組み合わせがある。ここでsはラプラス演算子、Kは速度比例ゲイン、Kは速度積分ゲインである。フィルタH(s)は速度制御器131の速度比例ゲイン、速度積分ゲインで決まる制御帯域よりも高い周波数において所定の周波数成分を除去するもので、ローパスフィルタやノッチフィルタと呼ばれるものを用いる。
【0030】
τ=H(s)×K×((s+K)/s)×(v+v−v
・・・(2)
【0031】
これに応じて、トルク加算器113は、フィードバック制御部112で計算されたフィードバックトルクτとフィードフォワード制御部111で計算されたモデルトルクτaを加算し、トルク指令τを計算する。そして、トルク加算器113は、電流制御器4にトルク指令τを出力する。これにより、制御対象1にあるモータ1aを駆動し、モータ位置検出値pを位置目標値yrefに追従させ、制御対象1に所望の動作を行わせることになる。
【0032】
次に、フィードフォワード制御部111の動作について詳細に説明する。本実施の形態では、数式モデル121を、図2(a)に示すようにモータがバネを介して機械負荷を起動する2慣性系モデルで表すこととして説明する。また、本実施の形態では、バネのバネ係数が動作中に変化するとする。図2(a)に示す2慣性系モデルの運動方程式は、式(3)、(4)で表すことができる。
【0033】
×v(1)aM=−k×(paM−paL)+τaM・・・(3)
【0034】
×v(1)aL=k×(paM−paL)・・・(4)
式(3)、(4)において、paMはモータ位置(例えば、モータ1a内におけるロータの回転位置又は可動子の駆動位置)、vaMはモータ速度(例えば、モータ1a内におけるロータの回転速度又は可動子の駆動速度)、paLは機械位置(機械負荷1cの位置)、vaLは機械速度(機械負荷1cの移動速度)、Jはモータ1aの慣性モーメント、Jは機械負荷1cの慣性モーメント、τaMはモータトルク(例えば、モータ1a内におけるロータ又は可動子に作用するトルク)、kはバネ定数を表す。このとき、式(5)、(6)に示す関係が成り立つ。
【0035】
aM=p(1)aM・・・(5)
【0036】
aL=p(1)aL・・・(6)
式(5)、(6)において、p(1)aLはpaLの時間に関する1階微分を表している。以後各記号の右上にある()内の数値は時間に関する微分の回数を表す。図2(b)には、図2(a)に示す2慣性系モデルに対応した数式モデル121の内部構成をブロック線図で示している。図2における記号の図1における記号との対応関係を説明すると、モータ位置paMがモデル位置p、モータ速度vaMがモデル速度v、モータトルクτaMがモデルトルクτ、機械位置paLがモデル出力y、機械速度vaLが内部変数xに相当する。また、本実施の形態では、k(バネ定数)は固定値ではなく動作中に変化し、それに応じて式(7)、(8)で表される2慣性系モデルの共振周波数ω、反共振周波数ωも動作中に変化する。
【0037】
ω=√(k×(1/J+1/J))・・・(7)
【0038】
ω=√(k/J)・・・(8)
なお、式(7)、(8)を用いて式(3)、(4)を書き直すと、次のようになる。
【0039】
(1)aM=−J/(J+J)×ω×(paM−paL
+1/J×τaM・・・(9)
【0040】
(1)aL=ω×(paM−paL)・・・(10)
【0041】
つまり、数式モデル121は、後述する非線形補償器142からモータトルクτaMを受け、制振パラメータ決定部123から制振パラメータ信号θに相当する共振周波数ω及び反共振周波数ωを受ける。そして、数式モデル121は、式(5)、(6)、(9)、(10)を用いて、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを計算する。数式モデル121は、モータ位置paM及びモータ速度vをモデル制御器122及びフィードバック制御部112へ供給し、機械位置paL及び機械速度vaLをモデル制御器122へ供給する。
【0042】
このようなバネ定数kが動作中に変化する2慣性系でモデル化ができる機械装置としては、例えば、図3(a)に示すようなz軸アーム1b1のアーム長が変化する直交2軸(x−y)ロボットや、図4に示すようなロープ1b2のロープ長が変化するクレーンなどが挙げられる。
【0043】
図3(a)に示す直交2軸(x−y)ロボットでは、x軸モータ1a1及びz軸モータ1a11によりそれぞれ2つのアームすなわちx軸アーム1d1及びz軸アーム1b1が駆動される。x軸アーム1d1をx軸方向に駆動させると、z軸アーム1b1全体がx軸方向へ移動する。また、z軸アーム1b1を駆動させるとz軸方向に負荷1c1が移動する構成になっている。このような直交2軸ロボットでは、x軸方向に負荷1c1を高速駆動させると振動が発生する。その振動特性を表したのが図3(b)、(c)のボード線図である。図3(b)、(c)のボード線図を見ると、z軸アーム1b1が短い場合と長い場合の両方において、ゲイン特性が山になっている共振特性と、ゲイン特性が谷になっている反共振特性とがあることがわかる。このような共振・反共振周波数の存在する機械の動特性は式(3)、(4)で表される2慣性系モデルを用いて表されることは既に良く知られている。なお、図3(b)、(c)のボード線図では、z軸アーム1b1の長さが短い場合のx軸方向のゲイン特性が破線で示され、z軸アーム1b1の長さが長い場合のx軸方向のゲイン特性が実線で示されている。
【0044】
また、直交2軸ロボットの場合、図3(b)、(c)のボード線図に示されるように、負荷1c1をx軸方向に駆動させたときの振動周波数が、z軸方向のアーム長に依存する。図3(b)、(c)に示すような特性の場合、z軸アーム1b1のアーム長が長い場合は、x軸方向に駆動させたときの負荷1c1による振動周波数が低く、z軸アーム1b1のアーム長が短い場合は、x軸方向に駆動させたときの負荷1c1による振動周波数が高い。つまり、x軸アーム1d1及びz軸アーム1b1の両方を同時に駆動させた場合、負荷1c1による振動特性(共振、反共振特性)は時間により変化する。このように共振、反共振特性が時間により変化する場合、直交2軸ロボットの特性を、式(3)、(4)で表されるバネ定数kが時間変化する2慣性系モデルを用いて表すことが可能である。
【0045】
図4で表されるロープ長が変化するクレーンの場合は、モータ1a2によりスライダ1d2を駆動させることでロープ1b2を介して負荷1c2が水平方向に移動し、ロープ1b2の巻き上げ、巻き下げにより負荷1c2が垂直方向に移動する。この場合、スライダ1d2による水平方向の駆動が上記の直交2軸ロボットにおけるx軸アーム1d1の駆動に対応し、ロープ1b2の巻き上げ及び巻き下げがz軸アーム1b1の駆動に対応する。すなわち、ロープ1b2の長さにより、スライダ1d2を駆動させたときの負荷1c2の振動周波数が異なる。このようにロープ1b2の長さにより振動周波数が異なるが、この場合も、式(3)、(4)で表されるバネ定数kが時間変化する2慣性系モデルで表すことが可能である。
【0046】
なお、ここで説明したものは数式モデル121の一例であり、数式モデル121の運動方程式又は動特性が式(3)、(4)または(5)、(6)、(9)、(10)に限定されるものではない。
【0047】
次に、本実施の形態におけるモデル制御器122について図5を用いて詳細に説明する。図5は、モデル制御器122の構成及び動作を表すブロック線図である。
【0048】
モデル制御器122は、状態フィードバック制御器(第3の演算部)141及び非線形補償器(補償部)142を有する。状態フィードバック制御器141は、位置目標値yref、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを受けて、仮想入力uaMを生成して非線形補償器142へ供給する。非線形補償器142は、仮想入力uaM、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを受けて、モータトルクτaMを演算して出力する。次にこれらの動作について詳細に説明する。
【0049】
非線形補償器142は、仮想入力uaM、モータ位置paM、モータ速度vaM、機械位置paL、及び機械速度vaLを受けて、数式モデル121に存在する非線形特性を補償し、仮想入力uaMから機械位置paLまでの伝達特性が線形特性となるように下記の式(11)を用いて、モータトルクτaMを演算する。ここで図示していないが、共振周波数ω、反共振周波数ωは、制振パラメータ決定部123から入力させる制振パラメータθに相当し、共振周波数ω、反共振周波数ωの1階微分ω(1)、ω(1)と2階微分ω(2)、ω(2)とは、制振パラメータフィルタ124から入力される制振パラメータ変分信号θ’に相当する。
【0050】
τaM=J/ω×uaM
+J×{ω−2×ω(2)/ω−2×(ω(1)/ω
×(paM−paL
−4×J×(ω(1)/ω)×(vaM−vaL)・・・(11)
【0051】
状態フィードバック制御器141は、位置目標値yref及び機械位置paLを受けて、フィードフォワード制御部111が所定の特性となるように仮想入力uaMを計算し、非線形補償器142へ出力する。本実施の形態においては、状態フィードバック制御器141が、下記の式(12)に示される状態フィードバック制御則を用いて仮想入力uaMを計算する。そして、状態フィードバック制御器141は、計算した仮想入力uaMを非線形補償器142へ供給する。式(12)において、K、K、K、Kは状態フィードバックゲインであり、状態フィードバック制御器141は、これらの値を調整することによりフィードフォワード制御部111の追従特性を決定する。
【0052】
aM=K×K×K×K×(yref−paL
−K×K×K×p(1)aL
−K×K×p(2)aL
−K×p(3)aL・・・(12)
【0053】
上記の説明に基づき、フィードフォワード制御部111全体の動作を説明すると以下の通りになる。
【0054】
状態フィードバック制御器141は、位置目標値yrefと、機械位置paLの現在値(初期値)とを受けて、仮想入力uaMを式(12)により計算する。そして計算した仮想入力uaMを非線形補償器142へ供給する。
【0055】
非線形補償器142は、機械位置paL、機械速度vaL、モータ位置paM、モータ速度vaM、及び状態フィードバック制御器141で計算された仮想入力uaMを受けて、式(11)を用いてモータトルクτaMを計算する。このとき、共振周波数ω、反共振周波数ωとそれらの微分ω(1)、ω(1)、ω(2)、ω(2)は、それぞれ制振パラメータ決定部123、制振パラメータフィルタ124から出力された値を用いる。これらの値が可変パラメータとなる。そして、非線形補償器142は、計算したモータトルクτaMを数式モデル121へ出力する。
【0056】
数式モデル121は、非線形補償器142で計算されたモータトルクτaMと制振パラメータ決定部123から出力された共振周波数ω、反共振周波数ωを受けて、2慣性系モデルの運動方程式(5)、(6)、(9)、(10)に基づき、機械位置paL、機械速度vaL、モータ位置paM、モータ速度vaMを計算する(例えば、図2(b)参照)。このとき、共振周波数ω、反共振周波数ωが可変パラメータとなる。数式モデル121は、モータ位置paM、モータ速度vaMをフィードバック制御部112へ供給し、機械位置paLを状態フィードバック制御器141へ供給し、機械位置paL、機械速度vaL、モータ位置paM、モータ速度vaMを非線形補償器142へ供給する(図1、図5参照)。
【0057】
次に、フィードフォワード制御部111の特性について説明する。
【0058】
式(5)、(6)、(9)、(10)で表される2慣性系モデルにおいて、式(10)の2階微分に基づきモータトルクτaMから機械位置paLまでの特性を計算すると
(4)aL=ω/J
×[J×{−ω+2×ω(2)/ω+2×(ω(1)/ω
×(paM−paL
+4×J×(ω(2)/ω)×(vaM−vaL
+τaM]・・・(13)
となる。つまり、共振周波数ω、反共振周波数ωが変化する2慣性系モデルでは、その動特性が共振周波数ω、反共振周波数ωだけでなく、それらの時間的な変化率ω(1)、ω(1)、ω(2)、ω(2)にも影響される。
【0059】
非線形補償器142は、この共振周波数ω、反共振周波数ωの時間的な変化率ω(1)、ω(1)、ω(2)、ω(2)に起因する非線形特性を補償する。実際に式(11)を式(13)に代入すると
【0060】
(4)aL=uaM・・・(14)
となり、機械位置paLがモデル出力yに対応していることから仮想入力uaMからモデル出力yまでの伝達特性が4重積分の線形特性となる。つまり、非線形補償器142の入力である仮想入力uaMからモデル出力yである機械位置paLまでの伝達特性には、共振周波数ω、反共振周波数ωの時間的な変化率ω(1)、ω(1)、ω(2)、ω(2)が全く影響を与えない。
【0061】
状態フィードバック制御器141は、仮想入力uaMから機械位置paLまでの伝達特性が式(14)で表されると考えて設計する。式(14)を式(12)に代入すると、位置目標値yrefから機械位置paLまでの特性は、ラプラス演算子sを用いて表すと
aL(s)=(K×K×K×K
×1/(s+K×s+K×K×s
+K×K×K×s+K×K×K×K
×yref(s)・・・(15)
となる。ここでpaL(s)、yref(s)はそれぞれ機械位置paL、位置目標値yrefのラプラス変換されたものを表す。つまり、状態フィードバックゲインK、K、K、Kを決定することにより、位置目標値yrefに対する機械位置paLの追従特性(極配置)を決定することが可能となる。
【0062】
機械位置paLの特性が決定されると、モデル位置pに相当するモータ位置paMの特性は式(10)より式(16)と計算され、モデル速度vに相当するモータ速度vaMの特性は式(16)の両辺を微分することにより式(17)と表される。
【0063】
aM=1/ω×p(2)aL+paL・・・(16)
【0064】
aM=1/ω×p(3)aL+p(1)aL
−2×ω(1)/ω×p(2)aL・・・(17)
【0065】
式(16)、式(17)の特性で表されるモータ位置paM、モータ速度vaMがそれぞれモデル位置p、モデル速度vとしてフィードバック制御部112に出力され、フィードバック制御部112は、モータ位置検出値pをモデル位置p、モータ速度演算値vがモデル速度vに追従するようにフィードバックトルクτを演算して出力する。モータ位置検出値pがモデル位置pに追従するとともにモータ速度演算値vがモデル速度vに追従するようにフィードバックトルクτを演算することにより、制御対象1内にあり実際のモータに接続されている機械の位置の挙動を式(15)で表される特性に一致させることができる。よって、状態フィードバックゲインK、K、K、Kを振動が発生しないような(一定の)極配置になるように決定することで、制御対象1内の機械に振動を励起することなく、かつ所定の(一定の)追従特性で動作させることが可能となる。
【0066】
次に、制振パラメータ決定部123及び制振パラメータフィルタ124の動作について詳細に説明する。
【0067】
制振パラメータ決定部123は、パラメータ変更信号MLを受け取り、制振パラメータフィルタ124へ制振パラメータθを出力する。パラメータ変更信号MLは、制御対象1の現在の状態を表す信号である。パラメータ変更信号MLは、例えば、図3に示すアーム長が変化する直交2軸(x−y)ロボットにおけるz軸モータ1a11の回転位置に応じた(負荷の位置を決める)z軸アーム1b1の長さ(アーム長)を含む。あるいは、パラメータ変更信号MLは、例えば、図4に示すクレーンにおけるロープ1b2の長さ(ロープ長)を含む。制振パラメータ信号θは、制御対象1の振動特性を表す信号であり、例えば、共振周波数や反共振周波数、負荷慣性モーメント、バネ定数、ロープ長などである。
【0068】
例えば、制振パラメータ決定部123は、図6に示すように、パラメータ変更信号MLの複数の値と制振パラメータ信号θの複数の値とが対応付けられたテーブルを有していてもよい。すなわち、例えば、パラメータ変更信号MLの複数の値と制振パラメータ信号θの複数の値との対応を予め実験的に求めておき、制振パラメータ決定部123に予め記憶しておいても良い。この場合、制振パラメータ決定部123は、図6に示すテーブルを逐次参照することにより、検出器3(図1参照)から受けたパラメータ変更信号MLの値に対応する制振パラメータ信号θすなわち共振周波数ωや反共振周波数ωを決定して生成する。
【0069】
あるいは、例えば、制振パラメータ決定部123は、図6に示すテーブルに代えて、パラメータ変更信号MLの値と制振パラメータ信号θの値との関係を示す関数を有していても良い。すなわち、例えば、パラメータ変更信号MLの値と制振パラメータ信号θの値との関係を示す関数を予め実験的に求めておき、制振パラメータ決定部123に予め記憶しておいても良い。この場合、制振パラメータ決定部123は、記憶された関数を逐次参照することにより、検出器3(図1参照)から受けたパラメータ変更信号MLに対応する制振パラメータ信号θすなわち共振周波数ωや反共振周波数ωを決定して生成する。
【0070】
制振パラメータフィルタ124は、制振パラメータ信号θを制振パラメータ決定部123から受け取り、制振パラメータ変分信号θ’を演算する。ここで、制振パラメータ変分信号θ’は制振パラメータ信号θの時間変化量に相当するように演算され、制御対象1の特性変化を表す。例えば、制振パラメータ変分信号θ’は、微分、差分、微分+平均化フィルタ、ハイパスフィルタなどを用いて演算させる。また、制振パラメータ信号θがテーブルにより記憶されている場合は、予め制振パラメータ信号θの変分量を計算しておき、計算した変分量とパラメータ変更信号MLの時間微分との積から制振パラメータ変分信号θ’を求めてもよい。
【0071】
以上のように、実施の形態1では、数式モデル121が、制振パラメータθに応じて数式モデル121の特性を変更し、モデルトルクτから変更後の数式モデルによりモデル位置pやモデル出力yを演算する。そして、モデル制御器122は、モデル位置pやモデル出力yが一定の追従特性で位置目標値yrefに追従するように、制振パラメータθに応じて特性を変化させた演算によりモデルトルクτを演算する。これにより、動作中に振動周波数が変化する制御対象に対して、動作目標値(位置指令)に対するモデル位置(モータ位置)やモデル出力(機械負荷の位置)の追従特性が一定の特性になるように指定することができるので、容易に振動抑制制御の精度を向上できる。すなわち、動作中に振動特性が変化する制御対象に対する振動抑制制御の精度を向上できる。
【0072】
また、実施の形態1では、フィードフォワード制御部111のモデル制御器122内を状態フィードバック制御器141と非線形補償器142とに分ける。非線形補償器142では、制御対象1の動特性を模擬している数式モデル121の可変パラメータに起因する非線形特性を補償するように、非線形補償器142の制御パラメータω、ω、ω(1)、ω(1)、ω(2)、ω(2)を制振パラメータ決定部123、制振パラメータフィルタ124に応じて変更している。これにより、数式モデル121の可変パラメータに依存せず、非線形補償器142と数式モデル121との直列接続における伝達特性が線形特性となるように非線形補償器142を動作させることができ、数式モデル121と非線形補償器142とのパラメータが可変になっても、状態フィードバック制御器141で設定した式(15)で表される所定の(一定の)追従特性を保つことが可能になっている。よって、動作中に振動周波数が変化する制御対象に対して、簡単に(一定の)追従特性が設定でき、かつ高い振動抑制効果が得られる。
【0073】
また、実施の形態1では、制振パラメータ決定部123が、パラメータ変更信号MLの複数の値と制振パラメータ信号θの複数の値とが対応付けられたテーブルを有し、そのテーブルを参照することにより、検出器3から受けたパラメータ変更信号MLに対応する制振パラメータ信号θを生成する。これにより、各サンプリング時における計算負荷を低減することが可能となる。
【0074】
あるいは、実施の形態1では、制振パラメータ決定部123が、パラメータ変更信号MLの値と制振パラメータ信号θの値との関係を示す関数を有し、その関数を参照することにより、検出器3から受けたパラメータ変更信号MLに対応する制振パラメータ信号θを生成する。これにより、サンプリング時における計算負荷を低減することが可能となる。
【0075】
また、実施の形態1では、制御対象の特性変化に応じて、フィードフォワード制御部111の特性を変化させる制振パラメータ決定部123と制振パラメータフィルタ124とを設けている。制振パラメータフィルタ124は、nを1より大きな整数とするとき、制振パラメータ信号θのn階微分もしくはn階差分を行うことにより制振パラメータ変分信号θ’を演算する。数式モデル121は、制振パラメータ信号θ及び制振パラメータ変分信号θ’に応じて、演算に用いる数式モデルの特性を変更し、モデル制御器122は、制振パラメータ信号θ及び制振パラメータ変分信号θ’に応じて特性を変化させた演算によりモデルトルクτを演算する。すなわち、動作中に特性が変化する制御対象では、その応答が振動特性(振動周波数)のみならず、その振動特性(振動周波数)の時間的な変化率にも影響を受けるが、制振パラメータフィルタ124により演算された振動特性の時間的な変化率も考慮してフィードフォワード制御を行うことにより、その影響も低減することが可能となる。これにより、動作中に特性が変化する制御対象に対しても高応答化・低振動化が実現できる。
【0076】
また、実施の形態1では、数式モデル121が演算に用いる数式モデルは、制御対象1の動特性が振動的な機械系でモデル化されたものである。これにより、数式モデルを用いた振動抑制制御に対して、振動抑制効果を持たせることが可能となる。
【0077】
また、実施の形態1では、制御対象1の現在の振動特性を表す制振パラメータθに応じて数式モデル121の特性を変更し、その際に、動作目標値から内部状態または、モデル出力の応答特性にかかる極配置を一定にするようフィードフォワード制御部111の特性を逐次変更する。これにより、動作中に振動周波数が変化する制御対象に対して、制御対象の位置を一定の追従特性で動作目標値(位置指令)に追従させることができる。
【0078】
なお、実施の形態1では、状態フィードバック制御器141において機械位置paLの微分、2階微分、3階微分を用いて状態フィードバック制御則を実現しているが、実際には、図7に示すようにそれらと等価な値を演算してもよい。すなわち、モータ制御装置100iのフィードフォワード制御部111iはモデル制御器122iを有し、モデル制御器122iは、状態フィードバック制御器141iを有する。状態フィードバック制御器141iは、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLから、下記の式(18)、(19)、(20)を用いることより、実施の形態1で求めたものと等価な値を演算することができる。
【0079】
(1)aL=vaL・・・(18)
【0080】
(2)aL=ω×(paM−paL)・・・(19)
【0081】
(3)aL=ω×(vaM−vaL
+2×ω(1)×ω×(paM−paL)・・・(20)
【0082】
微分演算を複数回行うことは量子化誤差など増大するためあまり望ましくないが、式(18)、(19)、(20)を用いることで微分演算の回数を減らすことが可能となり、数値的に安定なフィードフォワード制御部111iを得ることが可能となる。
【0083】
実施の形態2.
次に、実施の形態2にかかるモータ制御装置200について図8を用いて説明する。図8は、モータ制御装置200の構成を示す図である。以下では、実施の形態1と異なる点を中心に説明する。
【0084】
本実施の形態と実施の形態1のモータ制御装置の差異は、本実施の形態におけるモータ制御装置200では、制振パラメータ変分信号θ’を使用しない点にある。
【0085】
フィードフォワード制御部211は、数式モデル221及びモデル制御器222を有しており、制振パラメータフィルタ124(図1参照)を有していない。数式モデル221は、制振パラメータ信号θに応じて、演算に用いる数式モデルの特性を変更し、モデル制御器222は、制振パラメータ信号θに応じて特性を変化させた演算によりモデルトルクτを演算する。
【0086】
次に、フィードフォワード制御部211の動作について詳細に説明する。本実施の形態においても数式モデル221が演算に用いる数式モデルを図2のようにモータがバネを介して機械負荷を起動する2慣性系モデルで表すこととして説明する。つまり、数式モデル221は式(3)、(4)もしくは(9)、(10)で表される運動方程式または、動特性を有し、後述する非線形補償器242からモータトルクτaMを、制振パラメータ決定部123から共振周波数ω、反共振周波数ωを入力し、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを式(3)、(4)もしくは(9)、(10)から計算し、モータ位置paMをモデル位置pとして、モータ速度vaMをモデル速度vとしてモデル制御器222とフィードバック制御部112へ出力し、機械位置paLをモデル出力y、機械速度vaLを内部変数xとしてモデル制御器222へ出力する。
【0087】
なお、ここで説明したものは数式モデル221の一例であり、数式モデル221の運動方程式又は動特性が式(3)、(4)もしくは(9)、(10)に限定されるものではない。
【0088】
次に、本実施の形態におけるモデル制御器222について図9を用いて詳細に説明する。図9は、モデル制御器222の構成及び動作を表すブロック線図である。
【0089】
モデル制御器222は、状態フィードバック制御器241及び非線形補償器242を有する。状態フィードバック制御器241は、位置目標値yref、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを受けて、仮想入力uaMを演算し、演算した仮想入力uaMを非線形補償器242へ供給する。非線形補償器242は、仮想入力uaM、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを受けて、モータトルクτaMを演算し、演算したモータトルクτaMを数式モデル221及びトルク加算器113へ供給する。次にこれらの動作について詳細に説明する。
【0090】
非線形補償器242は、仮想入力uaM、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを受けて、数式モデル221に存在する非線形特性を補償し、仮想入力uaMから機械位置paLまでの伝達特性がほぼ線形特性となるように式(21)を用いて、モータトルクτaMを演算する。そして、非線形補償器242は、演算したモータトルクτaMを数式モデル221及びトルク加算器113へ供給する。式(21)は式(11)において共振周波数ω、反共振周波数ωの微分と2階微分をそれぞれ0とした式である。なお、図示していないが、共振周波数ω、反共振周波数ωは制振パラメータ決定部123から入力させる制振パラメータθに相当する。
【0091】
τaM=J/ω×uaM
+J×ω×(paM−paL)・・・(21)
【0092】
状態フィードバック制御器241は、位置目標値yref、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを受けて、フィードフォワード制御部211の特性が所定の特性となるように仮想入力uaMを計算し、非線形補償器242へ出力する。本実施の形態においては、下記の式(22)に示される状態フィードバック制御則を用いて仮想入力uaMを計算する。式(22)は式(12)に式(18)、(19)、(20)を代入して得られる図9の制御則において、共振周波数ω、反共振周波数ωの微分と2階微分をそれぞれ0としたものになっている。そして計算した仮想入力uaMを非線形補償器242へ出力する。ここでK、K、K、Kは状態フィードバックゲインであり、これらの値を調整することによりモータ制御装置200の追従特性を決定する。なお、式(22)は式(12)とほぼ等価であり、状態フィードバックと同じ働きをする。つまり、K、K、K、Kにより位置目標値yrefから機械位置paLまでの特性(極配置)を決定することが可能となる。
【0093】
aM=K×K×K×K×(yref−paL
−K×K×K×vaL
−K×K/ω×(paM−paL
−K/ω×(vaM−vaL)・・・(22)
【0094】
ここで、産業用のモータに使用されるモータ制御装置を考えると、そのようなモータ制御装置は、低コスト化のために安価なメモリを使用することが多い。そのため各制振パラメータ信号を記憶するために十分なビット数が取れず、そのため制振パラメータ信号の分解能が粗くなる。分解能が粗い信号を微分、または変分すると量子化誤差を増大させてしまい、その結果実施の形態1におけるフィードフォワード制御部からの出力が必要以上に大きくなる場合や、理論どおりの特性が得られなくなる場合がある。
【0095】
それに対し、実施の形態2にかかるモータ制御装置200では、制振パラメータ信号の微分、変分に当たる制振パラメータ変分信号を使用しないことにより、量子化誤差の影響を防止できるとともに、安価なメモリで制御装置を実現でき、かつ簡単に追従特性の設定が可能となり、その計算時間も短縮することができる。
【0096】
なお、実施の形態2では、状態フィードバック制御器241は式(22)を用いて仮想入力uaMを計算するが、式(12)を用いて仮想入力uaMを計算してもよい。
【0097】
実施の形態3.
次に、実施の形態3にかかるモータ制御装置300について図10を用いて説明する。図10は、モータ制御装置300の構成を示す図である。以下では、実施の形態1と異なる点を中心に説明する。
【0098】
本実施の形態と実施の形態1との差異は、実施の形態1がモータ位置検出値pを所定の位置目標値yrefに追従させる位置制御であるのに対し、本実施の形態はモータ速度演算値vを速度目標値(動作目標値)vrefに追従させる速度制御であることである。
【0099】
モータ制御装置300は、フィードフォワード制御部311及びフィードバック制御部312を有する。フィードフォワード制御部311は、速度目標値vrefを外部から受け、速度目標値vrefに応じた制御を行う。フィードバック制御部312は、検出器2からフィードバックされた制御対象1(モータ1a)のモータ位置検出値pを受けて、モータ位置検出値pに応じた速度制御を行う。
【0100】
具体的には、フィードフォワード制御部311は、モデル制御器322を有する。モデル制御器322は、速度目標値vrefを外部から受け、モデル位置p、モデル速度v、内部状態x、モデル出力yを数式モデル321から受け、制振パラメータ信号θを制振パラメータ決定部123から受け、制振パラメータ変分信号θ’を制振パラメータフィルタ124から受ける。モデル制御器322は、これらの入力の値を用いた状態フィードバックを行う。すなわち、モデル制御器322は、数式モデル321の各出力と、制振パラメータ信号θ及び制振パラメータ変分信号θ’に応じて変化するゲインとの乗算に基づき、最終的にはモデル出力yとモデル速度vとが速度目標値vrefに追従するように、モデルトルクτを計算して数式モデル321及びトルク加算器113へ供給する。
【0101】
フィードバック制御部312は、速度制御器131、速度演算器133を有するが、位置制御器132(図1参照)を有さない。速度制御器131は、速度演算器133の出力であるモータ速度演算値vをモデル速度vに追従させるようにフィードバックトルクτを計算する。そして計算したフィードバックトルクτをトルク加算器113へ出力する。
【0102】
次に、フィードフォワード制御部311の各構成における動作について詳細に説明する。
【0103】
本実施の形態においても数式モデル321を図2のようにモータがバネを介して機械負荷を起動する2慣性系モデルで表すこととして説明する。よって、数式モデル321は式式(3)、(4)もしくは(5)、(6)、(9)、(10)で表される運動方式または動特性を有し、モータトルクτaM、制振パラメータ信号θである共振周波数ω、反共振周波数ωからモータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを式(3)、(4)もしくは(5)、(6)、(9)、(10)から計算する。数式モデル321は、モータ位置paMをモデル位置pとして、モータ速度vaMをモデル速度vとして、モデル制御器322及びフィードバック制御部312へ供給し、機械位置paLを内部変数xとして、機械速度vaLをモデル出力yとして、モデル制御器322へ供給する。本実施の形態において、機械速度vaLをモデル出力yとして供給するのは、本実施の形態におけるモータ制御装置300が速度制御を行うためである。
【0104】
なお、ここで説明したものは数式モデル321の一例であり、本実施の形態の数式モデル321の運動方程式又は動特性が式(3)、(4)もしくは(9)、(10)に限定されるものではない。
【0105】
次に、本実施の形態におけるモデル制御器322について図11を用いて詳細に説明する。図11は、モデル制御器322の構成及び動作を表すブロック線図である。
【0106】
モデル制御器322は、状態フィードバック制御器341を有する。状態フィードバック制御器341は、速度目標値vref及び機械速度vaLを受けて、フィードフォワード制御部311の特性が所定の特性となるように仮想入力uaMを計算し、非線形補償器142へ供給する。本実施の形態においては、状態フィードバック制御器341は、下記の式(23)に示される状態フィードバック制御則を用いて仮想入力uaMを計算する。そして、状態フィードバック制御器341は、計算した仮想入力uaMを非線形補償器142へ出力する。ここでK、K、Kは状態フィードバックゲインであり、状態フィードバック制御器341は、これらの値を調整することによりモータ制御装置300の追従特性を決定する。
【0107】
aM=K×K×K×(vref−vaL
−K×K×v(1)aL
−K×v(2)aL・・・(23)
【0108】
次に、フィードフォワード制御部311の特性について説明する。
【0109】
実施の形態1と同様に、本実施の形態においても仮想入力uaMから機械位置paMまでの特性は式(14)となる。式(14)に式(23)の状態フィードバック則を代入すると、速度目標値vrefから機械速度vaLまでの特性は式(24)となる。
【0110】
aL(s)=(K×K×K
×1/(s+K×s+K×K×s+K×K×K
×vref(s)・・・(24)
ここでvaL(s)は機械速度のラプラス変換されたもの、vref(s)は速度目標値のラプラス変換されたものを表している。つまり、状態フィードバックゲインK、K、Kを決定することにより、速度目標値vrefから機械速度vaLまでの特性(極配置)を決定することが可能となる。
【0111】
機械速度vaLの特性が決定されると、モデル速度vに相当するモータ速度vaMの特性は式(17)と同様に下記の式(25)で表される。なお、式(25)では、p(1)aL=vaLを代入し右辺をvaLのみで表現している。
【0112】
aM=1/ω×v(2)aL+vaL
−2×ω(1)/ω×v(1)aL・・・(25)
【0113】
式(25)の特性で表されるモータ速度vaMがモデル速度vとしてフィードバック制御部312に出力され、フィードバック制御部312は、モータ速度演算値vがモデル速度vに追従するようにフィードバックトルクτを出力する。モータ速度演算値vがモデル速度vに追従するようにフィードバックトルクτを演算することにより、制御対象1内にあり実際のモータに接続されている機械の速度の挙動を式(24)で表される特性に一致させることができる。よって、状態フィードバックゲインK、K、Kを振動が発生しないような(一定の)極配置になるように決定することで、制御対象1内の機械に振動を励起することなく、かつ所定の(一定の)追従特性で動作させることが可能となる。
【0114】
以上のように、実施の形態3にかかるモータ制御装置300によれば、実施の形態1と同等の効果を速度制御においても得ることが可能となり、本発明のモータ制御装置の用途を広げることが可能となる。
【0115】
なお、実施の形態3では、エンコーダなどの検出器2によりモータ動作目標値pを検出し、それを速度演算器133によってモータ速度演算値vを計算しているが、レゾルバやタコジェネレータ、ホール素子等を用いて直接モータ速度演算値vを計測してもよい。
【0116】
また、式(23)の演算において、式(23)に式(19)と(20)を代入し、モータ速度の微分、2階微分を使用しない演算にしても良い。
【0117】
また、本実施の形態においても、実施の形態2と同様に、共振周波数、反共振周波数の微分、2階微分を0として、これらの値を微分もしくは変分により増大する量子化誤差の影響を小さくしても良い。
【0118】
実施の形態4.
次に、実施の形態4にかかるモータ制御装置400について説明する。以下では、実施の形態2と異なる点を中心に説明する。
【0119】
本実施の形態と実施の形態2との差異はモデル制御器の構成である。
【0120】
実施の形態4にかかるモータ制御装置400のフィードフォワード制御部411は、例えば、図12に示すようなモデル制御器422を有する。図12は、モデル制御器422の構成及び動作を表すブロック線図である。
【0121】
モデル制御器422は、図12に示すように、そのゲイン変更方法が実施の形態2と異なる。すなわち、モデル制御器422は、下記の式(26)を用いてモータトルクτaMを演算する。式(26)において、Kp1はモデル位置制御ゲイン、Kv1はモデル速度制御ゲイン、Kcpはねじり補償位置制御ゲイン、Kcvはねじり補償速度制御ゲインを表しており、モデル制御器422は、これらの値を制振パラメータ信号θ(共振周波数ω、反共振周波数ω)に応じて変更する。
【0122】
τaM=Kv1×{Kp1×(yref−paM)−vaM
−Kcv×(vaM−vaL
−Kcp×(paM−paL)・・・(26)
【0123】
そして、モータトルクτaMから機械位置paLまでの特性において共振周波数ω、反共振周波数ωの微分が0であるとし、モータトルクτaMから機械位置paLまでの特性を線形化すると式(27)の伝達関数で表すことが可能である。
【0124】
aL(s)=1/(J×s)×ω/(s+ω
×τaM(s)・・・(27)
【0125】
式(27)において、paL(s)は機械位置のラプラス変換されたもの、τaM(s)はモータトルクτaMのラプラス変換されたものを表している。よって、式(27)に式(26)代入することで、位置目標値yrefから機械位置paLまでの特性は下記の式(28)の伝達関数で表すことが可能である。式(28)においてyref(s)は動作目標値のラプラス変換されたものを表している。
【0126】
aL(s)=ω/J×Kv1×Kp1
×1/{s+(Kv1+Kcv)/J×s
+(ω+(Kv1×Kcp+Kcv)/J)×s
+ω/J×(Kv1+2×Kcv)×s
+ω/J×(Kv1×Kp1+2×Kcp)}
×yref(s)・・・(28)
【0127】
次に所定の極を持つ特性多項式を下記の式(29)で表す。
【0128】
+a+a+as+a・・・(29)
【0129】
式(29)においてa、a、a、aは式(29)の特性多項式が所定の極を持つように決定する係数である。つまり、モデル制御器422は、式(28)で表される位置目標値yrefから機械位置paLまでの伝達関数の分母多項式が常に式(29)と一致するようにモデル位置制御ゲインKp1、モデル速度制御ゲインKv1、ねじり位置制御ゲインKcp、ねじり速度制御ゲインKcvを変更すればよい。
【0130】
具体的には、モデル制御器422は、制振パラメータ決定部123から出力された共振周波数ω、反共振周波数ωを用いて、モデル位置制御ゲインKp1、モデル速度制御ゲインKv1、ねじり位置制御ゲインKcp、ねじり速度制御ゲインKcvを、式(30)、(31)、(32)、(33)のように変更すれば、式(28)で表される伝達関数の分母多項式を常に、式(29)に一致させることができる。従って、共振周波数ω、反共振周波数ωが変化する制御対象に対しても、常に所定の(一定の)極配置が実現でき、所定の(一定の)追従特性で機械位置paLを位置目標値yrefに追従させることが可能となる。
【0131】
p1=(2×ω−2×ω×ω−a
×1/(2×ω×a−a)・・・(30)
【0132】
v1=J/ω×(2×ω×a−a)・・・(31)
【0133】
cp=J/ω×(a+ω×ω−ω×a
・・・(32)
【0134】
cv=J/ω×(a−ω)・・・(33)
【0135】
したがって、本実施の形態におけるモデル制御器422は、位置目標値yrefを外部から受け、モータ位置paM、モータ速度vaM、機械位置paL、機械速度vaLを数式モデル221から受ける。そして、モデル制御器422は、制振パラメータ決定部123から出力された共振周波数ω、反共振周波数ωに基づき、式(30)、(31)、(32)、(33)を用いて、モデル位置制御ゲインKp1、モデル速度制御ゲインKv1、ねじり位置制御ゲインKcp、ねじり速度制御ゲインKcvを決定し、これらの値と式(26)とを用いてモデルトルクτaMを演算し、演算したモデルトルクτaMを数式モデル221へ出力する。これにより、機械位置paLを所定の(一定の)追従特性(極配置)により、位置目標値yrefに追従させることが可能となる。
【0136】
なお、本実施の形態では、実施の形態2と同様にモータ位置検出値pを所定の動作目標値prefに追従させる位置制御について説明したが、モータ速度演算値vを速度目標値vrefに追従させる速度制御に適用しても良い。
【0137】
また、本実施の形態では、実施の形態2と同様に数式モデルをモータがバネを介して機械負荷を起動する2慣性系モデルであるものとしたが、必ずしも数式モデルが2慣性系モデルである必要はなく、別のモデルであってもよい。
【産業上の利用可能性】
【0138】
以上のように、本発明にかかるモータ制御装置は、産業用機械装置を駆動するモータの制御に有用である。
【符号の説明】
【0139】
1 制御対象
2 検出器
4 電流制御器
100、100i、200、300、400 モータ制御装置
111、111i、211、311、411 フィードフォワード制御部
112、312 フィードバック制御部
113 トルク加算器
121、221、321 数式モデル
122、122i、222、322、422 モデル制御器
123 制振パラメータ決定部
124 制振パラメータフィルタ
131 速度制御器
132 位置制御器
133 速度演算器
141、141i、241、341 状態フィードバック制御器
142、242 非線形補償器

【特許請求の範囲】
【請求項1】
モータ及び振動可能要素を有する制御対象の動作を制御するモータ制御装置であって、
前記制御対象の動作を動作目標値に追従させるようにモデルトルクを生成するフィードフォワード制御部と、
前記モデルトルクに応じて前記モータに対するトルク指令を発生させる発生部と、
を備え、
前記フィードフォワード制御部は、
前記制御対象の振動関連情報に応じて、前記制御対象の振動特性を表す振動パラメータを生成する生成部と、
前記振動パラメータに応じて、前記制御対象の動特性を模擬した数式モデルを変更し、前記モデルトルクから前記変更された数式モデルにより、前記制御対象の動作状態を含むモデル変数を演算する第1の演算部と、
前記モデル変数が一定の追従特性で前記動作目標値に追従するように、前記モデル変数と前記動作目標値から前記振動パラメータに応じて特性を変化させた演算により前記モデルトルクを演算する第2の演算部と、
を有する
ことを特徴とするモータ制御装置。
【請求項2】
前記第2の演算部は、
前記動作目標値に対する前記モデル変数の追従特性が一定になるように、前記モデルトルクを演算するための仮想入力を生成する第3の演算部と、
前記仮想入力から前記モデル変数までの伝達特性が線形特性になるように前記数式モデルの非線形性を補償して、前記モデルトルクを演算する補償部と、
を有する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記生成部は、前記振動関連情報の複数の値と前記振動パラメータの複数の値とが対応付けられたテーブルを有し、前記テーブルを参照することにより、入力された前記振動関連情報に対応する前記振動パラメータを生成する
ことを特徴とする請求項1又は2に記載のモータ制御装置。
【請求項4】
前記生成部は、前記振動関連情報の値と前記振動パラメータの値との関係を示す関数を有し、前記関数を参照することにより、入力された前記状態情報に対応する前記振動パラメータを生成する
ことを特徴とする請求項1又は2に記載のモータ制御装置。
【請求項5】
nを1より大きな整数とするとき、前記振動パラメータのn階微分もしくはn階差分を行うことにより第2の振動パラメータを演算する第2の生成部をさらに備え、
前記第1の演算部は、前記振動パラメータ及び前記第2の振動パラメータに応じて、前記数式モデルを変更し、
前記第2の演算部は、前記振動パラメータ及び前記第2の振動パラメータに応じて特性を変化させた演算により前記モデルトルクを演算する
ことを特徴とする請求項3又は4に記載のモータ制御装置。
【請求項6】
前記数式モデルは、前記制御対象の動特性が振動的な機械系でモデル化されたものである
ことを特徴とする請求項1から5のいずれか1項に記載のモータ制御装置。
【請求項7】
前記第3の演算部は、前記動作目標値に対する前記モデル変数の応答特性における極配置が一定になるように、前記仮想入力を生成する
ことを特徴とする請求項2に記載のモータ制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−182933(P2012−182933A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−45055(P2011−45055)
【出願日】平成23年3月2日(2011.3.2)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】