lecture 7: kinematics: velocity kinematics - the jacobian · lecture 7: kinematics: velocity...

53
Lecture 7: Kinematics: Velocity Kinematics - the Jacobian Manipulator Jacobian c Anton Shiriaev. 5EL158: Lecture 7 – p. 1/??

Upload: hoangcong

Post on 01-Aug-2018

343 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 1/??

Page 2: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

• Analytical Jacobian

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 1/??

Page 3: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

• Analytical Jacobian

• Singularities

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 1/??

Page 4: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

• Analytical Jacobian

• Singularities

• Inverse Velocity and Manipulability

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 1/??

Page 5: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

Given an n-link manipulator with joint variables q1, . . . , qn• Let T 0

n(q) is the homogeneous transformation between theend-effector and base frames

T 0n(q) =

[

R0n(q) o0

n(q)

0 1

]

, q =[q1, . . . , qn

]T

so that ∀ p with coordinates pn its coordinates in the baseframe are

p0 = R0n p

n + o0n

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 2/??

Page 6: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

Given an n-link manipulator with joint variables q1, . . . , qn• Let T 0

n(q) is the homogeneous transformation between theend-effector and base frames

T 0n(q) =

[

R0n(q) o0

n(q)

0 1

]

, q =[q1, . . . , qn

]T

so that ∀ p with coordinates pn its coordinates in the baseframe are

p0 = R0n p

n + o0n

• As the robot moves, joint variables become functions of time

t → q(t) =[q1(t), . . . , qn(t)

]T

so that

p0(t) = R0n(q(t)) p

n + o0n(q(t))

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 2/??

Page 7: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

• We have already seen how to compute ddtp0(t) from

p0(t) = R0n(q(t)) p

n + o0n(q(t))

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 3/??

Page 8: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

• We have already seen how to compute ddtp0(t) from

p0(t) = R0n(q(t)) p

n + o0n(q(t))

• It is

ddtp0(t) = d

dt

[R0n(q(t))

]pn+ d

dt

[o0n(q(t))

]

= S(ω00,n(t))R

0n(q(t))p

n + v0n(t) = ω0

0,n(t) × r(t) + v0n(t)

with r(t) = p− on(t)

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 3/??

Page 9: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

• We have already seen how to compute ddtp0(t) from

p0(t) = R0n(q(t)) p

n + o0n(q(t))

• It is

ddtp0(t) = d

dt

[R0n(q(t))

]pn+ d

dt

[o0n(q(t))

]

= S(ω00,n(t))R

0n(q(t))p

n + v0n(t) = ω0

0,n(t) × r(t) + v0n(t)

with r(t) = p− on(t)

• Therefore, to compute velocity of any point in theend-effector frame, it suffices to know

◦ an angular velocity ω00,n(t) of the end-effector frame

◦ a linear velocity v0n(t) of the the end-effector frame origin

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 3/??

Page 10: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

Given• an n-link manipulator with joint variables q1, . . . , qn

• its particular motion q(t) =[q1(t), . . . , qn(t)

]T

What do the functions ω00,n(t) and v0

n(t) depend on?

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 4/??

Page 11: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

Given• an n-link manipulator with joint variables q1, . . . , qn

• its particular motion q(t) =[q1(t), . . . , qn(t)

]T

What do the functions ω00,n(t) and v0

n(t) depend on?

It is suggested to search them as

v0n(t) = Jv(q(t))

ddtq(t) ω0

0,n(t) = Jω(q(t))ddtq(t)

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 4/??

Page 12: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Concept of the Manipulator Jacobian

Given• an n-link manipulator with joint variables q1, . . . , qn

• its particular motion q(t) =[q1(t), . . . , qn(t)

]T

What do the functions ω00,n(t) and v0

n(t) depend on?

It is suggested to search them as

v0n(t) = Jv(q(t))

ddtq(t) ω0

0,n(t) = Jω(q(t))ddtq(t)

The 6 × n-matrix function J(·) defined by

ξ(t) =

v0n(t)

ω00,n(t)

= J(q(t)) ddtq(t) =

Jv(q(t))

Jω(q(t))

ddtq(t)

is the manipulator Jacobian; ξ(t) is a vector of body velocitiesc©Anton Shiriaev. 5EL158: Lecture 7 – p. 4/??

Page 13: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 14: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

If ith-joint is revolute (ρi = 1), then• axis of rotation coincides with zi;

• angular velocity is ωi−1

i−1,i = qi(t) · ~k

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 15: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

If ith-joint is revolute (ρi = 1), then• axis of rotation coincides with zi;

• angular velocity is ωi−1

