JPH06266425A - Controller of robot - Google Patents

Controller of robot

Info

Publication number
JPH06266425A
JPH06266425A JP5404093A JP5404093A JPH06266425A JP H06266425 A JPH06266425 A JP H06266425A JP 5404093 A JP5404093 A JP 5404093A JP 5404093 A JP5404093 A JP 5404093A JP H06266425 A JPH06266425 A JP H06266425A
Authority
JP
Japan
Prior art keywords
target
robot
calculated
feedforward
compensation amount
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.)
Pending
Application number
JP5404093A
Other languages
Japanese (ja)
Inventor
Matsuo Nose
松男 野瀬
Tamotsu Abe
保 阿部
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.)
Komatsu Ltd
Original Assignee
Komatsu Ltd
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 Komatsu Ltd filed Critical Komatsu Ltd
Priority to JP5404093A priority Critical patent/JPH06266425A/en
Publication of JPH06266425A publication Critical patent/JPH06266425A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To improve the locus accuracy by calculating the feedforward compensation quantity by target speed and target acceleration on the basis of a prescribed relation formed between a calculated driving controller and a transfer function of a feedforward compensation device. CONSTITUTION:In a target actuation arithmetic part 1 of a target arithmetic part 20, a target actuation rd(n) by which the tool tip of a robot is to move, is calculated. In a reverse conversion arithmetic part 2, a sequential position on the target actuation is converted to a target position thetad(n) of each shaft of the robot. In a distribution arithmetic part 4 of a servo-arithmetic part 30, a processing for distributing each shaft target position thetad of every sampling time DELTAT to a target value thetad(k) of every sampling time DELTAt of the servo- arithmetic part 30 is executed. In a proportional control arithmetic part 5, a position deviation (e) obtained by subtracting the present position theta of an arm 15 detected by a position detector 13 from the calculated target position thetad is inputted, and this deviation (e) is multiplied by proportional gain kp, and it is outputted as the feedback compensation quantity.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は産業用ロボットの制御装
置に関し、特にフィードフォワード制御によりロボット
を制御する場合において、ロボットの動作指令に対する
応答性を改善しロボット先端のハンド等のツールの軌跡
精度を向上させることができる制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a controller for an industrial robot, and more particularly, when controlling the robot by feedforward control, it improves the response to a motion command of the robot and improves the trajectory accuracy of a tool such as a hand at the tip of the robot. The present invention relates to a control device that can improve the.

【0002】[0002]

【従来の技術】従来よりロボット各軸をフィードフォワ
ード制御することが一般的に行われており、その制御ブ
ロック図を図4に示す。
2. Description of the Related Art Conventionally, feedforward control of each axis of a robot has been generally performed, and a control block diagram thereof is shown in FIG.

【0003】同図に示すようにロボット各軸の目標位置
θdが与えられると、フィードフォワード補償要素80
にてまず目標速度θ.dが差分法等により求められる。
なお、以下θ.dとあるのはθdの1階微分を、また
θ..dとあるのはθdの2階微分を示すものとする。
When a target position θd of each axis of the robot is given as shown in FIG.
First, the target speed θ. d is obtained by the difference method or the like.
In the following, θ. d is the first derivative of θd, and θ. . Let d be the second derivative of θd.

【0004】さて、つぎに目標速度θ.dに対してフィ
ードフォワードゲインKFが乗算され、さらにD/Aコ
ンバータ、フィルタを介してフィードフォワード補償量
が求められる。一方、目標位置θdと現在位置θとの偏
差eに対して位置フィードバック補償要素70の伝達関
数K(s)が乗算され、D/Aコンバータを介してフィ
ードバック補償量が出力される。こうして得られたフィ
ードフォワード補償量とフィードバック補償量とが加算
され、この加算値が速度指令値としてサーボアンプ81
に加えられる。そして後段のモータ82、減速機を介し
てロボットアームが駆動される。なお、83はアーム位
置θをフィードバックするためにモータ82に付設され
た位置検出器である。
Next, the target speed θ. d is multiplied by the feedforward gain KF, and the feedforward compensation amount is obtained via the D / A converter and the filter. On the other hand, the deviation e between the target position θd and the current position θ is multiplied by the transfer function K (s) of the position feedback compensation element 70, and the feedback compensation amount is output via the D / A converter. The feedforward compensation amount and the feedback compensation amount thus obtained are added, and the added value is used as the speed command value in the servo amplifier 81.
Added to. Then, the robot arm is driven via the motor 82 and the speed reducer in the latter stage. Reference numeral 83 is a position detector attached to the motor 82 for feeding back the arm position θ.

【0005】ここで、一般的に、フィードバック補償要
素70の演算周期は大きく、速度指令が大きく影響する
フィードフォワード補償要素80の演算周期も同程度で
あると、振動発生等の不都合が生じるので、フィードフ
ォワード補償要素80に上記フィルタを付加することで
なめらかな信号を得るようにしている。この種の技術
は、たとえば特開平1−108607号公報に開示され
ている。
Generally, if the calculation cycle of the feedback compensating element 70 is large and the calculation cycle of the feedforward compensating element 80, which is greatly affected by the speed command, is the same, vibration and other inconveniences occur. A smooth signal is obtained by adding the above filter to the feedforward compensation element 80. This type of technique is disclosed in, for example, Japanese Patent Application Laid-Open No. 1-108607.

