
Robotics 2 Dynamic model of robots: Newton-Euler approach Prof. Alessandro De Luca Approaches to dynamic modeling (reprise) energy-based approach Newton-Euler method (Euler-Lagrange) (balance of forces/torques) 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 time eliminated: in fact, they do not n equations are evaluated in a perform work 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 velocity to acceleration ! ̇ 0 0 �$ = � �$ �$ derivative of “unit” vector �� ��$ = � × � �� $ $ �$ Robotics 2 3 Dynamics of a rigid body n Newton dynamic equation n balance: sum of forces = variation of linear momentum � 1 � = �� = ��̇ $ �� 5 5 n Euler dynamic equation n balance: sum of torques = variation of angular momentum � � 1 � = �� = ��̇ + ���̅ 9 � = ��̇ + �̇��̅ 9 + ���̅ ̇ 9 � $ �� �� = ��̇ + � � ���̅ 9� + ���̅ 9�9 � � = ��̇ + � × �� n principle of action 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 �� �$ force applied of mass from link � − 1 on link � �$ �$B? �� �$>? force applied . from link � on link � + 1 �$B? �$ �$>? �$ �$� gravity force axis � �$� axis � + 1 all vectors expressed in the (�$) (�$>?) same RF (better RF�) Newton equation �$ − �$>? + �$� = �$�5$ N linear acceleration of �$ Robotics 2 5 Newton-Euler equations - 2 link � TORQUES �$ �$ torque applied �$ �$B? from link (� − 1) on link � �$>? �$ �$B?,5$ �$,5$ �$>? torque applied . from link � on link (� + 1) � �$>? �$B? � �$ �$ �$ × �$B?,5$ torque due to �$ w.r.t. �$ axis � axis � + 1 (�$) (�$>?) −�$>?× �$,5$ torque due to −�$>? w.r.t. �$ all vectors expressed in gravity force gives the same RF (RF� !!) Euler equation no torque at �$ �$ − �$>? + �$ × �$B?,5$ −�$>? × �$,5$= �$�̇ $ + �$× �$�$ E angular acceleration of body � Robotics 2 6 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 �̇ ! 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 �$B? in forward recursion (�=0) initializations �M>? �M>? F/TR r ) r i,ci i,ci from �$ to �$B? 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 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 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 , �5? F/TR inputs outputs ,�5MB? AR FP F/TR , �5M (force/torque exchange environment/E-E) Robotics 2 10 Matlab (or C) script general routine ��S(arg1, arg2, arg3) n data file (of a specific robot) M 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 � = �� !Y(��, �̇], �̈]) = �(�])�̈] + �(�], �̇]) + �(�]) = �] n gravity terms � = �� !Y(�, 0, 0) = �(�) n centrifugal and Coriolis terms � = ��!(�, �̇, 0) = �(�, �̇) n �-th column of the inertia matrix �$ = �-th column � = ��!(�, 0, �$) = �$(�) of identity matrix n generalized momentum � = ��! �, 0, �̇ = � � �̇ = � Robotics 2 12 Inverse dynamics of a 2R planar robot desired (smooth) joint motion: 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 �̈ = �B?(�)[� – (�(�, �̇) + �(�))] = �B?(�)[� – �(�, �̇)] n Coriolis, centrifugal, and gravity terms � = �� !Y(�, �̇, 0) complexity �(�) n �-th column of the inertia matrix, for � = 1, . , � _ �$ = ��!(�, 0, �$) �(� ) n numerical inversion of inertia matrix �(�l) ���� = inv(�) but with small coefficient n given �, integrate acceleration computed as �̈ = ���� ∗ [� – �] new state (�, �̇) and repeat over time ... Robotics 2 16.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages16 Page
-
File Size-