5.Velocity Kinematics PDF

Title 5.Velocity Kinematics
Author Tonmoy Sarker
Course Industrial Robotics
Institution Louisiana State University
Pages 25
File Size 915.7 KB
File Type PDF
Total Downloads 73
Total Views 156

Summary

Lecture Note...


Description

Chapter 5: Velocity Kinematics

For a robot manipulator to follow a contour at given velocity, we must know

ffector

the relationship between the end e

velocity and the joint velocities.

This chapter is devoted to deriving this velocity relationship. Velocity relationships will determined by the Jacobian, which is one of the most important quantities in the analysis and control of robot motion. In general, the Jacobian is a

6 ×  matrix where  denotes the robot’s number

of DOF, and is derived from the time derivative of the forward kinematic equations.

Simple Example: Consider the 2 DOF manipulator in the

Its forward kinematics is given by

 = 1 cos 1 + 2 cos (1 + 2 )  = 1 sin 1 + 2 sin (1 + 2 )  fferentiating

Di

these equations yields

´

³

˙ = −1˙ 1 sin 1 − 2 ˙ 1 + ˙ 2 sin (1 + 2 )

³

´

˙ = 1 ˙ 1 cos 1 + 2 ˙ 1 + ˙ 2 cos (1 + 2 ) 

1

figure below.

Using the vector notation

"

=

 

we have

" ˙ =

#

" and

=

1 2

# 

−1 sin 1 − 2 sin (1 + 2 ) −2 sin (1 + 2 ) 1 cos 1 + 2 cos (1 + 2 ) 2 cos (1 + 2 )

# ˙

(1)

=  () ˙ where the

2×2

matrix

 ()

is called the manipulator Jacobian.

The joint velocities are found from the end effector velocities via the inverse Jacobian

˙ =  −1 () ˙

where

 −1 =

1 1 2 sin 2

Notice that

 −1

"

2 cos (1 + 2 ) 2 sin (1 + 2 ) −1 cos 1 − 2 cos (1 + 2 ) −1 sin 1 − 2 sin (1 + 2 )

is not defined when

sin 2 = 0,

i.e.,

2 = 0 or 2 = .

#

In such

cases, the manipulator is said to be in a singular configuration.

The determination of such singular configurations is important for several reasons. 2



• At singular configurations, the manipulator end effector cannot move in certain directions since it loses one or more DOF. In the above example, the end effector cannot move in the direction parallel to axis

2 = 0

or

2

when

2 =  .

• Singular configurations are also related to the non-uniqueness of solutions of the inverse kinematics. In the above example, there are in general two possible solutions to the inverse kinematics (elbow up and elbow down).

The singular configuration separates these two solutions in the sense that

the manipulator cannot go from one configuration to the other without passing through the singularity.

• For many applications it is important to plan manipulator motions in such a way that singular configurations are avoided.

Since velocities are the main subject of this chapter, we begin with an investigation of how to represent angular and linear velocities.

1

Angular Velocity

1.1

Fixed Axis Case

When a rigid body moves in a pure rotation about a

fixed

axis, every point

of the body moves in a circle. The centers of these circles lie on the axis of rotation. As the body rotates, a perpendicular from any point of the body to the axis of rotation sweeps out an angle of the body. If



,

and this angle is the same for every point

is a unit vector in the direction of the axis of rotation, then

the angular velocity is given by

˙  =  The linear velocity of any point on the body is then

 =× where



is a vector from the origin (which in this case is assumed to lie on

the axis of rotation) to the point. 3

If a coordinate frame is attached to the rotating rigid body with its origin along the axis of rotation, then the coordinate frame will also experience the same angular velocity

1.2

.

Skew Symmetric Matrices

In robotics, we’re interested in computing relative velocity transformations between coordinate frames. Such transformations involve derivatives of rotation matrices.

By introducing the notion of a skew symmetric matrix, it is

possible to simplify many of the computations involved.



De nition 1 An

×



matrix

is said to be skew symmetric if and only if

 | +  = 0 The set of all If

 ∈ (3)

Thus, every

If

3×3

skew symmetric matrices is denoted by

has components

3×3

 = [     ]|,

 ,   = 1 2 3,

(3).

then

 +  = 0 =⇒  = 0 =⇒  = −   6=  skew symmetric matrix has the form

