Copyright © IFAC Identification and System Parameter Estimation. Budapest. Hungary 1991
ADAPTIVE NONLINEAR COMPENSATION FOR A SCARA ROBOT WITH FLEXIBLE JOINTS N. Kato, S. Fujii and Y. Hayakawa Department of Information Engineering. Nagoya University. Chikusa-ku. Nagoya 464-01. Japan
Abstract. Nonlinear dynamic compensation, which is derived from inverse dynamics, is very useful for controlling robot manipulators. An accurate modeling of the robot system and a precise estimation of the physical parameters, however, are necessary in order to get enough control performance with that method. In this paper, on the mathematical model of robot manipulator with PD controller, the stiffness of the transmission system between motor and robot arm is taken into consideration. Furthermore, the controller parameters are adjusted only by using actual motor angles and reference robot arm angles. The effectiveness of this method is examined by an experiment using an industrial SCARA robot. The result proves that this method provides satisfactory performance for a reduction of both residual vibration and tracking errors. Robots; Automatic control; Nonlinear systems; Adaptive control; NonKeywords. linear compensation.
INTRODUCTION
pensation method, the inputs to the manipulator system ate regarded as the generalized torques produced by the joint actuators, and the outputs to be controlled are regarded as the position of the joints. The generalized
The robot manipulator control problem for a free motion, in which the end-effector is made to track the reference values representing the desired trajectory, is extremely fundamental in industrial robotics. There is a lot of literature on this issue, and numerous control methods have been developed so far. Among them, "nonlinear compensation" (for example, Luh , 1980) seems to be relatively efficient. In the nonlinear com-
Jo In t 2
torques applied to the system should have the appropriate (nominal) values that result in the desired motion under ideal conditions. Thus, it compensates for the nonlinear effects, and attempts to cancel the nonlinear terms in the model. However, there is no limit to the speed and preci-
JoInt I
c
....,o o o
N
Fig.I.
(11
2 DOF SCARA robot
693
= 435mm, 12 = 265mm)
sion which are desired in a manipulator response. In order for the nonlinear compensation method to answer this problem, it is required that the mathematical model used should be more exact both in the structural and in the numerical aspect. From a structural point of view, a nonlinear compensation with a more precise model was proposed by Kubo (1987), in which the joint compliance (, i.e ., the stiffness of transmission system between motor and robot arm) was taken into consideration. In spite of using this new model, however, there still remained a crucial problem in the numerical aspect. That is the estimation problem of physical parameters included in the precise model. In fact, some of the parameters are usually not known exactly a priori, and some of them are unknown. Besides , the nonlinear compensation is very poor in case of a mismatch in the model parameters. On the other hand , from the numerical point of view, "hierarchical learning control" was proposed by Kawato (1987), in which all the parameters in the mathematical model were estimated in a similar way to that of the back propagation algorithm in neural networks. But they used a simplified model not accounting for the joint compliance. In this paper, integrating and extending th e advantageous parts of th e above two methods, an adaptive nonlinear compensation for a robot manipulator with flexible joint is proposed , which enables high speed response without residual vibrations in the manipulator. In Sec.2, we derive this new control scheme and in Sec.3, some experimental results are shown in order to prove that the proposed method provides satisfactory performance for a reduction of both tracking errors and residual vibration.
with
M(q)
=
2Ml2cosB2+mll Ml2cosB2+ml2] ' [ M 12cosB2+ m 12 m l2
. [ -MI2sinB2'(Oi+20/'2)+bIOI ] .'2' h(q,q) = M I2 S111B 2'B I +b 2B2 MI2 =
7n
m ll =
m l di+m 2 (1;+di)
21Id2
,
m l2 = m 2 di ,
where q=[BI' B21T is the robot arm angle vector, T=[TI' T21T is the torque vector, and bl , b2 are viscous friction coefficients. In Eq.( 1), M( q) q represents the inertia force and h( q,q) is the non linear term of Coriolis and centrifugal forces and viscous friction force. As shown in Fig.2 , this robot manipulator is originally controlled with a PD controller, and the stiffness of transmission system between motor angle and robot arm angle is taken into consideration (stiffness: K SI ' K S2 ) in the same way as in Ref. (Kubo, 1980). Then the dynamical equation of the motor with a servo controller is described in the form
q = A IP+A 2P+A 3 P-A 4 u T
= -A5q+A6P ,
We consider a 2 DOF (Degree of Freedom) SCARA robot, which moves in the horizontal plane, as shown in Fig.I. The dynamical equation of this robot manipulator is described as follows.
M( q) q+h( q,q) ,
(1) Fig.3.
Whole block diagram of a robot system with the proposed controller
r - - - - - - - - i c - J 1-----,
Fig.2.
(3)
where P=[BMI' BM21T is the motor angle vector, and u=[u l , u 21T is the motor reference angle for the servo controller. The coefficient matrices Ai (i=1, ... ,6) are diagonal, and they include the parameters of the PD con troller and the stiffness. The detailed expression of those coefficient matrices is omitted here, and it is easy
CONTROL SCHEME
T =
(2)
Block diagram of a manipulator with PD controller
694
to derive them from the block diagram (see Fig.2) . In the above dynamical equations of the manipulator system, we assume that the parameters M 12 , rnli ' m 12 , bl , b2 appearing in Eq.(l) and the stiffness coefficients, K S1 , K S2 , appearing in Eq.(2) and (3) are unknown , and the other parameters are exactly known a priori. This assumption is reasonable because the physical parameters of a robot arm are usually difficult to know a priori, but on the other hand designers usually have the dynamics of the motor and the servo controller in ha nd. Now we will derive a new control scheme. From Eq.( l) and (3), we get a dynamical rela tion betwee n th e motor angle p and the arm angle q as follows,
TABLE 1
Unknown parameters
(The gear ratio ,
joint
unknow n
kn own s ignal
para.meter
I,.
B"0,+B,,B,+G,8,
I"
B"O,+B"O,+G)J,
/\1
BII'O,+B"O,+G,O,
I"
B"'O,+B,,O,+G,O,
I"
Bill (- 2(0,+20,)0,-60,0,-3(20,+0,)0,
.. +(28,+O,)O,}sinO, + ( 28, +'0,-6(0 ,oi+o,o,( 9, +O,))} cosO,1 +B,d - (10,O,+30,O,+20,9,)sinO, + (20, +0,- (20, +o,)OD cosO,1 +G,(-(20 ,+O,)O,sinO,+(20,+O,)cosO,)
I" I" I" I" I,.
8 41 0.
IJ"O,+IJ"O,+G,O,
I"
IJ"O,+B"O,+G,O,
I"
1J,,('O,+'O,)+lJdO,+O,)+G,(O,+O, )
I"
IJ '" (2(O ,-O,)O,+(20,-O,)O,- O;OilsinO, + ('0, +0,0; -o,oi+10,O,O,jcosO,1 +IJ" {(20 ,-0,)0 ,sinO, +( 0,+O;O,)cosO,) +G,( 0'2,sinO,+O" ,cosO,)
b,
KSJ 01 11
4>"
KSJ
KSJ
mu
1
M" KSJ
(4)
By substituting this for p in Eq.(2), the (ideal) inverse dyn a mics of the manipulator system can be derived as follows ,
Ilj =
fjo( q)+~
,
4>"
b,
m"
4>" 4>"
mu
M" b,
(5)
KSJ
KS2
i=l
nlll
where j=1 ,2 , n 1 =8 , n 2 =6, f)q)'s are nonlinear fun ctions with respect to q,q ,... ,ij", and
2
nj
Ilj =
f jo ( qd)+ ~
<1>23
-M"KS2
b,
m"
!"
M"
f ji ( qd)
G j , and the servo coefficient, B ij , are known)
I,. I" I"
')
B"O, 8 4 102
IJ" (- (20, +O,)O,sinO,+(20,+O,)cosO,)
n.,o,
IJ.,(O,+O,) ' 2 •. IJ.,( 0,sinO, +O ,cosO,)
i=1
where qd is the arm reference a ngle . Notice, however , th at the constants
where M( qd) and h( qd ,qd) are estimated values of M( qd) and h( qd ,qd), respectively by using 4>jj's instead of
for i=1 ,2,... ,N j and
Ml2j
(=-;j-) ,
MI 2
where
n·
Uj = f jo ( qd)+
"i 4>j;!ji( qd )
(6)
i=)
where 4>j;'S are estimated values of
Notice that as shown in Table 1, there exist some algebraic relations among
695
for j=1,2, i=1,2, ... ,Nj
and
for j=1,2
for j=1,2
EXPERIMENTAL RESULTS Fig.4 shows an example of an arm reference trajectory for experiment (joint 1 and joint 2 are rotated from 30° to 0° simultaneously in the interval [0 , O.4]s). A function of the 8th degree with respect to time is adopted as the am, reference trajectory qd in order for the 4th derivative of qd to be continuous at times t = 0 and t = T 1 . Thus, the angular acceleration is given by
Taking account of these constraints, in the above minimization problems it is attempted to minimize the (so-called) generalized errors of motor angles, E: /s. By solving these minimization problems via the penalty method, we can derive a recursive estimation algorithm for
.
.
c)JP)
=
for In this equation, as
r ji
(9)
{}~ji(k)
j=1,2 , i=1 ,2, ... ,n j
(8)
where V is the desired angular velocity. In the experiment, the sampling period is 2ms. The feedforward signals fji( qd) 's are calculated off-line and are used at every sampling time . The calculation of the control law and parameter estimation are carried out with DSP (Digital Signal Processor). The time for the calculation and data transference is about O.Sms. The experiment is carried out in order to compare the proposed controller with the original PD controller by using the arm reference shown in Fig.4. Figures S(a) , (b) show the result of the PD controller, and Figs. 6(a), (b) the result of the proposed controller. The initial values of the parameters, ~j;'S , in Figs. 6 are given in the following manner ; First , ~ji 'S were set to the catalogue values , and the estimation was made by using random reference with appropriat e \k'S in Eq.(8) during 30s. Then, the several steps were run with larger \k'S. In these figures , Figs. (a) show the motor angle tracking errors e, and Figs. (b) th e vibration of the arm · around the goal measured by an optical gap sensor (th e mark "0" represents the time wh en the arm reached the goal). From these results, it is found that by using the proposed controller, the motor angle tracking errors become smaller , i. e., the motor angle tracking performance is improved, and also that th e residual vibration is reduced in comparison with the PD controller.
is a constant gain, and lj is defined
where N
b.Jl ==
~(kSji-KsY,
b.]2 == (m 12j-m12)2
i=l
and
and \k'S (k = 1,2,3) are very large constants. The partial differential in Eq.(8) is actually calculated as follows; (1st term)
{}E:] __ 2~. 8e j • ~J' {}
__
-2E:/ji(qd)
for
i=1,2, ... ,nj,
where the last equality follows from the definition of E: j and Eq.(6). (2nd term) for
i=l, ... ,Nj CONCLUSIONS
for In order to answer the problem of making robot manipulators respond faster and more pre cisely, we proposed an adaptive nonlinear compensation scheme for SCARA robot. The characteristics of this controller are (i) the inverse dynamics model is d erived by t a king account of the joint compliance, (ii) the unknown parameters of the inverse dynamics are estimated in an adaptive way , and (iii) this adaptive estimation is carried out using the manipulator input and the measured motor angles (while the inverse dynamics model represents the dynamical relation between the manipulator input and the arm angle). The experiment showed that the proposed controller could improve the manipulator response significantly in regard to both tracking performance and suppression of residual vibrations. This method can be extended to 6 DOF robots, so we will study it.
(3rd term) M]2 = {
2(m12~-m12)
{}~ji
for
i=nj-1
for
i*nj-1
for
i=n j
for
i*nj
(4th term) M]3 = {
{}~ji
2(M12~-M12)
Notice that for the calculation of the second, third, and forth terms of {}lP)/{}~ji(k) in Eq.(8), ~ji(k-1)'s must be used instead of ~ ji( k)'s because ~ ji( k)'s are still not determined on the right hand side of Eq.(8).
696
60.0
I
:
0.0
~I
I
I I!
I
I
I
I
0.0
I i
~~ i
-60.0
REFERENCES
II
i
I
I
I
0. 1
0.4
Luh, J .Y.S ., M.W. Walker and R.P.C. Paul (1980). On-Line Computational Scheme for Mechanical Manipulators, Trans. ASME, J .D.S.M.C, 102, 6976. Kubo, S., T. Uno and T. Wada (1987). Dynamic Control of Robot Manipulators using Joint Compliance Model. Proc. JAACE, l!.,. 6566, (in Japanese). Kawato, M., K. Furukawa and R. Suzuki (1987). A Hierarchical Neural-Network Model for Control and Learning of Voluntary Movement. BioI. Cybern. ~ 169-185.
i
I
!
!
1.0
0.6 TIt!' 1,)0.8
Fig.4. Trajectories of the arm reference angles (J oin ts 1 and 2 are rotated from 30 to 0 simultaneously in the interval [O,O.4]s. The Acceleration time T J = 0.165) 0
0
2.0
1.0
i
.. 1. __ •__ _ ___
~
I
0.0
;
,
I
-~i-I~-j---I--
II
~
0.0
I I J I ·-I--I---I ---T--1.0
-1. 0 0.1
0. 0
0. 4
0.6
T1
1{1.)0. 8
0.1
0.0
1.0
0. 4
0.6 Ill{
1.1
0.8
1.0
(a) Error of motor angles
(a) Error of motor angles 2.0
2.0
1-.
n
0.0
\fV V'v
0.0
~
"\/
>-Y
--v
- 2.0
. 2.0 0.0
1 .0
T I liE (s)
2.0
0.0
(b) Time response of end point Fig.5.
1.0
T IIIE (s)
2.0
(b) Time response of endpoint Fig.6.
Experimental result of PD controller
697
Experimental result of the proposed controller