<<

KINEMATIC CONTROL OF CONSTRAINED ROBOTIC SYSTEMS

Gustavo M. Freitas∗ Antonio C. Leite∗ [email protected] [email protected] Fernando Lizarralde∗ [email protected]

∗Department of Electrical Engineering - COPPE Federal University of Rio de Janeiro Rio de Janeiro, RJ, Brazil

RESUMO for parallel and cooperating redundant robots is discussed based on the following concepts: forward kine- Controle de Sistemas Robóticos com Restrições matics, differential , singularities and kine- Cinemáticas matic control. Simulations results, obtained with a Este artigo considera o problema de controle de pos- Four-Bar , a planar Gough-Stewart tura para sistemas robóticos com restrições cinemáti- platform and two cooperating robots, illustrate the ap- cas. A ideia principal é considerar as restrições cine- plicability and versatility of the proposed methodology. máticas dos mecanismos a partir de suas equações es- truturais, ao invés de usar explicitamente a equação de KEYWORDS: Parallel robots, redundant robots, multi- restrição. Um estudo de caso para robôs paralelos e coordination, kinematic singularities. robôs cooperativos é discutido baseado nos conceitos de cinemática direta, cinemática diferencial, singularidades 1 INTRODUCTION e controle cinemático. Resultados de simulação, obti- dos a partir de um mecanismo Four-Bar linkage, uma In advanced robotic systems, accuracy, repeatability plataforma de Gough-Stewart planar e dois robôs coo- and load capacity are fundamental skills for carrying perativos, ilustram a aplicabilidade e versatilidade da out several practical tasks, where the robot end-effector metodologia proposta. has to perform some operation on a constraint surface or to manipulate an object of the environment (Siciliano PALAVRAS-CHAVE: robôs paralelos, robôs redundantes, et al., 2008). The structure of a robot manipulator con- coordenação multi-rôbos, singularidades cinemáticas . sists of a set of rigid bodies or links connected by means of revolute or prismatic joints, integrating a kinematic ABSTRACT chain. In general, one end of the chain is fixed to a base, whereas an end-effector is connected to the other end. This paper addresses the posture control problem for From a topological point of view, a can robotic systems subject to kinematic constraints. The be classified in (i) open or serial, when there is only one key idea is to consider the kinematic constraints of the sequence of links and joints connecting the two ends of mechanisms from their structure equations, instead of the chain, and (ii) closed or parallel, when a sequence explicitly using the constraint equations. A case study of links and joints are arranged such that at least one loop exists. Usually, serial chain robots can present lim- Artigo submetido em 10/03/2011 (Id.: 01293) itations in their reachable workspace, kinematic singu- Revisado em 27/05/2011 Aceito sob recomendação do Editor Associado Prof. Carlos Roberto Minussi larities, reduced accuracy and rigidity, or be sensitive to

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 559 scaling. These drawbacks could be overcome by the use and collision with obstacles, as well as to optimize the of parallel robots to increase rigidity, redundant robots robot motion with respect to a cost function (e.g., joint or mobile manipulators (manipulators mounted on a energy). Furthermore, considering the pres- , e.g., remotely operated vehicles, wheeled ence of mechanical joint limits, redundant manipula- robots) to augment the system workspace and/or avoid tors can also be used to increase the robot workspace singularities in order to accomplish the task of interest (Siciliano, 1990; Chiaverini et al., 2008). In general, (Murray et al., 1994). multiple cooperating robot arms and mobile manipu- lators, for instance, belong to the class of redundant Parallel robots provide a rigid connection between the robots (Caccavale and Uchiyama, 2008). base structure and the payload to be handled by the end-effector, with positioning accuracy superior to the The coordination of multiple robots is an essential activ- one obtained by serial chain manipulators (Merlet, 1993; ity in several industrial applications, such as assembly Merlet and Gosselin, 2008). The main disadvantages of and manufacturing tasks, where multiple robotic arms using parallel robots are: workspace limitation, more are often grasping an object in contact with the envi- complex maps and more involved ronment. Typical examples include: deburring, con- singularity analysis (Wen and O’Brien, 2003; O’Brien tour following, grinding, machining, painting, polish- et al., 2006; Simas et al., 2009). For instance, in contrast ing and object aligning (Namvar and Aghili, 2005) or to serial chain manipulators, the singularities in parallel even robot dexterous hands (Caurin and Pedro, 2009). mechanisms may have different characteristics. In this framework, a study of the differential kinemat- ics and manipulability indexes for multiple cooperating In this context, the singularities can be classified into robot arms with unactuated joints is presented in (Wen three basic types (Gosselin and Angeles, 1990; Liu et al., and Wilfinger, 1999; Bicchi and Prattichizzo, 2000). Ad- 2003): vanced motion and force control of cooperative manipulators with passive joint are considered in (Tinos (i) configuration space singularities: when the rank of et al., 2006; Pazelli et al., 2011). A screw-based system- the structure equations drops and, thus, the end- atic method to derive the relative Jacobian for two co- effector loses the ability to move instantaneously in operating robots is developed in the recently published some directions; work (Ribeiro et al., 2008; Simas et al., 2009).

(ii) end-effector singularities: when the end-effector Motivated by several applications to parallel robots and loses degrees of freedom (DOF), that is, the mo- redundant manipulators, this paper provides a control tion of the active joints can result in no motion of methodology for robotic systems under kinematic con- the end-effector; straints based on a novel proposed method (Wen and O’Brien, 2003). The key idea is to consider the kine- (iii) actuator singularities: when the actuator of the matic constraints of these mechanisms from their struc- manipulator or the active joints cannot produce ture equations, rather than explicitly using the con- end-effector forces and in some directions. straint equations. The major advantage of this method- ology is its applicability and versatility when different The kinematic and dynamic control problems for paral- robotic systems are considered. Simulation results are lel robots are considered in (Kövecses et al., 2003; Cheng obtained from the kinematic models of a Four-Bar link- et al., 2003; Rosario et al., 2007) and an autonomous age mechanism, a planar Gough-Stewart platform and control approach to reach the dynamic limits of parallel two cooperating robots. mechanisms is presented in (Pietsch et al., 2005).

