Manipulator Dynamics: Amirkabir University of Technology Computer Engineering & Information Technology Department
Manipulator Dynamics: Amirkabir University of Technology Computer Engineering & Information Technology Department
Velocities,
Accelerations
Forces, moments
Gravity
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:
& dB VQ (t + ∆t )− VQ (t )
B B
B
VQ = VQ = lim ,
dt ∆t →0 ∆t
A & dA A
ΩB (t + ∆t )− ΩB (t )
A
ΩB = ΩB = lim .
dt ∆t →0 ∆t
Linear Acceleration
A
VQ = BAR BVQ + A Ω B × BA R BQ. : origins are coincident.
d A B : re-write it as.
( B R Q)= BAR BVQ + A Ω B × BA R BQ.
dt
d A B d A B
A
VQ = ( B R VQ )+ Ω B × B R Q + Ω B × ( B R Q) : by differentiating.
& A & A B A
dt dt
= BAR BV&Q + A Ω B × BA R BVQ + A Ω
& × A R BQ + A Ω ×( AR BV + A Ω × A R BQ)
B B B B Q B B
+ Ω B ×( Ω B × R Q).
A A A
B
B
VQ = BV&Q = 0.
B
: when B
Q is constant
A& A & A A A B A &
VQ = VBORG + Ω B ×( Ω B ×B R Q)+ Ω B ×B R Q.
A B
A & A &
ΩC = ΩB +
dt
(
d A B
B R ΩC .)
A & A B &
= ΩB + B R ΩC + ΩB ×B R ΩC .
A A B
I ≡ ∫ ρ (r )r dv,
2
(
I jk = ∫ ρ (r ) r δ jk − x j xk dV
V
2
) for a continuous
distribution of mass
y2 + z2 − xy − xz
I = ∫ ρ ( x, y, z ) − xy z 2 + x2 − yz dxdydz.
V
− xz − yz x 2 + y 2
Moment of Inertia
Kronecker delta:
for
0 i≠ j
δ ij = for
1 i = j.
(
I xx = ∫∫∫ y 2 + z 2 ρdv,
V
)
I yy = ∫∫∫ (x 2
+ z )ρdv,
2
V
I zz = ∫∫∫ (x2
+ y )ρdv,
2
Mass products of inertia
V
(
m 2 2
3 l +h ) −
m
4
wl −
m
4
hw
m
A
I = − wl (
m 2 2
w +h ) m
− hl
{C}
4 3 4
− m hw
4
m
− hl
4 3
(
m 2
l + w2 )
(
m 2 2
12 h + l ) 0
0
C
I = 0
m 2 2
12
(
w +h ) 0
0 0
m 2
12
(
l + w2
)
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 ,
M
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
by. I
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
i +1
i
Fi = f i −
i
i +1
i
R f i +1
The Torque Balance for a Link
i
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 +1 i +1
i
N i = i ni − i +1i R ni +1 − i PCi ×i Fi − i Pi +1×i +1i R f i +1
In iterative form:
i +1
i
f i = Fi + R
i
i +1
i
f i +1
i +1 i +1
i
ni = iN i + i +1iR ni +1 + iPCi ×i Fi + iPi +1×i +1i R 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 Newton-
Euler 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
ωi+1 = R ωi + θi+1 Z i +1 ,
i +1
i
i
i +1
ω& =i+1R iω& + i+1R iω × θ&
i +1 i i i i i +1 Zˆi+1 + θ&&i+1 i+1Zˆi+1 ,
i +1
(
&vi +1 =i +i1R iω& i ×i Pi+1 + iωi ×(iωi ×i Pi +1 )+ iv&i ,
i +1
)
&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
i +1
i +1
Fi +1 = mi +1 i +1v&Ci+1 ,
i +1
N i +1 = I i +1 ω& i +1 + ωi +1× I i +1 i +1ωi +1.
Ci +1 i +1 i +1 Ci +1
Inward iterations
i : 6 →1
i +1
i
f i = R fi +1 + Fi ,
i +1
i i
i +1 i +1
i
ni = N i + R ni +1 + PCi × Fi + P × R f i +1 ,
i
i +1
i i i i
i +1 i +1
i
τ i =i niT i Zˆi .
Inclusion of Gravity Forces
The effect of gravity loading on the links can be
included by setting 0v& = G , where G is the
0
gravity vector.
The Structure of the Manipulator
Dynamic Equations
τ = M (Θ)Θ&& + V (Θ, Θ
& ) + G (Θ) : state space equation
M (Θ) : n × n : mass matrix
& ) : n ×1
V (Θ, Θ : centrifugal and Coriolis terms
G ( Θ) : n × 1 : gravity terms
FCoriolis = 2m(v × Ω)
Lagrangian Formulation of
Manipulator Dynamics
1 1 i T Ci i
ki = mi vCi vCi + ωi I i ωi ,
T
2 2
n
k = ∑ ki . Total kinetic energy of a manipulator
i =1
ui = − mi 0 g T 0 PCi + urefi ,
n
u = ∑ ui . Total potential energy of a manipulator
i =1
Lagrangian
Is the difference between the kinetic and
potential energy of a mechanical system
& ) = k (Θ, Θ
L (Θ, Θ & ) − u(Θ).
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
&& + V (Θ, Θ
τ = M (Θ)Θ & ) + G (Θ ) Joint space formulation
&& + V (Θ, Θ
F = M x (Θ) X & ) + G ( Θ) Cartesian space formulation
x x
( && + V (Θ, Θ
τ = J T (Θ) M x (Θ) X x
& ) + G (Θ )
x )
&& & &[ ] &
τ = J (Θ) M x (Θ) X + Bx (Θ) ΘΘ + Cx (Θ) Θ + G (Θ),
T 2
[ ]
Bx (Θ) : n × n(n − 1) / 2 :Coriolis coefficients
[ ]
&Θ
Θ & : n(n − 1) / 2 ×1, [
θ& θ&
1 2 θ& θ&
1 3
& &
L θ n−1θ n ]
T
[ ]
& 2 : n ×1,
Θ [& 2 & 2 & 2 T
θ1 θ 2 L θ n . ]
Dynamic Simulation:
(Euler Integration)
&& + V (Θ, Θ
τ = M (Θ) Θ & ) + G (Θ) + F (Θ, Θ
&)
Nonrigid body effects: friction
Θ [
&& = M −1 (Θ) τ − V (Θ, Θ
& ) − G (Θ) − F (Θ, Θ
&) ]
Θ(0) = Θ , Θ& =0 : Given initial conditions
0
& (t + ∆t ) = Θ
Θ & (t ) + Θ
&& (t )∆t ,
& 1 &&
Θ(t + ∆t ) = Θ(t ) + Θ(t )∆t + Θ(t )∆t 2 .
2
Next Course:
Trajectory Generation