0% found this document useful (0 votes)
43 views

Lecture Notes W2

This document discusses the mathematical preliminaries for robotics including describing the position and orientation of rigid bodies using homogeneous transformations and direction cosines. It defines rotation matrices and describes the properties of rotation matrices such as being orthonormal and having determinants of positive one.

Uploaded by

Aryan Rai
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Lecture Notes W2

This document discusses the mathematical preliminaries for robotics including describing the position and orientation of rigid bodies using homogeneous transformations and direction cosines. It defines rotation matrices and describes the properties of rotation matrices such as being orthonormal and having determinants of positive one.

Uploaded by

Aryan Rai
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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: [email protected]

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