Acessibilidade / Reportar erro

Kinematic control of constrained robotic systems

Controle de sistemas robóticos com restrições cinemáticas

Abstracts

This paper addresses the posture control problem for robotic systems subject to kinematic constraints. The key idea is to consider the kinematic constraints of the mechanisms from their structure equations, instead of explicitly using the constraint equations. A case study for parallel robots and cooperating redundant robots is discussed based on the following concepts: forward kinematics, differential kinematics, singularities and kinematic control. Simulations results, obtained with a Four-Bar linkage mechanism, a planar Gough-Stewart platform and two cooperating robots, illustrate the applicability and versatility of the proposed methodology.

Parallel robots; redundant robots; multi-robot coordination; kinematic singularities


Este artigo considera o problema de controle de postura para sistemas robóticos com restrições cinemáticas. A ideia principal é considerar as restrições cinemáticas dos mecanismos a partir de suas equações estruturais, ao invés de usar explicitamente a equação de restrição. Um estudo de caso para robôs paralelos e robôs cooperativos é discutido baseado nos conceitos de cinemática direta, cinemática diferencial, singularidades e controle cinemático. Resultados de simulação, obtidos a partir de um mecanismo Four-Bar linkage, uma plataforma de Gough-Stewart planar e dois robôs cooperativos, ilustram a aplicabilidade e versatilidade da metodologia proposta.

robôs paralelos; robôs redundantes; coordenação multi-rôbos; singularidades cinemáticas


ROBÓTICA

Kinematic control of constrained robotic systems

Controle de sistemas robóticos com restrições cinemáticas

Gustavo M. Freitas; Antonio C. Leite; Fernando Lizarralde

Department of Electrical Engineering - COPPE Federal University of Rio de Janeiro, Rio de Janeiro, RJ, Brazil, gfreitas@coep.ufrj.br, toni@coep.ufrj.br, fernando@coep.ufrj.br

ABSTRACT

This paper addresses the posture control problem for robotic systems subject to kinematic constraints. The key idea is to consider the kinematic constraints of the mechanisms from their structure equations, instead of explicitly using the constraint equations. A case study for parallel robots and cooperating redundant robots is discussed based on the following concepts: forward kinematics, differential kinematics, singularities and kinematic control. Simulations results, obtained with a Four-Bar linkage mechanism, a planar Gough-Stewart platform and two cooperating robots, illustrate the applicability and versatility of the proposed methodology.

Keywords: Parallel robots, redundant robots, multi-robot coordination, kinematic singularities.

RESUMO

Este artigo considera o problema de controle de postura para sistemas robóticos com restrições cinemáticas. A ideia principal é considerar as restrições cinemáticas dos mecanismos a partir de suas equações estruturais, ao invés de usar explicitamente a equação de restrição. Um estudo de caso para robôs paralelos e robôs cooperativos é discutido baseado nos conceitos de cinemática direta, cinemática diferencial, singularidades e controle cinemático. Resultados de simulação, obtidos a partir de um mecanismo Four-Bar linkage, uma plataforma de Gough-Stewart planar e dois robôs cooperativos, ilustram a aplicabilidade e versatilidade da metodologia proposta.

Palavras-chave: robôs paralelos, robôs redundantes, coordenação multi-rôbos, singularidades cinemáticas.

1 INTRODUCTION

In advanced robotic systems, accuracy, repeatability and load capacity are fundamental skills for carrying out several practical tasks, where the robot end-effector has to perform some operation on a constraint surface or to manipulate an object of the environment (Siciliano et al., 2008). The structure of a robot manipulator consists of a set of rigid bodies or links connected by means of revolute or prismatic joints, integrating a kinematic chain. In general, one end of the chain is fixed to a base, whereas an end-effector is connected to the other end. From a topological point of view, a kinematic chain can be classified in (i) open or serial, when there is only one sequence of links and joints connecting the two ends of the chain, and (ii) closed or parallel, when a sequence of links and joints are arranged such that at least one loop exists. Usually, serial chain robots can present limitations in their reachable workspace, kinematic singularities, reduced accuracy and rigidity, or be sensitive to scaling. These drawbacks could be overcome by the use of parallel robots to increase rigidity, redundant robots or mobile manipulators (manipulators mounted on a mobile robot, e.g., remotely operated vehicles, wheeled robots) to augment the system workspace and/or avoid singularities in order to accomplish the task of interest (Murray et al., 1994).

Parallel robots provide a rigid connection between the base structure and the payload to be handled by the end-effector, with positioning accuracy superior to the one obtained by serial chain manipulators (Merlet, 1993; Merlet and Gosselin, 2008). The main disadvantages of using parallel robots are: workspace limitation, more complex forward kinematics maps and more involved singularity analysis (Wen and O'Brien, 2003; O'Brien et al., 2006; Simas et al., 2009). For instance, in contrast to serial chain manipulators, the singularities in parallel mechanisms may have different characteristics.

In this context, the singularities can be classified into three basic types (Gosselin and Angeles, 1990; Liu et al., 2003):

(i) configuration space singularities: when the rank of the structure equations drops and, thus, the end-effector loses the ability to move instantaneously in some directions;

(ii) end-effector singularities: when the end-effector loses degrees of freedom (DOF), that is, the motion of the active joints can result in no motion of the end-effector;

(iii) actuator singularities: when the actuator of the manipulator or the active joints cannot produce end-effector forces and torques in some directions.

The kinematic and dynamic control problems for parallel robots are considered in (Kövecses et al., 2003; Cheng et al., 2003; Rosario et al., 2007) and an autonomous control approach to reach the dynamic limits of parallel mechanisms is presented in (Pietsch et al., 2005).

