Terminal Sliding Control for a SCARA Robot

Transcription

Terminal Sliding Control for a SCARA Robot
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
Terminal Sliding Control for a SCARA Robot
E. Muñoz, C. Gaviria, A. Vivas
Department of Electronics, Instrumentation and Control, University of Cauca
[elenam, cgaviria, avivas]@unicauca.edu.co
http://www.ai.unicauca.edu.co
can be achieved. By introducing a nonlinear term in
the sliding control and suitably designing the
controller, the ultimate tracking error and the gain of
the terminal sliding mode controller can be
significantly reduced in comparison with the
conventional linear sliding mode control. One of the
major difficulties to achieve robustness to parametric
uncertainties is the establishment of a priori
uncertainty bounds. In [11] a terminal sliding control
law where the uncertainty bound depends only on the
inertia parameters of the robot, which can be easily
estimated a priori, was proposed taking advantage of
structural properties of robot manipulator.
Accordingly to the last approach, this paper
presents a tracking terminal sliding control law applied
on a SCARA robot, a four DOF manipulator widely
used in the industry. This study attempts to extend the
nonlinear algorithm proposed in [11] on an industrial
robot, with complex machining trajectories defined in
the task space. In order to evaluate the performance of
this nonlinear strategy, it will be compared in tracking
performance and robustness to the computed torque
control [2], widely used in robotic control.
The paper is organized as follows: in Section 2, a
dynamical model of the robot is introduced. Design of
the sliding control law is discussed in Section 3.
Control strategies for this study are shown in Section
4. Simulation results are given in Section 5. Finally,
conclusions are presented in Section 6.
Abstract
This paper presents a terminal sliding control law
for controlling robot manipulators with parameter
uncertainty, applied to a 4-DOF robot. By exploring
some properties of robot manipulators, the proposed
approach simplifies significantly the standard scheme
of a terminal sliding control. Major simulations results
using numerical values of an industrial SCARA robot
prove the effectiveness of the proposed approach. The
terminal sliding control and the widely used computed
torque control are compared. Tracking performance in
the task space and robustness (parametric uncertainty
and disturbance rejection) are enlightened.
1. Introduction
The linearizing and decoupling control, so called
inverse dynamic control [1], [2], is considered to be
the best theoretical solution for the control of robots.
The success of this control law is based on a good
knowledge of the dynamic parameters: more remote
they are, more the response will be unsatisfactory. In
practice, industrial robots have a priori unknown
dynamic characteristics (structure, parameters) or
involve several uncertainties such as large
disturbances, inaccuracies, unmodeled dynamic, etc.
Compensation for model uncertainties for robot
tracking control has received a considerable amount of
attentions in the literature, and a detailed survey can be
found in [3]. In spite of the extensive and successful
development of control techniques such as robust
control [4], and adaptive control [5], [6], [7], the
sliding mode control approach stays probably the main
choice when one needs to deal with non-parametric
uncertainties and unmodeled dynamics.
In the past years, a terminal sliding mode control
was proposed in [8], [9], [10]. Similar to the
conventional linear sliding mode technique, strong
robustness with respect to large uncertain dynamics
2. Dynamic Model for the Robot
It is well known that a robot manipulator can be
modeled as a set of n rigid bodies connected in a serial
chain with torques/forces acting at the joints. By
applying the Lagrange equation of motion [9], the
robot dynamic equation is derived as:
M ( q ) q + C ( q ) q + F ( q ) + G ( q ) + τ d = τ (1)
where q is the nx1 vector of joint positions, τ is the
nx1 vector of applied joint forces/torques, M(q) is the
209
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
nxn symmetric positive-definite manipulator inertia
matrix, C(q, q ) is the nx1 vector of centripetal and
Coriolis torques, F( q ) is the nx1 vector representing
torques due to friction acting at the manipulator joints,
G(q) is the nx1 vector of gravitational torques and τd is
the nx1 vector of unknown signals due to unmodeled
dynamics and external disturbances.
In the absence of friction or other disturbances, the
dynamic model (1) of an n-link manipulator can be
written as:
M ( q ) q + C ( q,q ) q + G ( q ) = τ
sliding phase. The same stands for the convergence
time ts on the sliding regime.
As it was proposed for [3] y [13], a sliding surface
of the form:
z1
z
s = x + β x 2
being z1 and z2 odd integers satisfying 0 < z1 ≤z2,
yields the dynamic error on sliding regime:
z2
(2)
z2 - z1  z − z

