dynamic model of robots: newton-euler approach

16
Robotics 2 Prof. Alessandro De Luca Dynamic model of robots: Newton-Euler approach

Upload: others

Post on 18-Dec-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic model of robots: Newton-Euler approach

Robotics 2

Prof. Alessandro De Luca

Dynamic model of robots:Newton-Euler approach

Page 2: Dynamic model of robots: Newton-Euler approach

Approaches to dynamic modeling (reprise)

energy-based approach(Euler-Lagrange)

n multi-body robot seen as a wholen constraint (internal) reaction forces

between the links are automatically eliminated: in fact, they do not perform work

n closed-form (symbolic) equations are directly obtained

n best suited for study of dynamic properties and analysis of control schemes

Newton-Euler method(balance of forces/torques)

n dynamic equations written separately for each link/body

n inverse dynamics in real timen equations are evaluated in a

numeric and recursive wayn best for synthesis

(=implementation) of model-based control schemes

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

Robotics 2 2

Page 3: Dynamic model of robots: Newton-Euler approach

Derivative of a vector in a moving frame… from velocity to acceleration

Robotics 2 3

!οΏ½Μ‡οΏ½$ = 𝑆 0πœ”$ 0𝑅$

πœ”π‘–

derivative of β€œunit” vector

𝑒$

𝑑𝑒$𝑑𝑑 = πœ”$ Γ— 𝑒$

Page 4: Dynamic model of robots: Newton-Euler approach

Dynamics of a rigid bodyn Newton dynamic equation

n balance: sum of forces = variation of linear momentum

n Euler dynamic equationn balance: sum of torques = variation of angular momentum

n principle of action and reactionn forces/torques: applied by body 𝑖 to body 𝑖 + 1

= βˆ’ applied by body 𝑖 + 1 to body 𝑖Robotics 2 4

1𝑓$ =𝑑𝑑𝑑 π‘šπ‘£5 = π‘šοΏ½Μ‡οΏ½5

1πœ‡$ =𝑑𝑑𝑑

πΌπœ” = 𝐼�̇� +𝑑𝑑𝑑

𝑅 ̅𝐼𝑅9 πœ” = 𝐼�̇� + οΏ½Μ‡οΏ½ ̅𝐼𝑅9 + 𝑅 ̅𝐼�̇�9 πœ”

= 𝐼�̇� + 𝑆 πœ” 𝑅 ̅𝐼𝑅9πœ” + 𝑅 ̅𝐼𝑅9𝑆9 πœ” πœ” = 𝐼�̇� + πœ” Γ— πΌπœ”

Page 5: Dynamic model of robots: Newton-Euler approach

Newton-Euler equations - 1

link 𝑖

axis 𝑖(π‘ž$)

π’—π’„π’Š

axis 𝑖 + 1(π‘ž$>?)

. .𝑓$>?

𝑧$

π‘š$𝑔

𝑓$ force appliedfrom link 𝑖 βˆ’ 1 on link 𝑖

𝑓$>? force appliedfrom link 𝑖 on link 𝑖 + 1

Newton equation

π‘š$𝑔 gravity force

all vectors expressed in thesame RF (better RF𝑖)

FORCES

N

𝑧$B?

linear acceleration of 𝐢$

centerof mass

Robotics 2 5

π‘ͺπ’Š

𝑓$𝑂$𝑂$B?

𝑓$ βˆ’ 𝑓$>? + π‘š$𝑔 = π‘š$π‘Ž5$

Page 6: Dynamic model of robots: Newton-Euler approach

Newton-Euler equations - 2

link 𝑖

. .π‘Ÿ$B?,5$

𝜏$ torque appliedfrom link (𝑖 βˆ’ 1) on link π‘–πœ$>? torque appliedfrom link 𝑖 on link (𝑖 + 1)

Euler equation

TORQUES

𝑓$ Γ— π‘Ÿ$B?,5$ torque due to 𝑓$ w.r.t. 𝐢$

βˆ’π‘“$>?Γ— π‘Ÿ$,5$ torque due to βˆ’π‘“$>? w.r.t. 𝐢$

E

all vectors expressed inthe same RF (RF𝑖 !!)

Robotics 2 6

gravity force givesno torque at 𝐢$

axis 𝑖(π‘ž$)

axis 𝑖 + 1(π‘ž$>?)

𝑓$>?

𝑧$𝑧$B?

𝑓$ 𝑂$𝑂$B?

𝜏$>?𝜏$

πœ”$

π‘Ÿ$,5$

π‘ͺπ’Š

𝜏$ βˆ’ 𝜏$>? + 𝑓$ Γ— π‘Ÿ$B?,5$ βˆ’π‘“$>? Γ— π‘Ÿ$,5$= 𝐼$οΏ½Μ‡οΏ½$ + πœ”$Γ— 𝐼$πœ”$

angular acceleration of body 𝑖

Page 7: Dynamic model of robots: Newton-Euler approach

Forward recursionComputing 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 hereRobotics 2 7

πœ”$ = π‘–πœ”$

πœ”!

οΏ½Μ‡οΏ½!π‘Ž! βˆ’ 0𝑔

Page 8: Dynamic model of robots: Newton-Euler approach

Backward recursionComputing forces and torques

at each step of this recursion, we have two vector equations (𝑁𝑖 + 𝐸𝑖) at the joint providing 𝑓$ and 𝜏$: these contain ALSO the reaction forces/torquesat the joint axis β‡’ they should be β€œprojected” next along/around this axis

