https://www.acsysteme.com/wp-content/uploads/2021/07/model-based-design-2-750x422.jpg

Model-Based Design

Concevoir sur des modèles ou Model-Based Design (MBD)

Les solutions embarquées se développent de manière fulgurante ces dernières années et dans tous les secteurs : téléphonie, aéronautique, automobile… Avec elles, apparaissent des besoins de développement de plus en plus rapide, très exigeant en termes de qualité.

Dans le monde du logiciel, la conception basée sur un modèle (model based design) s’est imposée comme le meilleur moyen de respecter les exigences de coût, de qualité et de délais.

Un modèle, c’est un ensemble d’équations, lois ou règles qui décrivent le comportement d’un système plus ou moins finement, selon les phénomènes à étudier. Les prototypes physiques peuvent être remplacés par des modèles virtuels, ajustés (calés) sur la base de données expérimentales pour se rapprocher le plus possible de la réalité. La simulation permet alors d’étudier le comportement du système dans tous types de situations (scénarios).

En conception, les mêmes modèles servent aussi à tester en simulation les nouvelles fonctionnalités (par exemple, sur un véhicule hybride, le choix du moteur, thermique ou électrique, selon les situations de conduite).

L’approche model based design permet de gagner du temps dans la conception d’un logiciel embarqué en testant chaque fonctionnalité au fur et à mesure qu’elle est développée. Dès la phase de rédaction du cahier des charges, cette approche permet de tester la faisabilité des exigences client. Chaque étape du développement bénéficie de la méthode, grâce au prototypage rapide et aux solutions de simulation modulaires (hardware in the loop, software in the loop et model in the loop).

L’approche model based design facilite aussi le dimensionnement des systèmes, en montrant très en amont les limites de performances face aux exigences souhaitées.

https://www.acsysteme.com/wp-content/uploads/2021/07/Cycle-Model-Based-Design-FR-750×422.jpg
Cycle Model-Based design
https://www.acsysteme.com/wp-content/uploads/2021/07/MIL-SIL-HIL.jpg

Soyez dans la boucle avec MIL, SIL, HIL

Les solutions hardware in the loop (HIL), software in the loop (SIL) et model in the loop (MIL) permettent de valider les solutions développées en situation réelle simulée. Leur utilisation accélère la conception et améliore la maîtrise de la qualité, tout en réduisant le recours aux prototypes réels et aux essais physiques.

Voici une rapide définition des solutions de simulation « dans la boucle », par ordre chronologique :

  • MIL : model in the loop. L’ensemble du système est modélisé, ce qui permet de simuler un environnement complet (véhicule par exemple) afin de tester les lois de commande et de corriger les erreurs mécaniques, électroniques et logicielles avant la fabrication de prototypes (validation fonctionnelle) ;
  • SIL : software in the loop. Le code qui sera utilisé ensuite dans le calculateur est testé unitairement, afin de corriger les erreurs en simulant le fonctionnement du système réel (validation de la génération de code) ;
  • HIL : hardware in the loop. Les lois de commande sont intégrées dans un calculateur physique relié à l’environnement de simulation, et parfois à une partie mécanique réelle, afin de tester l’implémentation matérielle du contrôle, les de temps de réponse, etc. (validation de l’intégration).

Ces phases permettent de tester le maximum de scénarios en amont, tout en limitant le coût des moyens d’essais. Prenons par exemple le cas de la boucle de refroidissement des organes électriques d’un véhicule. Le principe est de faire circuler de l’eau pour refroidir des calculateurs lorsqu’ils chauffent. La première étape est de modéliser le système : boucle de refroidissement, pompe, éléments électriques… Ensuite, on développe une loi de commande démarrant la pompe lorsque le système dépasse le seuil, et on la teste sur le modèle (MIL). En fonction des résultats, on adapte la régulation à la réactivité du système et aux exigences. Une fois validée, on génère la loi de commande en un code (C ou C++), qu’on peut tester immédiatement sur le modèle (SIL). Lorsque cette étape est validée, le code est intégré dans un calculateur réel, relié au simulateur du système physique, et on teste que les exigences sont toujours respectées dans cette configuration (HIL).

Mise en pratique

Une méthodologie innovante (et frugale) d’automatisation de la validation

Une méthode populaire de développement informatique est de passer par un cycle itératif de description des exigences et de l’écriture du code correspondant. Pour faciliter les tests de « non régression » différentes méthodes de simulation/validation ont été mises en place chez Acsystème.

Amortissement des oscillations sur un véhicule électrique ou hybride

Le domaine technique auquel se rapporte l’invention est le contrôle des groupes motopropulseurs électriques qu’on trouve sur les véhicules électriques ou hybrides.