You are on page 1of 75

Moredetailsandexampleson

robotarmsandkinematics

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)
DirectKinematics
withnomatrices

Where is my hand?

Direct Kinematics:
HERE!
DirectKinematics
Positionoftipin(x,y)coordinates
DirectKinematicsAlgorithm
Often
1)Drawsketch sufficientfor
2)Numberlinks.Base=0,Lastlink=n 2D
3)Identifyandnumberrobotjoints
4)Drawaxis Zi forjointi
5)Determinejointlengthai1 betweenZi1 andZi
6)DrawaxisXi1
7)Determinejointtwisti1 measuredaroundXi1
8)Determinethejointoffsetdi
9)Determinejointanglei aroundZi
10+11)Writelinktransformationand concatenate
KinematicProblemsfor
Manipulation
Reliablypositionthetip gofromonepositiontoanotherposition

Donthit anything,avoidobstacles

Makesmoothmotions
atreasonablespeeds and
atreasonableaccelerations

Adjusttochanging conditions
i.e.whensomethingispickeduprespondtothechangeinweight
ROBOTS AS
MECHANISMs
RobotKinematics:
ROBOTS AS MECHANISM
Multiple type robot have multiple DOF.
(3 Dimensional, open loop, chain mechanisms)

Fig. 2.1 A one-degree-of-freedom Fig. 2.2 (a) Closed-loop versus (b)


closed-loop four-bar mechanism open-loop mechanism
Representation Chapter2 of a Point in
Space
RobotKinematics:PositionAnalysis

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
Chapter2 a Vector in
Space
RobotKinematics:PositionAnalysis

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
Chapter2 Frame at the
Origin of aRobotKinematics:PositionAnalysis
Fixed-Reference Frame

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
Chapter2 a Frame in a
Fixed RobotKinematics:PositionAnalysis
Reference Frame
Each Unit Vector is mutually perpendicular. :
normal, orientation, approach vector

The
same as
last slide

nx ox ax Px
n oy ay Py
F y

nz oz az Pz

0 0 0 1

Fig. 2.6 Representation of a


frame in a frame
Representation of a Rigid Body
Chapter2
RobotKinematics:PositionAnalysis

An object can be represented in space by attaching a frame


to it and representing the frame in space.

nx ox ax Px
n oy ay Py
Fobject y

nz oz az Pz

0 0 0 1

Fig. 2.8 Representation of an


object in space
HOMOGENEOUS
Chapter2
TRANSFORMATION MATRICES
RobotKinematics:PositionAnalysis

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 ox ax Px
n oy ay Py
F y

nz oz az Pz

0 0 0 1
Representation of
Transformations of
rigid objects
in 3D space
RepresentationChapter2 of a Pure
Translation
RobotKinematics:PositionAnalysis

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 0 dx
0 1 0 d y
T
0 0 1 dz

0 0 0 1
Fig. 2.9 Representation of an pure
translation in space
Representation Chapter2 of a Pure
Rotation about an Axis
RobotKinematics:PositionAnalysis

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 Fig. 2.11 Coordinates of a point relative to the
rotation around axis x. reference frame and rotating frame as viewed from
the x-axis.
Representation of Combined
Transformations
A number of successive translations and
rotations.
ai T1
Fig. 2.13 Effects of three successive
oi transformations
ni

T2

T3
x,y,z n, o, a

Orderis
important
x,y,z n, o, a
translation

Order of
Transformations
is important

Fig. 2.14 Changing the order of


transformations will change the final result
Transformations Chapter2 Relative to
the Rotating Frame
RobotKinematics:PositionAnalysis

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 OF
Chapter2
ROBOTS
RobotKinematics:PositionAnalysis
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
Chapter2
Equations for Position
RobotKinematics:PositionAnalysis

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
EquationsChapter2 for Position
RobotKinematics:PositionAnalysis
(a) Cartesian (Gantry, Rectangular)
Coordinates
IBM 7565 robot
All actuator is linear.
A gantry robot is a Cartesian robot.

1 0 0 Px
0 1 0 Py
TP Tcart
R

0 0 1 Pz

0 0 0 1

Fig. 2.18 Cartesian Coordinates.


Forward and Inverse Kinematics Equations for
Chapter2
Position:
CylindricalRobotKinematics:PositionAnalysis
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
R
TP Tcyl (r , , l ) Trans(0,0, l )Rot( z , )Trans(r ,0,0)

cosine
C S 0 rC
S C 0 rS
R
TP Tcyl
0 0 1 l
sine
0 0 0 1
Fig. 2.19 Cylindrical Coordinates.
Forward and Inverse Kinematics Equations for
Chapter2
Position
(c) Spherical Coordinates
RobotKinematics:PositionAnalysis

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


R

C C S S C rS C
C S C S S rS S
TP Tsph
R

S 0 C rC

0 0 0 1
Fig. 2.20 Spherical Coordinates.
Forward and Inverse Kinematics Equations for
Chapter2
Position
(d) Articulated Coordinates
RobotKinematics:PositionAnalysis

3 rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated


Coordinates.
Forward and Inverse
Chapter2 Kinematics
Equations for Orientation
RobotKinematics:PositionAnalysis

