For the five-degrees-of-freedom manipulator, starting from the base joint, joints 1, 3, and 5 are revolute joints, while joints 2 and 4 are prismatic joints... The first step in determin
Trang 1Axis Number
Twist angle
ai
Link length
ai
Link offset
di
Joint angle
qi
1 2
n
a1
a2
an
a1
a2
an
d1
d2
dn
q1
q2
qn
D-H Parameters Table
Z1
q3
Y2
Z2
X2
Y1
q2
Y0
q1
X0
Z0
X1
a2
d1
a2
Determine ai
Z1
Z0
q3
Y2
Z2
X2
Y1
q2
Y0
q1
X0
X1
a2
d1 Determine di and ai
8.3 Algorithm for Determining the Homogenous Transformation
Matrix, A◦ n
After determining the D-H parameters, the next step is to derive the homogeneous transformation matrix
from one frame to the next We will denote the U i(θ i ) matrix as the rotation matrix about the Z i−1
axis while the V i(α i ) matrix as the rotation matrix denoting the rotation about the X iaxis To perform coordinate transformation from reference frame{F i } to reference frame {F i−1}, we need to derive the
rotation matrix and the displacement vector The rotation matrix from{F i } to {F i−1} is given by
Trang 2D-H Convention 8-7
where U i(θ i) is given by
U i(θ i)=
cos(θ i) − sin(θ i) 0 sin(θ i) cos(θ i) 0
and V i(α i) is given by
V i(α i)=
10 cos(0α 0
i) − sin(α i)
0 sin(α i) cos(α i)
The homogeneous transformation matrix transforming coordinates from{F i } to {F i−1} is given by
A i i−1= A i−1
where A i
i is the screw displacement about the axis x ithrough an angleα i and distance a i Similarly, A i i−1
is the screw displacement about the axis z i through an angleθ i and distance d i The expression for A i i−1
and A i iis given by
A i i−1 =
0
U i3×3 0
d i
A i i=
a i
V i3×3 0
0
Consequently,
A i i−1=
0
d i
a i
0
=
U i V i U i s i
(8.20)
Expanding the various terms in Equation (8.20) we get
U i V i=
c s θ θ i −s θ i 0
i c θ i 0
10 c0α 0
i −s α i
0 s α i +cα i
=
c s θ θ i −s θ i c α i sθ i sα i
i c θ i c α i −cθ i s α i
U i s i=
c s θ θ i −sθ i 0
i c θ i 0
a0i 0
+
00
d i
=
c s θ θ i a i
i a i
d i
where
s i=
a0i
d i
Trang 3on
o1
d 0
A0
o2
on− 1
Performing the composition from the nth frame to the base frame (see Figure 8.5), we get
A0n = A0
1A12 A n−1
n =
R0 d0
(8.23)
Based on Equations (8.20) and (8.23) we can write
R n0= (U1V1)(U2V2)· · · (U n V n) (8.24) and
d n0= U1s1+ U1V1U2s2+ U1V1U2V2U3s3 + U1V1U2V2 U n−1V n−1U n s n (8.25)
8.4 Examples
Example 8.1
Figure 8.6is an example of a robotic arm manipulator with five joints In this manipulator, three joints are rotational and two joints are prismatic Thus, the robot has five degrees of freedom
No Twist Angleα i Link Length a i Joint Offset d i Joint Angleθ i
1
3
5
The first step in determining the D-H parameters is to locate the joints of the robot arm manipulator and determine if the joint is prismatic or revolute For the five-degrees-of-freedom manipulator, starting from the base joint, joints 1, 3, and 5 are revolute joints, while joints 2 and 4 are prismatic joints Because
Trang 48-10 Robotics and Automation Handbook
expression in Equation (8.24) and Equation (8.25) we get
R0= (U1V1)(U2V2)(U3V3)(U4V4)(U5V5) (8.26)
d50= U1s1+ (U1V1)U2s2+ (U1V1)(U2V2)U3s3+ (U1V1)(U2V2)(U3V3)U4s4
The following matrices are the individual U and V matrices for each axis of the manipulator.
U1=
cos(θ1) − sin(θ1) 0 sin(θ1) cos(θ1) 0
1 0 0
0 1 0
0 0 1
U2=
1 0 0
0 1 0
0 0 0
U3=
cos(θ3) − sin(θ3) 0 sin(θ3) cos(θ3) 0
U4=
1 0 00 1 0
0 0 1
1 0 00 1 0
0 0 1
U5=
cos(sin(θ θ5) − sin(θ5) 0
5) cos(θ5) 0
1 0 00 1 0
0 0 1
Similarly the s ivector is given by
s1=
0 0 0
0 0
d2
0 0 0
0 0
d4
0 0 0
Substituting the above U i , V i , and s iinto Equation (8.26) and Equation (8.27) we get
R50=
C1C3C5+ S1S5 −C1C3S5+ S1C5 C1S3
S1C3C5− C1S5 −S1C3S5− C1C5 S1S3
d0=
C1S3d4
S1S3d4
d2− C3d4
where C a = cos(a) and S a = sin(a).
The final transformation matrix is thus given by
A0=
C1C3C5+ S1S5 −C1C3S5+ S1C5 C1S3 C1S3d4
S1C3C5− C1S5 −S1C3S5− C1C5 S1S3 S1S3d4
S3C5 −S3S5 −C3 d2− C3d4
Trang 5TABLE 8.1 D-H Parameters for the SCARA
No Twist Angleα i Link Length a i Link Offset d i Joint Angleθ i
1
2
4
Example 8.2: The SCARA Robot
The SCARA robot is a four axis robot arm manipulator with three revolute joints and one prismatic joint
(see Figure 8.7 and Table 8.1) The name SCARA is an acronym for selective compliance assembly robot arm.
The first step in determining D-H parameters for the SCARA is to locate the joints and determine the rotation or translation of each joint The SCARA has four joints with three of them being revolute joints and one prismatic joint Each of the revolute joints, 1, 2, and 4, have aθ value of θvariable
i with i being the
joint number The prismatic joint (joint 3) has aθ value of zero and a d value of dvariable
3 Starting from the base, the joint coordinate frames are assigned based on the algorithm outlined before
Having established the coordinate frames, the next step is the determination of the D-H parameters
We begin by first determiningα i.α i is the rotation about X i to make Z i−1parallel with Z i(starting from
Zi−1) Starting with axis 1, the rotation about X1to make Z0parallel to Z1is 0 because they are parallel For axis 2, theα is π or 180◦because Z
2is pointing down along the translation of the prismatic joint.α3 andα4are zero because Z3and Z4are parallel with Z2and Z3, respectively
The next step is to determine a i and d i a i is the link length and always points away from the Z i−1axis.
d i is the offset and is always along the Z i−1axis For axis 1, there is an offset between axes 1 and 2 in the
BASE
PRISMATIC JOINT
d1
X1
X2
X3
X4
X0
Y1
Y2
Y3
Y4
Y0
Z2
Z3
Z1
Z4
Z0
q2
d4
d3
Trang 68-12 Robotics and Automation Handbook
Z0direction so the offset is equal to d1 There is also a distance between the axes, which is equal to a1 For
axis 2, there is a distance between axes 2 and 3 away from the Z1axis equal to a2 d2is equal to zero Axis
3 is a prismatic joint, so d is variable, i.e., d3Variable Between axes 3 and 4, there is an offset only in the Z direction, so d4is equal to this distance a3and a4are both zero
Having determined all the D-H parameters, the transformation matrix A0 can now be computed
The transformation matrix consists of the rotation matrix R0and the displacement vector d0 Using the expression in Equation (8.24) and Equation (8.25) we get
R0= (U1V1)(U2V2)(U3V3)(U4V4) (8.31)
d0= U1s1+ (U1V1)U2s2+ (U1V1)(U2V2)U3s3+ (U1V1)(U2V2)(U3V3)U4s4 (8.32)
The following matrices are the individual U and V matrices for each axis of the manipulator.
U1=
cos(θ1) − sin(θ1) 0 sin(θ1) cos(θ1) 0
1 0 0
0 1 0
0 0 1
U2=
cos(θ2) − sin(θ2) 0 sin(θ2) cos(θ2) 0
U3=
1 0 00 1 0
0 0 1
1 0 00 1 0
0 0 1
U4=
cos(θ4) − sin(θ4) 0 sin(θ4) cos(θ4) 0
1 0 0
0 1 0
0 0 1
Similarly the s ivector is given by
s1=
a1 0
d1
a2 0 0
0 0
d3
0 0
d4
Substituting the above U i , V i , and s iinto Equation (8.31) and Equation (8.32) we get
R0=
C12C4+ S12S4 −C12S4+ S12C4 0
S12C4− C12S4 −S12S4− C12C4 0
d40=
C1a1+ C12a2
S1a1+ S12a2
d1− d3− d4
where C a = cos(a), S a = sin(a), C ab = cos(a + b) and S ab = sin(a + b).
The final transformation matrix is
A04=
C12C4+ S12S4 −C12S4+ S12C4 0 C1a1+ C12a2
S12C4− C12S4 −S12S4− C12C4 0 S1a1+ S12a2
Trang 7d2
d1
d3
d6
X5
X6
Z1
Z5
Z6
Z3
Z4
X2
X0
Y4
Y3
Y1
Y0
X4
Y2
Y6
Y5
q5
q6
q4
q2
q1
Z0
BASE
PRISMATIC JOINT
X3
Z2
X1
Example 8.3: The Stanford Arm
Designed in 1969 by Victor Scheinman, the Stanford arm was one of the first robots exclusively designed for computer control.1The Stanford arm is a 6-axis robot manipulator with five revolute joints and one prismatic joint, giving it six degrees of freedom
The first step in determining the D-H parameters for the Stanford arm is to locate the joints and determine if the joint is prismatic or revolute(Table 8.2).Starting from the base joint, joints 1, 2, 4, 5, and
6 are all revolute joints Theθ ivalues areθVariable
1 ,θVariable
2 ,θVariable
4 ,θVariable
5 , andθVariable
6 , respectively Since there is no rotation about prismatic joints,θ3is equal to zero but d3is equal to dVariable
3 Starting from the base, the joint coordinate frames are assigned based on the algorithm outlined before
Having established the coordinate frames, the next step is to determine the D-H parameters We begin
by first determiningα i.α i is the rotation about X i to make Z i−1parallel with Z i For axis 1, the rotation
required about X1to take Z0parallel to Z1is−90◦or−π/2 Similarly α2andα5are equal to 90◦orπ/2.
For axes 3 and 6, Z i−1and Z iare parallel, soα3andα6are equal to zero
Trang 8D-H Convention 8-15
Substituting the above U i , V i , and s i into Equation (8.36) and Equation (8.37), we get the following,
where C i = cos(i) and S i = sin(i):
R0=
r11 r12 r13
r21 r22 r23
r31 r32 r33
r11= ((C1C2C4− S1S4)C5− C1S2S5)C6+ (−C1C2S4− S1C4)S6
r12= −((C1C2C4− S1S4)C5− C1S2S5)S6+ (−C1C2S4− S1C4)C6
r13= (C1C2C4− S1S4)S5+ C1S2C5
r21= ((S1C2C4+ C1S4)C5− S1S2S5)C6+ (−S1C2S4+ C1C4)S6
r22= −((S1C2C4+ C1S4)C5− S1S2S5)S6+ (−S1C2S4+ C1C4)C6
r23= (S1C2C4+ C1S4)S5+ S1S2C5
r31= (−S2C4C5− C2S5)C6+ S2S4S6
r32= −(−S2C4C5− C2S5)S6+ S2S4C6
r33= −S2C4S5+ C2C5
d60=
d11
d21
d31
d11= −S1d2+ C1S2d3+ ((C1C2C4− S1S4)S5+ C1S2C5)d6
d21= C1d2+ S1S2d3+ ((S1C2C4+ C1S4)S5+ S1S2C5)d6
d31= d1+ C2d3+ (−S2C4S5+ C2C5)d6 The final transformation matrix is
A06=
R0 d0
(8.40)
Example 8.4: The Mitsubishi PA-10 Robot Arm
The Mitsubishi PA-10 robot arm is a 7-joint robot manipulator All seven of the joints are revolute, and thus the manipulator has seven degrees of freedom The first step in determining the D-H parameters of the Mitsubishi PA-10 robot arm is to locate each joint and determine whether it is rotational or prismatic (Table 8.3 andFigure 8.9).As seen in Figure 8.9, all the joints are rotational joints Because all the joints are rotational theθ ivalues are variable Starting from the base, the joint coordinate frames are assigned based on the algorithm outlined before
No Twist Angleα i Link Length a i Joint Offset d i Joint Angleθ i
1
2
3
4
5
6
7
Trang 9The following matrices are the individual U and V matrices for each axis of the manipulator.
U1=
cos(θ1) − sin(θ1) 0 sin(θ1) cos(θ1) 0
U2=
cos(sin(θ θ2) − sin(θ2) 0
10 0 00 1
U3=
cos(θ3) − sin(θ3) 0 sin(θ3) cos(θ3) 0
U4=
cos(θ4) − sin(θ4) 0 sin(θ4) cos(θ4) 0
U5=
cos(sin(θ θ5) − sin(θ5) 0
1 00 0 −10
U6=
cos(θ6) − sin(θ6) 0 sin(θ6) cos(θ6) 0
U7=
cos(θ7) − sin(θ7) 0 sin(θ7) cos(θ7) 0
1 0 0
0 1 0
0 0 1
Similarly the s ivector is given by
s1=
00
0
00 0
00
d3
00 0
00
d5
00 0
00
d7
Substituting the above U i , V i , and s iinto Equation (8.41) and Equation (8.42) we get the following,
where C i = cos(i) and S i = sin(i):
R0=
r11 r12 r13
r21 r22 r23
r31 r32 r33
r11= ((((C1C2C3+ S1S3)C4− C1S2S4)C5+ (C1C2S3− S1C3)S5)C6+ ((C1C2C3+ S1S3)S4
+ C1S2C4)S6)C7+ (−((C1C2C3+ S1S3)C4− C1S2S4)S5+ (C1C2S3− S1C3)C5)S7
r12= −((((C1C2C3+ S1S3)C4− C1S2S4)C5+ (C1C2S3− S1C3)S5)C6+ ((C1C2C3+ S1S3)S4
+ C1S2C4)S6)S7+ (−((C1C2C3+ S1S3)C4− C1S2S4)S5+ (C1C2S3− S1C3)C5)C7
r13= −(((C1C2C3+ S1S3)C4− C1S2S4)C5+ (C1C2S3− S1C3)S5)S6+ ((C1C2C3+ S1S3)S4
+ C1S2C4)C6
r21= ((((S1C2C3− C1S3)C4− S1S2S4)C5+ (S1C2S3+ C1C3)S5)C6+ ((S1C2C3− C1S3)S4
+ S1S2C4)S6)C7+ (−((S1C2C3− C1S3)C4− S1S2S4)S5+ (S1C2S3+ C1C3)C5)S7
Trang 108-18 Robotics and Automation Handbook
r22= −((((S1C2C3− C1S3)C4− S1S2S4)C5+ (S1C2S3+ C1C3)S5)C6+ ((S1C2C3− C1S3)S4
+ S1S2C4)S6)S7+ (−((S1C2C3− C1S3)C4− S1S2S4)S5+ (S1C2S3+ C1C3)C5)C7
r23= −(((S1C2C3− C1S3)C4− S1S2S4)C5+ (S1C2S3+ C1C3)S5)S6+ ((S1C2C3− C1S3)S4
+ S1S2C4)C6
r31= (((−S2C3C4− C2S4)C5− S2S3S5)C6+ (−S2C3S4+ C2C4)S6)C7+ (−(−S2C3C4− C2S4)S5
− S2S3C5)S7
r32= −(((−S2C3C4− C2S4)C5− S2S3S5)C6+ (−S2C3S4+ C2C4)S6)S7+ (−(−S2C3C4− C2S4)S5
− S2S3C5)C7
r33= −((−S2C3C4− C2S4)C5− S2S3S5)S6+ (−S2C3S4+ C2C4)C6
d0=
d11
d21
d31
d11= −C1S2d3+ ((C1C2C3+ S1S3)S4+ C1S2C4)d5+ (−(((C1C2C3+ S1S3)C4− C1S2S4)C5
+ (C1C2S3− S1C3)S5)S6+ ((C1C2C3+ S1S3)S4+ C1S2C4)C6)d7
d21= −S1S2d3+ ((S1C2C3− C1S3)S4+ S1S2C4)d5+ (−(((S1C2C3− C1S3)C4− S1S2S4)C5
+ (S1C2S3+ C1C3)S5)S6+ ((S1C2C3− C1S3)S4+ S1S2C4)C6)d7
d31= −C2d3+ (−S2C3S4+ C2C4)d5+ (−((−S2C3C4− C2S4)C5− S2S3S5)S6
+ (−S2C3S4+ C2C4)C6)d7 The transformation matrix is now given by
A07=
R0 d0
(8.45)
Example 8.5: The PUMA 600 Robot Arm
The PUMA 600 has six revolute joints giving it six degrees of freedom The motion of the arm is controlled
by six brushed DC servo motors (seeFigure 8.10and Table 8.4) The first step in determining the D-H parameters is to locate the joints of the robot arm manipulator and determine if the joint is prismatic
or revolute There are six joints in the PUMA 600 All of them are revolute joints soθ i of each joint is variable Starting from the base, the joint coordinate frames are assigned based on the algorithm outlined before
Having established the coordinate frames, the next step is to determine the D-H parameters We begin by first determiningα i.α i is the rotation about X i to make Z i−1parallel with Z i The rotation
No Twist Angleα i Link Length a i Link Offset d i Joint Angleθ i
1
2
3
4
5
6
Trang 11expression in Equation (8.24) and Equation (8.25) we get
R60= (U1V1)(U2V2)(U3V3)(U4V4)(U5V5)(U6V6) (8.46)
d60= U1s1+ (U1V1)U2s2+ (U1V1)(U2V2)U3s3+ (U1V1)(U2V2)(U3V3)U4s4
+ (U1V1)(U2V2)(U3V3)(U4V4)U5s5+ (U1V1)(U2V2)(U3V3)(U4V4)(U5V5)U6s6 (8.47)
The following matrices are the individual U and V matrices for each axis of the manipulator.
U1=
cos(θ1) − sin(θ1) 0 sin(θ1) cos(θ1) 0
U2=
cos(θ2) − sin(θ2) 0 sin(θ2) cos(θ2) 0
1 0 0
0 1 0
0 0 1
U3=
cos(θ3) − sin(θ3) 0 sin(θ3) cos(θ3) 0
U4=
cos(θ4) − sin(θ4) 0 sin(θ4) cos(θ4) 0
U5=
cos(θ5) − sin(θ5) 0 sin(θ5) cos(θ5) 0
U6=
cos(θ6) − sin(θ6) 0 sin(θ6) cos(θ6) 0
1 0 0
0 1 0
0 0 1
Similarly the s ivector is given by
s1=
0 0 0
a2 0
d2
0 0 0
0 0
d4
0 0 0
0 0
d6
Substituting the above U i , V i , and s iinto Equation (8.46) and Equation (8.47), we get the following where
C a = cos(a) and S a = sin(a).
R0=
r11 r12 r13
r21 r22 r23
r31 r32 r33
Trang 12D-H Convention 8-21
r11= (((C1C2C3− C1S2S3)C4− S1S4)C5+ (−C1C2S3− C1S2C3)S5)C6+ ((C1C2C3− C1S2S3)S4
+ S1C4)S6
r12= −(((C1C2C3− C1S2S3)C4− S1S4)C5+ (−C1C2S3− C1S2C3)S5)S6+ ((C1C2C3− C1S2S3)S4
+ S1C4)C6
r13= ((C1C2C3− C1S2S3)C4− S1S4)S5− (−C1C2S3− C1S2C3)C5
r21= (((S1C2C3− S1S2S3)C4+ C1S4)C5+ (−S1C2S3− S1S2C3)S5)C6+ ((S1C2C3− S1S2S3)S4
− C1C4)S6
r22= −(((S1C2C3− S1S2S3)C4+ C1S4)C5+ (−S1C2S3− S1S2C3)S5)S6+ ((S1C2C3− S1S2S3)S4
− C1C4)C6
r23= ((S1C2C3− S1S2S3)C4+ C1S4)S5− (−S1C2S3− S1S2C3)C5
r31= ((S2C3+ C2S3)C4C5+ (−S2S3+ C2C3)S5)C6+ (S2C3+ C2S3)S4S6
r32= −((S2C3+ C2S3)C4C5+ (−S2S3+ C2C3)S5)S6+ (S2C3+ C2S3)S4C6
r33= (S2C3+ C2S3)C4S5− (−S2S3+ C2C3)C5
d0=
d11
d21
d31
d11= C1C2a2+ S1d2+ (−C1C2S3− C1S2C3)d4+ (((C1C2C3− C1S2S3)C4− S1S4)S5
− (−C1C2S3− C1S2C3)C5)d6
d21= S1C2a2− C1d2+ (−S1C2S3− S1S2C3)d4+ (((S1C2C3− S1S2S3)C4+ C1S4)S5
− (−S1C2S3− S1S2C3)C5)d6
d31= S2a2+ (−S2S3+ C2C3)d4+ ((S2C3+ C2S3)C4S5− (−S2S3+ C2C3)C5)d6
The final transformation matrix is
A0=
R0 d0
(8.50)