0% found this document useful (0 votes)
5 views231 pages

Introduction To Robotic Systems Lecture 05

Uploaded by

CAD Doctor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views231 pages

Introduction To Robotic Systems Lecture 05

Uploaded by

CAD Doctor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 231

MECA 401

INTRODUCTION TO
ROBOTIC SYSTEMS

LECTURE-5
Denavit-Hartenberg Method

1
This slide set is taken from the robotics lecture notes of Prof. Dr. Kemalettin Erbatur
Remember our example:
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.

Elbow
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.

Elbow

Waist
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.

Elbow

Waist

Problem definition:
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.

Elbow

Waist

Problem definition: Solve the forward kinematics problem for this


manipulator
Remember our example: We worked on the Denavit-Hartenberg
representation of the 3-dof articulated elbow manipulator.

Elbow

Waist

Problem definition: Solve the forward kinematics problem for this


manipulator using the Denavit-Hartenberg axis assignment and homogeneous
transformation matrices.
Elbow

Waist
Elbow
Solution:
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:
Solution:
Solution:
Solution:
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Solution:

Denavit-Hartenberg assumptions
Step 6 in detail:
Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Note that there are four main work steps in the assignment of the coordinate frames:

•Assign joint axes


•Work on the base frame

•Work on intermediate frames

•Work on the tool frame


Assignment of the coordinate frames:
Step 7 in detail:
Link ai i di θi
1 0 90o h θ1 *
2 a 0 0 θ2 *
3 b 0 0 θ3 *
Step 8 in detail:
Step 9 in detail:
Result

Link ai i di θi
1 0 90o h θ1 *
2 a 0 0 θ2 *
3 b 0 0 θ3 *
Link ai i di θi
1 0 90o h θ1 *
2 a 0 0 θ2 *
3 b 0 0 θ3 *
Computer implementation is possible.

Link ai i di θi
1 0 90o h θ1 *
2 a 0 0 θ2 *
3 b 0 0 θ3 *
Computer implementation is possible. Just create a function for the
link transformation matrix.

Link ai i di θi
1 0 90o h θ1 *
2 a 0 0 θ2 *
3 b 0 0 θ3 *
Computer implementation is possible. Just create a function for the
link transformation matrix.

% a alpha d theta revolute


dh_link1=[0 pi/2 h 0 1];
dh_link2=[a 0 0 0 1];
dh_link3=[b 0 0 0 1];
Link ai i di θi
1 0 90o h θ1 *
2 a 0 0 θ2 *
3 b 0 0 θ3 *
Computer implementation is possible. Just create a function for the
link transformation matrix.

% a alpha d theta revolute


dh_link1=[0 pi/2 h 0 1];
dh_link2=[a 0 0 0 1];
dh_link3=[b 0 0 0 1];
Link ai i di θi
1 0 90o h θ1 *
%joint variables
theta1=pi*90/180; 2 a 0 0 θ2 *
theta2=pi*0/180; 3 b 0 0 θ3 *
theta3=pi*0/180;
Computer implementation is possible. Just create a function for the
link transformation matrix.

% a alpha d theta revolute


dh_link1=[0 pi/2 h 0 1];
dh_link2=[a 0 0 0 1];
dh_link3=[b 0 0 0 1];
Link ai i di θi
1 0 90o h θ1 *
%joint variables
theta1=pi*90/180; 2 a 0 0 θ2 *
theta2=pi*0/180; 3 b 0 0 θ3 *
theta3=pi*0/180;

%computation of tool position and orientation


T=link_transformation(dh_link1,theta1) ...
*link_transformation(dh_link2,theta2) ...
*link_transformation(dh_link3,theta3)
Another example:
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)

l0
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)

l1

l0
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)

l1 l2

l0
Another example: Sort of SCARA (“sort of” because 3 dof, not 4 dof)

l1 l2

l0 l3
zo
zo z1
zo z1 z2
zo z1 z2
zo z1 z2