Roll, Pitch, Yaw (RPY) angles


Euler angles
Articulated joints
Forward and Inverse Kinematics Equations for
Chapter2
Orientation
(a) Roll, Pitch, Yaw(RPY) Angles
RobotKinematics:PositionAnalysis

Roll: Rotation of a about -axis (z-axis of the moving frame)


a
Pitch: Rotation of o about o -axis (y-axis of the moving frame)
Yaw: Rotation of n about n -axis (x-axis of the moving frame)

Fig. 2.22 RPY rotations about the


current axes.
Forward and Inverse Kinematics Equations for
Chapter2
Orientation
(b) Euler Angles
RobotKinematics:PositionAnalysis

Rotation of about a-axis (z-axis of the moving frame) followed by


Rotation of about o -axis (y-axis of the moving frame) followed by
Rotation of about a-axis (z-axis of the moving frame).

Fig. 2.24 Euler rotations about


the current axes.
Forward and Inverse
Chapter2 Kinematics Equations
for Orientation
RobotKinematics:PositionAnalysis

Roll, Pitch, Yaw(RPY) Angles

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

R
TH Tcart ( Px , Py , Pz ) RPY (a , o , n )
Assumption : Robot is made of a Spherical Coordinate and an Euler angle.

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

Another Combination can be possible

Denavit-Hartenberg Representation
Forwardand
Inverse
Transformations
forrobotarms
INVERSE OF TRANSFORMATION MATRICES
Steps of calculation of an Inverse matrix:
1. Calculate the determinant of the matrix.
2. Transpose the matrix.
3. Replace each element of the transposed matrix by its own minor
(adjoint matrix).
4. Divide the converted matrix by the determinant.

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


effecter frames.
Identity
Transformations
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


HowtofindanInverseMatrixBof
matrixA?
InverseHomogeneous
Transformation
HomogeneousCoordinates
Homogeneouscoordinates: embed3D
vectorsinto4Dbyaddinga1
Moregenerally,thetransformationmatrixT
hastheform:
Rot. Matrix Trans. Vector
T
Perspect. Trans. Scaling Factor
a11 a12 a13 b1
a21 a22 a23 b2
It is presented in more
a31 a32 a33 b3 detail on the WWW!
c1 c2 c3 sf
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
Forwardand
InverseKinematics:
SingleLinkExample
ForwardandInverseKinematics:
SingleLinkExample

easy
Denavit
Hartenberg
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,
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
Chapter2
Symbol Terminologies :
RobotKinematics:PositionAnalysis

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


associated with
Zi always

Links are in 3D,


any shape
Only rotation Only translation Only offset

Only offset Only rotation Axis alignment


DENAVIT-
HARTENBERG
REPRESENTATION
for each link
4linkparameters
DENAVIT-HARTENBERG REPRESENTATION
Chapter2
Symbol Terminologies :
RobotKinematics:PositionAnalysis

: 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 Y2 The DH
Revolute Joints
Z0 Z1 Parameter
Table
X2
d2
X0 X1

Y0 Y1 Denavit-Hartenberg Link
Parameter Table
a0 a1
Apply first Apply last

i (i-1 ) a (i-1 ) di i

0 0 0 0 0

1 0 a0 0 1

2 -9 0 a1 d2 2
DenavitHartenberg Representationof
JointLinkJointTransformation
Notation forDenavitHartenberg
RepresentationofJointLinkJoint
Transformation

Alpha applied
first
FourTransformationsfromoneJointtotheNext
Orderofmultiplicationofmatricesisinverseoforderofapplyingthem
Hereweshoworderofmatrices

Joint-Link-Joint
Denavit
Hartenberg
Representation
ofJointLink
Joint
Transformation
Alpha
is
applied
first

How to
create a
single
matrix A n
EXAMPLE:DenavitHartenberg
Final
matrix RepresentationofJointLinkJoint
from TransformationforType1Link
previous
slide

substitute

substitute

Numeric or
symbolic
matrices
cos i sin i 0 a(i 1)
The Denavit- sin cos cos i cos (i 1) sin (i 1) sin (i 1) d i
(i 1)
Hartenberg Matrix for
i

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



another link type 0 0 0 1

Similarity to 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) Y Zi
i X a
a(i - 1 d
Put the transformation here X(i -1)
)
i i
i

for every link (i


- 1)
i
1. In DENAVIT-
HARTENBERG
REPRESENTATION we
must be able to find
parameters for each link
2. So we must know link types
Linksbetween
revolute joints
Type3Link

Joint n+1

xn

Link n
ln=0
dn=0

Joint n

xn-1
n-1

Type4
Joint n+1
Link
Link n
ln=0
Part of dn=0
dn-1

Joint n
n
xn
xn-1 yn-1 Originscoincide
Linksbetween
prismatic
joints
Forward andInverse
Transformationson
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


skew lines.

3. 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
Chapter2
Symbol Terminologies Reminder:
RobotKinematics:PositionAnalysis

: 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
Chapter2
The necessary motions to transform from
RobotKinematics:PositionAnalysis

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