⎤ 0 −3 2 ⎢ ⎥  = ⎣ 3 0 − 1 ⎦  −2 1 0 ⎡



we de ne the skew symmetric matrix



⎤ 0 −  ⎥ ⎢ () = ⎣  0 − ⎦  −  0 Example 1 Let the three unit basis vectors be

⎤ 1 ⎢ ⎥ =⎣ 0⎦ 0 ⎡

⎤ 0 ⎢ ⎥  =⎣ 1 ⎦ 0 ⎡

4

⎤ 0 ⎢ ⎥  =⎣ 0 ⎦ 1 ⎡

()

as

Then

⎤ ⎡0 0 0 ⎥ ⎢ ⎣ 0 0 −1 () = 0 1 0⎦

() =

Properties: 1. For any

  ∈ R3

and scalars

⎡ ⎢ ⎣

⎤ 0 0 1 ⎥ 0 0 0 −1 0 0 ⎦

⎤ ⎡ 0 −1 0 ⎢ ⎥ ⎣ 1 0 0 ⎦ () = 0 0 0

  ,

 ( + ) = () +  () 2. For any

where 3. For

  ∈ R3 ,

×

() =  × 

denotes the vector cross product.

 ∈ (3)

and

 ∈ R3 , ()| =  () 

4. For an

×

skew symmetric matrix



and any

 ∈ R ,

| = 0 1.3

Derivative of a Rotation Matrix

Suppose that a rotation matrix



is orthogonal,

fferentiating

Now, di



is a function of the single variable

 () | () = 

the above equation wrt



gives

| ()  () |  () + () =0  |  {z }   +  | = 0 =⇒  ∈ (3)

5

.

Since

Right-multiply

=

 () |  ()   () =

by

 ( ):

 () |  ()  () 

 () =  ()   Derivative of a rotation matrix is equivalent to a matrix multiplication by a skew symmetric matrix!

Example 2 



Recall the three basic rotation matrices:



⎤ 1 0 0 ⎥ ⎢ = ⎣ 0 cos  − sin  ⎦ 0 sin  cos  ⎡ ⎤ cos  − sin  0 ⎥ ⎢ = ⎣ sin  cos  0 ⎦  0 0 1





⎤ cos  0 sin  ⎥ =⎢ 1 0 ⎦ ⎣ 0 − sin  0 cos 

Then

⎤⎡





1 0 0 1 0 0  | ⎥ ⎥⎢ ⎢  =  = ⎣ 0 − sin  − cos  ⎦ ⎣ 0 cos  sin  ⎦  0 − sin  cos  0 cos  − sin  ⎤ ⎡ 0 0 0 ⎢ ⎥ = ⎣ 0 0 −1 ⎦ = () 0 1 0 Thus,

 = ()   Likewise,

 = ( ) 

and

6

 = ( )  

1.4

Arbitrary Axis Case

We now consider the general case of angular velocity about an arbitrary, possibly moving, axis. Suppose that a rotation matrix is time varying, so that

 = () ∈ (3)

for all time. Then,

˙ =  (())  where

F

0

at

(2)

() is the angular velocity of the rotating frame F1 wrt the fixed frame time .

To see that attached to



is indeed the angular velocity vector, consider a point

F . The coordinates of  relative to F 1

0

 rigidly

are

0 = 10 1  ˙0 = ˙ 01 1 + 10 ˙1 =  () 101 =  () 0 =  × 0 |{z}

zero since point is attached to Example 3

If

() = () ,

F

1

then