oo
zo z1 z2

oo xo
zo z1 z2

oo xo
zo z1 z2

o1

oo xo
zo z1 z2

o1 x1

oo xo
zo z1 z2

o1 x1

oo xo
zo z1 z2

o1 x1

oo xo
zo z1 z2

o1 x1 o
2

oo xo
zo z1 z2

o1 x1 o x2
2

oo xo
zo z1 z2

o1 x1 o x2
2

oo xo
zo z1 z2

o1 x1 o x2
2

oo xo
zo z1 z2

o1 x1 o x2
2

oo o3
xo
z3

zo z1 z2

o1 x1 o x2
2

oo o3
xo
z3

zo z1 z2

o1 x1 o x2
2

oo o3 x3
xo
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo

Link 1
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo

Link 1
Link 2
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo

Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a
Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α
Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d
Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1
Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1

Link 2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1

Link 2 l2
Link 3
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1

Link 2 l2
Link 3 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1

Link 2 l2
Link 3 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1

Link 2 l2
Link 3 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0
Link 2 l2
Link 3 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0
Link 2 l2 0
Link 3 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0
Link 2 l2 0
Link 3 0 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0
Link 2 l2 0
Link 3 0 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0
Link 2 l2 0
Link 3 0 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0 l0
Link 2 l2 0
Link 3 0 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0 l0
Link 2 l2 0 0
Link 3 0 0
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

oo o3 x3
xo
a α d θ
Link 1 l1 0 l0
Link 2 l2 0 0
Link 3 0 0 d 3*
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

o3 x3
xo
a α d θ
Link 1 l1 0 l0
Link 2 l2 0 0
Link 3 0 0 d 3*
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

o3 x3
xo
a α d θ
Link 1 l1 0 l0
Link 2 l2 0 0
Link 3 0 0 d 3*
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

o3 x3
xo
a α d θ
Link 1 l1 0 l0 θ 1*
Link 2 l2 0 0
Link 3 0 0 d 3*
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

o3 x3
xo
a α d θ
Link 1 l1 0 l0 θ 1*
Link 2 l2 0 0 θ 2*
Link 3 0 0 d 3*
z3
l1 z1 l2
z2
zo

o1 x1 o x2
2
l0

o3 x3
xo
a α d θ
Link 1 l1 0 l0 θ 1*
Link 2 l2 0 0 θ 2*
Link 3 0 0 d 3* 0
Another example:
zo
z1
zo
z1
zo

z2
z1
zo

z2
z1
zo

z2

oo
z1
zo

z2

oo xo
z1
zo

z2

oo xo
o1
z1
zo

z2

oo xo x1
o1
z1
zo

z2

oo xo x1
o1
z1
zo

z2

oo xo x1
o1
z1
zo
o2
z2

oo xo x1
o1
z1
zo
o2
z2
x2

oo xo x1
o1
z1
zo
o2
z2
x2

oo xo x1
o1
z1
zo
o2 z3
z2
x2

oo xo x1
o1
z1
zo o3
o2 z3
z2
x2

oo xo x1
o1
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1
o1
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1
Link 2
Link 3
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1
Link 2
Link 3
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0
Link 2
Link 3
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0
Link 2 0
Link 3
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0
Link 2 0
Link 3 0
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0
Link 2 0
Link 3 0
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0
Link 2 0
Link 3 0
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0
Link 2 0
Link 3 0
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0
Link 2 0 − 90 o
Link 3 0
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0
Link 2 0 − 90 o
Link 3 0 0
z1 d 3*

zo o3
o2 z3
z2
x2
x3
d 2*

oo xo x1 a α d θ
o1 Link 1 0 0
Link 2 0 − 90 o
Link 3 0 0
z1 d 3*

zo o3
o2 z3
z2
x2
x3
d 2*

oo xo x1 a α d θ
o1 Link 1 0 0
Link 2 0 − 90 o
Link 3 0 0
z1 d 3*

zo o3
o2 z3
z2
x2
x3
d 2*