Redundant manipulators have more degrees of freedom1 Terminology and Notation that those strictly necessary to perform a given task. Redundancy is therefore a relative concept for a robot In this work, the following notation, definition and as- manipulator, depending on the particular type of task sumptions will be adopted: to be executed. For example, six DOF are necessary for positioning and orienting a robot end-effector, thus a 6- E¯ = [ ⃗x ⃗y ⃗z ] denotes the orthonormal frame DOF manipulator is considered non-redundant. How- a a a a a and ⃗x , ⃗y , ⃗z denote the unit vectors of the frame ever, if only the positioning task is of concern, the a a a axes. same arm becomes redundant. The extra degrees of freedom provide more dexterity to the robot structure, 1For some authors, this term has the same meaning as the and it can be used to avoid kinematic singularities degrees of mobility.

560 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 For a given vector x∈Rn, its elements are denoted constraints can be locally represented as algebraic con- T by xi for i=1 ··· n, that is, x=[ x1 x2 ··· xn ] . straints in the configuration space Q by

ne : number of effective degrees of freedom of the c(θ) = 0 , (2) mechanism2. n r where c(·):R 7→R . Then, the mechanism has ne =n−r nt : number of degrees of freedom required to per- effective degrees of freedom and the following assump- form a task. tion is considered:

Definition 1 A robotic system can be classified as: (i) Assumption 3 The number of active joints is equal to non-redundant: ne ≤nt; (ii) redundant: ne >nt. the effective degrees of freedom, that is, na =ne.

Assumption 1 For an open-chain mechanism consti- Note that, the constraint described in (2) is an example tuted by i + 1 links connected by n joints, where the of holonomic constraint. In general, a constraint is said link 0 is fixed, each joint provides a single degree of mo- to be holonomic if it restricts the motion of the system bility to the mechanism structure, and n=i. to a smooth hypersurface in the configuration space Q (Murray et al., 1994). Assumption 2 For a closed-chain mechanism consti- tuted by i + 1 links, the number of joints n must be Now, considering that the constraint can be written in greater than i. In particular, the number of closed loops terms of the joints vectors, we have is equal to n−i. ˙ Jc(θ) θ = 0 , (3)

∂c(θ) ∈ Rr×n 2 CONSTRAINED ROBOTIC SYSTEMS where Jc = ∂θ is named the constraint Jaco- bian. This section considers the kinematics of the closed-chain robotic systems subject to kinematic constraints on ve- On the other hand, the end-effector velocity v, com- locity. The general methodology to derive the forward posed by the linear velocity p˙ and the kinematics and the differential kinematics equations for ω (defined as R˙ = ω × R (Murray et al., 1994)), can be constraint-based robotics systems is to open the loop related with the velocity θ˙ by of the mechanism, propagate the kinematics along the [ ] p˙ branches and add the kinematic constraints. v = = J (θ) θ˙ , (4) ω m Let p ∈ (R)3 be the position of the end-effector frame where J ∈Rn×n is the manipulator geometric Jacobian E¯ with respect to the robot base frame E¯ , and R ∈ m E 0 (Siciliano et al., 2008). SO(3) the orientation of the end-effector frame E¯E with 3 respect to the robot base frame E¯0 . In this context, Partition the Jacobians Jc and Jm according to the the posture (position and orientation) of the robot end- dimension of active-passive joint variables, θa and θp, effector can be obtained from the forward kinematics we have Jc = [ Jca Jcp ] and Jm = [ Jma Jmp ]. Then, map as without loss of generality, the equations (3) and (4) { } p, R = k(θ) , (1) can be rewritten as (Wen and O’Brien, 2003; O’Brien where k(·): Rn 7→ {R3,SO(3)} is a non-linear mapping et al., 2006): and θ ∈ Rn is the vector of joint variables (or generalized 0 = J θ˙ + J θ˙ , (5) coordinates) expressed in the unconstrained configura- ca a cp p ˙ ˙ tion space Q. The vector of active joints (or actuated v = Jma θa + Jmp θp , (6) ∈Rna joints) is denoted by θa , whereas the vector of pas- np×na np×np m×na where Jca ∈ R , Jcp ∈ R , Jma ∈ R and ∈Rnp sive joints (or unactuated joints) is denoted by θp , m×np Jmp ∈R . where n = na +np. Then, we can rearrange the vector T T T ˙ of joint angles, such that, θ =[ θa θp ]. The kinematic From (5), θp can be calculated in terms of the active

2 joints as The effective degrees of freedom for a mechanism can be ˙ − −1 ˙ calculate by means of the Gruebler’s formula, provided that θp = Jcp Jca θa , (7) the constraints imposed by the joints are independent (Murray where J is invertible if Assumption 3 holds, i.e. the et al., 1994). cp 3Special Orthogonal Group SO(3) = {R ∈ R3×3 : RT R = number of passive joints is equal to the number of con- I, det(R)=1} straints, np =r.

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 561 Substituting (7) into (6), the differential kinematics In a serial singular configuration, the joints can have equation can be rewritten as a nonzero velocity while the mechanism is at rest. In this case, the end-effector loses degrees of freedom in v = (J − J J −1 J ) θ˙ , (8) | ma mp{z cp ca} a the task space. On the other hand, in a parallel sin- gular configuration there exist nonzero of the J¯(θa,θp) mechanism for which the joint velocities are null, and in where J¯∈R6×n−r. In the case that J¯ be invertible, the this case the end-effector gains some degrees of freedom control law is similar to the kinematic control case of in the task space. A parallel singularity is especially im- the serial chain manipulator. For example, for a given portant for parallel mechanisms since it corresponds to desired position pd(t), a proportional control plus feed- configurations where the robot loses the controlability. forward could be proposed: Moreover, excessive forces can occur in the vicinity of singular poses and consequently to lead the breakdown ˙ † u = θa = J¯p(θa) [K (pd − p) +p ˙d] (9) of robot parts. where K > 0 is the controller gain matrix and J¯p ∈ Finally, it is worth to mention that in some cases, sin- R3×n−r is the partition of J¯ relating the contribution gular configurations can be useful. For instance, high ˙ of the active joint velocity θa to the end-effector lin- amplification factors between the actuated joint motion ear velocity p˙. Note that a PI controller could also and the end-effector motion can be essential for improv- be used, however this controller only guarantees zero ing the sensitivity along some measurements directions steady state error for step-type pd. For the orientation for a parallel robot used as a force sensor, or for accurate control, a representation of the end-effector orientation positioning devices with very small workspace (Merlet R ∈ SO(3) should be considered, e.g. unit quaternion and Gosselin, 2008) (Murray et al., 1994).

