Download - Links and Joints
Links and Links and JointsJoints
Links and Joints
Joints:
Links
End Effector
Robot Basis
2 DOF’s
Denavit – Denavit – Hartenberg Hartenberg details and details and examplesexamples
Chapter 2Robot Kinematics: Position Analysis
⊙ : A rotation about the z-axis.
⊙ dd : The distance on the z-axis.
⊙ aa : The length of each common normal (Joint
offset).
⊙ : The angle between two successive z-axes
(Joint twist)
Only and d are joint variables.
DENAVIT-HARTENBERG REPRESENTATIONDENAVIT-HARTENBERG REPRESENTATION
Symbol Terminologies :
Z-axis aligned with jointJoints ULinks S
X-axis aligned with outgoing limb
Y-axis is orthogonal
Joints are numbered to represent hierarchy
Ui-1 is parent of Ui
Parameter ai-1 is outgoinglimb length of joint Ui-1
Joint angle, i, is rotation of xi-1 about zi-
1 relative to xi
Link twist, i-1, is the rotation of ith z-axis about xi-1-axis relative to z-axis of i-1th frame
Link offset, di-1, specifies the distance along the zi-1-axis (rotated by i-1) of the ith frame from the
i-1th x-axis to the ith x-axis
Start point:
• Assign joint number n to the first shown joint.
• Assign a local reference frame for each and
every joint before or
after these joints.
• Y-axis is not used in D-H representation.
DENAVIT-HARTENBERG REPRESENTATION PROCEDURES
1. .All joints are represented by a z-axis ٭
• (right-hand rule for rotational joint, linear movement for
prismatic joint)
2. The common normal is one line mutually perpendicular to
any two skew lines.
3. Parallel z-axes joints make a infinite number of common
normal.
4. Intersecting z-axes of two successive joints make no
common normal between them(Length is 0.).
DENAVIT-HARTENBERG REPRESENTATION
Procedures for assigning a local reference frame to each joint:
Chapter 2Robot Kinematics: Position Analysis
(I) Rotate about the zn-axis an able of n+1. (Coplanar)
(II) Translate along zn-axis a distance of dn+1 to make xn and xn+1
colinear.
(III) Translate along the xn-axis a distance of an+1 to bring the
origins
of xn+1 together.
(IV) Rotate zn-axis about xn+1 axis an angle of n+1 to align zn-axis
with zn+1-axis.
DENAVIT-HARTENBERG REPRESENTATION
The necessary motions to transform from one reference frame from one reference frame to the
next.
Denavit - Hartenberg
Parameters – a general explanation
Denavit-Hartenberg Notation
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i
d i
i
• IDEA: Each joint is assigned a coordinate frame.
• Using the Denavit-Hartenberg notation, you need 4 parameters to describe how a frame (i) relates to a previous frame ( i -1 ).
• THE PARAMETERS/VARIABLES: , a , d, ⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
Only and d are joint variables
The The aa(i-1)(i-1) ParameterParameter
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
You can align align the two axis just using the 4 parameters
• 1) a1) a(i-1)(i-1) • Technical Definition: a(i-1) is the length of the perpendicular
between the joint axes. • The joint axes are the axes around which revolution takes place
which are the Z(i-1) and Z(i) axes. • These two axes can be viewed as lines in space.
• The common perpendicular is the shortest line between the two axis-lines and is perpendicular to both perpendicular to both axis-lines.
⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
a(i-1) cont...
Visual Approach - “A way to visualize the link parameter a(i-1) is to imagine an expanding cylinder whose axis is the Z(i-1) axis - when the cylinder just touches the joint axis i the radius of the cylinder is equal to a(i-1).” (Manipulator Kinematics)
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i
d i
i
The The alphaalpha aa(i-1)(i-1) ParameterParameter
• It’s Usually on the Diagram Approach - If the diagram already specifies the various coordinate frames, then the
common perpendicular is usually the X(i-1) axis.
• So a(i-1) is just the displacement along the X(i-1) to move from the (i-1) frame to the i frame.
• If the link is prismatic, then a(i-1) is a variable, not a parameter.
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
2)(i-1)
Technical Definition: Amount of rotation around the common perpendicular so that the joint axes are parallel.
i.e. How much you have to rotate around the X(i-1) axis so that the Z(i-1) is pointing in
the same direction as the Zi axis.
Positive rotation follows the right hand rule.
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
The The (i-1) Parameter Parameter
3) d(i-1)Technical Definition: The displacement along the Zi axis needed to align the a(i-1) common perpendicular to the ai common perpendicular.
In other words, displacement along the Zi to align the X(i-1) and Xi axes.
4) i
Amount of rotation around the Zi axis needed to align the X(i-1) axis with the Xi
axis.
Z(i - 1)
X(i -1)
Y(i -1)
( i - 1)
a(i - 1 )
Z i Y i
X i a i d i
i
The The d(i-1) ParameterParameter
The The i Parameter Parameter
The same table as last slide
The Denavit-Hartenberg MatrixThe Denavit-Hartenberg Matrix
1000
cosαcosαsinαcosθsinαsinθ
sinαsinαcosαcosθcosαsinθ
0sinθcosθ
i1)(i1)(i1)(ii1)(ii
i1)(i1)(i1)(ii1)(ii
1)(iii
d
d
a
Just like the Homogeneous Matrix, the Denavit-Hartenberg Matrix is a transformation matrix from one coordinate frame to the next.
Using a series of D-H Matrix multiplications and the D-H Parameter table, the final result is a transformation matrix from some frame to your initial frame.
Z(i -
1)
X(i -1)
Y(i -1)
( i - 1)
a(i -
1 )
Z i Y
i X
i
a
i
d
i i
Put the transformation here
⊙ : A rotation about the z-axis.
⊙ d : The distance on the z-axis.
⊙ a : The length of each common normal (Joint offset).
⊙ : The angle between two successive z-axes (Joint twist)
Example:Example:Calculating the Calculating the final final DH matrix DH matrix
with the with the DH DH Parameter TableParameter Table
Example with three Revolute Joints
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
Denavit-Hartenberg Link Denavit-Hartenberg Link Parameter TableParameter Table
Notice that the table has two uses:
1) To describe the robot with its variables and parameters.
2) To describe some state of the robot by having a numerical values for the variables.
The DH The DH Parameter Parameter
TableTable
We calculate with respect to previous
Example with three Revolute Joints
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
Denavit-Hartenberg Link Parameter Table
Notice that the table has two uses:
1) To describe the robot with its variables and parameters.
2) To describe some state of the robot by having a numerical values for the variables.
The same table as last slide
Z0
X0
Y0
Z1
X2
Y1
Z2
X1
Y2
d2
a0 a1
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
1
V
V
V
TV2
2
2
000
Z
Y
X
ZYX T)T)(T)((T 12
010
Note: T is the D-H matrix with (i-1) = 0 and i = 1.
These matrices T are calculated in next slide
The same table as last slide
World coordinatestool coordinates
1000
0100
00cosθsinθ
00sinθcosθ
T 00
00
0
i (i-1) a(i-1) di
i
0 0 0 0 0
1 0 a0 0 1
2 -90 a1 d2 2
This is just a rotation around the Z0 axis
1000
0000
00cosθsinθ
a0sinθcosθ
T 11
011
01
1000
00cosθsinθ
d100
a0sinθcosθ
T22
2
122
12
This is a translation by a0 followed by a rotation around the Z1 axis
This is a translation by a1 and then d2 followed by a rotation around the X2 and Z2 axis
T)T)(T)((T 12
010
The same table as last slide
1
V
V
V
TV2
2
2
000
Z
Y
X
ZYX
World coordinatestool coordinates
T)T)(T)((T 12
010
ConclusionsConclusions
Forward Forward
Kinematics Kinematics
The Situation:You have a robotic arm that
starts out aligned with the xo-axis.You tell the first link to move by 1 and the second link to move by 2.
The Quest:What is the position of the
end of the robotic arm?
Solution:1. Geometric Approach. Geometric Approach
This might be the easiest solution for the simple situation. However, notice that the angles are measured relative to the direction of the previous link. (The first link is the exception. The angle is measured relative to it’s initial position.) For robots with more links and whose arm extends into 3 For robots with more links and whose arm extends into 3 dimensions the geometry gets much more tediousdimensions the geometry gets much more tedious.
2. Algebraic Approach Algebraic Approach Involves coordinatecoordinate transformations.
Forward Kinematics ProblemForward Kinematics Problem
X2
X3Y2
Y3
1
2
3
l1
l2 l3
Example Problem with H matrices: Example Problem with H matrices: 1.You have a three link arm that starts out aligned in the x-axis.
2.Each link has lengths l1, l2, l3, respectively. 3.You tell the first one to move by 1 , and so on as the diagram suggests. 4.Find the Homogeneous matrix to get the position of the yellow dot in the X0Y0 frame.
H = Rz( 1 ) * Tx1(l1) * Rz( 2 ) * Tx2(l2) * Rz( 3 )
1.Rotating by 1 will put you in the X1Y1 frame.2.Translate in the along the X1 axis by l1.3.Rotating by 2 will put you in the X2Y2 frame.4. and so on until you are in the X3Y3 frame.
•The position of the yellow dot relative to the X3Y3 frame is(l3, 0). •Multiplying H by that position vector will give you the coordinates of the yellow point relative the X0Y0 frame.
X1
Y1
X0
Y0
Slight variation on the last solutionSlight variation on the last solution:Make the yellow dot the origin of a new coordinate X4Y4 frame
X2
X3Y2
Y3
1
2
3
1
2 3
X1
Y1
X0
Y0
X4
Y4
H = Rz(1 ) * Tx1(l1) * Rz(2 ) * Tx2(l2) * Rz(3 ) * Tx3(l3)
This takes you from the X0Y0 frame to the X4Y4 frame.
The position of the yellow dot relative to the X4Y4 frame is (0,0).
1
0
0
0
H
1
Z
Y
X
added
THE THE INVERSE INVERSE KINEMATIC KINEMATIC
SOLUTION OF A SOLUTION OF A ROBOTROBOT
Determine the value of each joint each joint to place the arm at a desired position and orientation.
654321 AAAAAATHR
1000
)()()()(
)()()()(
2232342345234623465234623465234
22323423415152341651
6234652341
651
6234652341
22323423415152341651
6234652341
651
6234652341
aSaSaSSSCCCCSSCCCS
aCaCaCSCCSCSCSC
CSCCCS
CSC
SSCCCS
aCaCaCCCSSCCCSS
CSCCCC
CSS
SSCCCC
1000
zzzz
yyyy
xxxx
paon
paon
paon
THE THE INVERSE KINEMATIC INVERSE KINEMATIC SOLUTION SOLUTION OF ROBOTOF ROBOT
Multiply both sides by A1 -1
RHS
654321
11
1 ][
1000
AAAAARHSApaon
paon
paon
Azzzz
yyyy
xxxx
6543211
11
10001000
00
0100
00
AAAAApaon
paon
paon
CS
SC
zzzz
yyyy
xxxx
THE INVERSE KINEMATIC SOLUTION OF ROBOTTHE INVERSE KINEMATIC SOLUTION OF ROBOT
A1 -1
x
y
p
p11 tan
)())((
)())((tan
423433423411233
42341133423423312
aSPaSaCSpCpaaC
aCSpCpaSaSpaaC
zyx
yxz
3
313 tan
C
S
322344
yx
zyx
aCaS
aSaSaCC
11
2341123415
)(tan
zyx
zyx
oCoSoCS
nSnSnCS
23411234
2341123416
)(
)(tan
THE INVERSE KINEMATIC SOLUTION OF ROBOTTHE INVERSE KINEMATIC SOLUTION OF ROBOT
We calculate all angles from px, py, a1, a2, ni, oi, etc
A robot has a predictable path on a straight line, Or an unpredictable path on a straight line.
A predictable path is necessary to recalculate joint ٭
variables.
(Between 50 to 200 times a second)
To make the robot follow a straight line, it is necessary to ٭
break
the line into many small sections.
.All unnecessary computations should be eliminated ٭
Fig. 2.30 Small sections of movement for straight-line motions
INVERSE KINEMATIC INVERSE KINEMATIC PROGRAMPROGRAM:: a predictable path on a straight line
PROBLEMS PROBLEMS with DHwith DH
Degeneracy : The robot looses a degree of freedom and thus cannot perform as desired.
When the robot’s joints reach their physical ٭limits, and as a result, cannot move any further.
-In the middle point of its workspace if the z ٭axes of two similar joints becomes collinear.
Fig. 2.31 An example of a robot in a degenerate position.
Dexterity : The volume of points where one can position the robot as desired, but not orientate it.
DEGENERACY AND DEXTERITYDEGENERACY AND DEXTERITY
Defect of D-H presentation : D-H cannot represent any cannot represent any motion about motion about the y-axis,the y-axis, because all motions are about the x- and z-axis.
Fig. 2.31 The frames of the Stanford Arm.
# d a
1 1 0 0 -90
2 2 d10 90
3 0 d10 0
4 4 0 0 -90
5 5 0 0 90
6 6 0 0 0
TABLE 2.3 THE PARAMETERS TABLE FOR THE STANFORD ARM
THE THE FUNDAMENTAL PROBLEM FUNDAMENTAL PROBLEM WITH D-H WITH D-H REPRESENTATIONREPRESENTATION