Short Papers: The Tricept Robot: Dynamics and Impedance Control
Short Papers: The Tricept Robot: Dynamics and Impedance Control
Short Papers: The Tricept Robot: Dynamics and Impedance Control
Short Papers_______________________________________________________________________________
The Tricept Robot: Dynamics and Impedance Control
Fabrizio Caccavale, Bruno Siciliano, and Luigi Villani
I. INTRODUCTION
Parallel robots are constituted by a fixed base and a mobile base,
connected by a number of independent kinematic chains [9]. They have
lately been receiving quite a deal of attention not only in the academic
community but also in the industrial community; their main advantage
regards the possibility to obtain high structural stiffness and perform
high-speed motions. Two recent examples of parallel structures for in-
dustrial robots are the Tricept robot designed by Neumann [10] and the
Flexpicker robot based on the Delta design by Clavel [5].
In this paper, the class of parallel robots having the kinematic struc-
ture of the Tricept robot is considered (Fig. 1). This class is character-
ized by having a radial link of variable length connected to the mobile
base. A recent work has analyzed the kinematics and kineto-statics of
a Tricept structure [13]. On the other hand, for analysis and control
purposes it is of the utmost importance to compute inverse and direct
dynamics based on suitable mathematical models. Fig. 1. Tricept robot.
Previous research efforts aimed at obtaining dynamic models for
parallel robots can be found in, e.g., [6], where a Newton–Euler for- Lagrangian formulation under simplifying assumptions leading to an
mulation is adopted and [8], [11], where a Lagrangian formulation is approximate solution. Simulations for the inverse dynamics on a test
adopted. The resulting inverse dynamics is computed numerically in trajectory have been carried out and the results are discussed in terms
view of the difficulties concerned with the derivation of a complete of model accuracy.
symbolic solution. On the other hand, the availability of a symbolic, As a further contribution of this paper, the simplified symbolic
yet approximate, dynamic model is crucial for computation of direct model is adopted to develop a model-based impedance control strategy
dynamics and ultimately for parameter identification and model-based to manage the interaction of the robot with the environment. The
dynamic control purposes [12]. impedance concept was proposed in [7] in order to avoid large values
In this paper, two different approaches to dynamic model deriva- of the contact forces and moments due to the robot/environment
tion are pursued, namely, one based on the application of the virtual interaction. This is achieved by enforcing a compliant behavior of
work principle leading to an exact solution, and another based on the the end effector with suitable dynamic features, characterized by
desired inertia, damping and stiffness. As shown in [2], the typical
Manuscript received August 1, 2002; revised January 20, 2003. This work six-degrees-of-freedom (6-DOF) impedance control based on Euler
was supported in part by the Ministero dell’Istruzione, dell’Università e della angles may give rise to task geometric inconsistency due to the
Ricerca, and in part by the Agenzia Spaziale Italiana. Recommended by Guest dependence of the rotational stiffness upon the actual orientation; such
Editors C. Mavroidis, E. Papadopoulos, and N. Sarkar. a drawback can be overcome by defining a spatial impedance based
F. Caccavale is with the Dipartimento di Ingegneria e Fisica dell’Ambiente,
Università degli Studi della Basilicata, 85100 Potenza, Italy (e-mail: cac- on the unit quaternion.
[email protected]). Then, the spatial impedance concept is applied to the class of Tricept
B. Siciliano is with the Dipartimento di Ingegneria dell’Informazione e Ingeg- parallel robots. The control scheme is designed by resorting to an inner
neria Elettrica, Università degli Studi di Salerno, 84084 Fisciano, Italy (e-mail: position/orientation loop, ensuring good robustness to disturbances and
[email protected]). modeling approximations, and an outer loop, which confers the desired
L. Villani is with the Dipartimento di Informatica e Sistemistica, Uni-
versità degli Studi di Napoli Federico II, 80125 Naples, Italy (e-mail: impedance behavior to the system. A case study for a Tricept structure
[email protected]). in contact with a planar surface has been simulated in order to show the
Digital Object Identifier 10.1109/TMECH.2003.812839 effectiveness of the proposed approach.
II. KINEMATICS A Jacobian matrix J relates the task velocity vector x_ to the joint
velocities q_i (i = 1; . . . ; 6) collected into the vector q_
In this section, the kinematic model of the Tricept robot is briefly
reviewed. More details can be found in [13].
J 0p 1 (xp ) O 3 x_ p
J 01 (x)x_
The Tricept robot is composed by a 3-DOF structure of parallel type
q_ = = (1)
and a 3-DOF spherical wrist. A sketch of the parallel kinematic struc- O3 I3 x_ o
ture is illustrated in Fig. 2. This consists of three identical outer links
with actuated prismatic joints q1 , q2 , and q3 . Each outer link is com- where the Jacobian J p can be computed through the differential kine-
posed by a cylinder and a piston. The fixed base (equilateral triangle matics of the structure [13].
A1 A2 A3 ) is part of the supporting structure of the manipulator. Each Let pe be the position of a frame attached to the end effector, and R e
link is connected to the fixed base by means of a Cardan joint allowing the rotation matrix expressing the orientation of the frame. Then, the
the link to rotate about two axes that are both orthogonal to the link. On differential kinematic model is completed by expressing the relation-
the other end, the links are connected to the mobile base (equilateral tri- ship between x_ and the linear and angular velocity of the end-effector
angle B1 B2 B3 ) by three spherical joints. Besides the above three outer frame v e = [p_ eT ! eT ]T , i.e.,
links, a radial link is present. This is connected to the fixed base by a
3-DOF joint allowing the link to rotate by the angles , about two
mutually orthogonal axes (one of which is orthogonal itself to the link), v e = J e (x)x_ (2)
and to translate by r along a through-hole axis; the connection of the
radial link to the mobile base is fixed and orthogonal so as to avoid where J e coincides with the geometric Jacobian of the equivalent open-
axial rotations and determine the reference point for the attachment of chain manipulator defined above, which can be computed via standard
the spherical wrist. techniques [12].
It is easy to recognize that the parallel structure has 3 DOFs which
can be effectively described by the vector of spherical coordinates x p =
[r ] .
T III. DYNAMICS
The above coordinates, together with the vector of the three wrist In this section, an exact dynamic model is derived based on the
joint angles x o = [q4 q5 q6 ]T , constitute the 6 DOFs of the robot application of the virtual work principle [15]. Then, an approximate
that can be collected into the vector of task variables x = [x Tp xTo ]T . dynamic model is determined based on the Lagrangian formulation
Hence, the kinematic model of the manipulator can be seen as that of under suitable simplifying assumptions. The models are derived ex-
an equivalent open-chain spherical arm, characterized by the three joint clusively for the 3-DOF parallel structure, since a standard Lagrangian
coordinates r , , , with a spherical wrist, characterized by the three or Newton–Euler approach can be pursued to compute the remaining
joint coordinates q4 , q5 , q6 (i.e., a Stanford manipulator). part of the model.
IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 8, NO. 2, JUNE 2003 265
A. Exact Model Having derived the expressions of all the terms in (7), the dynamic
The proper link velocities and accelerations can be computed from model of the parallel robot can be computed. However, it should be
the kinematic model: The angular velocity and acceleration of the radial stressed that a symbolic form of the equations of motion, i.e., of the in-
link (! m , !_ m ), the acceleration of the center of mass of the radial link ertial, Coriolis and centrifugal, and gravitational forces, is heavy to ob-
(pR ), the angular velocity and acceleration of the ith cylinder (! i , !_ i ), tain, since it would require the computation of the angles of the cardan
the acceleration of its center of mass (pC ), and the acceleration of the joints in terms of xp . Therefore, this solution is efficient only for the
center of mass of the ith piston (pP ). Details on the calculation of these computation of the inverse dynamics of the structure, i.e., given the
quantities can be found in [4]. joint positions, velocities and accelerations, compute the joint torques
On the assumption of frictionless contact between rigid bodies and in a numerical fashion.
time-invariant holonomic constraints, the principle of virtual works
B. Approximate Model
yields
An approximate model can be derived on the basis of the following
dW 0 + dW 00 =0 (3) simplifying assumptions.
1) The center of mass of the cylinder of the outer link i coincides
where dW 0 is the elementary work of the actuating forces, and dW 00 is
with Ai .
the elementary work of the inertial and gravitational forces, with null
2) The center of mass of the piston of the outer link i coincides with
external forces and moments.
Bi .
The first term in (3) can be computed as
3) The rotational contribution to the kinetic energy of the outer links
dW 0 = dqqTp p = xTp J 0
dx p
T
p (4) is neglected.
In such a case, it is convenient to refer directly to a Lagrangian for-
where p is the vector of joint actuating forces and the Jacobian in (1) mulation. Choosing xp as the vector of generalized coordinates, the
has been used to express the elementary displacement in terms of task equations of motion are
@L @L
space variables. T T
d
By accounting for the contributions of the radial link and of the
dt @ x_ p
0 @x
xp
=
p (14)
piston-cylinder pairs of the three outer links, the second term in (3)
can be computed as where the Lagrangian function L = T 0 U is the difference between
the kinetic energy T and the potential energy U of the system, and
p
dW 00 = dx
xTp
p (5)
is the vector of the generalized forces in (6).
where The kinetic energy can be computed by adding the contributions of
the radial and outer links in the form
p J TR; p f R + J TR; oR
=
T = 12 xTp B p (xp )xp (15)
3
+ J TC ;p fC +J C
T
;o C +J P
T
;p fP + JP
T
;o P : (6) where
i=1
3
T
In the above equation f R (f C or f P ), and R (C or P ) denote the Bp = mRJ^ R; pJ^ R; p + J TR; o I RJ R; o + mP J Ti J i (16)
i=1
vectors of inertial and gravitational force and moment exerted on the
radial link (the ith cylinder or the piston). Suitably defined Jacobians
is the positive-definite symmetric inertia matrix, and J^ R; p is the Jaco-
(J R; p , J R; o , J C ; p , J C ; o , J P ; p , and J P ; o ) for the position and
bian that can be obtained from J R; p by replacing the quantity r with
(r 0 `R ). Similarly, the potential energy can be computed as
orientation part are used to express the work in terms of the task space
elementary displacement. The expression of the Jacobians can be found
in [4]. 3
Combining (4) with (5) yields the equations of motion in the form U = 0g 0 T
mR pR + mP pi : (17)
i=1
p = J Tp
p (7)
Folding (15) and (17) into (14) and accounting for (6), yields the dy-
with
p as in (6). namic model in symbolic form
The force and moment contributions in (6) can be computed as
p = J Tp (xp ) B p (xp )
xp + C p (xp ; x_ p )x_ p + g p (xp ) : (18)
fR = 0m (p 0 g 0 )
R R (8)
The inertia matrix turns out to be diagonal. The matrix C p , which
R = 0I !
_ 0 ! 2 I ! 0 (r 0 ` )f 2 z
R m m R m R R m (9) characterizes the Coriolis and centrifugal forces, can be computed from
the elements of the inertia matrix using the Christoffel symbols of the
fC = 0m (p 0 g0)
C C (10) first type [12]. The vector g p represents the effect of gravity force.
= 0I !
_ 0! 2I ! +` f 2z Finally, the complete approximate dynamic model of the Tricept
C C i i C i C C i (11)
robot, including the spherical wrist, can be written in the form
fP = 0m (p 0 g0)
x + C (x; x_ )x_ + g (x) =
0 J Te (x)h
P P (12)
B (x) (19)
P = 0I !
_ 0 ! 2 I ! 0 (q 0 ` )f
P i i 2z P i i P P i (13)
with obvious meaning of the symbols B , C x_ , g , while h is the vector
where mR (mC or mP ) is the mass of the radial link (the cylinder of end-effector contact forces and J e is given in (2). Further, in (19),
or the piston), I R (I C or I P ) is the inertia tensor of the radial link is the vector of generalized forces related to the joint actuating forces
(the cylinder or the piston), and g 0 denotes the vector of gravity via the kinetostatic mapping = J T
, where J is the Jacobian matrix
acceleration. in (1).
266 IEEE/ASME TRANSACTIONS ON MECHATRONICS, VOL. 8, NO. 2, JUNE 2003
TABLE I between the desired and the reference frame so as to keep limited the
AVERAGE AND MAXIMUM PERCENT ERROR ON JOINT TORQUES values of the interaction force and moment h =[ f T T T . Hence, the
]
commanded motion for the reference frame c can be computed via the
impedance equations so as to achieve a suitable compliant behavior for
the end-effector [14].
In this fashion, the motion control loop is actually separated from the
impedance control loop. In particular, the motion control loop can be
purposefully made stiff so as to enhance rejection to disturbance and
modeling inaccuracies but, rather than ensuring tracking of the desired
end-effector position and orientation, it shall ensure tracking of a refer-
ence position and orientation resulting from the impedance control ac-
C. Comparison tion. In other words, the desired position and orientation together with
The inverse dynamics for the Tricept robot is computed on a test tra- the measured contact force and moment are input to the impedance
jectory for the task variables interpolating the points x p1 = [0 8 0 0]
: T, equation which, via a suitable integration, generates the position and
x p2 = [1 1
: 0= 6 0] T , x p3 = [1 1 0 6]
: T
= , and xp4 = xp1 with orientation to be used as a reference for the motion control action.
equal time intervals. CAD estimates of the dynamic parameters have As far as the reference frame is concerned, the position pc can be
been used. The simulation results are summarized in Table I, where the computed via the translational impedance equation
average and the maximum percent error on the joint torques is listed for
a different duration of the time interval. In particular, the first entry in Mp 1pdc + D p 1_pdc + K p 1pdc = f (25)
the table corresponds to achieving nearly the maximum velocity for the
prismatic joints of the robot. It can be recognized that the impact of the
1
where pdc = pd 0 pc , and M p , D p and K p are positive definite
matrices representing the mass, damping, and stiffness characterizing
simplifying assumptions on model accuracy decreases as the motion
the impedance.
becomes slower, with a sort of saturation effect when the contribution
In the classical 6-DOF approaches, the orientation of the reference
of the inertial forces becomes negligible with respect to that of the grav-
frame R c is computed via an impedance equation formally equal to
itational forces.
(25), where a minimal representation of the end-effector orientation
(i.e., in terms of three Euler angles) is used. However, as shown in [2],
IV. IMPEDANCE CONTROL
the rotational stiffness may become not well defined even for small
Because of the heavy computational burden, the exact numerical orientation displacements and cannot be specified in a consistent way
model is not suitable for control purposes. Hence, in the following the with the task geometry. This problem can be solved by resorting to a
approximate symbolic model is adopted in the design of an impedance class of geometrically meaningful representations of the mutual orien-
control. tation between the desired frame and the reference frame. In detail, a
With reference to (19), according to the well-known inverse dy- geometrically consistent impedance equation for the rotational part is
namics strategy, the vector of generalized forces can be chosen as [12] [2]
= B (x)y + C (x; x_ )_x + g (x) + J Te (x)h (20) Mo 1c!_ dc + D o 1c! dc + K 0 co dc = c (26)
Manuscript received August 1, 2002; revised January 20, 2003. This work
was supported in part by the Air Force Institute of Technology U.S. Air Force
Academy Faculty Preparation Program and by the HUSCO/Ramirez Endowed
Chair for Fluid Power and Motion Control. The views expressed in this article
are those of the authors and do not reflect the official policy or position of the
United States Air Force, Department of Defense, or U.S. Government. Recom-
mended by Guest Editors C. Mavroidis, E. Papadopoulos, and N. Sarkar.
The authors are with the Intelligent Machine Dynamics Laboratory, George
W. Woodruff School of Mechanical Engineering, Georgia Institute of Tech-
nology, Atlanta, GA 30332 USA (e-mail: [email protected];
[email protected]).
Digital Object Identifier 10.1109/TMECH.2003.812845