From the analysis of the equation (8), we conclude that 3.2 Planar Four-Bar linkage mechanism a singularity in J¯ occurs when the rank of matrix J cp The considered Four-Bar linkage mechanism is formed drops. In this case, implies that there is internal motion by a single closed kinematic chain, composed by the of the joints, even when the active joints are locked. This union of two open chains (Figure 1). The mechani- type of singularity is named by unstable singularity or cal structure consists of four rigid bodies connected by actuator singularity (see (Wen and O’Brien, 2003; Kim means of revolute joints, where the active joint is θa =θ1 et al., 2001) for a detailed discussion). T and the passive joints are θp = [ θ2 θ3 θ4 ] . Note that, links l3 and l4 compose one link. 3 PARALLEL MANIPULATORS

y3 y4 yE In this section, a planar Four-Bar linkage mechanism is x3 x4 xE used to illustrate the posture control problem for paral-

3 l3 4 l4 lel manipulators. In sequence, the presented methodol- EE ogy is applied to a planar Gough-Stewart platform. A is a closed-chain mechanism with l1 l2 end-effector and fixed base, composed by the union of two open kinematic chains at least. Parallel manipula- tors can present advantages over open-chain manipula- x1 y0 x2 1 2 tors in terms of (i) rigidity of the mechanism, due to y1 x0 y2 the presence of two or more closed chains, and (ii) actu- E0 ators allocation, since in general only ne actuators are l0 necessary (Merlet and Gosselin, 2008).

3.1 Kinematic singularities Figure 1: Planar Four-Bar linkage mechanism.

The singularities of the parallel mechanisms can be clas- sified into (i) serial or end-effector singularity and (ii) Four-Bar linkages are the simplest, least expensive and parallel or actuator singularity. When both singularities most efficient closed-loop kinematic mechanism to per- occur simultaneously, they are named structural singu- form a wide variety of complicated motions. Linkage- larity (Gosselin and Angeles, 1990). type mechanisms are primarily used for industrial appli-

562 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 cations as components and tools, automotive the mechanism, by using the chain 1 suspensions and bolt cutters. l0 p = p01 + p13 + p3E = − ⃗x0 + l1 R01(θ1) ⃗x0 + 3.2.1 Forward kinematics 2 (l3 + l4) R01(θ1) R13(θ3) ⃗x0 , (12) The forward kinematics map of a parallel manipulator is described by the posture (position and orientation) or the chain 2 ¯ of the end-effector frame EE with respect to the base l ¯ p = p + p + p = 0 ⃗x + l R (θ ) ⃗x + frame E0, derived for each kinematic chain. For parallel 02 24 4E 2 0 2 02 2 0 mechanisms, the forward kinematics problem is usually l4 R02(θ2) R24(θ4) ⃗x0 , (13) much more complex than the prob- lem, due to the closed loop nature of the mechanism. where Rij(θi) ∈ SO(3) denotes the orientation of the In order to obtain the forward kinematic, an appropri- frame E¯j with respect to the frame E¯i. Note that, in ate frame E¯i for i = 1, ··· , l is attached to i-th link. this case, Rij is an elementary rotation matrix by an Thus, the structure equations (or loop equations) of the angle θi about the axis z of the frame E¯i. After the use Four-Bar linkage mechanism are given by: of geometric and algebraic identities, the passive joints θp are obtained by p = p01 + p13 + p3E = p02 + p24 + p4E , (10) ( ) ( ) | {z } | {z } 2 − 2 2 2 − 2 2 l0 l1 + ld l2 l3 + ld chain 1 chain 2 θ2 = π − arccos − arccos , 2 l0 ld 2 l2 ld ϕ = θ1 + θ3 = θ2 + θ4 , (11) ( ) ( ) | {z } | {z } 2 − 2 2 2 − 2 2 l1 l0 + ld l3 l2 + ld chain 1 chain 2 θ3 = π + arccos + arccos , 2 l l 2 l l ( 1 d ) 3 d 2 2 − 2 ∈ R l2 + l3 ld where ϕ represents the end-effector orientation (for θ4 = 2π − arccos , the planar case the orientation R is an elementary rota- 2 l2 l3 tion about the z axis, i.e. R = R (ϕ)) and p ∈R3 is the z ij where position vector of the origin of frame E¯ with respect to j 2 2 2 − ld = l0 + l1 2lol1 cos(θ1) . the origin of the frame E¯i. The structure equations of the mechanism introduce constraints between the joint In the case that l3 = l0 and l1 = l2, there always exists angles of the manipulator. Considering the planar case, solution for θ3 and we has that θ2 = θ1 and θ3 = θ4. where p ∈ R2 and ϕ ∈ R, equations (10) and (11) corre- spond to r = 3 constraints. Thus, the Four-Bar linkage Now, it is possible to obtain the end-effector position mechanism with n=4 joints has ne = n − r =1 effective from (12) or (13), as well as the end-effector orientation degrees of freedom. This result can also be obtained by from (11), in terms of the active joint θa =θ1. using the Gruebler’s formula for planar motions (Murray et al., 1994). Remark 2 A more direct technique to solve the in- verse kinematics problem and obtain the passive joint variables θp is to apply the methods based on Paden- Remark 1 For parallel mechanisms, the number of Kahan subproblems, in particular the subproblems 1 passive joints is always equal to the number of con- and 3 (Murray et al., 1994), which are geometrically straints, that is, np = r. Thus, the vector of joint meaningful and numerically stable. n variables θ ∈ R can be partitioned as (θa, θp), where θ ∈ Rn−r are the active joint variables and θ ∈ Rr are a p 3.2.2 Differential kinematics the passive joint variables. Analogously, the differential kinematics of a parallel ma- nipulator is computed by considering the various open The kinematic constraints of the mechanism allow us to kinematic chains that compose the mechanism struc- control the end-effector orientation by specifying only ture. The end-effector velocity v ∈ R3 can be obtained the angular position of the active joint θa =θ1, and the from the time derivative of structure equations, result- other joint variables must take on values in order to ing in a Jacobian matrix for each serial chain satisfy the structure equations. Thus, the passive joints [ ] [ ] ∈ R3 ˙ ˙ θp can be obtained as a function of active joints θ1 θ2 ∈ R v = SJ1 ˙ = SJ2 ˙ , (14) θa by means of the forward kinematics equation of θ3 θ4

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 563 3×6 where S ∈R is a selection matrix given by: where eϕ ∈R is the orientation error.   1 0 0 0 0 0 The control scheme to be designed has to command the   ˙ ˙ S = 0 1 0 0 0 0 , (15) velocity of the active joint θa = θ1 in order to achieve 0 0 0 0 0 1 the control objective (25). Then, using a proportional 6×2 6×2 4 control law plus feedforward action and the Jacobian matrices J1 ∈R and J2 ∈R are : [ ] ˙ ¯ −1 ˙ ⃗z0 × p1E ⃗z0 × p3E u = θa = (J3) ( kϕ eϕ + ϕd ) , (26) J1 = , (16) ⃗z0 ⃗z0 [ ] where J¯3 is the third element of J¯ and the orientation ⃗z0 × p2E ⃗z0 × p4E J2 = , (17) error dynamics is governed by e˙ϕ + kϕ eϕ = 0, provided ⃗z0 ⃗z0 that the mechanism motions are away from singular con- with figurations. Hence, by a proper choice of kϕ as a positive constant implies that limt→∞ eϕ(t) = 0. p1E = l1 R01(θ1) ⃗x0 + p3E , (18) p2E = l2 R02(θ2) ⃗x0 + p4E , (19) 3.3 Planar Gough-Stewart platform p3E = (l3 + l4) R01(θ1) R13(θ3) ⃗x0 , (20) Another usual example of parallel mechanisms is the p4E = l4 R02(θ2) R24(θ4) ⃗x0 . (21) Gough-Stewart platform. Typically, some applications The Jacobian of the mechanism can be rewritten in a of this structure include: aircraft flight simulators, an- more usual form, stacking the Jacobian of each open tennas and telescopes positioning systems, machine tool chain: and crane technologies, and orthopedic surgery. In this   ˙ section, we consider a planar version of the Gough- [ ] θ1 [ ]  ˙  Stewart platform (Figure 2). The mechanical structure SJ1 0  θ3  I  ˙  = v , (22) is composed by the union of three open chains and 0 SJ2 θ2 I | {z } ˙ | {z } has nine joints, where three prismatic joints are active θ4 T J | {z } A θa = [ d2 d5 d8 ] , and six revolute joints are passive T θ˙ θp = [ θ1 θ3 θ4 θ6 θ7 θ9 ] . We can obtain the effec- tive degrees of freedom for this mechanism by apply- or equivalently ing the Gruebler’s formula for planar motions (Murray J θ˙ = A v , (23) et al., 1994): where the matrix A ∈ R6×3 has full column rank. Using this notation, it is possible obtain the constraint Jaco- ∑n 3×4 3×4 n = 3(i − n) + f = 3 , (27) bian Jc ∈R and the manipulator Jacobian Jm ∈R e i by means of: j=1 † Jc = AJ,J˜ m = A J, (24) where i is the number of mobile links in the mechanism, n is the number of joints and fi is the number of degrees e × where A ∈ R3 6 is the annihilator of A, such that, of freedom for the i-th joint. From (27), we conclude that e † × AA = 0, and A ∈ R3 6 is the pseudo-inverse of A, the mechanism has three effective degrees of freedom, † e such that A A = I. A possible choice is A = [I −I] which allow us to control the position and orientation and A† = [I 0]. From (8), J¯ ∈ R3×1 can be calculated of the platform respectively, in order to perform planar ¯ − −1 by J = Jma JmpJcp Jca. positioning tasks.

