Robot Manipulators: Modeling, Performance Analysis and Control
()
About this ebook
- Chapter 1 gives unified tools to derive direct and inverse geometric, kinematic and dynamic models of serial robots and addresses the issue of identification of the geometric and dynamic parameters of these models.
- Chapter 2 describes the main features of serial robots, the different architectures and the methods used to obtain direct and inverse geometric, kinematic and dynamic models, paying special attention to singularity analysis.
- Chapter 3 introduces global and local tools for performance analysis of serial robots.
- Chapter 4 presents an original optimization technique for point-to-point trajectory generation accounting for robot dynamics.
- Chapter 5 presents standard control techniques in the joint space and task space for free motion (PID, computed torque, adaptive dynamic control and variable structure control) and constrained motion (compliant force-position control).
- In Chapter 6, the concept of vision-based control is developed and Chapter 7 is devoted to specific issue of robots with flexible links. Efficient recursive Newton-Euler algorithms for both inverse and direct modeling are presented, as well as control methods ensuring position setting and vibration damping.
Related to Robot Manipulators
Related ebooks
Foundations of Image Science Rating: 0 out of 5 stars0 ratingsPlanar Linkage Synthesis: A modern CAD based approach Rating: 0 out of 5 stars0 ratingsA Catalog of Special Plane Curves Rating: 2 out of 5 stars2/5Automation for Robotics Rating: 0 out of 5 stars0 ratingsMovement Equations 2: Mathematical and Methodological Supplements Rating: 0 out of 5 stars0 ratingsSeismic Inversion: Theory and Applications Rating: 0 out of 5 stars0 ratingsOn Angular Momentum Rating: 0 out of 5 stars0 ratingsTrifocal Tensor: Exploring Depth, Motion, and Structure in Computer Vision Rating: 0 out of 5 stars0 ratingsKronecker Products and Matrix Calculus with Applications Rating: 0 out of 5 stars0 ratingsInfrared Spectroscopy of Triatomics for Space Observation Rating: 0 out of 5 stars0 ratingsDesign and Analysis of Composite Structures for Automotive Applications: Chassis and Drivetrain Rating: 0 out of 5 stars0 ratingsSolid Analytic Geometry Rating: 5 out of 5 stars5/5Mathematical Modelling: A Graduate Textbook Rating: 0 out of 5 stars0 ratingsIntroduction to Operational Modal Analysis Rating: 0 out of 5 stars0 ratingsSteel Connection Analysis Rating: 0 out of 5 stars0 ratingsConstructed Layered Systems: Measurements and Analysis Rating: 0 out of 5 stars0 ratingsRobot Learning by Visual Observation Rating: 0 out of 5 stars0 ratingsTwo Dimensional Computer Graphics: Exploring the Visual Realm: Two Dimensional Computer Graphics in Computer Vision Rating: 0 out of 5 stars0 ratingsModeling of Complex Systems: Application to Aeronautical Dynamics Rating: 0 out of 5 stars0 ratingsPharmaceutical Crystals: Science and Engineering Rating: 0 out of 5 stars0 ratingsThe Wave Concept in Electromagnetism and Circuits: Theory and Applications Rating: 0 out of 5 stars0 ratingsDynamics and Control of Robotic Manipulators with Contact and Friction Rating: 0 out of 5 stars0 ratingsExercises of Advanced Analytical Geometry Rating: 0 out of 5 stars0 ratingsClassical and Modern Approaches in the Theory of Mechanisms Rating: 0 out of 5 stars0 ratingsShort-Memory Linear Processes and Econometric Applications Rating: 0 out of 5 stars0 ratingsTopology and Geometry for Physicists Rating: 4 out of 5 stars4/5Movement Equations 4: Equilibriums and Small Movements Rating: 0 out of 5 stars0 ratingsIntroduction to Goniometry and Trigonometry Rating: 0 out of 5 stars0 ratingsMotion Field: Exploring the Dynamics of Computer Vision: Motion Field Unveiled Rating: 0 out of 5 stars0 ratingsOrthographic Projection: Exploring Orthographic Projection in Computer Vision Rating: 0 out of 5 stars0 ratings
Robotics For You
Become a U.S. Commercial Drone Pilot Rating: 5 out of 5 stars5/5How to Build an Android: The True Story of Philip K. Dick's Robotic Resurrection Rating: 4 out of 5 stars4/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5Artificial Intelligence: The Complete Beginner’s Guide to the Future of A.I. Rating: 4 out of 5 stars4/5Artificial Intelligence Revolution: How AI Will Change our Society, Economy, and Culture Rating: 5 out of 5 stars5/5How to Survive a Robot Uprising: Tips on Defending Yourself Against the Coming Rebellion Rating: 3 out of 5 stars3/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5Robot Building For Dummies Rating: 3 out of 5 stars3/5The Official Raspberry Pi Handbook 2024: Astounding projects with Raspberry Pi computers Rating: 0 out of 5 stars0 ratingsArduino: The complete guide to Arduino for beginners, including projects, tips, tricks, and programming! Rating: 4 out of 5 stars4/5Raspberry Pi Projects for the Evil Genius Rating: 0 out of 5 stars0 ratingsHow to Walk on Water and Climb up Walls: Animal Movement and the Robots of the Future Rating: 3 out of 5 stars3/5Artificial You: AI and the Future of Your Mind Rating: 4 out of 5 stars4/5The Fourth Age: Smart Robots, Conscious Computers, and the Future of Humanity Rating: 3 out of 5 stars3/5101 Spy Gadgets for the Evil Genius 2/E Rating: 4 out of 5 stars4/5CNC: How Hard Can it Be Rating: 4 out of 5 stars4/5Machine Learning: Adaptive Behaviour Through Experience: Thinking Machines Rating: 4 out of 5 stars4/5The Truth About Santa: Wormholes, Robots, and What Really Happens on Christmas Eve Rating: 3 out of 5 stars3/5Turned On: Science, Sex and Robots Rating: 4 out of 5 stars4/5DIY Drones for the Evil Genius: Design, Build, and Customize Your Own Drones Rating: 4 out of 5 stars4/5Sparky the AIBO: Robot Dogs & Other Robotic Pets Rating: 0 out of 5 stars0 ratingsThe New Breed: What Our History with Animals Reveals about Our Future with Robots Rating: 0 out of 5 stars0 ratingsThe AI Generation: Shaping Our Global Future with Thinking Machines Rating: 4 out of 5 stars4/52062: The World that AI Made Rating: 5 out of 5 stars5/5Create Profitable Side Hustles with Artificial Intelligence Rating: 0 out of 5 stars0 ratingsThe Consciousness Explosion: A Mindful Human's Guide to the Coming Technological and Experiential Singularity Rating: 0 out of 5 stars0 ratings
Reviews for Robot Manipulators
0 ratings0 reviews
Book preview
Robot Manipulators - Etienne Dombre
Chapter 1
Modeling and Identification of Serial Robots ¹
1.1. Introduction
The design and control of robots require certain mathematical models, such as:
– transformation models between the operational space (in which the position of the end-effector is defined) and the joint space (in which the configuration of the robot is defined). The following is distinguished:
- direct and inverse geometric models giving the location of the end-effector (or the tool) in terms of the joint coordinates of the mechanism and vice versa,
- direct and inverse kinematic models giving the velocity of the end-effector in terms of the joint velocities and vice versa,
– dynamic models giving the relations between the torques or forces of the actuators, and the positions, velocities and accelerations of the joints.
This chapter presents some methods to establish these models. It will also deal with identifying the parameters appearing in these models. We will limit the discussion to simple open structures. For complex structure robots, i.e. tree or closed structures, we refer the reader to [KHA 02].
Mathematical development is based on (4 × 4) homogenous transformation matrices. The homogenous matrix iTj representing the transformation from frame Ri to frame Rj is defined as:
[1.1]
where isj, inj and iaj of the orientation matrix iRj indicate the unit vectors along the axes xj, yj and zj of the frame Rj expressed in the frame Ri; and where iPj is the vector expressing the origin of the frame Rj in the frame Ri.
1.2. Geometric modeling
1.2.1. Geometric description
A systematic and automatic modeling of robots requires an appropriate method for the description of their morphology. Several methods and notations have been proposed [DEN 55], [SHE 71], [REN 75], [KHA 76], [BOR 79], [CRA 86]. The most widely used one is that of Denavit-Hartenberg [DEN 55]. However, this method, developed for simple open structures, presents ambiguities when it is applied to closed or tree-structured robots. Hence, we recommend the notation of Khalil and Kleinfinger which enables the unified description of complex and serial structures of articulated mechanical systems [KHA 86].
A simple open structure consists of n+1 links noted C0, …, Cn and of n joints. Link C0 indicates the robot base and link Cn, the link carrying the end-effector. Joint j connects link Cj to link Cj-1 (Figure 1.1). The method of description is based on the following rules and conventions:
– the links are assumed to be perfectly rigid. They are connected by revolute or prismatic joints considered as being ideal (no mechanical clearance, no elasticity);
– the frame Rj is fixed to link Cj;
– axis zj is along the axis of joint j;
– axis xj is along the common perpendicular with axes zj and zj+1. If axes zj and zj+1 are parallel or collinear, the choice of xj is not unique: considerations of symmetry or simplicity lead to a reasonable choice.
The transformation matrix from the frame Rj-1 to the frame Rj is expressed in terms of the following four geometric parameters:
– αj: angle between axes zj-1 and zj corresponding to a rotation about xj-1;
– dj: distance between zj-1 and zj along xj-1;
– θj: angle between axes xj-1 and xj corresponding to a rotation about zj;
– rj: distance between xj-1 and xj along zj.
Figure 1.1. A simple open structure robot
ch1-fig1.1.gifFigure 1.2. Geometric parameters in the case of a simple open structure
ch1-fig1.2.gifThe joint coordinate qj associated to the jth joint is either θj or rj, depending on whether this joint is revolute or prismatic. It can be expressed by the relation:
[1.2]
with:
– σj = 0 if the joint is revolute;
– σj = 1 if the joint is prismatic;
– .
The transformation matrix defining the frame Rj in the frame Rj-1 is obtained from Figure 1.2 by:
[1.3]
where Rot(u, α) and Trans(u, d) are (4 × 4) homogenous matrices representing, respectively, a rotation α about the axis u and a translation d along u.
NOTES.
– for the definition of the reference frame R0, the simplest choice consists of taking R0 aligned with the frame R1 when q1 = 0, which indicates that z0 is along z1 and O0≡O1 when joint 1 is revolute, and z0 is along z1 and x0 is parallel to x1 when joint 1 is prismatic. This choice renders the parameters α1 and d1 zero;
– likewise, the axis xn of the frame Rn is taken collinear to xn−1 when qn = 0. This choice makes rn (or θn) zero when σn = 1 (or = 0 respectively);
– for a prismatic joint, the axis zj is parallel to the axis of the joint; it can be placed in such a way that dj or dj+1 is zero;
– when zj is parallel to zj+1, the axis xj is placed in such a way that rj or rj+1 is zero;
– in practice, the vector of joint variables q is given by:
where q0 represents an offset, qc are encoder variables and Kc is a constant matrix.
EXAMPLE 1.1.– description of the structure of the Stäubli RX-90 robot (Figure 1.3). The robot shoulder is of an RRR anthropomorphic type and the wrist consists of three intersecting revolute axes, equivalent to a spherical joint. From a methodological point of view, firstly the axes zj are placed on the joint axes and the axes xj are placed according to the rules previously set. Next, the geometric parameters of the robot are determined. The link frames are shown in Figure 1.3 and the geometric parameters are given in Table 1.1.
Figure 1.3. Link frames for the Stäubli RX-90 robot
ch1-fig1.3.gifTable 1.1. Geometric parameters for the Stäubli RX-90 robot
ch1-tab1.1.gif1.2.2. Direct geometric model
The direct geometric model (DGM) represents the relations calculating the operational coordinates, giving the location of the end-effector, in terms of the joint coordinates. In the case of a simple open chain, it can be represented by the transformation matrix ⁰Tn:
[1.4]
The direct geometric model of the robot may also be represented by the relation:
[1.5]
q being the vector of joint coordinates such that:
[1.6]
The operational coordinates are defined by:
[1.7]
There are several possibilities to define the vector X. For example, with the help of the elements of matrix ⁰Tn:
[1.8]
or otherwise, knowing that s = nxa
[1.9]
For the orientation, other representations are currently used such as Euler angles, Roll-Pitch-Yaw angles or Quaternions. We can easily derive direction cosines s, n, a from any one of these representations and vice versa [KHA 02].
EXAMPLE 1.2. – direct geometric model for the Stäubli RX-90 robot (Figure 1.3). According to Table 1.1, the relation [1.3] can be used to write the basic transformation matrices j-1Tj. The product of these matrices gives ⁰T6 that has as components:
sx = C1(C23(C4C5C6 − S4S6) − S23S5C6) − S1(S4C5C6 + C4S6)
sy = S1(C23(C4C5C6 − S4S6) − S23S5C6) + C1(S4C5C6 + C4S6)
sz = S23(C4C5C6 − S4S6) + C23S5C6
nx = C1(− C23 (C4C5S6 + S4C6) + S23S5S6) + S1(S4C5S6 − C4C6)
ny = S1(− C23 (C4C5S6 + S4C6) + S23S5S6) − C1(S4C5S6 − C4C6)
nz = − S23(C4C5S6 + S4C6) − C23S5S6
ax = − C1(C23C4S5 + S23C5) + S1S4S5
ay = − S1(C23C4S5 + S23C5) − C1S4S5
az = − S23C4S5 + C23C5
Px = − C1(S23 RL4 − C2D3)
Py = − S1(S23 RL4 − C2D3)
Pz = C23 RL4 + S2D3
with C23=cos (θ2 + θ3) and S23 = sin (θ2 + θ3).
1.2.3. Inverse geometric model
We saw that the direct geometric model of a robot calculates the operational coordinates giving the location of the end-effector in terms of joint coordinates. The inverse problem consists of calculating the joint coordinates corresponding to a given location of the end-effector. When it exists, the explicit form which gives all possible solutions (there is rarely uniqueness of solution) constitutes what we call the inverse geometric model (IGM). We can distinguish three methods for the calculation of IGM:
– Paul’s method [PAU 81], which deals with each robot separately and is suitable for most of the industrial robots;
– Pieper’s method [PIE 68], which makes it possible to solve the problem for the robots with six degrees of freedom having three revolute joints with intersecting axes or three prismatic joints;
– the general Raghavan and Roth’s method [RAG 90] giving the general solution for robots with six joints using at most a 16-degree polynomial.
Whenever calculating an explicit form of the inverse geometric model is not possible, we can calculate a particular solution through numeric procedures [PIE 68], [WHI 69], [FOU 80], [FEA 83], [WOL 84], [GOL 85] [SCI 86].
In this chapter, we present Paul’s method; Pieper’s method, and Raghavan and Roth’s method are detailed in [KHA 02].
1.2.3.1. Stating the problem
Let fTEd be the homogenous transformation matrix representing the desired location of the end-effector frame RE with respect to the world frame Rf. In general cases, fTEd can be expressed in the following form:
[1.10]
where (see Figure 1.4):
– Z is the transformation matrix defining the location of the robot frame R0 in the world reference frame Rf;
– ⁰Tn is the transformation matrix of the terminal link frame Rn with respect to frame R0 in terms of the joint coordinates q;
– E is the transformation matrix defining the end-effector frame RE in the terminal frame Rn.
Figure 1.4. Transformations between the end-effector frame and the world reference frame
ch1-fig1.4.gifWhen n ≥ 6, we can write the following relation by grouping on the right hand side all known terms:
[1.11]
When n < 6, the robot’s operational space is less than six. It is not possible to place the end-effector frame RE in an arbitrary location REd describing the task, except when the frames RE and REd are conditioned in a particular way in order to compensate for the insufficient number of degrees of freedom. Practically, instead of bringing frame RE onto frame REd, we will seek to only place some elements of the end-effector (points, straight lines).
In the calculation of IGM, three cases can be distinguished:
a) no solution when the desired location is outside of the accessible zone of the robot. It is limited by the number of degrees of freedom of the robot, the joint limits and the dimension of the links;
b) infinite number of solutions when:
– the robot is redundant with respect to the task,
– the robot is in some singular configuration;
c) a finite number of solutions expressed by a set of vectors {q¹, …, qr}. A robot is said to be solvable [PIE 68], [ROT 76] when it is possible to calculate all the configurations making it possible to reach a given location. Nowadays, all serial manipulators having up to six degrees of freedom and which are not redundant may be considered as solvable. The number of solutions depends on the structure of the robot and is at most equal to 16.
1.2.3.2. Principle of Paul’s method
Let us consider a robot whose homogenous transformation matrix has the following form:
[1.12]
Let U0 be the desired location, such that:
[1.13]
We seek to solve the following system of equations:
[1.14]
Paul’s method consists of successively pre-multiplying the two sides of equation [1.14] by the matrices jTj-1 for j = 1, …, n−1, operations which make it possible to isolate and identify one after another of the joint coordinates.
For example, in the case of a six degrees of freedom robot, the procedure is as follows:
– left multiplication of both sides of equation [1.14] by ¹T0:
[1.15]
The right hand side is a function of the variables q2, …, q6. The left hand side is only a function of the variable q1;
– term-to-term identification of the two sides of equation [1.15]. We obtain a system of one or two equations function of q1 only, whose structure belongs to a particular type amongst a dozen of possible types;
– left multiplication of both sides of equation [1.15] by ²T1 and calculation of q2.
The succession of equations enabling the calculation of all qj is the following:
[1.16]
with:
[1.17]
The use of this method for a large number of industrial robots has shown that only a few types of equations are encountered, and that their solutions are relatively simple.
NOTES.
1) When a robot has more than six degrees of freedom, the system to be solved contains more unknowns than parameters describing the task: it lacks (n−6) relations. Two strategies are possible:
– the first strategy consists of setting arbitrarily (n−6) joint variables. In this case we deal with a problem with six degrees of freedom. The choice of these joints results from the task’s specifications and from the structure of the robot;
– the second strategy consists of introducing (n−6) supplementary relations describing the redundancy, like for example in [HOL 84] for robots with seven degrees of freedom.
2) A robot with less than six degrees of freedom cannot place its end-effector at arbitrary positions and orientations. Thus, it is not possible to bring the end-effector frame RE onto another desired frame REd except if certain elements of ⁰TEd are imposed in a way that compensates for the insufficient number of degrees of freedom. Otherwise, we have to reduce the number of equations by considering only certain elements (points or axes) of the frames RE and REd.
EXAMPLE 1.3.– inverse geometric model of the Stäubli RX-90 robot. After performing all the calculations, we obtain the following solutions:
with:
with:
with:
NOTES.
1) Singular positions:
i) when Px = Py = 0, which corresponds to S23RL4 − C2D3 = 0, the point O4 is on the axis z0 (Figure 1.5a). The two arguments used for calculating θ1 are zero and consequently θ1 is not determined. We can give any value to θ1, generally the value of the current position, or, according to optimization criteria, such as maximizing the distance from the mechanical limits of the joints. This means that we can always find a solution, but a small change of the desired position might call for a significant variation of θ1, which may be impossible to carry out considering the velocity and acceleration limits of the actuators,
ii) when C23(C1ax + S1ay) + S23az = 0 and S1ax − C1ay = 0, the two arguments of the atan2 function used for the calculation of θ4 are zero and hence the function is not determined. This configuration happens when axes 4 and 6 are aligned (Cθ5 = ±1) and it is the sum (θ4 ± θ6) which can be obtained (see Figure 1.5b). We can give to θ4 its current value, then we calculate θ6 according to this value. We can also calculate the values of θ4 and θ6, which move joints 4 and 6 away from their limits,
iii) a third singular position occurring when C3 = 0 will be highlighted along with the kinematic model. This singularity does not pose any problem for the inverse geometric model (see Figure 1.5c).
2) Number of solutions: apart from singularities, the Stäubli RX-90 robot has eight theoretical configurations for the IGM (product of the number of possible solutions on each axis). Some of these configurations may not be accessible due to their joint limits.
Figure 1.5. Singular positions of the Stäubli RX-90 robot
ch1-fig1.5.gif1.3. Kinematic modeling
1.3.1. Direct kinematic model
The direct kinematic model of a robot gives the velocities of the operational coordinates in terms of the joint velocities . We write:
[1.18]
where J(q) indicates the (m × n) Jacobian matrix of the mechanism, such that:
[1.19]
This Jacobian matrix appears in calculating the direct differential model that gives the differential variations dX of the operational coordinates in terms of the differential variations of the joint coordinates dq, such as:
[1.20]
The Jacobian matrix has multiple applications in robotics [WHI 69], [PAU 81]:
– it is at the base of the inverse differential model, which can be used to calculate a local solution of joint coordinates q corresponding to an operational coordinates X;
– in static force model, we use the Jacobian matrix in order to calculate the forces and torques of the actuators in terms of the forces and moments exerted on the environment by the end-effector;
– it facilitates the calculation of singularities and of the dimension of accessible operational space of the robot [BOR 86], [WEN 89].
1.3.1.1. Calculation of the Jacobian matrix by derivation of the DGM
The calculation of the Jacobian matrix can be done by differentiating the DGM, X = f(q), using the following relation:
[1.21]
where Jij is the (i, j) element of the Jacobian matrix J.
This method is easy to apply for robots with two or three degrees of freedom, as shown in the following example. The calculation of the kinematic Jacobian matrix presented in section 1.3.1.2 is more practical for robots with more than three degrees of freedom.
EXAMPLE 1.4.– let us consider the planar robot with three degrees of freedom of parallel revolute axes represented in Figure 1.6. We use L1, L2 and L3 to denote the lengths of the links. We choose as operational coordinates the Cartesian coordinates (Px, Py) of point E in the plane (x0, y0) and the angle α between x0 and x3.
with C12 = cos(θ1 + θ2), S12 = sin(θ1 + θ2), C123 = cos(θ1 +θ2 + θ3) and S123 = sin(θ1 + θ2 + θ3)
The Jacobian matrix is calculated by differentiating these relations with respect to θ1, θ2 and θ3:
Figure 1.6. Example of a planar robot with three degrees of freedom
ch1-fig1.6.gif1.3.1.2. Kinematic Jacobian matrix
The kinematic Jacobian matrix is obtained through a direct calculation using the relation between the linear and angular velocity vectors Vn and ωn of the frame Rn and the joint velocity :
[1.22]
We note that Vn is the derivative of the position vector Pn with respect to time. On the other hand, ωn is not a derivative of any representation of the orientation.
The expression of the Jacobian matrix is identical if we consider the relation between the differential translational and rotational vectors (dPn, δn) of the frame Rn and the differential increments of the joint coordinates dq:
[1.23]
i) Calculation of the kinematic Jacobian matrix
Let us consider the kth joint of an articulated serial chain. The velocity produces on the end-effector frame Rn the linear velocity Vk,n and the angular velocity ωk,n. We recall that ak is the unit vector along axis zk of the joint k and we indicate by Lk,n the vector of origin Ok and extremity On. By applying the velocity composition law, the linear and angular velocities of the end-effector frame are written as follows:
[1.24]
If we write this system in a matrix form and if we identify it with the relation [1.22], we conclude that:
[1.25]
In general, Vn and ωn are expressed either in the frame Rn or in the frame R0. The corresponding Jacobian matrix is noted either nJn or ⁰Jn. These matrices can also be calculated by using a matrix iJn, i = 0, …, n, due to the following relation of transformation of the Jacobian matrix between frames:
[1.26]
where sRi is the (3 × 3) orientation matrix of frame Ri expressed in frame Rs.
The matrix sJn can therefore be decomposed into two matrices, the first one always being a full rank matrix.
Since the two matrices iJn and sJn have the same singular positions, we practically try to use the projection frame Ri which simplifies the elements of the matrix iJn. In general, we obtain the simplest iJn matrix when we consider i = integer(n/2).
ii) Calculation of theiJn matrix
We notice that the vector product ak × Lk,n can be transformed² into âk Lk,n and the kth column of iJn, denoted ijn;k, becomes:
[1.27]
By developing and noting that kak = [0 0 1]T and that kLk,n = kPn, we obtain:
[1.28]
where and are respectively the x and y components of the vector kPn.
Similarly, the kth column of iJn can be written as follows:
[1.29]
When i = 0, the elements of column k are obtained from those of the matrix ⁰Tk and the vector ⁰Pn. We must then calculate the matrices ⁰Tk, for k = 1, …, n.
EXAMPLE 1.5.– calculation of the kinematic Jacobian matrix ³J6 of the Stäubli RX-90 robot. Column k of the matrix ³J6 of a 6R robot with six degrees of freedom can be written as follows:
Hence:
1.3.1.3. Decomposition of the kinematic Jacobian matrix into three matrices
With the help of relation [1.26], we have shown that the matrix sJn could be decomposed into two matrices, the first one always being of full rank and the second one containing simple elements. Renaud [REN 80b] demonstrated that we can also decompose the Jacobian matrix into three matrices: the first two are always of full rank and their inversion is immediate; the third one is of the same rank as sJn but contains much more simple elements. We obtain [KHA 02]:
[1.30]
the elements of the kth column of iJn,j being expressed in the frame Ri in the following way:
[1.31]
1.3.1.4. Dimension of the operational space of a robot
For a given joint configuration q, the rank r of the Jacobian matrix iJn henceforth denoted J for simplification of notations, corresponds to the number of degrees of freedom associated with the end-effector. It defines the dimension of the accessible operational space in this configuration. We call number of degrees of freedom M of the operational space of a robot, the maximal rank rmax that the Jacobian matrix has in all possible configurations. Two cases are to be examined [GOR 84]:
– if M is equal to the number of degrees of freedom n of the robot, the robot is not redundant: it has just the number of joints enabling it to give M degrees of freedom to its end-effector;
– if n > M, the robot is redundant of the order (n − M). It has more joints than are needed to give M degrees of freedom to its end-effector.
Whatever the case, for certain joint configurations, the rank r may be less than M: we say that the robot has a singularity of order (M − r). It then loses, locally, the possibility of generating a velocity along or about certain directions. When matrix J is square, singularities of order one are solution of det(J) = 0, where det(J) indicates the determinant of the Jacobian matrix of the robot. They are given by det(JJT) = 0 in the redundant case.
Based on the results obtained in Example 1.5, we can verify that for the Stäubli RX-90 robot, the determinant of ³J6 can be written as follows:
The maximal rank is such that rmax = 6. The robot is non-redundant since it has six degrees of freedom and six joints. However, this rank is equal to five in the following three singular configurations:
1.3.2. Inverse kinematic model
The objective of the inverse kinematic model is to calculate, at a given configuration q, the joint velocity which provides a desired operational velocity to the end-effector. This definition is similar to that of the inverse differential model: the latter determines the joint differential variation dq corresponding to a specified differential variation of the operational coordinates dX. In order to obtain the inverse kinematic model, we inverse the direct kinematic model by solving a system of linear equations. The implementation may be done in an analytical or numerical manner:
– the analytical solution has the advantage of considerably reducing the number of operations, but all singular cases must be treated separately [CHE 87];
– the numeric methods are more general, the most widely used one being based on the pseudo-inverse: the algorithms deal in a unified way with the regular, singular, and redundant cases. They require a relatively significant calculation time.
In this section we will present the techniques to be implemented in order to establish the inverse kinematic model for regular, singular and redundant cases.
1.3.2.1. General form of the kinematic model
Let be any representation with respect to R0 of the location of frame Rn, the elements Xp and Xr designating, respectively, the operational position and orientation vectors. The relations between the velocities Xp and Xr and the velocity vectors ⁰Vn and ⁰ωn of the end-effector frame Rn are the following:
[1.32]
the matrices Ωp and Ωr depending on the representation having been chosen for position and for orientation respectively [KHA 02].
On the basis of equations [1.22], [1.30] and [1.32], the direct kinematic model has as general form:
[1.33]
or, as a short form:
[1.34]
1.3.2.2. Inverse kinematic model for the regular case
In this case, the Jacobian matrix J is square and of full rank, hence we can calculate J-1, the inverse matrix of J, which makes it possible to determine the joint velocities with the relation:
[1.35]
When the matrix J has the following form:
[1.36]
the matrices A and C being inversible and square, it is easy to show that the inverse of this matrix can be written:
[1.37]
Thus, the solution of this problem lies on the inversion of two matrices of smaller dimension. When the robot has six degrees of freedom and a spherical wrist, the general form of J is that of the relation [1.36], A and C having the dimension (3 × 3) [GOR 84].
EXAMPLE 1.6.– calculation of the inverse Jacobian matrix of the Stäubli RX-90 robot. The Jacobian matrix ³J6 was calculated in Example 1.5. The calculation of the inverse matrices of A and C gives:
with:
By using equation [1.37], we obtain:
with:
1.3.2.3. Solution at the proximity of singular positions
We have seen that when the robot is not redundant, the singularities of order one are the solution of det(J) = 0. In the redundant case, they are given by det(JJT) = 0. The higher order singularities are determined based on singular configurations of order one. The passage in the proximity of a singular position is however determined in a more precise way by considering the singular values: the decrease of one or several singular values is generally more significant than the decrease of the determinant.
At a singular configuration, the velocity vector generally consists of a vector of the image space vector I(J) of J, and of an orthogonal vector of degenerated components belonging to I(J)⊥; no joint velocity can generate operational velocity following this last direction. In the proximity of singular positions, the use of the classic inverse kinematic model can cause significant joint velocities, incompatible with the characteristics of the actuators.
In order to avoid singularities, one solution consists of increasing the number of degrees of freedom of the mechanism [HOL 84], [LUH 85]. The robot becomes redundant and, with appropriate criteria, it is possible to determine singularity free motion. However, inevitable singularities [BAI 84] exist, which must be taken into account by the designer of the control.
At singular configurations, it is not possible to calculate J-1. It is common to use the pseudo-inverse J+ of the matrix J:
[1.38]
This solution, proposed by Whitney [WHI 69], [WHI 72], minimizes the Euclidean norm as well as the error norm .