06_NewtonEulerDynamics
06_NewtonEulerDynamics
!
𝑣" = 0𝑅" 𝑖𝑣" !
𝑅̇ " = 𝑆 0𝜔" 0𝑅
"
!
𝑣̇ " = 0𝑎" = 0𝑅" 𝑖𝑎" = 0𝑅" "𝑣̇ " + 0𝑅̇ " 𝑖𝑣"
= 0𝑅" "𝑣̇ " + 0𝜔" × 0𝑅" 𝑖𝑣" = 0𝑅" #
𝑣̇ # + #𝜔# × 𝑖𝑣"
Robotics 2 3
Dynamics of a rigid body
n Newton dynamic equation
n balance: sum of forces = variation of linear momentum
𝑑
! 𝑓! = 𝑚𝑣" = 𝑚𝑣̇"
𝑑𝑡
n Euler dynamic equation
n balance: sum of moments = variation of angular momentum
𝑑 𝑑
! 𝜇! = 𝐼𝜔 = 𝐼 𝜔̇ + 𝑅𝐼𝑅̅ $ 𝜔 = 𝐼𝜔̇ + 𝑅̇ 𝐼𝑅 ̅ $ + 𝑅𝐼 𝑅
̅ ̇$ 𝜔
𝑑𝑡 𝑑𝑡
= 𝐼𝜔̇ + 𝑆 𝜔 𝑅𝐼𝑅̅ # 𝜔 + 𝑅𝐼𝑅
̅ # 𝑆 # 𝜔 𝜔 = 𝐼 𝜔̇ + 𝜔 × 𝐼𝜔
link 𝑖
FORCES
linear acceleration of 𝐶!
Robotics 2 5
Newton-Euler equations -2
link 𝑖
MOMENTS 𝜔!
the gravity force term can be skipped in Newton equation, if added here
Robotics 2 7
Backward recursion
Computing forces and moments
eliminated, if inserted
from 𝑁! to 𝑁!&% in forward recursion (𝑖 =0) initializations
!
𝑓! = !𝑅!$% !$%𝑓!$% + 𝑚! !
𝑎"! − !𝑔 𝑓)$% 𝜏)$%
F/MR
!
𝜏! = !𝑅!$% !$%𝜏!$% + !
𝑅!$% !$%𝑓!$% × !𝑟!,"! − !𝑓! × !
𝑟!&%,! + !𝑟!,"!
at each recursion step, the two vector equations (𝑁𝑖 + 𝐸𝑖 ) at joint 𝑖 provide
a wrench (𝑓! , 𝜏! ) ∈ ℝ*): this contains ALSO reaction forces/moments at
the joint axis ⇒ to be “projected” along/around this axis to produce work
! # !
𝑓! 𝑧!&% + 𝐹)! 𝑞̇ ! for prismatic joint 𝑁 scalar
FP 𝑢! = ; ! # !
𝜏! 𝑧!&% + 𝐹)! 𝑞̇ ! for revolute joint equations
at the end
generalized forces add any dissipative term
(in rhs of Euler-Lagrange eqs) (here, viscous friction only)
Robotics 2 8
Comments on Newton-Euler method
n the previous forward/backward recursive formulas can
be evaluated in symbolic or numeric form
n symbolic
n substituting expressions in a recursive way
n numeric
n substituting numeric values (numbers!) at each step
Robotics 2 9
Newton-Euler algorithm
efficient computational scheme for inverse dynamics
(
𝜔( , (𝜔̇ ( , (𝑎( − (𝑔 (at robot base) numeric steps
at every instant 𝑡
𝑞%
$
𝑞̇ % AR 𝑓$ , $𝜏$ FP 𝑢%
𝑞̈ %
$
𝜔$ , $𝜔̇ $ , $𝑎$ , $𝑎)$ F/MR
%
inputs 𝑓% , %𝜏% outputs
&#$
𝜔&#$ , &#$𝜔̇ &#$ , &#$𝑎&#$ , &#$𝑎),&#$
𝑞)
&
𝑞̇ ) AR 𝑓& , &𝜏& FP 𝑢)
𝑞̈ )
&
𝜔& , &𝜔̇ & , &𝑎& , &𝑎)& F/MR
(force/moment exchange
&'$
𝑓&'$ , &'$𝜏&'$ from EE to environment)
Robotics 2 10
Matlab (or C) script
assuming no interaction
general routine 𝑁𝐸# (arg1, arg2, arg3) with the environment
(𝑓&'$ = 𝜏&'$ = 0)
n data file (of a specific robot)
n number 𝑁 and types σ = 0,1 + of joints (revolute/prismatic)
n table of DH kinematic parameters
n list of ALL dynamic parameters of the links (and of the motors)
n input
n vector parameter 𝛼 = 0𝑔, 0 (presence or absence of gravity)
n three ordered vector arguments
n typically, samples of joint position, velocity, acceleration
E : 𝑥, 𝑦, 𝑦, 𝑧 = 𝑁𝐸: (𝑥, 𝑦, 𝑧)
𝑁𝐸 consistency property
E 6 𝑞, 𝑞,̇ 𝑞̇ 8 , 0 = 𝑆(𝑞, 𝑞)
⇒ 𝑢 = 𝑁𝐸 ̇ 𝑞̇ 8 with 𝑀̇ − 2𝑆 skew-symmetric
(i.e., with 1 call of modified NE algorithm)
E 6 𝑞, 𝑞,̇ 𝑒# , 0 = 𝑆# (𝑞, 𝑞)
⇒ 𝑢 = 𝑁𝐸 ̇
(i.e., the full matrix 𝑆 satisfying the skew-symmetry of
𝑀̇ − 2𝑆 with 𝑁 calls of the modified NE algorithm)
Robotics 2 14
Inverse dynamics of a 2R planar robot
Robotics 2 15
Inverse dynamics of a 2R planar robot