You are on page 1of 75

More details and examples

on robot arms and


kinematics

DenavitHartenberg
Notation

INTRODUCTION
Forward Kinematics:
to determine where the robots hand is?
(If all joint variables are
known)
Inverse Kinematics:
to calculate what each joint variable is?
(If we desire that the hand
be
located at a particular
point)

Direct
Kinemati
cs

Direct
Kinematics
no matrices
Where is my hand?

Direct Kinematics:
HERE!

with

Direct
Kinematics

Position of tip in (x,y) coordinates

Direct Kinematics
Algorithm
Often
1) Draw sketch

sufficient
2) Number links. Base=0, Last link = n for 2D

3) Identify and number robot joints


4) Draw axis Zi for joint i
5) Determine joint length ai-1 between Zi-1 and Zi
6) Draw axis Xi-1
7) Determine joint twist i-1 measured around Xi-1
8) Determine the joint offset di
9) Determine joint angle i around Zi
10+11) Write link transformation and
concatenate

Kinematic Problems for


Manipulation
Reliably position the tip - go from one position to
another position
Dont hit anything, avoid obstacles
Make smooth motions
at reasonable speeds and
at reasonable accelerations

Adjust to changing conditions i.e. when something is picked up respond to the change in
weight

ROBOTS AS
MECHANISMs

Robot Kinematics:
ROBOTS AS MECHANISM
Multiple type robot have multiple DOF.
(3 Dimensional, open loop, chain mechanisms)

Fig. 2.1 A one-degree-offreedom closed-loop four-bar


mechanism

Fig. 2.2 (a) Closed-loop versus


(b) open-loop mechanism

Representation
of
a
Point
Chapter 2
Robot
Position Analysis
inKinematics:
Space
A point P in space :
3 coordinates relative to a reference frame

P a x i by j c z k
Fig. 2.3 Representation of a point in
space

Representation
of
a
Vector
Chapter 2
Robotin
Kinematics:
Position Analysis
Space
A Vector P in space :
3 coordinates of its tail and of its
head
__

P a x i by j c z k
x
y
__
P
z

w
Fig. 2.4 Representation of a vector in
space

Representation of a Frame at the


Chapter 2
Origin of Robot
a Fixed-Reference
Kinematics: Position AnalysisFrame
Each Unit Vector is mutually
perpendicular. :
normal, orientation, approach
vector
nx ox a x
F n y o y a y
nz oz a z

Fig. 2.5 Representation of a frame at the origin


of the reference frame

Representation
of
a
Frame
Chapter 2
Robot Reference
Kinematics: Position Analysis
in a Fixed
Frame
Each Unit Vector is mutually
perpendicular. :
normal, orientation, approach
vector
nx
n
y

F
nz

0
Fig. 2.6 Representation of a
frame in a frame

ox
oy
oz
0

ax
ay
az
0

Px
Py
Pz

The same
as last
slide

Representation
of
a
Rigid
Chapter 2
Robot Kinematics:
BodyPosition Analysis
An object can be represented in space by attaching
a frame
to it and representing the frame in space.

Fobject

Fig. 2.8 Representation of


an object in space

nx
n
y

nz

ox
oy
oz
0

ax
ay
az
0

Px
Py
Pz

HOMOGENEOUS
Chapter 2
TRANSFORMATION
MATRICES
Robot Kinematics: Position
Analysis
A transformation matrices must be in square form.
It is much easier to calculate the inverse of square
matrices.
To multiply two matrices, their dimensions must
match.

nx
n
y

F
nz

ox
oy
oz
0

ax
ay
az
0

Px
Py
Pz

Representation
of
Transformations
of rigid objects
in 3D space

Representation
of
a
Pure
Chapter 2
Robot
Kinematics: Position Analysis
Translation
A transformation is defined as making a movement in
space.
A pure translation.
A pure rotation about an axis.
A combination of translation or rotations.
Same
value a

identity

1
0
T
0

0
Fig. 2.9 Representation of an
pure translation in space

0
1
0
0

0
0
1
0

dx
d y
dz

