Ch. 4: Velocity Kinematics Velocity Kinematics We want to relate - - PDF document

ch 4 velocity kinematics velocity kinematics
SMART_READER_LITE
LIVE PREVIEW

Ch. 4: Velocity Kinematics Velocity Kinematics We want to relate - - PDF document

Ch. 4: Velocity Kinematics Velocity Kinematics We want to relate end-effector linear and angular velocities with the joint velocities First we will discuss angular velocities about a fixed axis Second we discuss angular


slide-1
SLIDE 1

1

  • Ch. 4: Velocity Kinematics

Velocity Kinematics

  • We want to relate end-effector linear and angular velocities with

the joint velocities

  • First we will discuss angular velocities about a fixed axis
  • Second we discuss angular velocities about arbitrary (moving)

axes

  • We will then introduce the Jacobian

– Instantaneous transformation between a vector in Rn representing joint velocities to a vector in R6 representing the linear and angular velocities of the end-effector

slide-2
SLIDE 2

2 Introduction

  • Q1: What is the linear velocity of O1?
  • Q2: What is the angular velocity of O1?

y0 x1 y1 a x0 θ

Introduction (2)

  • Q1: What is the linear velocity of O2?
  • Q2: What is the angular velocity of O2?

y0 x1 y1 θ a x2 y2 b x0

slide-3
SLIDE 3

3 Angular velocity: arbitrary axis

  • Skew-symmetric matrices

– Definition: a matrix S is skew symmetric if: – i.e. L t th l t f S b d t d th b d fi iti

= + S ST

– Let the elements of S be denoted sij, then by definition: – Thus there are only three independent entries in a skew symmetric matrix

S ST − = j i s j i s s

ij ji ij

= = ≠ − = for for

Angular velocity: arbitrary axis

  • Properties of skew-symmetric matrices
  • 1. The operator S is linear

( ) ( ) ( )

R R , ∈ ∈ ∀ + = + β α β α β α , , ,

3

b a b S a S b a S

  • 2. The operator S is known as the cross product operator

– This can be seen by the definition of the cross product:

( )

3

R p a, , ∈ ∀ × = p a p a S

slide-4
SLIDE 4

4 Angular velocity: arbitrary axis

  • Properties of skew-symmetric matrices
  • 3. For

– This can be shown for and R as follows:

( )

3

3 R , ∈ ∈ a SO R – This can be shown by direct calculation. Finally:

( ) ( )

3

3

SO R a,b Rb Ra b a R ∈ ∈ ∀ × = × , R ,

( ) ( )

Ra S R a RS

T =

Angular velocity: arbitrary axis

  • Derivative of a rotation matrix

– let R be an arbitrary rotation matrix which is a function of a single variable θ

R(θ)R(θ)T I

  • R(θ)R(θ)T=I
  • Differentiating both sides (w/ respect to θ) gives:
slide-5
SLIDE 5

5 Angular velocity: arbitrary axis

  • Example: let R=Rx,θ, then using the previous results we have:

Angular velocity: arbitrary axis

  • Now consider that we have an angular velocity about an

arbitrary axis

  • Further, let R = R(t)
  • Now the time derivative of R is:
  • Where ω(t) is the angular velocity of the rotating frame

( ) ( ) ( ) ( )

t R t S t R ω = &

slide-6
SLIDE 6

6 Addition of angular velocities

  • For most manipulators we will want to find the angular velocity
  • f one frame due to the rotations of multiple frames

– We assume that there are no translational components: all coordinate frames have coincident origins g – Consider three frames: o0, o1, o2: – To illustrate how the rotation of multiple frames is determined by the rotations of the individual frames, take the derivative of this rotation matrix:

( ) ( ) ( )

t R t R t R

1 2 1 2

=

Addition of angular velocities

  • Now the first term can be derived as follows:

( ) ( )

2 1 , 1 2 1 1 , 1 2 1

R S R R S R R ω ω = = &

slide-7
SLIDE 7

7 Addition of angular velocities

  • Further:
  • And since

( ) ( ) ( ) [ ]

2 1 2 , 1 1 1 , 2 2 ,

R R S S R S ω ω ω + =

Linear velocities

  • The linear velocity of any point on a rigid body is the sum of the

linear velocity of the rigid body and the velocity of the particle due to rotation of the rigid body

– First, the position of a point p attached to a rigid body is: First, the position of a point p attached to a rigid body is: – Where o is the origin of the o1 frame expressed in the inertial frame – To find the velocity, take the derivative as follows:

  • Rp

