![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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/1.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/2.jpg)
•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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/6.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/7.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/8.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/9.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/10.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/11.jpg)
•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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/12.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/13.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/14.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/15.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/16.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/17.jpg)
• 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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/21.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/22.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062322/5697bf901a28abf838c8dcea/html5/thumbnails/24.jpg)
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