Dynamics modelling and control of the 3-RCC translational platform

loutsyrianΜηχανική

30 Οκτ 2013 (πριν από 3 χρόνια και 8 μήνες)

111 εμφανίσεις

Dynamics modelling and control of the 3-RCC translational platform
Massimo Callegari
*
,Matteo-Claudio Palpacelli,Marco Principi
Department of Mechanics,Polytechnic University of Marche,Via Brecce Bianche,60131 Ancona,Italy
Received 20 October 2005;accepted 14 June 2006
Abstract
The article presents the inverse dynamics model of a novel translating parallel machine and proposes the structure of a force controller
for the execution of tasks characterised by interaction with the environment.The task space model of machine’s dynamics is obtained in
an efficient and compact form by means of the principle of virtual work.A virtual prototyping environment has been set up to test by
computer simulation the potential of such kinematic architecture:the resulting dynamics is rather poor,mainly due to the high moving
masses,but it is shown that hybrid position/force control schemes should be able to provide good performances,including the case of
rather difficult operations,such as the peg-in-hole assembly.
 2006 Elsevier Ltd.All rights reserved.
Keywords:Robotics;Parallel kinematics machines;Translation parallel mechanisms;Parallel robots;Inverse dynamics;Hybrid position/force control
1.Introduction
A new kind of machines have attracted the interest of
both academic and industrial communities for some time:
they are called parallel kinematics machines,PKMs,since
they are characterised by a moving platform that is actu-
ated in-parallel by several kinematic chains,also called
‘‘limbs’’ or ‘‘legs’’.Usually all the limbs are identical and
their number is equal to the number of degrees of freedom
of the platform:if this is the case,each leg is driven by one
actuator,that can be fixed to machine’s frame.It must be
pointed out,however,that interesting architectures with
different geometrical settings are possible too,especially
in case of overconstrained mechanisms,as shown for
instance by Dai et al.[1].The design of PKMs can be easily
driven to obtain lightweight constructions jointly with
good dynamic performances or even to provide the end-
effector with a very high stiffness,but some drawbacks
are unavoidable too,like the limited workspace and the
great number of joints of the mechanical design.In any
case,the industrial relevance of these machines is continu-
ously growing and nowadays they are used in many differ-
ent fields.From the economical point of view,the most
important applications are surely the high speed manipula-
tion and the machining or assembly operations,character-
ised by the development of high interaction forces.Parallel
robots,for instance,can well compete with the conven-
tional SCARA architecture when high speeds and acceler-
ations are needed:for example,the fast and accurate Delta
robot,designed by Clavel [2] but found in many plants by
different industrial makers,can reach up to 20g accelera-
tions.On the other hand,heavy applications are suitable
to the Tricept,whose hybrid (parallel/serial) architecture
was originally conceived by Neumann [3]:in some indus-
trial versions,it is able to exert maximum thrust forces of
about 45 kN with repeatability better than 0.03 mm and
is therefore used for assembly or machining.It is inciden-
tally noted that both the Delta and the Tricept concepts
had really created major breakthroughs in robotic applica-
tions,so that their inventors,Reymond Clavel and Karl-
Erik Neumann,were both presented with the ‘‘Golden
Robot Award’’ in 1999,which is also a recognition of the
relevance of this new technology.
As a matter of fact,this kind of kinematic structure is
not new at all,as well explained by Bonev in his feature
0957-4158/$ - see front matter  2006 Elsevier Ltd.All rights reserved.
doi:10.1016/j.mechatronics.2006.06.001
*
Corresponding author.Tel.:+39 071 220 4444;fax:+39 071 220 4801.
E-mail address:m.callegari@univpm.it (M.Callegari).
Mechatronics 16 (2006) 589–605
article [4]:the famous ‘‘Stewart platform’’ [5],for instance,
it was actually invented by Gough in 1947 and built a few
years later.Nevertheless,even if the subject of parallel
kinematics machines has been studied extensively in the last
years,many problems are still open for an efficient exploi-
tation of the concept,like the small workspace,the poor
dexterity,the difficult design,the complexity of direct kine-
matics equations,the coupling of position and orientation,
and so on [6,7].For these reasons there is recently a grow-
ing interest in new minor-mobility mechanisms that are
able to performelementary motions,like pure translations,
pure rotations or even planar displacements.Speaking
about translation parallel mechanisms (TPMs),apart from
the already mentioned Delta,many other designs have
been recently proposed,like 3-UPU by Tsai and Joshi [8]
(with the variants:3-PUU and 3-RUU [9]),the 3-URC
by Di Gregorio [10],the 3-RRC by Zhao and Huang
[11],the Cartesian parallel manipulator by Kim and Tsai
[12],the 3-CRR by Kong and Gosselin [13] and others,
with different theoretical approaches and practical results.
It is worth citing also the work of Carricato and Parenti-
Castelli [14],who studied exhaustively the entire family of
TPMs whose limbs can be modelled as 5-dof chains,which
is by far the most interesting case.
In [15,16] yet another type of translating platform has
been proposed and studied from the kinematic point of
view:since it turned out that the machine presents very
good features,like simple direct and inverse kinematic
relations,high stiffness,a convex dome-shaped workspace,
etc.,it was decided to explore further its capabilities,espe-
cially by assessing its dynamic performances and finally to
build a prototype of the machine.To this aimthe kinematic
structure has been optimised for applications characterised
by interactions with the environment and then an inte-
grated mechatronic design of both mechanical structure,
see Fig.1,and control system has been concurrently devel-
oped,leading to a virtual prototype of the whole system.
As a matter of fact,the challenge in the design of robots
interacting with the environment is given by the use of
dynamics shaping and/or interaction control to subdue
Nomenclature
d;
_
d;

d displacements,velocities and accelerations of
actuated joints
p;
_
pð¼ v
p
Þ;

p task-space position,velocity and accelera-
tion of end-effector
J(d) manipulator’s Jacobian matrix:
_
d ¼ JðdÞ 
_
p
s actuation torques/forces
F external forces/moments acting at the end-
effector
M(d),M
x
(p) mass matrix of the system expressed in
joint- or task-space
Cðd;
_
dÞ;C
x
ðp;
_
pÞ forces/torques arising from centrifugal
and Coriolis forces expressed in joint- or task-
space
Dðd;
_
dÞ;D
x
ðp;
_
pÞ friction and damping forces/torques
expressed in joint- or task-space
Gðd;
_
dÞ;G
x
ðp;
_
pÞ gravity forces/torques in joint-space or
task-space
Aðd;
_
dÞ;A
x
ðp;
_
pÞ vector collecting in a compact form all
dynamic terms (joint- or task-space,respectively)
m
ji
,I
ji
mass and inertia tensor of the cylinder (j =1) or
piston (j =2) of the ith limb
v
ji
,x
i
velocity of the centres of mass of cylinder (j =1)
or piston (j =2) of the ith limb and (common)
angular velocity
f
ji
resulting force (excluding the actuator force s
i
)
acting on cylinder (j =1) or piston (j =2) of
the ith limb
f

ji
¼ m
ji
_
v
ji
inertia force of cylinder (j =1) or piston
(j =2) of the ith limb

f
ji
¼ f
ji
þf

ji
total force acting on cylinder (j =1) or
piston (j =2) of the ith limb (excluding the
actuator force)
n
ji
resulting moment acting on cylinder (j =1) or
piston (j =2) of the ith limb
n

ji
¼ I
ji
_
x
i
x
i
ðI
ji
x
i
Þ inertia moment of cylinder
(j =1) or piston (j =2) of the ith limb

n
ji
¼ n
ji
þn

ji
total moment acting on cylinder (j =1) or
piston (j =2) of the ith limb
m
p
mass of the moving platform
f
e
external force applied to the moving platform
f
p
=m
p
g weight of the moving platform
f

p
¼ m
p
_
v
p
inertia force of the moving platform

f
p
¼ f
e
þf
p
þf