3.2.3 Kinematic control 3.3.1 Forward kinematics

In this section, the kinematic control approach is used The solution of the forward kinematics problem for a to modify the posture of the Four-Bar linkage mecha- Gough-Stewart platform is a very difficult task due to nism in order to perform a task of interest. Here, we the large number and complicated form of the con- assume that the control objective is to drive the cur- straints. From the length of the links, we can solve the rent end-effector orientation ϕ to a desired time-varying structure equations to find the joint angles and then de- orientation ϕd(t), that is, termine the platform posture. The forward kinematics map of the mechanism can be obtained by calculating ϕ → ϕd(t) , eϕ = ϕd(t) − ϕ → 0 , (25) the position and orientation of the frame E¯s with re- 4 × denotes the vector cross product. spect to the base frame E¯0, specified for each kinematic

564 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 nism, that can be used to calculate the angle of the pas- y7 sive joints θp in terms of the angle of the active joints θa. 7 x7 The solution for this system of equations can be trivial, as in the case of the Four-Bar linkage mechanism, or d8 be complex, for the case of the Gough-Stewart platform presented in this section. y9 x9 The forward kinematics map of the planar Gough- y8 Stewart platform can be obtained by using the method- x8 9 ology presented in (Zhang and Gao, 2006), where the x2 yS x5 system with six equations and six unknowns variables y3 y6 ∈R6 y2 y5 (θp ) is solved by means of the Ritt-Wu’s character- x3 xS x6 istic set method. 3 ES 6 3.3.2 Differential kinematics

d2 d5 The differential kinematics equation is obtained consid- x1 y0 x4 ering the various open chains, which compose the mech- 1 4 y1 x0 y4 anism structure. The platform velocity can be derived by differentiating the structure equation, obtaining a E0 Jacobian matrix for each chain:

Figure 2: Planar Gough-Stewart platform.       ˙ ˙ ˙ θ1 θ4 θ7  ˙   ˙   ˙  chain: v = SJ1 d2 =SJ2 d5 =SJ3 d8 , (38) ˙ ˙ ˙ θ3 θ6 θ9 ps = |p01 +p{z13 +p3}s =p|04 +p{z46 +p6}s =p|07 +p{z79 +p9}s , chain 1 chain 2 chain 3 ϕs = θ1 + θ3 = θ4 + θ6 = θ7 + θ9 , (28) T T ˙ ∈ R3×6 | {z } | {z } | {z } where v = [p ˙s ϕs], S is the selection matrix 6×3 chain 1 chain 2 chain 3 given in (15), and the Jacobian matrices J1 ∈R , J2 ∈ 6×3 6×3 R and J3 ∈R are: where ϕs ∈ R represents the platform orientation (for the planar case the orientation R is an elementary rota- tion about the z axis, i.e. R = Rz(ϕ)) and p01, p04 and [ ] × × p07 are assumed to be constant and known, with ⃗z0 p0s R01(θ1) ⃗x0 ⃗z0 p3s J1 = , (39) ⃗z0 0 ⃗z0 p = d R (θ ) ⃗x , (29) [ ] 03 2 01 1 0 ⃗z × p R (θ ) ⃗x ⃗z × p J = 0 4s 04 4 0 0 6s , (40) p3s = l R01(θ1) R13(θ3) ⃗x0 , (30) 2 ⃗z 0 ⃗z [ 0 0 ] p0s = p03 + p3s , (31) ⃗z0 × p7s R07(θ7) ⃗x0 ⃗z0 × p9s J3 = . (41) p46 = d5 R04(θ4) ⃗x0 , (32) ⃗z0 0 ⃗z0 p6s = l R04(θ4) R46(θ6) ⃗x0 , (33)

