Download as pdf or txt
Download as pdf or txt
You are on page 1of 71

ROBOTICS : BASIC AND A DVANCED C ONCEPTS

M ATHEMATICAL P RELIMINARIES , D-H C ONVENTION & E XAMPLES

Ashitava Ghosal

Department of Mechanical Engineering


&
Centre for Product Design and Manufacturing
Indian Institute of Science
Bangalore 560 012, India
Email: asitava@iisc.ac.in

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

Point A p with Cartesian coordinates (px , py , pz )T


A
p = px X̂A + py ŶA + pz ẐA = (px , py , pz ).T . .
(1).
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 4 / 70
O RIENTATION OF A R IGID B ODY
Position of one point on the rigid body not enough to describe it in 3D space.
Orientation of a rigid body B with respect to {A}
ẐA

{A}
ẐB
{B} φ

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

F IGURE : Orientation of a rigid body . . . . . . . . . . . . . . . . . . . .


. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 5 / 70
O RIENTATION – D IRECTION C OSINES
Unit vectors X̂B , ŶB , and ẐB , attached to B, can be described in {A}
A
X̂B = r11 X̂A + r21 ŶA + r31 ẐA
A
ŶB = r12 X̂A + r22 ŶA + r32 ẐA (2)
A
ẐB = r13 X̂A + r23 ŶA + r33 ẐA

rij , i, j = 1, 2, 3 are called direction cosines


r11 =A X̂B · X̂A = |A X̂B | · |X̂A | cos(A X̂B , X̂A ) = cos(A X̂B , X̂A )
Define 3 × 3 rotation matrix A
B [R] with rij , i, j = 1, 2, 3 as its elements
The first column of A B [R], [r11 , r21 , r31 ] , is same X̂B →
T A
A [R] = [A X̂ | A Ŷ | A Ẑ ].
B B B B
A [R] completely describes all
B three coordinate axis of {B} with respect to {A}
=> A B [R] gives orientation of rigid body B in {A}.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 6 / 70
O RIENTATION – P ROPERTIES OF A
B [R]

The vector B p in rigid body B can be described in {A} by


A
p=A B
B [R] p (3)
A [R] is orthonormal ⇒ |A X̂ | = |A Ŷ | = |A Ẑ | = 1, and
B B B B
A X̂ ·A Ŷ =A Ŷ ·A Ẑ =A Ẑ ·A X̂ = 0 => only three independent
B B B B B B
parameters out of 9 rij ’s.
det(A
B [R]) = +1
A [R]T A [R] = [U], where [U] is a 3 × 3 identity matrix.
B B
∆ −1 T
Inverse is same as transpose — B A
A [R] = B [R] =A
B [R] .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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̂, ϕ )

B [R] in terms of (kx , ky , kz ) and angle ϕ


Elements of A T

r11 = kx 2 (1 − cos ϕ ) + cos ϕ


r12 = kx ky (1 − cos ϕ ) − kz sin ϕ
r13 = kz kx (1 − cos ϕ ) + ky sin ϕ
r21 = kx ky (1 − cos ϕ ) + kz sin ϕ
r22 = ky 2 (1 − cos ϕ ) + cos ϕ (4)
r23 = ky kz (1 − cos ϕ ) − kx sin ϕ
r31 = kz kx (1 − cos ϕ ) − ky sin ϕ
r32 = ky kz (1 − cos ϕ ) + kx sin ϕ
r33 = kz 2 (1 − cos ϕ ) + cos ϕ

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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.


φ
Rigid Body B
X̂A , X̂B

F IGURE : Rotation about X̂ by ϕ . . . . . . . . . . . . . . . . . . . .


. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 10 / 70
S IMPLE ROTATIONS (C ONTD .)

Rotation about Ŷ and Ẑ


 
cos ϕ 0 sin ϕ
[R(Ŷ, ϕ )] =  0 1 0  (6)
− sin ϕ 0 cos ϕ
 