p
total force acting on the moving
platform
Fig.1.Sketch of the novel translational platform.
590 M.Callegari et al./Mechatronics 16 (2006) 589–605
unwanted effects on manipulator’s behaviour by adapting
the control to the on-going operations.Dynamics shaping
[17],in fact,aims at compensating a poor dynamic be-
haviour of the system (which may be given by actuation
non-linearities,inertial couplings,transmission compli-
ance,actuation backlash,sensors’ bias,or the likes) by
using error signals measured or computed by means of a
model of robot’s dynamics.On the other hand,interaction
control cannot be based on pure motion control,since the
environment sets constraints on the geometric paths that
can be followed by the end-effector:therefore the hybrid
position/force approach considers strategies based on two
signals (either position or force),conveniently switched to
drive the armas the task is modified to constrained motion
manoeuvres.A simpler realisation lies in the impedance
control,which indirectly enables a compliant behaviour
of the end-effector from position data,on condition that
the environment can be conveniently modelled by means
of proper stiffness matrices.Since both robot’s dynamic
model (and therefore robot’s mechanical design) and con-
troller’s structure are strictly linked one to the other and
affect system’s performances,only a concurrent mecha-
tronic approach to the problem can effectively provide use-
ful information for the overall assessment of the complex
parallel architectures.It must be added that both fields of
dynamic modelling and force control have quite a large
amount of results applied to serial mechanisms but only
a relatively small number of studies have been performed
so far on parallel kinematics machines,as pointed out in
the following paragraphs.
Therefore the article,after a short description of the
mechanism,presents a quite powerful approach for the der-
ivation of robot’s inverse dynamic model,based on the
principle of virtual work.The structure of a hybrid posi-
tion/force controller is then illustrated:it has been actually
implemented in Matlab and interfaced with Adams,that
performs the direct dynamics simulation of robot’s behav-
iour while tracking the prescribed constrained tasks;some
numerical results are finally commented.
2.Description of the mechanism
The kinematic structure of the mechanism is shown in
Fig.2:a mobile platform is connected to the fixed base
by three identical limbs,that are composed by two parts
coupled by a cylindrical pair;the lower link of each leg is
connected to the frame by a revolute joint while the upper
one is connected to the platformby a cylindrical pair.Such
kind of mechanisms are conventionally called 3-RCC to
indicate the sequence of the joints in the three (identical)
limbs,starting from the fixed frame and moving towards
the platform.It can be easily seen that the described archi-
tecture is characterised by 3 dof’s in the space;in the gen-
eral case spatial translations are coupled with changes of
orientation of the platform.Nevertheless,if the following
two geometric conditions simultaneously hold,the plat-
form translates in space without rotating:
(i) the axes of the revolute and cylindrical joints of ith
limb are parallel to the same unit vector
^
t
i
,for
i =1,2 and 3;
(ii) the limbs are arranged so that
^
t
i

^
t
j
for i 5j (i,j =1,
2 and 3).
In the following sections,it will be made reference to the
remarkable case of a symmetric mechanism,with the axes
of the three revolute pairs forming an equilateral triangle
on the fixed base;in the same manner,another equilateral
triangle is formed on the moving platform by the axes of
the cylindrical pairs;moreover,the legs are perpendicular
to the joints connecting the two bases.It is further observed
that,if the 3-RCC mechanism is assembled for pure trans-
lations,the two parts of each leg do not turn around the
cylindrical pair,which in this case could be substituted
by a prismatic joint,giving rise to the 3-RPC overcon-
strained mechanism:the kinematics of the two 3-RPC
and 3-RCC mechanisms is absolutely identical for this con-
figuration,and the actual choice between the two chains is
a matter of machine design considerations.It must also be
noted that in practical designs the other cylindrical pair
(connecting the limb with the moving platform) will be
probably realised by means of a revolute and a prismatic
joint,with coincident or parallel axes,to improve machine
stiffness.
For the following analytical developments,it is conve-
nient to define the Cartesian frames shown in Fig.3:two
parallel reference systems Oð
^
x;
^
y;^zÞ and Pð
^
u;
^
v;
^
wÞ are
attached to the centres of the fixed and moving platforms
respectively,with ^z;
^
w normal axes and
^
x passing through
the first ground revolute joint;therefore p ¼ OP
!
specifies
the position of the moving platform with reference to the
fixed frame.a
i
¼ OA
i
!
is the distance from the centre O to
the sides of the fixed triangle,similarly b
i
¼ PC
i
!
is the dis-
tance from the centre P to the sides of the moving triangle;
B
i
is the attachment point of ith limb with the moving plat-
form,therefore t
i
¼ t
i
^
t
i
¼ B
i
C
i
!
represents the sliding of the
upper cylindrical pair while d
i
¼ d
i
^
d
i
¼ A
i
B
i
!
is the vector
length of ith limb.It is noted that t
i
is orthogonal to the
vectors a
i
,b
i
,d
i
and to the ^z axis:therefore d
i
lies in the
Fig.2.The 3-RCC parallel mechanism.
M.Callegari et al./Mechatronics 16 (2006) 589–605 591
plane generated by a
i
and the ^z axis.Finally,in correspon-
dence of each ith limb,two coordinate systems are intro-
duced (see Fig.3(b)):the frame A
i
ð
^
a
i
;
^
t
i
;
^
z
i
Þ  A
i
ð
^
x
i
;
^
y
i
;^z
i
Þ
is attached to the fixed base in such a way that
^
a
i
;
^
t
i
;
^
z
i
have
the same direction and orientation of vectors a
i
,t
i
and ^z
axis,respectively;the frame D
i
ð
^
k
i
;
^
t
i
;
^
d
i
Þ has the same origin
of previous one,with the
^
d
i
unit vector pointing along the
limb itself and the
^
k
i
unit vector arranged accordingly.
Therefore,since frame A
i
ð
^
a
i
;
^
t
i
;
^
z
i
Þ is rotated by an angle
u
i
around the ^z axis with respect to the Oð
^
x;
^
y;^zÞ fixed frame
and D
i
ð
^
k
i
;
^
t
i
;
^
d
i
Þ is rotated by an angle h
i
around the
^
t
i
axis
with respect to the A
i
ð
^
a
i
;
^
t
i
;
^
z
i
Þ fixed frame,the following
rotation matrices can be defined:
O
R
A
i
¼ Rot
z
ð/
i
Þ ¼
c/
i
s/
i
0
s/
i
c/
i
0
0 0 1
2
6
4
3
7
5
;
A
i
R
D
i
¼ Rot
y
ðh
i
Þ ¼
ch
i
0 sh
i
0 1 0
sh
i
0 ch
i
2
6
4
3
7
5
ð1–2Þ
For the described symmetric configuration some simpli-
fications occur:a
1
=a
2
=a
3
=a,b
1
=b
2
=b
3
=b,/
1
=0,
/
2
=120,/
3
=240;it must be noted that the dimensions
of the sides of the two platforms,a and b,do not appear in
kinematic and dynamic relations,but only their difference
is relevant,e =a b,which can be considered a proper
scale factor of the 3-RCC mechanism.
3.Inverse dynamics model
3.1.Dynamic modelling of multi-body systems
It is recalled that the inverse dynamics analysis assumes
the knowledge of mechanism’s motion and finds the corre-
sponding torques/forces that must be developed by actu-
ated joints to produce such a motion;in direct dynamics
analysis,on the other hand,the active torques/forces are
given and the resulting motion of the mechanism must be
calculated as a function of time.In the case of complex mul-
tibody systems,if d indicates the vector of displacements of
active joints and p the vector of system’s configuration
coordinates in task space,the model of machines’ dynamics
is usually written in the joint space in the following
form:
s ¼ MðdÞ

d þCðd;
_
dÞ þDðd;
_
dÞ þGðdÞ JðdÞ
T
F
¼ MðdÞ

d þAðd;
_
dÞ JðdÞ
T
F ð3Þ
where all the terms appearing in (3) have been defined in
the previous nomenclature section.It is apparent that,if
system’s motion is assigned in the task space,as is usually
the case,the inverse kinematics transform must be per-
formed before inverse dynamics analysis can be executed.
The availability of a good inverse dynamics model is
very important for the study of mechatronic devices,since
it allows for a concurrent design of mechanical structure
and control system.This is even more evident in the case
of in-parallel actuated mechanisms,that are characterised
by highly variable dynamic performances:in fact,they
depend upon the geometric configuration of the machine
itself (e.g.position of joints,links’ length,etc.) but,once
the mechanical architecture has been fixed,they still vary
very much according to the different operating points in
the workspace,to the prescribed cycle-times of the task,
and so on.Through inverse dynamics simulation,there-
fore,it is possible to choose the most suitable actuation
that grants the required performances to the machine and
also assess that the mechanical structure under design is
able to bear the dynamic loads developed during the most
severe working conditions.
In the present case,moreover,a dynamic model of the 3-
RCC mechanismwas required for the synthesis of a hybrid
position/force controller for robot’s prototype.It will be
explained in the following paragraphs that such a control
scheme is based on the on-line evaluation of an inverse
dynamics model written in the task space,i.e.correlating
the forces and moments acting at tool’s tip with robot’s
Cartesian motion:
s
x
¼ M
x
ðpÞ