【0006】[0006]

【発明が解決しようとする課題】このように、従来のフ
ィードフォワード制御装置では、一般に目標速度に応じ
てフィードフォワード量を演算することでフィードフォ
ワード制御を行っており、これにより応答性が改善され
定常速度偏差が小さくなり、PTP制御を行う場合には
サイクルタイム短縮といった効果が得られる。なお、こ
こで定常速度偏差とは、周知のごとく、一定の速度指令
値に対して生じる定常的な位置偏差(=目標位置−現在
位置)のことをいい、PTP制御とは、教示された2点
間を移動する場合に、始点および終点でのみロボット先
端に取り付けられたツール先端の位置が指定され、移動
途中におけるツール先端の軌跡は問わないという制御の
ことであり、2点間の各軸の移動量を求めるとともに、
各軸個別に必要な速度を定め、2点間を一定速度で移動
させるように制御するのが一般的である。
As described above, in the conventional feedforward control device, the feedforward control is generally performed by calculating the feedforward amount according to the target speed, which improves the responsiveness. When the PTP control is performed, the steady speed deviation becomes small, and the effect of shortening the cycle time can be obtained. As is well known, the steady speed deviation means a steady position deviation (= target position-current position) that occurs with respect to a constant speed command value, and the PTP control is the teaching 2 When moving between points, it is the control that the position of the tool tip attached to the robot tip is specified only at the start point and the end point, and the trajectory of the tool tip does not matter during movement. The amount of movement of
It is common to determine the required speed for each axis individually and control so as to move the two points at a constant speed.

【0007】これに対して、CP制御では、教示された
2点間を移動する場合、始点および終点のみならずツー
ル先端の軌跡も指定され、教示された速度からツール先
端の軌跡が求められ、逆変換により各軸の目標位置が求
められるというものであり、各軸ごとにみれば加速度が
生じている。このため上述のように目標速度に応じてフ
ィードフォワード量を演算してフィードフォワード制御
を行ったとしても、CP制御の場合には各軸レベルで絶
えず速度の変動が生じるので、偏差を小さくすることが
できず、軌跡精度を向上させることは期待できないこと
となっている。本発明はこうした実状に鑑みてなされた
ものであり、CP制御を行う場合であっても、ロボット
の軌跡精度を向上させることができる装置を提供するこ
とを目的とするものである。
On the other hand, in CP control, when moving between two taught points, not only the start point and the end point but also the trajectory of the tool tip is specified, and the trajectory of the tool tip is obtained from the taught speed. The target position of each axis is obtained by inverse conversion, and acceleration is generated for each axis. Therefore, even if the feedforward amount is calculated according to the target speed and the feedforward control is performed as described above, in the CP control, the speed constantly changes at each axis level, so the deviation should be reduced. Therefore, it is not possible to expect improvement in trajectory accuracy. The present invention has been made in view of such circumstances, and an object of the present invention is to provide a device capable of improving the trajectory accuracy of a robot even when CP control is performed.

【0008】[0008]

【課題を解決するための手段】そこで、この発明の主た
る発明では、ロボット先端に装着されたツール先端の目
標軌跡に基づいてロボット各軸の目標位置を演算し、該
目標位置に基づきフィードバック補償量を演算するとと
もに、前記目標位置に基づきフィードフォワード補償装
置においてフィードフォワード補償量を演算し、該フィ
ードフォワード補償量と前記フィードバック補償量との
加算値を速度指令値として駆動制御装置に加え、該駆動
制御装置により前記ロボット各軸を駆動制御するように
したロボットの制御装置において、前記駆動制御装置を
1次遅れ要素とみなして当該駆動制御装置の伝達関数を
演算し、該演算した駆動制御装置の伝達関数と前記フィ
ードフォワード補償装置の伝達関数との間に成立する所
定の関係に基づいて、前記ロボット各軸の目標速度と目
標加速度とによって前記フィードフォワード補償量を演
算する演算式を求め、該演算式を用いて前記フィードフ
ォワード補償量を演算するようにしている。
Therefore, in the main invention of the present invention, the target position of each axis of the robot is calculated based on the target trajectory of the tool tip attached to the robot tip, and the feedback compensation amount is calculated based on the target position. And a feedforward compensation amount is calculated in the feedforward compensation device based on the target position, and the added value of the feedforward compensation amount and the feedback compensation amount is added as a speed command value to the drive control device, In a controller of a robot configured to drive-control each axis of the robot by a controller, the drive controller is regarded as a first-order lag element, a transfer function of the drive controller is calculated, and the calculated drive controller Based on a predetermined relationship established between the transfer function and the transfer function of the feedforward compensator Obtains an equation for calculating the feedforward compensation amount by the target speed and the target acceleration of the robot axes, so that computing the feedforward compensation amount using the 該演 formula.

【0009】[0009]

