Lecture Notes W2
Lecture Notes W2
Ashitava Ghosal
NPTEL, 2020
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 1 / 70
1 C ONTENTS
2 L ECTURE 1
Mathematical Preliminaries
Homogeneous Transformation
3 L ECTURE 2
Elements of a robot – Joints
Elements of a robot – Links
4 L ECTURE 3
Examples of D-H Parameters & Link Transformation Matrices
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 2 / 70
O UTLINE
1 C ONTENTS
2 L ECTURE 1
Mathematical Preliminaries
Homogeneous Transformation
3 L ECTURE 2
Elements of a robot – Joints
Elements of a robot – Links
4 L ECTURE 3
Examples of D-H Parameters & Link Transformation Matrices
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 3 / 70
P OSITION OF A R IGID B ODY
ẐA
{A} Right-handed coordinate system
specified by
Origin OA .
A
p Set of 3 mutually orthogonal axis
— Unitvectors X̂A , ŶA and ẐA are
along the index finger, the middle
finger and the thumb of the
OA ŶA
right-hand, respectively.
Label to keep track — {A}.
Rigid Body A
X̂A
Position of a point of interest such as
centre of mass/gravity
F IGURE : Position of point P denoted by A p
B
p Attach coordinate system, {B},
ŶB
to rigid body B.
Origin of {A} and {B}
OA ,OB ŶA coincident.
Obtain description of {B} with
respect to {A}.
Rigid Body B
X̂A X̂B
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 7 / 70
O RIENTATION – P ROPERTIES OF A
B [R]
A [R] is a 3 × 3 matrix
B
±ıϕ , where ı =
√
Three eigenvalues of A B [R] are +1, e −1, and
−1 r11 +r22 +r33 −1
ϕ = cos ( 2 ).
The eigenvector corresponding to +1 is
k̂ = (1/2 sin ϕ )[r32 − r23 , r13 − r31 , r21 − r12 ]T , ϕ ̸= {0, nπ }, where n is a
natural number. For ϕ = {0, 2nπ }, there is no rotation and ϕ = 2(n − 1)π
needs to handled specially!
Rotation axis k̂ fixed in {A} and {B}:
A k̂
=A B B
B [R] k̂ = 1 k̂.
Follows from transformation of a vector from {B} to {A} and the definition of
an eigenvector.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 8 / 70
O RIENTATION U SING (k̂, ϕ )
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 9 / 70
O RIENTATION – S IMPLE ROTATION
Rotation axis k̂ is parallel to X̂A and hence to X̂B → Rotation about X̂ axis.
1 0 0
ẐA
B [R] = [R(X̂, ϕ )] =
A 0 cos ϕ − sin ϕ (5)
{A} 0 sin ϕ cos ϕ
ẐB
{B}
B
p
ŶB
Rotation about X̂ shown in
φ
OA , OB ŶA
Figure.
k̂
φ
Rigid Body B
X̂A , X̂B
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 11 / 70
S UCCESSIVE ROTATIONS
Two successive rotations:
1 Initially B is coincident with {A}.
2 First rotation relative to {A}. After first rotation {A} → {B1 }.
3 Second rotation relative to {B1 }. After second rotation {B1 } → {B}.
ẐA
{A}
Resultant rotation:
ẐB
{B} A [R] = A [R] B1 [R] — Note order of
ŶB1 B B1 B
ẐB1 matrix multiplication.
ŶB
Resultant of n rotations —
A [R] = A [R] B1 [R] ... Bn−1 [R]
OA ,OB1 ,OB ŶA B B1 B2 B
Matrix multiplication is non
X̂A Rigid Body B
commutative in general —
X̂B A [R] B1 [R] ̸= B1 [R] A [R]
X̂B1 Rigid Body B1 B1 B B B1
⇒ Order of rotation is important!
F IGURE : Successive rotation
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 12 / 70
O RIENTATION – T HREE A NGLES
{B2 } X̂B
θ1 ẐB2 ẐB , ẐB2
ẐB1 {B} θ3
ẐB1 ẐB1
OA , OB ẐA OA , OB ẐA OA , OB ẐA
cos θ3 − sin θ3 0
sin θ3 cos θ3 0
Rotation about Ẑ – B B [R] = [R(Ẑ, θ3 )] =
2
0 0 1
Resultant rotation –
c2 c3 −c2 s3 s2
A [R] = A [R] B1 [R] B2 [R] = s s c + s c −s1 s2 s3 + c3 c1 −s1 c2
B B1 B2 B 1 2 3 3 1
−c1 s2 c3 + s3 s1 c1 s2 s3 + c3 s1 c1 c2
Note: ci , si denote cos θi and sin θi , respectively.
A [R]
B gives orientation of {B} given X–Y–Z angles.
A [R] will be different if order of rotations is different.
B
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 15 / 70
X–Y–Z E ULER ANGLES (C ONTD .)
Given A
B [R], find X–Y–Z Euler angles.
Algorithm rij ⇒ θi for X–Y–Z rotations
If r13 ̸= ±1, then √
θ2 = atan2(r13 , ± (r11 2 + r 2 ))
12
θ1 = atan2(−r23 / cos θ2 , r33 / cos θ2 )
θ3 = atan2(−r12 / cos θ2 , r11 / cos θ2 )
Else
If r13 = 1, θ1 = atan2(r21 , r22 ), θ2 = π /2, θ3 = 0
If r13 = −1, θ1 = −atan2(r21 , r22 ), θ2 = −π /2, θ3 = 0
atan2(y , x): four-quadrant arc-tangent function (see function atan2 in
MATLAB⃝ R
) – θ1 , θ2 , θ3 ∈ [−π , π ].
Two sets of values of θ1 , θ2 and θ3 .
θ2 = ±π /2 → θ1 , θ3 not unique – θ1 ± θ3 can be found.
Singularities in Euler angle representation. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 16 / 70
Z–Y–Z E ULER ANGLES
ẐA , ẐB1 ẐB2 , ẐB
ẐB2 ẐA , ẐB1 ẐA , ẐB1
{A} {A}
{B1 } {A}, {B1 } {B}
{B2 }
θ1 θ3 ŶB
ŶB1 ŶB1 , ŶB2
θ2
ŶB1 , ŶB2
OA , OB ŶA OA , OB ŶA OA , OB ŶA
X̂A
X̂A X̂A
c1 −s1 0 c2 0 s2 c3 −s3 0
A [R] = s1 c1 0 0 1 0 s3 c3 0
B
0 0 1 −s2 0 c2 0
0 1
(8)
c1 c2 c3 − s1 s3 −c1 c2 s3 − s1 c3 c1 s2
= s1 c2 c3 + c1 s3 −s1 c2 s3 + c1 c3 s1 s2
−s2 c3 s2 s3 c2 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 17 / 70
Z–Y–Z E ULER ANGLES (C ONTD .)
Algorithm rij ⇒ Z–Y–Z Euler angles
If r33 ̸= ±1, then √
θ2 = atan2(± (r31 2 + r 2 ), r )
32 33
θ1 = atan2(r23 / sin θ2 , r13 / sin θ2 )
θ3 = atan2(r32 / sin θ2 , −r31 / sin θ2 )
Else
If r33 = 1, then
θ1 = θ2 = 0, θ3 = atan2(−r12 , r11 )
If r33 = −1, then
θ1 = 0, θ2 = π , θ3 = atan2(r12 , −r11 )
Two possible sets of Z–Y–Z Euler angles (θ1 , θ2 , θ3 ) for a given A
B [R].
r33 = ±1 → Singularity → θ1 ± θ3 can be found.
For unique θ1 and θ3 when r33 = ±1 → Choose θ1 = 0.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 18 / 70
OTHER R EPRESENTATIONS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 19 / 70
O RIENTATION OF A R IGID B ODY –
S UMMARY
1 C ONTENTS
2 L ECTURE 1
Mathematical Preliminaries
Homogeneous Transformation
3 L ECTURE 2
Elements of a robot – Joints
Elements of a robot – Links
4 L ECTURE 3
Examples of D-H Parameters & Link Transformation Matrices
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 22 / 70
4 × 4 T RANSFORMATION M ATRIX
( )
A [R]T −A
TA
Inverse of A [T ] is given by A [T ]−1 = B B [R] OB
B B
0 0 0 1
B1
Two successive transformations {A} → {B1 } → {B} gives A A
B [T ] = B1 [T ] B [T ].
( A [R]B1 [R] A [R]B1 O + A O
)
A [T ] = B1 B B1 B B1
B
0 0 0 1
B1 Bn−1
n successive transformations A A
B [T ] = B1 [T ] B2 [T ] ... B [T ]
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 24 / 70
P ROPERTIES OF A
B [T ] (C ONTD .)
B [R], 2) (ϕ , k̂)
Orientation described in many ways: 1) by 3 × 3 rotation matrix A
or angle-axis form, 3) 3 Euler angles, 4) Euler parameters & quaternions.
Algorithms available to convert one representation to another.
4 × 4 homogeneous transformation matrix, A
B [T ], represent position and
orientation in a compact manner.
Properties of A
B [T ] can be related to a screw.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 26 / 70
O UTLINE
1 C ONTENTS
2 L ECTURE 1
Mathematical Preliminaries
Homogeneous Transformation
3 L ECTURE 2
Elements of a robot – Joints
Elements of a robot – Links
4 L ECTURE 3
Examples of D-H Parameters & Link Transformation Matrices
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 27 / 70
J OINTS – I NTRODUCTION
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 28 / 70
T YPES OF J OINTS DOF
{i − 1}
to {i − 1}, by angle θi
Rigid Body i
0 [R] = 0 [R] i−1 [R(k̂, θ )]
i i−1 i i
Three independent equations in the
0
Oi Li Rotary Joint
0
equations.
i
p
{i − 1}
i−1
p
Oi−1 R
Oi
L
Oi−1 {R}
{L}
L
D
Rigid Body i − 1
i
p
{i − 1} i−1
p
{i}
i
Si
{L}
L
D
1 C ONTENTS
2 L ECTURE 1
Mathematical Preliminaries
Homogeneous Transformation
3 L ECTURE 2
Elements of a robot – Joints
Elements of a robot – Links
4 L ECTURE 3
Examples of D-H Parameters & Link Transformation Matrices
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 34 / 70
L INKS – I NTRODUCTION
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 35 / 70
L INKS – D ENAVIT-H ARTENBERG
(D-H) PARAMETERS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 36 / 70
A SSIGNMENT OF COORDINATE AXES
Three intermediate links — {i − 1}, {i} and {i + 1}.
Ẑi+1
Rotary joint axis — Labeled Ẑi−1 , Ẑi and Ẑi+1 . X
Link i
Ẑi−1 Ẑi {i}
θi
{i − 1}
Oi
Link i + 1
Link i − 1
Link i − 2 di
αi−1 Li+1
Ẑ0 X̂i−1
{0} Li
Oi−1 ai−1
Li−1
Ŷ0
X̂0
. . . . . . . . . . . . . . . . . . . .
F IGURE : Intermediate links and D-H parameters
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 37 / 70
D-H PARAMETERS – A SSIGNMENT
OF COORDINATE AXIS (C ONTD .)
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 38 / 70
D-H PARAMETERS FOR LINK i
Twist angle αi−1 — Twist angle for link i has subscript i − 1!
Angle between joints axis i − 1 and i & measured about X̂i−1 using right-hand
rule.
Signed quantity between 0 and ±π radians.
Link length ai−1 — Link length for link i is ai−1 !
Distance between joints axis i − 1 and i & measured along X̂i−1 .
Always a positive quantity.
Link offset di
Measured along Ẑi from X̂i−1 to X̂i – Can be < 0.
Joint i rotary → di constant.
Joint i prismatic → di is joint variable.
Rotation angle θi
Angle between X̂i−1 and X̂i measured about Ẑi using right-hand rule – Between
0 and ±π radians.
Joint i is prismatic → θi is constant.
Joint i rotary → θi is joint variable. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 39 / 70
D-H PARAMETERS – S PECIAL CASES
Consecutive joints axis parallel → ∞ common perpendiculars
αi−1 = 0, π , ai−1 along any common perpendicular.
Joint i is rotary (R) → di is taken as constant (often zero).
Joint i is prismatic (P) → θi is taken as zero.
Consecutive P joints parallel → d’s not independent!
Consecutive joints axis intersecting → ai−1 = 0 and X̂ normal to plane.
First link {1}: choice of Ẑ0 and thereby X̂0 is arbitrary.
R joint → Choose {0} and {1} coincident & αi−1 = ai−1 = 0, di = 0.
P joint → Choose {0} and {1} parallel & αi−1 = ai−1 = θi = 0.
Last link {n}: Ẑn+1 not defined
R joint → Origins of {n} and {n + 1} are chosen coincident & dn = 0 and θn = 0
when X̂n−1 aligns with X̂n .
P joint → X̂n is chosen such that θn = 0 & origin On is chosen at the
intersection of X̂n−1 and Ẑn when dn = 0.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 40 / 70
L INK TRANSFORMATION MATRICES
Four D-H parameters describe link i with respect to link i − 1
Orientation of of {i} with respect to {i − 1} is given by
i [R] = [R(X̂, αi−1 )][R(Ẑ, θi )]
i−1
. . . . . . . . . . . . . . . . . . . .
1 The symbols −sαi−1 , cαi−1 denote sin(αi−1 ) and cos(αi−1 ), respectively
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 41 / 70
L INK TRANSFORMATION MATRICES
i−1
i [T ] is a function only one joint variable — di or θi .
i−1 O locates a point on the joint axis i at the beginning of link i.
i
Position and orientation of link i determined by αi−1 and ai−1 . Note: subscript
i − 1 in the twist angle and length!
The mix of subscripts are a consequences of the D-H convention used!
Link i with respect to {0} — 0i [T ] = 01 [T ] 12 [T ] ... i−1
i [T ]
The position and orientation of any link can be obtained with respect any other
link by suitable use of 4 × 4 link transformation matrices.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 42 / 70
S UMMARY
Two mechanical elements of robots – Links and joints.
Joints allow relative motion between connected links → Joints impose
constraints.
Serial robots mainly use one-degree-of-freedom rotary (R) and prismatic (P)
actuated joints.
Parallel and hybrid robots use passive multi-degree-of-freedom joints and
actuated one-degree-of-freedom joints.
One degree-of-freedom R and P joints represented by lines along joint axis —
Ẑ is along joint axis.
Formulation of constraints imposed by various kinds of joints.
Link is a rigid body in 3D space → Represented by 4 Denavit-Hartenberg
(D-H) parameters.
Convention to derive D-H parameters and for special cases.
4 × 4 link transformation matrix in terms of D-H parameters.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 43 / 70
O UTLINE
1 C ONTENTS
2 L ECTURE 1
Mathematical Preliminaries
Homogeneous Transformation
3 L ECTURE 2
Elements of a robot – Joints
Elements of a robot – Links
4 L ECTURE 3
Examples of D-H Parameters & Link Transformation Matrices
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 44 / 70
S ERIAL M ANIPULATORS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 45 / 70
P LANAR 3R M ANIPULATOR –
A SSIGNMENT OF COORDINATE
X̂3 , X̂T ool
SYSTEMS X̂2
{T ool}
Link 3 θ3
ŶT ool l3
Ŷ1 l2
and Ŷ0 pointing to the right and Ŷ2 {2} θ2 X̂1
X̂0
O1
For {1} origin O1 and Ẑ1 are coincident with O0 and Ẑ0 .
X̂1 and Ŷ1 are coincident with X̂0 and Ŷ0 when θ1 is zero.
X̂1 is along the mutual perpendicular between Ẑ1 and Ẑ2 .
X̂2 is along the mutual perpendicular between Ẑ2 and Ẑ3 .
For {3}, X̂3 is aligned to X̂2 when θ3 = 0.
O2 is located at the intersection of the mutual perpendicular along X̂2 and Ẑ2 .
O3 is chosen such that d3 is zero.
The origins and the axes of {1}, {2}, and {3} are shown in Figure.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 47 / 70
P LANAR 3R M ANIPULATOR – D-H
TABLE
From the assigned axes and origins, the D-H parameters are as follows:
i αi−1 ai−1 di θi
1 0 0 0 θ1
2 0 l1 0 θ2
3 0 l2 0 θ3
l1 and l2 are the link lengths and θi , i = 1, 2, 3 are rotary joint variables.
Length of the end-effector l3 does not appear in the table — Recall: D-H
parameters are till the origin which is at the beginning of a link!
For end-effector frame, {Tool}:
Axis of {Tool} parallel to {3} → 3Tool [R] is identity matrix.
Origin of {Tool} at the mid-point of the parallel jaw gripper, at a distance of l3
from O3 along X̂3 .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 48 / 70
P LANAR 3R M ANIPULATOR – L INK
TRANSFORMS
Link transformation
matrix (repeated):
cθi −sθi 0 ai−1
i−1 sθi cαi−1 cθi cαi−1 −sαi−1 −sαi−1 di
i [T ] = s s
θi αi−1 cθi sαi−1 cαi−1 cαi−1 di
0 0 0 1
c1 −s1 0 0
s1 c1 0 0
Substitute first row of D-H table (1 0 0 θ1 ) – 01 [T ] =
0
0 1 0
0 0 0 1
c2 −s2 0 l1
s2 c2 0 0
The second row of the D-H table (0 l1 0 θ2 ) – 12 [T ] = 0
0 1 0
0. . . 0. . . . 0. . . 1. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 49 / 70
P LANAR 3R M ANIPULATOR : L INK
TRANSFORMS (C ONTD .)
c3 −s3 0 l2
s3 c3 0 0
The third row of D-H table (0 l2 0 θ3 ) – 23 [T ] =
0
0 1 0
0 0 0 1
1 0 0 l3
0 1 0 0
The 3Tool [T ] is obtained as 3Tool [T ] =
0 0 1 0
0 0 0 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 50 / 70
P LANAR 3R M ANIPULATOR : L INK
TRANSFORMS (C ONTD .)
To obtain 0 0 1 2
3 [T ] multiply 1 [T ] 2 [T ] 3 [T ] and
get
c123 −s123 0 l1 c1 + l2 c12
0 [T ] = s123 c123 0 l1 s1 + l2 s12
3 0 0 1 0
0 0 0 1
To obtain 0 0 3
Tool [T ], multiply 3 [T ] Tool [T ]
c123 −s123 0 l1 c1 + l2 c12 + l3 c123
0 s123 c123 0 l1 s1 + l2 s12 + l3 s123
Tool [T ] = 0 0 1 0
0 0 0 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 51 / 70
PUMA 560 M ANIPULATOR
The PUMA 560 is a six-degree-of-freedom manipulator with all rotary joints —
Figure shows assigned coordinate systems.
Ẑ2
{2}
X̂2 Ẑ1
Ŷ2 {1}
Ŷ1 Ẑ3
{3}
O3
X̂1
a2 X̂3
Ŷ3
d4
X̂4
d3
X̂3 {4} Ẑ4
O1 , O2
{3}
a3
O4
Ŷ3 X̂6
O3 X̂5
Ŷ4 X̂4 {6} {5}
Ẑ6 Ŷ5
{4}
Ẑ4 O4 , O5 , O6
(a) The PUMA 560 manipulator (b) PUMA 560 - forearm and wrist
. . . . . . . . . . . . . . . . . . . .
F IGURE : The PUMA 560 manipulator . . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 52 / 70
PUMA 560 M ANIPULATOR – D-H
PARAMETERS
i αi−1 ai−1 di θi
1 0 0 0 θ1
2 −π /2 0 0 θ2
3 0 a2 d3 θ3
4 −π /2 a3 d4 θ4
5 π /2 0 0 θ5
6 −π /2 0 0 θ6
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 53 / 70
PUMA 560 M ANIPULATOR – L INK
TRANSFORMS
Substituting
elements of row #1 of D-H table and using equation (10), we get
c1 −s1 0 0
0 [T ] = s1 c1 0 0
1 0 0 1 0
0 0 0 1
c2 −s2 0 0
0 0 1 0
From row # 2, we get 12 [T ] =
−s2 −c2 0 0
0 0 0 1
c3 −s3 0 a2
s 3 c3 0 0
From row # 3, we get 23 [T ] =
0
0 1 d3
0 0 0 1 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 54 / 70
PUMA 560 M ANIPULATOR : L INK
TRANSFORMS (C ONTD .)
c4 −s4 0 a3
0 0 1 d4
From row # 4 , we get 34 [T ] =
−s4 −c4 0
0
0 0 0 1
c5 −s5 0 0
0 0 −1 0
From row # 5 , we get 45 [T ] =
s5 c5
0 0
0 0 0 1
c6 −s6 0 0
0 0 1 0
From row # 6 , we get 56 [T ] =
−s6 −c6 0
0
0 0 0 1
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 55 / 70
PUMA 560 M ANIPULATOR : L INK
TRANSFORMS (C ONTD .)
Ẑ 1 θ2
{ 2}
θ1
{ 1}
SCARA – Selective Compliance
Assembly Robot Arm
X̂ 2
X̂ 1 Very popular for robotic
d3
{ 3}
assembly
O 0, O1 O2 Ẑ 3 { 4}
Capability of desired compliance
O3, O4 X and rigidity in selected directions.
Three rotary(R) joint and one
θ4
prismatic (P) joint.
A 4 DOF manipulator.
{0} and {1} have same origin & origins of {3} and {4} chosen at the base of
the parallel jaw gripper.
Directions of Ẑ3 chosen pointing upward (see Figure).
Note: Actual SCARA manipulator has ball-screw at the third joint — We
assume P joint.
D-H Table for SCARA robot
i αi−1 ai−1 di θi
1 0 0 0 θ1
2 0 a1 0 θ2
3 0 a2 −d3 0
4 0 0 0 θ4
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 58 / 70
SCARA M ANIPULATOR – L INK
TRANSFORMS
Using equation
(10) and the D-H table,link transforms can
be obtained as
c1 −s1 0 0 c2 −s2 0 a1
c1 0 0
0 [T ] = s1 , 1 [T ] = s2 c2 0 0
1 0 0 1 0 2 0 0 1 0
0 0 0 1 0 0 0 1
1 0 0 a2 c4 −s4 0 0
2 [T ] = 0 1 0 0 s4 c4 0 0
3
3 0 0 1 −d3 , 4 [T ] = 0 0 1 0
0 0 0 1 0 0 0 1
The transformation matrix 4 [T 0
] is
c124 −s124 0 a1 c1 + a2 c12
0 [T ] = 0 [T ]1 [T ]2 [T ] 3 [T ] = s124 c124 0 a1 s1 + a2 s12
4 1 2 3 4 0 0 1 −d3
0 0 0 1 . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 59 / 70
PARALLEL M ANIPULATORS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 60 / 70
PARALLEL M ANIPULATORS : 4- BAR
M ECHANISM
Link 2
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 62 / 70
PARALLEL M ANIPULATORS : T HREE
DOF E XAMPLE
p(x, y, z) Moving Platform
Ẑ
Spatial 3- DOF parallel manipulator.
S3 S2
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 64 / 70
T HREE DOF E XAMPLE : L INK
TRANSFORMATION MATRICES
c1 −s1 0 0 1 0 0 0
s1 c1 0 0
1 [T ] = 0 0 1 l1
L1 ,
1 [T ] = 0 0 1 0 2 0 −1 0 0
0 0 0 1 0 0 0 1
2 [T ]
S1 is an identity matrix – {S1 } is located at the centre of the spherical joint
and parallel to {2}.
Base [T ] L1 1 2
S1 = Base
L1 [T ]1 [T ]2 [T ]S1 [T ]
Location of spherical joint S1 with respect to {Base} from Base S1 [T ]
Base S
1 = (b − l 1 cos θ1 , 0, l1 sin θ1 )T , b is the distance of R from the origin of
1
{Base} (see figure).
√ √
2 + 2 l2 cos θ2 , 2 − 2 cos θ2 , l2 sin θ2 )T
Base S b 1 3b 3l2
Location of S2 and S3 2√= (−√
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 65 / 70
PARALLEL M ANIPULATORS : S IX
DOF E XAMPLE
Z
q2
d f2
q1 d Moving platform connected to
l 21 l23
b2 l22 fixed base by three chains.
y2 Each chain is R-R-R & S joint at
b1 l11 p2
l12 Y
l 13 s top.
h f1 s
y1 Model of a three-fingered hand
p1 s
q3 p3 (Salisbury, 1982) gripping an
l 33
object with point contact and
l 31 no-slip.
b3 l32 f3
Each finger modeled with R-R-R
y3
joints and point of contact
X modeled as S joint.
. . . . . . . . . . . . . . . . . . . .
F IGURE : A six DOF parallel (hybrid) manipulator . . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 66 / 70
S IX DOF E XAMPLE : D-H
PARAMETERS AND LINK TRANS -
FORMS
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 67 / 70
S IX DOF
E XAMPLE : L INK
TRANSFORMS (C ONTD .)
Extract the position vector Base p1 from the last column of Base F1 [T ]
cos θ1 (l11 + l12 cos ψ1 + l13 cos(ψ1 + ϕ1 ))
Base p =Base b +F1 p = −d + sin θ (l + l cos ψ + l cos(ψ + ϕ ))
1 1 1 1 11 12 1 13 1 1
h + l12 sin ψ1 + l13 sin(ψ1 + ϕ1 )
Similarly for
second leg
cos θ2 (l21 + l22 cos ψ2 + l23 cos(ψ2 + ϕ2 ))
Base p = d + sin θ (l + l cos ψ + l cos(ψ + ϕ ))
2 2 21 22 2 23 2 2
h + l22 sin ψ2 + l23 sin(ψ2 + ϕ2 )
cos θ3 (l31 + l32 cos ψ3 + l33 cos(ψ3 + ϕ3 ))
For third leg Base p3 = [R(Ŷ, γ )] sin θ3 (l31 + l32 cos ψ3 + l33 cos(ψ3 + ϕ3 ))
l32 sin ψ3 + l33 sin(ψ3 + ϕ3 )
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 69 / 70
S UMMARY
D-H parameters obtained for serial manipulators – Planar 3R, PUMA 560,
SCARA
To obtain D-H parameters for parallel manipulators
Break parallel manipulator into serial manipulators.
Obtain D-H parameters for each serial chain.
Examples of 4-bar mechanism, 3-degree-of-freedom and 6-degree-of-freedom
parallel manipulators.
Can extract position vectors of point of interest & orientation of links from link
transforms.
Kinematic analysis can be done using the concepts presented here.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 70 / 70
Suggested Additional Reading – Week -2
• Reference textbooks in orientation of rigid bodies, theoretical kinematics (screws, twists and
wrenches), D-H parameters conventions (original and modern), advanced mathematical treat-
ment of robotics.
• R. Sangamesh Deepak and A. Ghosal 2006, “A note on the diagonalizability and the Jor-
dan form of the 4 × 4 homogeneous transformation matrix”, Trans. of ASME, Journal of
Mechanical Design, Vol. 128, No. 6, pp. 1343-1348.
• G. Arfken 1985, Mathematical Methods for Physicists, 3rd Ed., Academic Press.