Mercredi, 22-03-2023
13169694 visiteurs
EducEco sur les réseaux sociaux

 
 Challenge 2019 : résultats et images 
 

 ≡ 
Partenaires <

MATLAB® : passez à la simulation numérique pour mieux concevoir votre véhicule et envisager son comportement avant les premiers tours de roues

Introduction

Ces quelques lignes n’ont pas pour objectif de vous dévoiler toutes les fonctionnalités du logiciel MATLAB®. Elles n’entreprendront pas non plus de vous initier « à la bête ». Non, cet article a plus simplement dans l’idée de vous introduire une grande partie des possibilités de cet environnement de simulation. Car ce logiciel de la société Mathworks® est mis gratuitement à la disposition des équipes participantes à la course EducEco pendant un an, tout au moins une fois l’inscription validée... MATLAB® propose un ensemble outils numériques qui aident les concepteurs à envisager des solutions techniques et résoudre des problèmes scientifiques sans maitriser toute leur mise en équation. Bien sûr, si on sait comment ca se passe, c’est beaucoup mieux. Mais c’est surtout quand on n’a pas reçu une formation approfondie dans tous les domaines de l’ingénierie technique que ces outils offrent une aide favorable aux équipes pour utiliser la simulation numérique dans la réalisation de son véhicule. C’est pourquoi ce logiciel peut être utilisé par les membres des teams techniques des équipes, qu’ils viennent du collège, préparent un bac (général, technologique ou professionnel) au lycée ou sont déjà en piste pour préparer un diplôme scientifique et/ou technologique. Comme les possibilités de MATLAB®, l’étendue des utilisateurs-participants est bien grande, de 12 à 24 ans, et bien au-delà encore… En route dans l’univers MATLAB® pour découvrir ses possibilités et vous les approprier pour votre véhicule, de sa conception à son évolution sur la piste.

Mise en situation, avec quelques repères historiques

Il y a près de quarante ans, une équipe de scientifiques et d’ingénieurs étatsuniens [1] voient un véritable intérêt dans la simulation numérique basée sur le langage Fortran. Ils rendent les outils mis au point plus accessibles en créant un nouveau langage au sein d’un logiciel, MATLAB®, dont la première version sort en 1984. Au fil des années, de nouvelles techniques ont vu le jour et la société Mathworks® qui commercialise ce logiciel n’a cessé de créer de nouvelles fonctionnalités au sein du logiciel pour les ingénieurs, mais aussi d’autres branches moins techniques : mathématiques, statistiques, finance, etc.

Les sciences et les techniques, les équations et les calculs, c’est dans un premier temps plutôt ardu. Mais certains, dont les ingénieurs de Mathworks, ont mis au point, puis développés et présentés, des outils qui peuvent être utilisés par des utilisateurs moins spécialistes. C’est ainsi que la modélisation et la simulation des systèmes techniques, des activités plutôt pointues, deviennent plus abordables. Plus besoin de lourdes équations, ni de maitrise de leur résolution : la modélisation multi-physique vous permet de construire les constituants de votre véhicule, ou même le véhicule tout entier, de manière virtuelle [2]. Vous pourrez alors éprouver vos idées, vérifier vos hypothèses, essayer des solutions nouvelles, tout cela sans toucher, au moins dans un premier, un seul outil réel. Non, tout « simplement » en regardant évoluer votre création virtuelle sur l’écran de votre ordinateur avant de faire le saut dans la réalisation de votre prototype qui s’élancera sur la piste de Transalley en mai prochain : ce sera comme si vous y étiez…