p4s = p46 + p6s , (34)

p79 = d8 R07(θ7) ⃗x0 , (35) It is important to note that the Jacobians J1,J2 and J3 depends on the angles of the active and passive joints. p9s = l R07(θ7) R79(θ9) ⃗x0 , (36) For the planar Gough-Stewart platform, it is not triv- p7s = p79 + p9s, (37) ial to calculate the position of the passive joints θp in terms of the active joints θ by using its forward kine- where l ∈ R is the distance from the frame E¯s to frames a matics equations. However, in order to obtain the dif- E¯3, E¯6 and E¯9 respectively. ferential kinematics equations of the system, the posi- Note that, considering a parallel mechanism, the struc- tion of the passive joints can be obtained, for instance, ture equations allow the formulation of a system of equa- by integrating∫ the velocity of the passive joints (7), i.e. −1 ˙ tions, containing the kinematic constraint of the mecha- θp = Jcp Jcaθadτ.

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 565 The Jacobian can be rewritten in a more conventional 4 COOPERATING MANIPULATORS way, stacking the Jacobians for each open chain.   In the robotics area, many tasks are difficult or even im- ˙ θ1 possible to be performed by using a single robot. Typ-  ˙   d2  ical examples include: positioning of heavy payloads,  ˙     θ3    complex assembly of multiple parts or manipulation of  ˙  SJ1 0 0  θ4  I flexible objects. These tasks become feasible with the    ˙    0 SJ2 0  d5  = I v , (42) employment of more than one robot operating cooper-  ˙  0 0 SJ3  θ6  I atively (Caccavale and Uchiyama, 2008). The mecha- | {z }  ˙  | {z } J  θ7  A nism presented in Figure 3 is constituted by a closed  ˙  d8 kinematic chain, where all joints are active, and con- θ˙ siders a continuous contact of the end-effector with the | {z9 } manipulated object. θ˙ or, equivalently In general, cooperating robots correspond to over- J θ˙ = A v , (43) actuated systems or redundant systems, where the ef- where the matrix A ∈ R9×3 has full column rank. By fective degrees of freedom are higher than those strictly using this notation, it is possible to obtain the constraint required to perform a given task (ne >nt). This capac- 6×9 ity increases the dexterity of the mechanism, and can be Jacobian Jc ∈R and the manipulator Jacobian Jm ∈ R3×9 by means of: used to avoid joint limits, singularities and workspace obstacles, as well as to minimize the energy consump- ˜ † Jc = AJ,Jm = A J, (44) tion and joint torques or to optimize a performance in- dex (e.g., manipulability). where a possible choice for A˜ and A† is given by Ae = [I −I 0] and A† = [I 0 0]. 4.1 Forward kinematics As previously stated, from (8) and by using Jc and Jm, the differential kinematics equation of the mechanism The forward kinematics map for a redundant robotic ˙ 3×3 is given by v = J¯θa, where J¯ ∈ R is given by J¯ = system composed by two cooperating robots can be de- − −1 Jma JmpJcp Jca. scribed by means of the posture of the frame attached to the manipulated object E¯c with respect to the base ¯ 3.3.3 Kinematic control frame E0, determined for each manipulator that belongs to the robotic system. The structure equations of the In accordance with the Section 3.2.3, the kinematic con- redundant mechanism illustrated in Figure 3 are given trol approach can be used again to modify the pos- respectively by ture of the platform, in order to perform a planar positioning task. Here, we assume that the control pc = |p01 {z+ p1}c = |p02 {z+ p2}c , (47) objective is to follow a desired time-varying posture robot 1 robot 2 x (t) = [pT (t) ϕ (t)]T from the current platform pos- sd sd sd ϕ = ϕ + ϕ = ϕ + ϕ , (48) T T c | 01 {z 1}c | 02 {z 2}c ture xs = [ps ϕs] , that is, robot 1 robot 2 xs → xsd(t) , es = xsd − xs → 0 , (45) 3 where where es ∈R is the platform posture error.

Now, the control scheme to be designed has to command p ∈R3 : is the position vector of the end-effector frame ˙ ˙ ˙ ˙ T 0i the velocity of the active joint θa =[ d2 d5 d8 ] , in order of the i-th manipulator E¯i with respect to the base frame to achieve the control objective (45). Then, using a E¯ . control law based on a proportional with feedforward 0 action p ∈ R3 : is the position vector of the manipulated ob- ˙ −1 ic u = θa = J¯ (Ks es +x ˙ sd) , (46) ject frame E¯c with respect to the end-effector frame of where Ks is the controller gain matrix, the posture error the i-th manipulator E¯i. dynamics is governed by e˙s+Ks es =0, provided that the 3 platform motions are away from singular configurations. ϕ0i ∈ R : denotes the orientation of the end-effector Hence, by a proper choice of Ks as a positive definite frame of the i-th manipulator E¯i with respect to the matrix, implies that limt→∞ es(t) = 0. base frame E¯0.

566 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 1+ yC y13 v v2+ l13 xC 13 x23 x13 EC l23 l22 l12 23 v1- x12 v2- y23 x22 22 12 y12 y22

y0 l21 l11 x11 x21 y21 11 21 y11 x0 E0

Figure 3: Cooperating robot arms carrying a rigid object.

