Professional Documents
Culture Documents
!i
Robotics 2 3
Dynamics of a rigid body
! Newton dynamic equation
! balance: sum of forces = variation of linear momentum
d
" fi = dt
(mv c ) = m v c
! Euler dynamic equation
! balance: sum of torques = variation of angular momentum
!
d d
= I
" i dt ( ) # = I
# + (R I R T ) # = I# + R I R T + R I R T #
( )
dt
= I# + S(# )R I R T# + R I R T S T (# ) # = I# + # $ I#
link i
FORCES
linear acceleration of ci
Robotics 2 5
!
Newton-Euler equations -2
link i
!i
TORQUES
"i torque applied zi-1 zi
from link (i-1) on link i ri-1,ci "i+1
"i ri,ci
"i+1 torque applied .
from link i on link (i+1) . fi+1
Oi-1 Oi
fi
fi x ri-1,ci torque due to fi w.r.t. ci axis i axis i+1
(qi) (qi+1)
- fi+1 x ri,ci torque due to - fi+1 w.r.t. ci
all vectors expressed in
gravity force gives the same RF (RFi !!)
Euler equation no torque at ci
AR
the gravity force term can be skipped in Newton equation, if added here
Robotics 2 7
Backward recursion
Computing forces and torques
eliminated, if inserted
from Ni to Ni-1 in forward recursion (i=0) initializations
F/TR
ri,ci) ri,ci
from Ei to Ei-1
at each step of this recursion, we have two vector equations (Ni + Ei) at the
joint providing and : these contain ALSO the reaction forces/torques
at the joint axis they should be next projected along/around this axis
for prismatic joint
FP N scalar
for revolute joint equations
at the end
generalized forces add here dissipative terms
(in rhs of Euler-Lagrange eqs) (here viscous friction only)
Robotics 2 8
Comments on Newton-Euler method
! the previous forward/backward recursive formulas can
be evaluated in symbolic or numeric form
! symbolic
! substituting expressions in a recursive way
! numeric
! substituting numeric values (numbers!) at each step
Robotics 2 9
Newton-Euler algorithm
efficient computational scheme for inverse dynamics
AR FP
F/TR
inputs outputs
AR FP
F/TR
(force/torque exchange
environment/E-E)
Robotics 2 10
Matlab (or C) script
general routine NE"(arg1,arg2,arg3)
! data file (of a specific robot)
! number N and types ! ={0,1}N of joints (revolute/prismatic)
! table of DH kinematic parameters
! list of dynamic parameters of the links (and of the motors)
! input
! vector parameter " = {0g,0} (presence or absence of gravity)
! three ordered vector arguments
! typically, samples of joint position, velocity, acceleration
Robotics 2 11
Examples of output
! complete inverse dynamics
. .. .. .
u = NE0g(qd,qd,qd) = B(qd)qd+c(qd,qd)+g(qd)=ud
! gravity terms
u = NE0g(q,0,0) = g(q)
! centrifugal and Coriolis terms
. .
u = NE0(q,q,0) = c(q,q)
! i-th column of the inertia matrix
u = NE0(q,0,ei) = bi(q) ei = i-th column
of identity matrix
! generalized momentum
. .
u = NE0(q,0,q) = B(q)q
Robotics 2 12
Inverse dynamics of a 2R planar robot
Robotics 2 13
Inverse dynamics of a 2R planar robot