Professional Documents
Culture Documents
CH 02
CH 02
This solution manual may not be copied, posted, made available to students,
placed on any outlet, any other electronic media system, and the Internet
without prior expressed consent of the copyright owner.
This material may not be used except in conjunction with the “Introduction to
Robotics: Analysis, Control, Applications”
O1 O2 O1
P ax i by j cz k
P
cz
by ax
x y
ax
P
P by
cz cz
by ax
x y
n o
x y
z
nx ox ax px
n oy ay p y
F y p
nz oz az pz
0 0 0 1
x y
nx ox ax px
n z
oy ay p y
Fobject y
nz oz az pz a
o
0 0 0 1
p
n
x y
no a
4 by 4 matrices:
1 0 0 d x nx ox ax px nx ox ax px d x
0 1 0 d y n y oy ay p y ny oy ay py d y
Fnew
0 0 1 d z nz oz az pz nz oz az pz d z
0 0 0 1 0 0 0 1 0 0 0 1
a a
d
p o o
n n
x y
Introduction to Robotics: Analysis, Control,
Applications, Third Edition. Saeed B. Niku. ©
2020 John Wiley & Sons Ltd. Published 2020 by
Representation of a pure rotation about an axis
px pn
z
p y l1 l2 po cos pa sin
pz l3 l4 po sin pa cos a
p
po
l3 pa o
pz
l4 po
pa
y
px 1 0 0 pn l1
l2
p 0 cos sin po
y py
pz 0 sin cos pa
1 0 0
Rot ( x, ) 0 C S
0 S C
C 0 S
Rot ( y , ) 0 1 0
S 0 C
C S 0
Rot ( z , ) S C 0
0 0 1
Example:
1. Rotation of degrees about the x-axis,
2. Followed by a translation of [l1,l2,l3] (relative to the x-,
y-, and z-axes respectively),
3. Followed by a rotation of degrees about the y-axis.
Pre-multiply by each matrix:
p1, xyz =Rot ( x, ) pnoa
p2, xyz Trans (l1 , l2 , l3 ) p1, xyz Trans (l1 , l 2 , l3 ) Rot ( x, ) p noa
pxyz p3, xyz Rot ( y, ) p2, xyz Rot ( y, ) Trans (l1, l2 , l3 ) Rot ( x, ) pnoa
Introduction to Robotics: Analysis, Control,
Applications, Third Edition. Saeed B. Niku. ©
2020 John Wiley & Sons Ltd. Published 2020 by
Transformations relative to the current rotating
frame
R U 1 U P H 1
TH TR TP TE TE
R P
E
z a
o
n
p pz
y
px
py
C S 0 rC
S C 0 rS
R
Tp Tcyl (r , , l )
0 0 1 l z a
o
0 0 0 1 n
p
l
y
r
x
Introduction to Robotics: Analysis, Control,
Applications, Third Edition. Saeed B. Niku. ©
2020 John Wiley & Sons Ltd. Published 2020 by
Inverse solution
rC Px
ATAN 2 Py , Px
rS Py
l Pz
C C S S C rS C
C S C S S rS S
R
TP Tsph (r , , )
S 0 C rC
0 0 0 1
z
a
o
r n
p y
3
2
y
n a
x
Introduction to Robotics: Analysis, Control, Applications, Third Edition. Saeed B. Niku.
© 2020 John Wiley & Sons Ltd. Published 2020 by John Wiley & Sons Ltd.
Forward and inverse kinematics for orientation
x y x y x y
Use:
a ATAN 2(n y , nx ) and a ATAN 2(ny , nx )
Rotation of about the a axis (z axis of the moving frame) followed by,
Rotation of about the o axis (y axis of the moving frame) followed by,
Rotation of about the a axis (z axis of the moving frame).
Z Z Z
a
a a
o
o o
n n
n
X Y X Y X Y
Use:
ATAN 2(a y , ax ) or ATAN 2(a y , a x )
ATAN 2[(ax C a y S ), az )]
R
TH Tcart ( px , p y , pz ) RPY(a , o , n )
R
TH Tsph (r , , ) Euler( , , )
n n 1
n 2
Link n
Link
n+1
dn+1
an zn
yn y
x
xn
n
Parallel to zn-1
(a)
Introduction to Robotics: Analysis, Control,
Applications, Third Edition. Saeed B. Niku. ©
2020 John Wiley & Sons Ltd. Published 2020 by
D-H representation
an+1 an+1 xn
xn+1 xn+1 xn+1
dn+1 an+1
dn+1
n 1
xn
xn (b) (c) (d)
zn
zn+1 zn zn+1 zn
n 1 zn+1
parallel (coplanar).
Translate along the zn-axis a distance of dn+1 to make xn and xn+1 colinear.
Since xn and xn+1 were already parallel and normal to zn, moving along zn
will lay them over each other.
Translate along the (already rotated) xn-axis a distance of an+1 to bring the
origins of xn and xn+1 together. At this point, the origins of the two
reference frames will be at the same location.
Rotate zn-axis about xn+1-axis an angle of ton 1align z -axis with z -
n n+1
axis. At this point, frames n and n+1 will be exactly the same, and we
have transformed from one to the next.
C n 1 S n 1 0 0 1 0 0 0 1 0 0 a n 1 1 0 0 0
S C n 1 0 0 0 1 0 0 0 1 0 0 0 C n 1 S n 1 0
n 1
0 0 1 0 0 0 1 d n 1 0 0 1 0 0 S n 1 C n 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
z z0
x2
3
z2
y a2
a3 z4
2
a4
x x1 4 5 x5
x0
z1 1 x3
6 x4
z3
z5
x6
z6
R
TH A1 A2 A3 A4 A5 A6
C1 (C234C5C6 S234 S6 ) C1 ( C234C5 S6 S234C6 ) C1 (C234 S5 ) S1C5 C1 (C234a4 C23a3 C2a2 )
S S C S1S5 S6
1 5 6
S ( C C C S S ) S ( C C S S C ) S ( C S ) C C S (C a C a C a )
1 234 5 6 234 6 1 234 5 6 234 6 1 234 5 1 5 1 234 4 23 3 2 2
C1S5C6 C1S5 S6
S C C C S S234C5 S6 C234C6 S234 S5 S234 a4 S23a3 S2 a2
234 5 6 234 6
0 0 0 1
4 234 2 3
C234 (C1ax S1a y ) S234 az
5 tan 1
S1ax C1a y
1
S 234 (C1nx S1n y ) C234 nz
6 tan
S234 (C1ox S1o y ) C234 oz
Introduction to Robotics: Analysis, Control,
Applications, Third Edition. Saeed B. Niku. ©
2020 John Wiley & Sons Ltd. Published 2020 by
Inverse kinematic programming of robots
B
ate p oints
A m edi
inter
H1
P2
H2
P1
R1
R2
U
TR1 R1TH 1 H 1TP1 P1TP 2 U TR 2 R 2TH 2 H 2TP 2
R2 R2
TH 2 TU U TR1 R1TH 1 H 1TP1 P1TP 2 P 2TH 2
Introduction to Robotics: Analysis, Control,
Applications, Third Edition. Saeed B. Niku. ©
2020 John Wiley & Sons Ltd. Published 2020 by
Degeneracy
6
5
4
z
y
x
2
1