i−1,i = qi(t) · ~k

If ith-joint is prismatic (ρi = 0), then angular velocity ωi−1

i−1,i = 0

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 16: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

If ith-joint is revolute (ρi = 1), then• axis of rotation coincides with zi;

• angular velocity is ωi−1

i−1,i = qi(t) · ~k

If ith-joint is prismatic (ρi = 0), then angular velocity ωi−1

i−1,i = 0

Therefore

ω00,n(t) = ω0

0,1 +R01ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

= ρ1q1~k + ρ2R01q2~k + · · · + ρnR

0n−1

qn~k

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 17: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

If ith-joint is revolute (ρi = 1), then• axis of rotation coincides with zi;

• angular velocity is ωi−1

i−1,i = qi(t) · ~k

If ith-joint is prismatic (ρi = 0), then angular velocity ωi−1

i−1,i = 0

Therefore

ω00,n(t) = ρ1q1~k + ρ2R

01q2~k + · · · + ρnR

0n−1

qn~k

=

n∑

i=1

ρiqiz0i−1, z0

i−1= R0

i−1~k

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 18: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

If ith-joint is revolute (ρi = 1), then• axis of rotation coincides with zi;

• angular velocity is ωi−1

i−1,i = qi(t) · ~k

If ith-joint is prismatic (ρi = 0), then angular velocity ωi−1

i−1,i = 0

Therefore

ω00,n(t) =

n∑

i=1

ρiqiz0i−1

=[

ρ1z00, ρ2z

01, . . . , ρnz

0n−1

]

q1...qn

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 19: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Angular Velocity

Given n-moving frames with the same origins as for fixed one

R0n(t) = R0

1(t)R1

2(t) · · ·Rn−1

n (t) ⇒ ddtR0n(t) = S(ω0

0,n(t))R0n(t)

ω00,n(t) = ω0

0,1(t) + ω01,2(t) + ω0

2,3(t) + · · · + ω0n−1,n(t)

= ω00,1 +R0

1ω1

1,2 +R02ω2

2,3 + · · · +R0n−1

ωn−1

n−1,n

If ith-joint is revolute (ρi = 1), then• axis of rotation coincides with zi;

• angular velocity is ωi−1

i−1,i = qi(t) · ~k

If ith-joint is prismatic (ρi = 0), then angular velocity ωi−1

i−1,i = 0

Therefore

ω00,n(t) =

n∑

i=1

ρiqiz0i−1

=[

ρ1z00, ρ2z

01, . . . , ρnz

0n−1

]

︸ ︷︷ ︸

= Jω

q1...qn

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 5/??

Page 20: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Linear Velocity

The linear velocity v0n(t) of the end-effector is

the time-derivative of o0n(t) and v0

n(t) ≡ 0 if q ≡ 0

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 6/??

Page 21: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Linear Velocity

The linear velocity v0n(t) of the end-effector is

the time-derivative of o0n(t) and v0

n(t) ≡ 0 if q ≡ 0

Therefore there are functions Jv1(q, q), . . . , Jvn(q, q) such that

v0n(t) = d

dto0n(t) = Jv1(·)q1 + Jv2(·)q2 + · · · + Jvn

(·)qn

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 6/??

Page 22: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Linear Velocity

The linear velocity v0n(t) of the end-effector is

the time-derivative of o0n(t) and v0

n(t) ≡ 0 if q ≡ 0

Therefore there are functions Jv1(q, q), . . . , Jvn(q, q) such that

v0n(t) = d

dto0n(t) = Jv1(·)q1 + Jv2(·)q2 + · · · + Jvn

(·)qn

=

[∂

∂q1o0n(t)

]

q1 +

[∂

∂q2o0n(t)

]

q2 + · · · +

[∂

∂qno0n(t)

]

qn

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 6/??

Page 23: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Linear Velocity

A prismatic joint i: translation along the zi−1-axis with velocityddtdi when all other joints kept fixed results in

ddto0n(t) = d

dtdi(t)R

0i−1k = d

dtdi(t) z

0i−1

= Jvidi

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 6/??

Page 24: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Linear Velocity

A revolute joint i: rotation along the zi−1-axis with angularvelocity d

dtθizi−1 when all other joints kept fixed results in

ddto0n(t) = ω × r =

[

θzi−1

]

× [on − oi−1] = Jviθi

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 6/??

Page 25: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Linear Velocity

The linear velocity v0n(t) of the end-effector is

the time-derivative of o0n(t) and v0

n(t) ≡ 0 if q ≡ 0

Therefore there are functions Jv1(q, q), . . . , Jvn(q, q) such that

v0n(t) = d

