kinematics. the function of a robot is to manipulate objects in its workspace. to manipulate objects...

Post on 17-Jan-2016

223 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Kinematics

•The function of a robot is to manipulate objects in its workspace.

•To manipulate objects means to cause them to move in a desired way (as determined by a particular application)

Typical Examples

• Picking up a box from point A and moving it to point B:

Object: boxZ

X Y

.

A B

box

.

Typical Examples

• Welding a seam on a curved surface:

Object: torch

Z

X Y

torch seam

Typical Examples

• A mobile robot navigating a hallway:

Object: mobile robot itself

Y

X

mobile robot

hallway

.

..

• In each case, the object being manipulated may be modeled as a rigid body, or non-deformable mass of material.

xyz

yaw

Z

X Y

roll

pitch

Rigid body

Position vector:

• An unconstrained rigid body has six degrees of freedom– 3 position variables:

• x

• y

• z

– 3 orientation variables:• Roll

• Pitch

• Yaw

• Suppose we attach a coordinate frame to the object being manipulated:

Z

X Y

Frame z (object)

Frame 1 (workspace)

Y

Z

X

• The specification of the desired motion of the manipulated object relative to the robot’s workspace amounts to describing the position and orientation (and their rate of change including linear and angular velocities and accelerations) of frame z with respect to frame 1.

• Such a description of motion is called Kinematics.

• Kinematics concerns the geometry of motion only, without considering the forces and torques needed to actually cause the motion.

• Putting the robot into the picture, the following is the standard kinematics diagram for robotics.

Z

XY

Z

X Y

Z

XY

Links and joints (4) between Wrist and Base of robot; there are sensors and actuators at each joint

Base frame

User frame

World frame (stationary)

Z

XY

Wrist frame

ZX

Y Tool frame

•World frame: stationary; serves as common frame, e.g., if there are multiple robots

•Base frame: may be moving, e.g., a mobile robot; defined with respect to World frame

•Wrist frame: defined with respect to Base frame; position and orientation determined by link lengths and joint angles/offsets

•Tool frame: defined with respect to Wrist frame; position and orientation are fixed

•User frame: may be moving, e.g., a conveyor; defined with respect to World frame

Knowledge of the positions and orientations of each of the different frames fully determines the state of the robot relative to its environment

(workspace) at any given point in time.

• To relate Wrist frame to Base frame:– Forward Kinematics: given link length/twist values

and joint angle/offset values, determine the corresponding position and orientation of the Wrist frame

– Inverse Kinematics: given a desired Tool frame position and orientation, determine the necessary joint angles/offsets (assuming known link lengths/twists)

• The solution is not always unique or feasible

Forward Kinematics• The general description of a link and joint is given below.

a: link length: length twist: joint angled: joint offset

n+1 links: 0-nn joints: 1-n

Dennvit-Hartenberg rotation

• Revolute joint: constant offset d, variable angle

• Prismatic joint: variable offset d, constant angle

• Convention for first and last links:– a0 = 0 and 0 = 0– an = undefined and n = undefined

• Convention for first and last joints:– If joint 1 is revolute: d1 = 0, 1 has arbitrary zero position– If joint 1 is prismatic: 1 = 0, d1 has arbitrary zero position– Similarly for joint n

• Individual frames (right-handed) are attached to each link according to the following convention.

Zi axis along joint i axis

Origin of frame i: intersection of ai and joint i axis

Xi axis along ai from joint i to joint i+1

i is positive about + Xi axis

Yi specified so as to obtain a right-handed system

• Frame 0 = Base frame

– Convention: choose Z0 along Z1, and Frame 0

coincides with Frame 1 when 1 = 0 or d1 = 0

• Frame n = Wrist frame

– Joint n revolute: Xn lines up with Xn-1 when n =

0; origin chosen so that dn = 0

– Joint n prismatic: direction of Xn chosen so that n =

0; origin chosen at intersection of Xn-1 and joint n

axis when dn = 0

• Then:

– Link length, ai = distance from Zi to Zi+1 measured along Xi

– Link twist, i = angle between Zi and Zi+1 measured about Xi

– Joint offset, di = distance from Xi-1 to Xi measured along Zi

– Joint angle, i = angle between Xi-1 and Xi measured about Zi

• Therefore:– Determining the position and orientation of the Wrist frame with

respect to the Base frame amounts to determining the position

and orientation of Frame n with respect to Frame 0.

The position and orientation of one frame with respect to another frame can be represented by a 4 x 4 matrix (transform matrix)

T =

where R: 3 x 3 rotation matrix

P: 3 x 1 position vector

last row: “filler”0 0 0 1

R P

Can write n with respect to 0:

(eq. 1)

where

=

cos i -sin i 0 ai-1

sin i cos i-1 cos i cos i-1 - sin i-1 - sin i-1 • di

sin i sin i-1 cos i sin i-1 cos i-1 cos i-1 • di

0 0 0 1

(eq. 2)

TTTTT nnn12

312

01

0

Ti i1

Rotation Matrices

roll, , about X:

pitch, , about Y:

yaw, , about Z:

1 0 0

0 cos -sin

0 sin cos

cos sin 0

0 1 0

-sin cos 0

cos -sin 0

sin cos 0

0 0 1

RX ()

RY ()

RZ ()

RX () · RY () · RZ () =

c·c c·s·s - s·c c·s·c·s·s

s·c s·s·s + c·c s·s·c·c·s

-s c·s c·c

Composite rotation, in order: 1. roll

2. pitch

3. yaw

Represent as

r11 r12 r13

r21 r22 r23

r31 r32 r33

pitch

yaw

roll

, then can determine roll, pitch, and yaw as:

),(arctan 221

21131 rrrz

)cos,cos(arctan 1121 rrz

)cos,cos(arctan 3332 rrz

If =90°

=0°

=arctan z(r12, r22)

e.g.,

arctan z(-1,-1) = 135°

arctan z(1, 1) = 45°

Example 1Consider the following planar manipulator:

i i-1 ai-1 di i

1 0 0 0 1

2 0 L1 0 2

3 0 L2 0 3

Suppose L1 = 1m, L2 = 1m, 1 = 30°, 2 = 60°, and 3 = -90°.

Then:

Alternate1 = 90°2 = -60°3 = -30°

Wrist

x = 0.866my = 1.5mz = 0 = 0β = 0 = 0

=

0.866 -0.5 0 0

0.5 0.866 0 0

0 0 1 0

0 0 0 1

T01

=

0.5 -0.866 0 1

0.866 0. 5 0 0

0 0 1 0

0 0 0 1

T12

And therefore,

=

0 1 0 1

-1 0 0 0

0 0 1 0

0 0 0 1

T23

0.5 -0.866 0 1

0.866 0. 5 0 0

0 0 1 0

0 0 0 1

TTTT 23

12

01

03

pitch,

yaw,

roll,

0)1,0arctan(),(arctan 221

21131 rrrz

0)1,0(arctan)cos,cos(arctan 1121 zrrz

0)1,0(arctan)cos,cos(arctan 3332 zrrz

top related