【作用】すなわち、かかる構成によれば、たとえば、サ
ーボアンプ、モータ、減速機、アームからなるロボット
の駆動制御装置が1次遅れ要素とみなされ当該駆動制御
装置の伝達関数1/(1+s.Tm)が演算され、該演
算した駆動制御装置の伝達関数G(s)と前記フィード
フォワード補償装置の伝達関数F(s)との間に成立す
る所定の関係F(s)=1/G(s)に基づいて、ロボ
ット各軸の目標速度θ.dと目標加速度θ..dとからフ
ィードフォワード補償量VFFを演算する演算式VFF
(k)=KF・{θ.d(k)+Tm・θ..d(k)}が
求められ、該演算式を用いてフィードフォワード補償量
VFFが演算される。ここで、フィードフォワード補償量
は、目標速度のみに基づき演算されるのではなく、さら
に目標加速度に基づき演算されるので、各軸ごとに絶え
ず速度の変動が生じるCP制御の場合であっても、加速
度の影響による偏差を小さく抑えることができ、軌跡精
度が飛躍的に向上する。
In other words, according to this configuration, the robot drive control device including, for example, the servo amplifier, the motor, the speed reducer, and the arm is regarded as the first-order lag element, and the transfer function 1 / (1 + s.Tm) of the drive control device is considered. ) Is calculated, and a predetermined relationship F (s) = 1 / G (s) is established between the calculated transfer function G (s) of the drive controller and the transfer function F (s) of the feedforward compensator. ) Based on the target velocity θ. d and target acceleration θ. . Calculation formula for calculating the feedforward compensation amount VFF from d and VFF
(K) = KF · {θ. d (k) + Tm · θ. . d (k)} is obtained, and the feedforward compensation amount VFF is calculated using this calculation formula. Here, the feedforward compensation amount is calculated not only on the basis of the target speed but also on the basis of the target acceleration, so that even in the case of CP control in which the speed constantly changes for each axis, The deviation due to the influence of acceleration can be suppressed to a small value, and the trajectory accuracy is dramatically improved.

【0010】[0010]

【実施例】以下、図面を参照して本発明に係るロボット
の制御装置の実施例について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a robot controller according to the present invention will be described below with reference to the drawings.

【0011】実施例では、図3の制御ブロック図に示す
ようなフィードフォワード制御がなされることを前提と
しており、以下この図を参照して制御対象10の伝達関
数G(s)とフィードフォワード補償要素50の伝達関
数F(s)との間に成立する関係について検討する。な
お、図3は図4と同様な制御系であり、フィードバック
補償要素40とフィードフォワード補償要素50の各出
力が加算され、この加算値が速度指令値としてサーボア
ンプ11、モータ12、減速機14、アーム15からな
る制御対象10に加えられるものである。なお、13は
フィードバック量θを検出する、モータ12に付設され
た位置検出器である。
In the embodiment, it is premised that feedforward control as shown in the control block diagram of FIG. 3 is performed, and hereinafter, the transfer function G (s) of the controlled object 10 and the feedforward compensation will be referred to with reference to this figure. The relationship established between the transfer function F (s) of the element 50 will be examined. Note that FIG. 3 is a control system similar to that of FIG. 4, in which outputs of the feedback compensation element 40 and the feedforward compensation element 50 are added, and the added value is used as a speed command value in the servo amplifier 11, the motor 12, and the speed reducer 14. , The arm 15 is added to the controlled object 10. Reference numeral 13 is a position detector attached to the motor 12 for detecting the feedback amount θ.

【0012】アーム15の現在の回転位置θと目標位置
θdとの関係は、各伝達関数を用いて表すと、下記
(1)式のごとくなる。
The relationship between the current rotational position θ of the arm 15 and the target position θd is expressed by the following equation (1) when expressed by using each transfer function.

【0013】 θ(s)=G(s)・{K(s)+F(s)}/(1+G(s)・K(s)) ・θd(s) …(1) なお、ここで、K(s)はフィードバック補償要素40
の伝達関数である。
Θ (s) = G (s) · {K (s) + F (s)} / (1 + G (s) · K (s)) · θd (s) (1) Here, K (S) is the feedback compensation element 40
Is the transfer function of.

【0014】さて、アーム15が目標値θdに完全に追
従するという条件を設定すると、それは上記(1)式に
おける伝達関数が1に等しいということであり、 G(s)・{K(s)+F(s)}/(1+G(s)・K(s))=1 …(2) となる。この(2)式から伝達関数F(s)を求める
と、 F(s)=1/G(s) …(3) となる。よって、制御対象10の伝達関数G(s)を後
述するように求めることができれば、上記(3)式から
フィードフォワード補償要素50の伝達関数F(s)を
求めることができる。
Now, if the condition that the arm 15 completely follows the target value θd is set, it means that the transfer function in the above equation (1) is equal to 1, and G (s) · {K (s) + F (s)} / (1 + G (s) · K (s)) = 1 (2) When the transfer function F (s) is obtained from the equation (2), F (s) = 1 / G (s) (3) Therefore, if the transfer function G (s) of the controlled object 10 can be obtained as described later, the transfer function F (s) of the feedforward compensation element 50 can be obtained from the above equation (3).

