24
Kinematics

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

Embed Size (px)

Citation preview

Page 1: 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

Kinematics

Page 2: 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

•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)

Page 3: 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

Typical Examples

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

Object: boxZ

X Y

.

A B

box

.

Page 4: 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

Typical Examples

• Welding a seam on a curved surface:

Object: torch

Z

X Y

torch seam

Page 5: 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

Typical Examples

• A mobile robot navigating a hallway:

Object: mobile robot itself

Y

X

mobile robot

hallway

.

..

Page 6: 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

• 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:

Page 7: 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

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

• x

• y

• z

– 3 orientation variables:• Roll

• Pitch

• Yaw

Page 8: 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

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

Z

X Y

Frame z (object)

Frame 1 (workspace)

Y

Z

X

Page 9: 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

• 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.

Page 10: 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

• 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

Page 11: 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

•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.

Page 12: 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

• 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

Page 13: 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

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

Page 14: 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

• 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

Page 15: 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

• 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

Page 16: 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

• 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

Page 17: 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

• 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.

Page 18: 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

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

Page 19: 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

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 ()

Page 20: 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

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

Page 21: 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

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°

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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