p þC
x
ðp;
_
pÞ þD
x
ðp;
_
pÞ þG
x
ðpÞ F
¼ M
x
ðpÞ

p þA
x
ðp;
_
pÞ F ð4Þ
where s
x
=J
T
s are the forces/moments acting at the end-
effector and corresponding to the actual efforts at the actu-
ated joints.
In case the dynamic model is not used for simulation but
is rather computed on-line by robot’s controller,the com-
putational efficiency of the algorithm becomes a critical
issue.Fromthis point of view,a comparison of the schemes
(3) and (4) shows that the last one is more efficient than (3)
since it does not require the on-line evaluation of the
inverse Jacobian matrix (but it must be noted that it needs
the computation of direct kinematics).As a matter of fact,
the key issue here is that PKMs’ dynamics is ‘‘naturally’’
expressed in the task space and its mapping into the joint
space needs additional computations,as shown in the
following Section 3.4.
Many approaches are available for the dynamic model-
ling of multi-body mechanical systems [18–20]:among
Fig.3.Reference frames and vector loop closure of a typical limb.
592 M.Callegari et al./Mechatronics 16 (2006) 589–605
them,the traditional Newton–Euler formulation and the
Lagrangian approach are still the most used in robot
mechanics but recently the use of screw theory has been
introduced too [21].Anyway,the dynamical analysis of
parallel mechanisms is complicated by the high number
of links and constraints,that often lead to a high number
of equations and therefore to a poor computational effi-
ciency [22];on the other hand,the inherent complexity of
PKMs is the main reason why only few dynamic models
of parallel robots are presently available in scientific litera-
ture in symbolic form[23–25].In 1993 Zhang and Song [26]
proposed the use of the virtual work principle for the
inverse dynamic modelling of open-loop manipulators,
then in 1998 Wang and Gosselin [27] first applied the
method to parallel kinematics machines:since constraint
forces and moments do not need to be computed,this
approach leads to faster computational algorithms,which
is an important advantage for the purpose of robot control.
The virtual work principle states that a mechanical sys-
tem is under equilibrium if and only if the virtual work
done by all the forces and moments acting on the mecha-
nism vanishes for any virtual displacement of the system.
It is recalled that virtual displacements are infinitesimal
changes in system’s configuration that are compatible with
all the constraints imposed on the system at a given instant
in time.In the model of the 3-RCC mechanism that is pre-
sented in the article,it is assumed that frictional forces at
the joints are negligible,so the virtual work produced by
the constraint forces at the joint is zero and only active
forces (including the gravitational effects) must be
accounted in the developments.
3.2.Equations of motion
The inverse dynamics model will be obtained directly in
the task space,without any need of further kinematic trans-
forms;the approach used by Tsai in [24] will be followed,
based on the following steps:
• robot’s inverse kinematics is solved;
• limbs’ Jacobian matrices are worked out;
• the wrenches of applied and inertia forces are calculated;
• the dynamic model is formulated and solved.
In the derivation of the model,the notation introduced
in the nomenclature section is assumed (see Fig.4).It is
noted that all the forces and moments acting on the links
are reduced at the corresponding centres of mass and that
v
p
¼
_
p is the velocity of the centre of mass of the moving
platform.
Taking into account that the platform performs only
pure translations in space,the principle of virtual work
can be written for the present case:
dðdÞ
T
s þdðpÞ
T

f
p
þ
X
3
i¼1
X
2
j¼1
dðn
ji
Þ
T
F
ji
 
!
¼ 0 ð5Þ
where the six-dimensional vector n
ji
gathers the position
and orientation of the cylinder (j =1) or piston (j =2) of
the ith limb and F
ji
is the corresponding wrench:
F
ji
¼
:

f
ji

n
ji
"#
¼
m
ji
ðg 
_
v
ji
Þ
I
ji
_
x
i
x
i
ðI
ji
x
i
Þ
 
ð6Þ
It is noted that (5) requires that all the infinitesimal rota-
tions in n
ji
are expressed as functions of the angular velo-
city of the respective link,i.e.:
dn
ji
¼
v
jix
v
jiy
v
jiz
x
ix
x
iy
x
iz
½ 
T
 dt
Since all the virtual displacements in (5) must be com-
patible with the constraints,they are not independent but
can be rather expressed as functions of an independent
set of Lagrangian coordinates.If the displacements dp of
the end-effector are chosen for this purpose,the follow-
ing relations must hold among the introduced virtual
displacements:
dðdÞ ¼ J
p
dðpÞ;dðn
ji
Þ ¼ J
ji
dðpÞ ð7a-bÞ
where J
p
is the 3 · 3 manipulator Jacobian matrix defined
as usual for parallel mechanisms,while J
ji
is the 6 · 3 link
Jacobian matrix of the ith cylinder (j =1) or piston (j =2).
In this way from (5) it is obtained
dðpÞ
T
J
T
p
s þ

f
p
þ
X
3
i¼1
X
2
j¼1
J
T
ji
F
ji
! !
¼ 0 ð8Þ
Since (8) is valid for any virtual displacement d(p) of the
platform,it follows that
J
T
p
s þ

f
p
þ
X
3
i¼1
X
2
j¼1
J
T
ji
F
ji
!
¼ 0 ð9Þ
Eq.(9) completely describes manipulator’s dynamics;
then the inverse dynamics problem is solved by simply tak-
ing out the vector of actuators’ forces s in non-singular
configurations:
s ¼ J
T
p

f
p
þ
X
3
i¼1
X
2
j¼1
ðJ
T
ji
F
ji
Þ
! !
ð10Þ
All the elements in (10) will be worked out soon,but
basic kinematic relations must be stated first.
Fig.4.Geometrical parameters of a typical limb.
M.Callegari et al./Mechatronics 16 (2006) 589–605 593
3.3.Kinematic relations
The reader is addressed to Ref.[15] for a complete kine-
matic study of the 3-RCC mechanism,including a discus-
sion of the singular configurations:in this section only a
few steps of the analysis are outlined,to recall the kine-
matic relations that are used in the development of the
dynamic model.In particular,the motion of the limbs will
be expressed as a function of platform’s motion,and the six
matrices J
ji
,j =1,2,i =1,2,3,introduced in (7b),will be
eventually obtained.
With reference to previous Fig.3(a),three closure equa-
tions can be written,one for each limb connecting the
translating platform to the base:
p þb
i
¼ a
i
þd
i
þt
i
ð11Þ
By differentiating both sides of (11),the velocity of plat-
form’s centre can be expressed independently as a function
of the three limbs’ motion by
_
p ¼ d
i
x
i

^
d
i
þ
_
d
i
^
d
i
þ
_
t
i
^
t
i
ð12Þ
Now the angular velocity of ith limb,x
i
,can be
extracted by projecting both sides of (12) along the direc-
tion of the axis
^
k
i
and by using simple vector algebra
identities:
x
i
¼
_
p 
^
k
i
d
i
^
t
i
ð13Þ
Taking a dot product of both sides of (12) with
^
d
i
,it is
obtained
_
d
i
¼
^
d
i

_
p ð14Þ
which,written three times,one for each i =1,2,3,leads to
the compact form:
_
d ¼ J
p
_
p ð15Þ
that defines the Jacobian matrix J
p
:
J
p
¼
^
d
T
1
^
d
T
2
^
d
T
3
2
6
4
3
7
5
The position vectors of the centres of mass of cylinder,
r
1i
,and piston,r
2i
,of ith limb,see Fig.4,are given by
the relations:
r
1i
¼ a
i
þc
1
^
d
i
r
2i
¼ a
i
þðd
i
c
2
Þ
^
d
i
that,once differentiated,provide the velocities of the two
centres of mass
v
1i
¼ c
1
x
i

^
d
i
ð16Þ
v
2i
¼ ðd
i
c
2
Þx
i

^
d
i
þ
_
d
i
^
d
i
ð17Þ
Turning to accelerations,they are worked out by direct
derivation of velocity relations,as is usually done;for
instance,by deriving (12) it is obtained

p ¼ d
i
_
x
i

^
d
i
þd
i
x
i
ðx
i

^
d
i
Þ þ2
_
d
i
x
i

^
d
i
þ

d
i
^
d
i
þ

t
i
^
t
i
ð18Þ
By dot multiplying both sides of (18) by
^
k
i
,the angular
acceleration of ith limb is taken out
_
x
i
¼
1
d
i
ð