Si nous regardons quelques années en arrière, pendant de nombreuses années (de la fin du19ème à plus de la moitié du 20ème siècle), la conception des systèmes passait par la réalisation d’une succession de prototypes qui se basaient sur des calculs « faits à la main » ou en se s’appuyant sur des solutions empiriques. Au fil du temps, ces essais aboutissaient à une solution satisfaisante et viable (mais hélas pas toujours fiable dans le temps). Puis les outils de conception numérique sont apparus. Ils ont permis à la fois d’accélérer ce processus, mais aussi d’améliorer la conception en faisant des essais simulés plutôt que des mesures sur les prototypes : le numérique et les logiciels permettaient cela. Grâce à ces techniques, les méthodes scientifiques et technologiques se sont affinées et permettent de représenter les systèmes de manière très précise, aussi proche que possible des objets réels. L’ensemble de ces méthodes est appelé « modélisation ». Issue des sciences physiques et des mathématiques, la modélisation permet de mettre au point une représentation abstraite faite d’un lot d’équations et de valeurs numériques appelé « modèle ». C’est ce modèle qui est mis en œuvre dans les ordinateurs au travers des logiciels de simulation comme MATLAB® pour fournir des résultats qui peuvent représenter les objets réels, avec plus ou moins de fidélité suivant la finesse du modèle mis en œuvre. Pour faciliter la manipulation des modèles numériques, des outils de représentation ont été mis au point. Les plus simples sont, par exemple, les représentations graphiques sous forme de courbes de l’évolution des grandeurs physiques au cours du temps, les dessins techniques, etc. Mais des moyens plus élaborés sont apparus au fil du temps : schémas bloc, bond graph, représentation énergétique macroscopique (REM), SysML, etc.

Toute cette panoplie de moyens permet de représenter les systèmes, ce qui est essentiel pour les observer, mais ils permettent surtout d’en élaborer une commande pour assurer leur contrôle en accord avec les besoins des utilisateurs.

Ainsi donc, MATLAB® est un environnement logiciel qui permet de réaliser beaucoup de ces simulations. Il n’est pas le seul et il ne fait pas tout, mais il est possible de l’interfacer avec d’autres logiciels pour faciliter les échanges et profiter des apports d’autres outils performants. C’est par exemple ce qu’il se passe quand un système technique a été conçu avec SolidWorks® pour fournir un assemblage qui peut être animé grâce à une commande conçue avec MATLAB®. Le résultat donne une idée du comportement du système final, bien avant qu’il ne soit construit.

Deux voies possibles pour modéliser

Suivant la manière d’organiser l’interaction entre les relations du modèle, la simulation numérique peut être opérée en suivant deux approches. L’approche causale, dite aussi « orientée », est la plus ancienne. Elle consiste à construire explicitement le modèle par assemblage de blocs graphiques qui traduisent directement les équations. Le résultat de cette étape est un schéma bloc dans lequel des liens orientés (des flèches) représentent les grandeurs physiques du système. Ces grandeurs cheminent entre des blocs qui indiquent les transformations qui s’opèrent pour fournir d’autres grandeurs physiques. Les blocs reçoivent donc une ou des variables d’entrée (on dit des « entrées ») et émettent un ou plusieurs grandeurs de sortie (on dit des « sorties »). Dans ce cas, il existe un sens de parcours entre les entrées des blocs, une transformation mathématique dans un bloc et un résultat fourni en sortie. Et ce sens est défini par celui qui réalise le modèle et sa représentation : il y a une cause, l’entrée, et un effet, la sortie qui représentent une analyse causale.

L’autre approche est dite acausale, ou aussi « non orientée ». Elle s’appuie sur une autre manière de gérer les équations qui décrivent le système. Elles sont organisées entre elles au moment de leur résolution par un algorithme appelé « solveur » qui est inclus dans le logiciel de simulation. C’est le solveur qui décide quelles grandeurs sont des entrées et quelles autres sont des sorties en fonction de sa manière de résoudre les équations. Il n’y a donc pas ici de codage visible des relations comme dans les schémas bloc. Les variables dans les équations sont réorganisées en fonction du besoin du solveur. La construction du modèle s’apparente à l’assemblage d’équations attachées aux constituants du système modélisé. Les liaisons entre les constituants sont alors de type physique (liaisons électriques, contacts de pièces mécaniques, fluides dans les canalisations, etc.). En résumé, la modélisation acausale fournit un lot d’équations dont la résolution n’est pas choisie par celui qui construit le modèle, mais est laissée au soin d’un algorithme de résolution qui établit quelles grandeurs (les variables) sont les entrées et lesquelles sont les sorties. L’utilisateur effectue ses assemblages de composants (en respectant quelques règles de bonne conduite) et le logiciel s’occupe du reste (résolutions, calculs, etc).