【0015】さて、図1は図3に示す制御装置に対して
種々の要素を付加して構成された実施例装置であり、大
きくは、目標値演算部20とサーボ演算部30とからな
っている。なお、図3と同一のものには同一の符号を付
与している。
Now, FIG. 1 is an embodiment apparatus constructed by adding various elements to the control apparatus shown in FIG. 3, and mainly comprises a target value computing section 20 and a servo computing section 30. There is. The same parts as those in FIG. 3 are designated by the same reference numerals.

【0016】目標値演算部20は、図示せぬロボットの
アーム先端に取り付けられたツール先端の目標軌道rd
(n)に基づいてロボット各軸の位置の目標値θd
(n)を演算する処理を主として行うものであり、一
方、サーボ演算部30は、主として、上記目標値に追従
するようにロボット各軸毎にサーボ演算を行うものであ
る。なお、図面では説明の便宜のためサーボ演算部30
において1軸のサーボ演算が行なわれるものとして表現
されているが、実際には制御軸数分の同様のサーボ演算
が行われる。目標値演算部20ではサンプリング時間Δ
T毎に目標値の演算が行なわれ、サーボ演算部30では
サンプリング時間Δt毎にサーボ演算が行なわれるが、
目標値の演算はサーボ演算にくらべて演算量が多大であ
るため、目標値のサンプリング時間ΔTは、サーボのサ
ンプリング時間Δtよりも、たとえばΔT/Δt=10
程度大きい値となっている。
The target value calculation unit 20 is a target trajectory rd of the tool tip attached to the arm tip of a robot (not shown).
Target value θd of the position of each axis of the robot based on (n)
The process of calculating (n) is mainly performed, while the servo calculator 30 mainly performs the servo calculation for each axis of the robot so as to follow the target value. In the drawings, for convenience of description, the servo calculation unit 30
In the above description, the servo calculation for one axis is performed, but the same servo calculation is actually performed for the number of control axes. In the target value calculation unit 20, the sampling time Δ
The target value is calculated for each T, and the servo calculation unit 30 performs the servo calculation for each sampling time Δt.
Since the calculation amount of the target value is larger than that of the servo calculation, the sampling time ΔT of the target value is shorter than the sampling time Δt of the servo, for example, ΔT / Δt = 10.
It is a relatively large value.

【0017】まず、目標値演算部20の目標軌道演算部
1では、ロボットのツール先端が移動すべき目標軌道r
d(n)が演算される。ここで、nは目標値演算部20
の演算回数、つまりサンプリング回数のことである。
First, in the target trajectory calculation unit 1 of the target value calculation unit 20, the target trajectory r to which the tool tip of the robot should move.
d (n) is calculated. Here, n is the target value calculation unit 20.
Is the number of times of calculation of, that is, the number of times of sampling.

【0018】逆変換演算部2では、上記演算された目標
軌道rd(n)上の逐次の位置がロボット各軸の目標位
置θd(n)に変換される。ただし、変換が行われるの
は、CP制御の場合であり、PTP制御の場合は逆変換
演算部2における変換処理は省略される。サーボ演算部
30の分配演算部4では、逆変換演算部2で演算された
サンプリング時間ΔT毎の各軸目標位置θd(n)を、
サーボ演算部30のサンプリング時間Δt毎の目標値θ
d(k)に分配する処理が行われる。ここで、kはサー
ボ演算部30の演算回数、つまりサンプリング回数のこ
とであり、1≦k≦ΔT/Δtの範囲内の整数値であ
る。比例制御演算部5では、上記演算された目標位置θ
d(k)から位置検出器13で検出されるアーム15の
現在位置θ(k)を減算した位置偏差e(k)が入力さ
れ、この偏差e(k)に対して比例ゲインKpが乗算さ
れ、これをフィードバック補償量として出力する。
In the inverse transformation computing unit 2, the computed successive positions on the target trajectory rd (n) are transformed into the target positions θd (n) of the robot axes. However, conversion is performed in the case of CP control, and in the case of PTP control, the conversion processing in the inverse conversion calculation unit 2 is omitted. In the distribution calculation unit 4 of the servo calculation unit 30, each axis target position θd (n) for each sampling time ΔT calculated by the inverse conversion calculation unit 2 is
Target value θ for each sampling time Δt of the servo calculation unit 30
The process of distributing to d (k) is performed. Here, k is the number of calculations of the servo calculator 30, that is, the number of samplings, and is an integer value within the range of 1 ≦ k ≦ ΔT / Δt. In the proportional control calculation unit 5, the calculated target position θ
A position deviation e (k) obtained by subtracting the current position θ (k) of the arm 15 detected by the position detector 13 from d (k) is input, and this deviation e (k) is multiplied by a proportional gain Kp. , This is output as the feedback compensation amount.

【0019】このフィードバック補償量は図示せぬD/
Aコンバータを介して出力され、後述するようにフィー
ドフォワード補償量VFF(k)と加算され、この加算値
を速度指令値VCMD(k)としてサーボアンプ11に加
える。サーボアンプ11は上記速度指令値VCMD(k)
に応じてモータ12を駆動し、モータ12は減速機14
を介してアーム15を駆動する。一方、位置検出器13
ではモータ12の位置をアーム位置として検出し、検出
値θ(k)をフィードバックする。
This feedback compensation amount is D / not shown.
It is output through the A converter, added with the feedforward compensation amount VFF (k) as described later, and this added value is added to the servo amplifier 11 as the speed command value VCMD (k). The servo amplifier 11 uses the above speed command value VCMD (k)
The motor 12 is driven according to the
The arm 15 is driven via. On the other hand, the position detector 13
Then, the position of the motor 12 is detected as the arm position, and the detected value θ (k) is fed back.

