1) comprendre les notions fondamentales de la simulation ... · nécessite une discrétisation de...

141
Simulation de systèmes mécatroniques objectifs : 1) Comprendre les notions fondamentales de la simulation, leurs avantages et leurs limitations 2) Etre apte à utiliser le logiciel SIMULINK 3) Savoir structurer un problème de simulation

Upload: others

Post on 18-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Simulation de systèmes mécatroniques

objectifs :

1) Comprendre les notions fondamentales de la simulation, leursavantages et leurs limitations

2) Etre apte à utiliser le logiciel SIMULINK

3) Savoir structurer un problème de simulation

Page 2: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Contenu

30 % exposés, théorie

70 % laboratoires SIMULINK

1/3 : note du TE vers la fin du trimestre

2/3 : moyenne des notes de labo

Contrôle continu

Page 3: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Définition du terme „simulation“Prévoir le comportement d‘un système réel en utilisant un modèle.

La simulation est le 3ème pilier entre les piliers « théorie » et « pratique »

Page 4: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Objectifs de la simulation

analyses, p.ex. influence de tolérances, vérification d‘hypothèses, identification, comparaison de différentes solutions, choix des paramètres, optimisation, etc

la simulation est un outil très puissant dans le processus de développement de produits

Quelles sont les étappes dans le développement d‘un produit ?

Page 5: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Activités type du processus de développement de produits

Page 6: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Dans quelles étappes est-ce qu‘on peut utiliser lasimulation, et quels sont les objectifs ?

Page 7: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Avantages

• économiser le temps et les coûts de développement (moins de prototypage)

• minimiser le risque d‘un développement (les problèmes devraientapparaitre déjà dans le modèle)

• pas de danger d‘endommager le système réel• augmenter la qualité du développement• plage des paramètres n‘est pas limitée par des contraintestechnologiques

• les perturbations peuvent être introduit dans le modèle de façoncontrôlée (modèle sans bruit / avec l‘ajout de bruit aléatoire)

Page 8: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Risques / limitations d‘une simulation

Si le modèle est incomplet, imprécis, faux ou inapproprié,

et/ou si les résultats d‘une simulation sont mal interprétés ...

au lieu d‘aider, une simulation incorrecte peut même engendrer des

décisions néfastes !!

la simulation n‘est qu‘un outil, et il faut bien le maîtriser pour

pouvoir bénéficier de ses avantages

un prototype qui marche est plus précieux qu‘une simulation

qui marche ...

Page 9: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Chaque modèle a un domaine de validité

utiliser un modèle hors du domaine de validité peut être dangereux

Page 10: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

domaine de validité (exemple 1)

réalité un modèle

loi d‘Ohm

IRU ⋅=

Quel est le domaine de validité de ce modèle ?

Page 11: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

domaine de validité (exemple 2)

levier (réalité)

Quel est le domaine de validité de votre modèle ?

Donner un modèle du levier !pivot

f1

x1

f2x2

L1

L2

Page 12: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

chaque modèle est une simplification d‘une réalitécomplexe !

Donner des exemples d‘hypothèses simplificatrices qui sont

souvent utilisés lors de la modélisation !

modèle « précis »= modèle complexe

beaucoup de paramètreslourd à simuler

modèle « grossier »= modèle simple

peu de paramètresfacile à simuler

choix à faire en fonction des objectifs et des exigences

Page 13: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Erreurs / problèmes fréquents

• effets non modélisés modèle imprécis

• paramètres du modèle ne correspondent pas modèle imprécis

• mauvais choix de l‘algorithme de résolution (solver) résultat imprécis

• erreur d‘interprétation des résultats

la validation d‘une simulation est hyper-importanteet doit être menée très systématiquement

Page 14: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

les 4 phases dans le développement d‘une simulation1. Définition

quel est l‘objectif concret de la simulation ?délimitation du système/sous-système à modéliserquels phénomènes ?, relations cause / effets ?, équations, ...)

2. Modélisationphysiqueforme informatique, choix du „solveur“, ...

3. ValidationEst-ce que le modèle reproduit le comportement du système réelavec la précision requise ?

4. Exploitation des résultatsmanipulation et étude du modèle

Page 15: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Classification de modèles de simulation (1)

• modèles déterministes

• modèles stochastiques

Page 16: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Classification de modèles de simulation (2)

• CSCT (continuous space, continuous time)„distributed parameter systems“modélisé par des équations diff. partielles(Navier-Stokes, Laplace, etc)écoulements, électromagnétisme, propagation de chaleur, ondes, diffusion, contraintes mécaniques, structures vibratoires réparties

maillage nécessaire pour discrétiser l‘espaceméthode par éléments finis (FEM)

Page 17: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple : „ANSYS multiphysics“

Page 18: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple COMSOL multiphysics

interaction écoulement avec structure mécanique (lame)

Page 19: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Simulation d‘un écoulement autour d‘un disque

Page 20: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple familier : la météo