dto0n(t) = Jv1(·)q1 + Jv2(·)q2 + · · · + Jvn

(·)qn

=

[∂

∂q1o0n(t)

]

q1 +

[∂

∂q2o0n(t)

]

q2 + · · · +

[∂

∂qno0n(t)

]

qn

Jvi=

z0i−1, for prismatic joint

z0i−1

×[

o0n − o0

i−1

]

, for revolute joint

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 6/??

Page 26: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

v0n(t)

ω00,n(t)

=

Jv(q(t))

Jω(q(t))

[

q1

q2

]

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 27: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

v0n(t)

ω00,n(t)

=

Jv1(q(t)) Jv2(q(t))

Jω1(q(t)) Jω2

(q(t))

[

q1

q2

]

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 28: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

v0n(t)

ω00,n(t)

=

z0 × (o2 − o0) Jv2(q(t))

Jω1(q(t)) Jω2

(q(t))

[

q1

q2

]

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 29: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

v0n(t)

ω00,n(t)

=

z0 × (o2 − o0) z1 × (o2 − o1)

Jω1(q(t)) Jω2

(q(t))

[

q1

q2

]

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 30: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

v0n(t)

ω00,n(t)

=

z0 × (o2 − o0) z1 × (o2 − o1)

z0 Jω2

[

q1

q2

]

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 31: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

v0n(t)

ω00,n(t)

=

z0 × (o2 − o0) z1 × (o2 − o1)

z0 z1

[

q1

q2

]

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 32: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Jacobian for Example 3.1

zi =

0

0

1

, o0 =

0

0

0

, o1 =

a1c1

a1s1

0

, o2 =

a1c1 + a2c12

a1s1 + a2s12

0

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 7/??

Page 33: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

• Analytical Jacobian

• Singularities

• Inverse Velocity and Manipulability

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 8/??

Page 34: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Analytic Jacobian

Given a robot and a homogeneous transformation

T 0n(q) =

[

R0n(q) o0

n(q)

0 1

]

, q =[q1, . . . , qn

]

there are several ways to represent rotational matrix R0n(q), e.g.

R = R(φ, θ, ψ) = Rz,φRy,θRz,ψ

with (φ, θ, ψ) being the Euler angles (ZYZ-parametrization).

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 9/??

Page 35: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Analytic Jacobian

Given a robot and a homogeneous transformation

T 0n(q) =

[

R0n(q) o0

n(q)

0 1

]

, q =[q1, . . . , qn

]

there are several ways to represent rotational matrix R0n(q), e.g.

R = R(φ, θ, ψ) = Rz,φRy,θRz,ψ

with (φ, θ, ψ) being the Euler angles (ZYZ-parametrization).

If the robot moves q = q(t), then ω00,n(t) is defined by

ddtR0n(q(t)) = S(ω0

0,n(t))R0n(q(t))

Angular velocity is function of α(t) = (φ(t), θ(t), ψ(t)), ddtα(t)

ω00,n(t) = B(α(t)) d

dtα(t)

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 9/??

Page 36: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Analytic Jacobian

The equation[

v0n(t)

α(t)

]

= Ja(q)q

defines the so-called analytic Jacobian

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 10/??

Page 37: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Analytic Jacobian

The equation[

v0n(t)

α(t)

]

= Ja(q)q

defines the so-called analytic Jacobian

Both manipulator and analytic Jacobians are closely related

[

v0n(t)

ω00,n(t)

]

= J(q(t)) q(t) =

[

v0n(t)

B(α(t))α(t)

]

=

[

I 0

0 B(α(t))

] [

v0n(t)

α(t)

]

=

[

I 0

0 B(α(t))

]

Ja(q(t)) q(t)

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 10/??

Page 38: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

• Analytical Jacobian

• Singularities

• Inverse Velocity and Manipulability

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 11/??

Page 39: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities

The manipulator Jacobian J(q) a 6 × n-matrix mapping

ξ =

v0n

ω00,n

= J(q) ddtq =

Jv(q)

Jω(q)

ddtq

=[J1(q), J2(q), . . . , Jn(q)

]

q1...qn

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 12/??

Page 40: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities

The manipulator Jacobian J(q) a 6 × n-matrix mapping

ξ =

v0n

ω00,n

= J(q) ddtq =

Jv(q)

Jω(q)

ddtq

=[J1(q), J2(q), . . . , Jn(q)

]

q1...qn

Since ξ ∈ R6 ⇒ rank

[J1(q), J2(q), . . . , Jn(q)

]≤ 6, ∀ q

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 12/??

Page 41: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities

The manipulator Jacobian J(q) a 6 × n-matrix mapping

ξ =

v0n

ω00,n

= J(q) ddtq =

Jv(q)

Jω(q)

ddtq

=[J1(q), J2(q), . . . , Jn(q)

]

q1...qn

Since ξ ∈ R6 ⇒ rank

[J1(q), J2(q), . . . , Jn(q)

]≤ 6, ∀ q

Configurations qs =[qs1, . . . , qsn

]for which

rank[J1(qs), J2(qs), . . . , Jn(qs)

]

< maxq

{rank

[J1(q), J2(q), . . . , Jn(q)

]}

are called singularc©Anton Shiriaev. 5EL158: Lecture 7 – p. 12/??

Page 42: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities

Identifying manipulator singularities are important:

• Singularities represent configurations from which certaindirection may be unattainable;

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 13/??

Page 43: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities

Identifying manipulator singularities are important:

• Singularities represent configurations from which certaindirection may be unattainable;

• At singularity bounded end-effector velocity ξ maycorrespond to unbounded joint velocities q

ξ1 = J1(q1, q2)q1 + J2(q1, q2)q2

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 13/??

Page 44: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities

Identifying manipulator singularities are important:

• Singularities represent configurations from which certaindirection may be unattainable;

• At singularity bounded end-effector velocity ξ maycorrespond to unbounded joint velocities q

ξ1 = J1(q1, q2)q1 + J2(q1, q2)q2

• Singularities often correspond to points on the boundary ofthe manipulator workspace

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 13/??

Page 45: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities of the elbow manipulator

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 14/??

Page 46: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Singularities of the elbow manipulator

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 15/??

Page 47: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Lecture 7: Kinematics: Velocity Kinematics - the Jacobian

• Manipulator Jacobian

• Analytical Jacobian

• Singularities

• Inverse Velocity and Manipulability

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 16/??

Page 48: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Assigning Joint Velocities

The manipulator Jacobian J(q) a 6 × n-matrix mapping

ξ =

v0n

ω00,n

= J(q) ddtq =

[J1(q), J2(q), . . . , Jn(q)

]

q1...qn

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 17/??

Page 49: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Assigning Joint Velocities

The manipulator Jacobian J(q) a 6 × n-matrix mapping

ξ =

v0n

ω00,n

= J(q) ddtq =

[J1(q), J2(q), . . . , Jn(q)

]

q1...qn

When the Jacobian is square, we can invert it

q = J−1(q)ξdes

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 17/??

Page 50: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Assigning Joint Velocities

The manipulator Jacobian J(q) a 6 × n-matrix mapping

ξ =

v0n

ω00,n

= J(q) ddtq =

[J1(q), J2(q), . . . , Jn(q)

]

q1...qn

When the Jacobian is square, we can invert it

q = J−1(q)ξdes

When n > 6 there are many solutions, but them can be found

q = J+(q)ξdes +(I − J+J

)b, ∀ b ∈ R

n

where J+ = JT (JJT )−1

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 17/??

Page 51: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Manipulability

Suppose that we restricted possible joint velocities of n-degreeof freedom robot

∥∥q

∥∥2

=∥∥q1

∥∥2

+ · · · +∥∥qn

∥∥2

≤ 1

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 18/??

Page 52: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Manipulability

Suppose that we restricted possible joint velocities of n-degreeof freedom robot

∥∥q

∥∥2

=∥∥q1

∥∥2

+ · · · +∥∥qn

∥∥2

≤ 1

Then we restricted possible body velocities by

ξTP (qa)ξ = ξT(J(qa)J

T (qa))−1ξ =

(J+(qa)ξ

)T

J+(qa)ξ

=∥∥q

∥∥2

≤ 1

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 18/??

Page 53: Lecture 7: Kinematics: Velocity Kinematics - the Jacobian · Lecture 7: Kinematics: Velocity Kinematics - the Jacobian • Manipulator Jacobian • Analytical Jacobian • Singularities

Manipulability

Suppose that we restricted possible joint velocities of n-degreeof freedom robot

∥∥q

∥∥2

=∥∥q1

∥∥2

+ · · · +∥∥qn

∥∥2

≤ 1

Then we restricted possible body velocities by

ξTP (qa)ξ = ξT(J(qa)J

T (qa))−1ξ =

(J+(qa)ξ

)T

J+(qa)ξ

=∥∥q

∥∥2

≤ 1

The set defined by the inequality is called manipulability ellipsoid

It illustrates how easy/difficult to move the end-effector

in certain directions from the configuration qa

c©Anton Shiriaev. 5EL158: Lecture 7 – p. 18/??