Sie sind auf Seite 1von 15

Robotics 2

Dynamic model of robots: Newton-Euler approach


Prof. Alessandro De Luca

Approaches to dynamic modeling


(reprise) energy-based approach (Euler-Lagrange)

Newton-Euler method (balance of forces/torques)

multi-body robot seen as a whole constraint (internal) reaction forces are automatically eliminated (they do not perform work) closed-form (symbolic) equations are directly obtained best suited for study of dynamic properties and analysis of control schemes

dynamic equations written separately for each link/body inverse dynamics in real time

equations are evaluated in a numeric and recursive way best for synthesis (=implementation) of modelbased control schemes

by elimination of reaction forces and back-substitution of expressions, we still get closed-form dynamic equations (identical to those of Euler-Lagrange!)
2

Robotics 2

Derivative of a vector in a moving frame


from velocity to acceleration
0

Ri = S 0 i 0 Ri

( )

derivative of unit vector i

Robotics 2

Dynamics of a rigid body

Newton dynamic equation

balance: sum of forces = variation of linear momentum

fi =

d (mv c ) = m v c dt

Euler dynamic equation


balance: sum of torques = variation of angular momentum
d d i = (I ) = I + (R I R T ) = I + R I R T + R I R T dt dt = I + S( )R I R T + R I R T S T ( ) = I + I

principle of action and reaction

forces/torques: applied by body = - applied to body


4

Robotics 2

Newton-Euler equations
link i
center of mass

-1
FORCES

vci
zi

zi-1

ci

fi force applied from link (i-1) on link i fi+1 force applied from link i on link (i+1) mig gravity force all vectors expressed in the same RF (better RFi) N

fi

Oi-1 axis qi

.
mig

fi+1 Oi axis qi+1

Newton equation

fi fi+1 + mi g = mi aci
linear absolute acceleration of ci

Robotics 2

Newton-Euler equations
link i TORQUES i torque applied from link (i-1) on link i i+1 torque applied from link i on link (i+1) fi x ri-1,c torque due to fi w.r.t. ci - fi+1 x ri,c torque due to - fi+1 w.r.t. ci Euler equation
zi-1

-2

i
zi

i fi

ri-1,ci

ri,ci

i+1

Oi-1 axis qi

fi+1 Oi axis qi+1

all vectors expressed in the same RF (RFi !!) E

Robotics 2

Forward recursion
Computing 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 here
Robotics 2 7

Backward recursion
Computing forces and torques
from Ni F/TR to Ni-1
eliminated, if inserted in forward recursion (i=0)

initializations

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 FP
generalized forces (in rhs of Euler-Lagrange eqs)
Robotics 2

for prismatic joint for revolute joint


add here dissipative terms (here viscous friction only)

N scalar equations
at the end

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 at the end, a closed form dynamic model is obtained, which is identical to the one obtained using Euler-Lagrange (or any other) method this has no special convenience numeric substituting numeric values (numbers!) at each step computational complexity of each step remains constant grows in a linear fashion with the number N of joints strongly recommended for real-time use, especially when the number N of joints is large

Robotics 2

efficient computational scheme for inverse dynamics


(at robot base) AR F/TR inputs outputs FP
numeric steps at every instant t

Newton-Euler algorithm

AR F/TR

FP

Robotics 2

(force/torque exchange environment/E-E)

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) vector parameter = {0g,0} (presence or absence of gravity) three ordered vector arguments typically, samples of joint position, velocity, acceleration taken from a desired trajectory generalized force u for the complete inverse dynamics or single terms of the dynamic model
11

input

output

Robotics 2

Examples of output

complete model gravity terms

u = NE0g(q,q,q) = B(q)q+c(q,q)+g(q) u = NE0g(q,0,0) = g(q)

. ..

..

i-th column of the inertia matrix


u = NE0(q,0,ei) = bi(q)

centrifugal and Coriolis terms


.

ei = i-th column of identity matrix

generalized momentum
.

u = NE0(q,q,0) = c(q,q) u = NE0(q,0,q) = B(q)q


.

Robotics 2

12

Inverse dynamics of a 2R planar robot


position (deg)
position (deg)
100 50 0 quintic re st! to! re st polynom ia l for joint 1

200 0 !200

quintic re st! to! re st polynom ia l for joint 2

0 .1

0 .2

0 .3

0 .4

0 .5 tim e (s)

0 .6

0 .7

0 .8

0 .9

0 .1

0 .2

0 .3

0 .4

0 .5 tim e (s)

0 .6

0 .7

0 .8

0 .9

velocity (deg/s)

!100 !200

velocity (deg/s)

1000 500 0

0 .1

0 .2

0 .3

0 .4

acceleration (deg/s2 )

1000 0 !1000

acceleration (deg/s2 )

0 .5 tim e (s)

0 .6

0 .7

0 .8

0 .9

0 .1

0 .2

0 .3

0 .4

0 .5 tim e (s)

0 .6

0 .7

0 .8

0 .9

2000 0 !2000

0 .1

0 .2

0 .3

0 .4

0 .5 tim e (s)

0 .6

0 .7

0 .8

0 .9

0 .1
2

0 .2

0 .3

0 .4

0 .5 tim e (s)

0 .6

0 .7

0 .8

0 .9

1 .5

desired (smooth) joint motion: quintic polynomials for q1, q2 with zero vel/acc boundary conditions from (90,-180) to (0,90) in T=1 s
Robotics 2

0 .5

! 0 .5

!1 !1

! 0 .5

0 .5 m

1 .5

13

Inverse dynamics of a 2R planar robot


200 100
Nm

total torques for joints 1 and 2

0 ! 100 ! 200

Nm

zero initial torques = free equilibrium configuration + zero initial accelerations

0.1

0.2

0.3

0.4

0.5 tim e (s)

0.6

0.7

0.8

0.9

100

50

final torques u10, u2=0 balance link weights in final (0,90) configuration

! 50

0.1

0.2

0.3

0.4

0.5 tim e (s)

0.6

0.7

0.8

0.9

motion in vertical plane (under gravity) both links are thin rods of uniform mass m1=10 kg, m2=5 kg
Robotics 2 14

Inverse dynamics of a 2R planar robot


150 total torque and contributions for joint 1
80 total torque and contributions for joint 2

100

60

50
40

0
Nm

Nm

20

! 50
0

! 100
! 20

! 150

! 200

0.1

0.2

0.3

0.4

0.5 tim e (s)

0.6

0.7

0.8

0.9

! 40

0.1

0.2

0.3

0.4

0.5 tim e (s)

0.6

0.7

0.8

0.9

torque contributions at the two joints for the desired motion = total, = inertial = Coriolis/centrifugal, = gravitational
Robotics 2 15

Das könnte Ihnen auch gefallen