p + =

1

slide-8
SLIDE 8

8 The Jacobian

  • Now we are ready to describe the relationship between the joint

velocities and the end effector velocities.

  • Assume that we have an n-link manipulator with joint variables

q1, q2, …, qn q1, q2, , qn

– Our homogeneous transformation matrix that defines the position and orientation of the end-effector in the inertial frame is: – We can call the angular velocity of the tool frame ω0,n

0 and:

( ) ( )

⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 1 q

  • q

R T

n n

  • n

– Call the linear velocity of the end-effector:

The Jacobian

  • Therefore, we want to come up with the following mappings:

q J q J v

n v n

& &

ω

ω = = – Thus Jv and Jω are 3xn matrices q

n ω

ω

slide-9
SLIDE 9

9 Deriving Jω

  • Remember that each joint i rotates around the axis zi-1
  • Thus we can represent the angular velocity of each frame with

respect to the previous frame

– If the ith joint is revolute, this is:

Deriving Jω

  • Now Jω can simply be written as follows:

– There are n columns, each is 3x1, thus Jω is 3xn

[ ]

1 1 2 1 −

⋅ ⋅ ⋅ =

n nz

z z J ρ ρ ρ

ω

slide-10
SLIDE 10

10 Deriving Jv

  • Linear velocity of the end effector:

= ∂

∂ =

n i i i n n

q q

  • 1

& &

i

Deriving Jv

  • End-effector velocity due to prismatic joints

– Assume all joints are fixed other than the prismatic joint di – The motion of the end-effector is pure translation along zi-1

slide-11
SLIDE 11

11 Deriving Jv

  • End-effector velocity due to revolute joints

– Assume all joints are fixed other than the revolute joint θi – The motion of the end-effector is given by:

The complete Jacobian

  • The ith column of Jv is given by:

( )

⎩ ⎨ ⎧ − × =

− − −

prismatic for revolute for

1 1 1

i z i

  • z

J

i i n i vi

  • The ith column of Jω is given by:

⎩ ⎨ ⎧ =

prismatic for revolute for

1

i i z J

i

i

ω

slide-12
SLIDE 12

12 Example: two-link planar manipulator

  • Calculate J for the following manipulator:

– Two joint angles, thus J is 6x2 ( )

⎩ ⎨ ⎧ − × =

− − −

prismatic for revolute for

1 1 1

i z i

  • z

J

i i n i vi

⎩ ⎨ ⎧ =

prismatic for revolute for

1

i i z J

i

i

ω

⎩ p

Example: velocity of an arbitrary point

  • We can also use the Jacobian to calculate the velocity of any

arbitrary point on the manipulator

( )

⎩ ⎨ ⎧ − × =

− − −

prismatic for revolute for

1 1 1

i z i

  • z

J

i i n i vi

⎩ ⎨ ⎧ =

prismatic for revolute for

1

i i z J

i

i

ω

p

1 i

slide-13
SLIDE 13

13 Example: Stanford manipulator

  • The configuration of the Stanford manipulator allows us to make

the following simplifications:

( )

⎩ ⎨ ⎧ − × =

− − −

prismatic for revolute for

1 1 1

i z i

  • z

J

i i n i vi

⎩ ⎨ ⎧ =

prismatic for revolute for

1

i i z J

i

i

ω

Example: Stanford manipulator

  • From the forward kinematics of the Stanford manipulator, we

calculated the homogeneous transformations for each joint: calculated the homogeneous transformations for each joint:

⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ − = ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ − = ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − = 1 1 1 1 1 1 1 1 1 1 1

6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 2 2 2 2 2 2 1 1 1 1 1

d c s s c A c s s c A c s s c A d A d c s s c A c s s c A , , , , ⎥ ⎥ ⎦ ⎢ ⎢ ⎣ ⎥ ⎥ ⎦ ⎢ ⎢ ⎣ − ⎥ ⎥ ⎦ ⎢ ⎢ ⎣ − 1 1 1 1 1 1

6

d

slide-14
SLIDE 14

14 Example: Stanford manipulator

  • To complete the derivation of the Jacobian, we need the

following quantities: z0, z1, … , z5, o0, o1, o3, o6

– o3 is o and o0 = [0 0 0]T

Example: Stanford manipulator

  • And the oi terms are given as:

( ) ( ) ( )

⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ + + + − − + + − = ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ + − = ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ = ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎡ =

2 1 5 5 1 4 2 5 4 1 6 2 1 3 2 1 5 4 1 2 5 1 5 4 2 1 6 2 1 3 2 1 6 2 1 3 2 1 2 1 3 2 1 3 1