Redundant manipulators have more degrees of freedom1 1 For some authors, this term has the same meaning as the degrees of mobility. that those strictly necessary to perform a given task. Redundancy is therefore a relative concept for a robot manipulator, depending on the particular type of task to be executed. For example, six DOF are necessary for positioning and orienting a robot end-effector, thus a 6-DOF manipulator is considered non-redundant. However, if only the positioning task is of concern, the same arm becomes redundant. The extra degrees of freedom provide more dexterity to the robot structure, and it can be used to avoid kinematic singularities and collision with obstacles, as well as to optimize the robot motion with respect to a cost function (e.g., joint torque energy). Furthermore, considering the presence of mechanical joint limits, redundant manipulators can also be used to increase the robot workspace (Siciliano, 1990; Chiaverini et al., 2008). In general, multiple cooperating robot arms and mobile manipulators, for instance, belong to the class of redundant robots (Caccavale and Uchiyama, 2008).

The coordination of multiple robots is an essential activity in several industrial applications, such as assembly and manufacturing tasks, where multiple robotic arms are often grasping an object in contact with the environment. Typical examples include: deburring, contour following, grinding, machining, painting, polishing and object aligning (Namvar and Aghili, 2005) or even robot dexterous hands (Caurin and Pedro, 2009). In this framework, a study of the differential kinematics and manipulability indexes for multiple cooperating robot arms with un actuated joints is presented in (Wen and Wilfinger, 1999; Bicchi and Prattichizzo, 2000). Advanced motion and force control of cooperative robotics manipulators with passive joint are considered in (Tinos et al., 2006; Pazelli et al., 2011). Ascrew-based systematic method to derive the relative Jacobian for two cooperating robots is developed in the recently published work (Ribeiro et al., 2008; Simas et al., 2009).