p 
^
k
i
2
_
d
i
x
i
Þ
^
t
i
ð19Þ
On the other hand,if both sides of (18) are projected
along the direction of
^
d
i
and simple vector algebra identi-
ties are used once again,the linear acceleration of ith limb,

d
i
,is obtained:

d
i
¼

p 
^
d
i
þd
i
x
2
i
that can be expressed as function of platform’s motion by
simply taking (13) into consideration:

d
i
¼
^
d
T
i


p þ
^
k
T
i

_
p
 
2
d
i
Finally,the accelerations of the centres of mass of cylin-
der and piston of ith limb can be obtained by deriving once
again (16) and (17),respectively:
_
v
1i
¼ c
1
_
x
i

^
d
i
þc
1
x
i
ðx
i

^
d
i
Þ
_
v
2i
¼ ðd
i
c
2
Þð
_
x
i

^
d
i
Þ þðd
i
c
2
Þx
i
ðx
i

^
d
i
Þ
þ2
_
d
i
ðx
i

^
d
i
Þ þ

d
i
^
d
i
In order to find computable expressions for the matrices
J
ji
,all the kinematic vectors worked out in previous para-
graphs must be computed in a specific reference frame:
the local frame D
i
will be used to this aim,therefore an
expression for its unit vectors will be found first.Taking
into account the elemental transformations defined in (1)
and (2),the total rotation between local frames D
i
and
global frame O is easily obtained (see Fig.3(b)):
O
R
D
i
¼
O
R
A
i
A
i
R
D
i
¼
c/
i
ch
i
s/
i
c/
i
sh
i
s/
i
ch
i
c/
i
s/
i
sh
i
sh
i
0 ch
i
2
6
4
3
7
5
¼
^
k
i
^
t
i
^
d
i
 
ð20Þ
which,by definition,provides the expression of the unit
vectors of D
i
in the global frame O.It is noted that in
the following sections the notation v will both indicate
the vector v or its expression in the global frame O,while
a superscript will be used to indicate the projection of v
in any other reference frame.It is recalled that,for the
symmetric architecture under study,/
1
=0,/
2
=120,
/
3
=240,while the three articular coordinates h
i
are given
in function of the Cartesian coordinates of the end-effector
p ¼
p
x
p
y
p
z
 
T
by [15]
sh
i
¼
^
d
i

^
a
i
¼
p
x
cu
i
þp
y
su
i
e
ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ðp
x
cu
i
þp
y
su
i
eÞ
2
þp
2
z
q
ch
i
¼
^
d
i

^
z
i
¼
p
z
ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ðp
x
cu
i
þp
y
su
i
eÞ
2
þp
2
z
q
594 M.Callegari et al./Mechatronics 16 (2006) 589–605
Now,taking into consideration (20),the angular veloc-
ity of ith limb,x
i
,can be written in the D
i
frame:
D
i
x
i
¼
1
d
i
0
13
^
k
T
i
0
13
2
6
4
3
7
5

_
p ð21Þ
where the two vectors
_
p and
^
k
T
i
are assigned or computed in
the global frame O;in the same manner,by substituting
(21) and (14) into (16) and (17),the velocities v
ji
can be
written in the D
i
frame:
v
1i
¼
c
1
d
i
^
k
T
i
0
13
0
13
2
6
6
4
3
7
7
5
_
p
v
2i
¼
ðd
i
c
2
Þ
d
i
^
k
T
i
0
13
^
d
T
i
2
6
6
6
6
4
3
7
7
7
7
5
_
p
that can be easily computed by using the relations already
found in (20).The angular acceleration of ith limb,
_
x
i
,gi-
ven by (19),can be expressed in the local D
i
frame by using
the relations (20),(21) and (14):
D
i
_
x
i
¼
1
d
2
i
0
d
i
^
k
T
i

p 2
^
d
T
i
_
p
 
^
k
T
i
_
p
 
0
2
6
6
4
3
7
7
5
ð22Þ
Finally,by taking into account the relations (21),(14)
and (22),the accelerations
_
v
ji
can be evaluated in the D
i
frame by
D
i
_
v
1i
¼
c
1
d
2
i
d
i
^
k
T
i

p 2
^
d
T
i
_
p
 
^
k
T
i
_
p
 
0

^
k
T
i
_
p
 
2
2
6
6
6
4
3
7
7
7
5
D
i
_
v
2i
¼
d
i
c
2
d
i
^
k
T
i

p þ2
c
2
d
2
i
^
d
T
i
_
p
 
^
k
T
i
_
p
 
0
^
d
T
i

p þ
c
2
d
2
i
^
k
T
i
_
p
 
2
2
6
6
6
6
6
4
3
7
7
7
7
7
5
Now it is easy to find the
D
i
J
ji
Jacobian matrices that
relate limbs’ motion (expressed in the D
i
frame) to plat-
form’s velocity
_
p (given in the global frame):
D
i
v
1i
D
i
x
i
 
¼
D
i
J
1i
_
p )
D
i
J
1i
¼
1
d
i
c
1
^
k
T
i
0
13
0
13
0
13
^
k
T
i
0
13
2
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
5
D
i
v
2i
D
i
x
i
 
¼
D
i
J
2i
_
p )
D
i
J
2i
¼
1
d
i
ðd
i
c
2
Þ
^
k
T
i
0
13
d
i
^
d
T
i
0
13
^
k
T
i
0
13
2
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
5
3.4.Computation of dynamic terms
All the terms appearing in the dynamic model (10) can
now be evaluated:
s ¼ J
T
p


f
p
þ
X
3
i¼1
D
i
J
T
1i
D
i
F
1i
þ
D
i
J
T
2i
D
i
F
2i


!
ð23Þ
The resultant of the forces applied to the moving plat-
form are directly given in the global frame:

f
p
¼ ½f
e
þm
p
g m
p
_
v
p
 ð24Þ
If it is assumed that no other external force is applied to
the system,the resultant of the forces applied at the centre
of mass of the cylinder (j =1) or piston (j =2) of the
ith limb,already given in (6),are computed in the D
i
frame
by
D
i
F
ji
¼
D
i

f
ji
D
i

n
ji
"#
¼
m
ji
O
R
T
D
i
g m
ji
D
i
_
v
ji

D
i
I
ji
D
i
_
x
i

D
i
x
i

D
i
I
ji
D
i
x
i


"#
ð25Þ
By substituting (24) and (25) in (23),and taking into
account the values already found for the links’ Jacobians
D
i
J
ji
,after cumbersome mathematical passages it is obtained:
s ¼ F
d
J
T
p
 ð

f
p
þTF
k
Þ ð26Þ
where the newly introduced vectors F
d
,F
k
and the matrix T
are defined by
F
d
¼
:
f
21;d
f
22;d
f
23;d
2
6
4
3
7
5
F
k
¼
:
c
1
f
11;k
þn
11;t
þðd
1
c
2
Þf
21;k
þn
21;t
d
1
c
1
f
12;k
þn
12;t
þðd
2
c
2
Þf
22;k
þn
22;t
d
2
c
1
f
13;k
þn
13;t
þðd
3
c
2
Þf
23;k
þn
23;t
d
3
2
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
5
T ¼
:
^
k
1
^
k
2
^
k
3
 
with
f
2i;d
¼ m
2i
O
R
D
i
;33
g m
2i
^
d
T
i

p þ
c
2
d
2
i
^
k
T
i
_
p
 
2
!
ð27Þ
f
1i;k
¼ m
1i
O
R
D
i
;31
g m
1i
c
1
d
2
i
d
i
^
k
T
i

p 2
^
d
T
i
_
p
 
^
k
T
i
_
p
  
ð28Þ
M.Callegari et al./Mechatronics 16 (2006) 589–605 595
f
2i;k
¼ m
2i
O
R
D
i
;31
g m
2i
d
i
c
2
d
i
^
k
T
i

p þ2
c
2
d
2
i
^
d
T
i
_
p
 
^
k
T
i
_
p
 
!
ð29Þ
n
1i;t
¼ 
D
i
I
1i;22
1
d
2
i
d
i
^
k
T
i

p 2
^
d
T
i
_
p
 
^
k
T
i
_
p
  
ð30Þ
n
2i;t
¼ 
D
i
I
2i;22
1
d
2
i
d
i
^
k
T
i

p 2
^
d
T
i
_
p
 
^
k
T
i
_
p
  
