3. El lado positivo de la psicopatía
4.1 Prevención
4.10 INVERSE VELOCITY AND ACCELERATION The Jacobian relationship
⇠ = J ˙q (4.125)
specifies the end-e↵ector velocity that will result when the joints move with velocity ˙q. The inverse velocity problem is the problem of finding the joint velocities ˙q that produce the desired end-e↵ector velocity. It is perhaps a bit surprising that the inverse velocity relationship is conceptually simpler than inverse position. When the Jacobian is square (i.e., J 2 Rn⇥n) and nonsingular, this problem can be solved by simply inverting the Jacobian matrix to give
˙q = J 1⇠ (4.126)
For manipulators that do not have exactly six links, the Jacobian can not be inverted. In this case there will be a solution to Equation (4.125) if and only if ⇠ lies in the range space of the Jacobian. This can be determined by the following simple rank test. A vector ⇠ belongs to the range of J if and only if
rank J(q) = rank [J(q) | ⇠] (4.127) In other words, Equation (4.125) may be solved for ˙q 2 Rn provided that the rank of the augmented matrix [J(q) | ⇠] is the same as the rank of the Jacobian
such as Gaussian elimination, for solving such systems of linear equations.
For the case when n > 6 we can solve for ˙q using the right pseudoinverse of J. To construct this psuedoinverse, we use the following result from linear algebra.
Proposition: For J 2 Rm⇥n, if m < n and rank J = m, then (JJT) 1 exists.
In this case (JJT) 2 Rm⇥m, and has rank m. Using this result, we can regroup terms to obtain
(JJT)(JJT) 1= I J⇥
JT(JJT) 1⇤= I JJ+= I
Here, J+ = JT(JJT) 1 is called a right pseudoinverse of J, since JJ+ = I.
Note that, J+J 2 Rn⇥n, and that in general, J+J 6= I (recall that matrix multiplication is not commutative).
It is now easy to demonstrate that a solution to Equation (4.125) is given by
˙q = J+⇠ + (I J+J)b (4.128)
in which b 2 Rn is an arbitrary vector. To see this, siimly multiply both sides of Equation (4.128) by J:
J ˙q = J [J+⇠ + (I J+J)b]
= JJ+⇠ + J(I J+J)b
= JJ+⇠ + (J JJ+J)b
= ⇠ + (J J)b
= ⇠
In general, for m < n, (I J+J)6= 0, and all vectors of the form (I J+J)b lie in the null space of J, i.e., if ˙q0is a joint velocity vector such that ˙q0= (I J+J)b, then when the joints move with velocity ˙q0, the end e↵ector will remain fixed since J ˙q0= 0. Thus, if ˙q is a solution to Equation (4.125), then so is ˙q + ˙q0 with
˙q0 = (I J+J)b, for any value of b. If the goal is to minimize the resulting joint velocities, we choose b = 0. To see this, apply the triangle inequality to obtain
|| ˙q || = || J+⇠ + (I J+J)b||
|| J+⇠|| + || (I J+J)b||
It is a simple matter construct the right pseudoinverse of J using its singular value decomposition (see Appendix B),
J+ = V ⌃+UT
MANIPULABILITY 141
We can apply a similar approach when the analytical Jacobian is used in place of the manipulator Jacobian. Recall from Equation (4.100) that the joint velocities and the end-e↵ector velocities are related by the analytical Jacobian as
˙X = Ja(q)˙q (4.129)
Thus the inverse velocity problem becomes one of solving the system of linear equations (4.129), which can be accomplished as above for the manipulator Jacobian.
Di↵erentiating Equation (4.129) yields the acceleration equations X¨ = Ja(q)¨q +✓d
dtJa(q)◆
˙q (4.130)
Thus, given a vector ¨X of end-e↵ector accelerations, the instantaneous joint acceleration vector ¨q is given as a solution of
b = Ja(q)¨q (4.131)
where
b = ¨X d
dtJa(q)˙q (4.132)
For 6-DOF manipulators the inverse velocity and acceleration equations can therefore be written as
For a specific value of q, the Jacobian relationship defines the linear system given by ⇠ = J ˙q. We can think of J a scaling the input, ˙q, to produce the output, ⇠. It is often useful to characterize quantitatively the e↵ects of this
characterization is given in terms of the so called impulse response of a system, which essentially characterizes how the system responds to a unit input. In this multidimensional case, the analogous concept is to characterize the output in terms of an input that has unit norm. Consider the set of all robot joint velocities ˙q such that
The derivation of this is left as an exercise (Problem 4-26). This final inequality gives us a quantitative characterization of the scaling that is e↵ected by the Jacobian. In particular, if the manipulator Jacobian is full rank, i.e., rank J = m, then Equation (4.136) defines an m-dimensional ellipsoid that is known as the manipulability ellipsoid. If the input (i.e., joint velocity) vector has unit norm, then the output (i.e., end-e↵ector velocity) will lie within the ellipsoid given by Equation (4.136). We can more easily see that Equation (4.136) defines an ellipsoid by replacing the Jacobian by its SVD J = U⌃VT (see Appendix B) to obtain
The derivation of Equation (4.137) is left as an exercise (Problem 4-27). If we make the substitution w = UT⇠, then Equation (4.137) can be written as
wT⌃m2w =X 2
i wi2 1 (4.138)
and it is clear that this is the equation for an axis-aligned ellipse in a new coordinate system that is obtained by rotation according to the orthogonal matrix U. In the original coordinate system, the axes of the ellipsoid are given by the vectors iui. The volume of the ellipsoid is given by
volume = K 1 2· · · m
in which K is a constant that depends only on the dimension, m, of the ellipsoid.
The manipulability measure, as defined by Yoshikawa [78], is given by
µ = 1 2· · · m (4.139)
MANIPULABILITY 143 Note that the constant K is not included in the definition of manipulability, since it is fixed once the task has been defined (i.e., once the dimension of the task space has been fixed).
Now, consider the special case that the robot is not redundant, i.e., J 2 Rm⇥m. Recall that the determinant of a product is equal to the product of the determinants, and that a matrix and its transpose have the same determinant.
Thus, we have
det JJT = det J det JT
= det J det J
= ( 1 2· · · m)( 1 2· · · m)
= 21 22· · · 2m (4.140)
in which 1 2· · · mare the eigenvalues of J. This leads to µ =p
det JJT = | 1 2· · · m| = |det J| (4.141) The manipulability, µ, has the following properties.
• In general, µ = 0 holds if and only if rank(J) < m, (i.e., when J is not full rank).
• Suppose that there is some error in the measured velocity, ⇠. We can bound the corresponding error in the computed joint velocity, ˙q, by
( 1) 1 || ˙q||
|| ⇠|| ( m) 1 (4.142)
Example 4.12 Two-link Planar Arm.
We can use manipulability to determine the optimal configurations in which to perform certain tasks. In some cases it is desirable to perform a task in the configuration for which the end e↵ector has the maximum dexterity. We can use manipulability as a measure of dexterity. Consider the two-link planar arm and the task of positioning in the plane. For the two link arm, the Jacobian is given by
J =
a1s1 a2s12 a2s12
a1c1+ a2c12 a2c12 (4.143) and the manipulability is given by
µ =|det J| = a1a2|s2|
Thus, for the two-link arm, the maximum manipulability is obtained for ✓2 =
±⇡/2.
Manipulability can also be used to aid in the design of manipulators. For example, suppose that we wish to design a two-link planar arm whose total link
we design the robot to maximize the maximum manipulability, the we need to maximize µ = a1a2|s2|. We have already seen that the maximum is obtained when ✓2= ±⇡/2, so we need only find a1 and a2 to maximize the product a1a2. This is achieved when a1 = a2. Thus, to maximize manipulability, the link lengths should be chosen to be equal.
⇧
4.12 CHAPTER SUMMARY
A moving coordinate frame has both a linear and an angular velocity. Linear velocity is associated to a moving point, while angular velocity is associated to a rotating frame. Thus, the linear velocity of a moving frame is merely the velocity of its origin. The angular velocity for a moving frame is related to the time derivative of the rotation matrix that describes the instantaneous orientation of the frame. In particular, if R(t) 2 SO(3), then
˙R(t) = S(!(t))R(t) (4.144)
and the vector !(t) is the instantaneous angular velocity of the frame. The operator S gives a skew symmetrix matrix
S(!) =
The manipulator Jacobian relates the vector of joint velocities to the body velocity ⇠ = (v, !)T of the end e↵ector,
⇠ = J ˙q (4.146)
This relationship can be written as two equations, one for linear velocity and one for angular velocity,
v = Jv ˙q (4.147)
! = J!˙q (4.148)
The i-th column of the Jacobian matrix corresponds to the i-th joint of the robot manipulator, and takes one of two forms depending on whether the i-th joint is prismatic or revolute
Ji=
0 if joint i is prismatic
(4.149)
CHAPTER SUMMARY 145 For a given parameterization of orientation, e.g. Euler angles, the analytical Jacobian relates joint velocities to the time derivative of the pose parameters
X =
d(q)
↵(q) X =˙ ˙d
˙↵ = Ja(q) ˙q
iin which d(q) is the usual vector from the origin of the base frame to the origin of the end-e↵ector frame and ↵ denotes a parameterization of rotation matrix that specifies the orientation of the end-e↵ector frame relative to the base frame.
For the Euler angle parameterization, the analytical Jacobian is given by
Ja(q) =
I 0
0 B(↵) 1 J(q) (4.150)
in which
B(↵) = 2
4 c s✓ s 0
s s✓ c 0
c✓ 0 1
3 5
A configuration at which the Jacobian loses rank (i.e., a configuration q such that rank J maxq rank J(q)) is called a singularity. For a manipulator with a spherical wrist, the set of singular configurations includes singularites of the wrist (which are merely the singularities in the Euler angle parameterization) and singularites in the arm. The latter can be found by solving
det J11= 0
with J11 the upper left 3 ⇥ 3 block of the manipulator Jacobian.
For nonsingular configurations, the Jacobian relationship can be used to find the joint velocities ˙q necessary to achieve a desired end-e↵ector velocity ⇠ The minimum norm solution is given by
˙q = J+⇠
in which J+= JT(JJT) 1is the right pseudoinverse of J.
Manipulability is defined by µ = 1 2· · · m in which i are the singular values for the manipulator Jacobian. The manipulatibility can be used to char-acterize the range of possible end-e↵ector velocities for a given configuration q.
Problems
4-1 Verify Equation (4.6) by direct calculation.
4-2 Verify Equation (4.7) by direct calculation.
4-3 Verify Equation (4.8) by direct calculation.
4-4 Verify Equation (4.16) by direct calculation.
4-5 Show that S(k)3 = S(k). Use this and Problem 25 to verify Equa-tion (4.17).
4-6 Given any square matrix A, the exponential of A is a matrix defined as eA = I + A +1
2A2+ 1 3!A3+ · Given S 2 so(3) show that eS2 SO(3).
[Hint: Verify the facts that eAeB = eA+Bprovided that A and B commute, that is, AB = BA, and also that det(eA) = eT r(A).]
4-7 Show that Rk,✓= eS(k)✓.
[Hint: Use the series expansion for the matrix exponential together with Problems 25 and 5. Alternatively use the fact that Rk,✓ satisfies the di↵er-ential equation
dR
d✓ = S(k)R.
4-8 Use Problem 7 to show the converse of Problem 6, that is, if R 2 SO(3) then there exists S 2 so(3) such that R = eS.
4-9 Given the Euler angle transformation
R = Rz, Ry,✓Rz,
show that dtdR = S(!)R where
! = {c s✓˙ s ˙✓}i + {s s✓˙ + c ˙✓}j + {˙[si + c✓˙}k.
The components of i, j, k, respectively, are called the nutation, spin, and precession.
4-10 Repeat Problem 9 for the Roll-Pitch-Yaw transformation. In other words, find an explicit expression for ! such that dtdR = S(!)R, where R is given by Equation (2.39).
CHAPTER SUMMARY 147
what is the angular velocity !20at the instant when
R01 =
4-13 ). For the three-link planar manipulator of Example 4.6, compute the vector Oc and derive the manipulator Jacobian matrix.
4-14 Compute the Jacobian J11for the 3-link elbow manipulator of Example 4.9 and show that it agrees with Equation (4.117). Show that the determinant of this matrix agrees with Equation (4.118).
4-15 Compute the Jacobian J11 for the three-link spherical manipulator of Ex-ample 4.10.
4-16 Show from Equation (4.122) that the singularities of the SCARA manipu-lator are given by Equation (4.124).
4-17 Find the 6 ⇥ 3 Jacobian for the three links of the cylindrical manipulator of Figure 3.7. Show that there are no singular configurations for this arm.
Thus the only singularities for the cylindrical manipulator must come from the wrist.
4-18 Repeat Problem 17 for the cartesian manipulator of Figure 3.28.
4-19 Complete the derivation of the Jacobian for the Stanford manipulator from Example 4.7.
4-20 Show that B(↵) given by Equation (4.103) is invertible provided s✓6= 0.
4-21 Verify Equation (4.7) by direct calculation.
R2 S0(3).
4-23 Suppose that a = (1, 1, 2)T and that R = Rx,90. Show by direct calcula-tion that
RS(a)RT = S(Ra).
4-24 Given R01= Rx,✓Ry, , compute @R@ 01. Evaluate @R@ 01 at ✓ = ⇡2, = 2. 4-25 Use Equation (2.46) to show that
Rk,✓ = I + S(k) sin(✓) + S2(k) vers(✓).
4-26 Verify Equation (4.136).
4-27 Verify Equation (4.137).