oo xo x1 a α d θ
o1 Link 1 0 0 0
Link 2 0 − 90 o
Link 3 0 0
z1 d 3*

zo o3
o2 z3
z2
x2
x3
d 2*

oo xo x1 a α d θ
o1 Link 1 0 0 0
Link 2 0 − 90 o d 2*
Link 3 0 0
z1 d 3*

zo o3
o2 z3
z2
x2
x3
d 2*

oo xo x1 a α d θ
o1 Link 1 0 0 0
Link 2 0 − 90 o d 2*
Link 3 0 0 d 3*
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0 0
Link 2 0 − 90 o d 2*
Link 3 0 0 d 3*
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0 0
Link 2 0 − 90 o d 2*
Link 3 0 0 d 3*
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0 0 θ 1*
Link 2 0 − 90 o d 2*
Link 3 0 0 d 3*
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0 0 θ 1*
Link 2 0 − 90 o d 2* − 90 o
Link 3 0 0 d 3*
z1
zo o3
o2 z3
z2
x2
x3

oo xo x1 a α d θ
o1 Link 1 0 0 0 θ 1*
Link 2 0 − 90 o d 2* − 90 o
Link 3 0 0 d 3* 0
Compare the table above with the one below.
z1
zo o3
o2 z3
z2
x2
x3

oo xo x
1
o1 a α d θ
Link 1 0 0 0 θ 1*
Link 2 0 − 90 o d 2* − 90 o
Link 3 0 0 d 3* 0
They are not the same although the problem definition was the same.

The Denavit Hartenberg rules give many options to us.


Another example:
Tool tip
zo
zo
z1
zo
z1

z2
zo
z1

z2
zo
z1

oo

z2
zo
z1

oo xo

z2
zo
z1

oo xo

z2
zo
z1

oo xo

z2
zo
o1 z1

oo xo

z2
x1
zo
o1 z1

oo xo

z2
x1
zo
o1 z1

oo xo

z2
x1
zo
o1 z1

oo xo

z2
x1
zo
o1 z1

oo xo

z2
x1
zo
o1 z1
o2
oo xo

z2
x1
zo x2
o1 z1
o2
oo xo

z2
x1
zo x2
o1 z1
o2
oo xo

z2
x1
zo x2
o1 z1
o2
oo xo

z2
z3
x1
zo x2
o1 z1
o2
oo xo

o3
z2
z3
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1
Link 2
Link 3
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1
Link 2
Link 3
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1
Link 2
Link 3
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0
Link 2
Link 3
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0
Link 2 0
Link 3
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0
Link 2 0
Link 3 0
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0
Link 2 0
Link 3 0
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0
Link 2 0
Link 3 0
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o
Link 2 0
Link 3 0
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o
Link 2 0 90 o
Link 3 0
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o
Link 2 0 90 o
Link 3 0 0o
x1
zo x2
o1 z1
o2
oo xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o
Link 2 0 90 o
Link 3 0 0o
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o
Link 2 0 90 o
Link 3 0 0o
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1*
Link 2 0 90 o
Link 3 0 0o
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1*
Link 2 0 90 o d 2*
Link 3 0 0o
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1*
Link 2 0 90 o d 2*
Link 3 0 0o d 3*
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1*
Link 2 0 90 o d 2*
Link 3 0 0o d 3*
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1*
Link 2 0 90 o d 2*
Link 3 0 0o d 3*
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1* − 90 o
Link 2 0 90 o d 2*
Link 3 0 0o d 3*
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1* − 90 o
Link 2 0 90 o d 2* − 90 o
Link 3 0 0o d 3*
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
a α d θ
Link 1 0 − 90 o d1* − 90 o
Link 2 0 90 o d 2* − 90 o
Link 3 0 0o d 3* 0o
x1 d 2*
zo x2
o1 z1
d1* o2
oo d 3*
xo
x3
o3
z2
z3
Other examples:

You might also like