Page 21: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Etappes dans une modélisation „éléments finis“

1. définir la géométrie (dessiner / importer depuis CAO)

a) souvent nécessaire de simplifier

b) préférable de commencer en 2D !

b) exploiter les symmétries !

2. définir le maillage (finesse, forme)

3. définir la physique + propriétés des pièces

4. résoudre les équations (solve)

5. postprocessing

Page 22: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Classification de modèles de simulation (3)

• DSCT (discret space, continuous time)„lumped parameter systems“modélisé par des équations différentielles ODEcircuits électriques, systèmes mécaniques avec éléments concentrés(rigid body dynamics)

l‘axe du temps est continu, mais il est discrétisé lors de la résolution numérique (pas d‘intégration fixe/variable)

Page 23: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Spice : Simulation de circuits électroniques

Page 24: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

SimMechanics

chaîne cinématique de corps rigides, liés par des articulations

Page 25: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple : „multibody systems“

Page 26: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Classification de modèles de simulation (4)

• DSDT (discret space, discret time)modélisé par des équations aux différencesfiltres et régulateurs numériques

• DES (discrete event systems)les variables d‘espaces sont quantifiéesp.ex. modélisation du traffic, modélisation de systèmes de production

• hybrid systems

Page 27: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Chaque modèle est basé sur des hypothèses

ϕ

exemple : pendule