3 ϕic ∈ R : denotes the orientation of the manipulated The relative velocity of the each contact point can be object frame E¯c with respect to the end-effector frame parameterized by a velocity vector wi by using: of the i-th manipulator E¯ . i − + T vi = vi + Hi wi , (51) T The structure equations introduce kinematic constraints where the columns of the matrix Hi represent the di- on the system, due to the continuous contact of the rections for free motion at the contact points. robots with the manipulated object. In contrast with The Jacobian can be rewritten in a more conventional parallel mechanism, the number of constraints is not way stacking the Jacobians for each open kinematic equal to the number of passive joints of the robots. chain as [ ] [ ] Indeed, for the mechanism presented in Figure 3, the + J1 0 ˙ v1 passive joints are associated to the contact points be- θ = + , (52) 0 J2 v tween the manipulators and the object (Caccavale and | {z } | {z2 } Uchiyama, 2008). J v+ or equivalently ˙ + 4.2 Differential kinematics J θ = v . (53) Thus, the differential kinematics relations can be rewrit- + Considering the open chain, the end-effector velocity vi ten as + T − − of the i-th manipulator is related with the velocities of v + H w = v , v = A vc , (54) the joints θ by i where w =[wT wT ]T ,H =[HT HT ]T and AT =[AT AT ] + ˙ 1 2 1 2 1 2 vi = Ji(θi) θi , (49) has full rank. ˙ ˙ ˙ where Ji is the Jacobian of the i-th manipulator, ob- The definition θp = w and θa = θ allow us to represent tained as a function of the joint angles θi. the system in a more generally form, according to (5) ¯ and (6), by means of (Wen and Wilfinger, 1999) Now, we consider vc the velocity of the frame Ec fixed [ ] on the manipulated object. The object velocity v− at [ ] ˙ i ˜ T θa A JH ˙ = 0 , (55) the contact points is related with vc by means of | {z } θp [ ] Jc [ ] − I −pic× [ ] ˙ v = Ai vc ,Ai = , (50) † T θa i 0 I A JH ˙ = vc , (56) | {z } θp Jm where Ai is the adjoint transformation which relates the e velocities of the object frame E¯c and the end-effector where A is the annihilating matrix such that, ¯ e † frame of the i-th manipulator EEi . AA = 0, and A is the pseudo-inverse of matrix A such

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 567 that A† A = I. A possible choice for A˜ and A† is given On the other hand, for a redundant mechanism such e − † −1 by A = [A2 A1] and A = [A1 0]. that ne >nt, the same relationship can be rewritten in a generic form as (Sciavicco and Siciliano, 2000; Chiaverini Note that, from (8) and by using Jc and Jm, the differ- et al., 2008): ential kinematics equation of the object is given by vc = J¯θ˙ , where J¯ ∈ R3×6 is given by J¯ = J −J J −1J . θ˙ = J¯† v + (I − J¯† J¯) θ˙ , (59) a ma mp cp ca a | {z } a0 P 4.3 Selection matrices where P denotes the orthogonal projection matrix in the null space of J¯ (i.e. J¯P = 0) and θ˙ is a vector The kinematic constraints of the robotic system due to a0 the contact points are properly represented by means of of arbitrary velocities of the active joints. Note that, a selection matrix H. This matrix acts as a filter that the right side of (59) can be interpreted as a null space accepts or rejects components of motion at the contact velocity, whose effect is to generate internal motions point. that reconfigure the robot structure without changing the end-effector posture. Considering the example presented in Figure 3, for the planar case a multiple robot system with compliant grip- Considering the kinematics control problem of the over- pers does not allow translational and rotational motions actuated mechanism (ne > nt = 1), the control signal is of the manipulated object, which implies that H = 0. equivalent to the velocity of the active joints, that is, u= ˙ On the other hand, for a multiple robot system with- θa. Then, using a control law based on a proportional out grippers, contact points with friction can be con- with feedforward action sidered. In this case, only angular motions between the u = J¯† (x ˙ + K e ) + ( I − J¯† J¯)u ¯ , (60) end-effector and the object are allowed and the selection cd c c matrix H is given by where u¯ is an auxiliary control signal, the posture error   0 dynamics is governed by e˙c + Kc ec =0, where Kc is the H =  0  . (57) controller gain matrix, since the right side of the (60) ¯ 1 is projected in the null space of J. Hence, for a proper choice of Kc as a positive definite matrix, implies that Some examples of other types of contacts and associ- limt→∞ ec(t) = 0. ated values of the selection matrix H are presented in (Murray et al., 1994; Wen and Wilfinger, 1999). The auxiliary control u¯ can be also chosen in order to improve the performance of the mechanism for the task 4.4 Kinematic control execution. A typical choice is ( ) ∂f(θ ) T In this section, the kinematic control approach will be u¯ = K¯ a , (61) used again to modify the posture of the robot manipu- ∂θa lators, in order to perform a planar manipulation task where K¯ > 0 is a gain factor and f(θ ) is an objective with the object of interest. Here, we assume that the a function in terms of the active joint variables, that can control objective is to lead the current posture of the T T be chosen to satisfy a specific performance index. Some object xc = [pc ϕc] to a desired time varying posture T T typical examples are: xcd(t) = [pcd(t) ϕcd(t)] , that is, → − → xc xcd(t) , ec = xcd(t) xc 0 , (58) Manipulability: √ where ec is posture error of the object. T f(θa) = det(J¯J¯ ) , The control scheme to be designed has to command the velocity of the all active joints of the multiple robots which vanishes at a singular configuration; system θ˙ in order to achieve the control objective (58). a Distance from obstacles: According to the differential kinematics of the actuated mechanism v = J¯θ˙ with n = n , the joint velocities c a e t f(θa)=min ∥p(θa) − po∥ , can be obtained from the simple inversion of the Ja- ˙ −1 cobian matrix J¯ by using θa = J¯ v, where v denotes where po is the position vector of a suitable point fixed the Cartesian control law, which is properly designed to on the obstacle and p is the position vector of a generic avoid singular configurations. point along the mechanism structure;