cos ϕ − sin ϕ 0
[R(Ẑ, ϕ )] =  sin ϕ cos ϕ 0  (7)
0 0 1
Rotation matrices in equations (5) through (7) called simple rotations.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

Orientation described by 3 independent parameters → Three rotations


completely describe orientation of a rigid body.
Three successive rotations about axes fixed to moving body
Rotations about three distinct axes: 6 combinations – X-Y-Z, X-Z-Y, Y-Z-X,
Y-X-Z, Z-X-Y & Z-Y-X
Rotations about two distinct axes: 6 combinations – X-Y-X, X-Z-X, Y-X-Y,
Y-Z-Y, Z-X-Z, & Z-Y-Z
Rotations can also be about axes fixed in space – 12 possible combinations for
3 and 2 distinct axes.
Minimal representation of orientation of rigid body – Only three parameters
(angles) and no constraints.
3 angles about two distinct axes are called classical Euler angles and about 3
distinct axes are also called Tait-Bryan angles.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 13 / 70
X–Y–Z E ULER ANGLES  
1 0 0
Rotation about X̂ – A [R] = [R(X̂, θ )] = 
0 cos θ1 − sin θ1 
B1 1
0 sin θ1 cos θ1
 
cos θ2 0 sin θ2
Rotation about Ŷ – B  
B2 [R] = [R(Ŷ, θ2 )] =
1
0 1 0
− sin θ2 0 cos θ2
X̂A , X̂B1 X̂B2 X̂A , X̂B1 X̂B2 X̂A , X̂B1
{A} {A}, {B1 }
{B1 } {A}, {B1 } {B2 }

{B2 } X̂B
θ1 ẐB2 ẐB , ẐB2
ẐB1 {B} θ3

ẐB1 ẐB1
OA , OB ẐA OA , OB ẐA OA , OB ẐA

ŶA ŶA θ2 ŶA


ŶB1 ŶB
ŶB1 , ŶB2 ŶB1

F IGURE : X–Y–Z Euler angles . . . . . . . . . . . . . . . . . . . .


. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 14 / 70
X–Y–Z E ULER ANGLES (C ONTD .)

 
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

X̂B1 X̂B1 X̂B2 X̂B1 X̂B


X̂B2

F IGURE : Z–Y–Z Euler angles

   
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

Euler parameters (see Kane et al., 1983, McCarthy, 1990): 4 parameters


derived from k̂ = (kx , ky , kz )T and angle ϕ
3 parameters — ε = k̂ sin ϕ /2
fourth parameter — ε4 = cos ϕ /2
One constraint — ε1 2 + ε2 2 + ε3 2 + ε4 2 = 1
Quaternions (pp. 185 Arfken(1985), Wolfram website): 4 parameters
‘Sum’ of a scalar q0 and a vector (q1 , q2 , q3 )T — Q = q0 + q1 î + q2 ĵ + q3 k̂.
î, ĵ, and k̂ are the unit vectors in ℜ3 .
Product of two quaternion also a quaternion.
Inverse of quaternion exists.
q02 + q12 + q22 + q32 = 1 → Unit quaternion represent orientation of a rigid body in
ℜ3 .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

Orientation of a rigid body in ℜ3 is specified by 3 independent parameters.


Various representation of orientation with their own advantages and
disadvantages
Rotation matrix A B [R] – 9 rij ’s + 6 constraints → Too many variables and
constraints but ideal for analysis.
Axis (kx , ky , kz )T and angle ϕ – 4 parameters + one constraint kx2 + ky2 + kz2 = 1
→ Useful for insight and extension to screws, twists and wrenches.
Euler angles: 3 parameters and zero constraints→ Minimal representation but
suffer from problem of singularities and sequence must be known.
Euler parameters and quaternions: 4 parameters +1 constraint → Similar but
not exactly same as axis-angle form, no singularities, used in motion planning.
Can convert from one representation to any other for regular cases!
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 20 / 70
C OMBINED T RANSLATION AND
O RIENTATION OF A R IGID B ODY
ẐA Rigid Body B
{A} ẐB
{B} B {A} and {B}, OA and OB not
p
coincident
OB
A
ŶB Orientation of {B} with respect
OB
A
p to {A} – AB [R]
Ap =A OB + A B
B [R] p
AO locates OB with respect to
OA ŶA B
OA .
X̂B
X̂A