ð31Þ
The symbol
i
I
ji,22
in (30) and (31) represents the element
of the
i
I
ji
matrix placed in the second row and second col-
umn;in the same manner,
O
R
D
i
;33
¼ cos h
i
and
O
R
D
i
;31
¼
sinh
i
,appearing in (27)–(29) respectively,are two ele-
ments of the
O
R
D
i
matrix defined in (20).It is noted that,
according to the notation used for the newly introduced
quantities,the subscripts k,t and d indicate the compo-
nents of such quantities along the directions of the
^
k
i
;
^
t
i
;
^
d
i
axes,respectively.If both sides of (26) are multi-
plied by J
T
p
it is obtained:
J
T
p
s ¼ J
T
p
F
d


f
p
TF
k
ð32Þ
To express the dynamic model of the robot in the task
space form (4),all the terms in (32) that multiply

p,
_
p
and g are gathered together,so that it is finally obtained
s
x
¼ J
T
p
s ¼ M
x

p þC
x
þG
x
f
e
ð33Þ
where the mass matrix M
x
and the vectors of dynamic and
gravitational terms C
x
and G
x
take the following form:
M
x
¼J
T
p
m
21
^
d
T
1
m
22
^
d
T
2
m
23
^
d
T
3
2
6
6
4
3
7
7
5
þm
p
I
33
þT
T
c
2
1
d
1
m
11
þ
ðd
1
c
2
Þ
2
d
1
m
21
þ
1
I
11;22
þ
1
I
21;22
( )
^
k
T
1
d
1
c
2
1
d
2
m
12
þ
ðd
2
c
2
Þ
2
d
2
m
22
þ
2
I
12;22
þ
2
I
22;22
( )
^
k
T
2
d
2
c
2
1
d
3
m
13
þ
ðd
3
c
2
Þ
2
d
3
m
23
þ
3
I
13;22
þ
3
I
23;22
( )
^
k
T
3
d
3
2
6
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
7
5
ð34Þ
C
x
¼C
ðcentrÞ
x
þC
ðCorÞ
x
G
x
¼J
T
p
O
R
D
1
;33
m
21
O
R
D
2
;33
m
22
O
R
D
3
;33
m
23
2
6
4
3
7
5
g
0
0
m
p
2
6
4
3
7
5
g

ðc
2
d
1
Þm
21
c
1
m
11
d
1
O
R
D
1
;31
ðc
2
d
2
Þm
22
c
1
m
12
d
2
O
R
D
2
;31
ðc
2
d
3
Þm
23
c
1
m
13
d
3
O
R
D
3
;31
2
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
5
g ð35Þ
with
C
ðcentrÞ
x
¼J
T
p
c
2
d
2
1
m
21
^
k
T
1
_
p
 
2
c
2
d
2
2
m
22
^
k
T
2
_
p
 
2
c
2
d
2
3
m
23
^
k
T
3
_
p
 
2
2
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
5
ð36Þ
C
ðCorÞ
x
¼
2fðc
2
d
1
Þc
2
m
21
þc
2
1
m
11
þ
1
I
11;22
þ
1
I
21;22
g
^
d
T
1
_
p
 
^
k
T
1
_
p
 
d
3
1
2 ðc
2
d
2
Þc
2
m
22
þc
2
1
m
12
þ
2
I
12;22
þ
2
I
22;22

^
d
T
2
_
p
 
^
k
T
2
_
p
 
d
3
2
2 ðc
2
d
3
Þc
2
m
23
þc
2
1
m
13
þ
3
I
13;22
þ
3
I
23;22

^
d
T
3
_
p
 
^
k
T
3
_
p
 
d
3
3
2
6
6
6
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
7
7
7
5
ð37Þ
The term I
3·3
,introduced in (34),represents the 3 · 3
identity matrix;moreover,as already done before,the
notation
i
I
ji,hk
indicates the element of the
i
I
ji
matrix that
is placed in the hth row and kth column.
Eq.(33) represents manipulator’s dynamic model in the
task space:J
T
p
s is the end-effector force that balances joint
forces s;the 3 · 3 mass matrix M
x
,in the form given by
(34),depends explicitly on limbs’ displacement d and
implicitly on platform’s position p (by means of the unit
vectors
^
k
i
;
^
t
i
;
^
d
i
).The 3 · 1 vector C
x
,on the other hand,
collects all dynamic contributions,that are separately
defined as coming from centrifugal force,in (36) and Cori-
olis force,in (37);finally,the effect of gravitational force is
accounted in (35).Therefore,in the present case,the
inverse dynamics problem assumes the knowledge of the
spatial (translational) motion of the mechanism,p(t),while
the corresponding thrust s(t) of the linear actuators driving
the three limbs has to be computed.
If the dynamic model of the robot is needed in the joint
space,(33) can be easily transformed in the appropriate
form,at the expense of heavy additional computations;in
fact,by deriving (15),the acceleration of the end-effector
can be expressed in function of internal coordinates d:

p ¼ J
1
p

d J
1
p
_
J
p
J
1
p
_
d ð38Þ
and by substituting (38) into (33) it is obtained
s ¼ J
T
p
M
x
J
1
p

d J
T
p
M
x
J
1
p
_
J
p
J
1
p
_
d þJ
T
p
C
x
ðp;
_

þJ
T
p
G
x
ðpÞ J
T
p
f
e
that can be written in the final form
s ¼ M

d þCþGJ
T
p
f
e
with the positions
M ¼ J
T
p
M
x
J
1
p
C ¼ J
T
p
M
x
J
1
p
_
J
p
J
1
p
_
d þJ
T
p
C
x
G ¼ J
T
p
G
x
These passages prove also the already mentioned con-
venience of evaluating manipulator’s dynamics in the task
space,with respect to joint-space schemes.
596 M.Callegari et al./Mechatronics 16 (2006) 589–605
3.5.Computing efficiency and model refinements
If the inverse dynamics model of a robot is used by the
algorithms of the controller,its efficiency is very important
and must be carefully assessed;this is usually done by eval-
uating the number of mathematical operations involved in
the model,as suggested first by Lin and Song for parallel
manipulators [22].
Table 1 presents the computational burden of the
obtained algorithms for the inverse dynamics evaluation
of the 3-RCCrobot:it is assumed that the end-effector’s tra-
jectory is assigned and that the model is evaluated in the task
space.The resulting computing costs are quite satisfactory,
since they are comparable with the corresponding efforts of
3-dof serial mechanisms:this result is not unexpected,due to
the efficiency of the principle of virtual work and to the
simple kinematic structure of the parallel mechanism.
It is observed that both mass matrices M
x
and M are
symmetric and positive definite;furthermore,two proper
square matrices B
x
and B can always be found such that
the vectors C
x
and C are decomposed in the following way:
C
x
ðp;
_
pÞ ¼ B
x
ðp;
_

_
p;Cðd;
_
dÞ ¼ Bðd;
_

_
d
with B
x
and B linear in
_
p and
_
d,respectively.It can be dem-
onstrated that N
x
¼
_
M
x
2B
x
and N ¼
_
M 2B are skew-
symmetric matrices [28],which is an important property
to grant the stability of many classic control schemes;
moreover,from the principle of conservation of energy
by Hamilton it follows that
_
p
T
N
x
ðp;
_

_
p ¼ 0;
_
d
T
Nðd;
_