∑ ⋅−==⋅ )sin(2

couples ϕϕ lgmJ

un modèle nonlinéaire

Quelles sont les hypothèses sur lesquelles ce modèle est basé ?

Page 28: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Programmation graphique (schéma bloc)Thermal Model of a House

Thermostat

ThermalPlots

70Set Point

?

1/s

House

-K-

HeaterBlower

F2C

Fahrenheitto Celsius

F2C

Fahrenheitto Celsius

-K-

DollarGain

Daily TempVariation

C2F

Celsius toFahrenheit

50Avg Outdoor

Temp

heaterQDotblower

cmdTerr

Tin

Indoor vs.Outdoor Temp.

Heat Cost ($)

• blocs élémentaires de la librairie• blocs imbriqués• blocs procéduraux, non graphiques (fonctions S)

Page 29: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

avantages de l‘approche par schéma bloc

Quelles sont les avantages de la programmation graphique ?

Page 30: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Mise sous forme graphique d‘une éq. diff.

Exemple : oscillateur avec 2 DDL

Formuler la loi de Newton pour chaque corps

Système de 2 équations diff. du deuxième degré

Ordre = 4 (nécessité d‘avoir 4 intégrateurs)

1m

2m

1k 1d

2d2k

actf

Page 31: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Modélisation d‘un oscillateur avec 2 DDL

)()(

)()(

122122act22

212212111111

xxdxxkFxm

xxdxxkxdxkxm

−−−−=

−−−−−−=

( )

( ))()(1

)()(1

122122act2

2

21221211111

1

xxdxxkFm

x

xxdxxkxdxkm

x

−−−−=

−−−−−−=

1m

2m

1k 1d

2d2k

actf

Résoudre chaque équation par rapport à la dérivée la plus élevée. Cette dérivée correspond au signal d‘entréed‘un ou de plusieurs intégrateurs.

Page 32: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Schéma bloc

∫ ∫1x1x1x

∫ ∫2x

2x2x

1

1m

1d

1k

2

1m

fact

+

++

+2k

2x

+2d

2x

Page 33: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Introduction aux „solvers“ de simulation

Malgré leur aspect visuel (GUI) convivial, les logiciels de simulationfont des calculs extrèmement complexes en interne.

Cette complexité énorme est cachée par une interface utilisateur (GUI).

En cas de problème, il faudra avoir un minimum de connaissances„internes“ pour s‘en sortir ...

Hélas, les activités „valider, débugger, interpréter, analyser, conclure, décider“ ne se font pas encore automatiquement (heureusement pour nous, sinon la raison d‘être de l‘ingénieur serait mis en question ...)

Page 34: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

rôle du solverRésolution numérique d‘équations différentielles(linéaires / nonlinéaires).

Nécessite une discrétisation de l‘axe du temps.Contrairement à la régulation numérique la discrétisationde l‘axe des temps ne doit pas forcément être régulière.

Solution numérique xn(tk) approxime la solution exacte x(t)

ne pas confondre les erreurs de modélisation

aux erreurs engendrées par la résolution numérique !!

Page 35: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Il faut configurer les paramètres du solveur !

Page 36: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Simulation de systèmes mécatroniques

))(()( txftx =ODE = „Ordinary Differential Equation“sous forme vectorielle

condition initiale donnée : x(t0) = x0

trouver x(t) pour t > t0

Une solution exacte (« formule » pour x(t)) n‘existeque pour certaines équations différentielles, donc on est obligé de recourir à la « simulation numérique ».

L‘algorithme utilisé pour trouver une solutionnumérique approximative est appelé „solver“.

Page 37: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Vecteur d‘état

Les composantes du vecteur d‘état sont appelées variables d‘état. Ce sont les grandeurs physiques internes x1, x2 , ... xn d‘un système qui décrivent de façon univoque l‘étatd‘un système (p. ex. position, configuration, vitesse, pression, températures, tensions électriques, ...)

u(t) y(t)

systèmex1(t), x2(t) ... xn(t)

)(tx

Page 38: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Avantages de la forme vectorielle„espace d‘état“

• généralisation d‘une équation différentielle avec une seule variableen principe, même technique de résolution

• se prête bien pour le traitement par ordinateur (algorithme)

• on trouve aujourd‘hui des problèmes en ingénierie avec ~10‘000 à100‘000 variables (problèmes CSCT avec discrétisation de l‘espace)

Page 39: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Evolution dans l‘espace d‘état trajectoires

exemple : mouvement du pendule

Page 40: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Points d‘équilibre : x = f(x) = 0

point d‘équilibre stable (0°)point d‘équilibre instable (pendule inversé, 180°)

.

Page 41: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Equilibre stable : définition vulgarisée

point d‘équilibre asymptotiquement stable:une fois légèrement écarté d‘un point d‘équilibrestable, le système a la tendance d‘y revenir par lui-même et d‘y demeurer. Exemple : position verticale d‘un pendule simple avecfrottement.

écarté del‘équilibre

après un certain temps ...retour àl‘équilibre

Page 42: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Equilibre instable : définition vulgariséepoint d‘équilibre instable (labile):une fois légèrement écarté d‘un point d‘équilibreinstable, le système a la tendance de s‘éloigner de plus en plus et à ne plus d‘y revenir par lui-même.

Exemple : position verticale d‘un pendule inversé.

légèrementécarté del‘équilibre

après un court tempsl‘écart ϕ(t) a augmenté !

Page 43: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Equilibre marginalement stable : définition vulgarisée

point d‘équilibre marginalement stable:une fois légèrement écarté d‘un point d‘équilibremarginalement stable, le système reste dans sonentourage en effectuant des oscillations permanentes autour du point d‘équilibre mais sans jamais y revenir.

Exemple : position verticale d‘un pendule simple (sans aucun frottement).

Page 44: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

solver le plus simple : méthode d‘Euler

))(()( txftx =

résoudre par rapport à x(tk+1)

kk

kkk tt

txtxtx−−

≅+

+

1

1 )()()(Idée : approximer la dérivée par une sécante

exécution d‘un pas d‘intégration

))(()()(

1

1k

kk

kk txftt

txtx≅

−−

+

+

))(()()()( 11 kkkkk txftttxtx −+= ++

Page 45: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Caractéristiques

Lors d‘un pas d‘intégration, la méthode d‘Euler nécessite une seuleévaluation de la fonction f

on dit qu‘il s‘agit d‘une méthode d‘ordre 1

le calcul de la nouvelle valeur se fait de façon explicite.On dit qu‘il s‘agit d‘une méthode explicite

)( 1+ktx

Page 46: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Ordre n d‘un solver

L‘ordre n d‘un solver est le nombre n nécessaire d‘évaluations de f lors d‘un seul pas d‘intégration. Exemples :

ode1 : Eulerode2 : Heunode3 : Bogacki-Shanpineode4 : Runge-Kuttaode5 : Dormand-Prince

Important : les endroits d‘évaluation de f pour les méthodes d‘ordren > 1 est choisi selon une stratégie définie par le solver.

à ne pas confondre au pas (temporel) d‘intégration !

Page 47: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple : solver Hein

)(21)()(

))(()(

))(()(

211

112

11

kktxtx

ktxfttk

txfttk

kk

kkk

kkk

++=

+−=

−=

+

+

+ } deux évaluations de f

un pas d‘intégration

c‘est une méthode d‘ordre 2On peut montrer que l‘ordre du solver est lié à la précision.Si on divise par deux le pas d‘intégration , la précisiondu résultat va être quatre fois plus élevée pour un solver d‘ordre 2.

kk tt −+1

Page 48: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

précision, pas d‘intégration, ordre du solver

Si le système à simuler ne comporte pas des discontinuités, on peutmontrer que

solver ordre(pas) erreur ∝

Page 49: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

dilemme „temps de calcul“ ⇔ „précision“

précision temps de calcul

ordre du solver élevépas d‘intégration faible

Page 50: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Pas d‘intégration fixe

L‘incrément de temps pour un solver donné peut êtrechoisi fixe, ou variable.

S‘il est choisi fixe, c‘est à la responsabilité de l‘utilisateur de choisirune valeur appropriée, sinon les résultats risquent d‘être faux ou trèsimprécis.

règle grossière :

pas d‘intégration < 1/20 de la constante de temps la plus faible du système (phénomènes les plus rapides).

kk tt −+1

Page 51: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Pas d‘intégration variable

L‘incrément de temps est déterminé par un algorithmeadaptatif. S‘il n‘y a que des faibles changements, le pas d‘intégrationest automatiquement élargi.

avantage : diminution du temps de calcul

Si du coup, il y a des changements rapides, le pas d‘intégration estdiminué automatiquement pour pouvoir suivre la trajectoire avec uneprécision exigée.

avantage : augmentation de la précision

kk tt −+1

Page 52: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Paramètres à spécifier pour „pas variable“

• tolérance relative

• tolérance absolue

• pas initial (attentes, connaissance du système)

• pas min

• pas max (basé sur les constantes de temps, et sur le nombrede points souhaités)

se méfier des valeurs „auto“ !En général ça marche bien pour les exemples simples, maisça plante pour les exemples compliqués.

} précision requise

