Dynamics modelling and control of the 3-RCC translational platform

Dynamics modelling and control of the 3-RCC translational platform

Mechatronics 16 (2006) 589–605 Dynamics modelling and control of the 3-RCC translational platform Massimo Callegari *, Matteo-Claudio Palpacelli, Mar...

2MB Sizes 1 Downloads 28 Views

Mechatronics 16 (2006) 589–605

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 actuated 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 endeffector 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*

Corresponding author. Tel.: +39 071 220 4444; fax: +39 071 220 4801. E-mail address: [email protected] (M. Callegari).

0957-4158/$ - see front matter  2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.mechatronics.2006.06.001

ously growing and nowadays they are used in many different fields. From the economical point of view, the most important applications are surely the high speed manipulation and the machining or assembly operations, characterised by the development of high interaction forces. Parallel robots, for instance, can well compete with the conventional SCARA architecture when high speeds and accelerations 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 accelerations. On the other hand, heavy applications are suitable to the Tricept, whose hybrid (parallel/serial) architecture was originally conceived by Neumann [3]: in some industrial 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 incidentally noted that both the Delta and the Tricept concepts had really created major breakthroughs in robotic applications, so that their inventors, Reymond Clavel and KarlErik 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

590

M. Callegari et al. / Mechatronics 16 (2006) 589–605

Nomenclature _ € d; d; d

