Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Plug In Repetitive Control for Industrial Robotic Manipulators

C. Cosner G. Anwar M. Tomizuka

Department of Mechanical Engineering


University of California, Berkeley

Abstract where d represents the delay of the system in pure time steps, then the
repetitive control system can be represented as in Figure 3.
This paper presents the implementation of Plug In Repetitive
Tomisuka, Tsao and Chew have shown that the repetitive controller
Control on the direct drive axis of a prototype GMF A600 robot.
Plug In Repetitive Control wan developed and implemented us- achieves regulation and is asymptotically stable in the presence of a
ing an IBM AT. A multirate sampling algorithm was designed filter, Gt(z-I), of the form:
to reduce the memory requirements of repetitive control. A mi-
crocontrollcr board w ~ ddesigned, based on the Intel 8096, so
that Plug In Repetitve Control could be applied from a unit
embedded within the KAREL controller. In each application, where
experimental results show that the tracking error is smoothly
absorbed in a few cycles.
b L [B-(l)la (2.7)
where B - represents the uncancellable portion of B and B+ represents
1 Introduction the cancellable portion. Here N2 is set to d + h , where n,, is the number
of uncancellable roots of B. With this filter the open loop transfer
Industrial robots are generally applied to simple repetitive tasks. The
majority of robots in the United States are used for welding, painting,
and pick and place operations [l]. A robot is typically programmed to 2 Design of Discrete Time Repetitive Con-
perform a simple task, and then cycled through this task many times.
These simple tasks are characteriied by constant period and a plan- trollers [5]
ned trajectory of the robot. The input to the robot is thus repeated
from cycle to cycle periodically, and the robot's tracking error is conse-
In order to construct a repetitive controller it is necessary to be able
quently repetitive. A controller can be designed to cancel these periodic
to generate an arbitrary repetitive signd. This can be accomplished in
tracking errors based on the errors from previous cycles. This type of
the discrete time domain by simply delaying the desired signal for the
control is called learning or repetitive control [3]. period, N, and then feeding back this signal to the system as shown in
Tomimka, Tsao and Chew have shown that the design of these Figure 2. This method of generating a periodic signal can be expressed
controllers in the discrete time domain is straightforward [5], and Tsai, in the s transform domain as:
Anwar and Tomisuka have applied this controller to a two axis direct
drive arm [6]. In fact, the design of the repetitive portion of the con-
troller can be separated from the conventional servo-controller. In this
way a repetitive controller can be added without disturbing the existing
stable servo-controller as illustrated in Figure 1. This type of control
has been named 'Plug-In Repetitive Control'.
In this paper, 'Plug-In Repetitive Control' (PIRC) has been applied where
to an industrial robot, a prototype model of the G M F A500, without
disturbing its existing KAREL controller. PIRC was applied to the W O ( Z=) w ( 0 ) + w(1)z-' + ... + w ( N - l ) ~ - ( ~ - ' ) , (2.3)
base, direct drive axis, of this SCARA type robot. The first implemen-
tation of PIRC was developed on an IBM AT.
WO(Z)
represents the transform of first cycle of a periodic signal.
E

In order to reduce the memory requirements of PIRC a multirate The motivation of repetitive control is to reduce the periodic track-
ing error of the system. In order to drive this error signal asymptotically
sampling version of this controller was designed and implemented. This
to sero, the repetitive controller must be capable of generating a con-
version of PIRC interpolated between the samples of the error signd
in order to output a control signal a t a faster rate. trol signal despite the vanishing of this error signal. According to the
internal model principle [2] the repetitive controller should include a
An embedded microcontroller board based on the INTEL 8096 16-
repetitive signal generator as follows:
bit microcontroller was also built on which PIRC was implemented.
This board demonstrated the feasibility of constructing the PIRC as a
small embedded module.
This paper shows that in both implementations the tracking error
is smoothly absorbed by the PIRC. The remainder of this paper is where N represents the total nu,mber of delay steps in the period, and
organised a s follows: Section 2 gives an overview of the design of repet- +
N I Nz = N (NT = period, T = sampling period).
itive controllers. Section 3 discusses implementation of the controller If the transfer function of the system is given by :
and design of the microcontroller board as well as presenting experi-
mental results. Section 4 concludes the paper with a discussion of the
(2.5)
advantages of PIRC.