_
d ¼ 0
A method sometimes used to simplify the dynamic
model,and therefore to enhance the computational effi-
ciency,is to neglect the six terms of the mass matrix that
lie outside the main diagonal,that is usually justified by
their relative magnitude.In this case the simulations that
have been performed showed that the closer the end-effec-
tor is to singular configurations,the greater is the relative
influence of off-diagonal elements;if the isotropic point is
approached,the off-diagonal elements tend to vanish.
Fig.5,for instance,plots the values of mass matrix’ ele-
ments for all workspace points of two different horizontal
planes (robot’s parameters have been taken by the virtual
prototype shown in Fig.1):Fig.5(a) shows the elements
when the plane at height z =0.1 m is swept,with z =0
being a singular plane;Fig.5(b),instead,shows the plane
at height z =0.4 m,with x =y =0,z =0.35 m being the
isotropic point.Such variability of dynamic coefficients
along the path seems also to prevent another possible sim-
plification of PKMs’ dynamics,proposed in [29],which is
based upon considering constant all the elements in (34):
this is also due to the relatively large workspace of the stud-
ied machine.
A sensitivity study has also been performed to sepa-
rately analyse the contribution of platform and limbs to
robot’s dynamics and eventually leave out negligible terms
once again,like proposed,for instance,by Fichter [30]:
unfortunately,it came up that for usual designs the three
limbs and the platform influence the overall behaviour of
the robotic mechanism almost equally,as already observed
by other researchers for the Stewart–Gough platform [23];
this result clearly highlights the necessity to consider legs
inertia in the dynamic formulation,therefore preventing
further simplifications.
Moreover,the robot is actuated by means of revolving
motors and lead screws that control the limbs’ adjustable
lengths:in this case,much energy is accumulated in the
masses spinning around limbs’ axes (screws,motors’
rotors,etc.) and therefore the model has to be modified
accordingly.The resulting system becomes a little more
complicated,since one more link for each limb has to be
considered,like shown in Fig.6,but the same scheme out-
lined in previous paragraphs can still be used to work out
the dynamic equations.The simulations show that such
contribution cannot generally be neglected,since it may
amount up to some 30% of total kinetic energy,due to
the high speed reduction of the screw/nut pairs.The con-
siderations and results presented in the following sections
make reference to the refined model just introduced.
4.Control
A robotic operation characterised by interaction with
the environment can be sub-divided into a sequence of ele-
mental tasks grouped into the following three phases:
1.Free motion,with the end-effector tracking the desired
trajectory in the space.
2.Transition phase,when the contact with the environment
is first established.
3.Constrained motion,when the robot must perform the
assigned task with simultaneous position and force
control.
The parallel structure of the 3-RCC machine suggests to
plan robot’s path in the joint space,since Cartesian space
schemes would require the on-line evaluation of the com-
plex forward kinematics;on the other hand,if model based
controllers are used,the complexity of joint-space inverse
dynamics would make the related algorithms computation-
ally expensive and,hence,less attractive than the corre-
sponding task-space schemes.
Table 1
Computational effort for the evaluation of the inverse dynamics model
+/
*
/ Trigonometric
operations
Jacobian J
p
6 21 12
Inverse of transposed Jacobian J
T
p
15 27 0
Mass matrix M
x
60 126 48
Dynamic and gravitational
vectors C
x
and G
x
60 142 9
Final computations 18 27 0
Total number of operations 153 343 69
M.Callegari et al./Mechatronics 16 (2006) 589–605 597
Fig.5.Values of mass matrix’ elements for points lying in different planes:height z =0.25 m(a) and z =0.1 m(b) (note the different scale of the two sets
of plots).
Fig.6.Model of limbs’ actuation.(1) cylinder (and motor’s stator),(2) screw nut (and piston),(3) screw and motor’s rotor.
598 M.Callegari et al./Mechatronics 16 (2006) 589–605
Modelling of the transition phase is very important to
enable effective computer designs of position/force control-
lers [31] but the complexity of the problem deserves further
research on the topic.On the other hand,important results
can be found in literature on the subjects of unconstrained
motion control and position/force control,with relevant
industrial results.Nevertheless,only very few studies are
actually available on the control of parallel mechanisms,
therefore the mechatronic approach,trying to take all the
advantages that can result from an integrated design of
the system [32],should be stressed even more in this case.
To this aim,a virtual prototyping environment has been
developed to study by computer simulation the perfor-
mances of the 3-RCC robot under design,see Fig.7.
Machine’s direct dynamics has been modelled by using the
multibody code Adams while the model-based controller,
evaluating inverse dynamics,has been written by Matlab/
Simulink,duly interfaced to previous package by the
Adams/Controls module.The mechanical design of the
machine has been developed by means of the CADprogram
SolidEdge andassessedbythe FEMpackage Ansys,thenthe
3Dgeometry has been exported to the Adams environment.
The simulations have shown that the required actuation
forces are very sensitive to manipulator’s geometry;there-
fore,instead of relying on the controller for the search of
optimal path-planning schemes,as done by some research-
ers,the problem has been dealt beforehand,through a
proper optimisation of machine kinematics (the condition
number of J
T
J has been kept below the value of 5 through-
out the workspace).On the other hand,it has been
assumed that the computational power of the controller
is used for the execution of compensating model-based
algorithms,granting quite uniform performances to the
manipulator.
Fig.8(a) shows a view of the platform in the Adams
environment,that was also used as a further verification
of the correctness of the inverse dynamics model previously
worked out symbolically.Fig.8(b) shows the final version
of the machine,that has been optimised for stiffness and
workspace volume (about 165 l,equivalent to a cube of
55 cm sides);the moving parts weight around 66 kg,
accounting for 7 kg each limb plus 8 kg for the lumped
mass of each motor and 21 kg for the platform.The simu-
lations that are described in the following paragraphs make
reference to such machine,neglecting the effects of friction
and backlash in the joints.
4.1.Position control
A few common task-space control schemes have been
implemented to test by computer simulation the closed-
loop performances of the 3-RCC robot (e.g.PID,com-
puted torque,feed-forward compensation),see also
Fig.9.The results showed that the computed torque
(CT) method seems the most suitable algorithm for the
Fig.7.Conceptual scheme of the virtual prototyping environment.
Fig.8.Multibody model of the 3-RCC robot.
M.Callegari et al./Mechatronics 16 (2006) 589–605 599
mechanismat hand;a key argument in the choice is the fact
that this control scheme,here studied for the free naviga-
tion phase,can be easily incorporated in the force control
introduced in next paragraph,to yield a hybrid position/
force controller for the constrained motion phase.
The structure of the computed torque controller,also
shown in Fig.9(b),is the following:
s
x
¼ M
x
ðpÞ  u þA
x
ðp;
_
pÞ ð39Þ
u ¼

p
d
þK
p
 ðp
d
pÞ þK
d
 ð
_
p
d

_
pÞ ð40Þ
with p
d
desired robot’s task-space position and K
p
,K
d
suitable gain matrices.The computation of actual driving
forces s =J
T
s
x
is then straightforward.Control actions
(39) and (40),taking into consideration system’s dynamics
(4),lead to the following second-order error dynamics:

e
x
þK
d

_
e
x
þK
p
 e
x
¼ 0
having defined the task-space error:e
x
=p
d
p.Of course
if the two gain matrices K
p
and K
d
are chosen diagonal,the
system is completely uncoupled and it is decomposed into
the following three independent equations:

e
xi
þk
di

_
e
xi
þk
pi
 e
xi
¼ 0
with i =x,y,z.
Fig.9.Task-space position control schemes:PID (a) and computed torque (b).
Fig.10.Time evolution of positional error in Cartesian space (a) and required torques (b) for PID and CT controllers.
600 M.Callegari et al./Mechatronics 16 (2006) 589–605
Fig.10(a) compares the behaviour of the two schemes
shown in Fig.9 when the platformis subject to a rapid ver-
tical movement starting from point P
1
=(0,0,0.52) m and
stopping at point P
2
=(0,0,0.15) m;the cycle is completed
in 0.5 s by using a trapezoidal profile of velocity that is
characterised by an acceleration of 1g and a maximum
velocity of 1 m/s in the task space.The gains of the control-
lers have been tuned so that the maximum limit torques
deliverable by the motors (4.0 Nm nominal and 24.0 Nm
peak) are never overpassed.Fig.10(b) shows the torques
that are needed to track the specified trajectory (due to
the symmetrical configuration of the machine,all the axes
are subject to the same torque).The comparative simula-
tions between the conventional PID and the CT controller
show that only in extreme working conditions (i.e.high
velocities/accelerations or points close to workspace
boundary) the latter is clearly better performing than the
former in terms of position or velocity errors:nevertheless,
the CT controller is always characterised by shorter settling
times than the PIDscheme,especially for movements along
the vertical direction.
In authors’ opinion the computational burden needed
for the evaluation of the computed torque algorithmis well
compensated by the good and uniformbehaviour shown by
the robotic structure in all its workspace,when it is well
known that parallel robots usually have dynamic proper-
ties that strongly depend upon operating conditions (path
velocities and accelerations,point of the workspace or
end-effector orientation,etc.).Moreover,the limited mobil-
ity of the robot (i.e.3 dof’s of pure translation) and the
approach used to obtain the inverse dynamics equations,
led to a rather compact model that should present no prob-
lems for a real-time implementation.Finally,a sensitivity
analysis has been performed to study the robustness of
the controller to changes in system’s parameters:for rea-
sonable variations of such parameters (about 5–10% with
respect to nominal values) the overall behaviour remains
good,so the analysis supports the choice.It must also be
taken into consideration that the simple structure of the
mechanismshould not yield problems for the identification
of the geometrical and inertial parameters.
4.2.Constrained motion and force control
Only few studies are available on the subject of force
control of parallel robots:this is probably due to the fact
that PKMs are relatively new architectures with quite com-
plex kinematic and dynamic models.
A possible break-down of the control schemes that have
been proposed in literature for robots interacting with the
environment is sketched in Fig.11,where both passive
and active compliance schemes are shown [33].In the last
case,robot compliance is actively adapted to the task by
the control system which either directly controls position
and force,each one in the proper direction (hybrid posi-
tion/force control) or varies the mechanical impedance of
the end-effector according to the task (impedance control).
The hybrid controls can be explicit or implicit.Explicit
control schemes need both force and position sensors for
feedback linearization,but every direction in the task
frame is controlled either in force or in position by means
of a selection matrix.The engagement with high stiffness
environments may be critical for this control,which cannot
cope with high frequency modes;furthermore,it is scarcely
robust to variation of parameters during operation.Impli-
cit methods identify the compliance of the contact through
the force sensors and then compute the position and veloc-
ity control signals that correspond to the desired control
force.Even if some difficulties may arise in the identifica-
tion of contact forces,this class of control schemes are
characterised by a good robustness and easiness of imple-
mentation and therefore have been selected for the 3-
RCC robot.
It must be also pointed out that in situations character-
ised by great uncertainties the redundancy of information
provided by position and force sensors is not used properly
by explicit hybrid controllers,that cancel some ‘‘channels’’
by means of the selection matrix.Since this thing does not
happen in implicit schemes,that operate in-parallel the two
position and force controllers,they are more useful for
changing operating conditions.
Fig.12 shows the scheme of the control system that has
been implemented for the simulation of the 3-RCC robot.
Force control is granted by a PI loop while position control
is realised through a PDmodule:it is noted that,as already
commented before,the position reference signal is modified
by the force control variable.In the inner model-based
module,robot’s dynamics is compensated and the external
forces are taken into account as well.When the robot oper-
ates in unconstrained mode,the control systemdegrades to
the computed torque algorithm presented in previous
paragraphs.
The closed-loop behaviour of the system shown in
Fig.12 can be found by composing robot’s dynamics (4)
with the computed actuation torques:
Fig.11.Synoptic of possible control schemes for robots interacting with
the environment.
M.Callegari et al./Mechatronics 16 (2006) 589–605 601
s
x
¼ M
x
ðpÞ  u þA
x
ðp;
_
pÞ F
and the implicit servo law
u ¼