Et à la fin, nous pouvons simuler notre modèle

Simuler avec MATLAB®, c’est mettre en œuvre le modèle établi en utilisant l’environnement du logiciel pour régler les conditions de simulations (durée, valeurs des paramètres et de certaines grandeurs au début de l’étude –que l’on appelle les conditions initiales). La prise en main du logiciel et des exemples caractéristiques sont fournit dans les références [2] et [3].

MATLAB® : le tour de la propriété…

L’interface ou bureau (desktop) du logiciel MATLAB® (pour MATrix LABoratory) met en œuvre grâce un environnement logiciel interactif. Une fenêtre permet de travailler en mode « lignes de commandes » (c’est un « terminal » ou une « console ») pour exécuter des commandes simples. Les séquences de commandes peuvent être sauvegardées dans un fichier texte qui reprend l’historique des commandes entrées. Mais comme il utilise le langage de haut niveau MATLAB®, des programmes, ou scripts, peuvent être mis au point puis exécutés en utilisant l’éditeur MATLAB®.

MATLAB® permet aussi d’effectuer des calculs numériques basés sur la manipulation de matrices (d’où son nom), des visualisations graphiques (il est à la base d’une bibliothèque graphique appelée MatPlotLib) et la programmation de solutions personnelles à des problèmes scientifiques. MATLAB contient des centaines de fonctions mathématiques, des fonctions graphiques 2D et 3D et un véritable environnement de programmation associé à un dévermineur (debugger). Ces fonctionnalités sont organisées de manière modulaire pour correspondre aux besoins de la modélisation et de la simulation nécessaires à la conception des systèmes techniques et leur mise au point. Ces modules sont appelés boîtes à outils, ou « toolboxes », en suivant la terminologie de MATLAB®.

