Sie sind auf Seite 1von 31

Robotics 1

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

Angular velocity of a rigid body


P2 vP2 - vP1 vP2 r23 P3 P1, P2, P3 rigidity constraint on distances among points: r = constant vPi - vPj orthogonal to rij 1 2 3 2-1=3 vP2 - vP1 = 1 r12 vP3 - vP1 = 1 r13 vP3 - vP2 = 2 r23 1 = 2 = . rij = rij

vP1 P1

r12

vP3 - vP1

r13 vP3

vPj = vPi + rij = vPi + S() rij

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

Angular velocity of E-E


2 1 n v

v3

r = (p,)
R p 000 1

alternative definitions of the direct kinematics T =

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

Example of finite rotations


z
same initial orientation

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

z x y different final orientations

Robotics 1

Infinitesimal motions

infinitesimal translations (linear displacements)


always commute (even when finite)

dp = JL(q) dq

infinitesimal rotations R(d) = R(dX, dY ,dZ)


1 0 0 0 0 cos X sin X sin X cos X RX(dX) = 1 0 0 0 1 dX 0 dX 1 d Y 0 1

RX(X) =

RY(Y) =

cos Y 0 sin Y 0 1 0 sin Y 0 cos Y 0 0 1

RY(dY) =

1 0 0 1 d Y 0

cos Z sin Z RZ(Z) = sin Z cos Z 0 0


Robotics 1

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

Time derivative of a rotation matrix


let R = R(t) be a rotation matrix, given as a function of time since I = R(t)RT(t), taking the time derivative of both sides yields 0 = d[R(t)RT(t)]/dt = dR(t)/dt RT(t) + R(t) dRT(t)/dt = dR(t)/dt RT(t) + [dR(t)/dt RT(t)]T thus dR(t)/dt RT(t) = S(t) is a skew-symmetric matrix let p(t) = R(t)p a vector (with constant norm) rotated over time comparing dp(t)/dt = dR(t)/dt p = S(t)R(t) p = S(t) p(t) dp(t)/dt = (t) p(t) = S((t)) p(t) we get S = S() .
Robotics 1

R = S() R

S() = R RT
8

Time derivative of an elementary rotation matrix


RX((t)) = 1 0 0 0 0 cos (t) sin (t) sin (t) cos (t) 0 0 0 0 0 . 0 sin cos 0 . 0 0 cos sin = S() . = 0 0
Robotics 1 9

Example

. . T () = RX() R X 0 = 0 0

1 0 0

0 0 cos sin sin cos

Time derivative of RPY angles and


RRPY (x, y, z) = RZYX (z, y, x)
z = . . y y x x x . TRPY (,) c c -s c s c -s 0 x y
RZ(z)

0 0 1 z

. . .

RZY(z,y)

1st col in 2nd col in

det TRPY (,) = c = 0 for = /2 (singularity of the RPY representation)

N.B. same treatment for the other 11 minimal representations


Robotics 1 10

Robot Jacobian matrices

analytical Jacobian (obtained by time differentiation)


r = fr(q) = p . r= . . fr(q) . p q . = Jr(q) q = q

geometric Jacobian (no derivatives)


v = . p . JL(q) . q = J(q) q = JA(q)

Robotics 1

11

Analytical Jacobian of planar 2R arm


y py l1 l2 q1 px . . . . px = - l1 s1 q1 - l2 s12 (q1 + q2) . . . . py = l1 c1 q1 + l2 c12 (q1 + q2) . . . = z = q1 + q2 here, analytical
Robotics 1

q2

r x

direct kinematics px = l1 c1 + l2 c12 py = l1 s1 + l2 s12 = q1 + q2

- l1 s1 - l2 s12 Jr(q) = l1 c1 + l2 c12 1

- l2 s12 l2 c12 1

JL(q) JA(q)

geometric Jacobian

given r, this is a 3 x 2 matrix


12

Analytical Jacobian of polar robot


pz q3 q2 d1 q1 py direct kinematics (here, r = p) px = q3 c2 c1 py = q3 c2 s1 pz = d1 + q3 s2

px

taking the time derivative

-q3c2s1 -q3s2c1 c2c1 . . . v = p = q3c2c1 -q3s2s1 c2s1 q = Jr(q) q 0 q3c2 s2


Robotics 1 13

Geometric Jacobian
always a 6 x n matrix

End-Effector v instantaneous E E velocity

JL(q) JA(q)

. q=

JL1(q) JLn(q) J (q) J (q)


A1 An

. q1 . qn

superposition of effects . . vE = JL1(q) q1 ++ JLn(q) qn . . E = JA1(q) q1 ++ JAn(q) qn

contribution to the linear . E-E velocity due to q1

