Les secrets de conception du robot Geeros avec Maple et MapleSim

Un gyropode est en contact avec le sol via deux roues parallèles ; c’est donc un système instable et seul un asservissement lui permet de rester en équilibre.

Nos robots Geeros n’échappent pas à la règle et nous avons dû concevoir des régulateurs pour les faire fonctionner correctement. D’ailleurs, c’était le but: créer un robot didactique avec des asservissements qui puissent être étudiés et modifiés par les élèves.

Dès lors, nous avions deux possibilités: faire comme tout le monde et utiliser les mêmes outils « classiques » que la majorité des personnes confrontées au même problème, ou rechercher s’il n’existait pas des approches plus modernes et plus efficaces mettant en œuvre du vrai « Model Based Design » (MBD, Conception à Base de Modèle).

Les promesses affichées par le couple Maple / MapleSim étant séduisantes, nous avons décidé d’utiliser ces deux logiciels.

Tout d’abord, pour ceux qui ne le connaissent pas, présentons MapleSim en quelques mots, en insistant sur ses différences avec d’autres logiciels de simulation qui pourraient sembler équivalents alors qu’ils ne le sont pas.

MapleSim est nativement orienté pour la simulation de systèmes physiques, ce qui signifie, entre autres, deux choses:

  • les modélisations se font en utilisant des blocs graphiques issus de la bibliothèque open-source Modelica (https://www.modelica.org). Ces blocs graphiques (ressorts, amortisseurs, résistances, diodes, moteurs de divers types,…) permettent de modéliser facilement des systèmes simples ou très complexes
  • les solveurs utilisés sont spécialement optimisés pour la résolution des équations différentielles avec contraintes algébriques rencontrées dans ce type de systèmes

Mais ce qui fait la grande force de MapleSim, c’est son lien avec Maple. En effet, à partir d’un modèle MapleSim, même très complexe, il est possible de générer automatiquement le jeu d’équations qui régissent le système. Maple permet ensuite de manipuler facilement ces équations pour, par exemple, concevoir un asservissement.

Revenons maintenant à Geeros. On peut trouver « dans la nature » beaucoup de modèles de gyropodes avec leurs asservissements associés. Mais en fait, la plupart du temps, ces modèles sont faux. En effet, écrire les équations exactes d’un gyropode devient vite très compliqué. Pas forcément dans l’écriture de chacune des équations, mais dans la gestion de l’ensemble: toutes ces équations prennent vite beaucoup de place et cela devient raisonnablement impossible de ne pas les simplifier.

Malheureusement, les simplifications conduisent rapidement à écrire les équations du gyropode comme celles du pendule inversé, alors que ce sont deux systèmes différents. Voilà pourquoi on rencontre la plupart du temps des modèles de gyropode faux: c’est humainement difficile de faire autrement.

Avec MapleSim et Maple, le processus de conception est totalement différent: il est facile de réaliser dans MapleSim un modèle de gyropode exact puisqu’il suffit d’assembler des blocs graphiques. Il n’est pas nécessaire d’écrire les équations du système pour faire le modèle. Ensuite, l’ensemble complet d’équations exactes est généré automatiquement dans Maple. Le problème de la manipulation des équations n’existe plus ici car c’est Maple qui s’en occupe: vous n’écrivez rien à la main. Vous avez alors le choix de travailler directement sur cet ensemble d’équations non-linéaires ou bien de les linéariser pour utiliser des techniques de conception d’asservissement plus traditionnelles.

Dans le second cas, pour prendre un exemple, le calcul symbolique des dérivées partielles de chaque équation par rapport à chaque état, permettant de passer des équations non-linéaires à une matrice d’équations linéaires se fait dans Maple en une seule commande. Notons que la matrice d’équations linéaires est toujours symbolique: les résistances, couples moteurs, frottements, inerties, etc… apparaissent toujours, ce qui est très intéressant pour réaliser des études paramétriques dans le domaine linéaire.

La conception de l’asservissement se fait tout aussi simplement. Pour Geeros, nous avons conçu un retour d’état que nous avons ensuite écrit sous la forme d’un PID pour que les élèves aient accès à une forme de régulateur connue.

Au final, l’utilisation de Maple et MapleSim a apporté les deux avantages suivant:

  • l’obtention rapide et aisée d’un modèle « exact », au sens où il n’est pas nécessaire de faire des simplifications pour le réaliser. Bien sûr, au sens strict du terme, le modèle ne colle pas exactement à la réalité car comme dans tout système physique, celle-ci est difficile à modéliser précisément
  • un gain de temps considérable dans le processus de conception puisqu’il n’est pas nécessaire d’écrire des équations à la main

Concernant ce dernier point, même si nous avons fait la conception dans Maple, rien ne vous empêche d’utiliser un autre logiciel (Matlab par exemple). On oppose souvent ces deux logiciels, ce qui est une regrettable erreur car ils sont en réalité complémentaires: MapleSim et Maple sont très forts pour la modélisation physique et la manipulation d’équations symboliques alors que Matlab possèdent de nombreuses boites à outils dans le domaine de l’automatique. De plus, Maple est capable de communiquer nativement avec Matlab pour envoyer des données à ce dernier, lui sous-traiter les calculs et récupérer les résultats.

Dans notre cas de figure, nous n’avons pas utilisé de techniques de conception de correcteur très avancées. Mais si cela avait été le cas nous aurions pu, après avoir obtenu le système d’état linéaire du gyropode dans Maple, envoyer les matrices de ce système à Matlab et utiliser, par exemple, une de ses boites à outils spécialisées en commande robuste. Puis, le résultat de cette conception avancée aurait été récupéré dans Maple et intégré ensuite dans notre modélisation boucle fermée du gyropode asservi dans MapleSim.

En conclusion, même si 80% des gens utilisent les mêmes outils pour faire les mêmes choses, ça vaut toujours le coup de passer un peu de temps pour faire le tour des différentes possibilités qui s’offrent à vous afin de voir s’il n’existe pas de nouveaux outils permettant d’améliorer les processus de conception.