Transcript Kinematics

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,
Accelerations
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.
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
B
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.
A
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 BVQ  A  B  BA R BVQ  A 
B B
B
B
Q
B B
A
  A R BQ  A  ( A   A R BQ).
 BAR BVQ  2 A  B  BA R BVQ  A 
B B
B
B B
Linear Acceleration
the case in which the origins are not coincident
  AR BQ
VQ  AVBORG  BAR BVQ  2 A  B BAR BVQ  A 
B B
A
  B (  B  R Q).
A
A
VQ  VQ  0.
B
B
A
B
B
: when
B
Q
is constant
  AR BQ.
VQ  AVBORG  A  B ( A  B BAR BQ) A 
B B
A
: 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
A
C  A  B  BAR B C .
d A B
A 

C   B   B R 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




for a discrete
distribution of mass
i
I jk    (r ) r  jk  x j xk dV
V
2
 y2  z2

I    ( x, y, z )   xy
V
  xz

for a continuous
distribution of mass
 xy
z 2  x2
 yz


dxdydz.
x 2  y 2 
 xz
 yz
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
2
V
2
V
2
2
Mass products of inertia
I xy   xydv, I xz   xzdv, I yz   yzdv.
V
V
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

4


m 2 2
12 h  l

C
I 
0


0



m
wl
4
m 2
w  h2
3
m
 hl
4






m 2
l  w2 

3
m
hw
4
m
 hl
4



0

m 2
w  h2
12
0




0


m 2
l  w2 

12
0



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.


A
I zz C I zz  m xc2  yc2 ,
A
I xy C I xy  mxc yc ,

A


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
k
,
where k is the torsion constant of the suspending rod
, i.e., the constant ratio between the restoring torque
and the angular displacement.
Newton’s Equation
F  mvC
Force causing the acceleration
Euler’s Equation
N  I   I
C
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
i
Fi  if i 
i
i 1
R
i 1
f i 1
The Torque Balance for a Link
i
N i  ni  ni 1  ( PCi ) f i ( Pi 1  PCi ) f i 1
i
i
i
i
i
i
i
Force Balance
Using result of force and torque balance:
i
N i i ni i 1iR
i 1
ni 1  iPCi i Fi iPi 1i 1i R
i 1
f i 1
In iterative form:
i
f i iFi  i 1iR i 1f i 1
i
ni iN i  i 1iR i 1ni 1  iPCi i Fi  iPi 1i 1i R i 1f 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 ˆ

i1  R i  i1 Z i1 ,
i 1
 i1Ri i1Ri  
i 1
i 1
i
i 1
i
i
i
i
i
i 1
Zˆi1  i1 i1Zˆi1 ,
i 1
i
i
i
i
i

vi1  R i  Pi1  i ( i  Pi1 ) vi ,
i 1
i 1
i
i
vCi1 i1 i1i1PCi1  i1i1 
i 1

i1 PC  vi1 ,
i 1
i 1
i 1
Fi1  mi1 i1vCi1 ,
i 1
N i1 Ci1I i1 i1 i1  i1i1Ci1 I i 1 i1i1.
i 1
i 1
Inward iterations
i : 6 1
i
fi i1iRi1fi1 iFi ,
i
ni iNi i1iRi1ni1 iPCi i Fi  iPi1i1i Ri1fi1 ,
 i  n Zˆi .
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 ( ) 
: mass matrix
M ( ) : n  n
 ) : n 1
V (, 
G ( ) : n  1
: centrifugal and Coriolis terms
: gravity terms
  B()

  C ()
 2 G () : configuration space
  M ( ) 
B() : n  n(n  1) / 2 : matrix of Coriolis coefficients
  : n(n  1) / 2 1, 
1 2
C () : n  n
 : n 1, 
2
2
1
22
 
1 3

T


  n1 n
: centrifugal coefficients
2 T

 
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  urefi ,
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 ( )
Joint space formulation
  V (, 
 )  G ()
F  M x () X
x
x
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
 

 
2





  J () M x () X  Bx ()   C x ()   G (),
T
Bx () : n  n(n  1) / 2
 

 : n(n  1) / 2  1,

C x () : n  n
 
 2 : n  1,


:Coriolis coefficients

 
1 2
 
1 3
 n1n

T
: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 ,

1 

(t  t )  (t )  (t )t  (t )t 2 .
2
Next Course:
Trajectory Generation
Amirkabir University of Technology
Computer Engineering & Information Technology Department