<<

2

Dynamic model of robots: -Euler approach

Prof. Alessandro De Luca Approaches to dynamic modeling (reprise)

-based approach Newton-Euler method (Euler-Lagrange) (balance of /) n multi-body robot seen as a whole n dynamic equations written separately for each link/body n constraint (internal) reaction forces between the links are automatically n inverse dynamics in real eliminated: in fact, they do not n equations are evaluated in a perform numeric and recursive way n closed-form (symbolic) equations n best for synthesis are directly obtained (=implementation) of model- based control schemes n best suited for study of dynamic properties and analysis of control n by elimination of reaction forces and schemes 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 to

̇ 0 0 � = � � �

derivative of “unit” vector

�� �� = � × � ��

Robotics 2 3 Dynamics of a

n Newton dynamic equation

n balance: sum of forces = variation of linear � � = �� = ��̇ �� n Euler dynamic equation

n balance: sum of torques = variation of � � � = �� = ��̇ + ���̅ � = ��̇ + �̇��̅ + ���̅ ̇ � �� �� = ��̇ + � � ���̅ � + ���̅ � � � = ��̇ + � × ��

n principle of and reaction

n forces/torques: applied by body � to body � + 1 = − applied by body � + 1 to body � Robotics 2 4 Newton-Euler equations - 1

link � FORCES

� center �� � applied of from link � − 1 on link � � � �� � force applied . . from link � on link � + 1 � � � � �� gravity force axis � �� axis � + 1 all vectors expressed in the (�) (�) same RF (better RF�)

Newton equation � − � + �� = �� N

linear acceleration of �

Robotics 2 5 Newton-Euler equations - 2

link � TORQUES �

applied � � from link (� − 1) on link � � � �, �, � torque applied . . from link � on link (� + 1) � � � � � � � × �, torque due to � w.r.t. � axis � axis � + 1 (�) (�) −�× �, torque due to −� w.r.t. � all vectors expressed in gravity force gives the same RF (RF� !!) Euler equation no torque at �

� − � + � × �, −� × �,= ��̇ + �× �� E

of body � Robotics 2 6 Forward recursion Computing and • “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 �̇ 0 � − �

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 � to � in forward recursion (�=0) initializations

� � F/TR r ) r i,ci i,ci

from � to �

at each step of this recursion, we have two vector equations (�� + ��) at the joint providing � and �: these contain ALSO the reaction forces/torques at the joint axis ⇒ they should be “projected” next along/around this axis for prismatic joint FP � scalar for revolute joint equations at the end generalized forces add here dissipative terms (in rhs of Euler-Lagrange eqs) (here viscous 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 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 way

n numeric

n substituting numeric values (numbers!) at each step

n 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 algorithm efficient computational scheme for inverse dynamics

(at robot base) numeric steps at every instant �

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 ��(arg1, arg2, arg3)

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 0 n vector parameter � = �, 0 (presence or absence of gravity) n three ordered vector arguments

n typically, samples of joint position, velocity, acceleration taken from a desired trajectory n output

n generalized force � for the complete inverse dynamics n … or single terms of the dynamic model

Robotics 2 11 Examples of output

n complete inverse dynamics

� = �� (��, �̇, �̈) = �(�)�̈ + �(�, �̇) + �(�) = �

n gravity terms

� = �� (�, 0, 0) = �(�)

n centrifugal and Coriolis terms

� = ��(�, �̇, 0) = �(�, �̇)

n �-th column of the matrix � = �-th column � = ��(�, 0, �) = �(�) of identity matrix n generalized momentum

� = �� �, 0, �̇ = � � �̇ = �

Robotics 2 12 Inverse dynamics of a 2R planar robot

desired (smooth) joint : quintic polynomials for �, � with ⇔ zero vel/acc boundary conditions from (90o, -180o) to (0o, 90o) in � = 1 s

Robotics 2 13 Inverse dynamics of a 2R planar robot

zero final torques initial torques = � ≠ 0, � = 0 free equilibrium balance configuration link weights + in final (0o, 90o) zero initial configuration accelerations

motion in vertical plane (under gravity) both links are thin rods of uniform mass � = 10 kg, � = 5 kg Robotics 2 14 Inverse dynamics of a 2R planar robot

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

Robotics 2 15 Use of NE routine for simulation direct dynamics

n numerical integration, at current state (�, �̇), of �̈ = �(�)[� – (�(�, �̇) + �(�))] = �(�)[� – �(�, �̇)]

n Coriolis, centrifugal, and gravity terms

� = �� (�, �̇, 0) complexity �(�) n �-th column of the inertia matrix, for � = 1, . . , � � = ��(�, 0, �) �(� ) n numerical inversion of inertia matrix �(�) ���� = inv(�) but with small coefficient n given �, integrate acceleration computed as �̈ = ���� ∗ [� – �] new state (�, �̇) and repeat over time ...

Robotics 2 16