Você está na página 1de 88

Robot Kinematics

Basic Robot Configurations:

Cartesian: PPP

Cylindrical: RPP

Spherical: RRP

Hand coordinate:
Articulated: RRR

SCARA: RRP
(Selective Compliance Assembly Robot Arm)

n: normal vector; s: sliding vector;


a: approach vector, normal to the
tool mounting plate

Robot Kinematics
Definition:
the analytical study of the geometry of motion of a robot
arm:
with respect to a fixed reference co-ordinate system
without regard to the forces or moments that cause
the motion.

Motion is composition of elementary


motions for each link

Terminology:
Workspace: volume of space which can be reached by the
end effector
Dextrous workspace: volume of space where the end
effector can be arbitrarily oriented
Reachable workspace: volume of space which the robot can
reach in at least one orientation

Objective:
To derive a method to compute the position
and orientation of the manipulators endeffector relative to the base of the
manipulator as a function of the joint
variables.

Degrees of Freedom
The degrees of freedom of a rigid body is defined as
the number of independent movements it has.

The number of :
Independent position variables
needed to locate all parts of the
mechanism,
Different ways in which a robot
arm can move,
Joints
Humans have 4 DOF for each fingers. The human finger has 3 joints

DOF of a Rigid Body


In a plane

In space

Degrees of Freedom
3D Space = 6 DOF

3 position
3 orientation

In robotics:
DOF = number of independently driven joints

positioning accuracy
As DOF
computational complexity
cost
flexibility
power transmission is more difficult

Robot Links and Joints


A manipulator may be thought of as a set of
bodies (links) connected in a chain by joints.

In open kinematics chains (i.e. Industrial Manipulators):

{No of D.O.F. = No of Joints}

The Six Possible Lower Pair Joints

Higher Pair
A higher pair joint is one which contact
occurs only at isolated points or along a
line segments

Robot Joints
Revolute Joint
1 DOF ( Variable - )

Spherical Joint
3 DOF ( Variables - 1, 2, 3)

Prismatic Joint
1 DOF (linear) (Variables - d)

Types of Kinematics
1. Forward/Direct kinematics
z

Given joint variables


q (q1 , q2 , q3 , q4 , q5 , q6 ,qn )

Y ( x, y, z, O, A, T )
End-effector position and orientation, -Formula?

y
x

2. Inverse kinematics
End effector position
and orientation

( x, y, z, O, A, T )

q (q1 , q2 , q3 , q4 , q5 , q6 ,qn )

Joint variables -Formula?

Forward Kinematics

Joint space

Inverse Kinematics

Cartesian space

Where am I

Cartesian space
Where should I be

Joint space

Robot Reference Frames


WF is a universal coordinate frame.
JF is used to specify movements of each
individual joint of the robot.

World frame
Joint frame
Tool frame

HF specifies movements of the robots hand


relative to a frame attached to the hand

z
z

y
x
y

T
x

Vector Algebra
Properties:

Dot Product

Let x and y be arbitrary vectors in R 3 and be the angle


from x to y , then

x y x y cos
Properties of orthonormal coordinate frame
Mutually perpendicular


i j 0

i k 0

k j 0

Unit vectors

| i | 1

| j | 1

| k | 1

2.3 MATRIX REPRESENTATION

2.3.1 Representation of a Point in 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

2.3.2 Representation of a Vector in Space


A Vector P in space :

3 coordinates of its tail and of its head


__

P a x i by j c z k

Fig. 2.4 Representation of a vector in space

x
y
__
P
z

w

2.3.3 Representation of a Frame at the Origin of a 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

2.3.4 Representation of a Frame in a Fixed Reference 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

ax
ay

oz
0

az
0

Px

Py
Pz

2.3.5 Representation of a Rigid Body


An object can be represented in space by attaching a frame
to it and representing the frame in space.

nx
n
y
Fobject
nz

0
Fig. 2.8 Representation of an object in space

ox a x Px

