13169694 visiteurs |
![]() |
|
![]() |
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 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 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/