p
d
þK
Pd
_
e
P
þK
Pp
 e
p
þK
Fp
e
F
þK
Fi
Z
e
F
where e
p
=p
d
p is the position error,e
F
=F
d
F is the
force error,K
Pp
and K
Pd
are gain matrices for position con-
trol,K
Fp
and K
Fi
are gain matrices for force control.Then,
the resulting errors dynamics is governed by

e
P
þK
Pd

_
e
P
þK
Pp
 e
P
þK
Fp
 e
F
þK
Fi
Z
e
F
¼ 0 ð41Þ
Robot’s tasks are usually defined in a tool frame
T(t
1
,t
2
,n),located at the end-effector,with n axis perpen-
dicular to the contact surface:in this frame it is usually
required the tracking of a certain trajectory along the
two directions t
1
and t
2
while a force is assigned in the
direction of the normal axis n.In such a task frame,(41)
can be decomposed in the following manner:

e
P;t1
þk
Pd

_
e
P;t1
þk
Pp
 e
P;t1
¼ 0 ð42Þ

e
P;t2
þk
Pd

_
e
P;t2
þk
Pp
 e
P;t2
¼ 0 ð43Þ

e
P;n
þk
Pd

_
e
P;n
þk
Pp
 e
P;n
þk
Fp
 e
F;n
þk
Fi
Z
e
F;n
¼ 0 ð44Þ
having defined the diagonal gain matrices:K
Pp
=k
Pp
Æ I
3·3
,
K
Pd
=k
Pd
Æ I
3·3
,K
Fp
=k
Fp
Æ I
3·3
,K
Fi
=k
Fi
Æ I
3·3
.
Eqs.(42) and (43) describe the dynamic behaviour of
position error in the tangential directions t
1
and t
2
,where
the motion is unconstrained:stability is granted for any
choice of the gains k
Pd
and k
Pp
.Eq.(44),on the other hand,
describes the time evolution of both position and force
error in the constrained direction n.It has been shown
[33] that,along such direction,the system is stable if the
gains k
Pp
,k
Pd
,k
Fp
and k
Fi
satisfy the following condition:
k
Fi
< k
Pd
k
Pp
k
þk
Fp
 