displacements, velocities and accelerations of actuated joints _ p; pð¼ vp Þ; € p task-space position, velocity and acceleration of end-effector J(d) manipulator’s Jacobian matrix: d_ ¼ J ðdÞ  p_ s actuation torques/forces F external forces/moments acting at the endeffector M(d), Mx(p) mass matrix of the system expressed in joint- or task-space _ Cx ðp; pÞ _ forces/torques arising from centrifugal Cðd; dÞ; and Coriolis forces expressed in joint- or taskspace _ Dx ðp; pÞ _ friction and damping forces/torques Dðd; dÞ; expressed in joint- or task-space _ Gx ðp; pÞ _ gravity forces/torques in joint-space or Gðd; dÞ; task-space _ Ax ðp; pÞ _ vector collecting in a compact form all Aðd; dÞ; dynamic terms (joint- or task-space, respectively) mji, Iji mass and inertia tensor of the cylinder (j = 1) or piston (j = 2) of the ith limb vji, xi velocity of the centres of mass of cylinder (j = 1) or piston (j = 2) of the ith limb and (common) angular velocity

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 exploitation of the concept, like the small workspace, the poor dexterity, the difficult design, the complexity of direct kinematics equations, the coupling of position and orientation, and so on [6,7]. For these reasons there is recently a growing interest in new minor-mobility mechanisms that are able to perform elementary 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 ParentiCastelli [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

resulting force (excluding the actuator force si) acting on cylinder (j = 1) or piston (j = 2) of the ith limb f ji ¼ mji v_ ji inertia force of cylinder (j = 1) or piston (j = 2) of the ith limb f ji ¼ f ji þ f  total force acting on cylinder (j = 1) or ji piston (j = 2) of the ith limb (excluding the actuator force) nji resulting moment acting on cylinder (j = 1) or piston (j = 2) of the ith limb nji ¼ I ji x_ i  xi  ðI ji xi Þ inertia moment of cylinder (j = 1) or piston (j = 2) of the ith limb nji ¼ nji þ nji total moment acting on cylinder (j = 1) or piston (j = 2) of the ith limb mp mass of the moving platform fe external force applied to the moving platform fp = mpg weight of the moving platform f p ¼ mp v_ p inertia force of the moving platform f p ¼ f e þ f p þ f  total force acting on the moving p platform fji

relations, high stiffness, a convex dome-shaped workspace, etc., it was decided to explore further its capabilities, especially by assessing its dynamic performances and finally to build a prototype of the machine. To this aim the kinematic structure has been optimised for applications characterised by interactions with the environment and then an integrated mechatronic design of both mechanical structure, see Fig. 1, and control system has been concurrently developed, 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

Fig. 1. Sketch of the novel translational platform.

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 behaviour of the system (which may be given by actuation non-linearities, inertial couplings, transmission compliance, 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 arm as 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 controller’s structure are strictly linked one to the other and affect system’s performances, only a concurrent mechatronic approach to the problem can effectively provide useful 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 derivation of robot’s inverse dynamic model, based on the principle of virtual work. The structure of a hybrid position/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 behaviour 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 platform by 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 architecture is characterised by 3 dof’s in the space; in the general case spatial translations are coupled with changes of orientation of the platform. Nevertheless, if the following two geometric conditions simultaneously hold, the platform translates in space without rotating:

591

Fig. 2. The 3-RCC parallel mechanism.

(i) the axes of the revolute and cylindrical joints of ith limb are parallel to the same unit vector ^ti , for i = 1, 2 and 3; (ii) the limbs are arranged so that ^ti 6¼ ^tj for i 5 j (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 translations, 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 overconstrained mechanism: the kinematics of the two 3-RPC and 3-RCC mechanisms is absolutely identical for this configuration, 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 convenient to define the Cartesian frames shown in Fig. 3: two ^ Þ are parallel reference systems Oð^x; ^y ; ^zÞ and P ð^ u; ^v; w attached to the centres of the fixed and moving platforms ^ normal axes and ^x passing through respectively, with ^z; w ! the first ground revolute joint; therefore p ¼ OP specifies the position of the moving platform with reference to the ! fixed frame. ai ¼ OAi is the distance from the centre O to ! the sides of the fixed triangle, similarly bi ¼ PC i is the distance from the centre P to the sides of the moving triangle; Bi is the attachment point of ith limb with the moving plat! form, therefore ti ¼ ti^ti ¼ Bi C i represents the sliding of the ! upper cylindrical pair while di ¼ d i ^di ¼ Ai Bi is the vector length of ith limb. It is noted that ti is orthogonal to the vectors ai, bi, di and to the ^z axis: therefore di lies in the

592

M. Callegari et al. / Mechatronics 16 (2006) 589–605

coordinates in task space, the model of machines’ dynamics is usually written in the joint space in the following form: _ þ Dðd; dÞ _ þ GðdÞ  J ðdÞT F s ¼ MðdÞ€d þ Cðd; dÞ _  J ðdÞT F ¼ MðdÞ€d þ Aðd; dÞ

Fig. 3. Reference frames and vector loop closure of a typical limb.

plane generated by ai and the ^z axis. Finally, in correspondence of each ith limb, two coordinate systems are introduced (see Fig. 3(b)): the frame Ai ð^ ai ; ^ti ; ^zi Þ  Ai ð^xi ; ^y i ; ^zi Þ is attached to the fixed base in such a way that ^ ai ; ^ti ; ^zi have the same direction and orientation of vectors ai, ti and ^z ^i ; ^ti ; ^ axis, respectively; the frame Di ðk di Þ has the same origin ^ of previous one, with the di unit vector pointing along the ^i unit vector arranged accordingly. limb itself and the k Therefore, since frame Ai ð^ ai ; ^ti ; ^zi Þ is rotated by an angle ui around the ^z axis with respect to the Oð^x; ^y ; ^zÞ fixed frame ^i ; ^ti ; ^ and Di ðk di Þ is rotated by an angle hi around the ^ti axis with respect to the Ai ð^ ai ; ^ti ; ^zi Þ fixed frame, the following rotation matrices can be defined: 2 3 c/i s/i 0 6 7 O RAi ¼ Rotz ð/i Þ ¼ 4 s/i c/i 0 5; 2

0

chi 6 Ai RDi ¼ Roty ðhi Þ ¼ 4 0 shi

0 1

0

1 3 shi 7 0 5

0

chi

ð1–2Þ

For the described symmetric configuration some simplifications occur: a1 = a2 = a3 = a, b1 = b2 = b3 = 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 corresponding torques/forces that must be developed by actuated 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 multibody systems, if d indicates the vector of displacements of active joints and p the vector of system’s configuration

ð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 performed 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, therefore, 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 3RCC mechanism was 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: _ þ Dx ðp; pÞ _ þ Gx ðpÞ  F sx ¼ M x ðpÞ€p þ Cx ðp; pÞ _ F ¼ M x ðpÞ€p þ Ax ðp; pÞ T

ð4Þ

where sx = J s are the forces/moments acting at the endeffector and corresponding to the actual efforts at the actuated joints. In case the dynamic model is not used for simulation but is rather computed on-line by robot’s controller, the computational efficiency of the algorithm becomes a critical issue. From this 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 modelling of multi-body mechanical systems [18–20]: among

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 efficiency [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 literature 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 system is under equilibrium if and only if the virtual work done by all the forces and moments acting on the mechanism 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 presented 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.

593

Fig. 4. Geometrical parameters of a typical limb.

where the six-dimensional vector nji gathers the position and orientation of the cylinder (j = 1) or piston (j = 2) of the ith limb and Fji is the corresponding wrench: " #   mji ðg  v_ ji Þ : f ji Fji ¼ ¼ ð6Þ I ji x_ i  xi  ðI ji xi Þ nji It is noted that (5) requires that all the infinitesimal rotations in nji are expressed as functions of the angular velocity of the respective link, i.e.: dnji ¼ ½ vjix

vjiy

xix

vjiz

xiy

T

xiz   dt

Since all the virtual displacements in (5) must be compatible 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 following relations must hold among the introduced virtual displacements:

3.2. Equations of motion

dðdÞ ¼ J p dðpÞ;

The inverse dynamics model will be obtained directly in the task space, without any need of further kinematic transforms; the approach used by Tsai in [24] will be followed, based on the following steps:

where Jp is the 3 · 3 manipulator Jacobian matrix defined as usual for parallel mechanisms, while Jji 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 !! 3 2 X X T dðpÞ J T s þ f p þ J T Fji ¼0 ð8Þ

• • • •

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 vp ¼ 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: T T dðdÞ s þ dðpÞ f p þ

3 2  X X i¼1

j¼1

T

dðnji Þ Fji

! 

dðnji Þ ¼ J ji dðpÞ

p

ji

i¼1

ð5Þ

j¼1

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

ji

i¼1

j¼1

Eq. (9) completely describes manipulator’s dynamics; then the inverse dynamics problem is solved by simply taking out the vector of actuators’ forces s in non-singular configurations: !! 3 2 X X T  T s ¼ J ðJ Fji Þ ð10Þ fp þ p

ji

i¼1

¼0

ð7a-bÞ

j¼1

All the elements in (10) will be worked out soon, but basic kinematic relations must be stated first.

594

M. Callegari et al. / Mechatronics 16 (2006) 589–605

€p ¼ d i x_ i  ^di þ d i xi  ðxi  ^di Þ þ 2d_ i xi  ^di þ d€i ^di þ €ti^ti

3.3. Kinematic relations The reader is addressed to Ref. [15] for a complete kinematic study of the 3-RCC mechanism, including a discussion of the singular configurations: in this section only a few steps of the analysis are outlined, to recall the kinematic 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 Jji, j = 1, 2, i = 1, 2, 3, introduced in (7b), will be eventually obtained. With reference to previous Fig. 3(a), three closure equations can be written, one for each limb connecting the translating platform to the base: p þ bi ¼ ai þ di þ ti

ð11Þ

By differentiating both sides of (11), the velocity of platform’s centre can be expressed independently as a function of the three limbs’ motion by p_ ¼ d i xi  ^ di þ d_ i ^ di þ t_i^ti

ð12Þ

Now the angular velocity of ith limb, xi, can be extracted by projecting both sides of (12) along the direc^i and by using simple vector algebra tion of the axis k identities: ^i p_  k ^ti xi ¼ di

^i , the angular By dot multiplying both sides of (18) by k acceleration of ith limb is taken out x_ i ¼

1 ^i  2d_ i xi Þ^ti ð€p  k di

ð19Þ

On the other hand, if both sides of (18) are projected along the direction of ^di and simple vector algebra identities are used once again, the linear acceleration of ith limb, d€i , is obtained: d€i ¼ €p  ^di þ d i x2i that can be expressed as function of platform’s motion by simply taking (13) into consideration:  2 ^T  p_ k i d€i ¼ ^dTi  €p þ di Finally, the accelerations of the centres of mass of cylinder and piston of ith limb can be obtained by deriving once again (16) and (17), respectively: v_ 1i ¼ c1 x_ i  ^di þ c1 xi  ðxi  d^i Þ v_ 2i ¼ ðd i  c2 Þðx_ i  ^di Þ þ ðd i  c2 Þxi  ðxi  ^di Þ þ 2d_ i ðxi  ^di Þ þ d€i ^di

ð13Þ

Taking a dot product of both sides of (12) with ^ di , it is obtained di  p_ d_ i ¼ ^

ð18Þ

ð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 Jp: 2 ^T 3 d1 6 T7 Jp ¼ 4 ^ d2 5 ^ dT 3

The position vectors of the centres of mass of cylinder, r1i, and piston, r2i, of ith limb, see Fig. 4, are given by the relations: r1i ¼ ai þ c1 ^ di r2i ¼ ai þ ðd i  c2 Þ^ di that, once differentiated, provide the velocities of the two centres of mass di ð16Þ v1i ¼ c1 xi  ^ ^ _ ^ v2i ¼ ðd i  c2 Þxi  di þ d i di ð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

In order to find computable expressions for the matrices Jji, all the kinematic vectors worked out in previous paragraphs must be computed in a specific reference frame: the local frame Di 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 Di and global frame O is easily obtained (see Fig. 3(b)): 2 3 c/i chi s/i c/i shi 6 7 ^ ^ ^  O RDi ¼ O RAi Ai RDi ¼ 4 s/i chi c/i s/i shi 5 ¼ k i t i di shi 0 chi ð20Þ which, by definition, provides the expression of the unit vectors of Di 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 hi are given in function of the Cartesian coordinates of the end-effector  T p ¼ px py pz by [15] px cui þ py sui  e shi ¼ ^di  ^ai ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 ðpx cui þ py sui  eÞ þ p2z pz ffi chi ¼ ^di  ^zi ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðpx cui þ py sui  eÞ2 þ p2z

M. Callegari et al. / Mechatronics 16 (2006) 589–605

Now, taking into consideration (20), the angular velocity of ith limb, xi, can be written in the Di frame: 2 3 013 1 6 ^T 7 Di _ ð21Þ xi ¼ 4 k i 5p di 013 ^T are assigned or computed in where the two vectors p_ and k i the global frame O; in the same manner, by substituting (21) and (14) into (16) and (17), the velocities vji can be written in the Di frame: 2 3 ^T k i 7 c1 6 v1i ¼ 6 013 7 4 5p_ di 013 3 2 ðd i  c2 Þ ^T ki 7 6 di 7 6 7p_ 6 v2i ¼ 6 7 0 13 5 4 T ^ di that can be easily computed by using the relations already found in (20). The angular acceleration of ith limb, x_ i , given by (19), can be expressed in the local Di frame by using the relations (20), (21) and (14): 2 3 0    1 6 ^T T Di ^ ^T p_ 7 7 € _ k p  2 d p d k ð22Þ x_ i ¼ 2 6 i i i i 5 di 4 0 Finally, by taking into account the relations (21), (14) and (22), the accelerations v_ ji can be evaluated in the Di frame by 2   3 ^T _ k ^T p_ ^T € d ik i p  2 di p i 7 c1 6 6 7 Di 0 v_ 1i ¼ 2 6 7  2 5 di 4 T ^ p_  k i 3 2 d i  c2 ^ T c2 ^T ^T  € _ _ 6 d i ki p þ 2 d 2 d i p k i p 7 7 6 i 7 6 Di v_ 2i ¼ 6 7 0 7 6  2 c 5 4 2 T T ^ ^ p_ di € pþ 2 k i di Now it is easy to find the DiJji Jacobian matrices that relate limbs’ motion (expressed in the Di frame) to platform’s velocity p_ (given in the global frame): 3 2 ^T c1 k i 7 6 6 013 7 7 6  Di  v1i 16 013 7 7 6 Di Di ¼ J 1i p_ ) J 1i ¼ 6 7 Di d i 6 013 7 xi 7 6 6 ^T 7 4 ki 5 013

595

3 ^T ðd i  c2 Þk i 7 6 013 7 6 7 6 D  T ^ i 7 6 1 d d v2i i i Di Di 7 6 ¼ J 2i p_ ) J 2i ¼ 6 Di 7 xi di 6 013 7 7 6 ^T 5 4 k i 2

013 3.4. Computation of dynamic terms All the terms appearing in the dynamic model (10) can now be evaluated: ! 3 X

D T D T Di T Di i i  s ¼ J p  f p þ J 1i F1i þ J 2i F2i ð23Þ i¼1

The resultant of the forces applied to the moving platform are directly given in the global frame: f p ¼ ½f e þ mp g  mp 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 Di frame by " # " # Di  mji O RTDi g  mji Di v_ ji f ji Di Fji ¼ D ¼ ð25Þ

i nji Di I ji Di x_ i  Di xi  Di I ji Di xi By substituting (24) and (25) in (23), and taking into account the values already found for the links’ Jacobians Di Jji, after cumbersome mathematical passages it is obtained: ð26Þ s ¼ Fd  J T  ðf p þ T Fk Þ p

where the newly introduced vectors Fd, Fk and the matrix T are defined by 2 3 f21;d : 6 7 Fd ¼ 4 f22;d 5 f23;d

3 c1 f11;k þ n11;t þ ðd 1  c2 Þf21;k þ n21;t 7 6 d1 7 6 6 c f þ n þ ðd  c Þf þ n 7 : 6 1 12;k 12;t 2 2 22;k 22;t 7 Fk ¼ 6 7 7 6 d2 7 6 4 c1 f13;k þ n13;t þ ðd 3  c2 Þf23;k þ n23;t 5 d3 : ^ ^ ^  T ¼ k1 k2 k3 2

with f2i;d f1i;k

! c2 ^T 2 T ^ ¼ m2i RDi ;33 g  m2i di €p þ 2 ki p_ ð27Þ di    c1  ^ T ^dT p_ k ^T p_ € p  2 ð28Þ ¼ m1i O RDi ;31 g  m1i 2 d i k i i i di O

596

M. Callegari et al. / Mechatronics 16 (2006) 589–605

O

f2i;k ¼ m2i RDi ;31 g  m2i

! d i  c2 ^ T c2 ^T ^T  p þ 2 2 di p_ ki p_ ki € di di ð29Þ

   1  ^T T ^ ^T p_ € _ p  2 d p d k k i i i i d 2i    1  ^T T ^ ^T p_ € _ p  2 d p k ¼ Di I 2i;22 2 d i k i i i di

n1i;t ¼ Di I 1i;22

ð30Þ

n2i;t

ð31Þ

The symbol iIji,22 in (30) and (31) represents the element of the iIji matrix placed in the second row and second column; in the same manner, O RDi ;33 ¼ cos hi and O RDi ;31 ¼  sin hi , appearing in (27)–(29) respectively, are two elements of the O RDi 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 components of such quantities along the directions of the ^i ; ^ti ; ^di axes, respectively. If both sides of (26) are multik plied by J Tp it is obtained: ð32Þ J T s ¼ J T Fd  f p  T Fk p

p

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 sx ¼ J Tp s ¼ M x € p þ Cx þ Gx  f e

ð33Þ

where the mass matrix Mx and the vectors of dynamic and gravitational terms Cx and Gx take the following form: 2 3 m21 ^ dT1 6 7 ^T 7 M x ¼ J Tp 6 4 m22 d2 5 þ mp I 33 m23 ^ dT3 ) 3 2( 2 ^T c1 ðd 1  c2 Þ2 k 1 1 1 m21 þ I 11;22 þ I 21;22 6 d m11 þ d1 d1 7 7 6 1 6( ) 7 6 2 2 ^T 7 7 6 c1 ðd 2  c2 Þ k 2 2 2 7 þ T T6 m þ m þ I þ I 22 12;22 22;22 6 d 2 12 d2 d2 7 7 6 6( ) 7 6 2 2 T ^ 7 4 c1 ðd 3  c2 Þ k 3 5 m13 þ m23 þ 3 I 13;22 þ 3 I 23;22 d3 d3 d3 ð34Þ Cx ¼ CðcentrÞ þ CðCorÞ x x 2O 3 2 3 0 RD1 ;33 m21 6 7 6 7 Gx ¼ J Tp 4 O RD2 ;33 m22 5g  4 0 5g O mp RD3 ;33 m23 3 2 ðc2  d 1 Þm21  c1 m11 O RD1 ;31 7 6 d1 7 6 7 6 ðc  d Þm  c m 7 6 2 2 22 1 12 O 6 RD2 ;31 7g 7 6 d2 7 6 5 4 ðc2  d 3 Þm23  c1 m13 O RD3 ;31 d3 with

2c

2 m 6 d 21 21 6



^T p_ k 1

2 3

7  2 7 7 6 c2 6 ^T p_ 7 CxðcentrÞ ¼ J Tp 6 2 m22 k 7 2 7 6 d2 7 6   25 4 c2 T ^ _ m23 k3 p d2 2 3

ð36Þ

  3 ^dT p_ k ^T p_ 1 1 7 6 2fðc  d Þc m þ c2 m þ 1 I 1 7 6 2 1 2 21 11;22 þ I 21;22 g 1 11 7 6 d 31 7 6     7 6 T T ^ ^ 7 6 _ _ d p k p

2 2 7 CðCorÞ ¼ 6 x 7 6 2 ðc2  d 2 Þc2 m22 þ c21 m12 þ 2 I 12;22 þ 2 I 22;22 3 7 6 d 2 7 6     7 6 T_ T_ 7 ^ ^ 6 p p d k

3 3 5 4 2 3 3 2 ðc2  d 3 Þc2 m23 þ c1 m13 þ I 13;22 þ I 23;22 d 33

ð37Þ The term I3·3, introduced in (34), represents the 3 · 3 identity matrix; moreover, as already done before, the notation iIji,hk indicates the element of the iIji matrix that is placed in the hth row and kth column. Eq. (33) represents manipulator’s dynamic model in the task space: J Tp s is the end-effector force that balances joint forces s; the 3 · 3 mass matrix Mx, in the form given by (34), depends explicitly on limbs’ displacement d and implicitly on platform’s position p (by means of the unit ^i ; ^ti ; ^di ). The 3 · 1 vector Cx, on the other hand, vectors k collects all dynamic contributions, that are separately defined as coming from centrifugal force, in (36) and Coriolis 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: 1 _ 1 _ € €p ¼ J 1 p d  J p J pJ p d

ð38Þ

and by substituting (38) into (33) it is obtained 1 € T 1 _ 1 _ T _ s ¼ J T p M x J p d  J p M x J p J p J p d þ J p Cx ðp; pÞ T þ J T p Gx ðpÞ  J p f e

that can be written in the final form s ¼ M €d þ C þ G  J T p fe with the positions 1 M ¼ J T p M xJ p

ð35Þ

1 _ 1 _ T C ¼ J T p M x J p J p J p d þ J p Cx

G ¼ J T p Gx These passages prove also the already mentioned convenience of evaluating manipulator’s dynamics in the task space, with respect to joint-space schemes.

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 evaluating 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-RCC robot: it is assumed that the end-effector’s trajectory 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 Mx and M are symmetric and positive definite; furthermore, two proper square matrices Bx and B can always be found such that the vectors Cx and C are decomposed in the following way: _ ¼ Bðd; dÞ _ d_ Cðd; dÞ _ respectively. It can be demwith Bx and B linear in p_ and d, _ x  2Bx and N ¼ M _  2B are skewonstrated that N x ¼ M 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 _ ¼ Bx ðp; pÞ _ p; _ Cx ðp; pÞ

_ p_ ¼ 0; p_ T N x ðp; pÞ

_ d_ ¼ 0 d_ T N ðd; dÞ

A method sometimes used to simplify the dynamic model, and therefore to enhance the computational efficiency, 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-effector 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’ elements 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 Table 1 Computational effort for the evaluation of the inverse dynamics model

Jacobian Jp Inverse of transposed Jacobian J T p Mass matrix Mx Dynamic and gravitational vectors Cx and Gx Final computations Total number of operations

+/

*/

Trigonometric operations

6 15 60 60

21 27 126 142

12 0 48 9

18 153

27 343

0 69

597

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 simplification 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 studied machine. A sensitivity study has also been performed to separately 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 outlined 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 considerations 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 elemental 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 complex forward kinematics; on the other hand, if model based controllers are used, the complexity of joint-space inverse dynamics would make the related algorithms computationally expensive and, hence, less attractive than the corresponding task-space schemes.

598

M. Callegari et al. / Mechatronics 16 (2006) 589–605

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.

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 controllers [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 performances 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

599

Adams/Controls module. The mechanical design of the machine has been developed by means of the CAD program SolidEdge and assessed by the FEM package Ansys, then the 3D geometry has been exported to the Adams environment. The simulations have shown that the required actuation forces are very sensitive to manipulator’s geometry; therefore, instead of relying on the controller for the search of optimal path-planning schemes, as done by some researchers, the problem has been dealt beforehand, through a proper optimisation of machine kinematics (the condition number of JTJ has been kept below the value of 5 throughout 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 simulations 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

Fig. 7. Conceptual scheme of the virtual prototyping environment.

A few common task-space control schemes have been implemented to test by computer simulation the closedloop performances of the 3-RCC robot (e.g. PID, computed 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. 8. Multibody model of the 3-RCC robot.

600

M. Callegari et al. / Mechatronics 16 (2006) 589–605

Fig. 9. Task-space position control schemes: PID (a) and computed torque (b).

mechanism at hand; a key argument in the choice is the fact that this control scheme, here studied for the free navigation 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: _ sx ¼ M x ðpÞ  u þ Ax ðp; pÞ _ u ¼ p€d þ K p  ðpd  pÞ þ K d  ðp_ d  pÞ

ð39Þ ð40Þ

with pd desired robot’s task-space position and Kp, Kd suitable gain matrices. The computation of actual driving

forces s = JTsx is then straightforward. Control actions (39) and (40), taking into consideration system’s dynamics (4), lead to the following second-order error dynamics: €ex þ K d  e_ x þ K p  ex ¼ 0 having defined the task-space error: ex = pd  p. Of course if the two gain matrices Kp and Kd are chosen diagonal, the system is completely uncoupled and it is decomposed into the following three independent equations: €exi þ k di  e_ xi þ k pi  exi ¼ 0 with i = x, y, z.

Fig. 10. Time evolution of positional error in Cartesian space (a) and required torques (b) for PID and CT controllers.

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 platform is subject to a rapid vertical movement starting from point P1 = (0, 0, 0.52) m and stopping at point P2 = (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 controllers have been tuned so that the maximum limit torques deliverable by the motors (4.0 N m nominal and 24.0 N m 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 simulations 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 PID scheme, especially for movements along the vertical direction. In authors’ opinion the computational burden needed for the evaluation of the computed torque algorithm is well compensated by the good and uniform behaviour shown by the robotic structure in all its workspace, when it is well known that parallel robots usually have dynamic properties that strongly depend upon operating conditions (path velocities and accelerations, point of the workspace or end-effector orientation, etc.). Moreover, the limited mobility 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 problems 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 reasonable 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 mechanism should 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 complex 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 position/force control) or varies the mechanical impedance of the end-effector according to the task (impedance control).

601

Fig. 11. Synoptic of possible control schemes for robots interacting with the environment.

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. Implicit methods identify the compliance of the contact through the force sensors and then compute the position and velocity control signals that correspond to the desired control force. Even if some difficulties may arise in the identification of contact forces, this class of control schemes are characterised by a good robustness and easiness of implementation and therefore have been selected for the 3RCC robot. It must be also pointed out that in situations characterised 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 PD module: 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 operates in unconstrained mode, the control system degrades 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:

602

M. Callegari et al. / Mechatronics 16 (2006) 589–605

_ F sx ¼ M x ðpÞ  u þ Ax ðp; pÞ and the implicit servo law u ¼ €pd þ K Pd e_ P þ K Pp  ep þ K Fp eF þ K Fi

Z eF

where ep = pd  p is the position error, eF = Fd  F is the force error, KPp and KPd are gain matrices for position control, KFp and KFi are gain matrices for force control. Then, the resulting errors dynamics is governed by Z €eP þ K Pd  e_ P þ K Pp  eP þ K Fp  eF þ K Fi eF ¼ 0 ð41Þ Robot’s tasks are usually defined in a tool frame T(t1, t2, n), located at the end-effector, with n axis perpendicular to the contact surface: in this frame it is usually required the tracking of a certain trajectory along the two directions t1 and t2 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: €eP;t1 þ k Pd  e_ P;t1 þ k Pp  eP;t1 ¼ 0 €eP;t2 þ k Pd  e_ P;t2 þ k Pp  eP;t2 ¼ 0 €eP;n þ k Pd  e_ P;n þ k Pp  eP;n þ k Fp  eF;n þ k Fi

ð42Þ Z

ð43Þ eF;n ¼ 0

ð44Þ

having defined the diagonal gain matrices: KPp = kPp Æ I3·3, KPd = kPd Æ I3·3, KFp = kFp Æ I3·3, KFi = kFi Æ I3·3. Eqs. (42) and (43) describe the dynamic behaviour of position error in the tangential directions t1 and t2, where the motion is unconstrained: stability is granted for any choice of the gains kPd and kPp. 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 kPp, kPd, kFp and kFi satisfy the following condition:   k Pp þ k Fp k Fi < k Pd k where k is an estimate of contact surface stiffness. The following values have been chosen for such parameters in the present simulations: kPp = 10 000 s2, kPd = 700 s1, kFp = 0.1 kg1 and kFi = 90 kg1 s1; the contact has been assumed to happen between parts with mutual stiffness k = 10 MN/m. It should be noted the high value of environment stiffness, typical of steel, whose handling has been allowed by the robustness of the (Matlab implemented) control algorithms and the (Adams based) multibody solver. The contact with the environment in the normal direction 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 (ld = 0.16, ls = 0.23, vs = 0.1 mm/s, vd = 1 mm/s). Several simulations have been performed to assess the behaviour of the robot with the proposed controller: such

Fig. 13. Plot of the dry friction model used for the simulations.

Fig. 12. Scheme of the hybrid position/force controller.

Fig. 14. Three test trajectories for constrained motion.

M. Callegari et al. / Mechatronics 16 (2006) 589–605

603

Fig. 15. Position error (a) and contact forces (b) in task frame.

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 t1 and t2 axes lie on it, with t1 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 diminishes 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 oscillations are initiated by the change of surface steepness; the small force along the t1 direction is due to the contact friction. The same effects can also be noted in the plot of actuation 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 proposed 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-inhole assembly, always granting the contact between the two mating parts, even if during chamfer crossing the desired force is not maintained; of course, if the end-effector orientation 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 compared with passive compliance devices; such performance is common to all active compliance control schemes and has been noted already by many researchers. 5. Conclusions

Fig. 16. Actuation torques at the joints.

The present article aimed at assessing the dynamic performances of the 3-RCC translation platform when operating 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:

604

M. Callegari et al. / Mechatronics 16 (2006) 589–605

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 mechanism and pressed for the design of a control system able to ‘‘shape’’ robot’s dynamics during the different 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 ‘‘naturally’’ 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 environment, e.g. peg-in-hole assembly; it has been observed that, when both position and force deviate from the 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 architecture: 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 workspace, due to the high inertia of the lumped actuators. Nevertheless, the dynamic analysis commented in the article showed that, if the robot is properly controlled, the resulting 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: Proceedings of the FISITA 9th 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 manipulator 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].

M. Callegari et al. / Mechatronics 16 (2006) 589–605 [29] Lee SH, Song JB, Choi WC, Hong D. Position control of a Stewart platform using 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-inloop simulation of robots interacting with environment. In: Proceedings of the IEEE international conference on robotics and automation, 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.

605

[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 automation, 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.