Differential Kinematics Up to this point, we have only considered - - PowerPoint PPT Presentation

differential kinematics
SMART_READER_LITE
LIVE PREVIEW

Differential Kinematics Up to this point, we have only considered - - PowerPoint PPT Presentation

Differential Kinematics Up to this point, we have only considered the relationship of the joint angles to the Cartesian location of the end effector: = f ( q ) x f ( q ) But what about the first derivative? q This


slide-1
SLIDE 1

Differential Kinematics

Up to this point, we have only considered the relationship of the joint angles to the Cartesian location of the end effector:

x q f = ) (

But what about the first derivative?

  • This would tell us the velocity of the end

effector as a function of joint angle velocities.

q q f ∂ ∂ ) (

slide-2
SLIDE 2

Motivating Example

q x

) sin(q l

dq dx

− =

Consider a one-link arm

  • As the arm rotates, the end effector

sweeps out an arc

  • Let’s assume that we are only

interested in the coordinate…

) cos(q l x = x

Forward kinematics:

l

Differential kinematics:

q q l x δ δ ) sin( − = x q l q δ δ ) sin( 1 − =

slide-3
SLIDE 3

1. 2. 3. 4. 5.

  • 6. goto 2.

Motivating Example

Suppose you want to move the end effector above a specified point,

        =

l x q

g g 1

cos

g

x

q x

l

g

x

Goal: move the end effector onto this line Answer #1: Answer #2:

x q l q

i

δ δ ) sin( 1 − = ) cos(

i i

q l x =

( )

i g

x x x − =α δ q q q

i i

δ + =

+1

arbitrary ,

0 =

= q i + + i

slide-4
SLIDE 4

) sin( 1 q l

− + cos() l

g

x x q x δ q δ +

d

q q joint ctlr joint position sensor

q x

l

g

x

Motivating Example

This controller moves the link asymptotically toward the goal position.

slide-5
SLIDE 5

Intro to the Jacobian

Velocity Jacobian

      + + + + = ) sin( ) sin( ) cos( ) cos(

2 1 2 1 1 2 1 2 1 1

q q l q l q q l q l x 

1

q x y

2

q

1

l

2

l

      + + + + − + − − = ) cos( ) cos( ) cos( ) sin( ) sin( ) sin(

2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 1

q q l q q l q l q q l q q l q l q d x d  

( )

q J =

Forward kinematics of the two- link manipulator

slide-6
SLIDE 6

q J x δ δ =

1

q x y

2

q

1

l

2

l

( )

      + + + + − + − − = ) cos( ) cos( ) cos( ) sin( ) sin( ) sin(

2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 1

q q l q q l q l q q l q q l q l q J x J q δ δ

1 −

=

1 −

J

+

) (q FK 

d

x  x  q  x 

δ

q 

δ +

d

q  q 

joint ctlr joint position sensor

Chain rule: If the Jacobian is square and full rank, then we can invert it:

Intro to the Jacobian

slide-7
SLIDE 7

Jacobian

The Jacobian relates joint velocities with end effector twist:

q J = ξ

End effector twist Jacobian Joint angle velocities

  • First derivative of joint angles:

          =

n

q q q    

1

It turns out that you can “easily” compute the Jacobian for arbitrary manipulator structures

  • This makes differential kinematics a much easier sub-problem than

kinematics in general.

slide-8
SLIDE 8

What is Twist?

End effector twist:

  • Twist is a concatenation of linear

velocity and angular velocity:

  • As we will show in a minute, linear and

angular velocity have different units

  • Although we will frequently treat

this quantity as a 6-vector, it is NOT

  • ne…

      = ω ξ v

Linear velocity Angular velocity

slide-9
SLIDE 9

Twist: Angular Velocity q R q

a a b b =

q R q

a a b b

 =

Just differentiate all elements of the rotation matrix w.r.t. time.

q R R q

b T a b a b b

 =

( )

T a b a b b

R R S 

= ω

This is the matrix representation

  • f angular velocity

( ) q

S q

b b b

ω =

This FO differential equation encodes how the particle rotates FYI: this expression can be solved using an exponential:

( )

( )

( )

( ) ( ) ( )

( )

2

2

q t S t S I q e t q

b b b t S b

b

        + + + = =

ω ω

ω

slide-10
SLIDE 10

Twist: Angular Velocity

( )

( )

( )

( ) ( ) ( )

( )

2

2

q t S t S I q e t q

b b b t S b

b

        + + + = =

ω ω

ω

( )

( )

( )

( ) ( )

[ ] ( )

cos 1 sin

2 2

q t S t S I

b b

θ ω θ ω − + + =

slide-11
SLIDE 11

Twist: Time out for skew symmetry!

( )

          − − − =

x y x z y z

x x x x x x x S

If you interpret the skew symmetric matrix like this: Then this is another way of writing the cross product:

( )

p x p x S

× =

T

S S

− =

Def’n of skew symmetry

          − − − =

c b c a b a S

Skew symmetric matrices always look like this

slide-12
SLIDE 12

Twist: Angular Velocity

T a b a b

R R I=

( )

ω

b

S

Skew symmetry of :

T a b a b T a b a b

R R R R  

+ =

T a b a b T a b a b

R R R R  

=−

( ) ( )

T b b

S S

ω ω − =

q q

b b b

× = ω

You probably already know this formula

( ) q

S q

b b b

ω =

slide-13
SLIDE 13

Twist

Twist concatenates linear and angular velocity:

      = ω ξ v

Linear velocity Angular velocity

slide-14
SLIDE 14

Jacobian

q J Jv        =

ω

ξ q r J ∂ ∂ ≠

φθψ ω

q x Jv ∂ ∂ =

q J v

v 

=

Breakdown of the Jacobian:

q J 

ω

ω =

Relation to the derivative: but That’s not an angular velocity

slide-15
SLIDE 15

Calculating the Jacobian

x y

1

q

z

2

q

x

1

y

1

y

eff 1 −

1

l

2

l

3

q

x

eff 1 −

x

eff

y

eff

3

l

Approach:

  • Calculate the Jacobian one column at a

time

  • Each column describes the motion at the

end effector due to the motion of that joint

  • nly.
  • For each joint, i, pretend all the other joints

are frozen, and calculate the motion at the end effector caused by i.

slide-16
SLIDE 16

Calculating the Jacobian: Velocity

x

i 1 −

y

i 1 −

y

i

x

i

i

l

eff i i i b eff b

p R p

, 1 1 1 − − −

=

Vector from reference frame i-1 to the end effector Orientation of the link

th

i 1

x y

1

q

z

2

q

x

1

y

1

y

eff 1 −

1

l

2

l

3

q

x

eff 1 −

x

eff

y

eff

3

l

How does the end effector translate as the link moves?

th

i

slide-17
SLIDE 17

Calculating the Jacobian: Velocity

eff i i i b eff i i i b eff b

p R p R p

, 1 1 1 , 1 1 1 − − − − − −

+ =

  

eff i b eff i i i b T i b i b eff b

p p R R R p

, 1 , 1 1 1 1 1 − − − − − −

+ =

  

( )

T i b i b i b

R R S

1 1 1 − − − = 

ω

( )

eff i b eff i b i b eff b

p p S p

, 1 , 1 1 − − −

+ =

 

ω

i i b eff i b i b eff b

p p p

, 1 , 1 1 − − −

+ × =

 

ω

  • Calculate the velocity of the end

effector caused by motion at the i-1 link:

eff i i i b eff b

p R p

, 1 1 1 − − −

=

x

i 1 −

y

i 1 −

y

i

x

i

i

l

slide-18
SLIDE 18

Calculating the Jacobian: Velocity

Velocity at end effector due to rotation at joint i-1 Velocity at end effector due to change in length of link i-1

i i b eff i b i b eff b

p p p

, 1 , 1 1 − − −

+ × =

 

ω

  • The velocity of the end effector

caused by motion at the i-1 link:

x

i 1 −

y

i 1 −

y

i

x

i

i

l

slide-19
SLIDE 19

Calculating the Jacobian: Velocity

eff i b i b v

p z J

i

, 1 1 − − ×

=

Rotational DOF

  • Rotates about

1 −

=

i b v

z J

i

Rotation about

x

i 1 −

y

i 1 −

y

i

x

i

i

l

i

q

z

i 1 −

z

i

z

i 1 −

x

i 1 −

y

i 1 −

y

i

x

i

i

l

z

i 1 −

z

i

Extension/contraction along

z

i 1 −

Prismatic DOF

  • Translates along

Vector from i-1 to the end effector

z

i 1 −

z

i 1 −

( )

1 1 − −

− × =

i b eff b i b v

p p z J

i

slide-20
SLIDE 20

Calculating the Jacobian: Angular Velocity

x

i 1 −

y

i 1 −

y

i

x

i

i

l

eff i i i i b eff b

R R R R

1 1 − −

=

x y

1

q

z

2

q

x

1

y

1

y

eff 1 −

1

l

2

l

3

q

x

eff 1 −

x

eff

y

eff

3

l

How does the end effector rotate as the link moves?

th

i

How does rotate as this rotates?

eff bR

slide-21
SLIDE 21

Calculating the Jacobian: Angular Velocity

eff i i i i b eff b

R R R R

1 1 − −

=

eff i i i i b eff b

R R R R  

1 1 − −

=

( ) ( )

eff i i i i i i i b eff b eff b

R R S R R S

1 , 1 1 1 − − − −

= ω ω

( ) ( )

eff i i b T i b i i i i b eff b eff b

R R R S R R S

1 1 1 , 1 1 1 − − − − − −

= ω ω

( ) ( )

eff i i b i i i i b eff b eff b

R R R S R S

1 1 , 1 1 1 − − − − −

= ω ω

( ) ( )

eff b i i b eff b eff b

R S R S

, 1 −

= ω ω

i i b eff b , 1 −

= ω ω

Perhaps this was kind of obvious… Angular velocity at end effector Angular velocity caused by rotation of joint i-1

slide-22
SLIDE 22

Calculating the Jacobian: Velocity

Rotational DOF

  • Rotates about

Rotation about

x

i 1 −

y

i 1 −

y

i

x

i

i

l

i

q

z

i 1 −

z

i

z

i 1 −

x

i 1 −

y

i 1 −

y

i

x

i

i

l

z

i 1 −

z

i

Extension/contraction along

z

i 1 −

Prismatic DOF

  • Translates along

z

i 1 −

z

i 1 −

i i bz

J

i

, 1 −

=

ω

=

i

slide-23
SLIDE 23

Calculating the Jacobian: putting it together

[ ]

n

v v v

J J J 

1

=

x y

1

q

z

2

q

x

1

y

1

y

eff 1 −

1

l

2

l

3

q

x

eff 1 −

x

eff

y

eff

3

l

( )

1 1 − −

− × =

i b eff b i b v

p p z J

i

Where

  • rotational
  • prismatic

1 −

=

i b v

z J

i

[ ]

n

J J J

ω ω ω

1

=

1 −

=

i bz

J

i

ω

Where

  • rotational
  • prismatic

=

i

      =

n n

J J J J J

v v

ω ω

 

1 1

slide-24
SLIDE 24

Example 1: calculating the Jacobian

              − = 1 1

1 1 1 1 1 1

1 1 1 q q q q q q

s l c s c l s c T               − = 1 1

2 2 2 2 2 2

2 2 2 1 q q q q q q

s l c s c l s c T

From before:

[ ]           = =

1 1 1 ˆ ˆ ˆ

2 1

z z z Jω

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

              − = 1 1

3 3 3 3 3 3

3 3 3 2 q q q q q q

s l c s c l s c T

slide-25
SLIDE 25

Example 1: calculating the Jacobian

          + + − − − =                     −           + + + + ×           = − × = 1 ) ( ˆ

123 3 12 2 1 1 123 3 12 2 1 1 123 3 12 2 1 1 123 3 12 2 1 1 3

1

c l c l c l s l s l s l s l s l s l c l c l c l

  • z

Jv

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

          + − − =                     −           + + + + ×           = − × = 1 ) ( ˆ

123 3 12 2 123 3 12 2 1 1 1 1 123 3 12 2 1 1 123 3 12 2 1 1 1 3 1

2

c l c l s l s l s l c l s l s l s l c l c l c l

  • z

Jv          − =                     + + −           + + + + ×           = − × = 1 ) ( ˆ

123 3 123 3 12 2 1 1 12 2 1 1 123 3 12 2 1 1 123 3 12 2 1 1 2 3 2

3

c l s l s l s l c l c l s l s l s l c l c l c l

  • z

Jv           + + + − − − − − − =

123 3 123 3 12 2 123 3 12 2 1 1 123 3 123 3 12 2 123 3 12 2 1 1

c l c l c l c l c l c l s l s l s l s l s l s l Jv

slide-26
SLIDE 26

Example 1: calculating the Jacobian

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

                    + + + − − − − − − =       = 1 1 1

123 3 123 3 12 2 123 3 12 2 1 1 123 3 123 3 12 2 123 3 12 2 1 1

c l c l c l c l c l c l s l s l s l s l s l s l J J J

v ω

slide-27
SLIDE 27

Example 2: calculating the Jacobian

              − − − = 1 1

1 1 1 1 1 1

l c s s c T

              − = 1 1

2 2 2 2 2 2 2 2 2 1

s l c s c l s c T

              − = 1 1

3 3 3 3 3 3 3 3 3 2

s l c s c l s c T

The kinematics of this arm are described by the following:

1

q

2

q

3

q

x y z

1

z

1

x

1

y

2

z

2

x

2

y

3

z

3

y

3

x

1

l

2

l

3

l

slide-28
SLIDE 28

Example 2: calculating the Jacobian

( )

3

1

p p z J

b b b v

− × =

( )

1 3 1

2

p p z J

b b b v

− × =

( )

2 3 2

3

p p z J

b b b v

− × =

          =

p

b

          =

1 1

l p

b

          + − − =

1 2 2 2 1 2 2 1 2 2

l s l c s l c c l p

b

( ) ( )

          + + + − + − =

1 23 3 2 2 23 3 2 2 1 23 3 2 2 1 3

l s l s l c l c l s c l c l c p

b

          =

1 z

b

         − =

1 1 1

c s z

b

         − =

1 1 2

c s z

b

1

q

2

q

3

q

x y z

1

z

1

x

1

y

2

z

2

x

2

y

3

z

3

y

3

x

1

l

2

l

3

l

slide-29
SLIDE 29

Example 2: calculating the Jacobian

( ) ( ) ( ) ( )

          + − + =           + + + − + − ×           =

1

23 3 2 2 1 23 3 2 2 1 1 23 3 2 2 23 3 2 2 1 23 3 2 2 1

1

c l c l c c l c l s l s l s l c l c l s c l c l c Jv

          =

1

1

ω

J

         − =

1 1

2

c s Jω

         − =

1 1

3

c s Jω

( ) ( ) ( ) ( )

          + + + =           + + − + − ×          − =

23 3 2 2 23 3 2 2 1 23 3 2 2 1 23 3 2 2 23 3 2 2 1 23 3 2 2 1 1 1

2

c l c l c l c l s c l c l c s l s l c l c l s c l c l c c s Jv

          =           − − ×          − =

23 3 23 1 3 23 1 3 23 3 23 3 1 23 3 1 1 1

3

c l s s l s c l s l c l s c l c c s Jv

1

q

2

q

3

q

x y z

1

z

1

x

1

y

2

z

2

x

2

y

3

z

3

y

3

x

1

l

2

l

3

l

slide-30
SLIDE 30

Example 2: calculating the Jacobian

( ) ( ) ( ) ( )

                    − − + + + − + + =

1

1 1 1 1 23 3 23 3 2 2 23 1 3 23 3 2 2 1 23 3 2 2 1 23 1 3 23 3 2 2 1 23 3 2 2 1

c c s s c l c l c l s c l c l c l s c l c l c s c l c l c l c c l c l s J

1

q

2

q

3

q

x y z

1

z

1

x

1

y

2

z

2

x

2

y

3

z

3

y

3

x

1

l

2

l

3

l

slide-31
SLIDE 31

Expressing the Jacobian in Different Reference Frames

In the preceeding, the Jacobian has been expressed in the base frame

  • It can be expressed in other reference

frames using rotation matrices

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

p R p

b b k k =

Velocity is transformed from one reference frame to another using:

p R p

b b k k

  =

Therefore, the velocity Jacobian can be transformed using:

v b b k v k

J R J =

slide-32
SLIDE 32

Expressing the Jacobian in Different Reference Frames

First, let’s express angular velocity in a different reference frame:

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

( ) p

S p

b b b

ω =

Def’n of angular velocity

( ) p

S R p R

b b b k b b k

ω =

( )

p R S R p

k T b k b b k k

ω =

( ) p

R S p

k b b k k

ω =

ω ω

b b k k

R

=

Angular velocity can also be rotated by a rotation matrix Therefore, the angular velocity Jacobian can be transformed using:

ω ω

J R J

b b k k

=

slide-33
SLIDE 33

Expressing the Jacobian in Different Reference Frames

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Therefore, the full Jacobian is rotated:

J R R J

b b k b k k

        =

slide-34
SLIDE 34

Different Jacobian Reference Frames: Example

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Express the Jacobian for the three-link arm in the reference frame of the end effector:

          − = 1

123 123 123 123 3

c s s c R

                    + + + − − − − − − = 1 1 1

123 3 123 3 12 2 123 3 12 2 1 1 123 3 123 3 12 2 123 3 12 2 1 1

c l c l c l c l c l c l s l s l s l s l s l s l J

slide-35
SLIDE 35

Different Jacobian Reference Frames: Example

x y

1

q

z

2

q

3

q

x

1

y

1

y

2

x

2

x

3

y

3

1

l

2

l

3

l

Express the Jacobian for the three-link arm in the reference frame of the end effector:

          − = 1

123 123 123 123 3

c s s c R

                    + + + − − − − − −                     − − = 1 1 1 1 1

123 3 123 3 12 2 123 3 12 2 1 1 123 3 123 3 12 2 123 3 12 2 1 1 123 123 123 123 123 123 123 123 3

c l c l c l c l c l c l s l s l s l s l s l s l c s s c c s s c J