Nao est un robot humanoïde développée par la société française Aldebaran.
Il est utilisé dans le domaine de l’éducation, dans le cadre de travaux pratiques, comme support de l’enseignement de Sciences Industrielles pour l’Ingénieur (SII). C’est à cette fin d’enseignement qu’a été extraite et didactisée la cheville de Nao, en vue d’analyse d’un système mécatronique.
La cheville est principalement constituée de trois sous-ensembles cinématiquement liés :
Ces éléments sont liés par deux pivots d’axes orthogonaux correspondant aux mouvements de roulis et de tangage. |
![]() Le robot NAO, sa cheville et le système de TP de ERM-Automatismes |
|
![]() Structure de la cheville |
Du point de vue mécanique, on retient pour modèle la structure définie par le graphe ci-contre, avec les hypothèses initiales suivantes :
Modèle simplifié de la commande![]() Axe asservi dans Sinusphy![]() |
![]() Graphe de structure |
Le but de cette partie est de construire un premier modèle de la chaîne de motorisation de l’axe de tangage de la cheville, commandée en boucle ouverte. Le schéma terminé présente l’aspect ci-contre... |
![]() |
Curseur "Tension" Moteur Maxon Réducteur à engrenages Rotor "Tibia" Afficheur Sortie "Courant"
L’alimentation est un générateur de tension continue, modélisé dans SiNuSPhy par un composant standard de type [Curseur].
|
![]() |
Moteur à courant continu MAXON, référence 222052, nommé [Moteur_Maxon_REmax24.spb] ; |
![]() |
Réducteur de vitesse à engrenages, nommé [Réducteur_tangage.spb], de rapport 1/130,85 ; |
![]() |
Tibia, modélisé par un volant possédant la même inertie que la pièce réelle, nommé [Rotor_tangage.spb]. |
![]() |
Un compteur numérique est implanté en sortie de chaîne pour afficher le déplacement angulaire du tibia.
|
![]() |
Par défaut, SiNuSPhy n’autorise pas l’utilisation d’entrées/sorties non reliées à un autre composant. Implanter ce composant, avec une rotation de 180° pour orienter la sortie vers la droite. Définir :
Créer le lien avec la balise "courant" du moteur. |
![]() |
Avant d’exécuter le calcul, demander l’affichage des courbes de
tension d'alimentation, de vitesse et position angulaires du rotor en
cliquant du bouton droit sur les balises de ces variables, et en
validant [Afficher le graphe associé].
Lancer la simulation de la chaîne motorisée de l’axe de tangage en cliquant sur le bouton de calcul.
Les paramètres à renseigner sont la durée de l’étude et l’incrément de temps entre deux calculs successifs.
Prendre respectivement pour ces valeurs 1 s et 0.001 s.
Observer l’évolution de la vitesse de rotation du moteur pour une tension d’entrée constante. Conclure…
En répétant la simulation, dégager la relation liant la vitesse
finale du rotor à la tension, et préciser de quel(s) paramètre(s) elle
dépend.
SimulationCourbes de résultats
ModélisationDupliquer la chaîne d’énergie de l’axe de tangage en sélectionnant l’ensemble du schéma, puis en effectuant un copier/coller. Sur l’un des schémas, supprimer le lien "tension u" entre l’alimentation et le moteur. Insérer entre ces deux éléments le composant de bibliothèque Hacheur.spb. ![]()
SimulationEffectuer la simulation des deux modèles, avec alimentation continue ou alimentation hachée. Compte tenu de ce qui précède, et pour des raisons de rapidité du calcul et de simplicité de la comparaison avec la cheville réelle, le composant [Hacheur] sera remplacé par un composant [Alimentation], qui reçoit en entrée la valeur du rapport cyclique (PWM : pulse with modulation, en %), et fournit en sortie une tension continue u "équivalente" aux créneaux délivrés par le hacheur. ![]() |
![]() |
On se propose dans cette partie d’évaluer expérimentalement certaines performances de la cheville, de quantifier les écarts avec la simulation, et d’analyser les causes de ces écarts dans le but de faire évoluer le modèle.
Position de référenceSur le système instrumenté "NAO Ankle Kit", il convient
de procéder au changement de référence de la cheville, de façon à
permettre le plus grand déplacement possible de l’axe de tangage.
La cheville effectue sa recherche de référence en se déplaçant vers sa butée avant, vers sa butée gauche, puis se place dans sa nouvelle position de référence. Protocole de mesureSur le système "NAO Ankle Kit", une mesure suit la procédure suivante :
Mesures, simulations, diagnosticMesuresEffectuer 5 mesures en faisant croître progressivement le PWM
entre 10 % et 90 % par sauts de 20%. Dans chaque cas, penser à importer
les résultats. SimulationsDans SiNuSPhy, procéder à 5 simulations successives sur
le modèle précédemment construit, dans les conditions correspondant au
paragraphe ci-dessus. Diagnostic des écarts
|
![]() |
Cette partie de l'étude de la cheville de NAO a pour objet de modéliser l'asservissement de position de son axe de tangage, puis d'utiliser la connexion avec Meca3D pour une prise en compte plus fine de son comportement dynamique.
La cheville est asservie en position sur ses deux axes, au moyen de deux capteurs positionnés sur les deux liaisons pivot pied/Cheville pour le roulis, et Cheville/Tibia pour le tangage.
La modélisation implique la prise en compte du capteur et la modification de la commande pour exploiter le retour de l'information de position.
Compléter le schéma précédent pour réaliser l’asservissement de position du rotor. Pour cela :
Le modèle est conforme au schéma ci-dessous :
Réaliser une simulation pour valider le bon fonctionnement du modèle.
Conclure sur la capacité de la chaine motorisée asservie à atteindre la position de consigne.
Générer une perturbation sous la forme d’un couple extérieur Cp agissant sur le rotor. Cette perturbation peut avoir pour origine la pesanteur, le frottement… Veiller à lui donner une valeur numérique en rapport avec la capacité d’action du moteur.
Réaliser une simulation en présence de la perturbation. La valeur de consigne de la position est-elle atteinte ? Commenter.
Concevoir une stratégie permettant d’analyser l’influence des paramètres Kp, Ki et Kd du correcteur. Conclure.
Proposer une démarche permettant de valider et améliorer le modèle à partir de mesures sur la cheville "NAO Ankle Kit".
Un modèle dynamique de la cheville a été défini avec Solidworks-Meca3D, sous le nom Cheville_NAOv18.sldasm.
Ce modèle peut être utilisé par SiNuSPhy, soit en mode connexion directe, soit via un fichier d’échange (format spécifique "mdf"), pour traiter la partie mécanique du système.
Ouvrir le fichier d’assemblage Cheville_NAOv18.sldasm dans Solidworks.
|
![]() |
Dans [Meca3D], Valider le modèle en lançant une analyse du mécanisme et en amorçant le calcul. On trouve logiquement :
Compte tenu de la remarque précédente, les deux mouvements pilotes sont déclarés libres, ce qui signifie que les lois d’évolution de la cheville et du tibia seront déterminées par l’intégration des équations du PFD. Les couples moteurs étant nuls, la cheville est simplement soumise à la pesanteur, et s'effondre sous son poids... Quitter le module de calcul de Meca3D. |
![]() |
Établir la liaison entre Meca3D et SiNuSPhy en cliquant du bouton droit sur [Mécanisme], puis en sélectionnant [Connexion à SiNuSPhy]. L’apparition d’un symbole [C] de couleur rouge en bas de l’item [Mécanisme] de l'arbre de construction de Meca3D indique que la connexion est effective. Dans SiNuSPhy, un composant Meca3D est affiché, avec une cible rouge ◎ en son centre. Nota: la connexion n'est possible qu'à l'une de ces deux conditions :
|
![]() |
Modélisation de l'axe de roulisPar copier/coller, dupliquer la chaine motorisée asservie de l’axe de tangage pour réaliser la motorisation de l’axe de roulis. Composant Méca3DLe lien avec Meca3D permet de remplacer dans SiNuSPhy les composants "rotors" par le mécanisme défini dans SolidWorks-Méca3D.
Veiller à sauvegarder... |
![]() |
A l'issue de la modélisation, le schéma doit présenter l'aspect ci-dessous :
Lancer la simulation SiNuSPhy.
Vérifier que les paramètres du correcteur déterminés précédemment confèrent au modèle de la cheville un comportement satisfaisant.
A partir de la modélisation précédente, on se propose de prévoir la performance de "suivi d’une trajectoire carrée" de l’extrémité du tibia.
Pour atteindre cet objectif, les composants [Curseurs] de consigne sont remplacés par des composants d'entrée de type [Courbes]. Les lois de mouvement en fonction du temps sont précisées par les graphes ci-dessous.
Mouvement sur l’axe de roulis Mouvement sur l’axe de tangage
Implanter les courbes en entrée en utilisant les fichiers Carre_roulis.crb et Carre_tangage.crb pour les deux consignes de mouvement.
Effectuer la simulation.
Observer la "trajectoire réponse" en traçant la courbe de l’angle de tangage en fonction de l’angle de roulis. Comparer avec la courbe expérimentale dans des conditions similaires, en particulier au niveau des paramètres du correcteur.
Répéter l’opération en faisant varier ces paramètres, et discuter du domaine de validité du modèle.