contribution to the angular . E-E velocity due to q1

linear and angular velocity belong to (linear) vector spaces in R3


Robotics 1 14

Contribution of a prismatic joint


Note: joints beyond the i-th one are considered to be frozen, so that the distal part of the robot is a single rigid body

. . JLi(q) qi = zi-1 di

zi-1

E prismatic i-th joint .

qi = di RF0

. JLi(q) qi . JAi(q) qi

zi-1 di 0

Robotics 1

15

Contribution of a revolute joint


. JLi(q) qi zi-1 Oi-1 qi = . . JAi(q) qi = zi-1 i

pi-1,E
revolute i-th joint . JLi(q) qi . JAi(q) qi

RF0

(zi-1 pi-1,E) i zi-1 i


16

Robotics 1

Expression of geometric Jacobian


. p0,E
E

vE
E

JL(q) . q= JA(q) prismatic i-th joint

JL1(q) JLn(q) J (q) J (q)


A1 An

. q1 . qn

revolute i-th joint

JLi(q) JAi(q) zi-1 =

zi-1 0
0 0 1

zi-1 pi-1,E zi-1

p0,E qi

0R (q )i-2R (q ) 1 1 i-1 i-1

pi-1,E = p0,E(q1,,qn) - p0,i-1(q1,,qi-1)


Robotics 1

all vectors should be expressed in the same reference frame (here, the base frame RF0)
17

Example: planar 2R arm


y2 y1 y0 l1 x0 z0 = z1 = z2 = 0 0 1 l2 x1 E x2
DENAVIT-HARTENBERG table joint

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

p1,E = p0,E - p0,1

J=

z0 p0,E z1 p1,E z0 z1
0A 2

l1c1+ l2c12 l1s1+ l2s12 0 1

s12 0 0

p0,E

Robotics 1

18

Geometric Jacobian of planar 2R arm


y2 y1 y0 l1 x0 note: the Jacobian is here a 62 matrix, thus its maximum rank is 2 = l2 x1
- l1s1- l2s12 l1c1+ l2c12 0 0 0 1 - l2s12 l2c12 0 0 0 1

x2 E J=

z0 p0,E z1 p1,E z0 z1

at most 2 components of the linear/angular E-E velocity can be independently assigned


Robotics 1 19

Transformations of the Jacobian matrix


RFi Oj
0v

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

a) it may be RFB RFi(q)


Robotics 1

BR (q) 0

. B . q = JE(q) q

never singular!
20

Example: Dexter robot

8R robot manipulator with transmissions by pulleys and steel cables (joints 3 to 8)


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

Mid-frame Jacobian of Dexter robot


the geometric Jacobian 0J8(q) is very complex 4 the mid-frame Jacobian J4(q) is relatively simple!

08

y4 z4 6 rows, 8 columns

x4 04

x0

z0 y0

Robotics 1

22

Summary of differential relations


. pv . . p=v =
. 1 + . 2 +

.3 =

. . . . a1 1 + a2(1) 2 + a3(1, 2) 3 = T()

(moving) axes of definition for the sequence of rotations i

r=

J(q) =

0 T()

Jr(q)

Jr(q) =

I 0

0 T-1()

J(q)

T() has always a singularity . R


Robotics 1

singularity of the specific minimal representation of orientation


for each column ri of R (unit vector of a frame), . we have

. R = S() R

ri = ri

23

Acceleration relations (and beyond)


Higher-order differential kinematics

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 .

acceleration jerk snap

.. . .. . r = Jr(q) q + Jr(q) q

matrix function N2(q,q)

. ... .. .. . ... r = Jr(q) q + 2 Jr(q) q + Jr(q) q . . r = Jr(q) q +


matrix function N3(q,q,q)

. ..

the same holds true also for the geometric Jacobian


24

Robotics 1

Primer on linear algebra


given a matrix J: m n (m rows, n columns)

rank (J) = max # of rows or columns that are linearly independent


(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 }

dim((J)) = (J) dim((J)) = n - (J)


also called null space of J

kernel (J) = vector subspace of all vectors Rn such that J = 0

(J) + (JT) = Rm e (JT) + (J) = Rn

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

space of task (Cartesian) velocities

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 of planar 2R arm


py l1 l2 q1 p q2 direct kinematics px = l1 c1 + l2 c12 py = l1 s1 + l2 s12

px x analytical Jacobian . . - l1s1- l2s12 - l2s12 . p= lc+lc l2c12 q = J(q) q 1 1 2 12


det J(q) = l1l2s2

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

Singularities of polar (RRP) arm


pz q3 q2 d1 px q1 det J(q) = q32 c2

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

Singularities of robots with spherical wrist


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

Das könnte Ihnen auch gefallen