FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: ...
14th World Congress ofIFAC
B-ld-ll-l
Copyright © 1999 IFAC 14th Triennial World ConlUess. Bciiing. P.R. China
FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: A FUZZY SLIDING MODE APPROACH
Silverio J. C. Marques * Jose M. G.
Sa da Costa *
• Technical University of Lisbon, Instituto Superior Tecnico Department of Mechanical Engineering, GCAR/IDMEC AlJenida Roviscu Pais, 1096 Lisboa Codex, Portugal Phone: +351-1-8418190, Fax: 351-1-8498097 E-mail: marques«lgcar. ist. utl. pt / msc~gcar. ist. utI. pt
Abstract: A fuzzy sliding mode control scheme is presented in this papeI' in order to compensate for uncertainties in the model of the robot manipulators in the context of force control. The st eps to design the fuzzy sliding mode controller are presented considering the fuzzy controller wit.h one input. (t.he sliding variable) and one output, ,,,ith nonlinear transfer characteristic inside the boundary layer and a two input (the sliding variable and a distance to the origin of the state space) to improve the speed. In order to show a good performance on tracking force/position trajectories and to validat.e the proposed control scheme, sirnulations results are presented. Copyright © 1999IFAC Keywords: R.obotics, fuzzy control, force control, robust control, variable structure control.
l. IKTRODUCTIOK
A great research activity has been developed in the area of force cont rol bringing robots to execute tasks with interaction wit.h the environment like grinding, deburring and polishing (Hogan 1985) and (Chiaverini et al. 1998). Due to variable payloads, torque disturbances, parameter variations and unrnodeled dynamics, robust control (Liu and Goldf'uberg 1991), adaptive control (Colbaugh et al. 1993) and recently neural network compensation (Jung and Hsia 1995), has been a solution to treat that problem. Sliding mode control with boundary layer as a simple robust control approach has been applied to the t.ra j ectory control of robot manipulators (Tang 1998). On the other hand , in the last. few years, solutions in TInzy logic control has been applied to robot manipulators also for position and force control (Shibata et al. 1996) with success, but there is a lack in design of such controllers 'w ith respect to perfOI'IIlanCe
and stability. As the fuzzy logic controllers are designed with respect to a phase plane determined by error and change of error, the partition of this plane in two semi-planes by means of a switching line, positive and negative control outputs are produced within the two semi-planes. This characteristic brings the similarity between the fuzzy logic control and the sliding mode control with boundary layer. Using the sliding variable as the input to the fuzzy controller and the same guidelines t o construct the sliding mode controller based on the upper bounds of the fluctuation parameters, the so called fuzzy sliding mode controller (Palm el al. 1997) can be developed, that collects the merits of the fuzzy controllers and the sliding mode. The main advantage that comes from the fuzzy sliding mode controller is that exist a non linear transfer characteristic inside the boundary layer, and this as the following possibilities (Palm et al. 1997): L design different transfer characteI"istics and thus to generate different behavior of the close loop
843
Copyright 1999 IF AC
ISBN: 0 08 043248 4
FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: ...
system in different fuzzy region of the state space, 2. Adaptation and tuning of the transfer characteristic, 3. Changing the velocity with which the dose loop approaches the set point. In this paper, the fuzzy sliding mode control is applied to robot manipulators in a force control task to compensate the uncertainties in the manipulator model. The paper is organized as follows: Section 2 presents the a brief description of the manipulator dynamics in the constraint coordinate frame and the environment model. Section 3 presents a simplification of the fuzzy logic controller output for one and two inputs. In Section 4 the fuzzy sliding mode controller is developed based on a decentralized concept for each degree of freedom. Simulation results are presented and analyzed in Section 5, and in Section 6 conclusions are drawn.
2. THE ROBOT DY~ AMICS AND ENVIRONMEKT The equation of a robotic manipulator in const.rained environment. is ,vell known in the literature as:
.lJ:...,,(x)x+hx(x , x) =u-fe
(1)
The vectors x, u and fe E Rn (n X 1) represent the end-effector position in the reference coonlinate frame, t.he force control signal, and the force exerted by the manipulator against the environment, respectively. The index x represents that this equation is given in the cartesian space. The term ho; is composed by: ","(x, x) = C",(x,x)x + 9:Eex) + d,,(x). The relation between the terms in the cartesian space and joint space is given by: J- T HJ- 1 (J- T C - Hxj)J-l
J-T g J-Td
(2)
where Hand C are the matrices of inertia and Coriolis, respectively, 9 and d are the vectors of torques due to the gravity and friction, respectively and J is the Jacobian matrix. Generally, a task frame attached to the constrained surface is selected, when the end effector of a robot manipulator moves in a force control task, 80 as to easily describe the desired force profile and position trajectories. In this way and as the control is done on the task frame, an appropriate transformation must be done between this coordinate frame and the reference frame. So, in the following, working 011 the task frame, the vectors of force fe and position x, are appropriate transformed in f c and xc, respectively. Neglecting the contact friction forces due to the fact they are very small, the contact. force is assumed normal to the iomrface, while the trajectories are along the direction tangent to the
14th World Congress ofIFAC
surface, and defined as fc = (fcl,O, ... ,OrT and Xc = [XcI, Xc2, •.. , Xcn]T respectively. Assuming the stiffness coefficient ke and the geometric shape of the contact surface are well known, the problem of force control is transformed to a problem of position control, according t.o the strategy of implicit force control. This is done, considering that the desired trajectory vector is given by Xd = [Xdl,Xd2, ... ,Xdn]T with Xdl = Xcl + where id is the desired force normal to the cont~ct surface, and Xcl is the coordinate along this normal where the end-effector contact.s the environment without deformation, which is here modeling like a spring element with stiffness coefficient k e .
¥,
3. THE FUZZY LOGIC
SYSTE~I
The fuzzy controller can be seen as a non-linear mapping between inputs and out.puts. This nonlinearities are due to several factors as: superposition of the fuzzy sets, operators used on the logical connectives, "and", kind of implication, aggregation of the rules, by the rules itself and the kind of defuzzification. Having in consideration some opinions that nonlinearities imposed by t.he fuzzy controller must come, only frorn the rules, in order to reduce these nonlinearities, accordingly (Jager 1995), four items must be taken in account t.o have the above in consideration: - use fuzzy partition to the fuzzy sets of the input variables, with t.riangular or t.rapezoida.l membership functions, use the fuzzy-mean defuzzification, - use numerical consequellts instead of fuzzy consequents for each rule (Takagi Sugeno model with singleton model), - use the product operation to the logical connectives" and" to get the degree of fulfillment of each rule. In order to derive the output of the fuzzy controller, only two input. variables (Xl and X2, N", =2) are considered, for the sake of simplicity and one output (y) variable (TISO). The rule Rk of the rule base with 1Vr rules, have the following form: Rh : IF Xl is A 1 ,1: and :1:2 is .42 ,k TREK ii = bk
(3)
The membership functions associated wit.h the fuzzy sets Ai,," are triangular and form a fuzzy partition, according the above assumed. In this way, only 22 rules need to be processed in the inference process to obt.ain the controller output. Thus, with a simple indexing scheme, considering the value of the input variables and the core of t.he two adjacent fuzzy sets, the degree of fulfillment of these 22 rules are easy computed (for the N r - 22 remains rules, the degree of fulfillmcnt are consequently nulls). Considering the degree of flllfillment related to the activated four rules, according the product operator of the connectives "and" , the output of the controller is:
844
Copyright 1999 IF AC
ISBN: 0 08 0432484
FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: ...
14th World Congress ofIFAC
(8) b s.1
b S •2
b 4 •1
b4 "
b 3 •1 hl,l
b s.4
b 5•s
b 4,3
b,,4
h 4,5
h 3 ,2
h'D
b·J .4
b 3 ,5
h 2 ,2
b 2 ,3
b 2,4
b 25
b 5•3
(9) I
,
(10) From (4) the fuzzy controller output is:
....
hl.1
h,,2
b L,3
b 1,4
b 1•5
(11) with:
6. 2 Fig. 1. The generic fuzzy rule base with two inputs and one output,
=a;+l-(l,~
92 =
X2 -
a~
h2 =
Xl -
a{
(12)
or in a more compact form: 22
Y
= L.Bk
X
(4)
bk
y =
i=l
Al,k E Al A 2 ,k E A2
{A}, .'" A~}, k = 1, ... , Nr {AL ... ,A;n} , k = 1, ... ,Nr (5)
The cores of the fuzzy sets A{ and At are the centers and a~ respectively, Le,: iJ.-Ai (an = 1
at
1
and MA' (ab) = 1, withj = 1, .'" m and i 2 These centers are ordered according:
af < ai· .. < al'
and a~
<
a~".
=
1, ... , n.
For a fuzzy logic controller with only one input Xl, the crisp output can be vel'ified to be:
(14) This constitutes a simple computation of the fuzzy controller output, with a simple index scheme, even \'Iiith a great number of rules or/and fuzzy sets for each input variable. Expression (13) and (14) was developed only for two and one input variables, as is need for the present case.
< a:!'
The consequenLs are the singletons b k , which belong to crisp set B : bk E B = {br, ... , br}. Repre:->enting the rule base as a rnatrix R(mxn) as shown in figure 1, where m = n = 5, the singletons bk are those elements bi,j, j = 1, ... , m ~and i = 1, ... ,n. Considering an input vector :1; = [:1:1, :J:2]T snr:h that: a{ ::; Xl::; a{-,-l j = 1, ... ,n-l and a~ ::; X2 ::S a~+l i = 1, ... , m - 1 The four rules that are active, are those rules fanned by the combination of the two adjacent fuzzy set.s for each input variable, which centers constitute the interval where these input variable value belong to, According to (4), the controller output is given by: y
(13)
X
[~t,( -1 )'.'"J g"h"b.,"~, .1""-' 1
2::;:1
given t.hat. fJk = 1 for a fuzzy partition. Following (4) lets derive a mathematical expression for the output of the fuzzy controller. The labels in (3) belong to the set of labels representing the fuzzy :-;ets for the two input variables:
1
6. 1 6. 2
= rh bi •j + thb i ,j+1 + .B3 bi+l,j + 61bi+l,j+l (6)
whE're t.hese four degree of fulfillment /31< k = 1, . ,,<1 are:
4. THE FUZZY SLIDING :MODE CONTROLLER APPLIED TO THE FORCE CONTROL 4.1 Sliding Mode Control
Consider the equation (1) of the manipulator dynamics in the constrained environment in the canonical form:
(15) where
f = -Hx -l(ltx { B = Ha;-1
+
fe)
(16)
and consider the sliding mode control law decentralized in the three position coordinates and three orientation coordinates: U
=
~
B
-1
ifx
(7)
'
(it - f)
[u + iI;1 (h" + fell
Hx u + l'i.., + le
(17)
845
Copyright 1999 IF AC
ISBN: 008 0432484
FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: ...
where the symbol Hx and fix are estimates of Ho; and hx respectively, and the elements iii of the vector of the vector are given by:
u
(18)
14th World Congress ofIFAC
,1.2 Fuzzy Sliding Mode Contrnl
The correspondent control law in the fuzzy sliding mode is achieved by replacing (26) by a fuzzy controller with gain k i called ufuzz:
and
(27) (19)
where Xd, is r.he desired trajectory, and for simplicity of notation, lets consider the task and reference frame arc the same; i.e.: x == Xc, and e,(L) = ;);i (t) - Xdi (t), Ai is a positive scalar, and the sliding variable determines the sliding line Si(Xi, t) = O. The gains C, and k, are to be determined later. From (15) and control law (17)
(20)
hx -
where 6./ = H", -1 b.h; and ~h = h;.. Lets t.he Lyapunov function Vi = ~sL the sufficient stability condition Vi -s: -17; ISi 1states the sliding condition
t -Jtsr
(21) where 17i > 0 drives the system in the so-called sliding mode, when outside the sliding line. For each component i, consider the symmetric matrixes J/.-r; -1 and i{, with the following par1 . . H '" -1 [111-lhh- 1 ] an d H'x-1 tItlOn: 2 ... n - -1 - -1
- -1, n J.
.
So, the design procedure for the fuzzy sliding mode controller concentrates on this fuzzy part given by (27)(Palm et al. 1997), and t.he design of the remain part is all similar to the sliding mode controller as presented above. The main advantage of the fuzzy filiding mode, is the nonlinear transfer characteristic inside the boundary layer. Several procedures exist to implement that nonlinear transfer characteristic (Palm et al. 1997), One of them is achieved by the distribution of the centers of the membership functions of the input variable (sliding variable) or/and the out.put variable, and another procedure to improve the perfonnance, considers an additional parameter d, see Figure 2, that is the distance to the origin of the state space along the sliding line s = O. This proeedures will be briefly revised here. The first one considers only one input variable (sliding variable) and one output variable, which is a reformulating of the fuzzy controller with input variables e and e and its rule base is presented on Table 1 where Table 1. Reformulating of a fuzzy controller in a diagonal form
--1"
Assummg that hi hi > 0 and the scalars ,Bi'''fI. and Br"o.:r; such that 0 -s: ;3inin :::; hiT hi -s: pr,,",L" the gain Gi is given by:
s
NH
NM
"IL
ZE
PI,
PM
PH
1
u
NH
NM
)lL
ZE
PL
PM
PH
[hI h z ... h
G 1.. = (wnin[3!",aX)-2 IV'I. 'l
(22)
and the corresponding margin gain:
(23) Considering (20) in its elements:
.. =
;1;i
~f
U
i
+ "h-Th'~ i iUj
(24)
j=l
and the sliding condition (21) the gain k i is got by:
n
L
(Gilh.;-Th,il-maxl;T.djl-max) +1)i)
j=l,:i'i"i
Considering a boundary layer, the term -kisgn(si) in (18) is replaced by
(26) which is the output given by the linear transfer inside this boundary layer.
the suffix L, M and H stands for Low Medium and High respectively, the prefix Nand P stands for Negative and PosHive respectively, and ZE for near Zero. Both the centers for input variable ,~ and output variable was considered constants values. Shifting these centers to the origin or to the extremes of the interval it will get a transfer characteristic formed by several segments giving a filter state dependent with different velocities to the state e. The scaling factor of the input is the inverse of the boundary layer thickness ~i' resulting a normalization to the interval [I 1] for the input variable. As the output 'U of the fuzzy controller given by (14) is normalized on the interval [-1 1], the denormalization of the output variable u is done by means of the gain G u ; un = C u . The determination of this gain G u is done by taking in attention the system stability. This factor u is the gain k,. in (25) in order to verify- the sliding condition (21), and G u = In the fuzzy controller with one input one output, the control signal U increase monotonically with the distance 181 and do not t.ake in comliderat.ion the dist.anee r1 along the sliding line, as can be viewed in Figure 2, The incorporation of this additional distance improves the speed from the
d
f:::.
846
Copyright 1999 IF AC
ISBN: 008 0432484
FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: ...
14th World Congress ofIFAC
Ii
(Z-O.3J'+(Y-O.3. f
________
---.;..'-----'-
.X:;O.3
"o.s'
.
--:----
0.5
0.' 0.1
o
-0.4
s=e-tAe=O
0.'
-0.0
Fig. 2. Distances Isl and d of a fuzzy sliding mode controller. error state to the origin of the state space. The distance d is given by: d = .jlel 2 - si,. The set of rules for this new fuzzy system of t·wo inputs one output can be reformulated regarding the two following rules: IU: IF ISpl increase THEN lul must increase to. R2: IF d increase THEN lul must increase to. Table 2. Rule base sp-d d/s p
P ]\I[
S Z
KH PE PH PE PB
Nl'vI
PE PB PB PM
NL PB PB P:'1 PS
Zn
Zp
PB PM PS
NB NM 1"\S
Zp
Zn
PL NB NB N:'1 NS
PM NB NB NB N:,1
PH NB NB NE NB
The set of fuzzy rules can be stated in Table 2, and the output of the fuzzy controller is given by: llfnzz
= -k,Juzz(sp, d)
(28)
In the normalization process of the input variables error and derivative of the error, the sliding variable 8 = + Ae is transformed in; 8N = eN + ANeN t.hrough the gain" G e and G,,; eN = eG e and eN = eG.,: which results in AN = >. G;j:t,. After choosing >., the gain Gdote by a correlation process [Palm 19], and for ).N = 1 the gain G e is given by: Gc = "AGe· ). has to be chosen in such a\vay t.hat all unmodeled frequencies Ilnm are filtered out, resulting that « V nm . In the two input one output fuzzy cont.roller the variables sp and d are normalized in Lhe interval [-v'2 v'2l and [0 12] and are,.!'.. sp , = (€N+e,v) and d = leN-RNI reV"" V2 IV V2
e
g:
spectively. The output is normalized as same way as in the one input one output fuzzy controller.
5. SIMlILATIO?\ RESULTS The fuzzy sliding mode force/position control schemc described in Section 4 is now applied to an industrial robot through computer simulation. The manipulator chosen for the simulations is the first three links of the PUMA 560 robot, tracking a trajectory in and against the plane located at Xc = O.3nt as ShOW11 in Figure 3.
0.'
o
0
Fig. 3. trajectory of the 3-DOF manipulator The simulation environment incorporates the model of the robot, including the non-linear arm dynamics and joint friction, providing the basis for a realistic evaluation of the controller performance. The control scheme applied to the dynamic model of the robot used in the study, was implemented in the MATLAB!SIMULINK environment, using the Runge-Kutta fourth order integration method. The control laws applied to the manipulator model and all integration's required by the controllers, where implemented with a time step of 1 ms. The model of control was pcrturbated on its parameters like masses and inertial paramcters with values around thirty per cent. The desired force profile assumes a constant value of 10 N with an acceleration cycloidal profile from o to 0.25 sec. and a deceleration cycloidal profile from 2.75 to 3.0 sec. Also, it ,vas assumed that the manipulator is already in contact. with t.he surface and the end-effector always maintains cont.act with the environment during the task execution. The desired trajectory Xd is based on the coefficient stiffness environment k~ = lOOOON m and the force profile, according Xd = Xc + ~. The values for the three parameters Ai was chosen to be Ai = 50s- I ; i = 1,2,3 assuming that the unmodeled frequencies are around 2008- 1 . The estimate of the parameters G i and k i ; i = 1, 2, 3 given by (23) and (25) were assumed as: G = diag(G 1 , G2, G3) = diag(0.485, 0.439, 0.389) and K = diag(kl' k2, k3) = diag(22.67, 25.21, 28.32). The boundary layer thickness for the three subsystems was setting based on precision of the tracking trajectory Ei, according €; = and setting Ei = 0.1 x 10- 3 ; i = 1,2,3, resulting in rP; = 0.005ms- 1 for the thrce orthogonal directions. On Figures 4, 5 and 6 the simulation results are presented based on the sarne parameters above mentioned. On Figure 4 are presented the simulation results under sliding mode control with boundary layer. On Figure 5 the mcrit of the fuzzy sliding mode controller is evident. ,,,hen the nOlllinear transfer characteristic is achieved by di::;tribllt.ing c:ent.ers of the membership functions
t.-,
847
Copyright 1999 IF AC
ISBN: 008 0432484
FORCE AND POSITION CONTROL OF ROBOT MANIPULATORS: ...
14th World Congress ofIFAC
6. CONCLUSIONS
Toroue's
=0 10~
1
o~~-
-5
~.-'
-10
.......•••
\
-10············
.• ' .......... .
1
200
2:
3
:
.. ~.; . . . ~:----~
o .
_15L--~----'-------'
o
force error(SSE _ 143.8)
velocityermr
O.4r------~---,
(l.01
f\
0)
0.2
V
-0.2
-C.01
-0.4
1
-0.02
0
Fig. 4. simulation results under srvrc Torque's
position error
In this article, a fuzzy sliding mode control approach for regulation of position and force trajectories of robot manipulators, is presented. This work illustrates some of the potential applications of fuzzy sliding mode control in robotics to compensate for uncertainties in the model in tasks requiring implicit force tracking capability. Due to the nonlinear transfer characteristic inside this boundary layer when one input (the sliding variable) one output fuzzy controller was used, it reveals an improvement in performance and ehattering free, and a better performance was yet achieved when adding an input variable which is the distance of the error state to t.he state space origin along the sliding line.
JO-----~-----,
Acknowledgements . This work was partly supported by PRODEP program and PRAXIS XXI under contract 3/3.1/GEC /2707/95.
-5
-10
-10-20-----~
o
velocity error 0.01-----------,
(\
~O:r
°l--
iorce arror(SSE
-= 11 Et5~
0.2[." ......
-0,02 0' - - - - - . . . . - - - - ' - - - - - - - - '
Fig. 5. simulations results under one input one output fuzzy sliding mode controller position GHat
TClrquo's
30,-------'---------, 20~. le
o -
~
-5
\
-10
-1C-
-20-'-------------' o 2
-150' - - - - - - - tor'Ce error[SSE = 61.32)
velocity -error 0,01.------------,
/\ c \/ -:),01
-[).02 0L --~--:--~
Fig. 6. siml11ations mSlIlts under two input one output fuzzy sliding mode controller
of the sliding variable as [-1.0 -0.6 -0.3 0.0 0.3 0.6 l.01 which reduces the sum square error (SSE) in force from 143.8 to 116.5. Finally, on Figure 6 the results are in respect to the two input one output fuzzy controller where the eight centers of the membership functions of the variable !!y are uniform distributed between -V2 and v'2 and the centers of the variable dare [0 0.2 0.5 -J2) allowing a free chattering an an improvement in performance in the SSE that is 61.32.
7. REFERENCES Chiaverini, Stefano, Bruno Siciliano and Luigi Villani (1998). Force and position tracking: Parallel control 'with stiffness adaptation. IEEE Control Systems Magazine pp. 27-33_ Colbaugh, R., H. Seraji and K. Glass (1993). Direct adaptive impedance control of robot manipulators. Journal of Robotic Systems 10, 217-242. Hogan, Neville (1985). Impedance control: an approach to manipulation: Part I-II-III. Journal of Dynamic Syste'rns, Measurement, and Control 107, 1-24. Jager, Rene (1995). Fuzzy Logic in Control. phd thesis. Delft University of Technology, Cont.rol Laboratoqr, Department of Electrical Engineering. Deldt, The Netherlands. Jung, Seul and T_ C_ Hsia (1995). ~eural network techniques for robust force control of robots manipulators. Froc. of the IEEE Int_ Symposium on Intelligent Contrail, 111-116_ Liu, G_ J_ and A. A. Goldenberg (1991). Robust hybrid impedance control of robot manipulators. Proc_ IEEE International Conference on Robotics and Automation. Palm, Rainer, Dimiter Driankov and Hellendoorm Hans (1997). Model Based Fuzzy Control. Springer-Verlag. Berlin Heidellberg. Shibata, M., T. Murakami and K. Ohnishi (1996). A unified approach to position and force control by fuzzy logic. IEEE Transactions on
Industrial Electronics. Tang, Yu (1998). Terminal sliding mode contr'ol for rigid robots. Automatica 34, 51-56.
848
Copyright 1999 IF AC
ISBN: 008 0432484