Robot Dynamics – Slide Set 10
ME 4135
R. R. Lindeke, Ph. D.
We will examine two approaches to this problem
Euler – Lagrange Approach:– Develops a “Lagrangian Function” which relates Kinetic and
Potential Energy of the manipulator, as it is moving, thus dealing with the manipulator “As a Whole” in building force/torque equations
Newton – Euler Approach:– This approach works to separate the effects of each link on
machine torques by writing down its motion in a separable linear and angular sense. However, due to the highly coupled motions in a robot, it requires a forward recursion through the entire manipulator for building velocity and acceleration models of a link followed by a backward recursion for force and torque on each link ‘in turn’
Euler – Lagrange approach
Employs a Denavit-Hartenberg structural analysis to define “Generalized Coordinates” for the structural models of the machine.
It provides good insight into controller design related to STATE SPACE
It provides a closed form interpretation of the various components in the dynamic model:
– Due to Inertia– Due to Gravitational Effects– Due to Friction (joint/link/driver)– Due to Coriolis Forces relating motion of one link to coupling
effects of other links’ motions– Due to Centrifugal Forces that cause the link to have a tendency
to ‘fly away’ due to coupling to neighboring links and its own motion
Newton-Euler Approach
A ‘computationally more efficient’ approach to force/torque determination
It starts at the “Base Space” and moves forward toward the “End Space” – computing trajectory, velocity and acceleration demands then
Using this ‘forward velocity’ information the control computes forces and moments starting at the “End Space” and moving back to the “Base Space”
Defining the Manipulator Lagrangian:
( , ) ( , ) ( )
( , )
( )
L q q T q q U q
here
T q q
U q
Kinetic energy of the
manipulator
Potential energy of the
manipulator
Generalized Equation of Motion of the Manipulator:
1
, ,i i ni i
dF L q q L q q
dt q q
i
is a link of manipulator
Starting Generalized Equation Solution
We’ll initially focus on the Kinetic energy term (the hard one!)
Remembering from physics: K. Energy = ½ mV2
Lets define the velocities for the Center of Mass of a Link K:
k
k
v
as L. Velocity
as Angular Velocity
Rewriting the Kinetic Energy Term:
1
,2
T Tn k K k k K k
K
v m v DT q q
Notice the separation in velocities! mK is Link Mass DK is a 3x3 Inertial Tensor of Link K about its center of
mass expressed W.R.T. the base frame– This term characterizes mass distribution of a rigid object
Focusing on DK: Looking at a(ny) link
For this Link: DC is the Inertial Tensor About it Center of Mass
In General:
2 2
2 2
2 2
V V V
C K
V V V
V V V
y z dV xy dV xz dV
D m xy dV x z dV yz dV
xz dV yz dV x y dV
Defining the terms:
The Diagonal terms are the “General Moments of Inertia” of the link
The three distinct off diagonal terms are the “Products of Inertia”
If the axes used to define the pose of the center of mass are aligned with the x and z axes of the link defining frame (i) then the products of inertia are zero and the diagonal terms form the “Principal Moments of Inertia”
Continuing after this simplification:
2 2
2 2
2 2
0 0
0 0
0 0
V
C K
V
V
y z dV
D m x z dV
x y dV
If the Link is a Rectangular Rod (of uniform
mass):
2 2
2 2
2 2
0 012
0 012
0 012
C K
b c
a cD m
a b
This is a reasonable approximation for many arm links!
If the Link is a Thin Cylindrical Shell of Radius r and length L:
2
2 2
2 2
0 0
0 02 12
0 0 2 12
C K
r
r LD m
r L
We must now Transform each link’s Dc
Dc (for each link) must be defined in the Base Space to be added to the Lagrangian Solution for kinetic energy:
DK = [R0KDC(R0
K)T] Here R0
K is the rotational sub-matrix defining the Link frame K (at its end) in the base space – (hum, seems like the thinking using DH ideas as we built a jacobian!)
T
k K kD
Defining the Kinetic Energy due to Rotation (contains DK)
0 0
. .2
. .2
T
k K k
T TK K K KC
DK E
R D RK E
Completing our models of Kinetic Energy:
Remembering:
1
,2
T Tn k K k k K k
K
v m v DT q q
Velocity terms are from Jacobians:
We will define the velocity terms as parts of a “slightly” modified Jacobian Matrix:
AK is linear velocity effect BK is angular velocity effect I is 1 for revolute, 0 for prismatic
joint types
1
1
0 11
0 ( )( )
( )0
Kk
KK KK
K
ccA qq qJ qB qZ Z
Velocity Contributions of all links beyond K are ignored – K+1, K+2 etc
Focusing on :
This is a generalized coordinate of the center of mass of a link
It is given by:
kc
1 0 ( )
:
,0,0,1
K Kk
K
T
c H T q c
here
c
k
is a vector from frame k
(at the end of link K) to the
Center of Mass of Link K
aand is:
2
A Matrix that essentially strips off the bottom row of the solution
Note: Minus Sign
Re-Writing K. Energy for the ARM
1
,2
TK K K Kn K K
K
A q m A q B q D B qT q q
Factoring out the Joint Velocity Terms
1
,2
T TT K K T K Kn K K
K
q A m A q q B D B qT q q
Simplifies to:
1,2
n T TK K K KK K
T K
A m A B D BT q q q q
Building an Equation for Potential Energy:
1
1
( ) ( )
( ) ( )
( ) ( )
nT k
KK
nk
KK
T
U q m g c q
g
c q m c q
U q g c q
(a vector) is acceleration due to gravity
Introducing a new term:This is a weighted sum of the centers of mass of the links of the manipulator
Generalized coordinate of centers of mass (from earlier)
Finally: The Manipulator Lagrangian:
( , ) ( , ) ( )L q q T q q U q
Which means:
1, ( )2
n T TK K K KK K
T TK
A m A B D BL q q q q g c q
Introducing a ‘Simplifying’ Term D(q):
This is the Manipulator Inertial Tensor
1
{ }Tn TK K K K
K KK
D q A q m A q B q D q B q
D(q) is an nxn matrix sized by the robot!
Lets define “Generalized Forces”
We say that a generalized force is an residual force acting on a arm after kinetic and potential energy are removed!?!*!
The generalized forces are connected to “Virtual Work” through “Virtual Displacements”
Displacements that are done without the physical constraints of time
Generalized Forces on a Manipulator
We will consider in detail two (of the readily identified three):
Actuator Force (torque) →
Frictional Effects →
Tool Forces →
1TW q
2
TW b q q
0
ToolF
in general
Considering Friction (in greater detail):
Friction is a non-linear and complex force opposing manipulator motion
It consists of 3 contributions:Viscous friction Dynamic friction Static friction
These can be (jointly) modeled
Defining a Generalized Coefficient of Friction for a link:
( )Kq
v d s dk K K K K K Kb q b q SGN q b b b e
Coeff. of Viscous Friction
Coeff. of Dynamic Friction
Coeff. of Static Friction
Combining these components of Virtual Work:
1 2
TW W W b q q
F b q
leads to the manipulator Generalized Force:
Building a General L-E Dynamic Model
But Remembering:
1
, ,i i ni i
dF L q q L q q
dt q q
i
is a link of manipulator
Starting with this term
Partial of Lagrangian w.r.t. joint velocity
, ,
i
L q q T q q
q q
It can be ‘shown’ that this term equals (remembering D(q) earlier):
1
n
ij jj
D q q
Completing the 1st Term:
1
, n
ij jji
L q qd dD q q
dt q dt
This is found to equal:
Completing this 1st term of the L-E Dynamic Model:
1 1 1
n n nij
ij j k jj k j k
D qD q q q q
q
Looking at the 2nd Term:
, ,i i i
L q q T q q U qq q q
This term can be shown to be:
31 1
1
( )
( )2
n nkj
k j nk j ji
k j kik j i
D qq q
qg m A q
Notice: i (!) not 1
Before Summarizing the L-E Dynamical Model we introduce:
A Velocity Coupling Matrix (nxn)
A ‘Gravity’ Loading Vector (nx1)
1 1 , ,2ikj ij kj
k i
C q D q D q i j k nq q
for
3
1
nj
i k j kik j i
h q g m A q
The L-E (Torque) Dynamical Model is:
1 1 1
n n ni
i ij j kj k j i i ij k j
D q q C q q q h q b q
Inertial Forces
Coriolis & Centrifugal
Forces
Gravitational Forces Frictional
Forces