【0020】さて、ここでアーム15等からなる制御対
象10は、速度指令値VCMD(s)に対して一次遅れ系
(要素)であるとみなしてモデル化することができる。
これは、ロボットを制御する周波数領域ではサーボアン
プの周波数特性は無視でき、またモータは速度指令に対
して一次遅れ系とみなせ、さらに減速機やアームは慣性
項のみとすると、モータの慣性項に含めることができる
ので、制御対象10は速度指令値に対して一次遅れ系で
あると仮定することができるからである。
Now, the controlled object 10 including the arm 15 and the like can be modeled by considering it as a first-order lag system (element) with respect to the speed command value VCMD (s).
This is because the frequency characteristics of the servo amplifier can be ignored in the frequency range that controls the robot, the motor can be regarded as a first-order lag system with respect to the speed command, and if the reducer and arm are inertia terms only, the inertia term of the motor is Since it can be included, it can be assumed that the controlled object 10 is a first-order lag system with respect to the speed command value.

【0021】よって、制御対象10はたとえば図2の特
性に示すようにモデル化することができる。図において
Tmは時定数を表しており、機械系の場合は機械的時定
数である。この機械的時定数は慣性モーメントによって
変化し、両者は比例の関係にある。慣性モーメントはロ
ボットの姿勢によって変化するので、結局上記時定数T
mは後述するようにロボットの姿勢状態に応じて求めら
れることになる。
Therefore, the controlled object 10 can be modeled as shown in the characteristic of FIG. In the figure, Tm represents a time constant, and in the case of a mechanical system, it is a mechanical time constant. This mechanical time constant changes depending on the moment of inertia, and the two have a proportional relationship. Since the moment of inertia changes depending on the posture of the robot, the time constant T
As will be described later, m will be calculated according to the posture state of the robot.

【0022】同図2のごとくモデル化がなされると、サ
ーボアンプ11に入力される速度指令値VCMDに対する
アーム速度θ.の応答は、次式で表される。
When modeled as shown in FIG. 2, the arm speed θ. Is expressed by the following equation.

【0023】 θ.(s)=G(s)・VCMD(s)=(1/KF) ・{1/(1+s・Tm)}・VCMD(s) …(4) ここで、KFは変換係数、Tmは時定数である。したがっ
て、フィードフォワード補償要素50における伝達関数
F(s)は前記(3)式と上記(4)式とから下式
(5)のように求められる。
Θ. (S) = G (s) · VCMD (s) = (1 / KF) · {1 / (1 + s · Tm)} · VCMD (s) (4) where KF is a conversion coefficient , Tm are time constants. Therefore, the transfer function F (s) in the feedforward compensation element 50 is obtained from the above equation (3) and the above equation (4) as shown in the following equation (5).

【0024】 F(s)=KF・(1+s・Tm) …(5) よって、ロボット各軸の目標速度θ.dとフィードフォ
ワード補償量VFFとの関係は、 VFF(s)=KF・(1+s・Tm)・θ.d(s) …(6) となり、結局、フィードフォワード補償量VFFは、下記
演算式(7)のごとく、ロボット各軸の目標速度θ.d
とロボット各軸の目標加速度θ..dとによって求めら
れることになる。
F (s) = KF · (1 + s · Tm) (5) Therefore, the target velocity θ. The relationship between d and the feedforward compensation amount VFF is: VFF (s) = KF · (1 + s · Tm) · θ. d (s) (6), and eventually, the feedforward compensation amount VFF is the target velocity θ. d
And the target acceleration θ. . It will be required by d and.

【0025】 VFF(k)=KF・{θ.d(n)+Tm・θ..d(n)} …(7) この演算式によれば、各軸の目標速度および加速度が必
要となるので、これらを目標位置θd(n)から次式の
ように、差分によって求める。
VFF (k) = KF · {θ. d (n) + Tm · θ. . d (n)} (7) According to this arithmetic expression, the target velocity and acceleration of each axis are required, and therefore these are obtained from the target position θd (n) by the difference as in the following equation.