F IGURE : General transformation


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 21 / 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 22 / 70
4 × 4 T RANSFORMATION M ATRIX

Combined translation and orientation


Define A P = [A p | 1]T and B P = [B p | 1]T → A P and B P are called 4 × 1
homogeneous coordinates
Rewrite A p =A OB + A B
B [R] p and 1 = 1 as
( A [R] AO
)
A B B
P= B P=A B
B [T ] P (9)
0 0 0 1
A [T ]
B is the 4 × 4 homogeneous transformation matrix
In computer graphics and computer vision → Last row is used for perspective
and scaling and not [0 0 0 1].
Upper left 3 × 3 matrix is identity matrix → Pure translation.
Top right 3 × 1 vector is zero → Pure rotation.
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 23 / 70
4 × 4 T RANSFORMATION M ATRIX –
P ROPERTIES

( )
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 .)

Four eigenvalues of A ±ıϕ , ϕ same as for A [R].


B [T ] are +1, +1, e B
Eigenvectors for +1 is k̂ – No other eigenvector!
represents the general motion of a rigid body in 3D space → 6
A [T ]
B
parameters must be present.
General motion of rigid body as a twist – Rotation about a line and
translation along the line.
Direction of the line: (kx , ky , kz )T
T
([U ]−A A
B [R ] ) OB
Location of the line in ℜ3 : (k̂, Y × k̂) where Y = 2(1−cos ϕ )
→ 4 independent parameters in k̂ and Y × k̂.
Rotation about the line: angle ϕ → 1 independent parameter.
Translation along the line: (A OB · k̂) → 1 independent parameter.
More details about twists, eigenvalues and eigenvectors (see Sangamesh
Deepak and Ghosal, 2006).
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 25 / 70
S UMMARY
Definition of a right-handed coordinate system {A} → X̂, Ŷ, Ẑ and origin OA .
A rigid body B in 3D space has 6 DOF with respect to another rigid body A: 3
for position & 3 for orientation → Rigid body B conceptually identical to a
coordinate system {B}.
Position of rigid body → Position of a point of interest on rigid body with
respect to coordinate system {A} → 3 Cartesian coordinates:
A p = (p , p , p )T .
x y z

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 joint connects two or more links.


A joint imposes constraints on the links it connects.
2 free rigid bodies have 6 + 6 degrees of freedom.
Hinge joint connecting two free rigid bodies → 6 + 1 degrees of freedom.
Hinge joint imposes 5 constraints, i.e., hinge joint allows 1 relative (rotary)
degree of freedom.
Degree of freedom of a joint in 3D space: 6 − m where m is the number of
constraint imposed.
Serial manipulators → All joints actuated → One-degree-of-freedom joints used.
Parallel and hybrid manipulators → Some joints passive →
Multi-degree-of-freedom joints can be used.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 28 / 70
T YPES OF J OINTS DOF

F IGURE : – Types of joints . . . . . . . . . . . . . . . . . . . .


. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 29 / 70
C ONSTRAINTS IMPOSED BY A k̂
{i}

ROTARY (R) JOINT Rigid Body i − 1 θi

Rigid bodies, {i − 1} and {i}, Oi

connected by a rotary (R) joint.


i
p

{i − 1}

{i} can rotate about k̂, with respect Oi−1


i−1
p

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

matrix equation above; θi is


Oi−1 0
p

unknown⇒ 2 constraints in the 3 {0}

equations.

F IGURE : A rotary joint


For a common point P on the rotation axis along line Li
0 p =0 O 0 i−1 p =0 O + 0 [R]i p ⇒ 3 constraints present.
i−1 + i−1 [R] i i
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 30 / 70
C ONSTRAINTS IMPOSED BY A k̂
{i}
ROTARY (R) JOINT IN A LOOP Rigid Body i − 1 θi
Oi