where k is an estimate of contact surface stiffness.The
following values have been chosen for such parameters in
the present simulations:k
Pp
=10000 s
2
,k
Pd
=700 s
1
,
k
Fp
=0.1 kg
1
and k
Fi
=90 kg
1
s
1
;the contact has been
assumed to happen between parts with mutual stiffness
k =10 MN/m.It should be noted the high value of envi-
ronment stiffness,typical of steel,whose handling has been
allowed by the robustness of the (Matlab implemented)
control algorithms and the (Adams based) multibody sol-
ver.The contact with the environment in the normal direc-
tion has been modelled through a non-linear hardening
spring,without dampers or any other form of dissipation;
in the tangential directions a dry friction has been assumed,
with the model shown in Fig.13 (l
d
=0.16,l
s
=0.23,
v
s
=0.1 mm/s,v
d
=1 mm/s).
Several simulations have been performed to assess the
behaviour of the robot with the proposed controller:such
Fig.12.Scheme of the hybrid position/force controller.
Fig.13.Plot of the dry friction model used for the simulations.
Fig.14.Three test trajectories for constrained motion.
602 M.Callegari et al./Mechatronics 16 (2006) 589–605
tests,for instance,have verified the impact of uncertainties
or errors in the identification of the dynamics of the robot
or the robustness of the controller to disturbances arising
from force sensors.Moreover,the possibility to use some
passive compliance to adjust for orientation errors of the
end-effector has been explored and the effect of the added
compliance to dynamic performances has been evaluated
too.Different kinds of approaching trajectories have been
tested,with the constrained motion to follow a chamfered
plain surface,as shown in Fig.14:the task frame has the
normal axis n perpendicular to the local surface while the
t
1
and t
2
axes lie on it,with t
1
directed in the tangential
direction,along motion progression.A constant force of
10 N has been required in the n direction,while the other
directions are position-controlled with different velocity
and acceleration requirements,according to the kind of
trajectory.
Fig.15 shows the position error and the time evolution
of contact forces for a trajectory of type 3:initially it is
noted a significant position error in the constrained motion
direction,then during the 45 chamfer crossing it dimin-
ishes while the tangential motion error builds up.The nor-
mal contact force stabilises soon to the required value,after
a peak in correspondence of the impact,then a few oscilla-
tions are initiated by the change of surface steepness;the
small force along the t
1
direction is due to the contact fric-
tion.The same effects can also be noted in the plot of actu-
ation torques,Fig.16,that in the considered symmetrical
configuration are very similar in values and trends for all
the three motors.It has been also observed that the pro-
posed control scheme,when both position and force are
deviating from the required behaviour,gives a priority to
the force signal,so the control actions tend to reduce the
force error:such a feature can be useful in case of the
occurrence of unexpected contacts which had not been
considered at the time of ‘‘motion planning’’.
Several simulations have been performed also to try to
mate a cylindrical peg in a chamfered hole,which is a classic
benchmark test for assembly operations:the results have
been presented already [34],therefore only the conclusions
are hereby summarised.The simulations showed that the
proposed control algorithm is able to perform the peg-in-
hole assembly,always granting the contact between the
twomating parts,evenif during chamfer crossing the desired
force is not maintained;of course,if the end-effector orien-
tation is not controlled,significant misalignments between
peg’s and hole’s axes may lead to the practical impossibility
to complete the manoeuvre.Finally,it has been highlighted
that the total cycle times to complete the assembly are rather
high,i.e.the velocities must be pretty slow,especially if com-
pared with passive compliance devices;such performance is
common to all active compliance control schemes and has
been noted already by many researchers.
5.Conclusions
The present article aimed at assessing the dynamic per-
formances of the 3-RCC translation platformwhen operat-
ing in contact with the environment.The inverse dynamics
model of the machine has been worked out in the task
space by means of the principle of virtual work,leading
to very compact and computationally efficient equations:
Fig.16.Actuation torques at the joints.
Fig.15.Position error (a) and contact forces (b) in task frame.
M.Callegari et al./Mechatronics 16 (2006) 589–605 603
the model has been useful later on,during the design of the
physical prototype,e.g.for the selection of the actuation
system.Direct dynamics simulations,on the other hand,
have been performed by means of the Adams multibody
package and showed that robot’s performances vary very
much according to the geometric configuration of the
machine,to the different operating points in the workspace,
to the prescribed cycle-times of the task,and so on.Such a
behaviour could have well been expected for an in-parallel
actuated mechanismand pressed for the design of a control
system able to ‘‘shape’’ robot’s dynamics during the differ-
ent operating conditions (i.e.free navigation or constrained
motion).Therefore an implicit type of hybrid position/
force controller has been developed for the 3-RCC robot:
since the kinematics and dynamics of PKMs are ‘‘natu-
rally’’ expressed in the Cartesian space,the computational
burden usually characterising hybrid schemes for serial
robots (due to the necessity to re-write the dynamics in task
space) was not experienced in this case.
Many simulations have been performed to assess the
behaviour of the robot with the proposed controller when
performing tasks characterised by interaction with the envi-
ronment,e.g.peg-in-hole assembly;it has been observed
that,when both position andforce deviate fromthe assigned
trajectories,the proposed control scheme gives a priority to
the force channel,whose error is promptly reduced,feature
that can be very useful in case of unexpected impacts.
In conclusion,the kinematic study previously performed
showed many interesting features of the 3-RCC architec-
ture:simple topology with only relatively few joints,simple
direct kinematics equations with only one solution (by
design),convex workspace without singular configurations
(by design),high stiffness (by optimisation),etc.On the
other hand,two weak points are inherent to the concept
itself:the travelling platform is rather bulky,due to the
long strokes of the sideways and the dynamic performances
are rather poor,at least in the outer regions of the work-
space,due to the high inertia of the lumped actuators.Nev-
ertheless,the dynamic analysis commented in the article
showed that,if the robot is properly controlled,the result-
ing dynamic performances confirm the good potential of
the architecture outcoming from the kinematic study:its
field of application could range from the heavy assembly
(where high thrusts must be applied) to the handling of
bulky payloads.In the end,a physical prototype of the
machine has been built,based on the same concept but
with a different arrangement of the joints that allowed to
aim the design at high dynamics applications [35,36].
References
[1] Dai JS,Huang Z,Lipkin H.Mobility of overconstrained parallel
mechanisms.ASME J Mech Des 2006;128(1):220–9.
[2] Clavel R.Delta,a fast robot with parallel geometry.In:Proceedings
of the 18th international symposium on industrial robots,Lausanne,
France,1988.p.91–100.
[3] Neumann KE,Robot.US Patent 4732525,1986.
[4] Bonev I.The true origins of parallel robots,2003.Available from:
http://www.parallemic.org/Reviews.
[5] Gough VE,Whitehall SG.Universal tyre test machine.In:Proceed-
ings of the FISITA9th international technical congress,1962.p.117–
37.
[6] Merlet JP.Still a long way to go on the road for parallel mechanisms.
In:Proceedings of the 27th ASME biennial mechanisms and robotics
conference,Montre
´
al,2002.Available from:http://www-sop.inria.fr/
coprin/equipe/merlet/.
[7] Merlet JP.Parallel robots.2nd ed.Dordrecht:Kluwer;2005.
[8] Tsai LW,Joshi SA.Kinematics and optimization of a spatial 3-UPU
parallel manipulator.ASME J Mech Des 2000;122:439–46.
[9] Joshi SA,Tsai LW.Jacobian analysis of limited-DOF parallel
manipulators.ASME J Mech Des 2002;124(2):254–8.
[10] Di Gregorio R.Kinematics of the translational 3-URC mechanism.
In:Proceedings of the IEEE/ASME international conference on
advanced intelligent mechatronics,Como,Italy,2001.p.147–52.
[11] Zhao TS,Huang Z.A novel three-DOF translational platform
mechanism and its kinematics.In:Proceedings of the ASME design
engineering technical conferences and computers and information in
engineering,Baltimore,USA,2000,DECT2000/MECH-14101.
[12] Kim HS,Tsai LW.Design optimisation of a Cartesian parallel
manipulator.In:Proceedings of the ASME design engineering
technical conferences and computers and information in engineering,
Montreal,Canada,2002,DECT2002/MECH-34301.
[13] Kong X,Gosselin CM.Kinematics and singularity analysis of a novel
type of 3-CRR 3-DOF translational parallel manipulator.Int J Rob
Res 2002;21(9):791–8.
[14] Carricato M,Parenti-Castelli V.A family of 3-DOF translational
parallel manipulators.ASME J Mech Des 2003;125(2):302–7.
[15] Callegari M,Tarantini M.Kinematic analysis of a novel translational
platform.ASME J Mech Des 2003;125(2):308–15.
[16] Callegari M,Marzetti P.Kinematics of a family of parallel translating
mechanisms.In:Proceedings of the RAAD’03,12th international
workshop on robotics in Alpe-Adria-Danube region,Cassino,
2003.
[17] Yoshikawa T.Dynamics shaping in robot force control and artificial
reality.In:Proceedings of the international conference on advanced
robotics,Tokyo,1993.p.3–8.
[18] Moon FC.Applied dynamics:with applications to multibody and
mechatronic systems.Hoboken,NJ:Wiley;1998.
[19] Papastavridis JG.Analytical mechanics:a comprehensive treatise on
the dynamics of constrained systems.Oxford:Oxford University
Press;2002.
[20] Ko
¨
vecses J,Piedbœuf JC,Lange C.Dynamics modeling and
simulation of constrained robotic systems.IEEE/ASME Trans Mech
2003;8(2):165–77.
[21] Gallardo J,Rico JM,Frisoli A,Checcacci D,Bergamasco M.
Dynamics of parallel manipulators by means of screw theory.Mech
Mach Theory 2003;38(11):1113–31.
[22] Lin YJ,Song SM.A comparative study of inverse dynamics of
manipulators with closed kinematic chain mechanisms.J Rob Syst
1990;7:507–34.
[23] Dasgupta B,Mruthyunjaya TS.A Newton–Euler formulation for the
inverse dynamics of the Stewart platform manipulator.Mech Mach
Theory 1998;33(8):1135–52.
[24] Tsai LW.Solving the inverse dynamics of a Stewart–Gough mani-
pulator by the principle of virtual work.ASME J Mech Des
2000;122(1):3–9.
[25] Caccavale F,Siciliano B,Villani L.The Tricept robot:dynamics and
impedance control.IEEE/ASME Trans Mech 2003;8(2):263–8.
[26] Zhang CD,Song SM.An efficient method for inverse dynamics of
manipulators based on the virtual work principle.J Rob Syst
1993;10(5):605–27.
[27] Wang J,Gosselin CM.A new approach for the dynamic analysis of
parallel manipulators.Multibody Syst Dyn 1998;2:317–34.
[28] Spong MW,Vidyasagar M.Robot dynamics and control.Hoboken,
NJ:Wiley;1989 [Chapter 6].
604 M.Callegari et al./Mechatronics 16 (2006) 589–605
[29] Lee SH,Song JB,Choi WC,Hong D.Position control of a Stewart
platformusing inverse dynamics control with approximate dynamics.
Mechatronics 2003;13(6):605–19.
[30] Fichter EF.A Stewart platform-based manipulator:general
theory and practical construction.Int J Rob Res 1986;5(2):157–
182.
[31] Aghili F,Piedbœuf JC.Contact dynamics emulation for hardware-in-
loop simulation of robots interacting with environment.In:Proceed-
ings of the IEEE international conference on robotics and automa-
tion,Washington,2002.p.523–9.
[32] Pagilla PR,Yu B.Mechatronic design and control of a robot system
interacting with an external environment.IEEE/ASME Trans Mech
2002;12:791–811.
[33] Siciliano B,Villani L.Robot force control.Dordrecht:Kluwer;2000.
[34] Callegari M,Suardi A.On the force-controlled assembly operations
of a new parallel kinematics manipulator.In:Proceedings of the
Mediterranean conference on control and automation,Rhodes,2003,
IV06-02.
[35] Callegari M,Palpacelli MC,Scarponi M.Kinematics of the 3-CPU
parallel manipulator assembled for motions of pure translation.In:
Proceedings of the international conference on robotics and auto-
mation,Barcelona,2005.p.4031–6.
[36] Callegari M,Palpacelli MC.Kinematics and optimization of the
translating 3-CCR/3-RCC parallel mechanisms.In:Lenarcic J,Roth
B,editors.Advances in robot kinematics:mechanisms and
motion.Dordrecht:Springer;2006.p.423–32.
M.Callegari et al./Mechatronics 16 (2006) 589–605 605