Beruflich Dokumente
Kultur Dokumente
!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 ri,ci "i+1
"i
"i+1 torque applied . .
from link i on link (i+1) Oi-1 Oi fi+1
fi
axis qi axis qi+1
fi x ri-1,ci torque due to fi w.r.t. 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
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