Anda di halaman 1dari 75

More details and examples on

robot arms and kinematics

Denavit-Hartenberg
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
Kinematics
Direct Kinematics
with no matrices

Where is my hand?

Direct Kinematics:
HERE!
Direct Kinematics
Position of tip in (x,y) coordinates
Direct Kinematics Algorithm
Often
1) Draw sketch sufficient for
2) Number links. Base=0, Last link = n 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-of-freedom Fig. 2.2 (a) Closed-loop versus (b)


closed-loop four-bar mechanism open-loop mechanism
Representation Chapter 2 of a Point in
RobotSpace
Kinematics: Position Analysis

A point P in space :
3 coordinates relative to a reference frame

^ ^ ^
P ax i by j cz k

Fig. 2.3 Representation of a point in space


Representation of
Chapter 2 a Vector in
Robot Space
Kinematics: Position Analysis

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
Chapter 2 Frame at the
Origin of aRobot
Fixed-Reference
Kinematics: Position Analysis 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
Chapter 2 a Frame in a
Fixed Reference
Robot Kinematics: PositionFrame
Analysis

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 2Rigid Body
Chapter
Robot Kinematics: Position Analysis

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
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 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
RepresentationChapter 2 of a Pure
Translation
Robot Kinematics: Position Analysis

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 Chapter 2 of a Pure
Rotation about
Robot Kinematics: an
Position Axis
Analysis

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

Order is
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 Chapter 2 Relative to
the Rotating Frame
Robot Kinematics: Position Analysis

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
Chapter 2
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 Analysis
Robot Kinematics: Position Position

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
EquationsChapter for 2 Position
Robot Kinematics: Position Analysis
(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
Chapter 2
Position:
CylindricalRobot
Coordinates
Kinematics: Position Analysis

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
Chapter
Position 2
(c)Kinematics:
Robot Spherical Coordinates
Position Analysis

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

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

C C S S C rS C
C S C S S rS S
R
TP Tsph
S 0 C rC

0 0 0 1
Fig. 2.20 Spherical Coordinates.
Forward and Inverse Kinematics Equations for
Chapter
Position 2
(d)Kinematics:
Robot Articulated
PositionCoordinates
Analysis

3 rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated


Coordinates.
Forward and Inverse
Chapter 2 Kinematics
Equations
Robot Kinematics:for Orientation
Position Analysis

Roll, Pitch, Yaw (RPY) angles


Euler angles
Articulated joints
Forward and Inverse Kinematics Equations for
Chapter
Orientation 2
(a) Roll,
Robot Pitch,
Kinematics: Yaw(RPY)
Position Analysis Angles

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
Chapter
Orientation 2
(b) Euler
Robot Kinematics: Angles
Position Analysis

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
Chapter 2 Kinematics Equations
for Orientation
Robot Kinematics: Position Analysis

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
Forward and
Inverse
Transformations
for robot arms
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


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 T
has the form:
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
Forward and
Inverse Kinematics:
Single Link Example
Forward and Inverse Kinematics:
Single Link Example

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


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
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 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 -90 a1 d2 2
Denavit-Hartenberg Representation of
Joint-Link-Joint Transformation
Notation for Denavit-Hartenberg
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
Denavit-
Hartenberg
Representation
of Joint-Link-
Joint
Transformation
Alpha
is
applied
first

How to
create a
single
matrix A n
EXAMPLE: Denavit-Hartenberg
Final
matrix Representation of Joint-Link-Joint
from Transformation for Type 1 Link
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 (i 1)
Hartenberg Matrix for 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
Put the transformation here X(i -1)
a(i - 1
)
d
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
Links between
revolute joints
Type 3 Link

Joint n+1

xn

Link n
ln=0
dn=0

Joint n

xn-1
n-1

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

Joint n
n
xn
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


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
Chapter 2
Symbol
RobotTerminologies Reminder:
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
ChapterREPRESENTATION
2
The necessary motions
Robot Kinematics: Positionto transform from
Analysis

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.

Anda mungkin juga menyukai