i
p

{i − 1}
i−1
p
Oi−1 R
Oi

Rotary joint in a loop — 2 Rigid Body i

ends {L} and {R}.


Li Rotary Joint

L
Oi−1 {R}

{L}

L
D

F IGURE : A rotary joint in a loop


2 constraints: L [R]
i = i−1 [R] i [R(k̂, θi )] = LR [R]R
L i−1
i [R], θi unknown.
Three constraints in L p =L Oi−1 + Li−1 [R]i−1 p =L D +R Oi + R
. i. [R]
i
. . . .p. . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 31 / 70
C ONSTRAINTS IMPOSED BY A
SPHERICAL (S) JOINT {i}

Rigid Body i − 1
i
p

{i − 1} i−1
p

Spherical(S) or ball and socket


joint allows three rotations. Rigid Body i

S joint can be represented as 3 0


Oi−1 0
p
0
Oi Spherical Joint

intersecting rotary(R) joints.


{0}

F IGURE : A spherical joint


3 constraints: 0p =0 Oi−1 + 0i−1 [R]i−1 p =0 Oi + 0i [R]i p . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 32 / 70
C ONSTRAINTS IMPOSED BY A
Rigid Body j
SPHERICAL - SPHERICAL (S–S) JOINT {j}
Sj
PAIR Rigid Body i j
Sj
Si lij

{i}
i
Si

The S–S pair appear in


S-S Pair
many parallel manipulators. R
Sj R
O

Distance between two


spherical joint is constant. L
Oi
L
Si

{L}

L
D

F IGURE : A S–S pair in a loop


Constraint: (L Si − (L D +R Sj )) · (L Si − (L D +R Sj )) = lij2 , lij. is
. . a. .constant.
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 33 / 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 34 / 70
L INKS – I NTRODUCTION

A link A is a rigid body in 3D space → Can be described by a coordinate


system {A}.
A rigid body in ℜ3 has 6 degrees of freedom → 3 rotation + 3 translation → 6
parameters
For links connected by rotary (R) and prismatic (P), possible to use 4
parameters – Denavit-Hartenberg (D-H)parameters (see Denavit & Hartenberg,
1955).
4 parameters since lines related to rotary(R) and prismatic (P) joint axis are
used.
For multi-degree-of-freedom joints → Use equivalent number of
one-degree-of-freedom joints.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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 word about conventions – Several ways to derive D-H parameters!


Convention used:
1 Coordinate system {i} is attached to the link i.
2 Origin of {i} lies on the joint axis i – Link i is “after” joint i.
3 “after” for serial manipulators – Numbers increasing from fixed {0} → Link 1 {1}
→ . . . → Free end {n}.
4 “after” for parallel manipulators – Not so straight-forward due to one or more
loops.

Convention same as in Craig (1986) or Ghosal(2006).

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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 .)

For coordinate system {i − 1}


Ẑi−1 is along joint axis i − 1.
X̂i−1 is chosen along the common perpendicular between lines Li−1 and Li .
Ŷi−1 = Ẑi−1 × X̂i−1 – Right-handed coordinate system.
The origin Oi−1 is the point of intersection of the mutual perpendicular line and
the line Li−1 .
For coordinate system {i}: Ẑi is along the joint axis i, X̂i is along the common
perpendicular between Ẑi and Ẑi+1 , and the origin of {i}, Oi , is the point of
intersection of the line along X̂i and line along Ẑi .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

Location of origin of {i} with respect to {i − 1} is given by


i−1 O = a i−1 X̂ i−1 Ẑ
i i−1 i−1 + di i
i−1
Recall i−1 X̂i−1 = (1, 0, 0)T . The vector i−1 Ẑ
i is the last column of i [R] and
is (0, −sαi−1 , cαi−1 )T 1 .
The 4 × 4 transformation matrix relating {i} with respect to {i − 1} is
 