from 𝑁$ to 𝑁$B?

from 𝐸$ to 𝐸$B?

F/TR

add here dissipative terms(here viscous friction only)

eliminated, if insertedin forward recursion (𝑖=0)

Robotics 2 8

generalized forces(in rhs of Euler-Lagrange eqs)

for prismatic joint

for revolute joint𝑁 scalar

equationsFPat the end

ri,ciri,ci)

initializations𝑓M>? 𝜏M>?

Page 9: Dynamic model of robots: Newton-Euler approach

Comments on Newton-Euler methodn the previous forward/backward recursive formulas can

be evaluated in symbolic or numeric formn symbolic

n substituting expressions in a recursive wayn 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 wayn numeric

n substituting numeric values (numbers!) at each stepn 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

Page 10: Dynamic model of robots: Newton-Euler approach

Newton-Euler algorithmefficient computational scheme for inverse dynamics

AR

AR

F/TR

F/TR

FP

FP

inputs outputs

(force/torque exchangeenvironment/E-E)

(at robot base) numeric stepsat every instant 𝑑

Robotics 2 10

, π‘Ž5?

,π‘Ž5MB?

, π‘Ž5M

Page 11: Dynamic model of robots: Newton-Euler approach

n data file (of a specific robot)n number 𝑁 and types Οƒ = 0,1 M of joints (revolute/prismatic)n table of DH kinematic parametersn list of ALL dynamic parameters of the links (and of the motors)

n inputn vector parameter 𝛼 = 0𝑔, 0 (presence or absence of gravity)n three ordered vector arguments

n typically, samples of joint position, velocity, accelerationtaken from a desired trajectory

n outputn generalized force 𝑒 for the complete inverse dynamicsn … or single terms of the dynamic model

general routine 𝑁𝐸S(arg1, arg2, arg3)

Matlab (or C) script

Robotics 2 11

Page 12: Dynamic model of robots: Newton-Euler approach

Examples of output

n complete inverse dynamics

n gravity terms

n centrifugal and Coriolis terms

n 𝑖-th column of the inertia matrix

n generalized momentum

𝑒$ = 𝑖-th columnof identity matrix

𝑒 = 𝑁𝐸!Y(π‘ž, 0, 0) = 𝑔(π‘ž)

𝑒 = 𝑁𝐸!(π‘ž, 0, 𝑒$) = 𝑀$(π‘ž)

𝑒 = 𝑁𝐸! π‘ž, 0, οΏ½Μ‡οΏ½ = 𝑀 π‘ž οΏ½Μ‡οΏ½ = 𝑝

𝑒 = 𝑁𝐸!(π‘ž, οΏ½Μ‡οΏ½, 0) = 𝑐(π‘ž, οΏ½Μ‡οΏ½)

𝑒 = 𝑁𝐸!Y(π‘žπ‘‘, οΏ½Μ‡οΏ½], �̈�]) = 𝑀(π‘ž])�̈�] + 𝑐(π‘ž], οΏ½Μ‡οΏ½]) + 𝑔(π‘ž]) = 𝑒]

Robotics 2 12

Page 13: Dynamic model of robots: Newton-Euler approach

Inverse dynamics of a 2R planar robot

Robotics 2 13

desired (smooth) joint motion:quintic polynomials for π‘ž?, π‘ž_withzero vel/acc boundary conditions

from (90o, -180o) to (0o, 90o) in 𝑇 = 1 s

⇔

Page 14: Dynamic model of robots: Newton-Euler approach

Inverse dynamics of a 2R planar robot

Robotics 2 14

motion in vertical plane (under gravity)both links are thin rods of uniform mass π‘š? = 10 kg, π‘š_ = 5 kg

zeroinitial torques = free equilibriumconfiguration

+zero initial

accelerations

final torques 𝑒? β‰  0, 𝑒_ = 0

balance link weights

in final (0o, 90o)configuration

Page 15: Dynamic model of robots: Newton-Euler approach

Inverse dynamics of a 2R planar robot

Robotics 2 15

torque contributions at the two joints for the desired motion= total, = inertial

= Coriolis/centrifugal, = gravitational

Page 16: Dynamic model of robots: Newton-Euler approach

Use of NE routine for simulationdirect dynamics

n numerical integration, at current state (π‘ž, οΏ½Μ‡οΏ½), of

n Coriolis, centrifugal, and gravity terms

n 𝑖-th column of the inertia matrix, for 𝑖 = 1, . . , 𝑁

n numerical inversion of inertia matrix

n given 𝑒, integrate acceleration computed as

𝑀$ = 𝑁𝐸!(π‘ž, 0, 𝑒$)

𝐼𝑛𝑣𝑀 = inv(𝑀)

�̈� = 𝑀B?(π‘ž)[𝑒 – (𝑐(π‘ž, οΏ½Μ‡οΏ½) + 𝑔(π‘ž))] = 𝑀B?(π‘ž)[𝑒 – 𝑛(π‘ž, οΏ½Μ‡οΏ½)]

Robotics 2 16

complexity 𝑂(𝑁)

𝑂(𝑁_)

𝑂(𝑁l)but with small coefficient

𝑛 = 𝑁𝐸!Y(π‘ž, οΏ½Μ‡οΏ½, 0)

�̈� = 𝐼𝑛𝑣𝑀 βˆ— [𝑒 – 𝑛] new state (π‘ž, οΏ½Μ‡οΏ½)and repeat over time ...