Motivated by several applications to parallel robots and redundant manipulators, this paper provides a control methodology for robotic systems under kinematic constraints based on a novel proposed method (Wen and O'Brien, 2003). The key idea is to consider the kinematic constraints of these mechanisms from their structure equations, rather than explicitly using the constraint equations. The major advantage of this methodology is its applicability and versatility when different robotic systems are considered. Simulation results are obtained from the kinematic models of a Four-Bar linkage mechanism, a planar Gough-Stewart platform and two cooperating robots.

Terminology and Notation

In this work, the following notation, definition and assumptions will be adopted:

a = [a a

a] denotes the orthonormal frame a and a, a, a denote the unit vectors of the frame axes.

▪ For a given vector xn, its elements are denoted by xi for i = 1 ∙∙∙ n, that is, x = [x1x2 ∙∙∙ xn]T.

ne: number of effective degrees of freedom of the mechanism2 2 The effective degrees of freedom for a mechanism can be calculate by means of the Gruebler's formula, provided that the constraints imposed by the joints are independent (Murray et al., 1994). .

nt: number of degrees of freedom required toper-form a task.

Definition 1 Arobotic system can be classified as: (i) non-redundant: ne < nt; (ii) redundant: ne > nt.

Assumption 1 For an open-chain mechanism constituted by i + 1 links connected by n joints, where the link 0 is fixed, each joint provides a single degree of mobility to the mechanism structure, and n = i.

Assumption 2 For a closed-chain mechanism constituted by i + 1 links, the number of joints n must be greater than i. In particular, the number of closed loops is equal to ni.

2 CONSTRAINED ROBOTIC SYSTEMS

This section considers the kinematics of the closed-chain robotic systems subject to kinematic constraints on velocity. The general methodology to derive the forward kinematics and the differential kinematics equations for constraint-based robotics systems is to open the loop of the mechanism, propagate the kinematics along the branches and add the kinematic constraints.

Let p ∈ (R)3 be the position of the end-effector frame E with respect to the robot base frame 0, and R ∈ SO(3) the orientation of the end-effector frame E with respect to the robot base frame 03 3 Special Orthogonal Group SO(3) = { R ∈ 3×3 : RT R = I, det( R) = 1} . In this context, the posture (position and orientation) of the robot end-effector can be obtained from the forward kinematics map as

where k(∙): n→ {3, SO(3)}is a non-linear mapping and θn is the vector of joint variables (or generalized coordinates) expressed in the unconstrained configuration space . The vector of active joints (or actuated joints) is denoted by θa ∈ , whereas the vector of passive joints (or unactuated joints) is denoted by θp, where n = na + np. Then, we can rearrange the vector of joint angles, such that, θT = . The kinematic constraints can be locally represented as algebraic constraints in the configuration space by

where c(∙): nr. Then, the mechanism has ne = n r effective degrees of freedom and the following assumption is considered:

Assumption 3 The number of active joints is equal to the effective degrees of freedom, that is, na = ne.

Note that, the constraint described in (2) is an example of holonomic constraint. In general, a constraint is said to be holonomic if it restricts the motion of the system to a smooth hypersurface in the configuration space (Murray et al., 1994).

Now, considering that the constraint can be written in terms of the joints velocity vectors, we have

where Jc = ∈ r × n is named the constraint Jacobian.

On the other hand, the end-effector velocity v, composed by the linear velocity and the angular velocity ω (defined as = ω × R (Murray et al., 1994)), can be related with the velocity by

where Jmn × n is the manipulator geometric Jacobian (Siciliano et al., 2008).

Partition the Jacobians Jc and Jm according to the dimension of active-passive joint variables, θa and θp, we have Jc = [Jca Jcp] and Jm = [Jma Jmp]. Then, without loss of generality, the equations (3) and (4) can be rewritten as (Wen and O'Brien, 2003; O'Brien et al., 2006):

where Jca, Jcp, JmaJma and ∈ .

From (5),

p can be calculated in terms of the active joints as

where Jcp is invertible if Assumption 3 holds, i.e. the number of passive joints is equal to the number of constraints, np = r.

Substituting (7) into (6), the differential kinenatics equation can be rewritten as

where 6 × n-r. In the case that be invertible, the control law is similar to the kinematic control case of the serial chain manipulator. For example, for a given desired position pd(t), a proportional control plus feed forward could be proposed:

where K > 0 is the controller gain matrix and

p3 × n-r is the partition of relating the contribution of the active joint velocity a to the end-effector linear velocity . Note that a PI controller could also be used, however this controller only guarantees zero steady state error for step-type pd. For the orientation control, a representation of the end-effector orientation RSO(3) should be considered, e.g. unit quaternion (Murray et al., 1994).

From the analysis of the equation (8), we conclude that a singularity in occurs when the rank of matrix Jcp drops. In this case, implies that there is internal motion of the joints, even when the active joints are locked. This type of singularity is named by unstable singularity or actuator singularity (see (Wen and O'Brien, 2003; Kim et al., 2001) for a detailed discussion).

3 PARALLEL MANIPULATORS

In this section, a planar Four-Bar linkage mechanism is used to illustrate the posture control problem for parallel manipulators. In sequence, the presented methodology is applied to a planar Gough-Stewart platform. A parallel manipulator is a closed-chain mechanism with end-effector and fixed base, composed by the union of two open kinematic chains at least. Parallel manipulators can present advantages over open-chain manipulators in terms of (i) rigidity of the mechanism, due to the presence of two or more closed chains, and (ii) actuators allocation, since in general only ne actuators are necessary (Merlet and Gosselin, 2008).

3.1 Kinematic singularities

The singularities of the parallel mechanisms can be classified into (i) serial or end-effector singularity and (ii) parallel or actuator singularity. When both singularities occur simultaneously, they are named structural singularity (Gosselin and Angeles, 1990).

In a serial singular configuration, the joints can have a nonzero velocity while the mechanism is at rest. In this case, the end-effector loses degrees of freedom in the task space. On the other hand, in a parallel singular configuration there exist nonzero velocities of the mechanism for which the joint velocities are null, and in this case the end-effector gains some degrees of freedom in the task space. A parallel singularity is especially important for parallel mechanisms since it corresponds to configurations where the robot loses the controlability. Moreover, excessive forces can occur in the vicinity of singular poses and consequently to lead the breakdown of robot parts.

Finally, it is worth to mention that in some cases, singular configurations can be useful. For instance, high amplification factors between the actuated joint motion and the end-effector motion can be essential for improving the sensitivity along some measurements directions for a parallel robot used as a force sensor, or for accurate positioning devices with very small workspace (Merlet and Gosselin, 2008)

3.2 Planar Four-Bar linkage mechanism

The considered Four-Bar linkage mechanism is formed by a single closed kinematic chain, composed by the union of two open chains (Figure 1). The mechanical structure consists of four rigid bodies connected by means of revolute joints, where the active joint is θa = θ1 and the passive joints are θp = [θ2θ3θ4]T. Note that, links l3 and l4 compose one link.


Four-Bar linkages are the simplest, least expensive and most efficient closed-loop kinematic mechanism toper-form a wide variety of complicated motions. Linkage-type mechanisms are primarily used for industrial applications as machine components and tools, automotive suspensions and bolt cutters.

3.2.1 Forward kinematics

The forward kinematics map of a parallel manipulator is described by the posture (position and orientation) of the end-effector frame E with respect to the base frame 0, derived for each kinematic chain. For parallel mechanisms, the forward kinematics problem is usually much more complex than the inverse kinematics problem, due to the closed loop nature of the mechanism. In order to obtain the forward kinematic, an appropriate frame i for i = 1, ∙∙∙, l is attached to i-th link. Thus, the structure equations (or loop equations) of the Four-Bar linkage mechanism are given by:

where ϕ represents the end-effector orientation (for the planar case the orientation R is an elementary rotation about the z axis, i.e. R = Rz (ϕ)) and pij3 is the position vector of the origin of frame j with respect to the origin of the frame i. The structure equations of the mechanism introduce constraints between the joint angles of the manipulator. Considering the planar case, where p2 and ϕ, equations (10) and (11) correspond to r = 3 constraints. Thus, the Four-Bar linkage mechanism with n = 4 joints has ne = nr = 1 effective degrees of freedom. This result can also be obtained by using the Gruebler's formula for planar motions (Murray et al., 1994).

Remark 1 For parallel mechanisms, the number of passive joints is always equal to the number of constraints, that is, np = r. Thus, the vector of joint variables θn can be partitioned as (θa, θp), where θanr are the active joint variables and θpr are the passive joint variables.

The kinematic constraints of the mechanism allow us to control the end-effector orientation by specifying only the angular position of the active joint θa = θ1, and the other joint variables must take on values in order to satisfy the structure equations. Thus, the passive joints θp3 can be obtained asa function of active joints θa by means of the forward kinematics equation of the mechanism, by using the chain 1

or the chain 2

where Rij(θi) ∈ SO(3) denotes the orientation of the frame j with respect to the frame i. Note that, in this case, Rij is an elementary rotation matrix by an angle θi about the axis z of the frame i. After the use of geometric and algebraic identities, the passive joints θp are obtained by

where

In the case that l3 = l0 and l1 = l2, there always exists solution for θ3 and we has that θ2 = θ1 and θ3 = θ4.

Now, it is possible to obtain the end-effector position from (12) or (13), as well as the end-effector orientation from (11), in terms of the active joint θa = θ1.

Remark 2 A more direct technique to solve the inverse kinematics problem and obtain the passive joint variables θp is to apply the methods based on Paden-Kahan subproblems, in particular the subproblems 1 and 3 (Murray et al., 1994), which are geometrically meaningful and numerically stable.

3.2.2 Differential kinematics

Analogously, the differential kinematics of a parallel manipulator is computed by considering the various open kinematic chains that compose the mechanism structure. The end-effector velocity v3 can be obtained from the time derivative of structure equations, resulting in a Jacobian matrix for each serial chain

where S3×6 is a selection matrix given by:

and the Jacobian matrices J16×2 and J26×2 are4 4 × denotes the vector cross product. :

with

The Jacobian of the mechanism can be rewritten in a more usual form, stacking the Jacobian of each open chain:

or equivalently

where the matrix A6×3 has full column rank. Using this notation, it is possible obtain the constraint Jacobian Jc3×4 and the manipulator Jacobian Jm3×4 by means of:

where Ã3×6 is the annihilator of A, such that, ÃA = 0, and A3×6 is the pseudo-inverse of A, such that AA = I. A possible choice is à = [II] and A =[I 0]. From (8), 3×1 can be calculated by = JmaJmp Jca.

3.2.3 Kinematic control

In this section, the kinematic control approach is used to modify the posture of the Four-Bar linkage mechanism in order to perform a task of interest. Here, we assume that the control objective is to drive the current end-effector orientation ϕ toa desired time-varying orientation ϕd(t), that is,

where eϕ is the orientation error.

The control scheme to be designed has to command the velocity of the active joint

a = 1 in order to achieve the control objective (25). Then, using a proportional control law plus feed forward action

where

3 is the third element of and the orientation error dynamics is governed by ϕ + kϕ eϕ = 0, provided that the mechanism motions area way from singular configurations. Hence, by a proper choice of kϕ as a positive constant implies that limt → ∞ eϕ(t) = 0.

3.3 Planar Gough-Stewart platform

Another usual example of parallel mechanisms is the Gough-Stewart platform. Typically, some applications of this structure include: aircraft flight simulators, antennas and telescopes positioning systems, machine tool and crane technologies, and orthopedic surgery. In this section, we consider a planar version of the Gough-Stewart platform (Figure 2). The mechanical structure is composed by the union of three open chains and has nine joints, where three prismatic joints are active θa = [d2d5d8]T, and six revolute joints are passive θp = [θ1θ3θ4θ6θ7θ9]T. We can obtain the effective degrees of freedom for this mechanism by applying the Gruebler's formula for planar motions (Murray et al., 1994):


where i is the number of mobile links in the mechanism, n is the number of joints and fi is the number of degrees of freedom for the i-th joint. From (27),we conclude that the mechanism has three effective degrees of freedom, which allow us to control the position and orientation of the platform respectively, in order to perform planar positioning tasks.

3.3.1 Forward kinematics

The solution of the forward kinematics problem for a Gough-Stewart platform is a very difficult task due to the large number and complicated form of the constraints. From the length of the links, we can solve the structure equations to find the joint angles and then determine the platform posture. The forward kinematics map of the mechanism can be obtained by calculating the position and orientation of the frame s with respect to the base frame 0, specified for each kinematic chain:

where ϕs represents the platform orientation (for the planar case the orientation R is an elementary rotation about the z axis, i.e. R = Rz(ϕ)) and p01, p04 and p07 are assumed to be constant and known, with

where l is the distance from the frame s to frames 3, 6 and 9 respectively.

Note that, considering a parallel mechanism, the structure equations allow the formulation of a system of equations, containing the kinematic constraint of the mechanism, that can be used to calculate the angle of the passive joints θp in terms of the angle of the active joints θa. The solution for this system of equations can be trivial, as in the case of the Four-Bar linkage mechanism, or be complex, for the case of the Gough-Stewart platform presented in this section.

The forward kinematics map of the planar Gough-Stewart platform can be obtained by using the methodology presented in (Zhang and Gao, 2006), where the system with six equations and six unknowns variables (θp6) is solved by means of the Ritt-Wu's characteristic set method.

3.3.2 Differential kinematics

The differential kinematics equation is obtained considering the various open chains, which compose the mechanism structure. The platform velocity can be derived by differentiating the structure equation, obtaining a Jacobian matrix for each chain:

where vT = , S3×6 is the selection matrix given in (15), and the Jacobian matrices J16×3, J26×3 and J36×3 are:

It is important to note that the Jacobians J1, J2 and J3 depends on the angles of the active and passive joints. For the planar Gough-Stewart platform, it is not trivial to calculate the position of the passive joints θp in terms of the active joints θa by using its forward kinematics equations. However, in order to obtain the differential kinematics equations of the system, the position of the passive joints can be obtained, for instance, by integrating the velocity of the passive joints (7), i.e. θp = .

The Jacobian can be rewritten in a more conventional way, stacking the Jacobians for each open chain.

or, equivalently

where the matrix A9×3 has full column rank. By using this notation, it is possible to obtain the constraint Jacobian Jc6×9 and the manipulator Jacobian Jm3×9 by means of:

where a possible choice for à and A is given by à = [II 0] and A = [I 0 0].

As previously stated, from (8) and by using Jc and Jm, the differential kinematics equation of the mechanism is given by v =

a, where 3×3 is given by = JmaJmp Jca.

3.3.3 Kinematic control

In accordance with the Section 3.2.3, the kinematic control approach can be used again to modify the posture of the platform, in order to perform a planar positioning task. Here, we assume that the control objective is to follow a desired time-varying posture xsd(t) = from the current platform posture xs = , that is,

where es3 is the platform posture error.

Now, the control scheme to be designed has to command the velocity of the active joint

a= [2
5
8]T, in order to achieve the control objective (45). Then, using a control law based on a proportional with feed forward action

where Ks is the controller gain matrix, the posture error dynamics is governed by s+ Ks es= 0, provided that the platform motions are away from singular configurations. Hence, by a proper choice of Ks as a positive definite matrix, implies that limt→ ∞ es(t) = 0.

4 COOPERATING MANIPULATORS

In the robotics area, many tasks are difficult or even impossible to be performed by using a single robot. Typical examples include: positioning of heavy payloads, complex assembly of multiple parts or manipulation of flexible objects. These tasks become feasible with the employment of more than one robot operating cooperatively (Caccavale and Uchiyama, 2008). The mechanism presented in Figure 3 is constituted by a closed kinematic chain, where all joints are active, and considers a continuous contact of the end-effector with the manipulated object.


In general, cooperating robots correspond to over-actuated systems or redundant systems, where the effective degrees of freedom are higher than those strictly required to perform a given task (ne > nt). This capacity increases the dexterity of the mechanism, and can be used to avoid joint limits, singularities and workspace obstacles, as well as to minimize the energy consumption and joint torques or to optimize a performance index (e.g., manipulability).

4.1 Forward kinematics

The forward kinematics map for a redundant robotic system composed by two cooperating robots can be described by means of the posture of the frame attached to the manipulated object c with respect to the base frame 0, determined for each manipulator that belongs to the robotic system. The structure equations of the redundant mechanism illustrated in Figure 3 are given respectively by

where

p0i3: is the position vector of the end-effector frame of the i-th manipulator i with respect to the base frame 0.

pic3: is the position vector of the manipulated object frame c with respect to the end-effector frame of the i-th manipulator i.

ϕ0i3: denotes the orientation of the end-effector frame of the i-th manipulator i with respect to the base frame 0.

ϕic3: denotes the orientation of the manipulated object frame c with respect to the end-effector frame of the i-th manipulator i.

The structure equations introduce kinematic constraints on the system, due to the continuous contact of the robots with the manipulated object. In contrast with parallel mechanism, the number of constraints is not equal to the number of passive joints of the robots. Indeed, for the mechanism presented in Figure 3, the passive joints are associated to the contact points between the manipulators and the object (Caccavale and Uchiyama, 2008).

4.2 Differential kinematics

Considering the open chain, the end-effector velocity of the i-th manipulator is related with the velocities of the joints θi by

where Ji is the Jacobian of the i-th manipulator, obtained as a function of the joint angles θi.

Now, we consider vc the velocity of the frame c fixed on the manipulated object. The object velocity at the contact points is related with vc by means of

where Ai is the adjoint transformation which relates the velocities of the object frame c and the end-effector frame of the i-th manipulator .

The relative velocity of the each contact point can be parameterized by a velocity vector wi by using:

where the columns of the matrix represent the directions for free motion at the contact points.

The Jacobian can be rewritten in a more conventional way stacking the Jacobians for each open kinematic chain as

or equivalently

Thus, the differential kinematics relations can be rewritten as

where w = , H = and AT = has full rank.

The definition

p = w and a = allow us to represent the system in a more generally form, according to (5) and (6),by means of (Wen and Wilfinger, 1999)

where à is the annihilating matrix such that, ÃA = 0, and A is the pseudo-inverse of matrix A such that AA = I. A possible choice for à and A is given by A = [A2A1] and A= [A1−1 0].

Note that, from (8) and by using Jc and Jm, the differential kinematics equation of the object is given by vc =

a, where 3×6 is given by = Jma − Jmp Jca.

4.3 Selection matrices

The kinematic constraints of the robotic system due to the contact points are properly represented by means of a selection matrix H. This matrix acts as a filter that accepts or rejects components of motion at the contact point.

Considering the example presented in Figure 3, for the planar case a multiple robot system with compliant grippers does not allow translational and rotational motions of the manipulated object, which implies that H = 0. On the other hand, for a multiple robot system without grippers, contact points with friction can be considered. In this case, only angular motions between the end-effector and the object are allowed and the selection matrix H is given by

Some examples of other types of contacts and associated values of the selection matrix H are presented in (Murray et al., 1994; Wen and Wilfinger, 1999).

4.4 Kinematic control

In this section, the kinematic control approach will be used again to modify the posture of the robot manipulators,in order to perform a planar manipulation task with the object of interest. Here, we assume that the control objective is to lead the current posture of the object xc = to a desired time varying posture xcd(t) = , that is,

where ec is posture error of the object.

The control scheme to be designed has to command the velocity of the all active joints of the multiple robots system

a in order to achieve the control objective (58). According to the differential kinematics of the actuated mechanism vc =
a with ne = nt, the joint velocities can be obtained from the simple inversion of the Jacobian matrix by using a = −1 v, where v denotes the Cartesian control law, which is properly designed to avoid singular configurations.

On the other hand, for a redundant mechanism such that ne > nt, the same relationship can be rewritten in a generic form as (Sciavicco and Siciliano, 2000; Chiaverini et al., 2008):

where denotes the orthogonal projection matrix in the null space of (i.e. = 0) and is a vector of arbitrary velocities of the active joints. Note that, the right side of (59) can be interpreted as a null space velocity, whose effect is to generate internal motions that reconfigure the robot structure without changing the end-effectorposture.

Considering the kinematics control problem of the over actuated mechanism (ne > nt =1), the control signal is equivalent to the velocity of the active joints, that is, u = a. Then, using a control law based on a proportional with feed forward action

where is an auxiliary control signal, the posture error dynamics is governed by c + Kc ec = 0, where Kc is the controller gain matrix, since the right side of the (60) is projected in the null space of . Hence, for a proper choice of Kc as a positive definite matrix, implies that limt→ ∞ ec(t) = 0.

The auxiliary control can be also chosen in order to improve the performance of the mechanism for the task execution. A typical choice is

where > 0 is a gain factor and f(θa) is an objective function in terms of the active joint variables, that can be chosen to satisfy a specific performance index. Some typical examples are:

▪ Manipulability:

which vanishes at a singular configuration;

▪ Distance from obstacles:

f(θa) = min ∥p(θa) − po∥,

where po is the position vector of a suitable point fixed on the obstacle and p is the position vector of a generic point along the mechanism structure;

▪ Joint limits: θami < θai < θaMi,

where and denote the maximum and minimum joint limits respectively, and is the average value between and .

4.5 Kinematic singularities

The posture of the manipulator, obtained as a function of the joint angles θ, is said to be singular if the Jacobian matrix has not full rank. From (8) we can observe that when the robot is not in a singular configuration it is possible to generate velocities and accelerations with the end-effector in certain directions. In order to evaluate the linear relation (8), the singular value decomposition (SVD) method can be used to obtain the rank of the Jacobian and study quasi-linear mappings (Chiaverini et al., 2008).

In this context, the SVD of the Jacobian can be represented by

where Um×m is the orthogonal matrix of output singular vectors ui, Vn×n is the orthogonal matrix of the input singular vectors vi, and Σ ∈ diag(D,0) ∈ m×n is the matrix whose diagonal submatrix Dm×m contains the singular values σi of the matrix . Considering that rank() = k, we have

▪ σ1> σ2> ∙∙∙ > σr > σk+1 = ... = 0;

() = span{u1, ∙∙∙ , uk};

() = span{vk+1, ∙∙∙ , vn},

where () denotes the range space of and () denotes the null space of . Then, the following analysis in terms of the rank of matrix can be established:

▪ full rank (k = m): (i) σi ≠ 0, i = 1, ∙∙∙ , m, (ii) () ∈ m , (iii) () ∈ nm.

▪ rank deficient (k < m): (i) σi ≠ 0, i =1, ∙∙∙ , k, (ii) () ∈ km , (iii) () ∈ nk.

An interpretation of this analysis in terms of velocities is presented as follows (Chiaverini et al., 2008):

▪ Feasible velocities: For each configuration of the manipulator, () is the set of the end-effector velocities that can be generated by all possible joint velocities , and are called the feasible velocities of the end-effector. The base of () is obtained by the first k output singular vectors, which represent the independent linear combinations of the single components of the end-effector velocities. Then, the effect of a singularity is to decrease the dimension of (), by eliminating a linear combination of the components of the end-effector velocities that be long to the feasible velocities space.

▪ Null space velocities: For each configuration of the manipulator, () is the set of joint velocities , that do not produce any end-effector velocity, and are called the null space velocities. The base of () is obtained by the last nk input singular vector, which represent the independent linear combinations of the velocities at each joint. The effect of a singularity is to increase the dimension of (), by adding more one independent linear combination of the joint velocities, which produces a zero end-effector velocity.

5 NONHOLONOMIC ROBOTS

Other examples of robotic systems with constraints are the wheeled mobile robots and multi fingered robot hands. In general, a constraint is said to be holonomic if it restricts the robot motion to a smooth hypersurface of the configuration space. Holonomic constraints can be represented locally as algebraic constraints on the robot configuration space ci(θ) = 0 for i =1, ∙∙∙, r. On the other hand, if the allowable motions of the robotic system are restricted by the velocity constraint in the form

A(θ) = 0,

where A r×n represents a set of r velocity constraints that are not integrable, the constraint is said to be nonholonomic.

These constraints arise in robotic systems, where angular moment is conserved, as well as rolling contact is involved. Nonholonomic constraints occur when the instantaneous velocities of the robotic system are restricted to an nr dimensional subspace, but the set of reachable configurations is not constrained to some nr dimensional hypersurface in the robot configuration space (Murray et al., 1994).

Analogously, the challenge is how to consider the problem from the control point of view in order to define the system velocities which satisfy the constraints. Considering Ãn×(nr) the annihilator of matrix A, the possible solutions of the control system

where unr order to drive the current configuration θn desired time-varying configuration θd(t) ∈ n.

The main difficulty arises from the fact that this system has not right pseudo inverse, since A contains more rows than columns, and the linearized system is not controllable (Murray et al., 1994). However, there are different approaches to accomplish the control of this systems, that consists of both physical remove of the nonholonomic constraints and the application of advanced control tools based on nonlinear control theory, differential geometry or optimal control (Murray et al., 1994; Bloch, 2003).

6 SIMULATION RESULTS

In this section, we present simulations results obtained from a Four-Bar linkage mechanism, a planar Gough-Stewart platform and two cooperating robot arms composed by four revolution joints. The adopted structural dimensions are: l0 = 1 m, l1 = 1.2 m, l2 = 1.4 m, l3 = 0.6 m, l4 = 1.4 m, l = 5 m, l11 = l12 = 1.2 m, l21 = l22 = 1 m and l13 = l23 = 0.6 m. For the considered lengths of links, we define the following limits: θ1∈ [ 0.72 2.27 ] rad and ϕ ∈ [ 5.88 7.89 ] rad. The control parameters are: kϕ = 50 rad s−1 and Ks = Kc = diag(50mm s−1, 50mm s−1, 1 rad s−1).

The time evolution for the orientation error of the Four-Bar linkage mechanism for train of ramps and sinusoidal references are shown in Figures 4(b) and 4(d) respectively. Figures 5(b) and 5(c) illustrate the time evolution of the position error and orientation error for the Gough-Stewart platform. The position and orientation errors for the object handled by two cooperating robots are shown in Figures 6(b) and 6(c) respectively. The trajectory following for all mechanisms are presented respectively in Figures 4(a)-4(c), 5(a) and 6(a), where it can observe that a good performance is achieved by using the presented methodology.





7 CONCLUSIONS AND PERSPECTIVES

This work presents a control methodology for robotic systems under kinematics constraints based on a novel scheme in the robotics literature, which regards the constraints on passive joint velocities. The key idea is to consider the kinematic constraints of the mechanism from their structure equations, rather than explicitly invoking the constraint equation. In order to show the applicability of the presented methodology, simulations results were included for a Four-Bar linkage mechanism, a planar Gough-Stewart platform and two cooperating robots.

It is worth mentioning that the methodology presented in this section 3 is implemented in the suspension control system of the Environmental Hybrid Robot, recently developed by CENPES/Petrobras, which is an amphibious 4-wheel-legged robot composed by a planar parallel mechanism in each suspension (Freitas et al., 2010).

Some research topics, applied to redundant manipulators and parallel robots, that can be investigated following the ideas presented in this work are: to consider the dynamic control problem for these mechanisms, relax the assumption of the robot kinematics to be fully known and develop a strategy for singularity and obstacle avoidance.

ACKNOWLEDGMENTS

This work was partially supported by Brazilian Founding agencies CNPq, CAPES and FAPERJ.

REFERENCES

Bicchi, A. and Prattichizzo, D. (2000). Manipulability of cooperating robots with unactuated joints and closed-chain mechanisms, IEEE Transactions on Robotics and Automation 16(4): 336-345.

Bloch, A. M. (2003). Nonholomic Mechanics and Control, Springer Verlag.

Caccavale, F. and Uchiyama, M. (2008). Cooperative manipulators, in B. Siciliano and O. Khatib (eds), Springer Handbook of Robotics, 1st edn, Springer-Verlag Ltd., pp. 701-718.

Caurin, G. A.P. and Pedro, L. M. (2009). Hybrid motion planning approach for robot dexterous hands, Journal of the Brazilian Society of Mechanical Sciences & Engineering 31(4):289-296.

Cheng, H., Yiu, Y.-K. and Li, Z. (2003). Dynamics and control of redundantly actuated parallel manipulators, IEEE/ASME Transactions on Mechatronics 8(4): 483-491.

Chiaverini, S., Oriolo, G. and Walker, I. D. (2008). Kinematically redundant manipulators, in B. Siciliano and O. Khatib (eds), Springer Handbook of Robotics, 1st edn, Springer-Verlag Ltd., pp. 245-268.

Freitas, G. M., Gleizer, G., Lizarralde, F., Hsu, L. and dos Reis, N. R. S. (2010). Kinematic reconfigurability control for an environmental mobile robot operating in the amazon rain forest, Journal of Field Robotics 27(2): 197-216.

Gosselin, C. and Angeles, J. (1990). Singularity analysis of closed-loop kinematic chains, IEEE Transactions on Robotics and Automation 6(3): 281-290.

Kim, J., Park, F.C., Ryu, S.J., Kim, J., Hwang, J.C., Park, C. and Iurascu, C. C. (2001). Design and analysis of a redundantly actuated parallel mechanism for rapid machining, IEEE Transactions on Robotics and Automation 17(4): 423-434.

Kövecses, J., Piedbœuf, J.-C. and Lange, C. (2003). Dynamics modeling and simulation of constrained robotic systems, IEEE/ASME Transactions on Mechatronics 8(2): 165-177.

Liu, G., Lou, Y. and Li, Z. (2003). Singularities of parallel manipulators: A geometric treatment, IEEE Transactions on Robotics and Automation 19(4): 579-594.

Merlet, J.-P. (1993). Parallel manipulators: state of the art and perspectives, Advanced Robotics 8(6): 589-596.

Merlet, J.-P. and Gosselin, C. (2008). Parallel mechanisms and robots, in B. Siciliano and O. Khatib (eds), Springer Handbook of Robotics, 1st edn, Springer-Verlag Ltd., pp. 269-285.

Murray, R. M., Li, Z. and Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation, 1st edn, CRC Press Inc., Boca Raton, FL, USA.

Namvar, M. and Aghili, F. (2005). Adaptive motion-force control of coordinated robots interacting with geometrically unknown environments, IEEE Transactions on Robotics 21(4): 678-694.

O'Brien, J. F., Jafari, F. and Wen, J. T. (2006). Determination of unstable singularities in parallel robots with N-arms, IEEE Transactions on Robotics 22(1): 160-167.

Pazelli, T., Terra, M. H. and Siqueira, A. A. (2011). Experimental investigation on adaptive robust controller designs applied to a free-floating space manipulator, 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 Science and Engineering 2(4): 369-380.

Ribeiro, L., Guenther, R. and Martins, D. (2008). Screw-based relative jacobian for manipulators cooperating 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 Vibration 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 Intelligent 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 Martins, D. (2009). A new method to solve robot inverse kinematics using Assur virtual chains, Robotica 27: 1017-1022.

Tinos, R., Terra, M.H.and Ishihara, J.Y. (2006). Motion and force control of cooperative robotic manipulators 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 Computer Science, Springer-Verlag Berlin/Heidelberg, pp. 198-211.

Artigo submetido em 10/03/2011 (Id.: 01293)

Revisado em 27/05/2011

Aceito sob recomendação do Editor Associado Prof. Carlos Roberto Minussi

  • Bicchi, A. and Prattichizzo, D. (2000). Manipulability of cooperating robots with unactuated joints and closed-chain mechanisms, IEEE Transactions on Robotics and Automation 16(4): 336-345.
  • Bloch, A. M. (2003). Nonholomic Mechanics and Control, Springer Verlag.
  • Caccavale, F. and Uchiyama, M. (2008). Cooperative manipulators, in B. Siciliano and O. Khatib (eds), Springer Handbook of Robotics, 1st edn, Springer-Verlag Ltd., pp. 701-718.
  • Caurin, G. A.P. and Pedro, L. M. (2009). Hybrid motion planning approach for robot dexterous hands, Journal of the Brazilian Society of Mechanical Sciences & Engineering 31(4):289-296.
  • Cheng, H., Yiu, Y.-K. and Li, Z. (2003). Dynamics and control of redundantly actuated parallel manipulators, IEEE/ASME Transactions on Mechatronics 8(4): 483-491.
  • Chiaverini, S., Oriolo, G. and Walker, I. D. (2008). Kinematically redundant manipulators, in B. Siciliano and O. Khatib (eds), Springer Handbook of Robotics, 1st edn, Springer-Verlag Ltd., pp. 245-268.
  • Freitas, G. M., Gleizer, G., Lizarralde, F., Hsu, L. and dos Reis, N. R. S. (2010). Kinematic reconfigurability control for an environmental mobile robot operating in the amazon rain forest, Journal of Field Robotics 27(2): 197-216.
  • Gosselin, C. and Angeles, J. (1990). Singularity analysis of closed-loop kinematic chains, IEEE Transactions on Robotics and Automation 6(3): 281-290.
  • Kim, J., Park, F.C., Ryu, S.J., Kim, J., Hwang, J.C., Park, C. and Iurascu, C. C. (2001). Design and analysis of a redundantly actuated parallel mechanism for rapid machining, IEEE Transactions on Robotics and Automation 17(4): 423-434.
  • Liu, G., Lou, Y. and Li, Z. (2003). Singularities of parallel manipulators: A geometric treatment, IEEE Transactions on Robotics and Automation 19(4): 579-594.
  • Merlet, J.-P. (1993). Parallel manipulators: state of the art and perspectives, Advanced Robotics 8(6): 589-596.
  • Merlet, J.-P. and Gosselin, C. (2008). Parallel mechanisms and robots, in B. Siciliano and O. Khatib (eds), Springer Handbook of Robotics, 1st edn, Springer-Verlag Ltd., pp. 269-285.
  • Murray, R. M., Li, Z. and Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation, 1st edn, CRC Press Inc., Boca Raton, FL, USA.
  • Namvar, M. and Aghili, F. (2005). Adaptive motion-force control of coordinated robots interacting with geometrically unknown environments, IEEE Transactions on Robotics 21(4): 678-694.
  • O'Brien, J. F., Jafari, F. and Wen, J. T. (2006). Determination of unstable singularities in parallel robots with N-arms, IEEE Transactions on Robotics 22(1): 160-167.
  • 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 Science and Engineering 2(4): 369-380.
  • Ribeiro, L., Guenther, R. and Martins, D. (2008). Screw-based relative jacobian for manipulators cooperating 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 Vibration 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 Intelligent 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 Martins, D. (2009). A new method to solve robot inverse kinematics using Assur virtual chains, Robotica 27: 1017-1022.
  • Tinos, R., Terra, M.H.and Ishihara, J.Y. (2006). Motion and force control of cooperative robotic manipulators 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 Computer Science, Springer-Verlag Berlin/Heidelberg, pp. 198-211.
  • 1
    For some authors, this term has the same meaning as the degrees of mobility.
  • 2
    The effective degrees of freedom for a mechanism can be calculate by means of the Gruebler's formula, provided that the constraints imposed by the joints are independent (Murray et al., 1994).
  • 3
    Special Orthogonal Group
    SO(3) = {
    R
    3×3 :
    RT R =
    I,
    det(
    R) = 1}
  • 4
    × denotes the vector cross product.
  • Publication Dates

    • Publication in this collection
      13 Jan 2012
    • Date of issue
      Dec 2011

    History

    • Reviewed
      27 May 2011
    • Received
      10 Mar 2011
    Sociedade Brasileira de Automática Secretaria da SBA, FEEC - Unicamp, BLOCO B - LE51, Av. Albert Einstein, 400, Cidade Universitária Zeferino Vaz, Distrito de Barão Geraldo, 13083-852 - Campinas - SP - Brasil, Tel.: (55 19) 3521 3824, Fax: (55 19) 3521 3866 - Campinas - SP - Brazil
    E-mail: revista_sba@fee.unicamp.br