dynamic model of robots: newton-euler approach
TRANSCRIPT
Robotics 2
Prof. Alessandro De Luca
Dynamic model of robots:Newton-Euler approach
Approaches to dynamic modeling (reprise)
energy-based approach(Euler-Lagrange)
n multi-body robot seen as a wholen constraint (internal) reaction forces
between the links are automatically eliminated: in fact, they do not perform work
n closed-form (symbolic) equations are directly obtained
n best suited for study of dynamic properties and analysis of control schemes
Newton-Euler method(balance of forces/torques)
n dynamic equations written separately for each link/body
n inverse dynamics in real timen equations are evaluated in a
numeric and recursive wayn best for synthesis
(=implementation) of model-based control schemes
n by elimination of reaction forces and back-substitution of expressions, we still get closed-form dynamic equations (identical to those of Euler-Lagrange!)
Robotics 2 2
Derivative of a vector in a moving frame⦠from velocity to acceleration
Robotics 2 3
!οΏ½ΜοΏ½$ = π 0π$ 0π $
ππ
derivative of βunitβ vector
π$
ππ$ππ‘ = π$ Γ π$
Dynamics of a rigid bodyn Newton dynamic equation
n balance: sum of forces = variation of linear momentum
n Euler dynamic equationn balance: sum of torques = variation of angular momentum
n principle of action and reactionn forces/torques: applied by body π to body π + 1
= β applied by body π + 1 to body πRobotics 2 4
1π$ =πππ‘ ππ£5 = ποΏ½ΜοΏ½5
1π$ =πππ‘
πΌπ = πΌοΏ½ΜοΏ½ +πππ‘
π Μ πΌπ 9 π = πΌοΏ½ΜοΏ½ + οΏ½ΜοΏ½ Μ πΌπ 9 + π Μ πΌοΏ½ΜοΏ½9 π
= πΌοΏ½ΜοΏ½ + π π π Μ πΌπ 9π + π Μ πΌπ 9π9 π π = πΌοΏ½ΜοΏ½ + π Γ πΌπ
Newton-Euler equations - 1
link π
axis π(π$)
πππ
axis π + 1(π$>?)
. .π$>?
π§$
π$π
π$ force appliedfrom link π β 1 on link π
π$>? force appliedfrom link π on link π + 1
Newton equation
π$π gravity force
all vectors expressed in thesame RF (better RFπ)
FORCES
N
π§$B?
linear acceleration of πΆ$
centerof mass
Robotics 2 5
πͺπ
π$π$π$B?
π$ β π$>? + π$π = π$π5$
Newton-Euler equations - 2
link π
. .π$B?,5$
π$ torque appliedfrom link (π β 1) on link ππ$>? torque appliedfrom link π on link (π + 1)
Euler equation
TORQUES
π$ Γ π$B?,5$ torque due to π$ w.r.t. πΆ$
βπ$>?Γ π$,5$ torque due to βπ$>? w.r.t. πΆ$
E
all vectors expressed inthe same RF (RFπ !!)
Robotics 2 6
gravity force givesno torque at πΆ$
axis π(π$)
axis π + 1(π$>?)
π$>?
π§$π§$B?
π$ π$π$B?
π$>?π$
π$
π$,5$
πͺπ
π$ β π$>? + π$ Γ π$B?,5$ βπ$>? Γ π$,5$= πΌ$οΏ½ΜοΏ½$ + π$Γ πΌ$π$
angular acceleration of body π
Forward recursionComputing velocities and accelerations
β’ βmoving framesβ algorithm (as for velocities in Lagrange)β’ wherever there is no leading superscript, it is the same as the subscript β’ for simplicity, only revolute joints
(see textbook for the more general treatment) initializations
AR
the gravity force term can be skipped in Newton equation, if added hereRobotics 2 7
π$ = ππ$
π!
οΏ½ΜοΏ½!π! β 0π
Backward recursionComputing forces and torques
at each step of this recursion, we have two vector equations (ππ + πΈπ) at the joint providing π$ and π$: these contain ALSO the reaction forces/torquesat the joint axis β they should be βprojectedβ next along/around this axis
from π$ to π$B?
from πΈ$ to πΈ$B?
F/TR
add here dissipative terms(here viscous friction only)
eliminated, if insertedin forward recursion (π=0)
Robotics 2 8
generalized forces(in rhs of Euler-Lagrange eqs)
for prismatic joint
for revolute jointπ scalar
equationsFPat the end
ri,ciri,ci)
initializationsπM>? πM>?
Comments on Newton-Euler methodn the previous forward/backward recursive formulas can
be evaluated in symbolic or numeric formn symbolic
n substituting expressions in a recursive wayn at the end, a closed-form dynamic model is obtained, which
is identical to the one obtained using Euler-Lagrange (or any other) method
n there is no special convenience in using N-E in this wayn numeric
n substituting numeric values (numbers!) at each stepn computational complexity of each step remains constant β
grows in a linear fashion with the number π of joints (π(π))n strongly recommended for real-time use, especially when the
number π of joints is large
Robotics 2 9
Newton-Euler algorithmefficient computational scheme for inverse dynamics
AR
AR
F/TR
F/TR
FP
FP
inputs outputs
(force/torque exchangeenvironment/E-E)
(at robot base) numeric stepsat every instant π‘
Robotics 2 10
, π5?
,π5MB?
, π5M
n data file (of a specific robot)n number π and types Ο = 0,1 M of joints (revolute/prismatic)n table of DH kinematic parametersn list of ALL dynamic parameters of the links (and of the motors)
n inputn vector parameter πΌ = 0π, 0 (presence or absence of gravity)n three ordered vector arguments
n typically, samples of joint position, velocity, accelerationtaken from a desired trajectory
n outputn generalized force π’ for the complete inverse dynamicsn β¦ or single terms of the dynamic model
general routine ππΈS(arg1, arg2, arg3)
Matlab (or C) script
Robotics 2 11
Examples of output
n complete inverse dynamics
n gravity terms
n centrifugal and Coriolis terms
n π-th column of the inertia matrix
n generalized momentum
π$ = π-th columnof identity matrix
π’ = ππΈ!Y(π, 0, 0) = π(π)
π’ = ππΈ!(π, 0, π$) = π$(π)
π’ = ππΈ! π, 0, οΏ½ΜοΏ½ = π π οΏ½ΜοΏ½ = π
π’ = ππΈ!(π, οΏ½ΜοΏ½, 0) = π(π, οΏ½ΜοΏ½)
π’ = ππΈ!Y(ππ, οΏ½ΜοΏ½], οΏ½ΜοΏ½]) = π(π])οΏ½ΜοΏ½] + π(π], οΏ½ΜοΏ½]) + π(π]) = π’]
Robotics 2 12
Inverse dynamics of a 2R planar robot
Robotics 2 13
desired (smooth) joint motion:quintic polynomials for π?, π_withzero vel/acc boundary conditions
from (90o, -180o) to (0o, 90o) in π = 1 s
β
Inverse dynamics of a 2R planar robot
Robotics 2 14
motion in vertical plane (under gravity)both links are thin rods of uniform mass π? = 10 kg, π_ = 5 kg
zeroinitial torques = free equilibriumconfiguration
+zero initial
accelerations
final torques π’? β 0, π’_ = 0
balance link weights
in final (0o, 90o)configuration
Inverse dynamics of a 2R planar robot
Robotics 2 15
torque contributions at the two joints for the desired motion= total, = inertial
= Coriolis/centrifugal, = gravitational
Use of NE routine for simulationdirect dynamics
n numerical integration, at current state (π, οΏ½ΜοΏ½), of
n Coriolis, centrifugal, and gravity terms
n π-th column of the inertia matrix, for π = 1, . . , π
n numerical inversion of inertia matrix
n given π’, integrate acceleration computed as
π$ = ππΈ!(π, 0, π$)
πΌππ£π = inv(π)
οΏ½ΜοΏ½ = πB?(π)[π’ β (π(π, οΏ½ΜοΏ½) + π(π))] = πB?(π)[π’ β π(π, οΏ½ΜοΏ½)]
Robotics 2 16
complexity π(π)
π(π_)
π(πl)but with small coefficient
π = ππΈ!Y(π, οΏ½ΜοΏ½, 0)
οΏ½ΜοΏ½ = πΌππ£π β [π’ β π] new state (π, οΏ½ΜοΏ½)and repeat over time ...