You are on page 1of 71

Manipulator Dynamics

Amirkabir University of Technology


Computer Engineering & Information Technology Department

Introduction
Robot arm dynamics deals with the
mathematical formulations of the
equations of robot arm motion.
They are useful as:

An insight into the structure of the robot


system.
A basis for model based control systems.
A basis for computer simulations.

Equations of Motion
The way in which the motion of the
manipulator arises from torques
applied by the actuators, or from
external forces applied to the
manipulator.

Forward and Inverse


Dynamics
, and
,
Given a trajectory point, ,
find the required vectors of joint torques,

: problem of controlling the manipulator


Given a torque vector, ,
calculate the resulting motion of the manipulator,
, and
.
,
: problem of simulating the manipulator

Two Approaches
Energy based: Lagrange-Euler.
Simple and symmetric.
Momentum/force approach:NewtonEuler.
Efficient, derivation is simple but
messy, involves vector cross
product. Allow real time control.

Newton-Euler Algorithm
Newton-Euler method is described
briefly below. The goal is to provide
a big picture understanding of
these methods without getting lost
in the details.

Newton-Euler Algorithm
Newton-Euler formulations makes
two passes over the links of
manipulator
Velocities,
Acceleratio
ns

Gravity

Forces, moments

Newton-Euler Algorithm
Forward computation

First compute the angular velocity, angular


acceleration, linear velocity, linear acceleration of
each link in terms of its preceding link.
These values can be computed in recursive manner,
starting from the first moving link and ending at the
end-effector link.
The initial conditions for the base link will make the
initial velocity and acceleration values to zero.

Newton-Euler Algorithm
Backward computation

Once the velocities and accelerations of the


links are found, the joint forces can be
computed one link at a time starting from the
end-effector link and ending at the base link.

Differentiation of position
vectors
Derivative of a vector:

dB
Q(t t ) Q(t )
VQ Q lim
t 0
dt
t

We are calculating the derivative


of Q relative to frame B.

Differentiation of position
vectors

A velocity vector may be


described in terms of anyAframe:
d

A B

We may write it:

VQ R VQ .

A B

A
B

VQ

dt

Speed vector is a free vec

Special case: Velocity of the origin of a frame


relative to some understood universe reference
U
frame

V C V CORG

Example 5.1
Both vehicles
are heeding in
X direction of
U

100 mph
A fixed universal frame

30 mph
U

dU
PCORG U VCORG vC 30 X .
dt
C U
( VTORG )C vT UC RvT UC R (100 X )CU R 1100 X .
( VCORG )TC RT VCORG UC RUT RT VCORG CU R 1UT R 70 X .

C T


Angular velocity vector:

Linear velocity attribute of a poi

Angular velocity attribute of a bod


Since we always attach a
frame to a body we can
consider angular velocity as
describing rational motion
of a frame.


Angular velocity vector:
A

B describes the rotation of frame {B} relative to {A}

direction of B
indicates instantaneous axis
of rotation
A

B
Magnitude of
indicates speed of rotation
A

In the case which there is an


understood reference frame:
U

C C

Linear velocity of a rigid


body
We wish to describe motion
of {B} relative to frame {A}

A
B

If rotation R
is not changing with time:

VQ VBORG R VQ .

A
B

Rotational velocity of a rigid


body
Two frames with coincident origins
The orientation of B

with respect to A is
changing in time.
A

Lets consider that


vector Q is constant
as viewedBVfrom
B.
Q 0

{B}

{A}
B

Rotational velocity of a rigid


body
|Q| Is
A
A
perpendicular
B
Q
to
and
Magnitude of
differential change is:
A
A

(|
Q
|
sin

)(|
B | t )
|Q|

AVQ A B A Q

Vector cross
product

Rotational velocity of a rigid


body

In general case: AVQ A ( B VQ ) A B A Q

VQ R VQ B R Q.

A
B

A
B

Simultaneous linear and


rotational velocity
VQ VBORG R VQ B R Q.

A
B

A
B

We skip 5.4!

Motion of the Links of a


Robot
Written in frame i

At any instant, each link of a robot in motion has some linear and
angular velocity.

Velocity of a Link
Remember that linear velocity is
associated with a point and angular
velocity is associated with a body. Thus:
The velocity of a link means the linear
velocity of the origin of the link frame
and the rotational velocity of the link

Velocity Propagation From Link to


Link
We can compute the velocities of each
link in order starting from the base.
The velocity of link i+1 will be that of
link i, plus whatever new velocity
component added by joint i+1.

Rotational Velocity
Rotational velocities may be added when
both w vectors are written with respect to
the same frame.
Therefore the angular velocity of link i+1
is the same as that of link i plus a new
component caused by rotational velocity
at joint i+1.

Velocity Vectors of Neighboring


Links

i 1

i1 i Ri1 Z i1.

i
i 1

Velocity Propagation From Link to


Link
i 1

Note that:

i 1

i 1

Z i 1

i 1

By premultiplying both sides of previous


equation to:i 1 R
i

i 1
i

i 1

R i 1 R i R R i 1 Z i 1.
i 1
i

i 1
i

i
i 1

i 1

i 1 R i i 1 Z i 1.

i 1

i 1
i

Linear Velocity
The linear velocity of the origin of frame
{i+1} is the same as that of the origin of
frame {i} plus a new component caused
by rotational velocity of link i.

Linear Velocity
Simultaneous linear and rotational
A
A
A B
A
A B
velocity:
V V
R V R Q.
Q

BORG

vi 1 vi i Pi 1.
i

By premultiplying both sides of previous


equation to:i 1 R
i

i 1
i

R vi 1 R ( vi i Pi 1 ).

i 1

vi 1 R ( vi i Pi 1 ).

i 1
i

i 1
i

Prismatic Joints Link


For the case that joint i+1 is prismatic:

i 1 R i ,

i 1

i 1
i

i 1

vi 1 R ( vi i Pi 1 ) di 1 Z i 1.

i 1

i 1
i

Velocity Propagation From Link to


Link
Applying those previous equations
successfully from link to link, we can
compute the rotational and linear
velocities of the last link.

Example 5.3
Calculate the
velocity of the tip
of the arm as a
function of joint
rates?

A 2-link manipulator with rotational joints

Example 5.3
Frame assignments for the two
link manipulator

Example 5.3
We compute link transformations:
c1
s
1
0

1
0

s1
c1
0
0

0
0
1
0

0
0
,
0

c2
s
2
1

2
0

s2
c2
0
0

0
0
1
0

l1
0
,
0

1
0
2

3T
0

0
1
0
0

0 l2
0 0
.
1 0

0 1

Example 5.3
Link to link transformation
0
1
1 0 ,
1

0
1
v1 0 ,
0

0
0 ,
1 2

c2
2
v2 s2
0

3 2 ,

v3

s2
c2
0

0
0
1

0 l1s21
l l c ,
1 1 1 2 1
0 0

l1s21
l1s2

l1c21 l2 (1 2 )
l1c2 l2

0
l2

1
.
2

Example 5.3
Velocities with respect to
non moving base
0
3

R 10 R

1
2

c12
s
2
R

3
12
0

s12
c12
0

0 .
1

l1s11 l2 s12 (1 2 )

l1s1 l2 s12
0
0 3

v3 3 R v3 l1c11 l2 c12 (1 2 )
l1c1 l2 c12

l2 s12

l2 c12

1
.

Derivative of a Vector
Function
If we have a vector function r
which represents a particles
position as a function of time t:

r rx

ry

dr drx

dt dt

rz

dry
dt

drz

dt

Vector Derivatives
Weve seen how to take a
derivative of a vector vs. A scalar
What about the derivative of a
vector vs. A vector?

Acceleration of a Rigid
Body
Linear and angular accelerations:

VQ (t t ) VQ (t )
dB

VQ VQ lim
,
t 0
dt
t
A
A
d

(
t

t
)

B (t )
A
A
B
B
B lim
.
t 0
dt
t
B

Linear Acceleration
VQ BAR BVQ A B BA R BQ.

: origins are coincident.

d A B
( B R Q) BAR BVQ A B BA R BQ.
dt

: re-write it
as.

d A B
d A B
A
A B
A

VQ ( B R VQ ) B B R Q B ( B R Q) : by differentiating.
dt
dt
A R BQ A ( AR BV A A R BQ)
BAR BVQ A B BA R BVQ A
B B
B
B
Q
B B
A R BQ A ( A A R BQ).
AR BV 2 A A R BV A
A

Linear Acceleration
the case in which the origins are not coincident

AR BQ
VQ AVBORG BAR BVQ 2 A B BA R BVQ A
B B

B ( B R Q ).
A

VQ VQ 0.

A
B

: when

is constant

AR BQ.
VQ AVBORG A B ( A B BA R BQ) A
B B

: the linear acceleration of the links of a manipulator with


rotational joints.

Angular Acceleration
B is rotation relative to A and C is rotating relative to B
A

C A B BAR B C .

A
d AR B .
C
B
B
C
dt
AR B
A AR B .
A
B B
C
B B
C

: the angular acceleration of the links of a manipulator.

Inertia
If a force acts of a body, the body will
accelerate. The ratio of the applied force to the
resulting acceleration is the inertia (or mass) of
the body.
If a torque acts on a body that can rotate freely
about some axis, the body will undergo an
angular acceleration. The ratio of the applied
torque to the resulting angular acceleration is
the rotational inertia of the body. It depends not
only on the mass of the body, but also on how
that mass is distributed with respect to the axis.

Mass Distribution

Inertia tensor- a generalization of the scalar moment of inertia


of an object

Moment of Inertia
The moment of inertia of a solid body with density (r )
w.r.t. a given axis is defined by the volume integral

I (r )r 2 dv,
where r is the perpendicular distance from the axis of
rotation.

Moment of Inertia
This can be broken into components as:

I jk mi ri 2 jk xi , j xi ,k
i

for a discrete
distribution of mass

I jk (r ) r jk x j xk dV
V

y2 z2

I ( x, y, z ) xy
V
xz

for a continuous
distribution of mass

xz

xy
z x
yz
2

yz dxdydz.
x 2 y 2

Moment of Inertia
The inertia tensor relative to frame {A}:
I xx I xy I xz

A
I I xy I yy I yz ,
I xz I yz I zz

Mass moments of inertia

x
x

z dv,
y dv,

I xx y 2 z 2 dv,
V

I yy
I zz

Mass products of inertia

I xy xydv, I xz xzdv, I yz yzdv.


V

Moment of Inertia
If we are free to choose the orientation of
the reference frame, it is possible to cause
the products of inertia to be zero.
Principal axes.
Principal moments of inertia.

Example 6.1

{C}

m 2
2
l

h
3

m
A
I wl
4

m hw

m 2 2
12 h l
C

m
wl
4

m 2
w h2
3
m
hl
4

m 2
l w2

0
m 2
w h2
12

m
hw
4
m
hl
4

m 2
l w2

12

Parallel Axis Theorem


Relates the inertia tensor in a frame with
origin at the center of mass to the inertia
tensor w.r.t. another reference frame.

I zz C I zz m xc2 yc2 ,

I xy C I xy mxc yc ,

I C I m PCT PC I 3 PC PCT .

Measuring the Moment of


Inertia of a Link
Most manipulators have links whose geometry and
composition are somewhat complex. A pragmatic
option is to measure the moment of inertia of each link
using an inertia pendulum.
If a body suspended by a rod is given a small twist
about the axis of suspension, it will oscillate with
angular harmonic motion, the period of which is given
I
by.
T 2
,

where k is the torsion constant of the suspending rod


, i.e., the constant ratio between the restoring torque
and the angular displacement.

Newtons Equation

F mv C
Force causing the acceleration

Eulers Equation

N I I
C

Moment causing the rotation

Iterative Newton-Euler
Dynamic Formulation
Outward iterations to compute velocities
and accelerations
The force and torque acting on a link
Inward iterations to compute forces and
torques

The Force Balance for a


Link

Fi if i

i
i 1

i 1

f i 1

The Torque Balance for a


Link

N i i ni i ni 1 ( i PCi )i f i ( i Pi 1 i PCi )i f i 1

Force Balance
Using result of force and torque balance:
i

N i i ni i 1i R

i 1

ni 1 i PCi i Fi i Pi 1i 1i R

i 1

f i 1

In iterative form:
i

f i i Fi i 1iR

ni i N i i 1iR

i 1

f i 1

i 1

ni 1 iPCi i Fi iPi 1i 1i R

i 1

f i 1

The Iterative Newton-Euler


Dynamics Algorithm
1st step:
Link velocities and accelerations are iteratively
computed from link 1 out to link n and the NewtonEuler equations are applied to each link.
2nd step:
Forces and torques of iteration and joint actuator
torques are computed recursively from link n back to
link 1.

Outward iterations
i:0 5
i 1

i1 R i i 1 Z i1 ,
i 1
i1R i i 1R i
i 1

i 1
i

i 1

i 1

Zi1 i1 i1Zi1 ,

i 1

vi 1 i i1R i i i Pi1 ii (ii i Pi 1 ) iv i ,

i 1

vCi1 i 1 i 1i1PCi1 i1i1

i 1

i 1 PCi1 v i1 ,

i 1

i 1

i 1

Fi1 mi 1 i 1v Ci1 ,

i 1

N i 1 I i1 i 1 i1 I i 1 i1i1.
Ci 1

i 1

i 1

Ci 1

i 1

Inward iterations
i : 6 1
i

f i i 1iR i1f i 1 iFi ,

ni iN i i1iR i 1ni1 iPCi i Fi iPi1i 1i R i 1f i1 ,

i n Zi .
i Ti
i

Inclusion of Gravity Forces


The effect of gravity loading on the links can be
included by setting 0 v G , where G is the
0
gravity vector.

The Structure of the


Manipulator Dynamic
Equations
V (,
) G () : state space equation
M ( )
M ( ) : n n
) : n 1
V (,

: mass matrix
: centrifugal and Coriolis terms
: gravity terms

G ( ) : n 1

B ()

C ( )
2 G () : configuration space
M ( )
B() : n n(n 1) / 2 : matrix of Coriolis coefficients

C ( ) : n n

: centrifugal coefficients
2 T

: n(n 1) / 2 1,

: n 1,
2

2
1

22

1 2 13 n1 n

Coriolis Force
A fictitious force exerted on a body when it
moves in a rotating reference frame.

FCoriolis 2m(v )

Lagrangian Formulation of
Manipulator Dynamics
An energy-based approach (N-E: a force
balance approach)
N-E and Lagrangian formulation will
give the same equations of motion.

Kinetic and Potential Energy


of a Manipulator
1
1 i T Ci i
T
ki mi vCi vCi i I i i ,
2
2
n

k ki .

Total kinetic energy of a manipulator

i 1

ui mi 0 g T 0 PCi uref i ,
n

u ui .
i 1

Total potential energy of a manipulator

Lagrangian
Is the difference between the kinetic and
potential energy of a mechanical system

) k (,
) u ().
L (,

The equations of motion for the


manipulator
d L L

dt
d k k u

dt
n 1 vector of actuator torque

Example 6.5

: variable

The center of mass of link 1 and link 2

Manipulator Dynamics in Cartesian Space


V (,
) G ()
M ()
V (,
) G ( )
F M x ( ) X
x
x

Joint space formulation


Cartesian space formulation

J TV (,
) J T G (),
J T J T M ()
J TV (,
) J T G (),
F J T M ()
J
X
J

X J
J 1 J
J 1 X

J T M () J 1 J
J TV (,
) J T G ().
F J T M () J 1 X

Expressions for the terms in the


Cartesian dynamics:
M x () J T () M () J T (),
) J T () V (,
) M () J 1 () J ()
,
V (,
x

Gx () J T ()G ().

The Cartesian configuration


space torque equation:

V (,
) G ( )
J T () M x () X
x
x
T
2

J () M x () X Bx () Cx () G (),
:Coriolis coefficients
Bx () : n n(n 1) / 2

: n(n 1) / 2 1,

C x ( ) : n n

2 : n 1,

12 13 n1n

:Centrifugal coefficients

2
2
2 T

1 2 n .

Dynamic Simulation:
(Euler Integration)
Simulation requires solving the dynamic
equation for acceleration

V (,
) G () F (,
)
M ( )

Nonrigid body effects: friction

M 1 () V (,
) G () F (,
)

0
( 0) ,
: Given initial conditions
0

We apply numerical integration to compute positions and velocities:

(t t )
(t )
(t )t ,

(t t ) (t ) (t )t (t )t 2 .
2

Next Course:
Trajectory Generation

Amirkabir University of Technology


Computer Engineering & Information Technology Department

You might also like