1970
CH2876-1/90/oooO/1970$01.000 1990 IEEE
-

Authorized licensed use limited to: Columbia University Libraries. Downloaded on May 09,2020 at 16:22:09 UTC from IEEE Xplore. Restrictions apply.
function of the repetitive control system becomes: 3 Implementation and Experimental Re-
sults
3.1 Implementation on GMF A500
Theorem 1 [5] The robot used for this implementation was a prototype model of a
GMF A500, a 4-degree of freedom SCARA type manipulator. The
The input to the repetitive controller, E ( z ) in Figure 3, a s y m p mechanical unit consists of a two-link arm mounted on a prismatic joint,
totically converges to sero provided that the system transfer func- with the base a x i s driven by a direct drive motor. The controller unit,
tion G8(z-l) remains asymptotically stable and B(e*j(%)i)# 0, i = the KAREL, provides a programming environment and is the existing
0,1,...,M ( M = $ for even N and M = for odd N). stable servo-controller for the GMF A500. GMF provided information
Note that e*j(%)i, represents the characteristic roots of zN - 1 = 0. regarding a location where the error signal, e ( k ) , can be measured,
as well as a location where the repetitive controller's output, ~ ( k ) ,
Theorem 2 (51 can be injected into the KAREL. No further information regarding the
KAREL was provided by GMF because the details of the controller are
The repetitive controller with, GV(z-l) and Gt(2-l)given by equa- proprietary.
tions 2.4 and 2.6, is asymptotically stable for 0 < k, < 2. A frequency response of the GMF A500 base axis was taken by in-
jecting a signal a t %(k) and measuring e ( k ) . The resulting Bode plots
zre shown in Figure 6. This investigation indicated that the robot sys-
The open loop poles of the repetitive controller, e*'($)', all appear
on the unit circle. Since these poles are on the stability boundary, this
tem transfer function ,$k
-5as seen by the repetitive controller could
be approximated as a second order plant as below:
makes the stability of the repetitive controller extremely sensitive to
unmodeUed dynamics. In order to gain robustness, a repetitive con- 2.700
(3.12)
troller can be used in the form[q: G'(s) = (a2 + 29.166s+ 256.250)
This transfer hinrtion, when discretised using a zero order hold and a
(2.9) sampling rate of 10 ms, becomes:

where - 1.225 x 10-4z-'(l + 0.9071-') - --z - ~ B ( z - ' ) (3.13)


G'(z- - 1 - 1.7252-1 + 0 . 7 4 7 ~ - ~ A(2-l)
(2.10)
The synthesised Bode plot for G,(s) is also illustrated in Figure 6.
Note that the estimated transfer function is a poor model of the robot
Notice that the q filter, q ( z , z-'), is a moving average filter and has
system a t high frequencies.
cero phase shift characteristics, since I n ~ { q ( & ~e-j"))
., = 0. The open A simple repetitive task was developed using the KAREL controller.
loop poles introduced by the modified repetitive controller are now all
The robot was programmed to move to a point and back again. This
inside the unit circle except for the one a t 1. High frequency repetitive
trajectory moved the robot to nearly the full extent of the workspace
disturbances are not perfectly cancelled by this controller. However,
and was programmed to run continuously This programming resulted in
the overall system stability becomes more robust to the existence of a cycle period of 10 seconds. For a repetitive controller with a sampling
modelling errors. This robustness is particularly important in the a p period of lOms, N was set to 1000 such that NT = l0sec. The clocks of
plication of PIRC where the best model available may be derived from the KAREL and the PIRC were independent which made it necessary to
experimentation. signal the start of task cycle with a pulse from the KAREL. This pulse
As a n example of the application of Plug In Repetitive Control, a ensured synchronisation of the task cycle and the repetitive control
typical inertial servo system under P D control is given by: cycle.
The time history of the uncompensated KAREL error signal of the
base axis during the execution of this trajectory is shown in Figure 7.
Note that this error signal is repetitive.

3.2 Implementation on the IBM AT


e, = zd-z,
Section 2 described the general method for designing a stable repetitive
U = k,(k,e, - 2.) (2.11) controller. This method requires the design of a zero phase error type
filter as given by equations 2.6 and 2.7.
where: z d is the desired position, zp is the actual position, z. is the
Although the B(2-l) term in the robot system transfer function,
actual velocity, e, is the position error, k, is the derivative gain, k,
equation 3.13,is within the unit circle and therefore stable, this term
is the proportional gain, M is the inertia, and U is the P D controller
was treated as uncancellable because of its proximity to the stability
output.
limit and because it's associated mode is highly oscillatory. Therefore:
The block diagram of this system is illustrated in Figure 4a. If zd
is periodic, the resultant velocity command, kpep, becomes periodic. B+(z-') = 1 (3.14)
In order to design the repetitive controller, Figure 4a is restructured
to the form shown in Figure 4b. From Theorem 1, a modified repetitive and
controller can be designed to be stable if the transfer function of the B - ( z - ' ) = ( 1 + 0.9072-') (3.15)
system in Figure 4a, between e,(k) and q ( k ) , is stable. If this condition
is met, a repetitive controller can be designed using e(k) as input and and the desired transfer function of the filter is:
u,(k) as output. The resulting repetitive control system is illustrated
in Figure 5. Gt(2-l) = ~ Z - ~ ( O . -~0.57
b
I Z - 1.05z-' + 0.75z-') (3.16)
Note that the structure of the repetitive controller allows it to be
separated from the plant under control. In this way the repetitive The coefficient b was chosen so that the steady state output of the filter
controller can be constructed as a "Plug-In" module. to a unit input of 1 would equal 1 (ie DC gain of unity). This choice

1971

Authorized licensed use limited to: Columbia University Libraries. Downloaded on May 09,2020 at 16:22:09 UTC from IEEE Xplore. Restrictions apply.
satisfied the constraint given by 2.7 since: the KAREL with PIRC is shown in Figure 15.
In an effort to reduce the memory requirements of the repetitive con-
b = 345.2 2 [B-(l)]' = 3.637 (3.17) troller, a multirate version was designed. The error signal was sampled
every 40 ms; however, the output was updated every 1Oms. A linear in-
Then the filter implemented for this portion of the study is given +
terpolation of the sampled error between e(k - N )and e(k - N 1) was
by: used to approximate a first order hold over the 40ms sampling period.
The converged error signals from the KAREL are compared in Figure
Gj(2-l) = 23.64~-'(0.912 - 0.57 - 1.051-' + 0.75z-') (3.18) 16. The solid curve represents the error signal,e(k), with PIRC and the
dashed curve represents the error signal with multirate sampling PIRC.
The response of the filter to a unit step input is illustrated in Figure Note that the performance of multirate sampling PIRC is as good as
8. Note the initially oscillatory nature of this response. a
the performance of PIRC but only as much memory is required.
In order to gain robustness, a first order q filter of the form given
by equation 2.10 was chosen for the controller. The first order q filter 3.3 Implementation of Embedded Plug In Repeti-
is given by:
tive Controller
z+2+z-'
q(2,z-l) = ____ (3.19) As an extension of the PIRC concept, an Embedded Plug In Repetitive
4 Controller (EPIRC) was designed and implemented. The objective of
Thus the form of the repetitive controller implemented for this study EPIRC was to demonstrate the feasibilty of a dedicated controller that
is given by: could be added intact to the KAREL. An EPIRC was designed based
on the Intel 8096 microcontroller [4].
(3.20) Repetitive control is a memory intensive process, thus the maximum
address space of the 8096 was extended to 128k. The 'BH' version of
the 8096 was used in order to take advantage of the on chip sample and
where UT(.) is the repetitive controller output, E(z) is the error signal hold for the analog to digital conversion. An on-board 12 bit Digital
from KAREL; to Analog converter was used to output u,(k).
For purposes of illustration, the open loop characteristic roots of Parameters in the EPIRC algorithm were set to values identical to
this type of repetitive controller with an arbitrary N = 16 and N I =
those used in the IBM - AT implementation, EPIRC improved the
14 are shown in Figure 9. Notice that the poles shift from on tracking error in the same manner as the implementation on the IBM
the unit circle and move inward. This movement of the poles inward ~

away from the stability limit provides robustness to modelling error


which may be present in the experimental identification of the system.
An IBM AT interfaced with the robot through a Data Acquisi- 4 Conclusions
tion board. The error signal and the synchronisation pulse were read
through 12-bit Analog to Digital converters. The repetitive controller This study has demonstrated the feasibilty of the repetitive controller
was operated with a sampling period of 10 ms and a repetitive gain as a 'plug-in' module to an existing industrial robot controller. The
of 0.4. N was 1000 and N1 was set to 998, as predicted by the ex- application of an original multirate sampling scheme, made possible by
perimental identification. The implemented transfer function is given the unique nature of the repetitive control, has been shown to reduce
by: memory requirements. In addition, it has also been demonstrated that
EPIRC could be constructed as a small unit and embedded within the
KAREL itself.
(3.21)
The advantage of PIRC in this application is that negiligible mod-
ification is made to the existing controller while a significant improve-
Here, the N was chosen based on memory constraints of the IBM AT ment is made on the tracking of the robot. The advantage of the EPIRC
used, and N2 was set to d + n,,. The time history of the error signal module lies in its compact nature dedicated to the control of the robot.
of the base axis of the robot under repetitive control is illustrated in
Figure 10. The converged error signal is illustrated in Figure 11. This Acknowledgements
signal has converged to a very small value under the influence of a
constantly active repetitive controller. This work was supported in part by the State of California MICRO
Figure 12 illustrates the output from the repetitive controller. Note Grant, GMF Robotics, IBM Corporation, AT&T Corporation and IN-
the oscillatory nature of the output introduced by the filter G j ( 2 - l ) . TEL corporation.
This filter was derived based on the assumption of perfect knowledge of
the plant under control. In fact, the transfer function of the robot was
determined experimentally and contains some error. Although much of References
the high frequency output of the controller does not adversely affect the
performance of the robot, some higher modes of vibration are excited [I] J. Craig. htrodvction to Robotics, Mechanics and Control, Second
by this input. Edition. Addison-Wesley, 1989.
In order to improve the robot system performance under repetitive
control, it was noted that Tsai, Anwar and Tomizuka's experience has [2] B. A. Francis and W. M. Wonham. The internal model principle
indicated that a 'deadband' on the repetitive controller's output pro- for linear multivariable regulators. Applied Mathematics and Opti-
vides greater robustness[6]. A deadband of 80 mv was used for this mization, 2170-194, 1975.
implementation. With the addition of this deadband, it was possible
[3] T . Inoue, Nakano M., and S. Iwai. High accuracy control of a
to remove the filter, G f ( z - ' ) , and maintain repetitive control.
proton synchroton magnet power supply. Proceedings of 8th Word
Congress of IFAC, pages Vol.XX, pp.216-221, 1981.
Figure 13 illustrates the time history of the error signal under repet-
itive control. The error signal is smoothly absorbed in six cycles. Note [4] Intel Microcomputer Company. 16-Bit Embedded Controller Hand-
that during the first cycle the error signal remains unchanged and is book, 1989.
identical to the error signal illustrated in Figure 7. Figure 14 illustrates [5] M. Tomisuka, T . C. Tsao, and K. K. Chew. Discrete-time domain
the output, w ( k ) , from the repetitive controller. Note the considerably analysis and synthesis of repetitive controllers. American Control
smoother nature of the output in this algorithm. A single cycle com- Conference, 1988. Atlanta.
parison between the error signal of the uncompensated KAREL and

1972

Authorized licensed use limited to: Columbia University Libraries. Downloaded on May 09,2020 at 16:22:09 UTC from IEEE Xplore. Restrictions apply.
[e] M. C. Tsai, G. Anwar, and M. Tomisuka. Discrete time repeti-
tive control for robot manipulators. Proceedings of 1988 IEEE In-
ternational Conf. on Robotics and Automation, 3:1341-1347, 1988.
Philadelphia.
[7] T-C. Tsao and M. Tomisuka. Adaptive and repetitive control algo-
rithms for noncircular maehining. Proceedings of the 1988 American
Control Conference, 1988.
Figure 4b. P D Control System Block Diagram Restructured for
Application of PIRC.

GMF Robotics
A-500 Figure 5. Plug In Repetitive Controller.
KAREL
CONTROUER

Figure 1. Plug In Repetitive Control on a GMF A-500 Robot.

I I

Figure 2. Repetitve Signal Generator

Periodic
Disturbances Figure 7. Error Signal of GMF A500 Base Axis without Repetitive
Rcoetitivs Controller I Control.

I I

Figure 3. General Repetitive Control System.


Fxd Y 100.02m

----I-m
Dee ,, ,, ,, , TI
I , , ,
I , , , 1
,
I
I
I ,
I t I Ill
, I l l 1

,, , , ,
: : ,+ttt-t-+-Hfttt
1 , 1 1 1 I , 1 1 1 1 1
X.(k) -360 I 1 , , , I $ I I I I I l l ,
FXd Y 100.02" Log Hr 100

Figure 6. Frequency Response of GMF A500 Base Axis.

Figure 4a. P D Control System Block Diagram.

1973

Authorized licensed use limited to: Columbia University Libraries. Downloaded on May 09,2020 at 16:22:09 UTC from IEEE Xplore. Restrictions apply.
I 4
35 -10
Time (sec)

Figure 8. Unit Step Response of Filter G ~ ( z - 1 ).


Figure 11. Converged Error Signal of GMF A500 Base Axis under
Plug In Repetitive Control with Gt(z-1)

Y-1B16.163”

I I
1.23
brl I

Figure 9. Characteristic Roots of Plug In Repetitive Figure 12. Output of Plug In Repetitive Control System with
Control System. Gf(z-1)

Y-1.15151 v

Figure 10. Error Signal of GMF A500 Base Axis under plug I,, Figure 13. Error Signal of GMF A500 Base Axis under Plug In
Repetitive Control with G f ( z -1) Repetitive Control with Deadband

1974

Authorized licensed use limited to: Columbia University Libraries. Downloaded on May 09,2020 at 16:22:09 UTC from IEEE Xplore. Restrictions apply.
Figure 14. Output of Plug In Repetitive Control System with Dead-
band

CAP
2.0

500
/DlV

g k&)
a
'8
h"

-2.0
Fxd 1

Figure 15. Detail View of Error Signal of GMF A500 Base Axis
with and without PIRC

CAP
2.0

500
m
/Ol"

.I
a
.
k&)

-2.0
FxdXY 102 Time (sec) i15

Figure 16. Error Signal of GMF A500 Base Axis under Repeti-
tive Control (AT). (dashed curve with Multirate
Sampling PlRC, solid curve PIRC)

1975

Authorized licensed use limited to: Columbia University Libraries. Downloaded on May 09,2020 at 16:22:09 UTC from IEEE Xplore. Restrictions apply.

You might also like