568 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 Joint limits: θami <θai <θaMi , Feasible velocities: For each configuration of the ma- nipulator, R(J¯) is the set of the end-effector velocities ( )2 1 ∑n θ − θ¯ that can be generated by all possible joint velocities θ˙, − ai ai f(θa) = − , and are called the feasible velocities of the end-effector. 2n θaMi θami i=1 The base of R(J¯) is obtained by the first k output singular vectors, which represent the independent lin- where θaMi and θami denote the maximum and min- ¯ ear combinations of the single components of the end- imum joint limits respectively, and θai is the average effector velocities. Then, the effect of a singularity value between θaMi and θami . is to decrease the dimension of R(J¯), by eliminating a linear combination of the components of the end- 4.5 Kinematic singularities effector velocities that belong to the feasible velocities space. The posture of the manipulator, obtained as a function of the joint angles θ, is said to be singular if the Jacobian Null space velocities: For each configuration of the ma- matrix J¯ has not full rank. From (8) we can observe that nipulator, N (J¯) is the set of joint velocities θ˙, that do when the robot is not in a singular configuration it is not produce any end-effector velocity, and are called possible to generate velocities and with the the null space velocities. The base of N (J¯) is obtained end-effector in certain directions. In order to evaluate by the last n−k input singular vector, which represent the linear relation (8), the singular value decomposition the independent linear combinations of the velocities (SVD) method can be used to obtain the rank of the at each joint. The effect of a singularity is to increase Jacobian J¯ and study quasi-linear mappings (Chiaverini the dimension of N (J¯), by adding more one indepen- et al., 2008). dent linear combination of the joint velocities, which produces a zero end-effector velocity. In this context, the SVD of the Jacobian can be repre- sented by 5 NONHOLONOMIC ROBOTS ∑m ¯ T T J = U Σ V = σi ui vi , (62) Other examples of robotic systems with constraints i=1 are the wheeled mobile robots and multifingered robot where U ∈ Rm×m is the orthogonal matrix of output hands. In general, a constraint is said to be holonomic n×n if it restricts the robot motion to a smooth hypersurface singular vectors ui, V ∈ R is the orthogonal matrix of the configuration space. Holonomic constraints can of the input singular vectors vi, and Σ ∈ diag(D, 0) ∈ Rm×n is the matrix whose diagonal submatrix D ∈ be represented locally as algebraic constraints on the m×m robot configuration space ci(θ) = 0 for i = 1, ··· , r. On R contains the singular values σi of the matrix J¯. Considering that rank(J¯)=k, we have the other hand, if the allowable motions of the robotic system are restricted by the velocity constraint in the form ≥ ≥ · · · ≥ ≥ σ1 σ2 σr σk+1 = ... = 0; A(θ) θ˙ = 0 , r×n R(J¯) = span{u1 , ··· , uk}; where A∈R represents a set of r velocity constraints that are not integrable, the constraint is said to be non- N ¯ { ··· } (J) = span vk+1 , , vn , holonomic. where R(J¯) denotes the range space of J¯ and N (J¯) These constraints arise in robotic systems , where an- denotes the null space of J¯. Then, the following analysis gular moment is conserved, as well as rolling contact in terms of the rank of matrix J¯ can be established: is involved. Nonholonomic constraints occur when the instantaneous velocities of the robotic system are re- stricted to an n − r dimensional subspace, but the set ̸ ··· R ¯ ∈ full rank (k =m): (i) σi =0 , i=1, , m , (ii) (J) of reachable configurations is not constrained to some Rm N ¯ ∈ Rn−m , (iii) (J) . n − r dimensional hypersurface in the robot configura- tion space (Murray et al., 1994). rank deficient (k < m): (i) σi ≠ 0 , i = 1, ··· , k , (ii) R ¯ ∈ Rk ⊂ Rm N ¯ ∈ Rn−k (J) , (iii) (J) . Analogously, the challenge is how to consider the prob- lem from the control point of view in order to define the An interpretation of this analysis in terms of velocities system velocities which satisfy the constraints. Con- is presented as follows (Chiaverini et al., 2008): sidering A˜ ∈ Rn×(n−r) the annihilator of matrix A, the

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 569 allowable trajectories of the system can be written as (a) end−effector orientation (b) orientation error 7.5 0.02 possible solutions of the control system φ d 0 θ˙ = A˜(θ) u , (63) φ 7 −0.02 where u ∈ Rn−r is the control signal to be designed in (rad) (rad) −0.04 order to drive the current configuration θ ∈ Rn to a ∈Rn 6.5 −0.06 desired time-varying configuration θd(t) . 0 5 10 0 5 10 (s) (s) (c) end−effector orientation (d) orientation error The main difficulty arises from the fact that this sys- 7.5 0.02 φ tem has not right pseudoinverse, since A contains more d φ 0 rows than columns, and the linearized system is not 7 −0.02 controllable (Murray et al., 1994). However, there are (rad) (rad) 6.5 different approaches to accomplish the control of this −0.04 systems, that consists of both physical remove of the 6 −0.06 0 5 10 0 5 10 nonholonomic constraints and the application of ad- (s) (s) vanced control tools based on nonlinear control the- ory, differential geometry or optimal control (Murray Figure 4: Four-Bar linkage mechanism: (a) end-effector orien- et al., 1994; Bloch, 2003). tation: train of ramps, (b) orientation error, (c) end-effector orientation: sinusoidal wave form, (d) orientation error. 6 SIMULATION RESULTS

In this section, we present simulations results obtained (a) platform position (b) position error from a Four-Bar linkage mechanism, a planar Gough- 18 0.5 Stewart platform and two cooperating robot arms com- 17 0 posed by four revolution joints. The adopted struc- e −0.5 p tural dimensions are: l = 1 m, l = 1.2 m, l = 1.4 m, 16 (m) x 0 1 2 e −1 p l3 = 0.6 m, l4 = 1.4 m, l = 5 m, l11 = l12 = 1.2 m, y 15 l21 = l22 = 1 m and l13 = l23 = 0.6 m. For the con- −1.5 p 0 5 10 sidered lengths of links, we define the following limits: 14 (s)

Y (m) p d (c) orientation error θ1 ∈ [ 0.72 2.27 ] rad and ϕ ∈ [ 5.88 7.89 ] rad. The con- 0.5 −1 13 trol parameters are: kϕ = 50 rad s and Ks = Kc = −1 −1 −1 0 diag(50 mm s , 50 mm s , 1 rad s ). 12 −0.5 (rad) 11 The time evolution for the orientation error of the Four- −1 Bar linkage mechanism for train of ramps and sinusoidal 10 −1.5 references are shown in Figures 4(b) and 4(d) respec- 10 12 14 16 18 0 5 10 tively. Figures 5(b) and 5(c) illustrate the time evolu- X (m) (s) tion of the position error and orientation error for the Gough-Stewart platform. The position and orientation Figure 5: Gough-Stewart platform: (a) platform position, (b) errors for the object handled by two cooperating robots position error, (c) orientation error. are shown in Figures 6(b) and 6(c) respectively. The trajectory following for all mechanisms are presented re- spectively in Figures 4(a)-4(c), 5(a) and 6(a), where it invoking the constraint equation. In order to show the can observe that a good performance is achieved by us- applicability of the presented methodology, simulations ing the presented methodology. results were included for a Four-Bar linkage mechanism, a planar Gough-Stewart platform and two cooperating 7 CONCLUSIONS AND PERSPECTIVES robots.

This work presents a control methodology for robotic It is worth mentioning that the methodology presented systems under kinematics constraints based on a novel in this section 3 is implemented in the suspension control scheme in the robotics literature, which regards the con- system of the Environmental Hybrid Robot, recently de- straints on passive joint velocities. The key idea is to veloped by CENPES/Petrobras, which is an amphibi- consider the kinematic constraints of the mechanism ous 4-wheel- composed by a planar parallel from their structure equations, rather than explicitly mechanism in each suspension (Freitas et al., 2010).

