JPH0973302A - サーボモータの制御係数設定方法 - Google Patents
サーボモータの制御係数設定方法Info
- Publication number
- JPH0973302A JPH0973302A JP22529395A JP22529395A JPH0973302A JP H0973302 A JPH0973302 A JP H0973302A JP 22529395 A JP22529395 A JP 22529395A JP 22529395 A JP22529395 A JP 22529395A JP H0973302 A JPH0973302 A JP H0973302A
- Authority
- JP
- Japan
- Prior art keywords
- value
- servo motor
- control
- coefficient
- simulation
- 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.)
- Withdrawn
Links
Landscapes
- Control Of Position Or Direction (AREA)
- Feedback Control In General (AREA)
Abstract
(57)【要約】
【課題】サーボモータの制御ゲイン等の制御係数を作業
効率よく設定する。 【解決手段】測定もしくは推定されたサーボモータの、
摩擦力、クーロン力、操作量の限界値およびガタの大き
さから成る非線形要素の値を導入したシミュレーション
を行ないながら、制御係数の値を定め、上記非線形要素
を補償する手段を導入した制御系をサーボモータの制御
に適用するとともに、上記シミュレーションにより定め
られた制御係数の値をサーボモータの制御に適用し、そ
の制御係数の値を補正する。
効率よく設定する。 【解決手段】測定もしくは推定されたサーボモータの、
摩擦力、クーロン力、操作量の限界値およびガタの大き
さから成る非線形要素の値を導入したシミュレーション
を行ないながら、制御係数の値を定め、上記非線形要素
を補償する手段を導入した制御系をサーボモータの制御
に適用するとともに、上記シミュレーションにより定め
られた制御係数の値をサーボモータの制御に適用し、そ
の制御係数の値を補正する。
Description
【0001】
【発明の属する技術分野】本発明は、生産機械、プリン
タ、磁気ディスク等における移動機構、およびロボット
等に用いられるサーボモータの制御ゲイン等の制御係数
を設定する方法に関するものである。
タ、磁気ディスク等における移動機構、およびロボット
等に用いられるサーボモータの制御ゲイン等の制御係数
を設定する方法に関するものである。
【0002】
【従来の技術】従来、サーボモータの制御ゲインを設定
するには、先ず非線形要素を考慮せずにシミュレーショ
ンを行ない、そのシミュレーション結果が所望の応答特
性となるように制御ゲインを求め、その制御ゲインを実
際のハードウェアとしてのサーボモータ(以下、「実
機」と称する)を制御する制御系に与え、その後その実
機の応答特性が所望の応答特性に近づくように制御ゲイ
ンを試行錯誤により補正することにより、最終的な制御
ゲインを設定するという方法が採られていた。
するには、先ず非線形要素を考慮せずにシミュレーショ
ンを行ない、そのシミュレーション結果が所望の応答特
性となるように制御ゲインを求め、その制御ゲインを実
際のハードウェアとしてのサーボモータ(以下、「実
機」と称する)を制御する制御系に与え、その後その実
機の応答特性が所望の応答特性に近づくように制御ゲイ
ンを試行錯誤により補正することにより、最終的な制御
ゲインを設定するという方法が採られていた。
【0003】ところが、この方法は、シミュレーション
の結果求められる制御ゲインを実機の制御系に与えて
も、所望の応答特性から大きく外れた応答特性しか得ら
れないことが多く、したがって試行錯誤的な調整による
部分が多く、その調整に多大な時間を要するという問題
がある。特に、通常6個のサーボモータが用いられてい
るロボットの場合、それら6個のサーボモータを調整す
るのに1カ月程度の時間を要している。
の結果求められる制御ゲインを実機の制御系に与えて
も、所望の応答特性から大きく外れた応答特性しか得ら
れないことが多く、したがって試行錯誤的な調整による
部分が多く、その調整に多大な時間を要するという問題
がある。特に、通常6個のサーボモータが用いられてい
るロボットの場合、それら6個のサーボモータを調整す
るのに1カ月程度の時間を要している。
【0004】
【発明が解決しようとする課題】上記のシミュレーショ
ンの結果求められる制御ゲインを実機に適用したときの
実機の応答特性が所望の応答特性と大きく離れてしまう
原因は、実機に非線系要素が存在することにあると考え
られる。非線形要素を補償しようとする提案として、従
来、非線系要素の1つである固体摩擦の作用を補償しよ
うとする提案(特開昭60−27913号公報参照)
や、非線形の要因を特定せずに、入力に対する出力の非
線形性を補償しようとする提案(特開昭62−2952
22号公報参照)がある。
ンの結果求められる制御ゲインを実機に適用したときの
実機の応答特性が所望の応答特性と大きく離れてしまう
原因は、実機に非線系要素が存在することにあると考え
られる。非線形要素を補償しようとする提案として、従
来、非線系要素の1つである固体摩擦の作用を補償しよ
うとする提案(特開昭60−27913号公報参照)
や、非線形の要因を特定せずに、入力に対する出力の非
線形性を補償しようとする提案(特開昭62−2952
22号公報参照)がある。
【0005】しかし、非線形要素は固体摩擦のみではな
く、また非線形の要因を特定しないで補償するには、実
機にある決まった動きのみを行なわせる場合は有効であ
るが、実機に種々の動作を行なわせる場合その動作毎に
異なった補償を行なう必要を生じ現実的ではない。ま
た、上記のいずれの提案においても、非線形要素を考慮
しようとはしているが、制御ゲインを設定するにあた
り、非線形要素を考慮した結果どのようにすると試行錯
誤を減らし作業効率を向上させることができるかという
ことについては言及されていない。
く、また非線形の要因を特定しないで補償するには、実
機にある決まった動きのみを行なわせる場合は有効であ
るが、実機に種々の動作を行なわせる場合その動作毎に
異なった補償を行なう必要を生じ現実的ではない。ま
た、上記のいずれの提案においても、非線形要素を考慮
しようとはしているが、制御ゲインを設定するにあた
り、非線形要素を考慮した結果どのようにすると試行錯
誤を減らし作業効率を向上させることができるかという
ことについては言及されていない。
【0006】本発明は、上記事情に鑑み、制御ゲイン
等、制御形の制御係数を作業効率よく設定することので
きる、サーボモータの制御係数設定方法を提供すること
を目的とする。
等、制御形の制御係数を作業効率よく設定することので
きる、サーボモータの制御係数設定方法を提供すること
を目的とする。
【0007】
【課題を解決するための手段】上記目的を達成する本発
明のサーボモータの制御係数設定方法は、サーボモータ
の応答特性が所望の応答特性に近づくように、値の大き
さによりサーボモータの応答特性が変化する、制御系の
係数の値を定めるサーボモータの制御係数設定方法にお
いて、測定もしくは推定された、サーボモータの、摩擦
力、クーロン力、操作量の限界値およびガタの大きさか
ら成る非線形要素の値を導入したシミュレーションを行
ないながら上記係数の値を定め、上記非線形要素を補償
する手段を導入した制御系をサーボモータの制御に適用
するとともに、上記シミュレーションにより定められた
係数の値をサーボモータの制御に適用し、その係数の値
を補正することを特徴とする。
明のサーボモータの制御係数設定方法は、サーボモータ
の応答特性が所望の応答特性に近づくように、値の大き
さによりサーボモータの応答特性が変化する、制御系の
係数の値を定めるサーボモータの制御係数設定方法にお
いて、測定もしくは推定された、サーボモータの、摩擦
力、クーロン力、操作量の限界値およびガタの大きさか
ら成る非線形要素の値を導入したシミュレーションを行
ないながら上記係数の値を定め、上記非線形要素を補償
する手段を導入した制御系をサーボモータの制御に適用
するとともに、上記シミュレーションにより定められた
係数の値をサーボモータの制御に適用し、その係数の値
を補正することを特徴とする。
【0008】ここで、本発明のサーボモータの制御ゲイ
ンの設定方法において、上記シミュレーションを行なう
に先立ち、上記非線形要素のうち、静摩擦力、クーロン
力、およびガタの大きさが零であって操作量に限界がな
いとしたときのサーボモータの応答シミュレーションを
行ないながら、上記係数の暫定的な値を定め、その後、
非線形要素の値を導入した上記シミュレーションを行な
いながら、その暫定的な値を補正することにより上記係
数の値を定めてもよい。
ンの設定方法において、上記シミュレーションを行なう
に先立ち、上記非線形要素のうち、静摩擦力、クーロン
力、およびガタの大きさが零であって操作量に限界がな
いとしたときのサーボモータの応答シミュレーションを
行ないながら、上記係数の暫定的な値を定め、その後、
非線形要素の値を導入した上記シミュレーションを行な
いながら、その暫定的な値を補正することにより上記係
数の値を定めてもよい。
【0009】本発明のサーボモータの制御係数設定方法
は、先ず非線形要素を考慮したシミュレーションを行な
って制御系の係数を定め、その係数を、非線形要素を考
慮した実機の制御系に適用するものであるため、実機に
適用した最初から所望の応答特性に近い応答特性が得ら
れ、試行錯誤による調整は僅かで済み、調整のための工
数が大幅に削減される。
は、先ず非線形要素を考慮したシミュレーションを行な
って制御系の係数を定め、その係数を、非線形要素を考
慮した実機の制御系に適用するものであるため、実機に
適用した最初から所望の応答特性に近い応答特性が得ら
れ、試行錯誤による調整は僅かで済み、調整のための工
数が大幅に削減される。
【0010】また、本発明によれば、静摩擦力、クーロ
ン力(動摩擦力)、操作量の限界値、およびガタという
主要な非線形要素全てを考慮に入れているため、極めて
高精度のシミュレーションを行なうことができる。制御
系の係数をシミュレーションで定めるにあたってもある
程度試行錯誤が必要であり、その分工数がかかるが、先
ず非線形要素を考慮しないシミュレーションを行なって
制御系の暫定的な係数の値を求め、非線形要素を考慮し
たときにその暫定的に求めた係数値を補正するようにす
ると、制御系の係数をシミュレーンで定める際の工数が
少なくて済み、サーボモータの制御系の係数を最終的に
設定するまでの作業効率の向上が図られる。
ン力(動摩擦力)、操作量の限界値、およびガタという
主要な非線形要素全てを考慮に入れているため、極めて
高精度のシミュレーションを行なうことができる。制御
系の係数をシミュレーションで定めるにあたってもある
程度試行錯誤が必要であり、その分工数がかかるが、先
ず非線形要素を考慮しないシミュレーションを行なって
制御系の暫定的な係数の値を求め、非線形要素を考慮し
たときにその暫定的に求めた係数値を補正するようにす
ると、制御系の係数をシミュレーンで定める際の工数が
少なくて済み、サーボモータの制御系の係数を最終的に
設定するまでの作業効率の向上が図られる。
【0011】
【発明の実施の形態】以下、本発明の実施形態について
説明する。ここでは、PID制御における制御ゲインの
設定方法について説明する。図1は、非線形要素が考慮
されていない理想形のPID制御のブロック図、図2
は、ステップ状の入力波形図、図3は、図2に示すステ
ップ状の入力に対するサーボモータ(実機およびシミュ
レーション)の応答波形図である。
説明する。ここでは、PID制御における制御ゲインの
設定方法について説明する。図1は、非線形要素が考慮
されていない理想形のPID制御のブロック図、図2
は、ステップ状の入力波形図、図3は、図2に示すステ
ップ状の入力に対するサーボモータ(実機およびシミュ
レーション)の応答波形図である。
【0012】ここではサーボモータ10は、慣性モーメ
ントをI、粘性係数をD、ゲインをKとしたとき、 Gp (s)=K/(Is+D) ……(1) と表わされる。PID制御の場合、このようなサーボモ
ータ10を制御するにあたっては、比例ゲインKp ,積
分ゲインKI ,微分ゲインKD の3つの制御ゲイン(本
発明にいう係数の一例)が設定される。
ントをI、粘性係数をD、ゲインをKとしたとき、 Gp (s)=K/(Is+D) ……(1) と表わされる。PID制御の場合、このようなサーボモ
ータ10を制御するにあたっては、比例ゲインKp ,積
分ゲインKI ,微分ゲインKD の3つの制御ゲイン(本
発明にいう係数の一例)が設定される。
【0013】伝達関数が2次形[G(s)=ωn 2 /
(s2 +2ζωn s+ωn 2 )]の場合、ステップ状目
標値に対する応答波形は次のように計算できる。ここ
で、ζは減衰率,ωn は共振角周波数,Yo は目標値、
Ys (t)はシミュレーション値、Y(t)は実測値で
ある。 (ζ>1の場合)
(s2 +2ζωn s+ωn 2 )]の場合、ステップ状目
標値に対する応答波形は次のように計算できる。ここ
で、ζは減衰率,ωn は共振角周波数,Yo は目標値、
Ys (t)はシミュレーション値、Y(t)は実測値で
ある。 (ζ>1の場合)
【0014】
【数1】
【0015】(ζ=1の場合)
【0016】
【数2】
【0017】(ζ<1の場合)
【0018】
【数3】
【0019】そこで、制御系設計者は、サーボモータの
応答特性が所望の仕様を満たすように、ζ,ωn を指定
する。これにより、シミュレーション上でのステップ状
入力に対する応答波形は、図3に点線で示すグラフA
(理想値)となる。しかし、実際の制御系には、静摩
擦,クーロン力,ガタ,操作量のリミットなどの非線形
要素が存在する。したがって、シミュレーションにおい
ては、これらの非線形要素を考慮しないと高ゲインとな
り、モータが暴走する危険性がある。そこで本実施形態
においては、以下のように、非線形要素を考慮する。
応答特性が所望の仕様を満たすように、ζ,ωn を指定
する。これにより、シミュレーション上でのステップ状
入力に対する応答波形は、図3に点線で示すグラフA
(理想値)となる。しかし、実際の制御系には、静摩
擦,クーロン力,ガタ,操作量のリミットなどの非線形
要素が存在する。したがって、シミュレーションにおい
ては、これらの非線形要素を考慮しないと高ゲインとな
り、モータが暴走する危険性がある。そこで本実施形態
においては、以下のように、非線形要素を考慮する。
【0020】図4は、非線形要素を考慮したPID制御
のブロック図である。図4に示すように、ここでは、静
摩擦us ,クーロン力ud は、サーボモータの応答速度
vに基づいて設定して操作量uに加減する。操作量uに
は、上下限リミットを設定する。位置yにはガタyb を
加減することにより、非線形要素を考慮したシミュレー
ションを行なう。
のブロック図である。図4に示すように、ここでは、静
摩擦us ,クーロン力ud は、サーボモータの応答速度
vに基づいて設定して操作量uに加減する。操作量uに
は、上下限リミットを設定する。位置yにはガタyb を
加減することにより、非線形要素を考慮したシミュレー
ションを行なう。
【0021】位置yは現在時刻より前に加わった各サン
プリング時刻毎の操作量から速度を計算し、それを積分
することにより求める。現在よりt秒前に加わった操作
量u(i)の速度は、
プリング時刻毎の操作量から速度を計算し、それを積分
することにより求める。現在よりt秒前に加わった操作
量u(i)の速度は、
【0022】
【数4】
【0023】 ここで、u(i)=u±u’(通常−10≦u≦+10) ……(6) ただし、uは操作量の計算値、u’は静摩擦またはクー
ロン力である。従って、位置yは、ガタをyb とする
と、
ロン力である。従って、位置yは、ガタをyb とする
と、
【0024】
【数5】
【0025】となる。ここで、Kは制御系のゲイン、D
は制御系の粘性抵抗係数、Jは制御系のイナーシャであ
る。図5は、非線系要素を考慮したシミュレーションの
フローチャートである。PID制御のコントローラの伝
達関数をGc (s)とする。すなわち、 Gc (s)=Kp +KI /S+KD S ……(8) とする。ここでは、先ずGc (s)として、非線形要素
を無視した理想形のシミュレーションにより求めた伝達
関数(比例ゲインKp ,積分ゲインKI ,微分ゲインK
D )を設定する。また、非線形要素、すなわち静摩擦u
s 、クーロン力(動摩擦)ud 、操作量uのリミット量
umax 、ガタyb は、サーボモータの実機からの測定
値、あるいは設計上、カタログ上からの推定値を入力す
る。サーボモータの設定位置rと現在の位置yとの差e
=r−yを求め、コントローラGc (s)の演算を行な
う(ステップ(5−a))。次いで、ステップ(5−
b)において、操作量uがその下限リミット−umax と
上限リミットumax との間にあるか否かが判定され、操
作量uが下限リミット−umax ,上限リミットumax を
越えているときは、操作量uを、それぞれ下限リミット
−umax ,上限リミットu max に固定する(ステップ
(5−c))。
は制御系の粘性抵抗係数、Jは制御系のイナーシャであ
る。図5は、非線系要素を考慮したシミュレーションの
フローチャートである。PID制御のコントローラの伝
達関数をGc (s)とする。すなわち、 Gc (s)=Kp +KI /S+KD S ……(8) とする。ここでは、先ずGc (s)として、非線形要素
を無視した理想形のシミュレーションにより求めた伝達
関数(比例ゲインKp ,積分ゲインKI ,微分ゲインK
D )を設定する。また、非線形要素、すなわち静摩擦u
s 、クーロン力(動摩擦)ud 、操作量uのリミット量
umax 、ガタyb は、サーボモータの実機からの測定
値、あるいは設計上、カタログ上からの推定値を入力す
る。サーボモータの設定位置rと現在の位置yとの差e
=r−yを求め、コントローラGc (s)の演算を行な
う(ステップ(5−a))。次いで、ステップ(5−
b)において、操作量uがその下限リミット−umax と
上限リミットumax との間にあるか否かが判定され、操
作量uが下限リミット−umax ,上限リミットumax を
越えているときは、操作量uを、それぞれ下限リミット
−umax ,上限リミットu max に固定する(ステップ
(5−c))。
【0026】次にステップ(5−d)において、現在の
サンプリング時刻kにおけるサーボモータの速度y’
(k)が零か否かが判定され、速度y’(k)=0のと
きは、ステップ(5−e)に進み、誤差eが正か負か判
定され、e>0,e≦0に応じて、それぞれ、操作量u
から静摩擦us が減算され、あるいは操作量vに静摩擦
us が加算される(ステップ(5−g))。これは、速
度y’(k)=0のとき、即ち、サーボモータが停止し
ているときは、静摩擦us を考慮する必要があり、しか
も静摩擦us は、誤差eに応じた方向、すなわちサーボ
モータが移動しようとした方向に対し逆方向に作用する
ことを考慮するものである。
サンプリング時刻kにおけるサーボモータの速度y’
(k)が零か否かが判定され、速度y’(k)=0のと
きは、ステップ(5−e)に進み、誤差eが正か負か判
定され、e>0,e≦0に応じて、それぞれ、操作量u
から静摩擦us が減算され、あるいは操作量vに静摩擦
us が加算される(ステップ(5−g))。これは、速
度y’(k)=0のとき、即ち、サーボモータが停止し
ているときは、静摩擦us を考慮する必要があり、しか
も静摩擦us は、誤差eに応じた方向、すなわちサーボ
モータが移動しようとした方向に対し逆方向に作用する
ことを考慮するものである。
【0027】一方、ステップ(5−d)において速度
y’(k)≠0のとき、即ちサーボモータが移動してい
るときはクーロン力(動摩擦)uD を考慮する必要があ
り、クーロン力uD もサーボモータの移動方向に対し逆
向きに作用することから、ステップ(5−f)に進んで
速度y’(k)が正か否かが調べられ、速度y’(k)
>0,y’(k)≦0に応じて、それぞれ、操作量uか
らクーロン力uD が減算され、あるいは操作量uにクー
ロン力uD が加算される(ステップ(5−g))。
y’(k)≠0のとき、即ちサーボモータが移動してい
るときはクーロン力(動摩擦)uD を考慮する必要があ
り、クーロン力uD もサーボモータの移動方向に対し逆
向きに作用することから、ステップ(5−f)に進んで
速度y’(k)が正か否かが調べられ、速度y’(k)
>0,y’(k)≦0に応じて、それぞれ、操作量uか
らクーロン力uD が減算され、あるいは操作量uにクー
ロン力uD が加算される(ステップ(5−g))。
【0028】このようにして、リミット量、静摩擦ない
しクーロン力が考慮された操作量uが、サーボモータを
模擬した、非線形要素を無視した理想系としての伝達系
Gp(s)に入力され、サーボモータの応答がシミュレ
ーションされる(ステップ(5−h))。次に、サーボ
モータのガタが考慮される。
しクーロン力が考慮された操作量uが、サーボモータを
模擬した、非線形要素を無視した理想系としての伝達系
Gp(s)に入力され、サーボモータの応答がシミュレ
ーションされる(ステップ(5−h))。次に、サーボ
モータのガタが考慮される。
【0029】先ずステップ(5−i)において、現在の
サンプリング点kにおける速度y’(k)が正か0か負
かが判定され、y’(k)<0,y’(k)=0,y’
(k)>0の場合、それぞれステップ(5−j),ステ
ップ(5−l),ステップ(5−k)に進む。y’
(k)=0のときは、ステップ(5−l)に進み、速度
が零である現在の位置y(k)が速度零点y0 として設
定され(y0 =y(k))、現在位置y(k)がそのま
ま補正なしに現在位置y(k)として設定される(ステ
ップ(5−m))。
サンプリング点kにおける速度y’(k)が正か0か負
かが判定され、y’(k)<0,y’(k)=0,y’
(k)>0の場合、それぞれステップ(5−j),ステ
ップ(5−l),ステップ(5−k)に進む。y’
(k)=0のときは、ステップ(5−l)に進み、速度
が零である現在の位置y(k)が速度零点y0 として設
定され(y0 =y(k))、現在位置y(k)がそのま
ま補正なしに現在位置y(k)として設定される(ステ
ップ(5−m))。
【0030】また、y’(k)<0のとき、すなわち速
度が負のときは、ステップ(5−j)に進み、現在の速
度y’(k)の符号と直前のサンプリング点の速度y’
(k−1)の符号が同一符号であるか否か、すなわち、
直前のサンプリング時刻k−1から現在のサンプリング
時刻kまでの間にサーボモータが負の方向に移動し続け
ているか否か、さらに換言すればサーボモータの移動方
向が正の方向から負の方向に反転していないかどうかが
判定される。y’(k)/y’(k−1)>0,すなわ
ち、サーボモータが負の方向に移動し続けているときは
ステップ(5−n)に進み、位置y(k)にガタyb が
加算される。またy’(k)/y’(k−1)≦0のと
き、すなわちサーボモータの移動方向が正の方向から負
の方向に反転したときはステップ(5−o)に進み、直
前の速度零点y0 に対し、y0 ≦y(k)≦y0 +2y
b の範囲内にあるか否かが判定される。y(k)がy0
≦y(k)≦y0 +2yb の範囲内にあるときは、位置
y(k)は、ガタの影響を考慮すると速度零点y0 にと
どまるため、ステップ(5−g)において、y(k)=
y0 とされる。一方、y(k)がy0 ≦y(k)≦y0
+2yb の範囲を外れたときはステップ(5−p)に進
み、それまでの正の方向のガタyb が負の方向ガタyb
に移行するためガタyb ガ2倍に考慮され、y(k)=
y(k)−2yb とされる。
度が負のときは、ステップ(5−j)に進み、現在の速
度y’(k)の符号と直前のサンプリング点の速度y’
(k−1)の符号が同一符号であるか否か、すなわち、
直前のサンプリング時刻k−1から現在のサンプリング
時刻kまでの間にサーボモータが負の方向に移動し続け
ているか否か、さらに換言すればサーボモータの移動方
向が正の方向から負の方向に反転していないかどうかが
判定される。y’(k)/y’(k−1)>0,すなわ
ち、サーボモータが負の方向に移動し続けているときは
ステップ(5−n)に進み、位置y(k)にガタyb が
加算される。またy’(k)/y’(k−1)≦0のと
き、すなわちサーボモータの移動方向が正の方向から負
の方向に反転したときはステップ(5−o)に進み、直
前の速度零点y0 に対し、y0 ≦y(k)≦y0 +2y
b の範囲内にあるか否かが判定される。y(k)がy0
≦y(k)≦y0 +2yb の範囲内にあるときは、位置
y(k)は、ガタの影響を考慮すると速度零点y0 にと
どまるため、ステップ(5−g)において、y(k)=
y0 とされる。一方、y(k)がy0 ≦y(k)≦y0
+2yb の範囲を外れたときはステップ(5−p)に進
み、それまでの正の方向のガタyb が負の方向ガタyb
に移行するためガタyb ガ2倍に考慮され、y(k)=
y(k)−2yb とされる。
【0031】ステップ(5−i)においてy(k)>0
と判定されたとき、すなわち速度が正のときは、ステッ
プ(5−k)に進み、ステップ(5−j)の場合と同様
に、y’(k)/y’(k−1)>0か否かが判定さ
れ、y’(k)/y’(k−1)>0のときは、ステッ
プ(5−r)に進み、y(k)=y(k)−yb が求め
られ、y’(k)/y’(k−1)≦0のときは、ステ
ップ(5−s)に進み、y0 ≧y(k)≧y0 −2yb
を満足するか否か判定され、これを満足するか否かに応
じて、それぞれ、y(k)=y0 (ステップ(5−
t))、y(k)=y(k)+2yb (ステップ(5−
u))とされる。
と判定されたとき、すなわち速度が正のときは、ステッ
プ(5−k)に進み、ステップ(5−j)の場合と同様
に、y’(k)/y’(k−1)>0か否かが判定さ
れ、y’(k)/y’(k−1)>0のときは、ステッ
プ(5−r)に進み、y(k)=y(k)−yb が求め
られ、y’(k)/y’(k−1)≦0のときは、ステ
ップ(5−s)に進み、y0 ≧y(k)≧y0 −2yb
を満足するか否か判定され、これを満足するか否かに応
じて、それぞれ、y(k)=y0 (ステップ(5−
t))、y(k)=y(k)+2yb (ステップ(5−
u))とされる。
【0032】このようなシミュレーションにおいて、コ
ントロール系の伝達関数Gc (s)(比例ゲインKp ,
積分ゲインKI ,微分ゲインKD )を調整すると、サー
ボモータの理想の応答特性に近づいた応答特性が得られ
る。図3の破線で示したグラフDは、図5に示すコント
ロール系の伝達関数Gc (s)として、理想系のシミュ
レーション結果による伝達関数をそのまま用いた、非線
系要素を考慮したシミュレーション結果を示している。
ここで、Gc (s)を調整するとグラフCのように改善
される。
ントロール系の伝達関数Gc (s)(比例ゲインKp ,
積分ゲインKI ,微分ゲインKD )を調整すると、サー
ボモータの理想の応答特性に近づいた応答特性が得られ
る。図3の破線で示したグラフDは、図5に示すコント
ロール系の伝達関数Gc (s)として、理想系のシミュ
レーション結果による伝達関数をそのまま用いた、非線
系要素を考慮したシミュレーション結果を示している。
ここで、Gc (s)を調整するとグラフCのように改善
される。
【0033】Gc (s)の調整によりグラフCにまで改
善された時点で、今度はGc (s)を実機としてのサー
ボモータに適用する。図6は、実機としてのサーボモー
タに適用した制御系のフローチャートである。ステップ
(6−a)では、位置設定値rとガタ補償が行なわれた
後の位置y(k)との差分(誤差)eに、図5に示すシ
ミュレーションにより求められたGc(s)を作用させ
る。ステップ(6−b)では、速度y’(k)が零か否
か、すなわちサーボモータが停止しているか否かが判定
される。y’(k)=0のときは、ステップ(6−c)
に進み、誤差eが正か否かが判定され、静摩擦us が補
償された操作量u=u+us ,u=u−us がそれぞれ
求められる(ステップ(6−e)。一方、ステップ(6
−b)においてy’(k)≠0と判定されると、ステッ
プ(6−d)に進んでy’(k)が正か否かが判定さ
れ、クーロン力uDが補正されてそれぞれu=u+u
D ,u=u−uD が求められる(ステップ(6−
e))。
善された時点で、今度はGc (s)を実機としてのサー
ボモータに適用する。図6は、実機としてのサーボモー
タに適用した制御系のフローチャートである。ステップ
(6−a)では、位置設定値rとガタ補償が行なわれた
後の位置y(k)との差分(誤差)eに、図5に示すシ
ミュレーションにより求められたGc(s)を作用させ
る。ステップ(6−b)では、速度y’(k)が零か否
か、すなわちサーボモータが停止しているか否かが判定
される。y’(k)=0のときは、ステップ(6−c)
に進み、誤差eが正か否かが判定され、静摩擦us が補
償された操作量u=u+us ,u=u−us がそれぞれ
求められる(ステップ(6−e)。一方、ステップ(6
−b)においてy’(k)≠0と判定されると、ステッ
プ(6−d)に進んでy’(k)が正か否かが判定さ
れ、クーロン力uDが補正されてそれぞれu=u+u
D ,u=u−uD が求められる(ステップ(6−
e))。
【0034】ステップ(6−f)では、操作量uが−u
max ≦u≦umax の範囲内にあるか否かが判定され、u
<−umax ,−umax ≦u≦umax ,u>−umax に応
じ、それぞれ、u=−umax ,u=u,u=umax とさ
れる(ステップ(6−g))。以上のようにして求めら
れた操作量uが実機としてのサーボモータに入力され、
そのサーボモータの出力がサンプリングされる(6−
k)。サンプリング時刻kにサンプリングされたサーボ
モータの位置出力をy(k),速度をy’(k)とす
る。
max ≦u≦umax の範囲内にあるか否かが判定され、u
<−umax ,−umax ≦u≦umax ,u>−umax に応
じ、それぞれ、u=−umax ,u=u,u=umax とさ
れる(ステップ(6−g))。以上のようにして求めら
れた操作量uが実機としてのサーボモータに入力され、
そのサーボモータの出力がサンプリングされる(6−
k)。サンプリング時刻kにサンプリングされたサーボ
モータの位置出力をy(k),速度をy’(k)とす
る。
【0035】ステップ(6−l)では、速度y’(k)
がy’(k)>0かy’(k)=0かy’(k)<0か
が判定され、それぞれステップ(6−m),(6−
o),(6−n)に進む。y’(k)=0のときは、ス
テップ(6−o)に進み、速度が零である現在の位置y
(k)が速度零点y0 として設定され(y0 =y
(k))、現在位置y(k)がそのまま補正なしに現在
位置y(k)として設定される(ステップ(6−p)。
がy’(k)>0かy’(k)=0かy’(k)<0か
が判定され、それぞれステップ(6−m),(6−
o),(6−n)に進む。y’(k)=0のときは、ス
テップ(6−o)に進み、速度が零である現在の位置y
(k)が速度零点y0 として設定され(y0 =y
(k))、現在位置y(k)がそのまま補正なしに現在
位置y(k)として設定される(ステップ(6−p)。
【0036】y’(k)<0のとき、すなわち速度が負
のときは、ステップ(6−m)に進み、現在の速度y’
(k)の符号と直前のサンプリング時刻における速度
y’(k−1)の符号がいずれも負であるか否か、すな
わち、直前のサンプリング時刻から現在のサンプリング
時刻までの間サーボモータが負の方向に移動し続けてい
るか否か、さらに換言すればサーボモータの移動方向が
正の方向から負の方向に反転していないかどうかが判定
される。y’(k)/y’(k−1)>0,すなわち、
サーボモータが負の方向に移動し続けているときはステ
ップ(6−q)に進み、位置y(k)からガタyb が減
算される。またy’(k)/y’(k−1)≦0のと
き、すなわちサーボモータの移動方向が正の方向から負
の方向に反転したときはステップ(6−r)に進み、直
前の速度零点y0 に対し、y0 ≦y(k)≦y0 +2y
b の範囲内にあるか否かが判定される。y(k)が、y
0 ≦y(k)≦y0 +2yb の範囲内にあるときは、位
置y(k)は、ガタの影響を考慮すると速度零点y0 に
とどまるため、ステップ(6−s)において、y(k)
=y0 とされる。一方、y(k)がy0 ≦y(k)≦y
0 +2yb の範囲を外れたときはステップ(6−t)に
進み、それまでの正の方向のガタyb が負の方向ガタy
b に移行するためガタyb が2倍に補償され、y(k)
=y(k)+2y b とされる。
のときは、ステップ(6−m)に進み、現在の速度y’
(k)の符号と直前のサンプリング時刻における速度
y’(k−1)の符号がいずれも負であるか否か、すな
わち、直前のサンプリング時刻から現在のサンプリング
時刻までの間サーボモータが負の方向に移動し続けてい
るか否か、さらに換言すればサーボモータの移動方向が
正の方向から負の方向に反転していないかどうかが判定
される。y’(k)/y’(k−1)>0,すなわち、
サーボモータが負の方向に移動し続けているときはステ
ップ(6−q)に進み、位置y(k)からガタyb が減
算される。またy’(k)/y’(k−1)≦0のと
き、すなわちサーボモータの移動方向が正の方向から負
の方向に反転したときはステップ(6−r)に進み、直
前の速度零点y0 に対し、y0 ≦y(k)≦y0 +2y
b の範囲内にあるか否かが判定される。y(k)が、y
0 ≦y(k)≦y0 +2yb の範囲内にあるときは、位
置y(k)は、ガタの影響を考慮すると速度零点y0 に
とどまるため、ステップ(6−s)において、y(k)
=y0 とされる。一方、y(k)がy0 ≦y(k)≦y
0 +2yb の範囲を外れたときはステップ(6−t)に
進み、それまでの正の方向のガタyb が負の方向ガタy
b に移行するためガタyb が2倍に補償され、y(k)
=y(k)+2y b とされる。
【0037】ステップ(6−l)においてy(k)>0
判定されたとき、すなわち速度が正のときは、ステップ
(6−n)に進み、ステップ(6−m)の場合と同様
に、y’(k)/y’(k−1)>0か否かが判定さ
れ、y’(k)/y’(k−1)>0のときは、ステッ
プ(6−u)に進み、y(k)=y(k)+yb が求め
られ、y’(k)/y’(k−1)≦0のときは、ステ
ップ(6−v)に進み、y 0 ≧y(k)≧y0 −2yb
を満足するか否か判定され、これを満足するか否かに応
じて、それぞれ、y(k)=y0 (ステップ(6−
w))、y(k)=y(k)−2yb (ステップ(6−
x))とされる。
判定されたとき、すなわち速度が正のときは、ステップ
(6−n)に進み、ステップ(6−m)の場合と同様
に、y’(k)/y’(k−1)>0か否かが判定さ
れ、y’(k)/y’(k−1)>0のときは、ステッ
プ(6−u)に進み、y(k)=y(k)+yb が求め
られ、y’(k)/y’(k−1)≦0のときは、ステ
ップ(6−v)に進み、y 0 ≧y(k)≧y0 −2yb
を満足するか否か判定され、これを満足するか否かに応
じて、それぞれ、y(k)=y0 (ステップ(6−
w))、y(k)=y(k)−2yb (ステップ(6−
x))とされる。
【0038】このようにして求めたy(k)は、コント
ローラ側にフィードバックされ、設定位置rとの間で減
算され、誤差eが求められる。ここで、コントローラの
伝達関数Gc (s)(比例ゲインKp ,積分ゲインK
I ,微分ゲインKD )として、最初はシミュレーション
で求めた数値を入力し、その後、それらの数値の微調整
を行なう。図3に示すグラフCは、微調整前、すなわ
ち、伝達関数Gc (s)として、シミュレーションで求
めた数値を入力した時点での応答波形であり、これを実
機で微調整することにより、グラフBのように、その応
答波形を理想形(グラフA)に近づけることができる。
ローラ側にフィードバックされ、設定位置rとの間で減
算され、誤差eが求められる。ここで、コントローラの
伝達関数Gc (s)(比例ゲインKp ,積分ゲインK
I ,微分ゲインKD )として、最初はシミュレーション
で求めた数値を入力し、その後、それらの数値の微調整
を行なう。図3に示すグラフCは、微調整前、すなわ
ち、伝達関数Gc (s)として、シミュレーションで求
めた数値を入力した時点での応答波形であり、これを実
機で微調整することにより、グラフBのように、その応
答波形を理想形(グラフA)に近づけることができる。
【0039】
【発明の効果】以上説明したように、本発明によれば、
非線形要素を考慮したシミュレーションにより制御係数
を定め、非線形要素を考慮した制御系をサーボモータの
制御に適用するとともに、上記シミュレーションにより
定められた制御係数を適用して、その制御係数を補正す
るようにしたため、シミュレーションと実機での制御
(シミュレーション)との差異が小さくなり、実機での
試行錯誤による最終調整の工数が低減され、全体として
制御係数の設定が効率よく行なわれる。
非線形要素を考慮したシミュレーションにより制御係数
を定め、非線形要素を考慮した制御系をサーボモータの
制御に適用するとともに、上記シミュレーションにより
定められた制御係数を適用して、その制御係数を補正す
るようにしたため、シミュレーションと実機での制御
(シミュレーション)との差異が小さくなり、実機での
試行錯誤による最終調整の工数が低減され、全体として
制御係数の設定が効率よく行なわれる。
【図1】非線形要素が考慮されていない理想形のPID
制御のブロック図である。
制御のブロック図である。
【図2】ステップ状の入力波形図である。
【図3】図2に示すステップ状の入力に対するサーボモ
ータの応答波形図である。
ータの応答波形図である。
【図4】非線形要素を考慮したPID制御のブロック図
である。
である。
【図5】非線系要素を考慮したシミュレーションのフロ
ーチャートである。
ーチャートである。
【図6】実機としてのサーボモータに適用した制御系の
フローチャートである。
フローチャートである。
10 サーボモータ 20 コントローラ
Claims (2)
- 【請求項1】 サーボモータの応答特性が所望の応答特
性に近づくように、値の大きさによりサーボモータの応
答特性が変化する、制御系の係数の値を定めるサーボモ
ータの制御係数設定方法において、 測定もしくは推定された、サーボモータの、摩擦力、ク
ーロン力、操作量の限界値およびガタの大きさから成る
非線形要素の値を導入したシミュレーションを行ないな
がら前記係数の値を定め、 前記非線形要素を補償する手段を導入した制御系をサー
ボモータの制御に適用するとともに、前記シミュレーシ
ョンにより定められた前記係数の値をサーボモータの制
御に適用し、該係数の値を補正することを特徴とするサ
ーボモータの制御係数設定方法。 - 【請求項2】 前記シミュレーションを行なうに先立
ち、前記非線形要素のうち、静摩擦力、クーロン力、お
よびガタの大きさが零であって操作量に限界がないとし
たときのサーボモータの応答シミュレーションを行ない
ながら、前記係数の暫定的な値を定め、 非線形要素の値を導入した前記シミュレーションを行な
いながら、該暫定的な値を補正することにより前記係数
の値を定めることを特徴とする請求項1記載のサーボモ
ータの制御係数設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22529395A JPH0973302A (ja) | 1995-09-01 | 1995-09-01 | サーボモータの制御係数設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22529395A JPH0973302A (ja) | 1995-09-01 | 1995-09-01 | サーボモータの制御係数設定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0973302A true JPH0973302A (ja) | 1997-03-18 |
Family
ID=16827070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22529395A Withdrawn JPH0973302A (ja) | 1995-09-01 | 1995-09-01 | サーボモータの制御係数設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0973302A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310603A (ja) * | 2007-06-14 | 2008-12-25 | Nakamura Sangyo Gakuen | モータ位置制御装置 |
CN110462533A (zh) * | 2017-03-31 | 2019-11-15 | 索尼公司 | 信息处理装置和信息处理方法、计算机程序以及程序制造方法 |
-
1995
- 1995-09-01 JP JP22529395A patent/JPH0973302A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310603A (ja) * | 2007-06-14 | 2008-12-25 | Nakamura Sangyo Gakuen | モータ位置制御装置 |
CN110462533A (zh) * | 2017-03-31 | 2019-11-15 | 索尼公司 | 信息处理装置和信息处理方法、计算机程序以及程序制造方法 |
EP3605250A4 (en) * | 2017-03-31 | 2020-07-29 | Sony Corporation | INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING PROCESS, COMPUTER PROGRAM AND PROGRAM MANUFACTURING PROCESS |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0948124A1 (en) | Motor controller | |
US5691615A (en) | Adaptive PI control method | |
JPH0740204B2 (ja) | 多自由度非線形機械システムの制御装置 | |
JP4918682B2 (ja) | 超音波モータの制御方法、超音波モータ制御装置及び超音波モータを制御するためのプログラム | |
JPH09149670A (ja) | サーボ機構の自動ゲイン調整方法及び装置 | |
CN109358492A (zh) | 一种光刻机工件台运动控制方法 | |
CN112769364A (zh) | 一种直流电机伺服系统的快速自适应抗扰控制方法 | |
CN115917444A (zh) | 控制辅助装置、控制装置及控制辅助方法 | |
JPH0973302A (ja) | サーボモータの制御係数設定方法 | |
CN116805849A (zh) | 一种永磁同步电机的连续集模型预测控制方法 | |
JP3190088B2 (ja) | ダイレクトドライブロボットの制御装置 | |
JP3229926B2 (ja) | 電動機の位置制御装置 | |
JPH07121239A (ja) | ロボット装置の制御方法 | |
JP2838578B2 (ja) | モータ制御装置、外乱負荷トルク推定装置 | |
JP3962215B2 (ja) | 制御装置 | |
JPH06187045A (ja) | 位置決め装置 | |
JPH03240109A (ja) | ロボットの制御方法 | |
JPH0816205A (ja) | サーボ制御システム及びそのチューニング方法 | |
JP2004102556A (ja) | 位置決め制御装置 | |
JP3204274B2 (ja) | 位置決め制御方法 | |
JP3141383B2 (ja) | 吸引型磁気浮上装置 | |
JPH0954601A (ja) | パラメータ同定装置 | |
JPH06214656A (ja) | 制振要素を持つスライディングモード制御方法 | |
JP3200956B2 (ja) | モータ制御装置 | |
JPH05181537A (ja) | スライディングモード制御方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20021105 |