Representation
of
a
Pure
Chapter 2
Robot Kinematics:
Position
Rotation
about
anAnalysis
Axis
x,y,z n, o, a

Assumption : The frame is at the origin of the reference frame and


parallel to it.

Projections
as seen from
x axis

Fig. 2.10 Coordinates of a point


in a rotating frame before and
after rotation around axis x.

Fig. 2.11 Coordinates of a point relative to the


reference frame and rotating frame as
viewed from the x-axis.

Representation of Combined
Transformations
A number of successive translations
ai
ni

T1

and rotations.

Fig. 2.13 Effects of three


successive transformations

oi
T2

T3
x,y,z n, o, a

Order
is
import

x,y,z n, o, a
translation

Order of
Transformation
s is important

Fig. 2.14 Changing the order of


transformations will change the final
result

Transformations
Relative
Chapter 2
Kinematics: PositionFrame
Analysis
to theRobot
Rotating
Example 2.8
translation

rotation

Fig. 2.15 Transformations relative to the current frames.

MATRICES FOR
FORWARD AND
INVERSE
KINEMATICS OF
ROBOTS
For position
For orientation

FORWARD AND INVERSE KINEMATICS


Chapter
2
OF ROBOTS
Robot Kinematics: Position Analysis

Forward Kinematics Analysis:


Calculating the position and orientation of the hand of the robot.
If all robot joint variables are known, one can calculate where the robot is
at any instant.
.

Fig. 2.17 The hand frame of the robot relative to the reference frame.

Forward and Inverse Kinematics


Chapter
2
Equations for Position
Robot Kinematics: Position Analysis
Forward Kinematics and Inverse Kinematics
equation for position analysis :

(a) Cartesian (gantry, rectangular) coordinates.


(b) Cylindrical coordinates.
(c) Spherical coordinates.
(d) Articulated (anthropomorphic, or all-revolute)
coordinates.

Forward and Inverse Kinematics


Chapter
2
Equations
for
Position
Robot Kinematics: Position Analysis
(a) Cartesian (Gantry,
Rectangular) Coordinates
IBM 7565 robot
All actuator is linear.
A gantry robot is a Cartesian robot.

TP Tcart

Fig. 2.18 Cartesian Coordinates.

1
0

0
1
0
0

0
0
1
0

Px

Py
Pz

Forward and Inverse Kinematics Equations


for Position:
Chapter
2

Robot Kinematics:
Position Analysis
Cylindrical
Coordinates

2 Linear translations and 1 rotation


translation of r along the x-axis
rotation of about the z-axis
translation of l along the z-axis

TP Tcyl (r , , l ) Trans(0,0, l )Rot( z , )Trans( r ,0,0)

cosine

Fig. 2.19 Cylindrical Coordinates.

C S 0 rC
S C 0 rS
R

TP Tcyl
0
0 1 l

0
0
0
1

sine

Forward and Inverse Kinematics Equations


for Position
Chapter
2
Robot
Kinematics:
Position
Analysis
(c)
Spherical
Coordinates
2 Linear translations and 1 rotation
translation of r along the z-axis
rotation of about the y-axis
rotation of along the z-axis

TP Tsph (r , , l ) Rot( z , )Rot( y , )Trans( 0,0, )

TP Tsph

C C S S C rS C
C S C S S rS S

Fig. 2.20 Spherical Coordinates.

rC
1

Forward and Inverse Kinematics Equations


for Position
Chapter
2
Robot
Position
Analysis
(d)Kinematics:
Articulated
Coordinates
3 rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated


Coordinates.

Forward and Inverse


Chapter
2
Kinematics
Equations
for
Robot Kinematics: Position Analysis
Orientation

Roll, Pitch, Yaw (RPY) angles


Euler angles
Articulated joints

Forward and Inverse Kinematics Equations


for Orientation
Chapter
2
Robot
Kinematics:
Position
Analysis Angles
(a)
Roll,
Pitch,
Yaw(RPY)
Roll: Rotation ofa
Pitch: Rotation ofo
Yaw: Rotation ofn