˙ )() = () ˙  =  ( ) ˙ =  =   = (     where

1.5

h

i|

˙ =  ˙ 0 0  = 

is the angular velocity vector.

Addition of Angular Velocities

We are often interested in

finding

the resultant angular velocity due to the

relative rotation of several coordinate frames. Let’s derive the expressions for the composition of angular velocities of two moving frames

F

1

and

F

2

relative to the

fixed frame F0.

For now, we assume

that the three frames share a common origin.

 = angular velocity vector that corresponds to the time deriv ative of  . Since we can express this vector relative to any coordinate frame,  we use  to denote the angular velocity vector expressed relative to  .

Notation:

F

7

02 = 1012 ˙ 21 ˙ 02 = ˙ 1012 + 10 We also know from (2) that

¡

¢

˙ 20 =  002 02 where

02

is the total angular velocity experienced by

0 the combined rotations expressed by  and 1

¡

¢

12 . ¡

F2

, which results from

¢

˙ 1021 =  001 1012 =  001 20 ¡

¢

01˙ 12 = 10 112 12 ¡ ¢ ¡ ¢| = 10 112 01 1021 |

{z

}

Apply Property 3

¢

¡

=  10112 02 Combining the above expressions

¡

¢

¡

¢

¡

¢

 002 02 =  001 02 +  10112 20 ¢ ¡ ¢¤ £ ¡ =  001 +  01 112 20 |

{z

}

Apply Property 1

¡

¢

=  001 + 01 112 20 002 = 001 + 01 112 = 001 + 012 Angular velocities can be added once they are expressed relative to the same coordinate frame!

The above reasoning can be extended to any number of coordinate systems.

1 0 = 1012    −  ¡ ¢ ˙ 0 =  00 0 where

0 −1 00 = 001 + 10112 + 20223 +    + − 1  −1 0 = 001 + 102 + 023 +    + − 1 8

(3)

2 Linear Velocity We now consider the linear velocity of a point that is rigidly attached to a moving frame.

Suppose the point to the



F1

is rigidly attached to

fixed frame F0 .

z0

z1

, and that

F1

is rotating relative

F0 (fixed) y1

F1 (rotating) y0 x0

P x1

0 = 01 ()1 ˙0 = ˙ 01 1 + 10 ˙1 ¡ ¢ =  0 101

¡ ¢

=  0 0 = 0 × 0

Now, suppose that the motion of

F1

relative to

represented by the homogeneous transformation

"

10() =

01 () 0 () 0 1

9

# 

F0

is more general, and

z1

P

y1

r

z0 p

F0 (fixed)

o1

o0

d

F 1 (rotating/translating)

y0 x1 x0 Point



is now given by

0 =  0 + 0 = 10 1 + 0 

¡ ¢

˙ 10 1 + ˙0 =  0 10  1 + ˙0 ˙0 =  = 0 ×  0 + 

where

 = ˙0 =

If point



rate at which

is moving relative to

F1

1

is translating.

, then we would have

˙0 = 0 ×  0 +  + 10˙ 1 

3 Derivation of the Jacobian Consider an

-link

manipulator with joint variables

"

0() =

0 () 0

0() 1

ffector

be the transformation from the end-e

|

. Let

frame to the base frame.

 and the end effector position 0 will be functions of time. 

As the robot moves, both the joint variables

0 and orientation

#

 = [1    ]

10

• Let

0 = ˙ 0

be the linear velocity of the end effector.

• Let

¡

˙ 0 0 (00) = 

¢|

define the angular velocity of the end effector, Goal:

00.

Relate the linear and angular velocity of the end effector to the vector

of joint velocities

˙.

That is, we seek expressions of the form

0 =  ()˙ 00 =  ()˙ where



and



are

3×

"

where the

6×

matrices, or equivalently

0 00

#

" =

 ()  ()

# ˙ = ()˙

matrix is called the manipulator Jacobian or simply the

Jacobian.

3.1

End Effector Angular Velocity

Recall from (3) that angular velocities can be added provided that they are expressed relative to a common coordinate frame. Thus, we can determine

00

by expressing the angular velocity contributed

by each joint expressed relative to the base frame and then summing these.

• Joint  is revolute:

 = 

and

−1

represent the angular velocity of link

is the axis of rotation. Let



rotation of joint , expressed relative to

(or

F) that is imparted by the

F−1.

−1 −1 − 1 = ˙  −1 = ˙ 

11

−1 − 1

• Joint  is prismatic: Motion of F relative to F−1 is a translation so −1 − 1 = 0

That is, this joint will not affect the angular velocity of the end effector. Therefore, the angular velocity of the end-effector is given by

0 −1 00 = 001 + 01 112 +    + − 1  −1

= 1˙1  + 2˙2 10 +    +  ˙ 0−1  =

h 1  |

(

where

 = 3.2

2 01 

···

{z

0   − 1

 1 0

Joint

i ˙ }

(4)

 revolute  prismatic.

Joint

End Effector Linear Velocity

0 = ˙ 0 () = ˙ 0 (1       ) =

 X 0 =1

=



|



˙

0 0 1 2

···

{z

0 



¸ }

˙

• Joint  is prismatic: The th column of  is given by 0 = 0−1   12

(5)





Joint

is revolute: The

th

column of



is given by

¡ ¢ 0 0 = 0−1  × 0 − − 1  where to

3.3

F0

0 − 1

is the position of the origin of frame

(6)

F−1

, expressed relative

.

Summary

We can see from (4), (5), and (6) that the only quantities needed to compute the Jacobian are:

• 0  •

,

 = 0      − 1

and

Coordinates of the origin of

F

,

 = 0     ,

i.e.,

0.

These quantities are directly obtained from the transformation matrix

• 0  = • 0 =

First 3 elements of the 3rd column of

First 3 elements of the 4th column of

Only 3rd and 4th columns of the



 0:

0

0

matrices are needed to evaluate the

Jacobian!

The above procedure works not only for computing the velocity of the end-



e ector but also for computing the velocity of any point on the manipulator.

13

3.4

Examples

Example 4

2 DOF planar manipulator

Link 2 Link 1 Joint 2 Joint 1 Link 0

Recall that in Chapter 3 (forward kinematics) we found the transformation matrices to be

10



⎢ ⎢ =⎢ ⎣

1 −1 1 1 0 0 0 0

The Jacobian is

"

() =

" =

⎤ 0 1 1 0 1 1 ⎥ ⎥ ⎥ 1 0 ⎦ 0 1

6×2

 ()  ()

#

20



⎢ ⎢ =⎢ ⎣

12 −12 12 12 0 0 0 0

0 1 1 + 2 12 0 1 1 + 2 12 1 0 0 1



⎥ ⎥ ⎥ ⎦

and, since both joints are revolute, has the form

"

=

¡

¢

00  × 20 − 00 00

¡

¢#

¡

01  × 20 − 10 01 

¢#

× ×  ⎤⎞ ⎤ ⎡ ⎡ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎛⎡ 1 1 1 1 + 2 12 0 1 1 + 2 12 0 ⎥⎟ ⎥ ⎢ ⎢ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎜⎢ ⎢ ⎣ 0 ⎦ × ⎣ 1 1 + 2 12 ⎦ ⎣ 0 ⎦ × ⎝⎣ 1 1 + 2 12 ⎦ − ⎣ 1 1 ⎦⎠ ⎢ ⎢ 1 0 0 1 0 ⎡ ⎤ ⎢ ⎡ ⎤ ⎢ 0 0 ⎢ ⎢ ⎢ ⎥ ⎢ ⎥ ⎣0⎦ ⎣0⎦ ⎣ 1 1 20

01 

20 − 01 

01

14

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦



⎢ ⎢ ⎢ ⎢ () = ⎢ ⎢ ⎢ ⎣ •

Notice that the

first

⎤ −1 1 − 2 12 −2 12 1 1 + 2 12 2 12 ⎥ ⎥ ⎥ 0 0 ⎥ ⎥ 0 0 ⎥ ⎥ ⎦ 0 0 1 1

(7)

two rows of (7) are exactly the Jacobian in (1),

which give the linear velocity of the tip relative to the base.



What is the angular velocity vector of the tip?

Example 5

Cylindrical arm without wrist.

Link 3 x2

z2

d3

y2 x3 Link 2 y 3 d2

a3

z1 x1

d1

z3

y1 z0

1

Link 1 x0

y0

Recall that in Chapter 3 we found the transformation matrices to be

 10

 30



1 −1 ⎢  ⎢ 1 = ⎢ 1 ⎣0 0 0 0 ⎡ 1 0 ⎢ ⎢ 1 0 = ⎢ ⎣ 0 −1 0 0

0 0 1 0

0 0 1 1

−1 1 0 0





1 ⎥ ⎢ ⎥ ⎢ 1 ⎥ 20 = ⎢ ⎣ 0 ⎦ 0 ⎤ 3 1 − 3 1 3 1 + 3 1 ⎥ ⎥ ⎥ 1 + 2 ⎦ 1 15

0 − 1 0 0 1 0 −1 0 1 + 2 0 0 1

⎤ ⎥ ⎥ ⎥ ⎦

Since joint 1 is revolute and joints 2 and 3 are prismatic, we have

"

 = ⎡

⎢ ⎢ = ⎢ ⎣ ⎡

⎢ ⎢ ⎢ ⎢ = ⎢ ⎢ ⎢ ⎣ ...


Similar Free PDFs