2
1


z2 
z1 - z2

= βt 
0)
x(t)
 + x(
  z2 



This equation can also be expressed in the
following form:
q) θ
M ( q ) q + C ( q,q ) q + G ( q ) = τ = Y ( q, q,
z2 - z1
0 ) z2
z2 x(
ts =
β(z2 − z1 )
3. Terminal Sliding Control
ηs
z1
z2
(8)
The work in [12] proposes the so called fast
terminal sliding mode (FTSM), which allows the
improvement of the reaching time. [6] works with the
previous concept but extended to the multi-input multioutput case for n-link rigid robot manipulators
described by the equation (3), taking advantage of the
structural properties of robot manipulators reported by
[8].
p
Consider the vector sliding variable s = q + Λq ,
βt
= x(0)e
x(t)
,
which exponentially
becomes
asymptotically converges to zero when time tends to
infinity. Additionally, if the control law is designed to
accomplish with the reaching condition ss = -η s
[11], the surface is reached at equal speed given by
s = η sign(s) which implies the reaching of the
sliding manifold in the finite time,
η
(7)
Thus, once the sliding surface is reached, the
convergence time can be improved without increasing
the value of the η parameter and so reducing the
chattering effect. Moreover, the discontinuous sliding
control term η sign(s) is replaced by the continuous
nonlinear term, which in turn also reduces the
chattering effect:
There are two different approaches to the
characterization of dynamic systems: In linear systems
theory, one can assume either some structure in the
signals or some structure in the system. Attempts have
been made to combine these two approaches e.g.
harmonic identification techniques in the Fourier
domain.
Key facts on terminal sliding control can be easily
understood in the single-input single-output case as
follows. Consider the usual linear sliding surface [11],
s = x + β x , with x the tracking error and β ∈ ℜ > 0 .
Then, on the sliding regime ( s = 0 ), the dynamic error
s( 0 )
(6)
which implies that x(t)
becomes zero in a finite
time (terminal) given by:
(3)
where θ is a constant m-dimensional vector of
inertia parameters and Y is an nxm matrix called
regressor, which is a function of joint position,
velocity and acceleration.
tr =
(5)
with q = q − qd , being qd the desired trajectory and q
the
(4)
joint
position,
p
p
q q1 …q n 
It is clear that a larger η will speed up the reaching
phase but the cost is an amplified chattering in the
T
and
Λ = dia g [ λ1 … λ n ] > 0 ,
p=
z1
z2
as it was defined
before. The problem is to design a control law for (1)
assuming only the knowledge of a nominal parameters
210
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
vector θ0, and a bound on parametric uncertainty
defined by ρ ≥ θo - θ .
Description of SCARA robot: The simplest kinematics
of the manipulator is found in the SCARA design,
Figure 1. This design has three vertical revolute joint
axes, and one vertical prismatic joint at the end.
SCARA robots are mainly used for “pick-and-place”
operations. Note that the end-effector gives to the part
to be manufactured only one orientation, with is
sufficient for the majority of the industrial
applications.
Imposing the equality s = 0 , the equivalent control
which forces the robot dynamic to stay in s = 0 can be
obtained as:
M ( q ) qr + C ( q, q ) q r + G ( q ) = τ eq
with
q r = q d - Λ q
p
Defining
=
-Y θ
the
(9)
variable
The dynamic parameters of the link’s robot are
composed of the inertial tensor parameters, the first
moment of inertia, the mass and the actuator rotor
inertia, that are combined in the vector θ0:
s = q - qr , the dynamic of the robot (3) can be
written as:
M ( q ) s + C ( q, q ) s + Y θ = τ
which satisfies τ
=
τ eq
when
θ0 = [ XX j XY j XZ j YY j YZ j ZZ j
(10)
s = s = 0 . The
reader is refereed to [6] for the details of the proof that
the terminal sliding control law, which is defined as:
(
q , q
τ = Y q,q,
r
r
with r
0 <r ≤1,
) (θ
o
)
+ w - Ks
r
An identification procedure gives the parameters
values shown in Table 1, [5]. Some of these parameters
are grouped or eliminated for simplicity [9], and will
be considered as the known parameters during
simulations.
(11)
1
< p ≤ 1,
2
K = d ia g [ k 1 … k n ] > 0 , and w
defined as
Table 1: Parameters of SCARA robot
p fulfilling
Parameters
ZZG1
ZZG2
ZZG3
MXG2
designed for compensate the parameter uncertainty
represented by θ = θo - θ and given by:
w=
-ρY T s/ Y T s

0

Y s > 0,
if
Y s =0
T
Values
3.38
0.063
0.1
0242
Parameters
MXG3
MY2
MYG3
Ia4
Values
0.2
0.001
0.1
0.045
Note: The units for the inertia tensor parameters are
Kg.m2, for the first moment of inertia Kg.m, and for
the motor inertia Kg.m2.
T
if
(13)
MX j MY j MZ j M j Ia j ]
(12)
Computed torque control: Assuming that only the
motion is specified as desired position qd, the
computed torque control (CTC), [4], [9] computes the
required input control as follows:
achieves uniformly boundedness of the signals and
zero tracking error in the finite time. The linear sliding
case stands for p = r = 1 .
4. Control Strategies
w = K p ( qd − q ) + K v q
(14)
where Kp and Kv are the controller gains. The
tuning of CTC controller for the SCARA robot leads to
the gains shown in Table 2. The resulting scheme is
shown in Figure 2, in which two feedback loops are
represented; an inner loop based on the manipulator
dynamic model and a outer loop operating on the
tracking error. The function of the inner loop is to
obtain a linear and decoupled input/output relationship,
whereas the outer loop is required to stabilize the
overall system.
Figure 1. SCARA robot
211
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
Table 2: Kp and Kv gains
Kp
1
125000
2
140000
3
150000
4
120000
Kv
250
200
1000
700
parameters are chosen as K=diag([100 50 20 100]),
Λ=diag([120 30 15 100]), ρ=0.045 and p=r=9/11
y11 = qr1 ; y12 = qr1 + 2 qr 2 ; y13 = qr1 + 2qr 2 + qr 3 ;
y14 = qr1 + qr 2 + qr 3 ; y15 = 2C 2 d 2 ( qr1 + qr 2 )
y16 = ( d 3C 3 + d 2 C 3C 2 − d 2 S 3S 2 )( 2qr1
x
Kp
qd
M
G
I
Non-linear compensation and
decoupling
+
qd
+
Kv
+
Ki
qd
w
+ Aˆ(q)
+ +
∫
Γ
+
+2 qr 2 + qr 3 ) + d 3C 3qr 2 ; y17 = 2 d 2 S 2 ( qr1 − qr 2 )
y18 = − ( d 3 S 3 + d 2 S 3C 2 + d 2 C 3S 2 )( 2 qr1
q
+2qr 2 + qr 3 ) − d 3 S 3qr 2
Robot
y19 = y110 = y111 = 0; y21 = 0;
y22 = 2 qr1 + qr 2 ; y23 = 2 qr1 + qr 2 + qr 3
y24 = qr1 + qr 2 + qr 3 ; y25 = 2C 2 d 2 qr1
+
q
Hˆ(q,q)
q
Stabilizing linear
control
y26 = 2 ( d 3C 3 + d 2 C 3C 2 − d 2 S 3S 2 + d 3C 3 ) qr1
+ 2 d 3 C 3qr 2 + d 3 C 3qr 3 ; y27 = −2d 2 S 2 qr1
Figure 2. Computed torque control in task space
y28 = −2 ( d 3 S 3 + d 2 S 3C 2 + d 2 C 3S 2 + d 3 S 3 ) qr1
Sliding control: Figure 3 shows the scheme of the
terminal sliding control to be applied on a SCARA
four DOF robot. The parameters of the unloaded
manipulator are known and the chosen values of the
link parameters are those shown in Table 1. Note that
this control strategy acts on a non-linear system while
the computed torque control linealize and decouple the
model of the robot. In other words, the sliding control
law is applied on a more complex system.
− 2 d 3 S 3qr 2 − 2 d 3 S 3qr 3
y29 = qr 2 ; y210 = y211 = 0; y31 = y32 = 0;
y33 = y34 = qr1 + qr 2 + qr 3 ; y35 = 0;
y36 = ( d 3 C 3 + d 2 C 3C 2 − d 2 S 3S 2 + d 3 C 3 ) qr1
+ d 3C 3; qr 2 ; y37 = 0;
y38 = −2 ( d 3 S 3 + d 2 S 3C 2 + d 2 C 3S 2 ) qr1
− 2 d 3 S 3qr 2 ; y39 = 0; y310 = qr 3
y311 = 0; y41 = y42 = y43 = y44 = 0
θ0
Y
s
qd
M
G
I
y45 = y46 = y47 = y48 = y49 = y410 = 0; y411 = qr 4
W
q
qd
q
du/dt
xd
q
r
x
pΛdiag (q~ p−1
(15)
x
Y
τ
q
q
5. Simulation Results
R
o
b
o
t
Computed torque control and terminal sliding
control are implemented in a simulation environment
(Matlab / Simulink®). Tracking performance and
robustness are compared, running with 1 msecond
sampling period.
s
Λu p
Ku r
Figure 3. Sliding control scheme in the task
space
(
, q
The components yij of Y q, q,q
r
r
)
Tracking performance: The following paths,
including inside the robot workspace, will be tracked
by the robot:
a. Circular path with radius r = 20 mm and angular
velocity ω = 2 rad/s. That means a small circle
achieved in 3 seconds.
b. Linear path with change of direction of 55º and
linear velocity of v = 0.024 m/s, covered also in 3
seconds.
Figure 4 and Figure 5 show respectively the cartesian
tracking error for the transient and stationary response,
for the computed torque control. Figure 6 shows the
tracking error when the linear path changes the
direction, for the computed torque control. Figure 7 and
in Eq. (11)
for the SCARA robot are given by (15). Where d2 and
d3 are the length of the robot arms (0.5 m and 0.3 m
respectively), and e.g. C2 = cos(q2), S3 = sin(q3).
In presence of an unknown load carried present in
the end-effector of the robot, parameters of the Table 1
will change and constitute the vector θ.
For the comparison of this control law with the
computed torque control, the same control parameters,
K,Λ,p and r are applied for the simulation tests. These
212
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
show respectively the cartesian tracking error
for the transient and stationary response, for the
terminal sliding control, and Figure 9 shows the
tracking error when the linear path changes its
direction, for the terminal sliding control.
Figure 8
-4
1
0.9
0.8
Tracking error (m)
0.7
-4
1
x 10
x 10
0.9
0.6
0.5
0.4
0.3
0.8
0.2
Tracking error (m)
0.7
0.1
0.6
0
0.5
0
50
100
150
200
250
Time (ms)
0.4
Figure 7. Transient response for terminal sliding
control (circular path)
0.3
0.2
-7
0.1
0
7
0
50
100
150
200
250
6
Time (ms)
Figure 4. Transient response for CTC (circular path)
Tracking error (m)
5
-7
8.5
x 10
4
3
2
8
Tracking error (m)
x 10
1
0
7.5
500
1000
1500
Time (ms)
2000
2500
3000
Figure 8. Stationary response for terminal sliding
control (circular path)
7
-4
x 10
6.5
500
1000
1500
Time (ms)
2000
2500
3000
5
Figure 5. Stationary response for CTC (circular
path)
Tracking error (m)
4
-4
Tracking error (m)
6
x 10
3
2
1
4
0
1400
1500
1550
1600 1650 1700
Time (ms)
1750
1800
1850
1900
Figure 9. Cartesian error for terminal sliding control
(linear path)
2
0
1400
1450
1450
1500
1550
1600 1650 1700
Time (ms)
1750
1800
1850
Transient for the circular path shows a cartesian
error of 1x10-4 m for CTC control and 0.9 x10-4 m for
the terminal sliding strategy. Moreover, the time
response is faster and without oscillations for the
terminal sliding control. Stationary response shows a
cartesian error of 8.5 x10-7 m for the CTC versus 6
1900
Figure 6. Cartesian error for CTC (linear path)
213
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
x10-7 m for the terminal sliding control. In the case of a
linear path with change of direction, the maximal
cartesian error is 4.5 x10-4 m for CTC versus 4 x10-4 m
for the terminal sliding control.
It is clear that the terminal sliding control strategy
produces a better behavior with respect to the tracking
of the complex trajectories defined in the task space.
CTC control and 1 x10-4 m for the terminal sliding
strategy, without the oscillations that yields the CTC
response. Stationary response shows a cartesian error
of 1.2 x10-6 m for the CTC versus 8 x10-7 m for the
terminal sliding control. Results show that terminal
sliding control provides best results with parameter
uncertainty, achieving good robustness.
Parametric uncertainty: Model mismatch is obtained
considering up to 35% errors from the known values
given in Table 1. Circular path is programmed again as
desired trajectory. Figures 10 and 11 show respectively
the cartesian tracking error for the transient and
stationary response, for the computed torque control,
and Figure 12 and 13 show the same tracking error but
for the terminal sliding control.
-4
1.2
x 10
Tracking error (m)
1
0.8
0.6
0.4
-4
x 10
1.4
0.2
1.2
0
0
50
100
Tracking error (m)
150
200
250
Time (ms)
1
Figure 12. Transient response for terminal sliding
control (circular path) with parameter uncertainty.
0.8
0.6
-7
9
x 10
0.4
8
0.2
0
50
100
150
200
Tracking error (m)
0
7
250
Time (ms)
Figure 10. Transient response for CTC (circular
path) with parameter uncertainty.
6
5
4
3
2
-6
1.25
x 10
1
0
Tracking error (m)
1.2
1000
1500
Time (ms)
2000
2500
3000
Figure 13. Stationary response for terminal sliding
control (circular path) with parameter uncertainty.
1.15
1.1
Disturbance rejection: An external disturbance is
introduced to the system, which is defined as a joint
disturbance of 0.08 radians introduced at 0.3 seconds,
tested in regulation mode around a given steady state
position. Figures 14 and 15 show respectively the
disturbance rejection for CTC and terminal sliding
control.
Maximum error peak to peak is 0.4 radians for
CTC response versus 0.25 radians for terminal sliding
control. Terminal sliding control is more robust than
CTC control with respect to external disturbances
although the time response to these disturbances is
greater.
1.05
1
0.95
500
500
1000
1500
Time (ms)
2000
2500
3000
Figure 11. Stationary response for CTC (circular
path) with parameter uncertainty.
Transient for the circular path with parameter
uncertainty shows a cartesian error of 1.2 x10-4 m for
214
International Conference on Control, Instrumentation and Mechatronics Engineering (CIM '07),
Johor Bahru, Johor, Malaysia, May 28-29, 2007
becomes totally insensitive to both internal parameter
uncertainties and disturbances.
Results show the great capacities that terminal
sliding control has to solve problems of control in
industrial robotics. Further works will concern test of
the global fast terminal sliding mode control, higher
order sliding modes and implementation on a real
SCARA manipulator.
0.3
0.25
Disturbance rejection (rad)
0.2
0.15
0.1
0.05
0
-0.05
7. References
-0.1
-0.15
0
100
200
300
400
500
600
Time (ms)
700
800
900
[1]
1000
Figure. 14. Disturbance rejection for CTC.
0.3
[2]
0.25
Disturbance rejection (rad)
0.2
0.15
[3]
0.1
0.05
[4]
0
-0.05
[5]
-0.1
0
100
200
300
400
500
600
Time (ms)
700
800
900
1000
[6]
Figure. 15. Disturbance rejection for terminal
sliding control
[7]
6. Conclusion
Advanced motion control in the task space for a
SCARA robot has been considered in this study.
Terminal sliding control has been analyzed and applied
to an industrial robot. Control law is based on
properties of robot manipulators with a nonlinear term
in the sliding variable vector, as is proposed in [6].
Tracking performance on complex trajectories (circular
path with small diameter and linear path with change
of direction) are simulated for the robust control and
compared with a classical model based controller as
the computed torque control. Also robustness is tested,
considering up to 35% errors in the nominal
parameters of the model and introducing an external
disturbance.
Terminal sliding control strategy shows better
performance in tracking error and robustness on
programmed simulations. Since the CTC technique is
based on the assumption of perfect cancellation of
dynamic terms, but the compensation may be imperfect
for model uncertainty. However in the terminal sliding
control, when in the sliding, the closed-loop response
[8]
[9]
[10]
[11]
[12]
[13]
215
H. Sage, M. De Mathelin,and E. Ostertag. Robust
control of robot manipulators: a survey. International
Journal of Control. Volume 72, No 6, pp: 1498-1522,
1999.
I. Kalaykov, and E. Iliev. Time-optimal sliding mode
control of robot manipulators. In Proc. IEEE
Conference on Industrial Electronics, Control and
Instrumentation, IECON 2000, Nagoya, Japan, 2000.
Z. Man, A. Paplinski, and H. Wu. A robust MIMO
terminal sliding mode control scheme for rigid robotic
manipulators, IEEE Transactions on Automatic
control, Volume 39, No 12, pp: 2462-2469, 1994.
L. Sciavicco, and B. Siciliano. Modeling and control of
robot manipulators. McGraw-Hill, New York, 1996.
G. Caraflore, M. Indri and B. Bona. Robot dynamic
calibration: Optimal excitation trajectories and
experimental parameter estimation. Journal of Robotic
Systems. Volum 18, No 2, pp: 55-68, 2001.
Y. Tang. Terminal sliding mode control for rigid
robots. Automatica. Volume 34, No1: 51-56, 1998.
F. Alonge, F. D´Ippolito and F. Raimondi. Globally
convergent adaptive and robust control of robotic
manipulators for trajectory tracking. Control
Engineering Practice, Volume 12, No. 9, pp: 10911100, 2004.
M.W. Spong,. On the robuts control of robot
manipulators. IEEE Transactions on Automatic
Control. Volume 37, pp: 1782-1786, 1992.
W. Khalil, E. Dombre. Modeling identification and
control of robots. Hermes Penton Science, 2002.
0. Egeland, and M. Godhavn. A note on Lyapunov
stability for adaptive robot control. IEEE Transactions
on Automatic Control. Volume 39, No 8, pp: 16711673, 1994.
J. Slotine, and W. Le. Applied nonlinear control.
Prentice-Hall Inc. New Jersey, 1991.
Yu X., and Z. Man. Fast terminal sliding-mode control
design for nonlinear dynamical systems. IEEE
Transactions on Circuits and Systems I: Fundamental
Theory and Applications. Volume 49, pp: 261-264,
2002.
S. Venkataraman, and S. Gulati. Control of nonlinear
systems using terminal sliding modes. Transactions of
the ASME Journal of Dynamic Systems, Measurement
and Control. Volume 115, No 3, pp: 554-560, 1993.