about

a
about
o
about
n

-axis (z-axis of the moving frame)


-axis (y-axis of the moving frame)
-axis (x-axis of the moving frame)

Fig. 2.22 RPY rotations about


the current axes.

Forward and Inverse Kinematics Equations


for Orientation
Chapter
2
Robot Kinematics:
Position
Analysis
(b) Euler
Angles
Rotation of

abouta

-axis (z-axis of the moving frame) followed

Rotation of

o
abouta

-axis (y-axis of the moving frame) followed

Rotation of

about

-axis (z-axis of the moving frame).

by
by

Fig. 2.24 Euler rotations


about the current axes.

Forward and Inverse Kinematics


Chapter 2
Equations
Orientation
Robot Kinematics:for
Position
Analysis

Roll, Pitch, Yaw(RPY) Angle

Assumption : Robot is made of a Cartesian and an RPY set


of joints.

TH Tcart ( Px , Py , Pz ) RPY (a , o , n )

Assumption : Robot is made of a Spherical Coordinate and an


Euler angle.

TH Tsph ( r , , ) Euler ( , , )

Another Combination can be possible

Denavit-Hartenberg Representation

Forward and
Inverse
Transformati
ons for
robot arms

INVERSE OF TRANSFORMATION MATRICES


Steps of calculation of an Inverse matrix:
1.
2.
3.
4.

Calculate the determinant of the matrix.


Transpose the matrix.
Replace each element of the transposed matrix by its own minor
(adjoint matrix).
Divide the converted matrix by the determinant.

Fig. 2.16 The Universe, robot, hand, part,


and end effecter frames.

Identity
Transformati
ons

1. We often need to calculate

INVERSE
MATRICES
2. It is good to reduce the number
of such operations
3. We need to do these calculations
fast

How to find an Inverse


Matrix B of matrix A?

Inverse Homogeneous
Transformation

Homogeneous
Coordinates

Homogeneous coordinates: embed


3D vectors into 4D by adding a
1
More generally, the transformation
matrix TRot.
hasMatrix
the form:Trans. Vector

Perspect. Trans. Scaling Factor


a11 a12 a13 b1
a21 a22 a23 b2
a31 a32 a33 b3
c1 c2 c3

sf

It is presented in more
detail on the WWW!

For various types of robots we


have different maneuvering
spaces

For various types of robots we calculate


different forward and inverse
transformations

For various types of robots we solve different forward and inverse


kinematic problems

Forward and
Inverse
Kinematics:
Single Link
Example

Forward and Inverse


Kinematics: Single Link
Example

easy

Denavit
Hartenbe
rg idea

DENAVIT-HARTENBERG REPRESENTATION OF
FORWARD KINEMATIC EQUATIONS OF ROBOT
Denavit-Hartenberg
Representation :
@ Simple way of modeling robot links and
joints for any robot configuration,
configuration
regardless of its sequence or complexity.

@ Transformations in any coordinates


is possible.

@ Any possible combinations of joints


and links and all-revolute articulated
robots can be represented.

Fig. 2.25 A D-H representation of a general-purpose joint-link combination

DENAVIT-HARTENBERG REPRESENTATION

Chapter
2
Symbol Terminologies :

Robot Kinematics: Position Analysis

: A rotation angle between two links, about the z-axis

(revolute).
d : The distance (offset)
offset on the z-axis, between links
(prismatic).

a : The length of each common normal (Joint offset).

: The twist angle between two successive z-axes (Joint

twist) (revolute)
Only and d are joint variables.

associated with
Zi always

Links are in 3D,


any shape

Only rotation

Only offset

Only translation

Only rotation

Only offset

Axis alignment

DENAVITHARTENBERG
REPRESENTATION
for each link

4 link
parameters

DENAVIT-HARTENBERG REPRESENTATION

Chapter
2
Symbol Terminologies :

Robot Kinematics: Position Analysis

: A rotation angle between two links, about the z-axis

(revolute).
d : The distance (offset) on the z-axis, between links
(prismatic).