cθi −sθi 0 ai−1
 sθ cα 
i−1  i i−1 cθi cαi−1 −sαi−1 −sαi−1 di  (10)
i [T ] =  s s cαi−1 di 
θi αi−1 cθi sαi−1 cαi−1
0 0 0 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

Steps to obtain D-H parameters for a n link serial manipulator


1 Label joint axis from 1 (fixed) to n free end.
2 Assign Ẑi to joint axis i, i = 1, 2, ..., n.
3 Obtain mutual perpendiculars between lines along Ẑi−1 and Ẑi – X̂i−1 .
4 Origin Oi−1 on joint axis i − 1.
5 Handle special cases – a) consecutive joint axes parallel and perpendicular, b)
first and last link
6 Obtain 4 D-H parameters for link i, αi−1 , ai−1 , di and θi .
i−1
For each link i obtain i [T ] using equation (10).
Obtain link transform for link i with respect to fixed coordinate system {0},
0 [T ],
by matrix multiplication.
i
Obtain, if required, ij [T ] by appropriate matrix operations.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

All 3 rotary joint axis Ẑi parallel O3

and pointing out. {3}


Link 2
Ŷ3
{0} — Ẑ0 is pointing out, X̂0 Ŷ0

Ŷ1 l2
and Ŷ0 pointing to the right and Ŷ2 {2} θ2 X̂1

top, respectively. {0}

Origin O0 is coincident with O1 {1}


Link 1
O2
l1
shown in figure. θ1

X̂0
O1

F IGURE : The planar. 3R manipulator


. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 46 / 70
P LANAR 3R M ANIPULATOR –
A SSIGNMENT OF COORDINATE
SYSTEMS

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

The D-H parameters for the PUMA 560 manipulator are

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

Note: θi , i = 1, 2, ..., 6 are the six joint variables.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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 .)

{3} with respect to {0}is given by 


c1 c23 −c1 s23 −s1 a2 c1 c2 − d3 s1

0 [T ] = 0 [T ]1 [T ]2 [T ] =  s1 c23 −s1 s23 c1 a2 s1 c2 + d3 c1  
3 1 2 3  −s23 −c23 0 −a2 s2 
0 0 0 1
{6} with respect to {3}is given by 
c4 c5 c6 − s4 s6 −c4 c5 s6 − s4 c6 −c4 s5 a3

3 [T ] = 3 [T ]4 [T ]5 [T ] =  s5 c6 −s5 s6 c5 d4 

6 4 5 6  −s4 c5 c6 − c4 s6 s4 c5 s6 − c4 c6 s4 s5 0 
0 0 0 1
Can obtain any required link transformation matrix once D-H is table known!
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 56 / 70
SCARA M ANIPULATOR
Ẑ 2

Ẑ 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.

F IGURE : A SCARA manipulator


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 57 / 70
SCARA M ANIPULATOR : D-H
PARAMETERS

