Beruflich Dokumente
Kultur Dokumente
Differential kinematics
Prof. Alessandro De Luca
Robotics 1
Differential kinematics
relationship between motion (velocity) in the joint space and motion (linear and angular velocity) in the task (Cartesian) space instantaneous velocity mappings can be obtained geometrically at the differential level or through time derivation of the direct kinematics function
establish the link between angular velocity and time derivative of a rotation matrix time derivative of the angles in a minimal representation of orientation
2
Robotics 1
vP1 P1
r12
vP3 - vP1
r13 vP3
angular velocity is associated to the whole body (not to a point) if P1 with vP1 = 0: pure rotation (circular trajectories for all points) = 0: pure translation (all points have the same velocity vP)
Robotics 1 3
v3
r = (p,)
R p 000 1
is a vector, namely an element of a vector space: it can be obtained as the sum of contributions 1, , n (in any order) on the other hand, (and d/dt) is not an element of a vector space: a minimal representation of a sequence of rotations is not obtained by summing the corresponding minimal representations (angles ) in general d/dt
4
Robotics 1
z X = 90 y x
mathematical fact: is NOT an exact differential form: the integral of over time depends on the integration path!
x z Z = 90 x
Z = 90
y X = 90 x
Robotics 1
Infinitesimal motions
dp = JL(q) dq
RX(X) =
RY(Y) =
RY(dY) =
1 0 0 1 d Y 0
RZ(dZ) =
1 d Z 0 d Z 1 0 0 0 1
6
Infinitesimal rotations
R(d) = R(dX, dY, dZ) =
in any order 1 dz dY dz 1 dX dY dX 1
neglecting second-order terms
= I + S(d) infinitesimal rotations always commute finite rotations commute only when made around the same fixed axis
Robotics 1
R = S() R
S() = R RT
8
Example
. . T () = RX() R X 0 = 0 0
1 0 0
0 0 1 z
. . .
RZY(z,y)
Robotics 1
11
q2
r x
- l2 s12 l2 c12 1
JL(q) JA(q)
geometric Jacobian
px
Geometric Jacobian
always a 6 x n matrix
JL(q) JA(q)
. q=
. q1 . qn
. . JLi(q) qi = zi-1 di
zi-1
qi = di RF0
. JLi(q) qi . JAi(q) qi
zi-1 di 0
Robotics 1
15
pi-1,E
revolute i-th joint . JLi(q) qi . JAi(q) qi
RF0
Robotics 1
vE
E
. q1 . qn
zi-1 0
0 0 1
p0,E qi
all vectors should be expressed in the same reference frame (here, the base frame RF0)
17
i 0 0
- s1 c1 0 0 - s12 c12 0 0 0 0 1 0 0 0 1 0
di 0 0
l1c1 l1s1 0 1
ai l1 l2 p0,1
i q1 q2
1 2
c1
0A 1
s1 0 0 c12
J=
z0 p0,E z1 p1,E z0 z1
0A 2
s12 0 0
p0,E
Robotics 1
18
x2 E J=
z0 p0,E z1 p1,E z0 z1
On
the one just computed
n
b) it may be E Oj(q)
rnE
RF0
0 Bv E
0J (q) n
. q
vE = vn + rnE = vn + S(rEn) 0
BR 0
RFB
= =
BR 0
I 0
0 I 0
S(0rEn) I
0v
0
BR (q) 0
0 0J (q) n
S(0rEn(q)) I
BR (q) 0
. B . q = JE(q) q
never singular!
20
lightweight: only 15 kg in motion motors located in second link incremental encoders (homing) kinematic redundancy degree: n-m=2 compliant in the interaction with environment
Robotics 1
21
08
y4 z4 6 rows, 8 columns
x4 04
x0
z0 y0
Robotics 1
22
.3 =
r=
J(q) =
0 T()
Jr(q)
Jr(q) =
I 0
0 T-1()
J(q)
. R = S() R
ri = ri
23
differential relationships between motion in the joint space and motion in the task space can be established at the second order, third order, and so on the analytical Jacobian always weights the highest-order derivative velocity . . r = Jr(q) q .
.. . .. . r = Jr(q) q + Jr(q) q
. ..
Robotics 1
(J) min(m,n) (if equality holds, J has full rank) if m = n and J has full rank, J is non singular and the inverse J-1 exists (J) = dimension of the largest non singular square submatrix of J
range (J) = vector subspace generated by all possible linear also called image of J combinations of the columns of J (J)={v Rm : Rn, v = J }
sum of vector subspaces V1 + V2 = vector space where any element v can be written as v = v1 + v2, with v1 V1 , v2 V2
25
Robotics 1
Robot Jacobian
decomposition in linear subspaces and duality
space of joint velocities
J
0 0
dual spaces
(J)
(JT) + (J) = Rn
(J)
(J) + (JT) = Rm
dual spaces
(JT)
0
space of joint torques
(JT)
0
space of task (Cartesian) forces
JT
(in a given configuration q)
Robotics 1
26
Mobility analysis
(J) = (J(q)), (J) = (J(q)), (JT)= (JT(q)) are locally defined, i.e., they depend on the current configuration q (J(q)) = subspace of all generalized velocities (with linear and/or angular components) that can be instantaneously realized by the robot end-effector when varying the joint velocities in the configuration q if J(q) has max rank (typically = m) in the configuration q, the robot end-effector can be moved in any direction of the task space Rm if (J(q)) < m, there exist directions in Rm along which the robot endeffector cannot instantaneously move
these directions lie in (JT(q)), namely the complement of (J(q)) to the task space Rm, which is of dimension m - (J(q))
when (J(q)) {0} (this is always the case if m<n, i.e., in robots that are redundant for the task), there exist non-zero joint velocities that produce zero end-effector velocity (self motions)
27
Robotics 1
Kinematic singularities
configurations where the Jacobian loses rank loss of instantaneous mobility of the robot end-effector in general, they correspond to Cartesian poses that lead to a number of inverse kinematic solutions that differs from the generic case in a singular configuration, one cannot find a joint velocity that realizes a given end-effector velocity along an arbitrary direction of the task space close to a singularity, large joint velocities may be needed to realize some (even small) velocity of the end-effector finding and analyzing in advance all singularities of a robot helps in avoiding them during trajectory planning and motion control
when m = n: find the configurations q such that det J(q) = 0 when m < n: find the configurations q such that all mm minors of J are singular (or, equivalently, such that det [J(q) JT(q)] = 0)
finding all singular configurations of a robot with a large number of joints or the actual distance from a singularity is a hard computational task
Robotics 1
28
singularities: arm is stretched (q2=0) or folded (q2= ) singular configurations correspond here to Cartesian points on the boundaries of the workspace in general, these singularities separate regions in the joint space with distinct inverse kinematic solutions (e.g., elbow up or down)
29
Robotics 1
direct kinematics px = q3 c2 c1 py = q3 c2 s1 py . p= pz = d1 + q3 s2 analytical Jacobian -q3s1c2 -q3c1s2 c1c2 q3c1c2 -q3s1s2 s1c2 0 q3c2 s2
. . q = J(q) q
singularities: third link is fully retracted (q3=0, double singularity rank J drops to 1) or E-E is along the z axis (q2= /2, simple singularity rank J = 2); if both cases together, rank J =1 all singular configurations correspond here to Cartesian points internal to the workspace (supposing no limits for the prismatic joint)
30
Robotics 1
n = 6, last three joint axes are revolute and intersect at a point without loss of generality, we can set O6 = W = center of spherical wrist (i.e, choose d6 = 0 in the DH table) J(q) = J11 J21 0 J22
inversion of J is simpler (block triangular structure) since det J(q1,,q5) = det J11 det J22 , there is a decoupling property
det J11(q1,,q3) = 0 provides the arm singularities det J22(q4,q5) = 0 provides the wrist singularities
being J22 = [z3 z4 z5] (in the geometric Jacobian), wrist singularities correspond to situations where z3 z4 z5 are linearly dependent vectors q5 = 0 or q5 = /2
31
Robotics 1