Upload
gabriel-calvin-brown
View
223
Download
3
Tags:
Embed Size (px)
Citation preview
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