【0026】 θ.d(n)={θd(n)−θd(n−1)}/ΔT …(8) θ..d(n)={θ.d(n)−θ.d(n−1)}/ΔT …(9) なお、上記(8)、(9)式の演算は、目標値演算部2
0の速度・加速度演算部3で行われる。また、サーボ演
算部30でこの演算を行うようにしてもよい。さて、速
度・加速度演算部3で得られた目標速度・加速度をその
まま用いてサーボ演算部30で、上記(7)式のフィー
ドフォワード制御演算を行うこととすると、目標値演算
部20の演算周期ΔTがサーボ演算部30の演算周期Δ
tにくらべて大きいので((7)式の左辺は演算回数k
であり、右辺は演算回数nとなっている)、モータ12
が振動してしまうという不都合が生じてしまう。そこ
で、直線近似演算部6では、目標値演算周期毎の目標値
に基づきサーボ演算周期毎の、より短い周期毎の目標値
を求め、しかる後フィードフォワード制御演算部7にお
いて上記(7)式のフィードフォワード制御演算が行な
われるようにしている。
Θ. d (n) = {θd (n) −θd (n−1)} / ΔT (8) θ. . d (n) = {θ. d (n) −θ. d (n−1)} / ΔT (9) The above equations (8) and (9) are calculated by the target value calculation unit 2
It is performed by the velocity / acceleration calculation unit 3 of 0. Alternatively, the servo calculator 30 may perform this calculation. Now, assuming that the target speed / acceleration obtained by the speed / acceleration calculation unit 3 is used as it is, the servo calculation unit 30 performs the feedforward control calculation of the equation (7), the calculation cycle of the target value calculation unit 20. ΔT is the calculation cycle Δ of the servo calculation unit 30
It is larger than t (the left side of equation (7) is the number of operations k
And the right side is the number of calculations n), the motor 12
This causes the inconvenience that the machine vibrates. Therefore, the straight-line approximation calculation unit 6 obtains a target value for each shorter cycle for each servo calculation period based on the target value for each target value calculation period, and then the feedforward control calculation unit 7 calculates the target value of the above formula (7). The feedforward control calculation is performed.