, , , s s c s s c c s s c d d c d s s s s s s c c s c c c d d s d s c

  • d

c d s s d s d s c

  • Finally, the Jacobian can be assembled as follows:

( )

⎥ ⎦ ⎢ ⎣ − + ⎥ ⎦ ⎢ ⎣ ⎥ ⎦ ⎢ ⎣ ⎥ ⎦ ⎢ ⎣

5 2 4 5 2 6 3 2 3 2 2

s s c c c d d c d c d

( ) ( ) ( ) ( )

⎥ ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎢ ⎡ − − − + − − − + − = ⎥ ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎢ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎢ ⎡ − − = ⎥ ⎥ ⎥ ⎥ ⎤ ⎢ ⎢ ⎢ ⎢ ⎡− =

4 1 4 2 1 , 3 2 , 3 1 1 , 3 2 , 3 2 1 2 2 1 2 1 1 1 1 1

c s s c c

  • d

c

  • d

s c

  • d

c

  • d

s s J c s s s c J d c d s d s d c J d d J

x x z z y y z z x y z z x y

⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ − = ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ = , , , 1

4 2 4 3 1 1 2 1

s s J J c s J J

slide-15
SLIDE 15

15 Example: Stanford manipulator

  • Finally, the Jacobian can be assembled as follows:

( )( )

( )

⎥ ⎤ ⎢ ⎡ − − − + −

, 3 4 2 , 3 4 1 4 2 1

  • d

s s

  • d

c c s c s

y y z z

( )( ) ( ) ( )(

) (

)( ) ( )(

) (

)(

)

( )( ) ( )( )⎥

⎥ ⎤ ⎢ ⎢ ⎡ − − + − + − − − − + − + + ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ − − − − + − − − − + − + − =

, 3 5 2 5 4 2 , 3 5 2 1 5 4 1 5 4 2 1 , 3 5 2 5 4 2 , 3 5 2 1 5 4 1 5 4 2 1 4 2 4 1 4 2 1 , 3 4 1 4 2 1 , 3 4 1 4 2 1 , 3 4 2 , 3 4 1 4 2 1 5

  • d

c c s c s

  • d

c s c s s s s c c c

  • d

c c s c s

  • d

c s s s s c s c c s s s c s c c c

  • d

c c s c s

  • d

c s s c c

  • d

s s

  • d

c s s c c J

x x z z y y y y x x y y x x z z

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ + − + + + − =

5 2 5 4 2 2 1 5 4 1 5 4 2 1 5 2 1 5 4 1 5 4 2 1 6

c c s c s c s s s s c s c c s c s c s s s s c c c J

Example: SCARA manipulator

  • Jacobian will be a 6x4 matrix

( ) ( ) ( )

⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − × − × − × =

3 1 3 4 3 2 1 4 1 4

z z z

  • z

z

  • z
  • z

J

  • Thus we will need to determine the following quantities: z0, z1,

… , z3, o0, o1, o2, o4

– Since all the joint axes are parallel, we can see the following:

( ) ( )

⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − × − × =

3 1 2 1 4 1 4

z z z z

  • z
  • z

– From the homogeneous transformation matrices we can determine the origins of the coordinate frames

k z z k z z ˆ , ˆ

3 2 1

− = = = =

slide-16
SLIDE 16

16 Example: SCARA manipulator

  • Thus o0, o1, o2, o4 are given by:

⎥ ⎥ ⎤ ⎢ ⎢ ⎡ + + = ⎥ ⎥ ⎤ ⎢ ⎢ ⎡ = ⎥ ⎥ ⎤ ⎢ ⎢ ⎡ =

12 2 1 1 12 2 1 1 4 1 1 1 1 1

, , s a s a c a c a

  • s

a c a

  • Finally, we can assemble the Jacobian:

⎥ ⎥ ⎦ ⎢ ⎢ ⎣ − + ⎥ ⎥ ⎦ ⎢ ⎢ ⎣ ⎥ ⎥ ⎦ ⎢ ⎢ ⎣

4 3 12 2 1 1 4 1 1 1

, , d d s a s a

  • s

a

⎥ ⎤ ⎢ ⎢ ⎡ + − − −

12 2 12 2 1 1 12 2 12 2 1 1

c a c a c a s a s a s a ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ − − = 1 1 1 1

12 2 12 2 1 1

J

Next class…

  • Formal definition of singularities
  • Tool velocity
  • manipulability