Introduction Robotics Lecture4
Introduction Robotics Lecture4
Introduction Robotics
dr Dragan Kosti WTB Dynamics and Control September - October 2009
2/45
Outline
Recapitulation Velocity kinematics Manipulator Jacobian Kinematic singularities Inverse velocity kinematics
3/45
Recapitulation
4/45
Here, H represents the desired position and orientation of the tip coordinate frame onxnynzn relative to coordinate frame o0x0y0z0 of the base; T0n is product of homogenous transformation matrices relating successive coordinate frames:
Introduction Robotics, lecture 4 of 7
5/45
6/45
7/45
Let oc be the intersection of the last 3 joint axes; as z3, z4, and z5 intersect at oc, the origins o4 and o5 will always be at oc; the motion of joints 4, 5 and 6 will not change the position of oc; only motions of joints 1, 2 and 3 can influence position of oc.
Introduction Robotics, lecture 4 of 7
8/45
q1, q2, q3
Introduction Robotics, lecture 4 of 7
q4, q5, q6
9/45
Velocity Kinematics
10/45
Scope
Mathematically, forward kinematics defines a function between the space of joint positions and the space of Cartesian positions and orientations of a robot tip; the velocity kinematics are then determined by the Jacobian of this function. Jacobian is encountered in many aspects of robotic manipulation: in the planning and execution of robot trajectories, in the derivation of the dynamic equations of motion, etc.
11/45
Given the angular velocity , the linear velocity of any point is where r is a vector from the origin (laying on the axis of rotation) to the point.
Introduction Robotics, lecture 4 of 7
12/45
The set of all such matrices is denoted by so(n). From this definition, we see that the diagonal elements of S are zero, i.e. sii = 0; also, we see that S so(3) contains only 3 independent entries and has the form
13/45
14/45
Multiplying both sides on the right by R and using the fact that ST = -S, we get d R( ) R T ( ) R( ) SR( ) = 0. d Since R()RT () = I , we obtain:
15/45
16/45
Derivative of Rl,
Let Rl, be a rotation matrix about the axis defined by unit vector l. Then
17/45
where (t) is the angular velocity of the rotating frame with respect to the fixed frame at time t.
18/45
Differentiating, we obtain
19/45
20/45
21/45
22/45
23/45
where r = Rp1 (vector from o1 to p expressed in the orientation of o0x0y0z0) and is the velocity at which the origin o1 is moving.
Introduction Robotics, lecture 4 of 7
24/45
Manipulator Jacobian
25/45
26/45
27/45
Angular velocity
If the ith joint is revolute: the axis of rotation is given by zi1; let i1i1,i represent the angular velocity of the link i w.r.t. the frame oi1xi1yi1zi1. Then, we have
If the ith joint is prismatic: the motion of frame i relative to frame i-1 is a translation and
28/45
we get
0 1 & 0 & & 0 n 1 0,n = 1q1 z0 + 2 q2 R10 z1 + K + n qn Rn 1 z n 1 =
29/45
30/45
31/45
32/45
where
Hence we get
33/45
where
and
34/45
The former is equal to the first three elements of the 3rd column of matrix T0i, whereas the latter is equal to the first three elements of the 4th column of the same matrix. Conclusion: it is straightforward to compute the Jacobian once the forward kinematics is worked out.
Introduction Robotics, lecture 4 of 7
35/45
Kinematic singularities
36/45
Kinematic singularities
The 6n manipulator Jacobian J(q) defines mapping
& = J (q )q
All possible end-effector velocities are linear combinations of the columns Ji of the Jacobian
rank J min(6, n)
The rank of Jacobian depends on the configuration q; at singular configurations, rankJ(q) is less than its maximum value.
Introduction Robotics, lecture 4 of 7
37/45
38/45
39/45
40/45
41/45
The inverse velocity problem is to find joint velocities that produce the desired end-effector velocity. When Jacobian is square (manipulator has 6 joints) and nonsingular, one gets: If the number of joints is not exactly 6, J cannot be inverted; then the inverse velocity problem has a solution (obtained using e.g. Gaussian elimination) if and only if
Introduction Robotics, lecture 4 of 7
42/45
Pseudoinverse of Jacobian
When number of joints n is above 6, the manipulator is kinematically redundant; then, the inverse velocity problem can be solved using the pseudoinverse of J. Suppose that rank J = m and m<n. Then, the right pseudoinverse of J is given by Note that It holds where b Rn is an arbitrary vector. R
Introduction Robotics, lecture 4 of 7
43/45
Computation of pseudoinverse
Take the singular value decomposition of J as
where URmm and VRnn are both orthogonal matrices and R R Rmn is given by R
m
Introduction Robotics, lecture 4 of 7
44/45
where T
m
Introduction Robotics, lecture 4 of 7
45/45
= 1 2 L m
In terms of eigenvalues i of J or determinant of J, is given by:
= det JJ = 1 2 L m
Condition number of J is another manipulability measure: max i cond J = ; i = 1,L, m.
Introduction Robotics, lecture 4 of 7
min i