【0027】上記演算部6での演算内容を下記(1
0)、(11)式に、演算部6の演算結果に基づく演算
部7での演算内容を下記(12)式に示す。
The contents of the calculation in the calculation unit 6 are described in the following (1
Expressions (0) and (11) show the contents of calculation in the calculation unit 7 based on the calculation result of the calculation unit 6 in the following formula (12).

【0028】 θ.d(k)={(k0−k)・θ.d(n−1)+k・θ.d(n)} /k0 …(10) θ..d(k)={(k0−k)・θ..d(n−1) +k・θ..d(n)}/k0 …(11) VFF(k)=KF・{θ.d(k)+Tm・θ..d(k)} …(12) ただし、k0=ΔT/Δtである。Θ. d (k) = {(k0-k) .theta .. d (n-1) + k.theta .. d (n)} / k0 (10) θ. . d (k) = {(k0-k) .theta .. . d (n−1) + k · θ. . d (n)} / k0 (11) VFF (k) = KF · {θ. d (k) + Tm · θ. . d (k)} (12) where k0 = ΔT / Δt.

【0029】こうして(12)式で得られたフィードフ
ォワード補償量VFF(k)がフィードバック補償量に加
算され、その加算値が速度指令値VCMD(k)としてサ
ーボアンプ11へ出力されることになる。
Thus, the feedforward compensation amount VFF (k) obtained by the equation (12) is added to the feedback compensation amount, and the added value is output to the servo amplifier 11 as the speed command value VCMD (k). .

【0030】なお、上記(10)、(11)式は簡単な
近似式であり、コンピュータにおける演算としても容易
に実現でき、しかもスムージングの効果も大きいという
メリットがある。
The above equations (10) and (11) are simple approximation equations, and can be easily realized as an arithmetic operation in a computer, and there is a merit that the smoothing effect is great.

【0031】さて、アーム15のモータ軸12に換算し
た負荷が、アームの姿勢変化によって大きく変動するこ
とがあり、この場合は上記(4)式で表される、制御対
象10の伝達関数G(s)のパラメータをオンラインで
逐次計算する必要がある。制御対象10のパラメータの
うち、KFは変換係数なので変化せず、時定数Tmがロボ
ットの姿勢の変化により変動するので、これがオンライ
ンで次式のごとく求められる。
The load converted to the motor shaft 12 of the arm 15 may fluctuate significantly due to the change in the posture of the arm. In this case, the transfer function G ( It is necessary to successively calculate the parameters of s) online. Among the parameters of the controlled object 10, KF does not change because it is a conversion coefficient, and the time constant Tm fluctuates according to the change of the posture of the robot, so this can be obtained online as in the following equation.

【0032】 Tm=tm・(Jm+J(θ))/Jm …(13) ここで、tmはモータ単体の機械的時定数、Jmはモータ
単体の慣性モーメント、J(θ)はアーム15のモータ
軸換算の慣性モーメントであり、アーム15の姿勢によ
って変化するものである。なお、J(θ)はロボットの
構造によって異なる所定の関数である。
Tm = tm · (Jm + J (θ)) / Jm (13) where tm is the mechanical time constant of the motor alone, Jm is the moment of inertia of the motor alone, and J (θ) is the motor shaft of the arm 15. It is a converted moment of inertia and changes depending on the posture of the arm 15. Note that J (θ) is a predetermined function that differs depending on the robot structure.

【0033】上記慣性モーメントJ(θ)の演算は慣性
モーメント演算部8で行われ、(13)式による時定数
Tmの演算は時定数演算部9で行われ、得られた時定数
Tmがフィードフォワード制御演算部7に加えられ、上
記(12)式のフィードフォワード補償量VFF(k)の
演算が行われる。
The calculation of the inertia moment J (θ) is carried out by the moment of inertia calculation unit 8, the calculation of the time constant Tm by the equation (13) is carried out by the time constant calculation unit 9, and the obtained time constant Tm is fed. In addition to the forward control calculation unit 7, the feedforward compensation amount VFF (k) of the above formula (12) is calculated.

【0034】以上説明したように、この実施例によれ
ば、制御対象10を1次遅れ系としてモデル化すること
により、速度・加速度フィードフォワード制御演算部7
で各軸の目標速度および目標加速度からフィードフォワ
ード補償量VFFを演算し、これに基づきフィードフォワ
ード制御を行うようにしたので、各軸レベルで絶えず速
度変動があるCP制御においても軌跡精度が飛躍的に向
上する。
As described above, according to this embodiment, the velocity / acceleration feedforward control computing unit 7 is modeled by modeling the controlled object 10 as a first-order lag system.
Since the feedforward compensation amount VFF is calculated from the target speed and target acceleration of each axis and the feedforward control is performed based on this, the trajectory accuracy is dramatically improved even in CP control in which there is constant speed fluctuation at each axis level. Improve to.

【0035】また、目標値演算部20における演算周期
とサーボ演算部30における演算周期が異なる場合であ
っても、直線近似演算部6においてサーボ演算周期毎の
目標値が求められ、これよりフィードフォワード補償量
VFF(k)を演算するようにしたので、モータ12の振
動が発生することなく正確な制御が行われる。
Even when the calculation cycle in the target value calculation unit 20 and the calculation cycle in the servo calculation unit 30 are different, the target value for each servo calculation cycle is obtained in the linear approximation calculation unit 6, and the feedforward is performed from this. Since the compensation amount VFF (k) is calculated, accurate control is performed without vibration of the motor 12.

【0036】さらに、慣性モーメント演算部8および時
定数演算部9においてオンラインでロボットの姿勢状態
に応じた時定数Tmが逐次演算され、制御対象10の伝
達関数G(s)を逐次求めるようにしたので、ロボット
のように負荷変動の大きい機械を制御する場合にあって
軌跡精度の向上が達成される。
Further, the moment of inertia calculation unit 8 and the time constant calculation unit 9 successively calculate the time constant Tm according to the posture state of the robot online to sequentially obtain the transfer function G (s) of the controlled object 10. Therefore, in the case of controlling a machine such as a robot that has large load fluctuations, improvement of trajectory accuracy can be achieved.

【0037】[0037]

【発明の効果】以上説明したように、本発明によれば、
ロボットの駆動制御装置を1次遅れ要素とみなすこと
で、フィードフォワード補償量を、目標速度のみに基づ
き演算するのではなく、さらに目標加速度に基づき演算
するようにしたので、各軸ごとに絶えず速度の変動が生
じるCP制御の場合であっても、加速度の影響による偏
差を小さく抑えることができ、軌跡精度が飛躍的に向上
する。
As described above, according to the present invention,
By considering the drive control device of the robot as a first-order lag element, the feedforward compensation amount is calculated not only based on the target speed but also based on the target acceleration, so that the speed is constantly calculated for each axis. Even in the case of the CP control in which the fluctuation of 1 occurs, the deviation due to the influence of the acceleration can be suppressed to a small value, and the trajectory accuracy is dramatically improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】図1は本発明に係るロボットの制御装置の実施
例の構成を示す制御ブロック図である。
FIG. 1 is a control block diagram showing a configuration of an embodiment of a robot controller according to the present invention.

【図2】図2は図1に示す制御対象を1次遅れ系とみな
してモデル化した場合の周波数と振幅比との関係を示す
特性図である。
FIG. 2 is a characteristic diagram showing a relationship between a frequency and an amplitude ratio when the controlled object shown in FIG. 1 is regarded as a first-order delay system and modeled.

【図3】図3は図1に示す実施例装置の前提となる制御
系を単純化して示す制御ブロック図である。
FIG. 3 is a control block diagram showing a simplified control system which is a premise of the embodiment apparatus shown in FIG.

【図4】図4は従来の一般的なフィードフォワード制御
系を示す制御ブロック図である。
FIG. 4 is a control block diagram showing a conventional general feedforward control system.

【符号の説明】[Explanation of symbols]

7 フィードフォワード制御演算部 10 制御対象 20 目標値演算部 30 サーボ演算部 7 Feedforward control calculation unit 10 Control target 20 Target value calculation unit 30 Servo calculation unit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 ロボット先端に装着されたツール先
端の目標軌跡に基づいてロボット各軸の目標位置を演算
し、該目標位置に基づきフィードバック補償量を演算す
るとともに、前記目標位置に基づきフィードフォワード
補償装置においてフィードフォワード補償量を演算し、
該フィードフォワード補償量と前記フィードバック補償
量との加算値を速度指令値として駆動制御装置に加え、
該駆動制御装置により前記ロボット各軸を駆動制御する
ようにしたロボットの制御装置において、 前記駆動制御装置を1次遅れ要素とみなして当該駆動制
御装置の伝達関数を演算し、該演算した駆動制御装置の
伝達関数と前記フィードフォワード補償装置の伝達関数
との間に成立する所定の関係に基づいて、前記ロボット
各軸の目標速度と目標加速度とによって前記フィードフ
ォワード補償量を演算する演算式を求め、該演算式を用
いて前記フィードフォワード補償量を演算するようにし
たロボットの制御装置。
1. A target position of each axis of the robot is calculated based on a target trajectory of a tool tip attached to the robot tip, a feedback compensation amount is calculated based on the target position, and a feedforward compensation is performed based on the target position. Calculate the feedforward compensation amount in the device,
The addition value of the feedforward compensation amount and the feedback compensation amount is added to the drive control device as a speed command value,
A robot controller configured to drive-control each axis of the robot by the drive controller, wherein the drive controller is regarded as a first-order lag element, a transfer function of the drive controller is calculated, and the calculated drive control is performed. Based on a predetermined relationship established between the transfer function of the device and the transfer function of the feedforward compensator, an arithmetic expression for calculating the feedforward compensation amount by the target velocity and target acceleration of each axis of the robot is obtained. A control device for a robot, wherein the feedforward compensation amount is calculated using the calculation formula.
【請求項2】 前記1次遅れを示す伝達関数のパラ
メータである時定数をロボットの現在の姿勢に応じて逐
次演算するようにした請求項1記載のロボットの制御装
置。
2. The robot controller according to claim 1, wherein a time constant, which is a parameter of the transfer function indicating the first-order lag, is sequentially calculated according to the current posture of the robot.
【請求項3】 前記駆動制御装置の伝達関数をG
(s)としたとき前記フィードフォワード補償装置の伝
達関数は1/G(s)となる所定の関係が成立する請求
項1記載のロボットの制御装置。
3. The transfer function of the drive controller is G
The control device for a robot according to claim 1, wherein a predetermined relationship that a transfer function of the feedforward compensator is 1 / G (s) when (s) is satisfied.
【請求項4】 前記ロボット各軸の目標位置を演算
する目標位置演算周期よりも前記速度指令値を演算する
速度指令値演算周期が小さい場合に、前記目標位置演算
周期毎のロボット各軸の目標速度と目標加速度に基づい
て前記速度指令値演算周期毎のロボット各軸の目標速度
と目標加速度とを演算し、該演算値に基づいて前記フィ
ードフォワード補償量を前記速度指令値演算周期毎に演
算するようにした請求項1記載のロボットの制御装置。
4. A target of each robot axis for each target position calculation cycle when a speed command value calculation cycle for calculating the speed command value is smaller than a target position calculation cycle for calculating a target position of each axis of the robot. The target velocity and target acceleration of each axis of the robot for each speed command value calculation cycle are calculated based on the speed and the target acceleration, and the feedforward compensation amount is calculated for each speed command value calculation cycle based on the calculated value. The control device for the robot according to claim 1, configured to do so.
JP5404093A 1993-03-15 1993-03-15 Controller of robot Pending JPH06266425A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5404093A JPH06266425A (en) 1993-03-15 1993-03-15 Controller of robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5404093A JPH06266425A (en) 1993-03-15 1993-03-15 Controller of robot

Publications (1)

Publication Number Publication Date
JPH06266425A true JPH06266425A (en) 1994-09-22

Family

ID=12959486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5404093A Pending JPH06266425A (en) 1993-03-15 1993-03-15 Controller of robot

Country Status (1)

Country Link
JP (1) JPH06266425A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018088136A (en) * 2016-11-29 2018-06-07 ファナック株式会社 Numerical control device
CN112405510A (en) * 2019-08-20 2021-02-26 发那科株式会社 Robot system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018088136A (en) * 2016-11-29 2018-06-07 ファナック株式会社 Numerical control device
US10642246B2 (en) 2016-11-29 2020-05-05 Fanuc Corporation Numerical controller for correcting speed feedforward gain of machine
CN112405510A (en) * 2019-08-20 2021-02-26 发那科株式会社 Robot system

Similar Documents

Publication Publication Date Title
JP3506157B2 (en) Motor position control device
JP2001273037A (en) Servo control unit
WO1991005296A1 (en) Sliding mode control method
JPH0549284A (en) Method of controlling speed of synchronous type ac servo-motor
JP2000172341A (en) Servo controller
US6295484B1 (en) Robot control method and device
JPH07104856A (en) Vibration control method
JP4226420B2 (en) Position control device
JPH10309684A (en) Compliance control method of manipulator
JPS615302A (en) Controller of manipulator
WO1992014195A1 (en) Oscillation damper
JP2000148210A (en) Gain calculating device
JPH06266425A (en) Controller of robot
JPH10111701A (en) Learning-type automatic cell device and learning method
JPH07185817A (en) Weaving control method of multi-axes robot
JP5660482B2 (en) Control method and control device for feed drive system of machine tool
JP4038659B2 (en) Servo control device
JP2003084804A (en) Optimum command forming unit
JPS6190207A (en) Robot controlling device
JPH11231940A (en) Controller for robot
JP3176003B2 (en) Control device
Wapenhans et al. Optimal trajectory planning with application to industrial robots
Ren et al. Joint torque control of a collaborative robot based on active disturbance rejection with the consideration of actuator delay
JP4078396B2 (en) Positioning control device
JPS61217802A (en) Robot controller