{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

Extend idea of D-H parameters to a closed-loop mechanism/parallel


manipulator.
Key idea – Break a parallel manipulator into serial manipulators.
Obtain D-H parameters for serial manipulators.
Several ways to break
Choose one that leads to simple serial manipulators
During analysis – Combine serial manipulators using constraints

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

l2 Rotary joints 1 and 4 fixed


to ground at two places.
φ2
Ŷ L
Link 1 Link 3 l3 ŶR Break 4-bar mechanism into
{L} l1
{R}
two serial manipulators.
φ1 Break at joint 3 → A 2R
θ1 X̂L
l0 planar manipulator + a 1R
OR X̂R manipulator
OL

F IGURE : A planar four-bar mechanism


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 61 / 70
4- BAR M ECHANISM – D-H
PARAMETERS

For 2R planar manipulator – D-H parameter with respect to {L}


iαi−1 ai−1 di θi
1 0 0 0 θ1
2 0 l1 0 ϕ2
For 1R planar manipulator – D-H parameters with respect to {R}
i αi−1 ai−1 di θi
1 0 0 0 ϕ1
The constant transform LR [T ] is known.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

Top (moving) platform & (fixed)


bottom platform are equilateral
l2
S1
triangles.
l3 θ2
l1 Figure shows the home position and
Axis of R2
θ3 {Base} Ẑ need not pass through top
O
platform centre always.
Ŷ Three legs — Each leg is of R-P-S
θ1 configuration.
Base Platform
Axis of R3
Three P joints actuated.

Axis of R1 First proposed by Lee and Shah
(1988) as a parallel wrist – not a
wrist! . . . . . . . . . . . . . . . . . . . .
F IGURE : A three DOF parallel manipulator . . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 63 / 70
T HREE DOF E XAMPLE : D-H
PARAMETERS

D-H parameter for first leg with respect to {L1 }


i αi−1 ai−1 di θi
1 0 0 0 ϕ1
2 −π /2 0 l1 0
D-H parameter for all R-P-S leg same except the reference coordinate system.
{L1 }, {L2 }, and {L3 } are at the three rotary joints R1 , R2 , and R3 , respectively.
{Base} is located at the centre of the base platform & Base Li [T ], i = 1, 2, 3, are
constant and known.
Note: The angle θ1 shown in figure is same as π /2 − ϕ1 .

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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√= (−√

2 l3 cos θ3 , − 2 + 2 cos θ3 , l3 sin θ3 )


1 3b 3l3
Base S
3 = (− b2 + T

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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

D-H parameters for R-R-R chain.


i αi−1 ai−1 θi di
1 0 0 θ1 0
2 π /2 l11 ψ1 0
3 0 l12 ϕ1 0
D-H parameter does not contain last link length l13 .
D-H parameters for three fingers with respect to {Fi }, i = 1, 2, 3 identical.
Can obtain transformation matrix Fpii [T ] by matrix multiplication.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
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 .)

Positionvector of spherical joint i 


cos θi (li1 + li2 cos ψi + li3 cos(ψi + ϕi ))
Fi p =  sin θ (l + l cos ψ + l cos(ψ + ϕ )) 
i i i1 i2 i i3 i i
li2 sin ψi + li3 sin(ψi + ϕi )
With respect to {Base}, the locations of {Fi }, i = 1, 2, 3, are known and
constant (see Figure)
Base b = (0, −d, h)T Base b = (0, d, h)T Base b = (0, 0, 0)T
1 2 3
Orientation of {Fi }, i = 1, 2, 3, with respect to {Base} are also known - {F1 }
and {F2 } are parallel to {Base} and {F3 } is rotated by γ about the Ŷ (not
shown in figure!).
The transformation matrices Base [T ] is Base [T ]0 [T ]1 [T ]2 [T ]3 [T ] – Last
pi F1 1 2 3 p1
transformation includes l13 .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
A SHITAVA G HOSAL (IIS C ) ROBOTICS : BASIC AND A DVANCED C ONCEPTS NPTEL, 2020 68 / 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.

– T. R. Kane, P. W. Likins, and D. A. Levinson 1983, Spacecraft Dynamics, McGraw-Hill


Inc.
– J. M. McCarthy 1990, An Introduction to Theoretical Kinematics, MIT Press.
– J. J. Craig 1989, Introduction to Robotics: Mechanics and Control, 2nd Ed. Addison-
Wesley.
– R. S. Hartenberg and J. Denavit 1964, Kinematic Synthesis of Linkages, McGraw-Hill
Book Company.
– R. M. Murray, Z. Li and S. S. Sastry 1994, A Mathematical Introduction to Robotic
Manipulation, CRC Press.

• K. M. Lee and D. Shah 1988, “Kinematic analysis of a three-degrees-of-freedom in-parallel


actuated manipulator”, IEEE Trans. on Robotics and Automation, Vol. 14, No. 4, pp.
354-360.

• 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.

• About quaternions – http://mathworld.wolfram.com/Quaternion.html

You might also like