a : The length of each common normal (Joint offset).

: The twist angle between two successive z-axes (Joint

twist) (revolute)
Only and d are joint variables.

Example with three


Revolute Joints

The DH
Parameter
Table

Y2

Z1

Z0

X2
X0

d2

X1

Y0

Denavit-Hartenberg Link
Parameter Table

Y1

a0

a1

Apply first

Apply last

(i-1)

a(i-1)

di

a0

-90

a1

d2

Denavit-Hartenberg
Representation of JointLink-Joint Transformation

Notation for DenavitHartenberg Representation


of Joint-Link-Joint
Transformation

Alpha applied
first

Four Transformations from one Joint to


the Next

Order of multiplication of matrices is inverse of order of


applying them
Here we show order of matrices

Joint-Link-Joint

DenavitHartenberg
Representati
on of JointLink-Joint
Transformati
on

How to
create a
single
matrix A

Alpha
is
applie
d first

EXAMPLE: DenavitHartenberg Representation


of Joint-Link-Joint
Transformation for Type 1
Link

Final
matrix
from
previous
slide

substitute

substitute
Numeric or
symbolic
matrices

The DenavitHartenberg Matrix for


another link type

cos i

sin cos
i
(i 1)

sin i sin (i 1)

sin i

cos i cos (i 1)
cos i sin (i 1)
0

sin (i 1)
cos (i 1)
0

a(i 1)

sin (i 1) d i
cos (i 1) d i

Similarity to Homegeneous:
Homegeneous Just like the Homogeneous
Matrix, the Denavit-Hartenberg Matrix is a transformation
matrix from one coordinate frame to the next.
Using a series of D-H Matrix multiplications and the D-H
Parameter table, the final result is a transformation matrix from
some frame to your initial frame.
Z(i - 1)
Y(i -1)

Put the transformation here


for every link

X(i -1)
( i
- 1)

Y Zi
a(i - 1 )

d
i

X
i

a
i

1.

2.

In DENAVITHARTENBERG
REPRESENTATION we
must be able to find
parameters for each link
So we must know link types

Links
between
revolute
joints

Type 3
Link
Joint n+1

xn

Link n
dn=0
Joint n
xn-1

ln=0

n-1

Type 4
Link

Joint n+1

Link n
ln=0
dn=0

Part of
dn-1

Joint n
xn

n
xn-1

yn-1

Origins
coincide

Links
between
prismatic
joints

Forward and
Inverse
Transformations
on Matrices

DENAVIT-HARTENBERG
REPRESENTATION
PROCEDURES
Start point:

Assign joint number n to the first shown joint.

Assign a local reference frame for each and

every joint before or


after these joints.

Y-axis is not used in D-H representation.

DENAVIT-HARTENBERG REPRESENTATION

Procedures for assigning a local reference frame to each


joint:
1. All joints are represented by a z-axis.

(right-hand rule for rotational joint, linear movement for


prismatic joint)

2. The common normal is one line mutually perpendicular to


any two
3.

skew lines.

Parallel z-axes joints make a infinite number of common


normal.

4. Intersecting z-axes of two successive joints make no


common

normal between them(Length is 0.).

DENAVIT-HARTENBERG REPRESENTATION

Chapter
2
Symbol Terminologies Reminder:
Reminder

Robot Kinematics: Position Analysis

: A rotation about the z-axis.

d : The distance on the z-axis.


a : The length of each common normal (Joint
offset).
: The angle between two successive z-axes
(Joint twist)
Only and d are joint variables.

DENAVIT-HARTENBERG REPRESENTATION

Chapter
2
The necessary motions to transform
Robot Kinematics: Position Analysis

from one reference frame to the


next.
(I)

Rotate about the zn-axis an able of n+1. (Coplanar)

(II) Translate along zn-axis a distance of dn+1 to make xn and xn+1


colinear.
(III) Translate along the xn-axis a distance of an+1 to bring the origins
of xn+1 together.
(IV) Rotate zn-axis about xn+1 axis an angle of n+1 to align zn-axis
with zn+1-axis.

You might also like