570 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 (a) object position (b) position error tors, IEEE/ASME Transactions on Mechatronics 19.6 0.6 p e 8(4): 483–491. c p p 0.4 x 19.4 cd e p y Chiaverini, S., Oriolo, G. and Walker, I. D. (2008). 0.2 19.2 (m) Kinematically redundant manipulators, in B. Si- 0 ciliano and O. Khatib (eds), Springer Handbook of 19 −0.2 Robotics, 1st edn, Springer-Verlag Ltd., pp. 245– 0 5 10 18.8 (s) 268.

Y (m) (c) orientation error 0.3 18.6 e Freitas, G. M., Gleizer, G., Lizarralde, F., Hsu, L. and o 0.2 dos Reis, N. R. S. (2010). Kinematic reconfigurabil- 18.4 0.1 ity control for an environmental mobile robot op- (rad) 18.2 0 erating in the amazon rain forest, Journal of Field Robotics 27(2): 197–216. 18 −0.1 8.5 9 9.5 10 10.5 0 5 10 X (m) (s) Gosselin, C. and Angeles, J. (1990). Singularity analysis of closed-loop kinematic chains, IEEE Transactions Figure 6: Cooperating robots: (a) object position, (b) position on Robotics and Automation 6(3): 281–290. error, (c) orientation error. Kim, J., Park, F. C., Ryu, S. J., Kim, J., Hwang, J. C., Park, C. and Iurascu, C. C. (2001). Design and Some research topics, applied to redundant manipula- analysis of a redundantly actuated parallel mech- tors and parallel robots, that can be investigated fol- anism for rapid machining, IEEE Transactions on lowing the ideas presented in this work are: to consider Robotics and Automation 17(4): 423–434. the dynamic control problem for these mechanisms, re- lax the assumption of the to be fully Kövecses, J., Piedbœuf, J.-C. and Lange, C. (2003). known and develop a strategy for singularity and obsta- Dynamics modeling and simulation of constrained cle avoidance. robotic systems, IEEE/ASME Transactions on Mechatronics 8(2): 165–177. ACKNOWLEDGMENTS Liu, G., Lou, Y. and Li, Z. (2003). Singularities of parallel manipulators: A geometric treatment, This work was partially supported by Brazilian Found- IEEE Transactions on Robotics and Automation ing agencies CNPq, CAPES and FAPERJ. 19(4): 579–594.

Merlet, J.-P. (1993). Parallel manipulators: state of the REFERENCES art and perspectives, Advanced Robotics 8(6): 589– Bicchi, A. and Prattichizzo, D. (2000). Manipulabil- 596. ity of cooperating robots with unactuated joints Merlet, J.-P. and Gosselin, C. (2008). Parallel mecha- and closed-chain mechanisms, IEEE Transactions nisms and robots, in B. Siciliano and O. Khatib on Robotics and Automation 16(4): 336–345. (eds), Springer Handbook of Robotics, 1st edn, Bloch, A. M. (2003). Nonholomic Mechanics and Con- Springer-Verlag Ltd., pp. 269–285. trol, Springer Verlag. Murray, R. M., Li, Z. and Sastry, S. S. (1994). A Math- Caccavale, F. and Uchiyama, M. (2008). Cooperative ematical Introduction to Robotic Manipulation, 1st manipulators, in B. Siciliano and O. Khatib (eds), edn, CRC Press Inc., Boca Raton, FL, USA. Springer Handbook of Robotics, 1st edn, Springer- Namvar, M. and Aghili, F. (2005). Adaptive motion- Verlag Ltd., pp. 701–718. force control of coordinated robots interacting with Caurin, G. A. P. and Pedro, L. M. (2009). Hybrid mo- geometrically unknown environments, IEEE Trans- tion planning approach for robot dexterous hands, actions on Robotics 21(4): 678–694. Journal of the Brazilian Society of Mechanical Sci- ences & Engineering 31(4):289–296. O’Brien, J. F., Jafari, F. and Wen, J. T. (2006). Determination of unstable singularities in paral- Cheng, H., Yiu, Y.-K. and Li, Z. (2003). Dynamics and lel robots with N-arms, IEEE Transactions on control of redundantly actuated parallel manipula- Robotics 22(1): 160–167.

Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011 571 Pazelli, T., Terra, M. H. and Siqueira, A. A. (2011). Experimental investigation on adaptive robust con- troller designs applied to a free-floating space ma- nipulator, Control Engineering Practice 1(1): 1–14. Pietsch, I. T., Krefft, M., Becker, O. T., Bier, C. C. and Hesselbach, J. (2005). How to reach the dynamic limits of parallel robots ? an autonomous control approach, IEEE Transactions on Automation Sci- ence and Engineering 2(4): 369–380. Ribeiro, L., Guenther, R. and Martins, D. (2008). Screw-based relative jacobian for manipulators co- operating in a task, ABCM Symposium Series in Mechatronics 3: 276–285. Rosario, J. M., Dumur, D. and Machado, J. T. A. (2007). Control of a 6-DOF parallel manipulator through a mechatronic approach, Journal of Vibra- tion and Control 13(9): 1431–1446. Sciavicco, L. and Siciliano, B. (2000). Modelling and Control of Robot Manipulators, 2nd edn, Springer- Verlag Ltd., New York, NY, USA. Siciliano, B. (1990). Kinematic control of redundant robot manipulators: A tutorial, Journal of Intelli- gent and Robotic Systems 3(3): 201–212. Siciliano, B., Sciavicco, L., Villani, L. and Oriolo, G. (2008). Robotics: Modelling, Planning and Control, 1st edn, Springer-Verlag London Ltd. Simas, H., Guenther, R., da Cruz, D. F. M. and Mar- tins, D. (2009). A new method to solve robot in- verse kinematics using Assur virtual chains, Robot- ica 27: 1017–1022. Tinos, R., Terra, M. H. and Ishihara, J. Y. (2006). Mo- tion and force control of cooperative robotic ma- nipulators with passive joints, IEEE Transactions on Control System Technology 14(4): 725–734. Wen, J. T. and O’Brien, J. F. (2003). Singularities in three-legged platform-type parallel mechanisms, IEEE Transactions on Robotics and Automation 19(4): 720–727. Wen, J. T.-Y. and Wilfinger, L. S. (1999). Kinematic manipulability of general constrained rigid multi- body systems, IEEE Transactions on Robotics and Automation 15(3): 558–567. Zhang, G.-F. and Gao, X.-S. (2006). Planar generalized stewart platforms and their direct kinematics, in H. Hong and D. Wang (eds), Automated Deduction in Geometry, Vol. 3763 of Lecture Notes in Com- puter Science, Springer-Verlag Berlin / Heidelberg, pp. 198–211.

572 Revista Controle & Automação/Vol.22 no.6/Novembro e Dezembro 2011