(57)【特許請求の範囲】
【請求項１】
位置指令に基づいて負荷を駆動するモータと、前記モータの位置および速度を検出する検出器とを備え、前記負荷の位置と速度を制御するサーボ制御装置において、
前記位置指令をもとに実機で検出できない状態量を算出する状態量算出器と、
前記検出器で検出された前記モータの位置と前記状態量計算値を入力とし、負荷位置信号を出力する負荷位置信号算出器と、
前記位置指令と前記負荷位置信号とを入力として速度指令を出力する予測制御器と、
前記速度指令と前記検出器で検出されたモータの速度をもとに前記モータを駆動するためのトルク指令を算出する速度制御器とを有することを特徴とするサーボ制御装置。
【請求項２】
位置指令に基づいて負荷を駆動するモータと、前記モータの位置および速度を検出する検出器とを備え、前記負荷の位置と速度を制御するサーボ制御装置において、
前記検出器で検出された前記モータの位置または速度と、トルク指令からモータ位置推定値とモータ速度推定値、或いはそのどちら一方を算出するオブザーバと、
前記位置指令をもとに実機で検出できない状態量を算出する状態量算出器と、
前記モータ位置推定値と前記状態量計算値を入力とし、負荷位置信号を出力する負荷位置信号算出器と、
前記位置指令と前記負荷位置信号とを入力として速度指令を出力する予測制御器と、
前記速度指令と前記モータ速度推定値をもとに前記モータを駆動するためのトルク指令を算出する速度制御器とを有することを特徴とするサーボ制御装置。
【請求項３】
前記予測制御器は、前記速度指令から前記負荷位置までの特性が所望のものになるような伝達関数モデルを予測モデルとして用いることを特徴とする請求項１乃至２記載のサーボ制御装置。
【請求項４】
前記状態量算出器は、フィルタと、実機のイナーシャやばね定数に基づいたゲインとを有することを特徴とする請求項１乃至３記載のサーボ制御装置。
【請求項５】
前記状態量算出器は、予測モデルと実機のイナーシャやばね定数に基づいたゲインと、前記予測制御と同様の処理を行う予測制御器とを有することを特徴とする請求項１乃至３記載のサーボ制御装置。
【請求項６】
前記モータの位置または速度と、前記トルク指令値が入力され、状態量推定値を算出し出力するオブザーバを備え、
前記状態量推定値をもとに補償信号を算出し、前記速度制御器へ前記補償信号を加算することを特徴とする請求項１乃至５記載のサーボ制御装置。
【請求項７】
前記状態量算出器で算出した状態量計算値から前記オブザーバで推定した状態量推定値を減じた値をもとに補償信号を算出し、前記速度制御器へ加算することを特徴とする請求項１乃至６記載のサーボ制御装置。
【請求項８】
前記位置指令をもとに速度フィードフォワード補償信号とトルクフィードフォワード補償信号を作成するフィードフォワード制御器を備え、
前記速度フィードフォワード補償信号と前記トルクフィードフォワード補償信号を前記速度制御器へ加算することを特徴とする請求項１から請求項７記載のサーボ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば工作機械におけるテーブルや産業用ロボットにおけるアームなどのような負荷機械を駆動するモータを制御するサーボ制御装置に関するものである。
【０００２】
【従来の技術】
予測制御は、予測モデルを用いて未来の制御対象の出力を推定し、未来の偏差に基づいた評価関数Ｊが最小になるように制御対象へ入力する制御入力ｖ(i)を算出するものである。
従来例の予測制御装置として、特許第3175877号「予見制御装置」がある。従来の構成を図１０に基づいて説明する。図１０の１は位置指令とモータ位置を入力し、それらの未来偏差が小さくなるような速度指令を出力する予測制御器である。２は速度指令とモータ速度を用いてトルク指令値を作成する速度制御器である。トルク指令値は３のモータに指令されモータが動作する。実際にはトルク指令値とモータの間に、電流ループ、電流アンプが存在するが、速度ループに比べて応答が十分速く無視できるため、本説明では省略するものとする。モータの位置と速度は４の検出器により検出される。速度は位置の差分を制御サンプリング周期で割ったものを用いる。このようにして、従来は、指令とモータ位置の未来偏差が小さくなるように制御されていた。
【０００３】
【発明が解決しようとする課題】
しかしながら従来の方法では、制御対象が剛体である場合や、指令に対して追従させたい状態量が検出できる状態量である場合は問題ないが、例えば、モータと負荷の結合箇所におけるばね要素が無視できない場合は、検出されるモータの挙動と、負荷の挙動が異なるため、指令とモータの偏差を小さくすると、負荷は、指令と全く違う動作をしたり、振動が発生したりするという問題があった。
本発明の目的は、上記課題を解決することができ、制御対象がばね要素を含む振動系であり、制御したい状態量が直接検出できない場合でも、指令と負荷の偏差を小さくし、且つ、振動が発生しないサーボ制御装置を提供することである。
【０００４】
【課題を解決するための手段】
本発明の第１のサーボ制御装置は、位置指令に基づいて負荷を駆動するモータと、前記モータの位置および速度を検出する検出器とを備え、前記負荷の位置と速度を制御するサーボ制御装置において、前記位置指令をもとに実機で検出できない状態量を算出する状態量算出器と、前記検出器で検出された前記モータの位置と前記状態量計算値を入力とし、負荷位置信号を出力する負荷位置信号算出器と、前記位置指令と前記負荷位置信号とを入力として速度指令を出力する予測制御器と、前記速度指令と前記検出器で検出されたモータの速度をもとに前記モータを駆動するためのトルク指令を算出する速度制御器とを有することを特徴とするものである。
本発明の第２のサーボ制御装置は、位置指令に基づいて負荷を駆動するモータと、前記モータの位置および速度を検出する検出器とを備え、前記負荷の位置と速度を制御するサーボ制御装置において、前記検出器で検出された前記モータの位置または速度と、トルク指令からモータ位置推定値とモータ速度推定値、或いはそのどちら一方を算出するオブザーバと、前記位置指令をもとに実機で検出できない状態量を算出する状態量算出器と、前記モータ位置推定値と前記状態量計算値を入力とし、負荷位置信号を出力する負荷位置信号算出器と、前記位置指令と前記負荷位置信号とを入力として速度指令を出力する予測制御器と、前記速度指令と前記モータ速度推定値をもとに前記モータを駆動するためのトルク指令を算出する速度制御器とを有することを特徴とするものである。
本発明の第３のサーボ制御装置は、前記予測制御器は、前記速度指令から前記負荷位置までの特性が所望のものになるような伝達関数モデルを予測モデルとして用いることを特徴とするものである。
本発明の第４のサーボ制御装置は、前記状態量算出器は、フィルタと、実機のイナーシャやばね定数に基づいたゲインとを有することを特徴とするものである。
本発明の第５のサーボ制御装置は、前記状態量算出器は、予測モデルと実機のイナーシャやばね定数に基づいたゲインと、前記予測制御と同様の処理を行う予測制御器とを有することを特徴とするものである。
本発明の第６のサーボ制御装置は、前記モータの位置または速度と、前記トルク指令値が入力され、状態量推定値を算出し出力するオブザーバを備え、前記状態量推定値をもとに補償信号を算出し、前記速度制御器へ前記補償信号を加算することを特徴とするものである。
本発明の第７のサーボ制御装置は、前記状態量算出器で算出した状態量計算値から前記オブザーバで推定した状態量推定値を減じた値をもとに補償信号を算出し、前記速度制御器へ加算することを特徴とするものである。
本発明の第７のサーボ制御装置は、前記位置指令をもとに速度フィードフォワード補償信号とトルクフィードフォワード補償信号を作成するフィードフォワード制御器を備え、前記速度フィードフォワード補償信号と前記トルクフィードフォワード補償信号を前記速度制御器へ加算することを特徴とするものである。
【０００５】
【発明の実施の形態】
本発明の実施例を図に基づいて説明する。本実施例では、制御対象は２慣性系で近似できるものとする。
図１は、本発明の第１の実施例を説明する構成図である。１は位置指令XREFと負荷位置信号XLを入力し、未来の負荷位置偏差が小さくなるような速度指令VREFを出力する予測制御器である。ここで、負荷位置信号XLは、モータ位置XMと、６の状態量算出器の出力である検出できない状態量XS_Cを用いて負荷位置信号算出器７により計算されたものである。本実施例では制御対象が２慣性系の場合について説明するため、検出できない状態量XS_Cはねじれ角であればよい。ねじれ角とは、モータと負荷の変位差のことである。ただし、制御対象が２慣性系以外の場合は、検出できない状態量は様々であり、ねじれ角に限定されるものではなく、例えば、機械が設置されている台の変位等でも良い。２は速度指令VREFと、モータ速度VMを用いてトルク指令TREFを作成する速度制御器である。トルク指令TREFは、３のモータに指令されモータが動作する。実際にはトルク指令値とモータの間に、電流ループ、電流アンプが存在するが、速度ループに比べて応答が十分速く無視できるため、本説明では省略するものとする。モータの位置XMと速度VMは４の検出器により検出される。本実施例では、速度VMは位置XMの差分を制御サンプリング周期Tsで割ったものを用いる。ただし、これに限定されるものではなく、例えば、これ以外の近似微分を用いて速度を求めてもよいし、速度検出器を用いて直接速度を求めても良い。６は状態量算出器であり、位置指令XREFを入力とし、本制御を用いてモータを動作させたときに負荷が振動しないような、理想的なねじれ角計算値XS_Cを算出するものとする。
【０００６】
最初に、６の状態量算出器の処理について説明する。状態量算出器６は、本制御を用いてモータを動作させたときに振動しない、理想的なねじれ角計算値XS_Cを算出するものであるため、実現手段は問わない。ここでは、代表的な２種類の方法を説明する。
（方法１）フィルタを用いた方法
位置指令XREFを図６の１３に示す５次のローパスフィルタに入力する。フィルタ１３は、理想的な負荷位置XL_Cを出力する。算出された振動しない理想的な負荷位置XL_Cを二階微分（s2）して、負荷イナーシャJLとばね定数Kからなるゲイン１４を用いて,理想的なねじれ角XS_Cを式（１）を用いて計算する。
【０００７】
【数１】
0004038659.tif 000002
【０００８】
ここで、XL_C (2)はXL_Cのニ階微分を表すものとする。
【０００９】
（方法２）予測モデルを用いた方法
図７に示すように、３次のフィルタ１５と１つの積分器からなる予測モデルを用い、図１の１と同一の予測制御器1’を用いて予測モデルを制御する構成にする。予測制御器1’は、位置指令XREFを入力とし、速度指令VREF_Cを出力する。予測モデルに速度指令VREF_Cが入力される構成になる。そして、算出された振動しない理想的な負荷速度VL_Cを一階微分（s）して、負荷イナーシャJLとばね定数Kからなるゲイン１４を用いて, 理想的なねじれ角XS_Cを式（２）を用いて計算する。
【００１０】
【数２】
0004038659.tif 000003
【００１１】
次に予測制御器１へ入力する負荷位置信号XLを、モータ位置XMと理想的なねじれ角計算値XS_Cを用いて負荷位置信号算出器内部で式（３）により算出する。
【００１２】
【数３】
0004038659.tif 000004
【００１３】
次に予測制御器１について説明する。
予測制御器１は、制御対象の出力が目標指令に一致するように、今回のサンプリングをi番目とした時、先読み区間をM1からMとし、検出遅れKと、重み係数ｗmと、重み係数αと、重み係数Cと、重み係数Cdと、今回の位置偏差e(i-K)と、ｍ個先の偏差の予測値e*(i+m)と、今回の制御入力v（i）と、v（i）の制御周期Ts毎の増分値Δv（i）とから構成される評価関数J
【００１４】
【数４】
0004038659.tif 000005
【００１５】
が最小になるように、制御入力v(i)を決定すればよい。
例えば、特許第3175877号「予見制御装置」に記載されている実施例１の方法を用いると、位置指令r(i)の制御周期Ts毎の増分値Δr(i)と、制御対象の出力y (k)の制御周期Ts毎の増分値Δy(i)を用いた次式
【００１６】
【数５】
0004038659.tif 000006
【００１７】
によりv(i)を算出することになる。
ここで、Na、Nb、vm,  pn、gn、E  は予測モデルと各重み係数の値から計算される変数であり、計算方法は、特許第3175877号「予見制御装置」の中で詳しく説明されている。
式（５）中、rが位置指令XREFであり、yが負荷位置信号XLであり、vが予測制御器からの出力である速度指令VREFにあたる。このように式（５）を計算することにより速度指令VREFを求める。
【００１８】
次に、速度制御器２内の処理について説明する。速度制御器２内の制御手法は限定されないので、どのような方法を用いてトルク指令TREFを算出しても良い。
例えば一般的な例として、比例積分制御を行う場合は、速度指令VREFとモータ速度VMの偏差に、速度ループゲインKvを乗じ、その後積分ゲインKiを乗じて積分処理したものとを用いて、トルク指令TREFは式（６）のように計算される。
【００１９】
【数６】
0004038659.tif 000007
【００２０】
ここで、ｓはラプラス演算子を表す。したがって、積分は1/sで表される。
このようにして得られた、トルク指令TREFをモータへの指令として与えればよい。
【００２１】
次に第２の実施例について図２に基づいて説明する。
第２の実施例では第１の実施例にオブザーバ８、状態推定値フィードバックゲインG９を追加したものである。このように、オブザーバで推定した状態量の推定値にゲインGを乗じて補償信号を作成し、速度制御器に入力する処理を加えている。
この実施例の場合、速度制御器内部の処理は、図８の（a）もしくは図８（b）に示すようにトルク指令値TREFを計算することになる。
また、ここで補償信号としているものは、一つではなく、例えば、負荷位置推定値、負荷速度推定値、ねじれ角推定値、ねじれ角速度推定値、外乱推定値などのうちのどれか一つか、あるいは、それら二つ以上の組みあわせでも良い。
【００２２】
次に第３の実施例について図３に基づいて説明する。
第３の実施例では、第２の実施例に１０の減算器を追加し、オブザーバで推定した状態量と同じ、理想的な状態量を６の状態量算出器で計算し、理想的な状態量計算値と状態量推定値の差にゲインGを乗じたものを補償信号とするものである。
理想的な状態量の例としては、負荷位置XL_C、負荷速度VL_C、ねじれ角XS_C、ねじれ角速度VS_Cのうちのどれか一つか、あるいは、それら二つ以上の組みあわせが考えられる。
理想的な負荷位置XL_C、理想的なねじれ角XS_Cの算出方法は、図６、図７の説明の際に説明済みである。また、理想的な負荷速度VL_C、理想的なねじれ角速度VS_Cは、理想的な負荷位置XL_C、理想的なねじれ角XS_Cをそれぞれ、一階微分して求める。
【００２３】
【数７】
0004038659.tif 000008
【００２４】
速度制御器に関しては、第２の実施例と同様である。
【００２５】
次に第４の実施例について図４に基づいて説明する。
第４の実施例は、第３の実施例に１１のフィードフォワード制御器を追加したものである。フィードフォワード制御器内部では、どのような制御を行っても良い。例えば単純に、位置指令XREFを1階微分したものを速度FF補償信号VFFとし、位置指令を２階微分したものにモータイナーシャJmを乗じたものを、トルクFF補償信号TFFとすればよい。また、例えば、状態量算出器６と全く同様の計算を行い、理想的な負荷位置XL_C、理想的な負荷速度VL_C、理想的なねじれ角XS_C、理想的なねじれ角速度VS_Cを求め、それらを用いて、式（９）、式（１０）のように速度FF補償信号VFFとトルクFF補償信号TFFを導き出してもよい。
【００２６】
【数８】
0004038659.tif 000009
【００２７】
この場合、速度制御器の処理は図９の（a）または図９（b）のようになる。
ここでは、第３の実施例に１１のフィードフォワード制御器を追加した形を説明したが、実施例１あるいは実施例２、この後説明する実施例５に１１のフィードフォワード制御器を追加した構成を行っても良い。
【００２８】
次に第５の実施例について図５に基づいて説明する。
第５の実施例は、第１の実施例に１２のオブザーバを追加したものである。
このように、検出されたモータ位置XM、モータ速度VMの代わりに、オブザーバのモータ位置推定値XM_OBS、モータ速度推定値VM_OBSを使用する。このようにすれば、検出器の分解能による量子化誤差や、演算遅れの影響を軽減できる。
ここでは、第１の実施例に１２のオブザーバを追加したものを説明したが、実施例２から実施例４にオブザーバ１２を追加して同様の処理を行っても良い。
【００２９】
【発明の効果】
以上述べたように本発明の第１のサーボ制御装置によれば、指令から理想的な、実機で検出できない状態量を算出し、模擬的に負荷位置信号を作り出すことで、振動系メカの負荷を指令に高速に追従させ、尚且つ振動せずに動作させることが可能になる。
また、第２のサーボ制御装置によれば、オブザーバを用いることで、実機の減衰率を大きくすることができ、さらに、振動しにくい制御が実現できる。また、オブザーバが推定する状態量推定値のフィードバックゲインを適当に設定することで、モデル化誤差があった場合も、その影響を上手く打ち消すことが可能になるという効果も得られる。
また、第３のサーボ制御装置によれば、指令から計算された理想的な状態量とオブザーバが算出する状態量推定値が一致するように作用するため、モデル化誤差があった場合に、さらに、積極的に誤差による影響を小さくするように働くため、モデル化誤差の影響をさらに上手く打ち消すことが可能になるという効果が得られる。
また、第４のサーボ制御装置によれば、フィードフォワード補償と併用して制御系が構成されるため、フィードバック制御のみでは補償することができない振動が発生した場合や、共振などによりフィードバックゲインが高く設定できない時に応答を上げたい場合なども、問題なく制御することが可能である。
また、第５のサーボ制御装置によれば、検出されたモータ位置、モータ速度の代わりに、オブザーバのモータ位置推定値、モータ速度推定値をフィードバックに使用するため、検出器の分解能による量子化誤差や、演算遅れの影響を軽減できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の第１の方法を説明する図
【図２】本発明の第２の方法を説明する図
【図３】本発明の第３の方法を説明する図
【図４】本発明の第４の方法を説明する図
【図５】本発明の第５の方法を説明する図
【図６】本発明の状態量算出器内部の処理の例１を説明する図
【図７】本発明の状態量算出器内部の処理の例２を説明する図
【図８】本発明の第２、第３の方法の速度制御器の処理を説明する図
【図９】本発明の第４の方法の速度制御器の処理を説明する図
【図１０】従来の方法を説明する図
【符号の説明】
1：予測制御器
2：速度制御器
3：モータ
4：検出器
5：負荷
6：状態量算出器
7：負荷位置信号算出器
8：状態量を算出するオブザーバ
9：状態推定値フィードバックゲイン
10：減算器
11：フィードフォワード制御器
12：モータ位置推定値および速度推定値を算出するオブザーバ
【図１】
0004038659.tif 000010
【図２】
0004038659.tif 000011
【図３】
0004038659.tif 000012
【図４】
0004038659.tif 000013
【図５】
0004038659.tif 000014
【図６】
0004038659.tif 000015
【図７】
0004038659.tif 000016
【図８】
0004038659.tif 000017
【図９】
0004038659.tif 000018
【図１０】
0004038659.tif 000019