JPH08202405A - ロバスト適応制御方法 - Google Patents
ロバスト適応制御方法Info
- Publication number
- JPH08202405A JPH08202405A JP2887695A JP2887695A JPH08202405A JP H08202405 A JPH08202405 A JP H08202405A JP 2887695 A JP2887695 A JP 2887695A JP 2887695 A JP2887695 A JP 2887695A JP H08202405 A JPH08202405 A JP H08202405A
- Authority
- JP
- Japan
- Prior art keywords
- parameter
- estimated
- value
- constant
- control method
- 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)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
Abstract
(57)【要約】
【目的】 制御対象のパラメータが変動した場合に、制
御対象の推定パラメータの干渉を防止することができる
ロバスト適応制御方法を提供する。 【構成】 制御対象のパラメータと制御対象の状態変数
とを変数とする制御対象の操作量を安定制御するロバス
ト適応制御方法であって、状態変数のランクが低下する
動作条件において、同じ状態の状態変数に対応する複数
個のパラメータ(2,4,6,8)の中で、1つのパラ
メータのみを状態変数を用いて推定し、該推定パラメー
タにより制御対象の操作量τを求めて制御を行なう。
御対象の推定パラメータの干渉を防止することができる
ロバスト適応制御方法を提供する。 【構成】 制御対象のパラメータと制御対象の状態変数
とを変数とする制御対象の操作量を安定制御するロバス
ト適応制御方法であって、状態変数のランクが低下する
動作条件において、同じ状態の状態変数に対応する複数
個のパラメータ(2,4,6,8)の中で、1つのパラ
メータのみを状態変数を用いて推定し、該推定パラメー
タにより制御対象の操作量τを求めて制御を行なう。
Description
【0001】
【産業上の利用分野】本発明は、ロボットや工作機械等
の制御対象を駆動するモータの制御方法に関し、特に、
慣性モーメント,粘性係数,重力外乱,摩擦等の制御対
象の特性を定めるパラメータの変動に強いロバスト適応
制御方法に関する。
の制御対象を駆動するモータの制御方法に関し、特に、
慣性モーメント,粘性係数,重力外乱,摩擦等の制御対
象の特性を定めるパラメータの変動に強いロバスト適応
制御方法に関する。
【0002】
【従来の技術】サーボモータで駆動されるロボットや工
作機械等の機械の制御において、一般に位置制御をP制
御(比例制御)、速度制御をPI制御(比例、積分制
御)によって行なっている。図2はこのPI制御方式を
用いたモータの速度制御方式のブロック図である。図2
において、速度指令rからモータの実速度yを減じた速
度偏差に比例器1で比例ゲインK2を乗じた値と、積分
器2で上記速度偏差を積分し積分ゲインK1を乗じた値
を加算し、トルク指令Tcmdを求める。そして、この
トルク指令Tcmdを制御対象のモータ7に出力しモー
タ7を駆動している。
作機械等の機械の制御において、一般に位置制御をP制
御(比例制御)、速度制御をPI制御(比例、積分制
御)によって行なっている。図2はこのPI制御方式を
用いたモータの速度制御方式のブロック図である。図2
において、速度指令rからモータの実速度yを減じた速
度偏差に比例器1で比例ゲインK2を乗じた値と、積分
器2で上記速度偏差を積分し積分ゲインK1を乗じた値
を加算し、トルク指令Tcmdを求める。そして、この
トルク指令Tcmdを制御対象のモータ7に出力しモー
タ7を駆動している。
【0003】PI制御において、ゲインK1,K2を固
定ゲインによって制御する制御方式の場合には、制御対
象の機械等が持つイナーシャ,動摩擦係数,クーロン摩
擦等のパラメータの変化は、制御特性に影響を与え制御
性能を悪化する虞がある。
定ゲインによって制御する制御方式の場合には、制御対
象の機械等が持つイナーシャ,動摩擦係数,クーロン摩
擦等のパラメータの変化は、制御特性に影響を与え制御
性能を悪化する虞がある。
【0004】このような制御対象のパラメータの変動に
対して、安定した制御を行なう制御方式として、速度指
令からモータの実速度を減じた速度偏差を状態変数と
し、該状態変数を用いてモータが制御される制御対象の
特性を変動させる各種パラメータの値を推定し、各パラ
メータの推定値と実際のパラメータ値との誤差が「0」
となるようにトルク補正値を求め、該トルク補正値を比
例積分ループ処理で得られたトルク指令に加算してモー
タへのトルク指令としてモータを駆動する方式が知られ
ている。
対して、安定した制御を行なう制御方式として、速度指
令からモータの実速度を減じた速度偏差を状態変数と
し、該状態変数を用いてモータが制御される制御対象の
特性を変動させる各種パラメータの値を推定し、各パラ
メータの推定値と実際のパラメータ値との誤差が「0」
となるようにトルク補正値を求め、該トルク補正値を比
例積分ループ処理で得られたトルク指令に加算してモー
タへのトルク指令としてモータを駆動する方式が知られ
ている。
【0005】
【発明が解決しようとする課題】前記した従来の制御方
式は、式を用いて以下のように表すことができる。
式は、式を用いて以下のように表すことができる。
【0006】例えば、制御対象の未知パラメータθ,制
御対象の観測可能な状態変数ξ(t)として、制御対象
の操作量τ(t)を以下の式(1)によって表し、 τ(t)=θT ・ξ(t) …(1) 制御アルゴリズムを以下の式(2)によって表す。
御対象の観測可能な状態変数ξ(t)として、制御対象
の操作量τ(t)を以下の式(1)によって表し、 τ(t)=θT ・ξ(t) …(1) 制御アルゴリズムを以下の式(2)によって表す。
【0007】 τ(t)=θ*T (t)・ξ(t)+K・ε(t) …(2) なお、θ*(t)は未知パラメータθの推定値であり、
θ*(t)はその推定値の転置行列である。また、ε
(t)は、指令値をr(t),制御対象の制御量をy
(t)としたときの制御誤差(=r(t)−y(t))
である。
θ*(t)はその推定値の転置行列である。また、ε
(t)は、指令値をr(t),制御対象の制御量をy
(t)としたときの制御誤差(=r(t)−y(t))
である。
【0008】ここで、未知パラメータθと未知パラメー
タの推定値θ*(t)の差であるパラメータ推定誤差を
θerr(t)を、 θerr(t)=θ−θ*(t) …(3) として、前記式(1),(2)を連立させると、制御誤
差ε(t)は以下となる。
タの推定値θ*(t)の差であるパラメータ推定誤差を
θerr(t)を、 θerr(t)=θ−θ*(t) …(3) として、前記式(1),(2)を連立させると、制御誤
差ε(t)は以下となる。
【0009】 θT ・ξ(t)=θerr T (t)・ξ(t)+K・ε(t) …(4) K・ε(t)=θT ・ξ(t)−θ*T (t)・ξ(t) …(5) ε(t)=(1/K)・θerr T (t)・ξ(t) …(6) ここで、評価関数としてリアプノフ関数候補をV(t)
として、未知パラメータの推定値θ*で偏微分すると、
以下の式(6)が得られる。
として、未知パラメータの推定値θ*で偏微分すると、
以下の式(6)が得られる。
【0010】 ∂V(t)/∂θ* =−2・(1/K)・ξ(t)・ε(t)−2・θerr =−2・(1/K)・ξ(t)・ε(t)−2・K・ε(t)/ξ(t) …(7) ここで、未知パラメータの推定値θ*(t)の時間微分
が以下の式(8)となにように未知パラメータの推定値
θ*を計算する。
が以下の式(8)となにように未知パラメータの推定値
θ*を計算する。
【0011】 dθ*(t)/dt=α・ε(t)・ξ(t) …(8) なお、α=diag(a1,a2,a3,・・・)であ
る。
る。
【0012】前記計算から、評価関数Vの微分値は、 dV(t)/dt =−(2・α/K)・{ξ(t)・ε(t)}2 −2・K・ε2 (t) …(9) となる。式(9)の右辺の第1項及び第2項は負である
から、評価関数Vは単調減少し、0に収束する。
から、評価関数Vは単調減少し、0に収束する。
【0013】ここで、前記式をモータについて適応し、
yをモータ速度,τをトルク指令,Jを慣性モーメン
ト,Aを粘性係数,Gを重力モーメントとすると、制御
対象τ(t)は、
yをモータ速度,τをトルク指令,Jを慣性モーメン
ト,Aを粘性係数,Gを重力モーメントとすると、制御
対象τ(t)は、
【0014】
【数1】 により表される。なお、「’」は微分を表す記号であ
る。
る。
【0015】ここで、各パラメータJ,A,Gの推定値
J*,A*,G*は、それぞれ以下の式(12)〜(1
4)によって表される J*=(1/s)・a1・ε(t)・y’ …(12) A*=(1/s)・a2・ε(t)・y …(13) G*=(1/s)・a3・ε(t)・1 …(14) ここで、例えば速度y(t)が長期間に渡って一定速度
ycとなる場合には、y’=0となるため前記式(1
0)から次式の関係が保持されることになる。
J*,A*,G*は、それぞれ以下の式(12)〜(1
4)によって表される J*=(1/s)・a1・ε(t)・y’ …(12) A*=(1/s)・a2・ε(t)・y …(13) G*=(1/s)・a3・ε(t)・1 …(14) ここで、例えば速度y(t)が長期間に渡って一定速度
ycとなる場合には、y’=0となるため前記式(1
0)から次式の関係が保持されることになる。
【0016】 G+A・yc=G*+A*・yc=M(一定値) …(15) 上記式(15)の関係は、速度が一定という動作条件の
間においては、ξ(t)が持つ状態変数の中で「y」と
「1」が共に定数となって、ランクが下がることを示し
ている。したがって、この状態変数「y」と「1」の係
数である重力モーメントGと粘性係数Aは、それぞれ前
記式(15)の関係を保ちながら、一方が減少すると他
方が増加するとったように関連して変化することにな
る。以後、このような状態を干渉するという。このよう
な干渉状態では、GあるいはAが発散して非常に大きな
値となる場合が生じ、前記動作条件が終了した後に、こ
の大きな値から制御が行なわれることになって、良好な
制御が不能となる虞がある。
間においては、ξ(t)が持つ状態変数の中で「y」と
「1」が共に定数となって、ランクが下がることを示し
ている。したがって、この状態変数「y」と「1」の係
数である重力モーメントGと粘性係数Aは、それぞれ前
記式(15)の関係を保ちながら、一方が減少すると他
方が増加するとったように関連して変化することにな
る。以後、このような状態を干渉するという。このよう
な干渉状態では、GあるいはAが発散して非常に大きな
値となる場合が生じ、前記動作条件が終了した後に、こ
の大きな値から制御が行なわれることになって、良好な
制御が不能となる虞がある。
【0017】また、加速度y’が長期間に渡って一定加
速度yc’となる場合には、速度y=0となるため前記
式(10)から次式の関係が保持されることになる。
速度yc’となる場合には、速度y=0となるため前記
式(10)から次式の関係が保持されることになる。
【0018】 G+J・yc=G*+J*・yc=N(一定値) …(16) この場合には、前記と同様にして、重力モーメントGと
慣性モーメントJは干渉する状態となり、それぞれ前記
式(16)の関係を保ちながら、一方が減少すると他方
が増加するとったように関連して変化し、良好な制御が
不能となる虞がある。
慣性モーメントJは干渉する状態となり、それぞれ前記
式(16)の関係を保ちながら、一方が減少すると他方
が増加するとったように関連して変化し、良好な制御が
不能となる虞がある。
【0019】そこで、本発明は前記した従来の問題点を
解決して、制御対象のパラメータが変動した場合に、制
御対象の推定パラメータの干渉を防止することができる
ロバスト適応制御方法を提供することを目的とする。
解決して、制御対象のパラメータが変動した場合に、制
御対象の推定パラメータの干渉を防止することができる
ロバスト適応制御方法を提供することを目的とする。
【0020】
【課題を解決するための手段】本出願の第1の発明は、
制御対象のパラメータと制御対象の状態変数とを変数と
する制御対象の操作量を安定制御するロバスト適応制御
方法であって、状態変数のランクが低下する動作条件に
おいて、同じ状態の状態変数に対応する複数個のパラメ
ータの中で、1つのパラメータのみを状態変数を用いて
推定し、該推定パラメータにより制御対象の操作量を求
めて制御を行なうことによって、前記目的を達成するも
のである。
制御対象のパラメータと制御対象の状態変数とを変数と
する制御対象の操作量を安定制御するロバスト適応制御
方法であって、状態変数のランクが低下する動作条件に
おいて、同じ状態の状態変数に対応する複数個のパラメ
ータの中で、1つのパラメータのみを状態変数を用いて
推定し、該推定パラメータにより制御対象の操作量を求
めて制御を行なうことによって、前記目的を達成するも
のである。
【0021】本発明において、状態変数は制御対象にお
いて観測することができる値であり、例えばモータが制
御対象の場合には、加速度や速度を状態変数とすること
ができる。また、状態変数のランクは異なる状態の個数
を表すものであり、例えば状態変数が速度と加速度の場
合には、これらの間は微分あるいは積分の関係にあって
異なり状態にあり、状態変数のランクは2となる。この
状態変数のランクを低下させる動作条件は、この状態変
数を同じ状態とするものであり、これによって、制御対
象の状態変数のランクは低下する。例えば、加速度,速
度,及び定数を状態変数とする場合には状態変数のラン
クは3である。このとき、加速度が一定の動作条件にお
いては、加速度の状態変数は定数と同じ状態となり、異
なる状態変数は速度と定数の2つとなり、ランクが1つ
低下して2となる。ここで、同じ状態の状態変数として
は、定数倍の関係にある状態変数とすることができる。
いて観測することができる値であり、例えばモータが制
御対象の場合には、加速度や速度を状態変数とすること
ができる。また、状態変数のランクは異なる状態の個数
を表すものであり、例えば状態変数が速度と加速度の場
合には、これらの間は微分あるいは積分の関係にあって
異なり状態にあり、状態変数のランクは2となる。この
状態変数のランクを低下させる動作条件は、この状態変
数を同じ状態とするものであり、これによって、制御対
象の状態変数のランクは低下する。例えば、加速度,速
度,及び定数を状態変数とする場合には状態変数のラン
クは3である。このとき、加速度が一定の動作条件にお
いては、加速度の状態変数は定数と同じ状態となり、異
なる状態変数は速度と定数の2つとなり、ランクが1つ
低下して2となる。ここで、同じ状態の状態変数として
は、定数倍の関係にある状態変数とすることができる。
【0022】また、本出願の第2の発明は、制御対象の
パラメータと制御対象の状態変数とを変数とする制御対
象の操作量を安定制御するロバスト適応制御方法であっ
て、操作量中の複数個のパラメータを相互に関連して増
減する関係とする動作条件において、相互関連するパラ
メータの中で1つのパラメータのみを状態変数を用いて
推定し、該推定パラメータにより制御対象の操作量を求
めて制御を行なうことによって、前記目的を達成するも
のである。
パラメータと制御対象の状態変数とを変数とする制御対
象の操作量を安定制御するロバスト適応制御方法であっ
て、操作量中の複数個のパラメータを相互に関連して増
減する関係とする動作条件において、相互関連するパラ
メータの中で1つのパラメータのみを状態変数を用いて
推定し、該推定パラメータにより制御対象の操作量を求
めて制御を行なうことによって、前記目的を達成するも
のである。
【0023】本発明の制御対象において、制御を行なう
操作量は制御対象のパラメータと制御対象の状態変数と
を変数とするものであり、これらの変数の組み合わせに
よって表すことができる。そして、ある動作条件におい
ては、この操作量中に表されるパラメータの一方が減少
すると他方は増加するという相互に関連して増減する関
係となって、互いに干渉し発散を起こす場合が生じる。
操作量は制御対象のパラメータと制御対象の状態変数と
を変数とするものであり、これらの変数の組み合わせに
よって表すことができる。そして、ある動作条件におい
ては、この操作量中に表されるパラメータの一方が減少
すると他方は増加するという相互に関連して増減する関
係となって、互いに干渉し発散を起こす場合が生じる。
【0024】また、本出願の第1,及び第2の発明にお
いて、パラメータの中で推定を行なわないパラメータの
値は推定を停止する前の値として制御を行なうことがで
きる。
いて、パラメータの中で推定を行なわないパラメータの
値は推定を停止する前の値として制御を行なうことがで
きる。
【0025】さらに、本出願の第3の発明は、慣性モー
メント,粘性係数,一定重力外乱,クーロン摩擦をパラ
メータとして有するモータ制御系において、動作条件に
応じて、慣性モーメント,粘性係数,及びクーロン摩擦
の中の何れか1つのパラメータ、あるいは一定重力外乱
のパラメータを推定し、該推定値と実際の値との誤差が
「0」となるようにトルク補正値を求めてモータへのト
ルク指令に加算してロバスト適応制御を行なうことによ
って、前記目的を達成するものである。
メント,粘性係数,一定重力外乱,クーロン摩擦をパラ
メータとして有するモータ制御系において、動作条件に
応じて、慣性モーメント,粘性係数,及びクーロン摩擦
の中の何れか1つのパラメータ、あるいは一定重力外乱
のパラメータを推定し、該推定値と実際の値との誤差が
「0」となるようにトルク補正値を求めてモータへのト
ルク指令に加算してロバスト適応制御を行なうことによ
って、前記目的を達成するものである。
【0026】本出願の第3の発明において、加速度一定
の動作条件における推定パラメータは、慣性モーメント
あるいは一定重力外乱であり、速度一定の動作条件にお
ける推定パラメータは、粘性係数あるいは一定重力外乱
であり、速度の方向変化を伴う動作条件における推定パ
ラメータは、クーロン摩擦あるいは一定重力外乱であ
る。また、速度の方向が正から負に変化する動作条件に
おける推定パラメータは、正のクーロン摩擦あるいは一
定重力外乱であり、逆に、速度の方向が負から正に変化
する動作条件における推定パラメータは、負のクーロン
摩擦あるいは一定重力外乱である。
の動作条件における推定パラメータは、慣性モーメント
あるいは一定重力外乱であり、速度一定の動作条件にお
ける推定パラメータは、粘性係数あるいは一定重力外乱
であり、速度の方向変化を伴う動作条件における推定パ
ラメータは、クーロン摩擦あるいは一定重力外乱であ
る。また、速度の方向が正から負に変化する動作条件に
おける推定パラメータは、正のクーロン摩擦あるいは一
定重力外乱であり、逆に、速度の方向が負から正に変化
する動作条件における推定パラメータは、負のクーロン
摩擦あるいは一定重力外乱である。
【0027】
【作用】本出願の第1の発明において、通常、制御対象
の操作量を定める状態変数に対応したパラメータについ
て、その状態変数の変動に応じて全て推定し、その推定
値に従って制御を行なう。このとき、制御対象を駆動す
る動作条件が変化して、制御対象の操作量を定める状態
変数のランクが低下した場合には、同じ状態となった状
態変数に対応するパラメータの中で、1つのパラメータ
のみを状態変数を用いて推定し、その他の推定を行なわ
ないパラメータについては推定を停止する前の値を保持
する。そして、この推定パラメータ及び保持したパラメ
ータにより制御対象の操作量を求めて制御を行なう。
の操作量を定める状態変数に対応したパラメータについ
て、その状態変数の変動に応じて全て推定し、その推定
値に従って制御を行なう。このとき、制御対象を駆動す
る動作条件が変化して、制御対象の操作量を定める状態
変数のランクが低下した場合には、同じ状態となった状
態変数に対応するパラメータの中で、1つのパラメータ
のみを状態変数を用いて推定し、その他の推定を行なわ
ないパラメータについては推定を停止する前の値を保持
する。そして、この推定パラメータ及び保持したパラメ
ータにより制御対象の操作量を求めて制御を行なう。
【0028】これによって、同じ状態となった状態変数
に対応するパラメータ間において生じる干渉を防ぎ、パ
ラメータが発散して制御不能や不適当な制御を防止し
て、適切なロバスト適応制御を行なうことができる。
に対応するパラメータ間において生じる干渉を防ぎ、パ
ラメータが発散して制御不能や不適当な制御を防止し
て、適切なロバスト適応制御を行なうことができる。
【0029】また、本出願の第2の発明において、通
常、制御対象の操作量を定める状態変数に対応したパラ
メータについて、その状態変数の変動に応じて全て推定
し、その推定値に従って制御を行なう。このとき、動作
条件が変化して、操作量中の複数個のパラメータが相互
に関連して増減する関係となった場合には、操作量中に
表されるパラメータの一方が減少すると他方は増加する
という相互に関連して増減する関係となって、互いに干
渉し発散を起こす場合が生じる。そこで、相互関連する
パラメータの中で1つのパラメータのみを状態変数を用
いて推定し、その他の推定を行なわないパラメータにつ
いては推定を停止する前の値を保持する。そして、この
推定パラメータ及び保持したパラメータにより制御対象
の操作量を求めて制御を行なう。
常、制御対象の操作量を定める状態変数に対応したパラ
メータについて、その状態変数の変動に応じて全て推定
し、その推定値に従って制御を行なう。このとき、動作
条件が変化して、操作量中の複数個のパラメータが相互
に関連して増減する関係となった場合には、操作量中に
表されるパラメータの一方が減少すると他方は増加する
という相互に関連して増減する関係となって、互いに干
渉し発散を起こす場合が生じる。そこで、相互関連する
パラメータの中で1つのパラメータのみを状態変数を用
いて推定し、その他の推定を行なわないパラメータにつ
いては推定を停止する前の値を保持する。そして、この
推定パラメータ及び保持したパラメータにより制御対象
の操作量を求めて制御を行なう。
【0030】これによって、同じ状態となった状態変数
に対応するパラメータ間において生じる干渉を防ぎ、パ
ラメータが発散して制御不能や不適当な制御を防止し
て、適切なロバスト適応制御を行なうことができる。
に対応するパラメータ間において生じる干渉を防ぎ、パ
ラメータが発散して制御不能や不適当な制御を防止し
て、適切なロバスト適応制御を行なうことができる。
【0031】さらに、本出願の第3の発明において、慣
性モーメント,粘性係数,一定重力外乱,クーロン摩擦
をパラメータとして有するモータ制御系において、通
常、これらのパラメータについて、そのパラメータに対
応する状態変数の変動に応じて全て推定し、その推定値
に従って制御を行なう。このとき、変化した動作条件に
応じて、慣性モーメント,粘性係数,及びクーロン摩擦
の中の何れか1つのパラメータ、あるいは一定重力外乱
のパラメータを推定し、推定を停止したパラメータにつ
いては停止前の値を用いて、推定値と実際の値との誤差
が「0」となるようにトルク補正値を求めてモータへの
トルク指令に加算してロバスト適応制御を行なう。
性モーメント,粘性係数,一定重力外乱,クーロン摩擦
をパラメータとして有するモータ制御系において、通
常、これらのパラメータについて、そのパラメータに対
応する状態変数の変動に応じて全て推定し、その推定値
に従って制御を行なう。このとき、変化した動作条件に
応じて、慣性モーメント,粘性係数,及びクーロン摩擦
の中の何れか1つのパラメータ、あるいは一定重力外乱
のパラメータを推定し、推定を停止したパラメータにつ
いては停止前の値を用いて、推定値と実際の値との誤差
が「0」となるようにトルク補正値を求めてモータへの
トルク指令に加算してロバスト適応制御を行なう。
【0032】動作条件としては、例えば、加速度一定の
条件,速度一定の条件,速度方向の変化等がある。加速
度一定の動作条件においては、慣性モーメントあるいは
一定重力外乱のいずれか一方のパラメータの推定パラメ
ータを行ってその推定パラメータを用い、他方のパラメ
ータについては推定を停止して推定停止前のパラメータ
値を用いる。また、速度一定の動作条件においては、粘
性係数あるいは一定重力外乱のいずれか一方のパラメー
タの推定パラメータを行ってその推定パラメータを用
い、他方のパラメータについては推定を停止して推定停
止前のパラメータ値を用いる。また、速度の方向が変化
する動作条件においては、速度の方向変化の時点でのみ
においてクーロン摩擦あるいは一定重力外乱のいずれか
一方のパラメータの推定パラメータを行ってその推定パ
ラメータを用い、他方のパラメータについては推定を停
止して推定停止前のパラメータ値を用いる。そして、こ
のとき、速度の方向が正から負に変化する動作条件にお
いてクーロン摩擦のパラメータを推定する場合には正の
クーロン摩擦を推定し、逆に、速度の方向が負から正に
変化する動作条件においてクーロン摩擦のパラメータを
推定する場合には負のクーロン摩擦を推定する。
条件,速度一定の条件,速度方向の変化等がある。加速
度一定の動作条件においては、慣性モーメントあるいは
一定重力外乱のいずれか一方のパラメータの推定パラメ
ータを行ってその推定パラメータを用い、他方のパラメ
ータについては推定を停止して推定停止前のパラメータ
値を用いる。また、速度一定の動作条件においては、粘
性係数あるいは一定重力外乱のいずれか一方のパラメー
タの推定パラメータを行ってその推定パラメータを用
い、他方のパラメータについては推定を停止して推定停
止前のパラメータ値を用いる。また、速度の方向が変化
する動作条件においては、速度の方向変化の時点でのみ
においてクーロン摩擦あるいは一定重力外乱のいずれか
一方のパラメータの推定パラメータを行ってその推定パ
ラメータを用い、他方のパラメータについては推定を停
止して推定停止前のパラメータ値を用いる。そして、こ
のとき、速度の方向が正から負に変化する動作条件にお
いてクーロン摩擦のパラメータを推定する場合には正の
クーロン摩擦を推定し、逆に、速度の方向が負から正に
変化する動作条件においてクーロン摩擦のパラメータを
推定する場合には負のクーロン摩擦を推定する。
【0033】
【実施例】以下、本発明の実施例を図を参照しながら詳
細に説明する。この実施例においては、制御対象として
ロボットのモータとしている。
細に説明する。この実施例においては、制御対象として
ロボットのモータとしている。
【0034】まず、制御対象であるロボットのモータに
ついて運動方程式を立てると次の式(17)となる。
ついて運動方程式を立てると次の式(17)となる。
【0035】 τ(t)=J・y’(t)+A・y(t)+Gr・sinθ(t)+Fr +CL (t)+τdis (t) …(17) なお、上記式(17)において、τ(t)はモータへの
トルク指令、y(t)はモータ速度、θ(t)は重力外
乱に影響を与えるロボットアームの回転角度、Jは慣性
モーメント、Aは粘性係数、Grはθに対する重力外乱
係数、Frは一定重力外乱、CL はクーロン摩擦、τdi
s (t)はその他の外乱である。また、y’(t)はモ
ータの実速度の微分を意味し加速度を示している。な
お、文字右肩に「’」を付したものは、その文字が意味
する変数の微分を意味する。
トルク指令、y(t)はモータ速度、θ(t)は重力外
乱に影響を与えるロボットアームの回転角度、Jは慣性
モーメント、Aは粘性係数、Grはθに対する重力外乱
係数、Frは一定重力外乱、CL はクーロン摩擦、τdi
s (t)はその他の外乱である。また、y’(t)はモ
ータの実速度の微分を意味し加速度を示している。な
お、文字右肩に「’」を付したものは、その文字が意味
する変数の微分を意味する。
【0036】また、モータへのトルク指令τを次の式
(18)によって表し、制御対象を制御するための制御
アルゴリズムとする。
(18)によって表し、制御対象を制御するための制御
アルゴリズムとする。
【0037】 τ(t)=K2・suf(t)+J*(t)・r’(t) +A*(t)・r(t)+Gr*(t)・sinθ(t) +Fr*(t)+CL *(t)+τ1(t) …(18) 上記式(18)において、K2は収束速度を決める定数
となる制御ゲイン(比例ゲイン)であり、r(t)は速
度指令、suf(t)は制御偏差(=r−y)、y
(t)は制御対象の制御量、J*(t)はJの推定値、
A*(t)はAの推定値、Gr*(t)はGrの推定
値、Fr*(t)はFrの推定値、CL *(t)はCL
の推定値、τ1(t)はスランディングモード入力であ
る。
となる制御ゲイン(比例ゲイン)であり、r(t)は速
度指令、suf(t)は制御偏差(=r−y)、y
(t)は制御対象の制御量、J*(t)はJの推定値、
A*(t)はAの推定値、Gr*(t)はGrの推定
値、Fr*(t)はFrの推定値、CL *(t)はCL
の推定値、τ1(t)はスランディングモード入力であ
る。
【0038】ここで、クーロン摩擦の推定値CL *
(t)は、絶対値が等しい正負の値を持ち、その極性は
速度yの正負の極性と同一極性である。すなわち、 y=0のときは、CL *=0 y>0のときは、CL *=正の推定値CL+* y<0のときは、CL *=負の推定値CL-* である。また、スランディングモード入力τ1(t)
は、 suf>0のときは、τ1(t)=τdismax suf<0のときは、τ1(t)=−τdismax である。
(t)は、絶対値が等しい正負の値を持ち、その極性は
速度yの正負の極性と同一極性である。すなわち、 y=0のときは、CL *=0 y>0のときは、CL *=正の推定値CL+* y<0のときは、CL *=負の推定値CL-* である。また、スランディングモード入力τ1(t)
は、 suf>0のときは、τ1(t)=τdismax suf<0のときは、τ1(t)=−τdismax である。
【0039】次に、リアプノフ関数候補Vを次の式(1
9)とする。
9)とする。
【0040】 V=(1/2)J・suf2 +(1/2)α・Jerr 2 +(1/2)β・Aerr 2 +(1/2)γ・Grerr 2 +(1/2)δ・Frerr 2 +(1/2)ε・CL err 2 …(19) なお、α,β,γ,δ,εは適応速度を決める正の調整
パラメータであり、Jerr ,Aerr ,Grerr ,Frer
r ,CL err は、それぞれ慣性モーメントの推定誤差、
粘性係数の推定誤差、重力外乱係数の推定誤差、一定重
力外乱の推定誤差、クーロン摩擦の推定誤差であり、次
の式(20)の関係がある。
パラメータであり、Jerr ,Aerr ,Grerr ,Frer
r ,CL err は、それぞれ慣性モーメントの推定誤差、
粘性係数の推定誤差、重力外乱係数の推定誤差、一定重
力外乱の推定誤差、クーロン摩擦の推定誤差であり、次
の式(20)の関係がある。
【0041】 Jerr =J−J* Aerr =A−A* Grerr =Gr−Gr* Frerr =Fr−Fr* CL err =CL −CL * …(20) 上記リアプノフ関数候補Vは最小値が「0」で常に正と
なる関数である。よって、リアプノフ関数候補Vの微分
値V’が常に負になる(単調減少)ようなモータへのト
ルクを決定すれば、リアプノフ関数候補Vは最小値
「0」に収束する。すなわち、suf=0,Jerr =
0,Aerr =0,Grerr =0,Frerr =0,CL er
r =0となり、応答は従来のスライディングモード制御
と同様に、制御対象のパラメータ(慣性モーメント、粘
性係数、重力外乱係数、一定重力外乱、クーロン摩擦)
に依存しない。そして、制御偏差sufが0となること
により、速度指令r=実速度yとなって伝達関数は1と
なり、各推定誤差は「0」となって、各推定値は真値に
収束する。
なる関数である。よって、リアプノフ関数候補Vの微分
値V’が常に負になる(単調減少)ようなモータへのト
ルクを決定すれば、リアプノフ関数候補Vは最小値
「0」に収束する。すなわち、suf=0,Jerr =
0,Aerr =0,Grerr =0,Frerr =0,CL er
r =0となり、応答は従来のスライディングモード制御
と同様に、制御対象のパラメータ(慣性モーメント、粘
性係数、重力外乱係数、一定重力外乱、クーロン摩擦)
に依存しない。そして、制御偏差sufが0となること
により、速度指令r=実速度yとなって伝達関数は1と
なり、各推定誤差は「0」となって、各推定値は真値に
収束する。
【0042】そこで、上記式(19)の両辺を微分する
と、 V’=J・suf・suf’+α・Jerr ・Jerr ’+β・Aerr ・Aerr ’ +γ・Grerr ・Grerr ’+δ・Frerr ・Frerr ’ +ε・CL err ・CL err ’ …(21) また、sufを微分して次式(22)を得る。
と、 V’=J・suf・suf’+α・Jerr ・Jerr ’+β・Aerr ・Aerr ’ +γ・Grerr ・Grerr ’+δ・Frerr ・Frerr ’ +ε・CL err ・CL err ’ …(21) また、sufを微分して次式(22)を得る。
【0043】 suf’=r’−y’ …(22) 式(17)からy’を求めると、 y’=(τ/J)−(A・y/J)−(Gr・sinθ+Fr+CL )/J −(τdis /J) …(23) 式(22)に式(23)を代入して解くと、 suf’=r’+(A・y/J)+(Gr・sinθ+Fr+CL )/J +(τdis /J)−(τ/J) …(24) 式(24)を式(21)に代入してV’を求めると、 V’=suf(J・r’+A・y+Gr・sinθ+Fr+CL +τdis −τ) +α・Jerr ・Jerr ’+β・Aerr ・Aerr ’ +γ・Grerr ・Grerr ’+δ・Frerr ・Frerr ’ +ε・CL err ・CL err ’ …(25) 上記式(25)を式(18)に代入して整理すると、次
の式(26)となる。
の式(26)となる。
【0044】 V’=−(K2+A)・suf2 +Jerr (suf・r’+α・Jerr ’) +Aerr (suf・r+β・Aerr ’) +Grerr (suf+γ・Grerr ’) +Frerr (suf+δ・Frerr ’) +CL err (suf+ε・CL err ’) +suf(τdis −τ1) …(26) 上記リアプノフ関数候補の微分値V’を常に負にするに
は、式(26)の右辺第1項は常に負であることから、
右辺第2〜第6項を「0」とし、第7項が常に負になる
ように切り換え入力τ1を選択するようにする。
は、式(26)の右辺第1項は常に負であることから、
右辺第2〜第6項を「0」とし、第7項が常に負になる
ように切り換え入力τ1を選択するようにする。
【0045】まず、上記式(26)の第2項を「0」に
することを考える。
することを考える。
【0046】 Jerr (suf・r’+α・Jerr ’)=0 …(27) 上記式(27)が常に「0」となるには、次の式(2
8)が成立すればよい。 suf・r’+α・Jerr ’=0 Jerr ’=−(1/α)suf・r’ …(28) そこで、慣性モーメントJの変化が非常に小さくその微
分値J’が「0」であるとすると、上記式(20)のJ
err =J−J*よりJerr ’=−J*’となるので、次
の式(29)が成立するようにsufと指令速度の微分
値(加速度)r’に基づいて、次式(29)に示すよう
に推定慣性モーメントJ*を変化させれば、式(26)
の右辺の第2項は常に「0」となる。
8)が成立すればよい。 suf・r’+α・Jerr ’=0 Jerr ’=−(1/α)suf・r’ …(28) そこで、慣性モーメントJの変化が非常に小さくその微
分値J’が「0」であるとすると、上記式(20)のJ
err =J−J*よりJerr ’=−J*’となるので、次
の式(29)が成立するようにsufと指令速度の微分
値(加速度)r’に基づいて、次式(29)に示すよう
に推定慣性モーメントJ*を変化させれば、式(26)
の右辺の第2項は常に「0」となる。
【0047】 J*=∫(1/α)・suf・r’ …(29) さらに、同様に、粘性係数、重力外乱係数、一定重力外
乱、クーロン摩擦の変化が小さいとして、A’=0,G
r’=0,Fr’=0, CL =0と仮定して、式(2
6)の右辺の第3項〜第6項についても「0」とすれ
ば、 A*=∫(1/β)・suf・r …(30) Gr*=∫(1/γ)・suf・sinθ(t) …(31) Fr*=∫(1/δ)・suf …(32) CL+*=∫(1/ε)・suf (y>0のときのみ適応) …(33) CL-*=∫(1/ε)・suf (y<0のときのみ適応) …(34) となり、粘性係数の推定値A*,重力外乱係数の推定値
Gr*,一定重力外乱の推定値Fr*,クーロン摩擦の
推定値CL+*,CL-*をそれぞれ上記式(29)〜(3
4)を満足するよう変化させれば、式(26)の右辺の
第3項〜第6項は「0」となる。
乱、クーロン摩擦の変化が小さいとして、A’=0,G
r’=0,Fr’=0, CL =0と仮定して、式(2
6)の右辺の第3項〜第6項についても「0」とすれ
ば、 A*=∫(1/β)・suf・r …(30) Gr*=∫(1/γ)・suf・sinθ(t) …(31) Fr*=∫(1/δ)・suf …(32) CL+*=∫(1/ε)・suf (y>0のときのみ適応) …(33) CL-*=∫(1/ε)・suf (y<0のときのみ適応) …(34) となり、粘性係数の推定値A*,重力外乱係数の推定値
Gr*,一定重力外乱の推定値Fr*,クーロン摩擦の
推定値CL+*,CL-*をそれぞれ上記式(29)〜(3
4)を満足するよう変化させれば、式(26)の右辺の
第3項〜第6項は「0」となる。
【0048】また、式(26)の右辺の第7項が常に負
となるためには、すなわち、次の式(35)が成立する
には、 suf(τdis −τ1)<0 …(35) suf>0のときには、τdis >τ1であればよいか
ら、切り換え入力τ1を上記τdis の最大値(τdisma
x)にすればよい。また、suf<0のときには、τdis
<τ1であればよいから、切り換え入力τ1を上記τd
is の最小値(−τdismax)にすればよい。このとき、
動作条件によっては、各パラメータが干渉する場合が生
じる。以下、加速度が一定の動作条件の場合,速度が一
定の動作条件の場合,速度の方向変化を伴う動作条件の
場合について、パラメータの干渉を防ぐ方法について説
明する。
となるためには、すなわち、次の式(35)が成立する
には、 suf(τdis −τ1)<0 …(35) suf>0のときには、τdis >τ1であればよいか
ら、切り換え入力τ1を上記τdis の最大値(τdisma
x)にすればよい。また、suf<0のときには、τdis
<τ1であればよいから、切り換え入力τ1を上記τd
is の最小値(−τdismax)にすればよい。このとき、
動作条件によっては、各パラメータが干渉する場合が生
じる。以下、加速度が一定の動作条件の場合,速度が一
定の動作条件の場合,速度の方向変化を伴う動作条件の
場合について、パラメータの干渉を防ぐ方法について説
明する。
【0049】(a)加速度が一定の動作条件の場合:加
速度が一定となるような動作条件の場合には、式(1
8)において状態変数r’が一定値となって、慣性モー
メントに対応する状態変数と一定重力外乱に対応する状
態変数とは共に定数となって同じ状態の状態変数とな
り、状態変数のランクが減少する。そのため、慣性モー
メントの推定値J*と一定重力外乱の推定値Fr*と
は、操作量であるτ中において相互に関連して増減する
関係のパラメータとなって、干渉することになる。
速度が一定となるような動作条件の場合には、式(1
8)において状態変数r’が一定値となって、慣性モー
メントに対応する状態変数と一定重力外乱に対応する状
態変数とは共に定数となって同じ状態の状態変数とな
り、状態変数のランクが減少する。そのため、慣性モー
メントの推定値J*と一定重力外乱の推定値Fr*と
は、操作量であるτ中において相互に関連して増減する
関係のパラメータとなって、干渉することになる。
【0050】そこで、このような動作条件の場合には、
推定を行なうパラメータを1つに限定して、干渉する他
のパラメータについては推定を停止する。ここでは、慣
性モーメントJあるいは一定重力外乱Frのいずれか一
方のパラメータの推定を行い、他方のパラメータについ
ては推定を行なわない。そして、制御対象の制御量は、
推定を行なうパラメータについてはその推定したパラメ
ータ値を用い、推定を行なわないパラメータについては
その推定を停止する前のパラメータ値を用いて定める。
推定を行なうパラメータを1つに限定して、干渉する他
のパラメータについては推定を停止する。ここでは、慣
性モーメントJあるいは一定重力外乱Frのいずれか一
方のパラメータの推定を行い、他方のパラメータについ
ては推定を行なわない。そして、制御対象の制御量は、
推定を行なうパラメータについてはその推定したパラメ
ータ値を用い、推定を行なわないパラメータについては
その推定を停止する前のパラメータ値を用いて定める。
【0051】ここでは、慣性モーメントJあるいは一定
重力外乱Frのいずれか一方の推定を行ない、いずれの
パラメータについて推定を行なうかは任意に定めること
ができ、制御対象に対する応答の程度に応じて選択する
こともできる。
重力外乱Frのいずれか一方の推定を行ない、いずれの
パラメータについて推定を行なうかは任意に定めること
ができ、制御対象に対する応答の程度に応じて選択する
こともできる。
【0052】(b)速度が一定の動作条件の場合:速度
が一定となるような動作条件の場合には、式(18)に
おいて状態変数rが一定値となって、粘性係数に対応す
る状態変数と一定重力外乱に対応する状態変数とは共に
定数となって同じ状態の状態変数となり、状態変数のラ
ンクが減少する。そのため、粘性係数の推定値A*と一
定重力外乱の推定値Fr*とは、操作量であるτ中にお
いて相互に関連して増減する関係のパラメータとなっ
て、干渉することになる。
が一定となるような動作条件の場合には、式(18)に
おいて状態変数rが一定値となって、粘性係数に対応す
る状態変数と一定重力外乱に対応する状態変数とは共に
定数となって同じ状態の状態変数となり、状態変数のラ
ンクが減少する。そのため、粘性係数の推定値A*と一
定重力外乱の推定値Fr*とは、操作量であるτ中にお
いて相互に関連して増減する関係のパラメータとなっ
て、干渉することになる。
【0053】そこで、このような動作条件の場合には、
推定を行なうパラメータを1つに限定して、干渉する他
のパラメータについては推定を停止する。ここでは、粘
性係数Aあるいは一定重力外乱Frのいずれか一方のパ
ラメータの推定を行い、他方のパラメータについては推
定を行なわない。そして、制御対象の制御量は、推定を
行なうパラメータについてはその推定したパラメータ値
を用い、推定を行なわないパラメータについてはその推
定を停止する前のパラメータ値を用いて定める。
推定を行なうパラメータを1つに限定して、干渉する他
のパラメータについては推定を停止する。ここでは、粘
性係数Aあるいは一定重力外乱Frのいずれか一方のパ
ラメータの推定を行い、他方のパラメータについては推
定を行なわない。そして、制御対象の制御量は、推定を
行なうパラメータについてはその推定したパラメータ値
を用い、推定を行なわないパラメータについてはその推
定を停止する前のパラメータ値を用いて定める。
【0054】ここでは、粘性係数Aあるいは一定重力外
乱Frのいずれか一方の推定を行ない、いずれのパラメ
ータについて推定を行なうかは任意に定めることがで
き、制御対象に対する応答の程度に応じて選択すること
もできる。
乱Frのいずれか一方の推定を行ない、いずれのパラメ
ータについて推定を行なうかは任意に定めることがで
き、制御対象に対する応答の程度に応じて選択すること
もできる。
【0055】(c)速度の方向が変化する動作条件の場
合:クーロン摩擦は、速度方向が変化しない場合には、
その方向に応じた値が発生するため、式(18)におい
てクーロン摩擦に対応する状態変数と一定重力外乱に対
応する状態変数とは共に定数となって同じ状態の状態変
数となり、状態変数のランクが減少する。そのため、ク
ーロン摩擦の推定値CL *と一定重力外乱の推定値Fr
*とは、操作量であるτ中において相互に関連して増減
する関係のパラメータとなって、干渉することになる。
合:クーロン摩擦は、速度方向が変化しない場合には、
その方向に応じた値が発生するため、式(18)におい
てクーロン摩擦に対応する状態変数と一定重力外乱に対
応する状態変数とは共に定数となって同じ状態の状態変
数となり、状態変数のランクが減少する。そのため、ク
ーロン摩擦の推定値CL *と一定重力外乱の推定値Fr
*とは、操作量であるτ中において相互に関連して増減
する関係のパラメータとなって、干渉することになる。
【0056】一方、速度方向が変化する場合には、前記
の状態は発生しない。そこで、このような動作条件の場
合には、速度方向が変化する時点でのみパラメータを1
つに限定して推定を行ない、干渉する他のパラメータに
ついては推定を停止する。ここでは、クーロン摩擦CL
あるいは一定重力外乱Frのいずれか一方のパラメータ
の推定を行い、他方のパラメータについては推定を行な
わない。そして、制御対象の制御量は、推定を行なうパ
ラメータについてはその推定したパラメータ値を用い、
推定を行なわないパラメータについてはその推定を停止
する前のパラメータ値を用いて定める。
の状態は発生しない。そこで、このような動作条件の場
合には、速度方向が変化する時点でのみパラメータを1
つに限定して推定を行ない、干渉する他のパラメータに
ついては推定を停止する。ここでは、クーロン摩擦CL
あるいは一定重力外乱Frのいずれか一方のパラメータ
の推定を行い、他方のパラメータについては推定を行な
わない。そして、制御対象の制御量は、推定を行なうパ
ラメータについてはその推定したパラメータ値を用い、
推定を行なわないパラメータについてはその推定を停止
する前のパラメータ値を用いて定める。
【0057】ここでは、クーロン摩擦CL あるいは一定
重力外乱Frのいずれか一方の推定を行ない、いずれの
パラメータについて推定を行なうかは任意に定めること
ができ、制御対象に対する応答の程度に応じて選択する
こともできる。
重力外乱Frのいずれか一方の推定を行ない、いずれの
パラメータについて推定を行なうかは任意に定めること
ができ、制御対象に対する応答の程度に応じて選択する
こともできる。
【0058】これによって、状態変数のランクが下がっ
た場合においても、推定を行なうパラメータは1つのみ
となるから、推定値同士が干渉して発散することを防ぐ
ことができる。
た場合においても、推定を行なうパラメータは1つのみ
となるから、推定値同士が干渉して発散することを防ぐ
ことができる。
【0059】以上のように、上記式(29)〜(34)
について、前記(a)〜(c)に示すような動作条件に
おいて、推定するパラメータを1つに限定して成立する
ようにトルク指令τを求め、モータを制御すれば、リア
プノフ関数候補Vの微分値は常に負となる。そなわち、
式(29)〜(34)からそれぞれの推定値J*,A
*,Gr*,Fr*,CL+*,CL-*をが求められ、式
(35)が成立するようにsufの正負に応じて切り換
え入力τ1を切り換え、式(18)でトルク指令τを求
めてモータに入力するようにすればよい。これによっ
て、リアプノフ関数候補Vは最小値「0」に収束し、s
uf及び各パラメータの推定誤差は「0」となる(Jer
r =0,Aerr =0,Gerr =0,Ferr =0,CLerr
=0,CL-*=0)。
について、前記(a)〜(c)に示すような動作条件に
おいて、推定するパラメータを1つに限定して成立する
ようにトルク指令τを求め、モータを制御すれば、リア
プノフ関数候補Vの微分値は常に負となる。そなわち、
式(29)〜(34)からそれぞれの推定値J*,A
*,Gr*,Fr*,CL+*,CL-*をが求められ、式
(35)が成立するようにsufの正負に応じて切り換
え入力τ1を切り換え、式(18)でトルク指令τを求
めてモータに入力するようにすればよい。これによっ
て、リアプノフ関数候補Vは最小値「0」に収束し、s
uf及び各パラメータの推定誤差は「0」となる(Jer
r =0,Aerr =0,Gerr =0,Ferr =0,CLerr
=0,CL-*=0)。
【0060】特に、1/δ=K1とすると、式(32)
から次式(36)が成立する。
から次式(36)が成立する。
【0061】 Fr*=(K1/s)・suf …(36) suf(=r−y)は速度偏差であるから、式(36)
は、速度偏差を積分して定数K1を乗じることを意味し
ている。これは、従来のPI制御における速度ループ処
理の積分器の処理と同じである。
は、速度偏差を積分して定数K1を乗じることを意味し
ている。これは、従来のPI制御における速度ループ処
理の積分器の処理と同じである。
【0062】そこで、式(18)で求めるトルク指令τ
は次式(37)となる。
は次式(37)となる。
【0063】 τ=K2・suf+(K1/s)・suf+J*・r’+A*・r +Gr*・sinθ+CL *+τ1 …(37) 上式(37)において、sufは(r−y)であり、速
度偏差であるから、{K2・suf+(K1/s)・s
uf}は従来のPI制御によって求められるトルク指令
Tcmdとなるから、上記式(37)は次式(38)と
なる。なお、CL *は式(33),(34)によって、
実速度yの正,負に応じて変わる。
度偏差であるから、{K2・suf+(K1/s)・s
uf}は従来のPI制御によって求められるトルク指令
Tcmdとなるから、上記式(37)は次式(38)と
なる。なお、CL *は式(33),(34)によって、
実速度yの正,負に応じて変わる。
【0064】 τ=Tcmd+J*・r’+A*・r+Gr*・sinθ+CL *+τ1 …(38) 前記の関係をブロック図で表すと図1となる。なお、図
1において、1は速度偏差sufに定数K2を乗じる項
で従来のPI制御における比例項に対応し、前記式(3
7)における右辺第1項に値する。2は積分の項で前記
式(36)に対応し、一定重力外乱の推定値Fr*を求
める項であり、従来のPI制御における積分項に対応し
(式(37)の右辺の第2項)、要素1と要素2の出力
を加算した値はPI制御によるトルク指令Tcmdを意
味し、式(38)の右辺第1項に対応する。3は指令速
度rを微分し、指令の加速度r’を求める項で、4は指
令の加速度r’に推定慣性モーメントJ*を乗じる項
で、前記式(38)の右辺第2項を求める項である。5
はロボットアーム角度θに対する重力外乱係数の推定値
Gr*の項であり、ロボットアーム角度θに対応するs
inθにこの推定値Gr*を乗じて重力外乱を求める項
で、式(38)の右辺の第4項の値を求める項である。
6は粘性係数の推定値A*を指令速度rに乗じる項で、
式(38)の右辺の第3項の値を求める項である。
1において、1は速度偏差sufに定数K2を乗じる項
で従来のPI制御における比例項に対応し、前記式(3
7)における右辺第1項に値する。2は積分の項で前記
式(36)に対応し、一定重力外乱の推定値Fr*を求
める項であり、従来のPI制御における積分項に対応し
(式(37)の右辺の第2項)、要素1と要素2の出力
を加算した値はPI制御によるトルク指令Tcmdを意
味し、式(38)の右辺第1項に対応する。3は指令速
度rを微分し、指令の加速度r’を求める項で、4は指
令の加速度r’に推定慣性モーメントJ*を乗じる項
で、前記式(38)の右辺第2項を求める項である。5
はロボットアーム角度θに対する重力外乱係数の推定値
Gr*の項であり、ロボットアーム角度θに対応するs
inθにこの推定値Gr*を乗じて重力外乱を求める項
で、式(38)の右辺の第4項の値を求める項である。
6は粘性係数の推定値A*を指令速度rに乗じる項で、
式(38)の右辺の第3項の値を求める項である。
【0065】そして、前記要素1,2,4,5,6から
の出力を全て加算し、さらに、項8において実速度yの
正負に応じて正のクーロン摩擦あるいは負のクーロン摩
擦を加算し、切り換え入力τ1を加算した値をトルク指
令τとしてモータへ入力してモータの駆動を行なう。
の出力を全て加算し、さらに、項8において実速度yの
正負に応じて正のクーロン摩擦あるいは負のクーロン摩
擦を加算し、切り換え入力τ1を加算した値をトルク指
令τとしてモータへ入力してモータの駆動を行なう。
【0066】図3は、本発明の一実施例を実施するロボ
ットを駆動するサーボモータの制御系の要部ブロック図
である。図3中、20は制御対象を制御するホストプロ
セッサで、制御対象の各軸に位置指令を分配する。21
はホストプロセッサ20とデジタルサーボ回路22のプ
ロセッサ間の情報の伝達を仲介する共有メモリで、ホス
トプロセッサ20が書き込んだ位置指令等のデータをデ
ジタルサーボ回路22のプロセッサに受渡し、デジタル
サーボ回路22のプロセッサが書き込んだアラーム情報
等をホストプロセッサ20に受け渡す機能を行なうもの
である。22はデジタルシグナルプロセッサ等で構成さ
れるデジタルサーボ回路で、プロセッサ,ROM,RA
N等で構成されている。このデジタルサーボ回路22
は、ロボットの各軸のサーボモータの制御を行なうもの
で、本発明のロバスト適応制御のサーボモータ制御処理
を行なうものである。23はトランジスタインバータ等
で構成されるサーボアンプで、24はサーボモータであ
る。また、25はサーボモータ24の位置,速度を検出
する位置・速度検出器で、位置,速度yはデジタルサー
ボ回路22にフィードバックさている。なお、サーボア
ンプ23,サーボモータ24は1軸のみを図示してい
る。
ットを駆動するサーボモータの制御系の要部ブロック図
である。図3中、20は制御対象を制御するホストプロ
セッサで、制御対象の各軸に位置指令を分配する。21
はホストプロセッサ20とデジタルサーボ回路22のプ
ロセッサ間の情報の伝達を仲介する共有メモリで、ホス
トプロセッサ20が書き込んだ位置指令等のデータをデ
ジタルサーボ回路22のプロセッサに受渡し、デジタル
サーボ回路22のプロセッサが書き込んだアラーム情報
等をホストプロセッサ20に受け渡す機能を行なうもの
である。22はデジタルシグナルプロセッサ等で構成さ
れるデジタルサーボ回路で、プロセッサ,ROM,RA
N等で構成されている。このデジタルサーボ回路22
は、ロボットの各軸のサーボモータの制御を行なうもの
で、本発明のロバスト適応制御のサーボモータ制御処理
を行なうものである。23はトランジスタインバータ等
で構成されるサーボアンプで、24はサーボモータであ
る。また、25はサーボモータ24の位置,速度を検出
する位置・速度検出器で、位置,速度yはデジタルサー
ボ回路22にフィードバックさている。なお、サーボア
ンプ23,サーボモータ24は1軸のみを図示してい
る。
【0067】図4及び図5は、本発明の実施例におい
て、前記デジタルサーボ回路22のプロセッサが実行す
る本発明のサーボモータ制御処理に関するフローチャー
トであり、該プロセッサは所定周期毎に処理を実行す
る。まず、デジタルサーボ回路22のメモリ内に本実施
例におけるロバスト適応制御のサーボモータ制御処理に
必要な定数等、すなわち、比例ゲインK2,積分ゲイン
K1(=1/δ),他の予想される最大値τdismax,−
τdismax及び調整パラメータα,β,γ,εの値をあら
かじめ設定しておく。
て、前記デジタルサーボ回路22のプロセッサが実行す
る本発明のサーボモータ制御処理に関するフローチャー
トであり、該プロセッサは所定周期毎に処理を実行す
る。まず、デジタルサーボ回路22のメモリ内に本実施
例におけるロバスト適応制御のサーボモータ制御処理に
必要な定数等、すなわち、比例ゲインK2,積分ゲイン
K1(=1/δ),他の予想される最大値τdismax,−
τdismax及び調整パラメータα,β,γ,εの値をあら
かじめ設定しておく。
【0068】そして、制御対象の動作を開始させると、
ホストプロセッサ20は制御対象の各軸に対して位置指
令を分配し、デジタルサーボ回路22のプロセッサは共
有メモリ21のRAMから位置指令を読み取るととも
に、パルスコーダ26から出力される位置フィードバッ
ク量を読み取り、従来と同様に位置ループ処理を行ない
速度指令rを求める。
ホストプロセッサ20は制御対象の各軸に対して位置指
令を分配し、デジタルサーボ回路22のプロセッサは共
有メモリ21のRAMから位置指令を読み取るととも
に、パルスコーダ26から出力される位置フィードバッ
ク量を読み取り、従来と同様に位置ループ処理を行ない
速度指令rを求める。
【0069】次に、デジタルサーボ回路22のプロセッ
サは、図4,図5に示す処理を開始し、まず、位置ルー
プ処理によって得られた速度指令rを読み取るととも
に、位置・速度検出器25で検出されたモータ24の実
速度yを読み取る(ステップS1,ステップS2)。さ
らに、共有メモリ21を介してホストプロセッサから送
られてくるロボットアームの回転角度θを読み、該値よ
りsinθの値を算出する(ステップS3)。次に、指
令速度rから加速度r’を算出するとともに、速度指令
rから実速度yを減じて速度偏差sufを求める(ステ
ップS4,ステップS5)。次に、従来と同様の処理で
あるPI制御の処理を行いPI制御によるトルク指令T
cmdを求める(ステップS6)。
サは、図4,図5に示す処理を開始し、まず、位置ルー
プ処理によって得られた速度指令rを読み取るととも
に、位置・速度検出器25で検出されたモータ24の実
速度yを読み取る(ステップS1,ステップS2)。さ
らに、共有メモリ21を介してホストプロセッサから送
られてくるロボットアームの回転角度θを読み、該値よ
りsinθの値を算出する(ステップS3)。次に、指
令速度rから加速度r’を算出するとともに、速度指令
rから実速度yを減じて速度偏差sufを求める(ステ
ップS4,ステップS5)。次に、従来と同様の処理で
あるPI制御の処理を行いPI制御によるトルク指令T
cmdを求める(ステップS6)。
【0070】次に、各パラメータの適応処理として、パ
ラメータの各推定値を求める。
ラメータの各推定値を求める。
【0071】動作条件が前記(a)に示したように、加
速度r’が一定か否かの判定を行なう。この判定は、加
速度r’を微分して得られる加加速度r’’の絶対値を
あらかじめ設定しておいた加加速度の限界値JERKli
m と比較することによって行なう。図6は、加速度r’
が一定か否かの判定を説明するための図である。図6に
おいて、矢印で示す加加速度r’’の絶対値が加加速度
の限界値JERKlimより小さい場合には、加速度r’
が一定であると判断する。この場合には、慣性モーメン
トの推定値J*と一定重力外乱の推定値Fr*とが干渉
する。一方、矢印で示す加加速度r’’の絶対値が加加
速度の限界値JERKlim より大きい場合には、加速度
r’が一定でないと判断する。この場合には、慣性モー
メントの推定値J*と一定重力外乱の推定値Fr*とは
干渉していない(ステップS7)。
速度r’が一定か否かの判定を行なう。この判定は、加
速度r’を微分して得られる加加速度r’’の絶対値を
あらかじめ設定しておいた加加速度の限界値JERKli
m と比較することによって行なう。図6は、加速度r’
が一定か否かの判定を説明するための図である。図6に
おいて、矢印で示す加加速度r’’の絶対値が加加速度
の限界値JERKlimより小さい場合には、加速度r’
が一定であると判断する。この場合には、慣性モーメン
トの推定値J*と一定重力外乱の推定値Fr*とが干渉
する。一方、矢印で示す加加速度r’’の絶対値が加加
速度の限界値JERKlim より大きい場合には、加速度
r’が一定でないと判断する。この場合には、慣性モー
メントの推定値J*と一定重力外乱の推定値Fr*とは
干渉していない(ステップS7)。
【0072】前記ステップS7の判定において、加加速
度r’’の絶対値が加加速度の限界値JERKlim より
小さい場合には、加速度r’が一定であって慣性モーメ
ントの推定値J*と一定重力外乱の推定値Fr*とが干
渉するため、2つのパラメータの中で一方のパラメータ
である慣性モーメントの推定を停止し、停止前の値を慣
性モーメントの値とする(ステップS9)。一方、前記
ステップS7の判定において、加加速度r’’の絶対値
が加加速度の限界値JERKlim より大きい場合には、
加速度r’が一定でなく慣性モーメントの推定値J*と
一定重力外乱の推定値Fr*とが非干渉であるため、パ
ラメータの推定を停止することなく、前記式(29)に
従って慣性モーメントの推定値J*を求め(ステップS
8)、求めた値を慣性モーメントの値とする(ステップ
S9)。
度r’’の絶対値が加加速度の限界値JERKlim より
小さい場合には、加速度r’が一定であって慣性モーメ
ントの推定値J*と一定重力外乱の推定値Fr*とが干
渉するため、2つのパラメータの中で一方のパラメータ
である慣性モーメントの推定を停止し、停止前の値を慣
性モーメントの値とする(ステップS9)。一方、前記
ステップS7の判定において、加加速度r’’の絶対値
が加加速度の限界値JERKlim より大きい場合には、
加速度r’が一定でなく慣性モーメントの推定値J*と
一定重力外乱の推定値Fr*とが非干渉であるため、パ
ラメータの推定を停止することなく、前記式(29)に
従って慣性モーメントの推定値J*を求め(ステップS
8)、求めた値を慣性モーメントの値とする(ステップ
S9)。
【0073】また、動作条件が前記(b)に示したよう
に、速度rが一定か否かの判定を行なう。この判定は、
加速度r’の絶対値をあらかじめ設定しておいた加速度
の限界値ACClim と比較することによって行なう。図
7は、速度rが一定か否かの判定を説明するための図で
ある。図7において、矢印で示す加速度r’の絶対値が
加速度の限界値ACClim より小さい場合には、速度r
が一定であると判断する。この場合には、粘性係数の推
定値A*と一定重力外乱の推定値Fr*とが干渉する。
一方、矢印で示す加速度r’の絶対値が加速度の限界値
ACClim より大きい場合には、速度rが一定でないと
判断する。この場合には、粘性係数の推定値A*と一定
重力外乱の推定値Fr*とは干渉していない(ステップ
S10)。
に、速度rが一定か否かの判定を行なう。この判定は、
加速度r’の絶対値をあらかじめ設定しておいた加速度
の限界値ACClim と比較することによって行なう。図
7は、速度rが一定か否かの判定を説明するための図で
ある。図7において、矢印で示す加速度r’の絶対値が
加速度の限界値ACClim より小さい場合には、速度r
が一定であると判断する。この場合には、粘性係数の推
定値A*と一定重力外乱の推定値Fr*とが干渉する。
一方、矢印で示す加速度r’の絶対値が加速度の限界値
ACClim より大きい場合には、速度rが一定でないと
判断する。この場合には、粘性係数の推定値A*と一定
重力外乱の推定値Fr*とは干渉していない(ステップ
S10)。
【0074】前記ステップS10の判定において、加速
度r’の絶対値が加速度の限界値ACClim より小さい
場合には、速度rが一定であって粘性係数の推定値A*
と一定重力外乱の推定値Fr*とが干渉するため、2つ
のパラメータの中で一方のパラメータである粘性係数の
推定を停止し、停止前の値を粘性係数の値とする(ステ
ップS12)。一方、前記ステップS10の判定におい
て、加速度r’の絶対値が加速度の限界値ACClim よ
り大きい場合には、速度rが一定でなく粘性係数の推定
値A*と一定重力外乱の推定値Fr*とが非干渉である
ため、パラメータの推定を停止することなく、前記式
(30)に従って粘性係数の推定値A*を求め(ステッ
プS11)、求めた値を粘性係数の値とする(ステップ
S12)。
度r’の絶対値が加速度の限界値ACClim より小さい
場合には、速度rが一定であって粘性係数の推定値A*
と一定重力外乱の推定値Fr*とが干渉するため、2つ
のパラメータの中で一方のパラメータである粘性係数の
推定を停止し、停止前の値を粘性係数の値とする(ステ
ップS12)。一方、前記ステップS10の判定におい
て、加速度r’の絶対値が加速度の限界値ACClim よ
り大きい場合には、速度rが一定でなく粘性係数の推定
値A*と一定重力外乱の推定値Fr*とが非干渉である
ため、パラメータの推定を停止することなく、前記式
(30)に従って粘性係数の推定値A*を求め(ステッ
プS11)、求めた値を粘性係数の値とする(ステップ
S12)。
【0075】また、前記式(31)に従ってθに対する
重力外乱係数の推定値Gr*を求め、求めた値を重力外
乱係数の値とする(ステップS13)。
重力外乱係数の推定値Gr*を求め、求めた値を重力外
乱係数の値とする(ステップS13)。
【0076】なお、前記ステップS8においては、、慣
性モーメントの推定値J*を積算記憶するレジスタに、
ステップS5で求めた位置偏差sufにステップS4で
求めた指令の加速度r’を乗じ、さらに、設定された調
整パラメータαの逆数(1/α)を乗じた値を加算して
慣性モーメントの推定値J*を求める。また、前記ステ
ップS11においては、粘性係数の推定値A*を積算記
憶するレジスタに、ステップS5で求めた位置偏差su
fに指令速度r及び設定された調整パラメータβの逆数
(1/β)を乗じた値を加算して粘性係数の推定値A*
を求める。また、前記ステップS13においては、重力
外乱係数を積算記憶するレジスタに、位置偏差sufに
ステップS3で求めたsinθ及び設定された調整パラ
メータγの逆数(1/γ)を乗じた値を加算して重力外
乱係数の推定値Gr*を求める。
性モーメントの推定値J*を積算記憶するレジスタに、
ステップS5で求めた位置偏差sufにステップS4で
求めた指令の加速度r’を乗じ、さらに、設定された調
整パラメータαの逆数(1/α)を乗じた値を加算して
慣性モーメントの推定値J*を求める。また、前記ステ
ップS11においては、粘性係数の推定値A*を積算記
憶するレジスタに、ステップS5で求めた位置偏差su
fに指令速度r及び設定された調整パラメータβの逆数
(1/β)を乗じた値を加算して粘性係数の推定値A*
を求める。また、前記ステップS13においては、重力
外乱係数を積算記憶するレジスタに、位置偏差sufに
ステップS3で求めたsinθ及び設定された調整パラ
メータγの逆数(1/γ)を乗じた値を加算して重力外
乱係数の推定値Gr*を求める。
【0077】次に、ステップS2で読み取ったモータ速
度yが「0」か「正」か「負」かを判定する(ステップ
S14)。
度yが「0」か「正」か「負」かを判定する(ステップ
S14)。
【0078】速度yが「0」の場合には、クーロン摩擦
の推定値CL *を記憶するレジスタに「0」をセットす
る(ステップS15)。
の推定値CL *を記憶するレジスタに「0」をセットす
る(ステップS15)。
【0079】速度yが「正」の場合には、さらにそれ以
前の速度が「負」であるか否かの判定を行なう(ステッ
プS16)。そして、ステップS16の判定において、
速度yが「負」から「正」に変化していない場合には、
クーロン摩擦の推定値CL *と一定重力外乱の推定値F
r*とは干渉するため、クーロン摩擦の推定を停止し
て、推定停止前の値をクーロン摩擦の値とする(ステッ
プS18)。また、ステップS16の判定において、速
度yが「負」から「正」に変化している場合には、その
変化の時点においてクーロン摩擦の推定値CL *と一定
重力外乱の推定値Fr*とは干渉しないため、前記式
(33)に従ってクーロン摩擦の推定を行ない(ステッ
プS17)、推定した値をクーロン摩擦の値とする(ス
テップS18)。
前の速度が「負」であるか否かの判定を行なう(ステッ
プS16)。そして、ステップS16の判定において、
速度yが「負」から「正」に変化していない場合には、
クーロン摩擦の推定値CL *と一定重力外乱の推定値F
r*とは干渉するため、クーロン摩擦の推定を停止し
て、推定停止前の値をクーロン摩擦の値とする(ステッ
プS18)。また、ステップS16の判定において、速
度yが「負」から「正」に変化している場合には、その
変化の時点においてクーロン摩擦の推定値CL *と一定
重力外乱の推定値Fr*とは干渉しないため、前記式
(33)に従ってクーロン摩擦の推定を行ない(ステッ
プS17)、推定した値をクーロン摩擦の値とする(ス
テップS18)。
【0080】速度yが「負」の場合には、さらにそれ以
前の速度が「正」であるか否かの判定を行なう(ステッ
プS19)。そして、ステップS16の判定において、
速度yが「正」から「負」に変化していない場合には、
クーロン摩擦の推定値CL *と一定重力外乱の推定値F
r*とは干渉するため、クーロン摩擦の推定を停止し
て、推定停止前の値をクーロン摩擦の値とする(ステッ
プS21)。また、ステップS19の判定において、速
度yが「正」から「負」に変化している場合には、その
変化の時点においてクーロン摩擦の推定値CL *と一定
重力外乱の推定値Fr*とは干渉しないため、前記式
(34)に従ってクーロン摩擦の推定を行ない(ステッ
プS20)、推定した値をクーロン摩擦の値とする(ス
テップS21)。
前の速度が「正」であるか否かの判定を行なう(ステッ
プS19)。そして、ステップS16の判定において、
速度yが「正」から「負」に変化していない場合には、
クーロン摩擦の推定値CL *と一定重力外乱の推定値F
r*とは干渉するため、クーロン摩擦の推定を停止し
て、推定停止前の値をクーロン摩擦の値とする(ステッ
プS21)。また、ステップS19の判定において、速
度yが「正」から「負」に変化している場合には、その
変化の時点においてクーロン摩擦の推定値CL *と一定
重力外乱の推定値Fr*とは干渉しないため、前記式
(34)に従ってクーロン摩擦の推定を行ない(ステッ
プS20)、推定した値をクーロン摩擦の値とする(ス
テップS21)。
【0081】図8の(a)は、速度yが「負」から
「正」に変化している場合のクーロン摩擦と一定重力外
乱との干渉を説明する図である。図の(a)において、
細い矢印で示されるクーロン摩擦においては、一定重力
外乱と状態変数が同じであるため干渉を起こし、太い矢
印で示す速度が「負」から「正」に変化する時点でのみ
干渉を起こさない。そこで、この時点でのみ、クーロン
摩擦の推定を行なう。また、図8の(b)は、速度yが
「正」から「負」に変化している場合のクーロン摩擦と
一定重力外乱との干渉を説明する図である。図の(b)
においても、細い矢印で示されるクーロン摩擦において
は、一定重力外乱と状態変数が同じであるため干渉を起
こし、太い矢印で示す速度が「正」から「負」に変化す
る時点でのみ干渉を起こさない。そこで、この時点での
み、クーロン摩擦の推定を行なう。
「正」に変化している場合のクーロン摩擦と一定重力外
乱との干渉を説明する図である。図の(a)において、
細い矢印で示されるクーロン摩擦においては、一定重力
外乱と状態変数が同じであるため干渉を起こし、太い矢
印で示す速度が「負」から「正」に変化する時点でのみ
干渉を起こさない。そこで、この時点でのみ、クーロン
摩擦の推定を行なう。また、図8の(b)は、速度yが
「正」から「負」に変化している場合のクーロン摩擦と
一定重力外乱との干渉を説明する図である。図の(b)
においても、細い矢印で示されるクーロン摩擦において
は、一定重力外乱と状態変数が同じであるため干渉を起
こし、太い矢印で示す速度が「正」から「負」に変化す
る時点でのみ干渉を起こさない。そこで、この時点での
み、クーロン摩擦の推定を行なう。
【0082】前記ステップS17,18においては、正
のクーロン摩擦の推定値CL+*を積算記憶するレジスタ
に位置偏差sufに調整パラメータεの逆数を乗じた値
を加算し、正のクーロン摩擦の推定値CL+*を求め、こ
の求められた正のクーロン摩擦の推定値CL+*をクーロ
ン摩擦の推定値CL *を記憶するレジスタにセットす
る。また、前記ステップS20,21においては、負の
クーロン摩擦の推定値CL-*を積算記憶するレジスタに
位置偏差sufに調整パラメータεの逆数を乗じた値を
加算し、負のクーロン摩擦の推定値CL-*を求め、この
求められた負のクーロン摩擦の推定値CL-*をクーロン
摩擦の推定値CL *を記憶するレジスタにセットする。
のクーロン摩擦の推定値CL+*を積算記憶するレジスタ
に位置偏差sufに調整パラメータεの逆数を乗じた値
を加算し、正のクーロン摩擦の推定値CL+*を求め、こ
の求められた正のクーロン摩擦の推定値CL+*をクーロ
ン摩擦の推定値CL *を記憶するレジスタにセットす
る。また、前記ステップS20,21においては、負の
クーロン摩擦の推定値CL-*を積算記憶するレジスタに
位置偏差sufに調整パラメータεの逆数を乗じた値を
加算し、負のクーロン摩擦の推定値CL-*を求め、この
求められた負のクーロン摩擦の推定値CL-*をクーロン
摩擦の推定値CL *を記憶するレジスタにセットする。
【0083】次に、速度偏差sufの値が0以上である
か否かを判定し(ステップS22)、「0」もしくは
「正」である場合には切り換え入力τ1を、設定されて
いるその他の外乱の正の最大値τdismaxとする。また、
「負」である場合には切り換え入力τ1を、設定されて
いるその他の外乱の負の最大値−τdismaxとし(ステッ
プS23,ステップS24)、ステップS6で求めたP
I制御によるトルク指令値Tcmd,各推定値J*,A
*,Gr*,CL *,切り換え入力τ1、指令速度r,
指令の加速度r’及びロボットアームの角度θに対する
sinθの値によって式(38)の演算を行なってトル
ク指令τを求め(ステップS25)、このトルク指令τ
を電流ループ処理に引き渡して(ステップS26)、当
該処理を終了する。前記ステップS1〜ステップS26
の処理を所定周期毎に実行し、サーボモータ24を駆動
する。
か否かを判定し(ステップS22)、「0」もしくは
「正」である場合には切り換え入力τ1を、設定されて
いるその他の外乱の正の最大値τdismaxとする。また、
「負」である場合には切り換え入力τ1を、設定されて
いるその他の外乱の負の最大値−τdismaxとし(ステッ
プS23,ステップS24)、ステップS6で求めたP
I制御によるトルク指令値Tcmd,各推定値J*,A
*,Gr*,CL *,切り換え入力τ1、指令速度r,
指令の加速度r’及びロボットアームの角度θに対する
sinθの値によって式(38)の演算を行なってトル
ク指令τを求め(ステップS25)、このトルク指令τ
を電流ループ処理に引き渡して(ステップS26)、当
該処理を終了する。前記ステップS1〜ステップS26
の処理を所定周期毎に実行し、サーボモータ24を駆動
する。
【0084】なお、上記実施例では、スランディングモ
ードによる切り換え入力τ1をトルク指令τに加算して
いるが、例えばロボットが1軸である場合や1軸以上の
場合でも、重力の影響を1軸のロボットアームからのみ
受けて、すでにこのロボットアームの回転角による重力
外乱の影響を推定値Gr*で考慮し、他の外乱を想定す
る必要がない場合には、上記切り換え入力τ1をトルク
指令に加算する必要はない。また、ロボットアームの角
度によって重力外乱の影響を受ける2軸以上の軸がある
場合には、上述した実施例のような処理で行なうことも
できるが、2つの軸共に、上記実施例で示した推定値G
r*を求めて処理することもできる。
ードによる切り換え入力τ1をトルク指令τに加算して
いるが、例えばロボットが1軸である場合や1軸以上の
場合でも、重力の影響を1軸のロボットアームからのみ
受けて、すでにこのロボットアームの回転角による重力
外乱の影響を推定値Gr*で考慮し、他の外乱を想定す
る必要がない場合には、上記切り換え入力τ1をトルク
指令に加算する必要はない。また、ロボットアームの角
度によって重力外乱の影響を受ける2軸以上の軸がある
場合には、上述した実施例のような処理で行なうことも
できるが、2つの軸共に、上記実施例で示した推定値G
r*を求めて処理することもできる。
【0085】また、図4,図5において、従来の制御方
式と比較すると、ステップS7〜ステップS21が本発
明のロバスト適応制を付加したときに必要な処理であ
る。さらに、上記実施例では、制御対象がロボットの場
合を示しているが、モータで駆動される工作機械等につ
いても適応することができる。
式と比較すると、ステップS7〜ステップS21が本発
明のロバスト適応制を付加したときに必要な処理であ
る。さらに、上記実施例では、制御対象がロボットの場
合を示しているが、モータで駆動される工作機械等につ
いても適応することができる。
【0086】また、上記実施例では、位置,速度制御を
行なうサーボモータの例を示しているが、速度制御のみ
を行なうモータ制御についても適応することができる。
行なうサーボモータの例を示しているが、速度制御のみ
を行なうモータ制御についても適応することができる。
【0087】
【発明の効果】以上説明したように、本発明によれば、
制御対象のパラメータが変動した場合に、制御対象の推
定パラメータの干渉を防止することができるロバスト適
応制御方法を提供することができる。
制御対象のパラメータが変動した場合に、制御対象の推
定パラメータの干渉を防止することができるロバスト適
応制御方法を提供することができる。
【図1】本発明の一実施例のロバスト適応制御方法を用
いたモータの速度制御系のブロック図である。
いたモータの速度制御系のブロック図である。
【図2】従来のPI制御方式を用いたモータの速度制御
系のブロック図である。
系のブロック図である。
【図3】本発明の一実施例を実施するロボットを駆動す
るサーボモータ制御のブロック図である。
るサーボモータ制御のブロック図である。
【図4】本発明の一実施例におけるデジタルサーボかプ
ロセッサが実施する処理の要部フローチャートである。
ロセッサが実施する処理の要部フローチャートである。
【図5】本発明の一実施例におけるデジタルサーボかプ
ロセッサが実施する処理の要部フローチャートである。
ロセッサが実施する処理の要部フローチャートである。
【図6】加速度が一定か否かの判定を説明するための図
である。
である。
【図7】速度が一定か否かの判定を説明するための図で
ある。
ある。
【図8】クーロン摩擦と一定重力外乱との干渉を説明す
る図である。
る図である。
suf 速度偏差 J* 慣性モーメントの推定値 A* 粘性係数の推定値 Gr* 重力外乱係数の推定値 Fr* 一定重力外乱の推定値 CL * クーロン摩擦の推定値 r 速度指令 y 実速度 τdis その他の外乱 τ トルク指令 τ1 スライディングモード入力
Claims (10)
- 【請求項1】 制御対象のパラメータと制御対象の状態
変数とを変数とする制御対象の操作量を安定制御するロ
バスト適応制御方法であって、前記状態変数のランクが
低下する動作条件において、同じ状態の状態変数に対応
する複数個のパラメータの中で、1つのパラメータのみ
を状態変数を用いて推定し、該推定パラメータにより制
御対象の操作量を求めて制御を行なうことを特徴とする
ロバスト適応制御方法。 - 【請求項2】 前記同じ状態の状態変数は、定数倍の関
係にあることを特徴とする請求項1記載のロバスト適応
制御方法。 - 【請求項3】 制御対象のパラメータと制御対象の状態
変数とを変数とする制御対象の操作量を安定制御するロ
バスト適応制御方法であって、前記操作量中の複数個の
パラメータを相互に関連して増減する関係とする動作条
件において、相互関連するパラメータの中で1つのパラ
メータのみを状態変数を用いて推定し、該推定パラメー
タにより制御対象の操作量を求めて制御を行なうことを
特徴とするロバスト適応制御方法。 - 【請求項4】 前記関係となる状態変数に対応するパラ
メータの中で推定を行なわないパラメータの値は推定停
止前の値によって制御を行なうことを特徴とする請求項
1,2又は3記載のロバスト適応制御方法。 - 【請求項5】 慣性モーメント,粘性係数,一定重力外
乱,クーロン摩擦をパラメータとして有するモータ制御
系において、動作条件に応じて、慣性モーメント,粘性
係数,及びクーロン摩擦の中の何れか1つのパラメー
タ、あるいは一定重力外乱のパラメータを推定し、該推
定値と実際の値との誤差が「0」となるようにトルク補
正値を求めてモータへのトルク指令に加算することを特
徴とするロバスト適応制御方法。 - 【請求項6】 加速度一定の動作条件における推定パラ
メータは、慣性モーメントあるいは一定重力外乱である
ことを特徴とする請求項5記載のロバスト適応制御方
法。 - 【請求項7】 速度一定の動作条件における推定パラメ
ータは、粘性係数あるいは一定重力外乱であることを特
徴とする請求項5記載のロバスト適応制御方法。 - 【請求項8】 速度の方向変化を伴う動作条件における
推定パラメータは、クーロン摩擦あるいは一定重力外乱
であることを特徴とする請求項5記載のロバスト適応制
御方法。 - 【請求項9】 速度の方向が正から負に変化する動作条
件における推定パラメータは、負のクーロン摩擦あるい
は一定重力外乱であることを特徴とする請求項5記載の
ロバスト適応制御方法。 - 【請求項10】 速度の方向が負から正に変化する動作
条件における推定パラメータは、正のクーロン摩擦ある
いは一定重力外乱であることを特徴とする請求項5記載
のロバスト適応制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2887695A JPH08202405A (ja) | 1995-01-26 | 1995-01-26 | ロバスト適応制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2887695A JPH08202405A (ja) | 1995-01-26 | 1995-01-26 | ロバスト適応制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08202405A true JPH08202405A (ja) | 1996-08-09 |
Family
ID=12260594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2887695A Withdrawn JPH08202405A (ja) | 1995-01-26 | 1995-01-26 | ロバスト適応制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08202405A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001079942A1 (fr) * | 2000-04-14 | 2001-10-25 | Omron Corporation | Unite de commande, regulateur de temperature et appareil de traitement thermique |
JP2005160152A (ja) * | 2003-11-21 | 2005-06-16 | Oriental Motor Co Ltd | 電動機の高速位置決め方法および装置 |
JP2007244053A (ja) * | 2006-03-07 | 2007-09-20 | Hitachi Industrial Equipment Systems Co Ltd | モータ制御装置およびモータ制御方法 |
WO2008149542A1 (ja) | 2007-06-04 | 2008-12-11 | National University Corporation Hokkaido University | 微生物発酵によるdha含有リン脂質の製造方法 |
JP4609684B2 (ja) * | 1999-04-05 | 2011-01-12 | ソニー株式会社 | ロボット、サーボ回路、アクチュエータ、ロボットの制御方法及びアクチュエータの制御方法 |
CN104965412A (zh) * | 2015-06-29 | 2015-10-07 | 南京理工大学 | 受控化发射平台的自适应鲁棒输出反馈控制方法 |
CN106100469B (zh) * | 2015-04-21 | 2018-11-13 | 南京理工大学 | 基于自适应的电机伺服系统鲁棒位置控制器的实现方法 |
CN110815217A (zh) * | 2019-10-29 | 2020-02-21 | 中科新松有限公司 | 一种基于速度控制模式的机器人伺服力矩控制方法 |
-
1995
- 1995-01-26 JP JP2887695A patent/JPH08202405A/ja not_active Withdrawn
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4609684B2 (ja) * | 1999-04-05 | 2011-01-12 | ソニー株式会社 | ロボット、サーボ回路、アクチュエータ、ロボットの制御方法及びアクチュエータの制御方法 |
WO2001079942A1 (fr) * | 2000-04-14 | 2001-10-25 | Omron Corporation | Unite de commande, regulateur de temperature et appareil de traitement thermique |
WO2001079943A1 (fr) * | 2000-04-14 | 2001-10-25 | Omron Corporation | Unite de commande, regulateur de temperature et appareil de traitement thermique |
US6951998B2 (en) * | 2000-04-14 | 2005-10-04 | Omron Corporation | Controller, temperature regulator and heat treatment apparatus |
JP4503267B2 (ja) * | 2003-11-21 | 2010-07-14 | オリエンタルモーター株式会社 | 電動機の高速位置決め方法および装置 |
JP2005160152A (ja) * | 2003-11-21 | 2005-06-16 | Oriental Motor Co Ltd | 電動機の高速位置決め方法および装置 |
JP2007244053A (ja) * | 2006-03-07 | 2007-09-20 | Hitachi Industrial Equipment Systems Co Ltd | モータ制御装置およびモータ制御方法 |
WO2008149542A1 (ja) | 2007-06-04 | 2008-12-11 | National University Corporation Hokkaido University | 微生物発酵によるdha含有リン脂質の製造方法 |
US8652814B2 (en) | 2007-06-04 | 2014-02-18 | National University Corporation Hokkaido University | Method for production of DHA-containing phospholipid through microbial fermentation |
CN106100469B (zh) * | 2015-04-21 | 2018-11-13 | 南京理工大学 | 基于自适应的电机伺服系统鲁棒位置控制器的实现方法 |
CN104965412A (zh) * | 2015-06-29 | 2015-10-07 | 南京理工大学 | 受控化发射平台的自适应鲁棒输出反馈控制方法 |
CN104965412B (zh) * | 2015-06-29 | 2017-12-12 | 南京理工大学 | 受控化发射平台的自适应鲁棒输出反馈控制方法 |
CN110815217A (zh) * | 2019-10-29 | 2020-02-21 | 中科新松有限公司 | 一种基于速度控制模式的机器人伺服力矩控制方法 |
CN110815217B (zh) * | 2019-10-29 | 2022-11-04 | 中科新松有限公司 | 一种基于速度控制模式的机器人伺服力矩控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5691615A (en) | Adaptive PI control method | |
US5341078A (en) | Sliding mode control method for a machine having an operating section operatively coupled to a servomotor and wherein a switching variable is determined based on a torsion amount and a torsion speed | |
JP2763832B2 (ja) | 未知ダイナミックスを含むプラントの制御装置および方法 | |
JP3506157B2 (ja) | 電動機の位置制御装置 | |
KR970003874B1 (ko) | 피드 포워드 보상기능을 갖춘 슬라이딩 모드 제어방법 | |
JPH05216504A (ja) | バネ系を含む制御対象に対する適応的スライディングモード制御方式 | |
KR970002258B1 (ko) | 서보모터의 제어방법 | |
US20090251093A1 (en) | Motor control apparatus | |
US5637969A (en) | Vibration control method | |
JPH08202405A (ja) | ロバスト適応制御方法 | |
CN109388099B (zh) | 利用模型支持的误差补偿对工件的加工 | |
WO1992014195A1 (en) | Oscillation damper | |
CN117484499B (zh) | 一种机械臂鲁棒轨迹跟踪的scara机器人 | |
JP2002091570A (ja) | サーボ制御方法 | |
US5406182A (en) | Method for controlling a servomotor | |
JPH0392911A (ja) | スライディングモード制御によるロボット制御方法 | |
JP2733881B2 (ja) | Pi制御ループをベースにした適応スライディングモード制御方式 | |
JP2016177513A (ja) | タンデム位置制御装置 | |
WO2022162740A1 (ja) | 数値制御装置 | |
JPH0276692A (ja) | ロボットの適応制御方法 | |
JP2906255B2 (ja) | サーボ制御装置 | |
CA2032525A1 (en) | Sliding mode control method | |
WO1994002988A1 (en) | Method for estimating inertia and disturbance torque, and method for detecting abnormal load | |
JPH05257537A (ja) | 適応的pi制御方式 | |
JPS62126403A (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: 20020402 |