o y a y Py
oz a z Pz

0 0 1

2.4 HOMOGENEOUS TRANSFORMATION MATRICES


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 a x Px

o y a y Py
oz a z Pz

0 0 1

2.5 REPRESENTATION OF TRANSFORMATINS

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.

2.5.1 Representation of a Pure Translation

1
0
T
0

0
Fig. 2.9 Representation of an pure translation in space

0 0 dx

1 0 dy
0 1 dz

0 0 1

2.5.2 Representation of a Pure Rotation about an Axis


Assumption : The frame is at the origin of the reference frame and parallel to
it.

Fig. 2.10 Coordinates of a point in a rotating

frame before and after rotation.

Fig. 2.11 Coordinates of a point relative to the reference

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

Basic Rotation Matrices

Rotation about x-axis with

Rotation about y-axis with

1 0
Rot ( x, ) 0 C
0 S

C
Rot ( y, ) 0
S

Rotation about z-axis with

Pxyz RPuvw

C
Rot ( z, ) S
0

0
S
C

S
0
0 C

0
1

S
C
0

0
0
1

2.5.3 Representation of Combined Transformations


A number of successive translations and rotations.

Rz(90)

RY(90)

P(2,7,3)

Rz(90)

T(4,-3,7)

RY(90)

T(4,-3,7)

P(2,7,3)
Fig. 2.13 Effects of three successive transformations
Fig. 2.14 Changing the order of transformations will

change the final result

2.5.5 Transformations Relative to the Rotating Frame


Example 2

Fig. 2.15 Transformations relative to the current frames.

Example 1
A point auvw (4,3,2) is attached to a rotating frame,
the frame rotates 60 degree about the OZ axis of
the reference frame. Find the coordinates of the
point relative to the reference frame after the
rotation.

a xyz Rot ( z,60)auvw


0.5 0.866 0 4 0.598

0.866
0.5
0 3 4.964
0
0
1 2 2

Example 2
A point axyz (4,3,2) is the coordinate w.r.t.
the reference coordinate system, find the
corresponding point auvw w.r.t. the rotated
OU-V-W coordinate system if it has been
rotated 60 degree about OZ axis.

auvw Rot ( z ,60) a xyz


T

0.866 0 4 4.598
0.5

0.866 0.5 0 3 1.964


0
0
1 2 2

Combined Transformations

A sequence of finite rotations

Matrix multiplications do not commute


Rules:
if rotating coordinate O-U-V-W is rotating about

principal axis of OXYZ frame, then Pre-multiply the


previous (resultant) rotation matrix with an
appropriate basic rotation matrix
if rotating coordinate OUVW is rotating about its own
principal axes, then post-multiply the previous
(resultant) rotation matrix with an appropriate basic
rotation matrix

Example 3
Find the rotation matrix for the following operations:

Rotation about OY axis


Rotation about OW axis
Rotation about OU axis
Answer ...

R Rot ( y, ) I 3 Rot ( w, ) Rot (u, )


C 0
0 1
- S 0
CC
S
SC

S C S
0 S C
C 0
0
SS CSC
CC

0 1 0
0
0 0 C S
1 0 S C
CSS SC

CS

SSC CS CC SSS

Pre-multiply if rotate about the OXYZ axes


Post-multiply if rotate about the OUVW axes

Example 4
Find the homogeneous transformation matrix (T)
for the following operations:
Rotation about OX axis
Translation of a along OX axis
Translation of d along OZ axis
Rotation of about OZ axis
Answer :
C S
S C

0
0

0
0

T Tz , Tz ,d Tx,aTx, I 44
0 0 1
0 0 0
1 0 0

0 1 0

0 0 0 1
1 0 0 0
0 1 d 0

0 0 1 0

0 0 a 1 0
0
1 0 0 0 C S
0 1 0 0 S C

0 0 1 0 0
0

0
0
0

Example 5

Can you find the answer by observation based on the geometric interpretation
of homogeneous transformation matrix?

Cartesian (Gantry, Rectangular) Coordinates Robot

All are Linear translations

TP Tcart

Fig. 2.18 Cartesian Coordinates.

1
0

0 0 Px

1 0 Py
0 1 Pz

0 0 1

Cylindrical Coordinate Robot


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)

Fig. 2.19 Cylindrical Coordinates.

C S 0 rC
S C 0 rS
R

TP Tcyl
0
0 1 l

0
0
0
1

Spherical Coordinate Robot


2

Rotations and 1 Translation


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

C C S S C rS C
C S C S S rS S
R

TP Tsph
S
0
C
rC

0
0
1
0

Articulated Robot
3

rotations -> Denavit-Hartenberg representation

Fig. 2.21 Articulated Coordinates.

Fig. 2.21 Articulated Coordinates.

Orientation Representation
Euler Angles Representation ( , , )

Many different types


Description of Euler angle representations
Euler Angle I

of

Rotations

about OW axis

Sequence

about OZ axis
about OU axis

Euler Angle II

Roll-Pitch-Yaw

about OZ axis
about OV axis

about OX axis

about OY axis

about OW axis

about OZ axis

Euler Angle I

Sequence of Rotations
about OZ axis
about OU axis

w'=z
w'"=
w"

about OW axis

v'"
v "
v'
y
u'"

u'=u"
x

Euler Angle I
cos

Rz sin
0

Rw''

sin
cos
0

0
0
1

0 , Ru ' 0 cos
0 sin
1

cos sin 0

sin cos 0
0

0
1

sin ,
cos

Euler Angle I
Resultant eulerian rotation matrix:

R Rz Ru ' Rw''
cos cos

sin sin cos

sin cos
cos sin cos

sin sin

cos sin
sin cos cos
sin sin
cos cos cos
cos sin

sin sin

cos sin

cos

Orientation Representation
Description of Roll Pitch Yaw
Roll: Rotation of about a -axis (z-axis of the moving frame)
Pitch: Rotation of about o -axis (y-axis of the moving frame)
Yaw: Rotation of about n -axis (x-axis of the moving frame)

Resultant Rotation matrix ?

The Denavit-Hartenberg
(D-H) Representation

Link
A link is considered as a rigid body which
defines the relationship between two
neighboring joint axes of a manipulator.z zn+1n
zn

an

n+1

xn
Link n
Joint n+1
Joint n

x n+1
xn

The Kinematics Function of a Link


The kinematics
function of a link is to
maintain a fixed
relationship between
the two joint axes it
supports.
This relationship can
be described with
two parameters: the
link length a, the link
twist

Link and Joint Parameters


4 parameters are associated with each link. You
can align the two axis using these parameters.
Link parameters:

a0
n

the length of the link.


the twist angle between the joint axes.

Joint parameters:
n the angle between the links.
dn the distance between the links

Link Parameters

Axis i

Axis i1

i-1

Link Length (a) and Link Twist ()

Joint Parameters
A joint axis is established at the connection of two links.
This joint will have two normals connected to it one for
each of the links.
The relative position of two links is called link offset dn
which is the distance between the links (the
displacement, along the joint axes between the links).
The joint angle n between the normals is measured in a
plane normal to the joint axis.

Link and Joint Parameters


Link Length (a) & Link Twist (a)
Link offset (dn ) & Joint angle (qn )

Axis i
Axis i-1

i-1

di

Link Connection Description:


For Revolute Joints: a, , and d.
are all fixed, then i is the.
Joint Variable.

For Prismatic Joints: a, , and .


are all fixed, then di is the.
Joint Variable.
These four parameters: (Link-Length ai-1), (Link-Twist i-1(, (Link-Offset di),
(Joint-Angle i) are known as the Denavit-Hartenberg Link Parameters.

Links Numbering Convention


Base of the arm: Link-0
1st moving link: Link-1
.
.
.
.
.
.
Last moving link Link-n

Link 2

Link 1

1
Link 0

A 3-DOF Manipulator Arm

3 Link 3

First and Last Links in the Chain


a0= n=0.0
0= n=0.0
If joint 1 is revolute: d0= 0 and 1 is arbitrary
If joint 1 is prismatic: d0= arbitrary and 1 = 0

Affixing Frames to Links


In order to describe the location of each link
relative to its neighbors we define a frame
attached to each link.
The Z axis is coincident with the joint axis i.
The origin of frame is located where ai
perpendicular intersects the joint i axis.
The X axis points along ai( from i to i+1).
If ai = 0 (i.E. The axes intersect) then Xi is
perpendicular to axes i and i+1.

The Y axis is formed by right hand rule.

Affixing Frames to Links


First and last links
Base frame (0) is arbitrary

Make life easy


Coincides with frame {1} when joint parameter is 0

Frame {n} (last link)

Revolute joint n:
Xn = Xn-1 when n = 0
Origin {n} such that dn=0

Prismatic joint n:
Xn such that n = 0
Origin {n} at intersection of joint axis n and Xn when dn=0

Affixing Frames to Links


Joint n

Joint n-1

Link n

Joint n+1

Link n-1

zn

zn-1

xn

yn-1

an-1
xn-1

zn+1

dn

yn

an

xn+1
yn+1

Affixing Frames to Links


Note: assign link frames so as to cause as many link
parameters as possible to become zero!
The reference vector z of a link-frame is always on a joint
axis.
The parameter di is algebraic and may be negative. It is
constant if joint i is revolute and variable when joint i is
prismatic.
The parameter ai is always constant and positive.
a i is always chosen positive with the smallest possible
magnitude.

The Kinematics Model


The robot can now be kinematically modeled by
using the link transforms ie:

T T1T2T3 Ti Tn

0
n

Where
0 T is the pose of the end-effector relative to
n
base;
Ti is the link transform for the ith joint;
and
n is the number of links.

The Denavit-Hartenberg (D-H)


Representation
In the robotics literature, the DenavitHartenberg (D-H) representation has been
used, almost universally, to derive the
kinematic description of robotic
manipulators.

The Denavit-Hartenberg (D-H) Representation


The appeal of the D-H representation lies in
its algorithmic approach.
The method begins with a systematic
approach to assigning and labeling an
orthonormal (x,y,z) coordinate system to
each robot joint. It is then possible to relate
one joint to the next and ultimately to
assemble a complete representation of a
robot's geometry.

Denavit-Hartenberg
Parameters
Axis i
i

Axis i1
di

i-1

The Link Parameters


ai = the distance from zi to zi+1.
measured along xi.

i = the angle between zi and zi+1.


measured about xi.
di = the distance from xi-1 to xi.
measured along z i.
i = the angle between xi-1 to xi.
measured about z i

General Transformation Between


Two Bodies
In D-H convention, a general transformation
between two bodies is defined as the product
of four basic transformations:
A translation along the initial z axis by d,
A rotation about the initial z axis by ,
A translation along the new x axis by a, and.
A rotation about the new x axis by .

A General Transformation in D-H


Convention
D-H transformation for adjacent coordinate
frames:

i 1
i

Tz , Tz ,d Tx,aTx, I 44

Denavit-Hartenberg Convention
D1. Establish the base coordinate system. Establish a right-handed
orthonormal coordinate system ( X 0 , Y0 , Z 0 ) at the supporting base
with Z 0 axis lying along the axis of motion of joint 1.
D2. Initialize and loop Steps D3 to D6 for I=1,2,.n-1
D3. Establish joint axis. Align the Zi with the axis of motion (rotary
or sliding) of joint i+1.
D4. Establish the origin of the ith coordinate system. Locate the
origin of the ith coordinate at the intersection of the Zi & Zi-1 or at
the intersection of common normal between the Zi & Zi-1 axes and
the Zi axis.
D5. Establish Xi axis. Establish X i (Zi1 Zi ) / Zi 1 Zi
or along
the common normal between the Zi-1 & Zi axes when they are
parallel.
D6. Establish Yi axis. Assign Yi (Zi X i ) / Zi X i
to complete
the right-handed coordinate system.

Denavit-Hartenberg Convention
D7. Establish the hand coordinate system
D8. Find the link and joint parameters : d,a,,

D-H transformation for adjacent coordinate


frames:
i 1

Tz , Tz ,d Tx,aTx, I 44

Example
Z3

Z1

Z0
Y0

Joint 3

O3

Y1

X3

d2
Joint 1

O0 X0

Joint 2

O1 X1 O2 X2
Y2

a0

a1
Joint i

ai

di

a0

-90

a1

d2

Example
Ti i 1

C i
S
i
0

C i S i
C i C i

S i S i
S i C i

S i
0

C i
0

T03 (T 01)(T 21)(T 23)

ai C i
ai S i
di

Example

Joint i

ai

di

a0

-90

a1

d2

cos 0

1 sin 0
T 0
0

0
cos1

2 sin1
T 1
0

cos 2
sin
2
T 23
0

sin 0
cos 0
0
0

0 a0 cos 0
0 a0 sin 0
1
0

0
1

0
0

sin 1
cos 1

1
0

0
0

sin 2
cos 2
0
0

a1 cos 1
a1 sin 1
0

0
0
1 d2

0 1
0
0

Example (3.3):
Link Frame Assignments

Example (3.3):
c1
s c
1
0
0

1
s1s 0

0
c 2
s
2
1

2
0

s1
c1c 0
c1s 0
0

s 2
c 2
0
0

0
s 0
c 0
0

0 L1
0 0
1 0

0 1

a0 c1 s1
s 0 d1 s1 c1

c 0 d1 0
0

1 0
0
c3
s
3
2

3
0

s3 0 L2
c3 0 0
0
1 0

0
0 1

0
0
1
0

0
0
0

Example (3.3):

c123 s123 0.0 l1c1 l2 c12


s

c
0
.
0
l
s

l
s
123
123
1 1
2 12
B
0

.
W
3
0.0 0.0 1.0
0.0

0
0
0
1

Example:SCARA Robot

Example:SCARA Robot
The location of the sliding axis Z2 is arbitrary, since it is a
free vector. For simplicity, we make it coincident with Z3 .
thus 2 and d2 are arbitrarily set.
The placement of O3 and X3 along Z3 is arbitrary, since
Z2 and Z3 are coincident. Once we choose O3, however,
then the joint displacement d3 is defined.
We have also placed the end link frame in a convenient
manner, with the Z4 axis coincident with the Z3 axis and
the origin O4 displaced down into the gripper by d4.

Example: Puma 560

Example: Puma 560


Joint i

-90

d2

a2

d3

4
5

4
5

90
-90

a3
0

d4
0

ai(mm) di(mm)

Fore arm of a PUMA


d4

x4

x3
a3

y3

z4
x6

x5
y5

Spherical joint

z6

Example: Puma 560


Different Configuration

Link Coordinate Parameters


PUMA 560 robot arm link coordinate parameters

Joint i

-90

431.8 149.09

90

-20.32

4
5

4
5

-90
90

0
0

433.07
0

56.25

ai(mm) di(mm)
0

Example: Puma 560

Example: Puma 560

The Tool Transform


A robot will be frequently picking up objects or tools.
Standard practice is to to add an extra homogeneous
transformation that relates the frame of the object or
tool to a fixed frame in the end-effector.

Kinematic Calibrations
How one knows the DH parameters?
Certainly when robots are built, there are design
specifications. Yet due to manufacturing tolerances,
these nominal parameters will not be exact.
The process of kinematic calibration determines
these nominal parameters experimentally.
Kinematic calibration is typically accomplished
with an external metrology system, although
alternatives that do not require a metrology system
exist.

Thank You

baburao@karunya.edu / 9790604475