Page 53: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Nécessité de faire des essais !

Le bon choix du solver et des paramètres associés nécessiteen général quelques essais au préalable.

Critère : Les résultats de la simulation ne doivent plus varierfortement si on divise par deux le pas d‘intégration.

Page 54: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Validation d‘une simulation

• bien documenter la validation

• procéder de façon systématique

Page 55: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Systématique : Top Down ⇔ Bottom Up

Top Down : toute conception en ingénierie doit être faite «top down», et structuré depuis la plus haute couche à la plus basse.

Bottom Up : Le développement détaillé, et surtout la validation doitse faire dans le sens inverse, c-à-d «bottom up».

Valider séparément les blocs les plus simples (bottom), connecter ces blocs pour former des blocs plus compliqués, revalider, etc.jusqu’au bloc final (top).

Page 56: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Valider quoi, valider comment ?

Validations quantitatives :

• à l‘aide de mesures prises sur un système réel

• à l‘aide d‘un modèle analytique simplifié(p.ex. un modèle qui ne prend pas en compte certains effets)

• comparer pour différents paramètres physiques

• comparer pour différentes conditions initiales

• comparer pour différents solvers et pour différents pas d‘intégrationméfiez vous des résultats s‘il y a beaucoup de changements !!

Valider si la simulation reproduit la réalité !

Page 57: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Valider quoi, valider comment ?

Validations qualitatives (nécessaire, mais pas suffisant) :

• Est-ce que le résultat de simulation correspond à vos attentesphysiques ?

• Est-ce que la variation des paramètres, cas particuliers produisentdes résultats en correspondance avec vos attentes physiques ?

Page 58: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

fonctionnalités d‘un logiciel de simulation

modèles sous forme graphique (schéma blocs)

modèles sous forme programmée (fonctions S)

résolution numérique : solvers, gestion du pas d‘intégration

gestion de discontinuités (state event / time event)

calcul du point de fonctionnement

linéarisation autour d‘un point de fonctionnement

prototypage rapide pour cibles temps réel, HIL, vérification

Page 59: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Précision de la simulation

Chaque pas d‘intégration introduit une erreur numérique.

Ces erreurs se propagent et s‘accumulent au fur et à mesure que la simulation évolue.

C‘est comparable à un processus de paiement d‘intérêt composé ...

Pour la simulation de systèmes instables, ce phénomèned‘accumulation d‘erreur est particulièrement prononcé.

Page 60: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

exemple d‘un système stable

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

Temps t

évol

utio

n x(

t)Champ directionnel f(x) = 1 - x

conditioninitiale

solutionexacte x(t)

valeurssimulées

)(xfx =

méthode d‘Euler

Page 61: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

exemple d‘un système instable

xx.

xxfx == )(

solution analytique : tetx =)(

condition initiale : x(0) = 1

Page 62: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Précision des résultats de simulation

xexact – xsim

err = 485

xexact – xsim

err = 0.011

xexact – xsim

err = 1.3⋅10−7

Runge-Kuttaordre 4pas = 0.05

xexact – xsim

err = 7440 !!

xexact – xsim

err = 0.1689

xexact – xsim

err = 2⋅10−6

Runge-Kuttaordre 4pas = 0.1

t = 20t = 10t = 2

en l‘occurence, si on divise par deux le pas d‘intégration,

la précision du résultat est seize fois meilleure !

mais l‘effort de calcul n‘est que le double !

Page 63: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Allure de l‘erreur en fonction du pas et de l‘ordre du solver

erreur d‘intégration ∼ (pas)ordre

Pour le solver Runge-Kutta : ordre = 4

Donc : ( )44

161

2paspas

⋅=⎟⎠⎞

⎜⎝⎛

Page 64: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

choix du solver

L‘effort de calcul est proportionnel au nombre de pas effectués.

Pour un temps de simulation donné, l‘effort de calcul est doncinversément proportionnel au pas d‘intégration.

En général, il est judicieux d‘utiliser une méthode d‘ordre élevé si le système a un «comportement lisse ».

Néanmoins, il n‘existe pas de solver qui est optimal pour chaque cas de figure. D‘où la nécessité de faire des essais si besoin est.

Page 65: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

choix de la gestion du pas

- pas fixe pour un système hybride (analogique + échantillonné)

- le pas fixe doit être spécifié par l‘utilisateurtyp. 1/20 de la constante de temps la plus courte, sous-multiple de lapériode d‘échantillonnage)

