Modeling the Nao Robot in MapleSim - User Case Studies - Maplesoft

Etude de cas d’utilisateur :
Modélisation du robot NAO dans MapleSim

Mise en œuvre des techniques modernes pour réduire sensiblement le temps de développement du modèle, fournir une meilleure connaissance du comportement du système et produire rapidement des simulations extrêmement fidèles.


NAO est un petit robot humanoïde conçu par Aldebaran Robotics. D’une hauteur de 58 cm, NAO est utilisé pour enseigner la programmation aux étudiants du monde entier et fournir aux ingénieurs et développeurs de logiciels une plate-forme d’expérimentation et de robotique. NAO a même été récemment adopté par une institution financière au Japon pour servir de caissier de banque !

Les ingénieurs de Maplesoft ont voulu voir s’ils pouvaient créer un modèle de NAO dans MapleSim, l’outil de modélisation et de simulation avancé au niveau système qui met en œuvre des techniques modernes pour réduire sensiblement le temps de développement du modèle, fournir une meilleure connaissance du comportement du système et produire rapidement des simulations extrêmement fidèles.

Construction du modèle

NAO est un mécanisme multicorps particulièrement complexe, doté de 25 degrés de liberté. Grâce à la Bibliothèque Multicorps MapleSim, les ingénieurs Maplesoft ont créé un modèle faisant appel à la convention de Denavit-Hartenberg (DH) pour définir le système de coordonnées des articulations du robot. Des modèles CAO ont été ensuite importés pour définir la masse corporelle, l’inertie de rotation et le centre de gravité. MapleSim étant un système de modélisation physique, le schéma du modèle correspond étroitement au système physique lui-même, comme on peut le voir sur la Figure 1.

Des servomoteurs sont présents au niveau de toutes les articulations pour entraîner le mouvement. Des signaux en provenance du régulateur déclenchent le moteur pour repositionner chaque articulation. Tous ensemble, ces servomoteurs individuels déterminent les gestes et déplacements de NAO.


Figure 1: Modèle multi-domaine du robot NAO

Les ingénieurs ont également pu modéliser le contact entre le pied de NAO et le sol. Pour ce faire, ils ont créé des composants personnalisés dans MapleSim, et fourni les équations mathématiques qui gouvernent la force de frottement et la force normale. Ces composants ont été incorporés dans le modèle à chaque point de contact à la base des deux pieds.

Le modèle MapleSim comporte également un pack batterie Li-ion provenant de la Bibliothèque Batterie MapleSim, qui alimente le moteur électrique : ainsi, le comportement de la batterie et ses interactions avec le reste du système peuvent également être modélisés.

Les relevés des capteurs de chaque articulation ont été exportés d’Aldebaran Robotics Choregraphe™ vers MapleSim via une table de conversion temporelle. Ils ont ensuite été utilisés comme signaux de commande de chaque articulation. Le modèle réagissait de la même manière que le robot physique. Par exemple, le modèle MapleSim était capable de faire du Tai Chi avec autant d’habileté que son homologue physique.

NAO apprend de nouvelles activités

Maintenant qu’ils disposaient d’un modèle simulant les mouvements du robot NAO, les ingénieurs Maplesoft ont alors voulu voir s’ils pouvaient non seulement simuler son comportement avec précision, mais aussi lui apprendre à faire quelque chose de nouveau.

En se servant de la capacité de MapleSim à extraire et analyser les équations mathématiques du mouvement d’un modèle, ainsi que ses outils d’analyse multicorps, ils ont déterminé la solution symbolique au problème de cinématique inverse pour les mouvements du bras du robot. Avec cette solution, ils ont pu calculer les mouvements des articulations requis pour placer le bras à un endroit arbitraire dans l’espace. Ils ont exploité ces informations pour ajouter au modèle un nouveau composant personnalisé qui prend la position finale souhaitée et calcule les mouvements nécessaires pour y parvenir. Ils ont ensuite appris à NAO à dessiner.

Ils ont créé une application permettant à un être humain d’esquisser une forme, une image ou un mot à l’aide d’une souris. Le dessin est analysé pour déterminer les coordonnées des lignes tracées et les informations sont ensuite entrées dans le modèle de simulation. Le résultat ? NAO bouge son bras et dessine la même chose !

Exploitant plus avant la capacité de MapleSim à résoudre des problèmes de cinématique inverse, les ingénieurs Maplesoft ont également appris à NAO de nouvelles activités : danser, jouer au volleyball et pister un quadricoptère.


Figure 2 : Servomoteurs logés dans chaque articulation entraînant le mouvement du bras du robot

Figure 3 : Composants personnalisés à base d'équations utilisés pour la modélisation des points de contact entre le pied et le sol

Pourquoi est-ce si intéressant ?

Si vous travaillez sur des recherches en robotique ou sur un projet de conception où la compréhension des interactions multi-domaines revêt de l’importance, vous pourrez avec une plate-forme de modélisation multi-domaine comme MapleSim, regrouper tous les aspects de votre projet au même endroit, ainsi que l’illustre cet exemple.

  • Modélisation multicorps 3 D : profitez des capacités de modélisation et simulation multicorps et visualisation 3 D
  • Modèles paramétrables : accédez de manière simple aux paramètres du système pour effectuer rapidement des modifications de conception et prendre en compte une famille de conceptions ou de produits
  • Support multi-domaine : augmentez le système mécanique dynamique par des modèles précis de moteurs électriques, régulateurs et batteries
  • Analyse et tests virtuels : étudiez le comportement et les interactions au niveau système des sous-systèmes multi-domaine, sans devoir construire des prototypes physiques coûteux et imprévisibles
  • Dimensionnement des composants : lancez facilement une simulation en batch et un traitement parallèle, et rassembler des données pouvant servir au dimensionnement des composants
  • Plein accès : exploitez le plein accès aux équations et le langage de programmation complet pour élargir la portée du même modèle de simulation et l’insérer dans des tâches d’optimisation de conception et de trajectoire de modèles
  • Génération de code optimisée : générez du code C très optimisé à partir du modèle pour une part essentielle de la conception des commandes à base de modèle

    Figure 4 : La cinématique inverse a été utilisée pour apprendre à NAO à dessiner

    Contactez Maplesoft pour savoir comment MapleSim peut être utilise pour vas projets