Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3433465B2 - Robot learning control method - Google Patents
[go: Go Back, main page]

JP3433465B2 - Robot learning control method - Google Patents

Robot learning control method

Info

Publication number
JP3433465B2
JP3433465B2 JP07720493A JP7720493A JP3433465B2 JP 3433465 B2 JP3433465 B2 JP 3433465B2 JP 07720493 A JP07720493 A JP 07720493A JP 7720493 A JP7720493 A JP 7720493A JP 3433465 B2 JP3433465 B2 JP 3433465B2
Authority
JP
Japan
Prior art keywords
trajectory
robot
error
learning
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP07720493A
Other languages
Japanese (ja)
Other versions
JPH06289918A (en
Inventor
義人 南條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP07720493A priority Critical patent/JP3433465B2/en
Publication of JPH06289918A publication Critical patent/JPH06289918A/en
Application granted granted Critical
Publication of JP3433465B2 publication Critical patent/JP3433465B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】この発明は、例えば繰り返し再生
動作を行う産業用ロボットに用いて好適なロボットの学
習制御方法に関するものである。 【0002】 【従来の技術】周知のように、ロボットを繰り返し再生
動作させる技術が各種開発されている。この種の技術に
おいて、例えば下記の文献(a)に記載された学習制御
方法が知られている。 (a)S.Arimoto : Learning C
ontrol Theory for Robotic
Motion,International Jou
rnal of Adaptive Control
and Signal Processing,4−
6,546/564,(1990) 【0003】この文献(a)に記載された学習制御方法
では、ロボットが有する各自由度に対し個別に位置誤差
および速度誤差のネガティブフィードバックループを構
成しておき、あらかじめ用意された各自由度に対応する
関節の目標軌道に従ってロボットを再生動作させる。そ
して、このときの目標軌道と再生動作時に生じる実軌道
との速度誤差を測定し、この速度誤差に定数(以下、学
習ゲインと称する)を乗算する。さらに、この乗算結果
を前回の再生動作時にロボットの駆動素子に与えた入力
値(以下、フィードフォワード値と称する)に加算し、
この加算結果を新たなフィードフォワード値として次回
の再生動作時にロボットの駆動素子に与えることによ
り、再生動作の精度を向上させている。 【0004】この学習制御方法によれば、再生動作を何
回か繰り返すうちにロボットの実軌道は逐次修正され、
あらかじめ用意されていた目標軌道の近傍に収束する。
このため、多自由度を有するロボットにおいてみられる
遠心力、コリオリ力といった動力学的な影響が最終的に
補正され、高速かつ高精度な軌道制御が可能となる。ま
た、理論的には、学習ゲインの値が大きいほど、実軌道
は少ない再生動作で目標軌道近傍に収束する。 【0005】 【発明が解決しようとする課題】しかしながら、上述し
た従来の学習制御方法において、速度誤差に乗じる学習
ゲインを大きくし過ぎた場合、各関節における速度検出
時に生じる測定誤差等の影響により、実軌道は軌道の終
わりに近づくに従って振動する。このことは、例えば下
記文献(b)によって紹介されている。 (b)南條ほか:学習を用いたロボット軌道制御に及ぼ
す忘却因子の影響,第9回日本ロボット学会講演会予稿
集,No.1,391/392,(1991) 【0006】ここで、図3は、従来の学習制御方法を3
自由度を有するロボットに適用し、学習ゲインを大きく
し過ぎた場合に、再生動作を20回行ったときの実軌道
の例を示している。この図に示すように、軌道の始点S
から目標軌道A1とほぼ一致していた実軌道A2は、軌
道の終わりに近づくに従って振動している。すなわち、
従来の学習制御方法は、実用的には学習ゲインの大きさ
に制限があり、このため実軌道を目標軌道近傍に収束さ
せるには多くの再生動作を行わなければならず、したが
って学習効率が悪いという欠点があった。 【0007】この発明は、このような背景の下になされ
たもので、学習機能を有するロボットの学習効率を向上
させることができるロボットの学習制御方法を提供する
ことを目的としている。 【0008】 【課題を解決するための手段】この発明は、上述した課
題を解決するために、ロボットに繰り返し再生動作を行
わせる際、該再生動作の目標となる目標軌道と該再生動
作時におけるロボットの実軌道との間に生じる誤差に基
づき、該ロボットの駆動部へ供給する入力値を修正する
学習制御方法において、前記目標軌道と前記実軌道との
間における位置誤差、速度誤差、加速度誤差のうち何れ
かの誤差を測定する第1ステップと、前記第1ステップ
で測定した誤差と、前記再生動作開始時からの時間の経
過に従って減少する係数(学習ゲイン)とを乗算する第
2ステップと、前記第2ステップの乗算結果と前回の再
生動作時に前記駆動部へ供給した入力値(フィードフォ
ワード値)とを加算する第3ステップと、前記第3ステ
ップの加算結果を次回の再生動作時における入力値(フ
ィードフォワード値)として前記駆動部へ供給する第4
ステップとを具備することを特徴としている。 【0009】 【作用】この発明によれば、第1ステップにおいて、目
標軌道と実軌道との間における位置誤差、速度誤差、加
速度誤差のうち何れかの誤差を測定し、第2ステップに
おいて、第1ステップで測定した誤差と時間の経過に従
って減少する係数(学習ゲイン)とを乗算し、第3ステ
ップにおいて、第2ステップの乗算結果と前回の再生動
作時にロボットの駆動部へ供給した入力値(フィードフ
ォワード値)とを加算し、第4ステップにおいて、第3
ステップの加算結果を次回の再生動作時における入力値
(フィードフォワード値)として前記駆動部へ供給す
る。これにより、ロボットの駆動部へのフィードフォワ
ード値を繰り返し再生動作毎に修正すれば、軌道の終わ
りに近づくに従って発生する実軌道の振動が抑制され
る。 【0010】 【実施例】以下、図面を参照して、この発明の実施例に
ついて説明する。図1は、この発明の一実施例に用いら
れる制御回路の構成を示すブロック図である。なお、こ
の図では、電動モータ駆動形のロボットの1つの自由度
についての制御系統のみを示しており、他の自由度につ
いては同様の構成となるため図示を省略している。 【0011】図1において、4は各種ディジタル演算を
行う演算処理部であり、図示しないCPU(中央処理装
置)、メモリ1〜3等から構成されている。なお、この
演算処理部4には、D/A(ディジタル/アナログ)変
換素子等の入出力インタフェース回路が含まれている
が、ここでは簡単のため図示を省略している。 【0012】メモリ1〜3は、少なくとも目標軌道を移
動するのに必要な時間Tを制御周期TSで除した数のデー
タを格納できる程度の記憶容量をそれぞれ有している。
そして、メモリ2には、目標軌道の軌道データθ
ref(t)が、制御周期時間TS毎のモータ9の目標位置θ
ref(TSi)(ただし、iは整数)としてあらかじめ格納
されている。なお、メモリ1,3の記憶内容およびその
用途については後述する。 【0013】また、演算処理部4は、比較器5、乗算器
6、比較器7およびアンプ8を介してロボットを駆動す
るモータ9に接続されている。さらに、モータ9は、回
転速度検出器11および乗算器10を介して比較器7に
接続されると共に、回転位置検出器12を介して比較器
5に接続されている。 【0014】比較器5は、メモリ2から制御周期時間TS
毎に供給される目標軌道データθref(t)と、位置検出器
12によって測定された実軌道θ(t)との差を算出し、
この結果を出力する。乗算器6は、比較器5の出力と正
定数k1とを乗算し、この結果を出力する。この乗算器6
の出力は、比較器7を介しアンプ8へ供給される。 【0015】一方、速度検出器11は、モータ9の実速
度dθ/dt(以下、θ*(t)と表記する)を測定し、この測
定結果を出力する。乗算器10は、速度検出器11によ
って測定された実速度θ*(t)と正定数k2とを乗算し、こ
の結果を出力する。この乗算器10の出力は、符号を反
転された後、比較器7を介しアンプ8へ供給される。さ
らに、アンプ8は、比較器7の出力を増幅し、これをモ
ータ9へ出力する。以上が、この制御回路におけるフィ
ードバック制御系である。 【0016】このような構成によれば、モータ9は、そ
の実軌道θ(t)が目標軌道θref(t)に対して誤差が
「0」となる方向に駆動される。このとき、フィードバ
ック制御系の安定性を確保するためには、実用的には正
定数k1,k2の値を極端に大きくすることはできない。ま
た、ロボットを高速で動作させる場合には、多自由度を
有するロボットにみられる遠心力やコリオリ力の影響も
あり、モータ9を目標軌道θref(t)に完全に追従させる
ことはできない。そこで、こうした原因に基づく誤差を
補正するため、上記フィードバック制御に加え、以下に
述べるフィードフォワード制御を行う。 【0017】次に、図2に示すフローチャートを参照
し、CPUの動作に基づくフィードフォワード制御動作
について説明する。同図において、まずステップp1で
は、メモリ1に記憶されるデータukを「0」クリアす
る。ここで、データukは、k回目の再生動作時にロボッ
トの駆動素子に与えるフィードフォワード値である。こ
の場合、1回目の再生動作時であるので、フィードフォ
ワード値u1が「0」となる。 【0018】次に、ステップp2に進むと、図1に示し
たフィードバック制御系において、メモリ1内のフィー
ドフォワード値u1を制御周期TS毎にアンプ8へ供給し、
1回目の再生動作を行う。このとき、制御周期TS毎に速
度検出器11によって測定された実軌道全域の速度θ*
(TSi)をメモリ3に格納する。そして、1回目の再生
動作が終わった時点で、下記ステップp3〜p5により
メモリ1内のフィードフォワード値を修正する。 【0019】ステップp3では、メモリ2に格納されて
いる目標軌道θref(t)に基づき、目標速度θ* ref(t)を
算出する。すなわち、下式(1)に示すように、時間t
=TSiにおける速度θ* ref(TSi)は、前後の制御周期にお
ける目標位置の差を制御周期TSで除して算出することが
できる。ただし、iは制御周期の順番を表す整数であ
る。 θ* ref(TSi)={θref(TS(i+1))−θref(TSi)}/TS ………(1) 【0020】次に、ステップp4に進むと、上記ステッ
プp3で算出した速度θ* ref(t)と、メモリ3に格納さ
れている前回の再生動作時の実速度θ*(t)との差を制御
周期TS毎に算出し、さらにこの結果と学習ゲインφとを
乗算する。ここで、学習ゲインφは、軌道の終わりに近
づくに従って小さな値となるよう、例えば下式(2)で
表される関数によって求める。ただし、φ0およびλは
正定数、eは自然対数を表している。 【数1】 【0021】次に、ステップp5では、上記学習ゲイン
φを乗じた値とメモリ1内のフィードフォワード値u
1(t)とを加算した結果を新たなフィードフォワード値u2
(t)としてメモリ1に格納する。そして、ステップp6
では、学習動作を継続するか否かを判断する。すなわ
ち、あらかじめ設定してある学習回数に再生動作回数が
達していないか、あるいは実軌道があらかじめ設定して
ある所望の精度に達していない場合には、ここでの判断
結果が「Yes」となり、前述のステップp2に戻る。
これにより、2回目の再生動作に伴う学習動作が行われ
る。 【0022】次に、2回目の学習動作では、上記ステッ
プp5で新たにメモリ1に格納されたフィードフォワー
ド値u2(t)をアンプ8へ供給する。以後、上記ステップ
p6の判断結果が「Yes」となる間、再生動作毎に上
記ステップp3〜p5を繰り返し、その都度メモリ1内
のフィードフォワード値を修正する。このときのフィー
ドフォワード値の算出式は、下式(3)によって表され
る。 【数2】 【0023】こうして、再生動作回数があらかじめ設定
してある学習回数に達した場合、あるいは実軌道が所望
の精度に達した場合、ステップp6の判断結果が「N
o」となり、学習動作は終了する。 【0024】このように、本実施例によれば、目標軌道
と実軌道との差に乗じる学習ゲインを軌道の終わりに近
づくに従って小さくすることにより、軌道の終わりに近
づくに従って生じていた振動を抑制することができる。
この結果、従来の方法に比して学習ゲインを大きく設定
することが可能となり、より少ない繰り返し再生動作で
実軌道を目標軌道近傍に収束させることが可能となる。 【0025】なお、本実施例では、上式(3)において
学習ゲインφ(t)を前述の式(2)で表される関数によ
って設定したが、時間の経過に従って減少する関数値が
得られるものであれば、他の関数を用いることも可能で
ある。 【0026】また、本実施例では、メモリ2に格納され
るθref(t)に基づいて目標速度 θ* ref(t)を算出するようにしたが、この代わりに、あ
らかじめ目標速度 θ* ref(t)を別のメモリに格納しておいてもよい。ま
た、再生動作時の実速度 θ*(t)をメモリ3に格納せずに、直接上式(3)によっ
て各制御周期毎のフィードフォワード値を算出し、この
算出値uk+1(t)を直接メモリ1に格納するようにしても
よい。 【0027】また、本実施例では、制御回路としてコン
ピュータ(CPU等で構成された演算処理部4)を用い
た場合を例としているが、これを他の周知の種々の制御
素子に置き換えることも可能である。 【0028】また、本実施例では、ロボットの各関節を
電動モータにより駆動し、かつその電動モータに対し個
別に位置誤差および速度誤差のネガティブフィードバッ
ク制御系が構成されたプレイバック形ロボットを対象に
説明したが、この発明は油圧シリンダを駆動源とするロ
ボットや、その他種々のサーボ機構を有する機械にも適
用可能である。 【0029】また、本実施例では、フィードフォワード
値の算出に、目標軌道とロボットの実軌道との間に生じ
る速度誤差のみを用いているが、位置誤差や加速度誤差
に時間とともに減少する係数を乗じた値を前回の再生動
作時のフィードフォワード値に加えることによって学習
を行うことも可能である。 【0030】さらにこの発明は、前述の文献(a)に記
載されている学習制御方法と併用することも可能であ
る。すなわち、この文献(a)には、測定誤差等の影響
を緩和するため、下式(4)に示すように、前回のフィ
ードフォワード値uk(t)に適当な正定数(1-a)を乗じる学
習制御方法が提案されており、本発明との併用が可能で
ある。 uk+1(t)=φ(θ* ref(t)−θ*(t))+(1-a)uk(t) ………………(4) 【0031】 【発明の効果】以上説明したように、この発明によれ
ば、軌道の終わりに近づくに従って発生する実軌道の振
動が抑制されるので、従来に比して学習ゲインを大きく
設定することができ、より少ない繰り返し再生動作で実
軌道を目標軌道近傍に収束させることが可能となる。こ
の結果、ロボットの学習効率を向上させることができ
る。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a robot learning control method suitable for use in, for example, an industrial robot performing a repetitive reproduction operation. 2. Description of the Related Art As is well known, various techniques for repeatedly reproducing a robot have been developed. In this type of technology, for example, a learning control method described in the following document (a) is known. (A) S.I. Arimoto: Learning C
ontrol Theory for Robotic
Motion, International Jou
rnal of Adaptive Control
and Signal Processing, 4-
6, 546/564 (1990) In the learning control method described in this document (a), a negative feedback loop of a position error and a speed error is individually formed for each degree of freedom of the robot. Then, the robot performs a reproducing operation in accordance with a target trajectory of a joint corresponding to each degree of freedom prepared in advance. Then, the speed error between the target trajectory at this time and the actual trajectory generated during the reproducing operation is measured, and this speed error is multiplied by a constant (hereinafter, referred to as a learning gain). Further, the result of the multiplication is added to an input value (hereinafter, referred to as a feedforward value) given to the driving element of the robot during the previous reproduction operation,
The accuracy of the reproduction operation is improved by providing the addition result as a new feedforward value to the drive element of the robot at the next reproduction operation. According to this learning control method, the actual trajectory of the robot is successively corrected while the reproducing operation is repeated several times,
It converges to the vicinity of the target trajectory prepared in advance.
Therefore, dynamic effects such as centrifugal force and Coriolis force seen in a robot having multiple degrees of freedom are finally corrected, and high-speed and high-accuracy trajectory control can be performed. Also, theoretically, the larger the value of the learning gain, the smaller the actual trajectory converges to the vicinity of the target trajectory with a smaller number of reproduction operations. However, in the above-described conventional learning control method, if the learning gain by which the speed error is multiplied is too large, the measurement error or the like that occurs at the time of speed detection at each joint causes an influence. The real orbit oscillates toward the end of the orbit. This is introduced, for example, by the following document (b). (B) Nanjo et al .: Effect of forgetting factor on robot trajectory control using learning, Proceedings of the 9th Annual Conference of the Robotics Society of Japan. 1, 391/392 (1991) FIG. 3 shows a conventional learning control method.
An example of an actual trajectory when a reproduction operation is performed 20 times when the learning gain is excessively applied when applied to a robot having a degree of freedom is shown. As shown in FIG.
The actual trajectory A2, which almost coincides with the target trajectory A1, vibrates toward the end of the trajectory. That is,
The conventional learning control method has a practical limitation on the magnitude of the learning gain, and therefore, a large number of reproduction operations must be performed to converge the actual trajectory to the vicinity of the target trajectory. There was a disadvantage. The present invention has been made under such a background, and an object of the present invention is to provide a robot learning control method capable of improving the learning efficiency of a robot having a learning function. According to the present invention, in order to solve the above-described problems, when a robot repeatedly performs a reproducing operation, a target trajectory which is a target of the reproducing operation and a target trajectory at the time of the reproducing operation are described. A learning control method for correcting an input value supplied to a driving unit of a robot based on an error occurring between the actual trajectory of the robot and a position error, a velocity error, and an acceleration error between the target trajectory and the real trajectory. A second step of multiplying the error measured in the first step by a coefficient (learning gain) that decreases as time elapses from the start of the reproducing operation. A third step of adding the multiplication result of the second step and an input value (feed forward value) supplied to the drive unit at the time of the previous reproduction operation, and the third step Is supplied to the drive unit as an input value (feed forward value) in the next reproduction operation.
And a step. According to the present invention, in the first step, any one of a position error, a velocity error, and an acceleration error between the target trajectory and the actual trajectory is measured, and in the second step, the error is measured. In the third step, the error measured in one step is multiplied by a coefficient (learning gain) that decreases with the lapse of time. In the third step, the multiplication result of the second step is multiplied by the input value ( Feed forward value), and in the fourth step, the third
The result of the step is supplied to the drive unit as an input value (feedforward value) in the next reproduction operation. Thus, if the feedforward value to the drive unit of the robot is repeatedly corrected for each reproduction operation, the vibration of the actual trajectory that occurs as the trajectory approaches the end is suppressed. Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a control circuit used in one embodiment of the present invention. In this figure, only the control system for one degree of freedom of the electric motor drive type robot is shown, and the other degrees of freedom have the same configuration and are not shown. In FIG. 1, reference numeral 4 denotes an arithmetic processing unit for performing various digital operations, which comprises a CPU (Central Processing Unit), memories 1 to 3, and the like (not shown). The arithmetic processing unit 4 includes an input / output interface circuit such as a D / A (digital / analog) conversion element, but is not shown here for simplicity. Each of the memories 1 to 3 has a storage capacity enough to store at least the number of data obtained by dividing the time T required to move the target trajectory by the control period T S.
And the trajectory data θ of the target trajectory is stored in the memory 2.
ref (t) is the target position θ of the motor 9 for each control cycle time T S
ref (T S i) (where, i is an integer) is previously stored as. The storage contents of the memories 1 and 3 and their uses will be described later. The arithmetic processing unit 4 is connected to a motor 9 for driving the robot via a comparator 5, a multiplier 6, a comparator 7, and an amplifier 8. Further, the motor 9 is connected to the comparator 7 via a rotation speed detector 11 and a multiplier 10 and is also connected to the comparator 5 via a rotation position detector 12. The comparator 5 receives the control cycle time T S from the memory 2.
The difference between the target trajectory data θ ref (t) supplied for each time and the actual trajectory θ (t) measured by the position detector 12 is calculated,
Output this result. The multiplier 6 multiplies the output of the comparator 5 and the positive constant k 1, and outputs the result. This multiplier 6
Is supplied to an amplifier 8 via a comparator 7. On the other hand, the speed detector 11 measures the actual speed dθ / dt of the motor 9 (hereinafter referred to as θ * (t)) and outputs the measurement result. The multiplier 10 multiplies the actual speed theta * measured by the speed detector 11 (t) and a positive constant k 2, and outputs the result. The output of the multiplier 10 is supplied to the amplifier 8 via the comparator 7 after the sign is inverted. Further, the amplifier 8 amplifies the output of the comparator 7 and outputs this to the motor 9. The above is the feedback control system in this control circuit. According to such a configuration, the motor 9 is driven in a direction in which the actual trajectory θ (t) has an error “0” with respect to the target trajectory θ ref (t). At this time, in order to ensure the stability of the feedback control system, the values of the positive constants k 1 and k 2 cannot be extremely increased practically. When the robot is operated at high speed, the motor 9 cannot completely follow the target trajectory θ ref (t) due to the influence of the centrifugal force and Coriolis force seen in a robot having many degrees of freedom. Therefore, in order to correct an error based on such a cause, feedforward control described below is performed in addition to the above feedback control. Next, the feedforward control operation based on the operation of the CPU will be described with reference to the flowchart shown in FIG. In the figure, first, in step p1, "0" data u k is stored in the memory 1 is cleared. Here, the data u k is a feedforward value given to the driving element of the robot at the time of the k-th reproduction operation. In this case, since it is the time of the first reproduction operation, the feed forward value u 1 becomes “0”. Next, the process proceeds to step p2, in the feedback control system shown in FIG. 1, is supplied to the amplifier 8 the feedforward value u 1 in the memory 1 for each control cycle T S,
The first reproduction operation is performed. At this time, the velocity θ * of the entire real trajectory measured by the velocity detector 11 for each control cycle T S
The (T S i) stored in the memory 3. Then, when the first reproduction operation is completed, the feedforward value in the memory 1 is corrected by the following steps p3 to p5. At step p3, a target speed θ * ref (t) is calculated based on the target trajectory θ ref (t) stored in the memory 2. That is, as shown in the following equation (1), the time t
= T S velocity at i θ * ref (T S i ) can be calculated by dividing the difference between the target position in the control cycle before and after the control period T S. Here, i is an integer representing the order of the control cycle. θ * ref (T S i) = {θ ref (T S (i + 1)) - θ ref (T S i)} / T S ......... (1) [0020] Next, the process proceeds to step p4 The difference between the speed θ * ref (t) calculated in step p3 and the actual speed θ * (t) in the previous reproduction operation stored in the memory 3 is calculated for each control cycle T S , The result is multiplied by the learning gain φ. Here, the learning gain φ is determined by a function represented by the following equation (2), for example, so that the learning gain φ becomes smaller as approaching the end of the trajectory. Here, φ 0 and λ are positive constants, and e is a natural logarithm. (Equation 1) Next, at step p5, the value obtained by multiplying the learning gain φ and the feedforward value u in the memory 1 are calculated.
1 (t) is added to the new feedforward value u 2
(t) is stored in the memory 1. And step p6
Then, it is determined whether to continue the learning operation. That is, if the number of times of the reproduction operation has not reached the preset number of learning times or the actual trajectory has not reached the preset desired accuracy, the determination result here is “Yes”, It returns to the above-mentioned step p2.
Thereby, the learning operation accompanying the second reproduction operation is performed. Next, in the second learning operation, the feedforward value u 2 (t) newly stored in the memory 1 is supplied to the amplifier 8 in step p5. Thereafter, while the determination result of step p6 is "Yes", steps p3 to p5 are repeated for each reproducing operation, and the feedforward value in the memory 1 is corrected each time. The equation for calculating the feedforward value at this time is represented by the following equation (3). (Equation 2) In this way, when the number of times of the reproducing operation reaches the preset number of times of learning, or when the actual trajectory reaches the desired accuracy, the judgment result of step p6 is "N
o ", and the learning operation ends. As described above, according to the present embodiment, the learning gain for multiplying the difference between the target trajectory and the actual trajectory is reduced toward the end of the trajectory, thereby suppressing the vibration generated as the trajectory ends. can do.
As a result, the learning gain can be set larger than in the conventional method, and the real trajectory can be made to converge to the vicinity of the target trajectory with less repetitive reproduction operations. In this embodiment, the learning gain φ (t) in the above equation (3) is set by the function represented by the above equation (2), but a function value that decreases with the passage of time can be obtained. Other functions can also be used. Further, in this embodiment, it has been to calculate the target speed θ * ref (t) based on the theta ref (t) stored in the memory 2, alternatively, pre-target velocity theta * ref (t) may be stored in another memory. Also, without storing the actual speed θ * (t) during the reproducing operation in the memory 3, the feedforward value for each control cycle is directly calculated by the above equation (3), and the calculated value u k + 1 (t ) May be stored directly in the memory 1. In this embodiment, the case where a computer (arithmetic processing unit 4 composed of a CPU or the like) is used as a control circuit is described as an example. However, this may be replaced with various other known control elements. It is possible. This embodiment is directed to a playback type robot in which each joint of the robot is driven by an electric motor, and a negative feedback control system for a position error and a speed error is individually configured for the electric motor. Although the present invention has been described, the present invention is also applicable to a robot having a hydraulic cylinder as a drive source, and other machines having various servo mechanisms. Further, in this embodiment, only the velocity error generated between the target trajectory and the actual trajectory of the robot is used for calculating the feedforward value. Learning can also be performed by adding the multiplied value to the feedforward value at the time of the previous reproduction operation. Further, the present invention can be used in combination with the learning control method described in the aforementioned reference (a). That is, in this document (a), in order to reduce the influence of measurement errors and the like, as shown in the following equation (4), a positive constant (1-a) suitable for the previous feedforward value u k (t) is used. Has been proposed, and can be used together with the present invention. u k + 1 (t) = φ (θ * ref (t) −θ * (t)) + (1−a) u k (t) (4) As described above, according to the present invention, the vibration of the real trajectory which occurs as the trajectory approaches the end is suppressed, so that the learning gain can be set to be larger than in the past, and less repetitive reproduction is performed. The operation allows the actual trajectory to converge near the target trajectory. As a result, the learning efficiency of the robot can be improved.

【図面の簡単な説明】 【図1】この発明の一実施例に用いられる制御回路の構
成を示すブロック図である。 【図2】同実施例において、CPUの動作に基づくフィ
ードフォワード制御動作を示すフローチャートである。 【図3】従来の学習制御方法を3自由度を有するロボッ
トに適用し、学習ゲインを大きくし過ぎた場合に、再生
動作を20回行ったときの実軌道の例を示す図である。 【符号の説明】 1〜3 メモリ 4 演算処理部 5,7 比較器 6,10 乗算器 8 アンプ 9 モータ 11 回転速度検出器 12 回転位置検出器 A1 目標軌道 A2 実軌道
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a configuration of a control circuit used in one embodiment of the present invention. FIG. 2 is a flowchart showing a feedforward control operation based on an operation of a CPU in the embodiment. FIG. 3 is a diagram illustrating an example of an actual trajectory when a reproduction operation is performed 20 times when a conventional learning control method is applied to a robot having three degrees of freedom and a learning gain is excessively increased. [Description of Signs] 1 to 3 Memory 4 Arithmetic processing unit 5, 7 Comparator 6, 10 Multiplier 8 Amplifier 9 Motor 11 Rotation speed detector 12 Rotational position detector A1 Target trajectory A2 Actual trajectory

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/18 - 19/46 B25J 3/00 - 3/04 B25J 9/10 - 9/22 B25J 13/00 - 13/08 B25J 19/02 - 19/06 G05B 13/02 Continued on the front page (58) Fields surveyed (Int. Cl. 7 , DB name) G05B 19/18-19/46 B25J 3/00-3/04 B25J 9/10-9/22 B25J 13/00-13 / 08 B25J 19/02-19/06 G05B 13/02

Claims (1)

(57)【特許請求の範囲】 【請求項1】 ロボットに繰り返し再生動作を行わせる
際、該再生動作の目標となる目標軌道と該再生動作時に
おけるロボットの実軌道との間に生じる誤差に基づき、
該ロボットの駆動部へ供給する入力値を修正する学習制
御方法において、 前記目標軌道と前記実軌道との間における位置誤差、速
度誤差、加速度誤差のうち何れかの誤差を測定する第1
ステップと、 前記第1ステップで測定した誤差と、前記再生動作開始
時からの時間の経過に従って減少する係数とを乗算する
第2ステップと、 前記第2ステップの乗算結果と前回の再生動作時に前記
駆動部へ供給した入力値とを加算する第3ステップと、 前記第3ステップの加算結果を次回の再生動作時におけ
る入力値として前記駆動部へ供給する第4ステップと を具備することを特徴とするロボットの学習制御方法。
(57) [Claims 1] When a robot repeatedly performs a reproducing operation, an error generated between a target trajectory which is a target of the reproducing operation and an actual trajectory of the robot at the time of the reproducing operation is reduced. Based on
A learning control method for correcting an input value supplied to a drive unit of the robot, wherein a first error is measured among a position error, a speed error, and an acceleration error between the target trajectory and the actual trajectory.
Step, the error measured in the first step, and the reproduction operation start
A second step of multiplying by a coefficient that decreases as time elapses from time, a third step of adding the multiplication result of the second step and an input value supplied to the drive unit during a previous reproduction operation, And a fourth step of supplying the result of the addition in the third step to the drive unit as an input value in the next reproduction operation.
JP07720493A 1993-04-02 1993-04-02 Robot learning control method Expired - Fee Related JP3433465B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07720493A JP3433465B2 (en) 1993-04-02 1993-04-02 Robot learning control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07720493A JP3433465B2 (en) 1993-04-02 1993-04-02 Robot learning control method

Publications (2)

Publication Number Publication Date
JPH06289918A JPH06289918A (en) 1994-10-18
JP3433465B2 true JP3433465B2 (en) 2003-08-04

Family

ID=13627303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07720493A Expired - Fee Related JP3433465B2 (en) 1993-04-02 1993-04-02 Robot learning control method

Country Status (1)

Country Link
JP (1) JP3433465B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4741637B2 (en) * 2008-06-30 2011-08-03 ファナック株式会社 Servo motor drive control device and drive control method
JP4850956B2 (en) * 2010-02-19 2012-01-11 ファナック株式会社 Robot with learning control function
JP6863082B2 (en) 2017-05-26 2021-04-21 オムロン株式会社 Learning device, learning control method, and its program
JP6978722B2 (en) 2017-05-26 2021-12-08 オムロン株式会社 Learning device, learning control method, and its program
JP6863081B2 (en) 2017-05-26 2021-04-21 オムロン株式会社 Learning device, learning control method, and its program

Also Published As

Publication number Publication date
JPH06289918A (en) 1994-10-18

Similar Documents

Publication Publication Date Title
JP3433465B2 (en) Robot learning control method
JP6906711B1 (en) Friction compensation device, collision detection device, torque feedforward arithmetic unit and robot control device, and friction compensation method
JP3062606B2 (en) Adaptive controller using neural network
JPH07306707A (en) Robot learning control method
EP0441983A1 (en) Method of controlling robot
JP3246572B2 (en) Load constant measurement method for motor drive system
US6408216B1 (en) Position control apparatus using servomotor
JPH0782382B2 (en) Learning control method
JP3194395B2 (en) Path function sequential generation method
JPH0823761B2 (en) Learning control method
Tahri et al. On the efficient second order minimization and image-based visual servoing
JPH09267281A (en) Copy control device and copy control method for multi-axis robot
JPH06328379A (en) Robot controller
JP3355101B2 (en) Control device
JP3039814B2 (en) Learning control method
Ratiroch-Anant et al. Adaptive motion control of a two-link Direct Drive Manipulator using disturbance observer
JP3171860B2 (en) Servo control system
JPH05150825A (en) Robot controller
KR100194144B1 (en) Position control method and controller of servomotor by feedforward
KR0183657B1 (en) How to generate acceleration / deceleration trajectory
JPH0828989B2 (en) Electric motor controller
JP4228878B2 (en) Motor control device
JPH10210345A (en) Robot camera device
JPH0679664A (en) Robot control device
JP3341498B2 (en) Observer control arithmetic unit

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees