Beruflich Dokumente
Kultur Dokumente
Introduction
Robot arm dynamics deals with the
mathematical formulations of the
equations of robot arm motion.
They are useful as:
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.
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
Newton-Euler Algorithm
Backward computation
Differentiation of position
vectors
Derivative of a vector:
dB
Q(t t ) Q(t )
VQ Q lim
t 0
dt
t
Differentiation of position
vectors
A B
VQ R VQ .
A B
A
B
VQ
dt
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:
Angular velocity vector:
A
direction of B
indicates instantaneous axis
of rotation
A
B
Magnitude of
indicates speed of rotation
A
C C
A
B
If rotation R
is not changing with time:
VQ VBORG R VQ .
A
B
with respect to A is
changing in time.
A
{B}
{A}
B
(|
Q
|
sin
)(|
B | t )
|Q|
AVQ A B A Q
Vector cross
product
VQ R VQ B R Q.
A
B
A
B
A
B
A
B
We skip 5.4!
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
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.
i 1
i1 i Ri1 Z i1.
i
i 1
Note that:
i 1
i 1
Z i 1
i 1
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
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
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
Example 5.3
Calculate the
velocity of the tip
of the arm as a
function of joint
rates?
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.
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
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
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
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
x
x
z dv,
y dv,
I xx y 2 z 2 dv,
V
I yy
I zz
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
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 .
Newtons Equation
F mv C
Force causing the acceleration
Eulers Equation
N I I
C
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
Fi if i
i
i 1
i 1
f i 1
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
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
i 1
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
i n Zi .
i Ti
i
: 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.
k ki .
i 1
ui mi 0 g T 0 PCi uref i ,
n
u ui .
i 1
Lagrangian
Is the difference between the kinetic and
potential energy of a mechanical system
) k (,
) u ().
L (,
dt
d k k u
dt
n 1 vector of actuator torque
Example 6.5
: variable
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
Gx () J T ()G ().
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 ( )
M 1 () V (,
) G () F (,
)
0
( 0) ,
: Given initial conditions
0
(t t )
(t )
(t )t ,
(t t ) (t ) (t )t (t )t 2 .
2
Next Course:
Trajectory Generation