- pas variable pour un système analogique pur

- pas variable pour des systèmes avec des événement d‘état

- spécifier tolérances (relatives + absolues), le pas min, max, et initial

Page 66: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Commande Matlab pour mesurer le temps de calcul

T_ini = cputime;sim('machin‘);% autres commandes

T=cputime−T_ini;

temps de calcul de la CPU

Page 67: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemples de systèmes difficiles à simulerSystèmes dits „rigide“ (stiff differential equations)

Ce sont des systèmes dans lesquels il y a plusieurs constantes de tempstrès éloignés (plusieurs ordres de grandeur).

Le pas d‘intégration doit s‘orienter à la constante de temps la plus faible ( modes temporels les plus rapides).

temps de calcul immense !

Remède : utiliser des algorithmes de solver dit « implicites »(ode15s (stiff/NDF), ode23s (stiff/mod. Rosenbrock), ...)et utiliser un pas d‘intégration variable.

Page 68: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

événements d‘état = discontinuité structurelle

« state events » : imprévisible sur l‘axe de temps.

exemples : saturations, frottement sec, relais, fonction signe, switch, hit crossing, mécanique des contacts entre corps, etc.

bibliothèque Simulink « Discontinuities»

Page 69: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Systèmes avec une discontinuité structurelle

0)),((si)),(()(

0)),((si)),(()(

2

1

<Φ=

>Φ=

ttxttxftx

ttxttxftx

0)),((:n commutatio de surface =Φ ttx

exemple le plus simple : une balle qui bondit

Page 70: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

événements temporels

exemple : systèmes hybrides temps continu / temps discretle signal de commande livré par le régulateur varieseulement aux instants d‘échantillonnageces événements temporels sont connus d‘emblée

Si le solver pour la partie « temps continu » travaille avecun pas variable (préconisé), il peut déterminer l’état à l’instant précisde l’événement, et prendre en compte le changement temporel.

Afin de pouvoir simuler des systèmes avec discontinuités,

des algorithmes spéciaux sont mis à disposition ( event handling).

Page 71: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Comment le solver gère les « state events »

Si le solver travaille avec un pas variable (préconisé), il peutdéterminer si la surface de commutation a été franchie entre 2 pas d’intégration. Mais les points des deux côtés de la surface peuventêtre très éloignés (car le pas d’intégration est variable).

Pour améliorer la précision, le solver démarre automatiquement uneitération interne pour arriver « pile » à l’état où l’événement a lieu.

La condition de finition de cette itération est spécifiée par des tolérances, que l’utilisateur doit spécifier.

Il y a une valeur de défaut pour la tolérance, mais suivant l’applicationelle doit être changée.

Page 72: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

exemple laboratoire 1

0 1 2 3 40.4

0.6

0.8

1

1.2

1.4Période en fonction de l'amplitude

Amplitude

Pério

de

simulé avec pas variable

simulé avecpas fixelinéarisé

Page 73: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

« discontinuité » du vecteur vitesseIl n‘existe en principe pas de discontinuités dans les systèmes

techniques réels !!Il semble y avoir des discontinuités, si l‘échelle du tempsest choisie trop grossière.Exemple : bondissement d‘une balle

Le vecteur de vitesse ne change jamais immédiatement !Point de vue microscopique : déformation locale au «point de contact »!

difficile à modéliser

Point de vue macroscopique : le changement rapide de la vitesse estapproximé par un changement instantané.

facile à modéliser

Page 74: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Simulink demo : sldemo_bounce.mdlpoint de vue macroscopique

recharge une nouvellecondition initiale au flancdescendant de Z

Page 75: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Comment le solver gère ces discontinuités

0 2 4 6 8 10 12 14 16 18 20-5

0

5

10

15

20

Page 76: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Balle bondissante : point de vue macroscopiquecontact = durée infinitésimale Δt→ 0 impact = discontinuité

le vecteur vitesse v(t) change instantanément lors de l‘impactforce de contact = DIRAC !! impossible à simuler !!solution : recharger la condition initiale de la vitesse

au cours de la simulation lors du passage par zéro de z(t)

Page 77: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Comparaison des résultats de simulation

0 2 4 6 8 10 12 14 16 18 200

5

10

15

20

25

temps [s]

haut

eur Z

[m]Bouncing Ball

pas variable avec détection d'événement

pas fixe grossier (0.2)

précis !

imprécis

Page 78: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Le pas d‘intégration chute lors de l‘événement

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

0.012

indice

pas

d'in

tégr

atio

n [s

]diff(tsim)

Page 79: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Balle bondissante : point de vue microscopique

contact = durée finie déformation locale de la balle

le vecteur vitesse v(t) change progressivement lors de l‘impact

force de contact = définie, calculable

sol indéformable

m

m⋅g

Page 80: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Point de vue microscopique

Deux équation différentielles pour deux régimes

m

m⋅g

phase de vol

m

discontinuité structurellelors de l‘impact

phase de contact

Page 81: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Point de vue microscopique

Page 82: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Comparaison micro / macroscopique

0 2 4 6 8 10 12 14 16 18 20-5

0

5

10

15

20

25

temps [s]

z(t)

[m]

Page 83: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

comparaison sous la loupe lors de l‘impact

3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.1 4.2

-1

0

1

2

3

4

5

temps [s]

z(t)

[m]

macroscopique

microscopique

Page 84: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Moralité

Le modèle microscopique peut être plus précis, mais il est aussi plus complexe, et nécessite la connaissance de plusieurs paramètres.

modèle macroscopique : basé sur la discontinuité de la vitesse

modèle microscopique : basé sur une discontinuité structurelle (contact)

Lequel des deux modèles choisir ?

C‘est en fonction des besoins et de l‘objectif de la simulation.

Les deux font apparaître des événements d‘état, qu‘il faudradétecter en utilisant un algorithme à pas variable

Page 85: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Nécessité de bien choisir les paramètres du solver

Page 86: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Nécessité de bien choisir les paramètres du solver

Simulink utilise par défaut le solver «ode45» avec pas variable et avec des valeurs «auto» pour le pas initial, pas minimal, et pas maximal.La tolérance relative est par défaut à 1.0e-3.

Méfiez vous de cette configuration !Les résultats peuvent être complètement faux.

L’utilisateur doit impérativement choisir les paramètres du solver en fonction du problème.

L‘utilisateur doit donc connaître au moins l‘ordre de grandeur des constantes de temps du système en question.

L‘utilisateur doit documenter les paramètres du solver.

Page 87: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple où « auto » et pas variable plante

0.1 Hz 1 Hzdans 100 secondes

Page 88: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple où « auto » et pas variable plante

0 10 20 30 40 50 60 70 80 90 100-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

temps [s]

Sign

al d

e so

rtie

pas variable, "auto"

Page 89: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

avec ajustage approprié des paramètres ...

0 10 20 30 40 50 60 70 80 90 100-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

temps [s]

sign

al d

e so

rtie

pas initial = 1, max step = 1, relative tolerance = 1.0e-6

Page 90: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

adaptation automatique du pas d‘intégration

0 10 20 30 40 50 60 70 80 90 1000

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

temps [s]

pas

d'in

téra

gtio

n [s

]~1 / fexc

pas d'intégration

Page 91: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Balle bondissante : point de vue macroscopiquecontact = durée infinitésimale Δt→ 0 impact = discontinuité

le vecteur vitesse v(t) change instantanément lors de l‘impactforce de contact = DIRAC !! impossible à simuler !!solution : recharger la condition initiale de la vitesse

au cours de la simulation lors du passage par zéro de z(t)

Page 92: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Comparaison des résultats de simulation

0 2 4 6 8 10 12 14 16 18 200

5

10

15

20

25

temps [s]

haut

eur Z

[m]Bouncing Ball

pas variable avec détection d'événement

pas fixe grossier (0.2)

précis !

imprécis

Page 93: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Le pas d‘intégration chute lors de l‘événement

0 500 1000 1500 2000 25000

0.002

0.004

0.006

0.008

0.01

0.012

indice

pas

d'in

tégr

atio

n [s

]diff(tsim)

Page 94: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Balle bondissante : point de vue microscopique

contact = durée finie déformation locale de la balle

le vecteur vitesse v(t) change progressivement lors de l‘impact

force de contact = définie, calculable

sol indéformable

m

m⋅g

Page 95: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Point de vue microscopique

Deux équation différentielles pour deux régimes

m

m⋅g

phase de vol

m

discontinuité structurellelors de l‘impact

phase de contact

Page 96: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Point de vue microscopique

Page 97: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Comparaison micro / macroscopique

0 2 4 6 8 10 12 14 16 18 20-5

0

5

10

15

20

25

temps [s]

z(t)

[m]

Page 98: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

comparaison au ralenti lors de l‘impact

3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.1 4.2

-1

0

1

2

3

4

5

temps [s]

z(t)

[m]

macroscopique

microscopique

Page 99: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Moralité

Le modèle microscopique peut être plus précis, mais il est aussi plus complexe, et nécessite la connaissance de plusieurs paramètres.

modèle macroscopique : basé sur la discontinuité de la vitesse

modèle microscopique : basé sur une discontinuité structurelle (contact)

Lequel des deux modèles choisir ?

C‘est en fonction des besoins et de l‘objectif de la simulation.

Les deux font apparaître des événements d‘état, qu‘il faudradétecter en utilisant un algorithme à pas variable

Page 100: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Nécessité de bien choisir les paramètres du solver

Simulink utilise par défaut le solver «ode45» avec pas variable et avec des valeurs «auto» pour le pas initial, pas minimal, et pas maximal.La tolérance relative est par défaut à 1.0e-3.

Méfiez vous de cette configuration !Les résultats peuvent être complètement faux.

L’utilisateur doit impérativement choisir les paramètres du solver en fonction du problème.

L‘utilisateur doit donc connaître au moins l‘ordre de grandeur des constantes de temps du système en question.

Page 101: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple où « auto » et « pas variable » plante

0.1 Hz 1 Hzdans 100 secondes

Page 102: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple où « auto » et pas variable plante

0 10 20 30 40 50 60 70 80 90 100-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

temps [s]

Sign

al d

e so

rtie

pas variable, "auto"

Page 103: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

avec ajustage approprié des paramètres ...

0 10 20 30 40 50 60 70 80 90 100-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

temps [s]

sign

al d

e so

rtie

pas initial = 1, max step = 1, relative tolerance = 1.0e-6

Page 104: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

adaptation automatique du pas d‘intégration

0 10 20 30 40 50 60 70 80 90 1000

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

temps [s]

pas

d'in

téra

gtio

n [s

]~1 / fexc

pas d'intégration

Page 105: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Simulation de systèmes numériquescertains blocs permettent de spécifier une période d‘échantillonnage,p.ex. le bloc « gain »

Page 106: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exempleen Simulink, les convertisseurs A/D et D/A n‘apparaissent pas forcément.

Page 107: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Attention : l‘apparence du plot ne met pas en évidence les escaliers !!

0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Par défaut, la commande « plot » relie les points par des droites.

Page 108: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Affichage de signaux discrets

0 1 2 3 4 5 6 7-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

bleu : commande « plot »rouge : commande « stairs »

données x, y identiques

Page 109: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Effets de quantification de l‘amplitude

La résolution donnée d‘un convertisseur A/D ou D/A est liée au nombrede bits (typ. 10-12 bits pour les applications industrielles).

La bibliothèque « Discontinuities » comporte un bloc de quantification,

mais souvent on modélise la quantification par un bruit (signal aléatoiresuperposé au signal utile).

Page 110: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

systèmes linéaires temps continu / temps discret

Page 111: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Bibliothèque « Discrete »

Page 112: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Conseils pratiques

• Ne jamais disperser les valeurs numériques des paramètresdans les différents blocs

• Utiliser des symboles, définis par le biais d‘un fichier .m

• Mettre tous les éléments numériques qui tournent à la même fréquenced‘échantillonnage dans un sous-bloc.

• Mettre « Sample time = −1 » (inherited)La période d‘échantillonnage est « hérité depuis le bloc parent »

Page 113: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Colorier les signaux et les blocs numériques

Page 114: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Exemple : régulation en cascade à plusieuresfréquences d‘échantillonnage (multirate systems)

Ic tension

régulateur numérique de courant

e Ic

régulateur numériquede positioncomparateur1

comparateur

tensionpositioncourant

Système à régleranalogique

PulseGenerator

temps continu

discret (h1)discret (h2)

Page 115: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Systèmes mixtes temps continu / temps discret

Les instants d‘échantillonnages correspondent à des événementstemporels.

Les pas du solver doivent tomber pile poil sur les instantsd‘échantillonnage. Pas variable souvent déconseillé (overhead troplourd).

Page 116: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Solvers pour systèmes hybrides

Contrairement aux systèmes en temps-continu, les systèmes discretspeuvent être calculés directement (p.ex. par résolution récursive d‘uneéquation aux différences).

Pour les systèmes hybrides (p.ex. syst. à régler en temps continu, régulateur en temps discret), on a souvent avantage de prendre unsolveur à pas fixe pour la partie temps-continue. Comme la périoded‘échantillonnage est normalement beaucoup plus courte que les constantes de temps du système à régler, il est judicieux de choisir le pasd‘intégration égal à la période d‘échantillonnage, ou bien à 1/N fois la période d‘échantillonnage.

Page 117: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Boucles algébriques

Une boucle algébrique apparaît, lorsqu‘on met en contre-réaction

des blocs à « comportement statique ».

Exemple :

boucle

blocs statiques

Page 118: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Ordonnancement automatique pour la simulation de blocs interconnectésAvant de lancer une simulation, SIMULINK fait automatiquement unordonnancement des blocs, qui déterminera l‘ordre dans le calcul de simulation se fera.

Le signal d‘entrée à l‘instant t = t1 doit être connu, afin de pouvoircalculer son état et son signal de sortie pour l‘instant t = t1.

Exemples :

• mise en serie de blocs avec un signal d‘entrée connu

• mise en contre-réaction avec un régulateur proportionnel et un système à régler à comportement passe-bas.

Page 119: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Boucles algébriques

Une boucle algébrique fait apparaître une équation implicite, que le solver doit résoudre à chaque pas d‘intégration.

Exemple :

))()(sin(5.0)( tytwty −⋅=

résoudre par rapport à y pas de solution analytique

Page 120: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Equation implicite

0 1 2 3 4 5 6-0.5

0

0.5

1

1.5

2

2.5

3point d'intersection

0.5 sin(1-y)

y

Page 121: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Forme cachée d‘une boucle algébrique

pas de boucle algébrique

boucle algébrique !

Page 122: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Boucles algébriques

Simulink émet un «warning » lorsqu‘il rencontre une boucle algébrique

Résoudre une boucle algébrique est calcul lourd pour le solver, & possibilités d‘ambiguités.

Simulink peut résoudre les boucles algébriques, mais c‘est mieuxsi l‘utilisateur peut les faire disparaître.

forme générale d‘une équation implicite: 0))(( =tyf

Page 123: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Autres fonctionnalités de Simulink

• Tables lookup

• Calcul de points d‘équilibre (points de fonctionnement) de systèmesnonlinéaires. Commande : trim

• Linéarisation de systèmes nonlinéaires autour d‘un point de fonctionnement.Sys_LTI = linmod(‘sys‘, x, u)

génère un objet LTI à partir d‘un modèle Simulink

Page 124: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Tables lookup

Interpolation / Extrapolation linéaire de points mesurés

blocs statiques nonlinéaires

Page 125: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Linéarisation : exemple

Trouver le point de fonctionnement et un modèle linéarisé pour u=0.5

Page 126: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Utilité d‘un modèle linéarisé

1. Il y a beaucoup d‘outils d‘analyse et de synthèse pour les systèmeslinéaires !

2. Pour pouvoir appliquer les méthodes de synthèse classiques de régulateurs (méthode de Bode, lieu des pôles, commande sisotool)

La simulation sert à valider le comportement du système nonlinéaire

Page 127: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Commande trim

Le point de fonctionnement est :

0

)30 (5236.0

=

°==

ϕ

ϕ

Page 128: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Commande linmod

Page 129: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Fonctions S

)()(

)()(

122122act22

212212111111

xxdxxkFxm

xxdxxkxdxkxm

−−−−=

−−−−−−=

∫ ∫1x1x1x

∫ ∫2x

2x2x

1

1m

1d

1k

2

1m

fact

+++

−+

2k

2x

+2d

2x

Un schéma bloc n‘est pasforcément plus parlantqu‘une équation diff ...

Page 130: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Autres fonctionnalités de Simulink

• Tables lookup

• Calcul de points d‘équilibre (points de fonctionnement) de systèmesnonlinéaires. Commande : trim

• Linéarisation de systèmes nonlinéaires autour d‘un point de fonctionnement.Sys_LTI = linmod(‘sys‘, x, u)

génère un objet LTI à partir d‘un modèle Simulink

Page 131: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Tables lookup

Interpolation / Extrapolation linéaire de points mesurés

blocs statiques nonlinéaires

Page 132: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Utilité d‘un modèle linéarisé

1. Il y a beaucoup d‘outils d‘analyse et de synthèse pour les systèmeslinéaires !

2. Pour pouvoir appliquer les méthodes de synthèse classiques de régulateurs (méthode de Bode, lieu des pôles, commande sisotool)

La simulation sert à valider le comportement du système nonlinéaire

Page 133: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Linéarisation : exemple pendule

Trouver le point de fonctionnement et un modèle linéarisé pour u=0.5

Page 134: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Commande trim

Le point de fonctionnement est :

0

)30 (5236.0

=

°==

ϕ

ϕ

Page 135: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Commande linmod

Page 136: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Fonctions S

)()(

)()(

122122act22

212212111111

xxdxxkFxm

xxdxxkxdxkxm

−−−−=

−−−−−−=

∫ ∫1x1x1x

∫ ∫2x

2x2x

1

1m

1d

1k

2

1m

fact

+++

−+

2k

2x

+2d

2x

Un schéma bloc n‘est pasforcément plus parlantqu‘une équation diff ...

Page 137: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

simulation servoampli & moteur DCeffets de la saturation (tension d‘alimentation limitée)

Page 138: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Prototypage rapide / HIL (hardware in the loop)

• le prototypage rapide permet de tester / simuler le comportementd‘un système (p.ex. régulateur), puis de générer automatiquement du code pour une cible temps réel à partir d‘un schéma bloc.

• HIL (hardware in the loop) permet de tester un module matériel(p.ex. système ABS d‘une voiture) dans un environnement simulé en temps réel.

Page 139: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

HIL

Page 140: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

HIL : bancs de test pour modules

DUT = Device Under Test

Page 141: 1) Comprendre les notions fondamentales de la simulation ... · Nécessite une discrétisation de l‘axe du temps. Contrairement à la régulation numérique la discrétisation de

Perspective sur le rôle de la simulation, évolutions futures

• La maîtrise d‘une technologie nécessite d‘être capable de la simuler

• Devient de plus en plus important dans le processus de développementde produits

• Intégration étroite avec les outils CAO (p.ex. SolidWorks, Protel, ...)

• Visualisation puissante (p.ex. réalité virtuelle)

• génération automatique de code (prototypage rapide)