Nous proposons de réaliser un rapide tour d’horizon de ces « toolboxes » pour présenter la majorité des fonctionnalités du logiciel. Cela permettra à chacun de comprendre la porté du logiciel pour l’appliquer à sa propre conception. Une fois cette étape atteinte, la consultation de la référence [2] permettra d’aller plus loin dans le travail de modélisation. Pour la prise en main de bas niveau, les explications de [3] offriront une bonne entrée en matière. Enfin, pour aller toujours plus loin, il sera possible de se rendre sur le site de Mathworks [4, de voir des exemples de solutions ou d’échanger avec d’autres utilisateurs sur « MATLAB Central » [5].

Quelques possibilités essentielles offertes par les boites à outils de MATLAB® pour la conception des systèmes

Les fonctionnalités de MATLAB® tournent autour d’un langage qui permet des traitements logiciels pour analyser les systèmes et les données qui en sont issues. Mais il est aussi possible de représenter ces systèmes sous forme graphique avec le module, ou « toolbox », Simulink. Dans celui-ci, plutôt que d’y programmer des équations, ces dernières sont représentées sous forme graphique, les schémas blocs. En conséquence, les boîtes à outils de MATLAB® se décomposent en plusieurs catégories :

  • La famille de produits MATLAB® qui fourni du code à insérer à ses propres scripts ;
  • La famille de produits Simulink qui utilise des outils graphiques ;
  • Des produits davantage dédiés aux services et au développement qui ne seront pas détaillés, mais totalement développés dans [4] et [5].

La première famille (les produits MATLAB®) comprends plus d’une soixantaine « toolboxes » couvrant les domaines suivants : le calcul parallèle, les mathématiques, statistiques et optimisation, contrôle des système, le traitement du signal et les communications sans fil, le traitement d’image et la vision artificielle, les tests et mesures, la finance ainsi que la biologie informatique, la génération de code, le déploiement d’applications et l’accès aux bases de données ainsi que le reporting (réalisation automatisé de rapports et de comptes rendus). Côté Simulink, nous avons (les outils les plus répandus sont évoqués succinctement entre parenthèses) :

  • La modélisation événementielle avec Stateflow (pour les systèmes à événements discrets en logique combinatoire et séquentielle organisés sous forme de machines d’état et de diagrammes de flux) et SimEvents (bibliothèque d’éléments pour la gestion d’évènements dans les systèmes) ;
  • la modélisation (multi)physique avec Simscape (Modélisation et simulation de systèmes physiques multi-domaines à partir d’une bibliothèque de composants élémentaires), Simscape Multibody (Modélisation et simulation de systèmes mécaniques 3D), Simscape Driveline (Modélisation et simulation de systèmes mécaniques en translation et en rotation), Simscape Fluids (Modélisation et simulation de systèmes hydrauliques), Simscape Electronics (Modélisation et simulation de systèmes d’électronique de puissance, actionneurs et convertisseurs statiques, composants « signaux » pour la mécatronique) et Simscape Power Systems (Modélisation et simulation de systèmes d’alimentation électrique de puissance : convertisseurs de puissance, machines triphasées, FACTs, etc.).
  • Les systèmes de contrôle avec Simulink Control Design (Linéarisation des modèles et conception des systèmes de contrôle pour SISO et MIMO, correcteurs, etc.), Simulink Design Optimization (conception de commandes d’automatique avancée), Aerospace Blockset (éléments spécifiques de la propulsion aérienne et spatiale), Robotics System Toolbox (éléments spécifiques de la robotique) et Powertrain Blockset (éléments spécifiques de la propulsion automobile multiénergie – essence, diesel, hybride, and électrique).
  • Le traitement du signal et Communications sans fil avec DSP System Toolbox (traitement du signal par DSP pour les signaux, Audio System Toolbox (Modélisation et simulation de systèmes de traitement, de transmission et de restitution audio), Communications System Toolbox (Modélisation et simulation de systèmes de communication numériques), Phased Array System Toolbox (Modélisation et simulation de systèmes de type radar, sonar, capteurs de détection sans contact, etc.), RF Blockset (Modélisation et simulation de systèmes radio-fréquence), Computer Vision System Toolbox (Modélisation et simulation de systèmes de vision par ordinateur et de traitements vidéos).
  • La génération de code avec Simulink Coder, Embedded Coder, HDL Coder, LTE HDL Toolbox, Vision HDL Toolbox, Simulink PLC Coder, Fixed-Point Designer, DO Qualification Kit (for DO-178), IEC Certification Kit (for ISO 26262 and IEC 61508).
  • La simulation en temps réel et test avec Simulink en temps réel et Simulink Desktop Real-Time ;
  • Les vérification, validation et test avec Simulink Requirements, Simulink Check, Simulink Coverage, Simulink Design Verifier, Simulink Test, Simulink Code Inspector, HDL Verifier, Polyspace Bug Finder et Polyspace Code Prover (surtout en vue de l’industrialisation des systèmes).
  • Les résultats graphiques de simulation et Reporting avec Simulink 3D Animation et Simulink Report Generator.

La documentation détaillée de ces « toolboxes » est largement développée sur le site [4].

Références

[1] Article Wikipédia, https://fr.wikipedia.org/wiki/MATLAB

[2] Ivan LIEBGOTT, « Modélisation et Simulation des Systèmes Multi-Physiques avec MATLAB – Simulink (R2015b) pour l’étudiant et l’ingénieur », Deuxième édition, introduction au Model Based Design. Disponible sur MATLAB Central : https://fr.mathworks.com/MATLABcentral/fileexchange/44387—ivan-liebgott—modélisaton-et-simulation-des-systèmes-multi-physiques-seconde-edition

[3] Didacticiel sur le site du LGT Notre-Dame du Mur à Morlaix : http://1si.si.lycee.ecmorlaix.fr/CartePrototypage/Didacticiel_Simulink_BBCmicrobit/#mathworks

[4] Site de Mathworks en langue française : https://fr.mathworks.com

[5] Partie spécifique « MATLAB central » dédiées aux solutions autour de MATLAB et aux échanges entre les utilisateurs et les contributeurs : https://fr.mathworks.com/MATLABcentral/


Forum sur abonnement

Visiteurs, identifiez-vous pour poster vos commentaires
(merci de vous déconnecter à la fin de votre séance)

[Connexion] [s'inscrire] [mot de passe oublié ?]