• Aucun résultat trouvé

Mise en oeuvre d'un robot humanoïde et contribution à la génération de marches dynamiques optimales

N/A
N/A
Protected

Academic year: 2021

Partager "Mise en oeuvre d'un robot humanoïde et contribution à la génération de marches dynamiques optimales"

Copied!
133
0
0

Texte intégral

(1)

THÈSE

Pour l'obtention du grade de

DOCTEUR DE L'UNIVERSITÉ DE POITIERS UFR des sciences fondamentales et appliquées

Pôle poitevin de recherche pour l'ingénieur en mécanique, matériaux et énergétique - PPRIMME (Poitiers)

(Diplôme National - Arrêté du 7 août 2006)

École doctorale : Sciences et ingénierie en matériaux, mécanique, énergétique et aéronautique -SIMMEA (Poitiers)

Secteur de recherche : Génie mécanique, productique, transport et bio-ingénierie

Présentée par : Julien Fatoux

Mise en uvre d'un robot humanoïde et contribution à la génération de marches dynamiques optimales

Directeur(s) de Thèse : Saïd Zeghloul, Pascal Seguin

Soutenue le 16 décembre 2014 devant le jury

Jury :

Président Pierre Vieyres Professeur des Universités, Université d'Orléans Rapporteur Gérard Poisson Professeur des Universités, Université d'Orléans Rapporteur Olivier Bruneau Professeur des Universités, Université Paris Sud Membre Saïd Zeghloul Professeur des Universités, Université de Poitiers Membre Pascal Seguin Maître de conférences, Université de Poitiers Membre Antoine Eon Maître de conférences, Université de Poitiers Membre Luc Boutin Professeur agrégé, Lycée Turgot de Limoges

Pour citer cette thèse :

Julien Fatoux. Mise en uvre d'un robot humanoïde et contribution à la génération de marches dynamiques

optimales [En ligne]. Thèse Génie mécanique, productique, transport et bio-ingénierie. Poitiers : Université de

(2)

THÈSE

Pour l’obtention du Grade de

DOCTEUR DE L’UNIVERSITE DE POITIERS

Faculté des Sciences Fondamentales et Appliquées Diplôme National - Arrêté du 7 août 2006

Ecole Doctorale Sciences et Ingénierie en Matériaux, Mécanique, Energétique et Aéronautique

Secteur de Recherche : Génie mécanique, productique, transport et bio-ingénierie

Présentée par :

Julien FATOUX

************************

Mise en œuvre d’un robot humanoïde et contribution à la génération

de marches dynamiques optimales

************************

Directeur de Thèse : Saïd Zeghloul Co-encadrant : Pascal Seguin

************************

Soutenance prévue le 16 décembre 2014 Devant la Commission d’Examen

************************

JURY

Olivier BRUNEAU, Professeur, Université Paris-Sud Rapporteur

Gérard POISSON, Professeur, Université d’Orléans Rapporteur

Luc BOUTIN, Docteur – PRAG CN, Lycée Turgot de Limoges Examinateur Antoine EON, Maître de conférences, Université de Poitiers Examinateur Pascal SEGUIN, Maître de conférences, Université de Poitiers Examinateur

Pierre VIEYRES, Professeur, Université d’Orléans Examinateur

(3)
(4)

3

Table des matières

Introduction générale

Chapitre 1

: Robot humanoïde Tidom

1.1. Introduction ………. 9

1.2. Robots bipèdes existant ……….. 9

1.3. Architecture mécanique ……….. 16 1.3.1. Agencement cinématique ……… 17 1.3.2. Paramétrage ……… 18 1.3.3. Caractéristiques inertielles ……….. 22 1.3.4. Limites technologiques ……….. 24 1.3.5. Actionnement et transmission ……….. 25 1.4. Instrumentation ………. 33 1.4.1. Codeurs incrémentaux ……….. 33 1.4.2. Potentiomètres ………. 33 1.4.3. Capteurs d’effort ……….. 33 1.5. Partie commande ………. 34

1.5.1. Architecture matérielle de contrôle ……… 34

1.5.2. Architecture logicielle de contrôle ……….. 38

1.6. Conclusion ………. 42

Chapitre 2

: Modélisation et synthèse de la marche

2.1. Introduction ………. 43

2.2. Modélisation de la marche tridimensionnelle ………. 44

2.2.1. Mode de marche ……… 44

2.2.2. Modélisation dynamique ……….. 45

2.2.3. Contraintes ……… 52

2.2.3.1. Contraintes géométriques ……….. 52

2.2.3.1.1. Contraintes de fermeture de la chaîne cinématique en double appui ……… 52

2.2.3.1.2. Contraintes d’initialisation du pas de marche ……… 55

2.2.3.1.3. Contraintes de fermeture de cycle ………. 56

2.2.3.1.4. Contraintes technologiques ……… 59

2.2.3.2. Contraintes de stabilité de la marche ………. 59

2.2.3.2.1. Détermination de la localisation du ZMP ………. 59

(5)

4

2.2.3.2.3. Contraintes concernant l’unilatéralité des appuis ……….. 63

2.2.3.2.4. Contraintes de non glissement ………. 64

2.2.3.3. Contraintes d’anticollision ……… 64

2.2.3.3.1. Contraintes d’anticollision externe ………. 65

2.2.3.3.2. Contraintes d’anticollision interne ……….. 66

2.3. Optimisation paramétrique de la marche ……….. 67

2.3.1. Paramétrisation des variables de configuration ……… 68

2.3.2. Paramétrisation des efforts de contact ……….. 70

2.3.3. Vecteur des paramètres d’optimisation ……… 71

2.3.4. Critère de performance ……….. 72

2.3.5. Contraintes ……… 73

2.3.6. Technique de résolution ……… 74

2.4. Conclusion ………. 76

Chapitre 3

:

Simulations numériques et

expérimentations

3.1. Introduction ………. 77

3.2. Solutions d’initialisation du processus de calcul ……… 77

3.2.1. Solution d’initialisation géométrique ……….. 77

3.2.2. Solution d’initialisation calculée à partir d’un algorithme d’optimisation locale . 81 3.3. Solution obtenue sur le système locomoteur pour une vitesse de 0,1m.s-1 …….. 86

3.4. Solution obtenue sur le système locomoteur pour une vitesse de 0,1m.s-1 sans la méthode de pénalité extérieure ……….. 92

3.5. Solution obtenue avec la partie haute de Tidom ……….. 93

3.5.1. Solution obtenue avec raccordement des accélérations pour une vitesse de 0,1.m.s-1 ……….. 93

3.5.2. Solution obtenue sans raccordement des accélérations pour une vitesse de 0,1.m.s-1 ………..… 98

3.5.3. Solution obtenue avec raccordement des accélérations pour une vitesse de 0,3m.s-1 ……… 99

3.6. Validation CAO ……… 103

3.7. Expérimentation sur Tidom ……….. 105

3.7.1. Régulation des axes ……….. 106

3.7.2. Expérimentations avec les capteurs d’effort pour le calcul du ZMP ……… 109

3.7.3. Expérimentation sur le système locomoteur ……….. 114

3.8. Conclusion ………. 116

(6)

5

Avant-propos

Mes travaux de thèse, présentés dans ce mémoire, ont été réalisés au sein de l’institut Pprime, dans le département Génie Mécanique et Systèmes Complexes.

Je tiens à remercier mon directeur de thèse Saïd Zeghloul pour m’avoir permis de mener mes travaux à leur terme.

Je tiens également à exprimer toute ma gratitude à mon encadrant, Pascal Seguin, pour son soutien, sa disponibilité et ses conseils.

Je suis très sensible à l’honneur que me font Monsieur Olivier Bruneau, Professeur à l’université Paris-Sud, et Monsieur Gérard Poisson, Professeur à l’université d’Orléans, d’accepter d’être mes rapporteurs de thèse. Je remercie sincèrement Pierre Vieyres et Luc Boutin d’avoir accepté de faire partie de mon jury de thèse.

Ma reconnaissance s’adresse aussi à Pierre Laguillaumie pour son aide concernant la commande de Tidom. Mes remerciements vont également à Antoine Eon pour son aide concernant les problèmes mécaniques liés à Tidom et également pour avoir accepté de faire partie de mon jury de thèse.

Je tiens à remercier tous les membres de l’équipe RoBioSS (Robotique, Biomécanique, Sport et Santé) pour leur soutien et leur aide durant ces quatre années. Je n’oublie pas les doctorants de l’équipe et en particulier Houssem, Hussein et Térence. Je n’oublie pas non plus les ingénieurs contractuels : Ameur, André et Thomas.

Je tiens à remercier particulièrement André pour sa participation à la commande de Tidom et pour son amitié.

Enfin, je tiens à remercier ma famille et en particulier mes parents pour leur soutien tout au long de ma thèse. Qu’ils trouvent ici le témoignage de ma reconnaissance.

(7)
(8)

7

Introduction générale

La robotique humanoïde est une thématique de recherche qui mobilise de plus en plus de laboratoires à travers le monde. Parmi les robots humanoïdes les plus aboutis, on peut citer ASIMO, développé par le constructeur automobile japonais Honda et capable de courir à 9km.h-1 et HRP-4, développé par l’AIST (Agence des Sciences et Techniques Industrielles) et la société Kawada. L’équipe RoBioSS de l’Institut Pprime, après avoir développé un bipède anthropomorphe de taille adulte (1,80 pour 105kg), BIP, a décidé de concevoir un robot humanoïde de petite taille (80cm pour 15kg). C’est ainsi que Tidom a vu le jour. Les travaux de ma thèse portent sur le système locomoteur de cette plateforme de test.

Dans le premier chapitre, nous présenterons Tidom et en particulier son système locomoteur. Nous nous intéresserons à sa commande et à son instrumentation mais surtout à ses caractéristiques mécaniques qui nous seront utiles dans la suite du mémoire. La partie locomotrice possède 12 degrés de liberté actionnés par des moteurs à courant continu. Les transmissions incorporent systématiquement un réducteur de type harmonic drive. Une étude pour déterminer les vitesses et les couples articulaires sera menée afin de pouvoir, par la suite, déterminer si une trajectoire donnée peut être testée sur la plateforme expérimentale. L’architecture de commande de Tidom est distribuée avec les variateurs d’axe implémentés au plus près des moteurs. Nous avons fait le choix d’utiliser un automate industriel et des bus CAN pour piloter le robot. Des codeurs incrémentaux intégrés sur les moteurs permettent la régulation en position et en vitesse de ces derniers. Des capteurs de force unidirectionnels ont été placés sur chaque pied pour déterminer l’emplacement du ZMP durant un mouvement.

L’objectif de la thèse est donc de générer une trajectoire de marche implémentable sur la partie locomotrice de Tidom. Nous avons pour cela utilisé une technique d’optimisation paramétrique développée dans [SEGU 03] et [MARO 07]. Dans le cadre de notre étude, nous cherchons à déterminer les variables de configuration (positions articulaires) et les variables de commande (couples articulaires) dans un même processus de calcul. Nous optimisons ainsi un pas de marche cyclique en minimisant un critère de performance sthénique (minimisant les couples articulaires). La méthode d’optimisation consiste à approcher les variables de configuration par des splines de classe C3 obtenues en raccordant des polynômes de degré 4 jusqu’à leurs dérivées d’ordre 3, c’est-à-dire les suraccélérations, pour assurer un mouvement à dynamique régulière. Il en résulte ainsi un nombre fini de paramètres à optimiser. Dans notre processus d’optimisation, seule la vitesse

(9)

8

de la marche est imposée, la longueur du pas et la répartition de temps entre la durée des différentes phases du mouvement sont optimisées. Dans le chapitre 2, nous développerons le modèle dynamique du robot ; ce dernier nous fournit les couples articulaires nécessaires au calcul du critère en fonction des positions, vitesses et accélérations articulaires et des efforts de contact au niveau du ‘’pied balancé’’ en double appui. En effet, nous verrons qu’en phase bipodale, il n’est plus possible de déterminer les couples articulaires par dynamique inverse du fait de l’apparition au niveau du ‘’pied balancé’’ d’efforts de contact. Ces derniers étant des inconnues du problème, nous avons choisi de les paramétrer et de les intégrer dans le vecteur des paramètres à optimiser. Nous détaillerons également toutes les contraintes spécifiques à la marche. Et enfin, nous présenterons l’algorithme de résolution de notre problème d’optimisation.

Les travaux présentés dans [SEGU 03] et [MARO 07] permettaient de générer des pas de marche avec pivotement des pieds autour de leurs arêtes pointe et talon. Les pieds de Tidom ne sont pas conçus pour exécuter ce type de trajectoire. Dans le cadre de notre étude, nous voulons valider les trajectoires obtenues sur une plateforme de test, il est donc nécessaire que le contact avec le sol se fasse avec les pieds à plat, ce qui a déterminé le mode de marche décrit dans ce chapitre. Contrairement à leurs travaux, nous avons choisi de raccorder les accélérations et couples articulaires aux transitions entre les différentes phases du mouvement. Ceci a pour but de pouvoir implémenter nos trajectoires sur un dispositif expérimental et ainsi d’éviter de détériorer la mécanique.

Dans le dernier chapitre, nous commencerons par exposer deux méthodes de génération de solution d’initialisation du processus d’optimisation. Nous présenterons ensuite plusieurs trajectoires. La première est générée pour le système locomoteur avec une vitesse de 0,1m.s-1, les accélérations étant raccordées aux changements de phases. Les deux trajectoires suivantes sont générées avec une partie haute et ont également des accélérations raccordées à la reprise d’appui, pour des vitesses de 0,1m.s-1 et 0,3m.s-1. Les résultats obtenus permettront de tester les capacités de marche de Tidom. Nous ferons également une comparaison avec une trajectoire créée sans le raccordement des accélérations.

Dans la dernière partie, nous présenterons des tests réalisés sur le dispositif expérimental. Tout d’abord, nous validerons l’utilisation des capteurs d’efforts au niveau des pieds pour le calcul du ZMP avec des mouvements de génuflexion et de déhanchement. Ensuite, nous testerons un mouvement de levée de pied et nous présenterons les modifications mécaniques apportées aux niveaux des axes de transmissions déportés pour pouvoir réaliser ce mouvement.

(10)

9

Chapitre 1

: Robot humanoïde Tidom

1.1.Introduction

L’axe RoBioSS de l’Institut Pprime a acquis un savoir-faire dans la conception de robots humanoïdes. Ainsi à la fin des années 90, la collaboration avec l’INRIA Rhône-Alpes a débouché sur un robot bipède anthropomorphe à 15 degrés de liberté et pourvu d’un tronc : BIP 2000. Ce dernier mesure 1,80m et pèse 105kg. Il est naturellement plus difficile de faire marcher un robot de grande taille. Par conséquent, il a été décidé la conception d’un robot humanoïde complet mesurant 80cm pour un poids de 15kg, Tidom, pourvu de bras et d’une tête. Pour le moment, seul le système locomoteur a été mis en œuvre. C’est sur le système locomoteur de Tidom qu’ont porté les travaux de cette thèse. Nous allons donc commencer par faire un aperçu des robots humanoïdes qui existent dans le monde. Puis nous présenterons le robot Tidom et plus précisément son système locomoteur sur lequel mes travaux ont porté. Nous nous intéresserons d’abord à la conception mécanique de Tidom, puis nous recenserons tous les capteurs implémentés sur ses jambes. Enfin, nous présenterons la partie commande, son architecture matérielle puis son architecture logicielle.

1.2.Robots bipèdes existant

Les premiers robots humanoïdes ont vu le jour dans les années 70, mais ils ne pouvaient exécuter que des marches statiques. Dans ce paragraphe, nous nous intéressons uniquement aux robots pouvant exécuter une marche dynamique.

On peut ainsi citer un premier robot humanoïde conçu en France : Rabbit (Figure 1-1 à gauche). Ce dernier a été conçu par plusieurs laboratoires dans le cadre du projet ROBEA (ROBotique et Entités Artificielles) du CNRS de 2000 à 2003 ([CHEV 00], [CHEV 03] et [CANU 04]). Il possède 4 degrés de liberté, un sur chaque hanche et un sur chaque genou. Il ne peut par conséquent faire que des marches sagittales. Ce robot a la particularité de ne pas avoir de pieds. Il est capable de marcher à 5km.h-1 et de courir à 12km.h-1.

(11)

10

Figure 1-1. RABB

Les robots qui suivent so des marches dynamiques tridime A la fin des années 90, un a été mené conjointement par le de Poitiers et par l’INRIA Rhône 2000 (Figure 1-1 à droite) ([SAR possède 12 degrés de liberté a liaison pelvis-tronc entre le bass courant continu. Le système d'e réalisée dans l'environnement remplacement. Les moteurs von B&R pilotés par des variateurs e sera pas modifiée.

Un autre robot humanoïd ROBIAN (Figure 1-1 au centre ([OUEZ 02] et [SELL 04]). Il p locomoteur. ROBIAN mesure 1, calquées sur celles d’un enfan articulations à cinématique para En Allemagne, l’Universi (Figure 1-2 à gauche) ([LOFF 03 articulations actives. Il est cap

RABBIT (gauche), ROBIAN (centre) et BIP (droite)

uivent sont des robots entièrement actionnés et pe s tridimensionnelles.

es 90, un projet de robot humanoïde a vu le jour en F nt par le LMS (Laboratoire de Mécanique des Solide A Rhône-Alpes de Grenoble. De ce projet est né le r

[SARD 98], [SARD 00]). Ce dernier mesure 1m8 liberté au niveau de son système locomoteur et 3 le bassin et le tronc. Il est entièrement actionné pa tème d'exploitation en temps réel est VxWorks et la nement ORCCAD. La partie commande de BIP e

vont être remplacés par des moteurs brushless riateurs et un automate de même marque. La parti

umanoïde développé en France durant la même pér centre) conçu par le LISV de l’Université de Versaille

. Il possède 12 degrés de liberté répartis su esure 1,30m et pèse 30kg, ses caractéristiques ph n enfant de 7 ans. La particularité de ce robot que parallèle au niveau des hanches et des chevilles. ’Université de Munich a développé le robot huma [LOFF 03], [LOFF 04]). Il mesure 1m80 et pèse 49k est capable de marcher à 2,2km.h-1. Il est équ

(droite)

és et peuvent effectuer

jour en France. Ce projet s Solides) de l’Université st né le robot bipède BIP ure 1m80 pour 105kg. Il eur et 3 au niveau de la tionné par des moteurs à orks et la commande est e BIP est en cours de rushless 80V de marque La partie mécanique ne

ême période est le robot Versailles Saint-Quentin partis sur son système iques physiques ont été e robot réside dans ses

hevilles.

ot humanoïde JOHNNIE èse 49kg et possède 17 est équipé de codeurs

(12)

11 incrémentaux, de réducteurs Harmonic Drive, de 6 capteurs de force et de couple, d’accéléromètres et de capteurs gyroscopiques. Il a été développé de 1998 à 2003.

Le successeur du robot JOHNNIE est le robot LOLA (Figure 1-2 à droite) [BUSC 09] qui mesure 1,80m pour approximativement 55kg. Il possède 25 mobilités internes dont 7 au niveau de chaque jambe. Une particularité de ce robot est qu’il possède une articulation active au niveau de l’avant du pied. Il est équipé de codeurs incrémentaux sur les axes moteurs et de capteurs angulaires absolus sur les arbres de sortie des articulations. Deux capteurs de force 6 axes sont intégrés dans la structure des pieds. Il est capable de marcher à 5km.h-1. L’alimentation électrique n’est pas embarquée sur le robot. Une centrale inertielle est installée dans la partie haute du corps, elle estime l’inclinaison et la vitesse angulaire du torse. Un contrôleur central contrôle l’ensemble du robot. Les réducteurs sont de type Harmonic Drive. LOLA utilise un système de communication temps-réel basé sur l’Ethernet appelé SERCOS.

Figure 1-2. JOHNNIE (gauche) et LOLA (droite)

WABIAN-2R (Figure 1-3 à gauche) est un robot humanoïde développé à l’Université WASEDA de Tokyo en 2006 [OGUR 06]. Il mesure 1,50 m pour 64kg. Sa particularité est de posséder une liaison passive au niveau du pied. Il possède 41 mobilités dont 6 au niveau de chacune des jambes sans compter les mobilités passives des pieds. Il est actionné par des moteurs à courant continu couplés à des réducteurs Harmonic Drive et à des transmissions poulies-courroies. WABIAN est commandé par un PC localisé dans le tronc. Le PC consiste en une carte PCI CPU avec un processeur Pentium M. WABIAN-2 est équipé de capteurs de force 6 axes.

(13)

12

Le constructeur automobile HONDA s’est lancé au début des années 90 dans la réalisation de robots humanoïdes. Après plusieurs réalisations, c’est le robot ASIMO (Advanced Step in Innovative MObility) (Figure 1-3 à droite) qui a vu le jour en 2000 [SAKA 02]. La dernière version est apparue en 2011, elle mesure 1,30m pour 48kg et possède 57 mobilités. ASIMO est capable de courir jusqu’à 9km.h-1 contre 6km.h-1 pour la version précédente.

Figure 1-3. WABIAN-2R (gauche) et ASIMO (droite)

Au Japon, l’AIST (Agence des Sciences et Techniques Industrielles) et la société Kawada ont développé en commun plusieurs robots humanoïdes HRP (Humanoid Robotic Project). Plusieurs versions de ce robot ont vu le jour.

Est ensuite venu le robot HRP-2 (Figure 1-4 à gauche) qui mesure 1,54m et pèse 58kg [KANE 04]. Il est doté de 30 ddl et est capable de marcher jusqu'à 2km.h-1. Il est équipé de capteurs de force 6 axes, d’accéléromètres 3 axes et de capteurs de vitesse angulaires 3 axes (HRP-2L). Il est actionné par des moteurs à courant continu couplés à des réducteurs de type Harmonic Drive (HRP-2L). Le contrôleur temps-réel fonctionne sur une carte CPU (Pentium III). Le système d’exploitation est ART-Linux.

HRP-3 (Figure 1-4 au centre) est un robot humanoïde de 1,60m pour 68kg qui possède 42 degrés de liberté [KANE 08]. L’architecture de commande de HRP-3 est distribuée et repose sur un réseau CAN qui n’est pas temps-réel mais présente néanmoins l’avantage d’être plus fiable et d’améliorer la maintenance du système. Le prototype de HRP-3, HRP-3P, a une architecture de commande distribuée basée sur le réseau temps-réel Ethernet.

(14)

13 Le dernier robot, HRP-4 (Figure 1-4 à droite), mesure 1,51m pour 39kg [KANE 11]. Il possède 34 degrés de liberté soit 4 de plus que HRP-2 mais 8 de moins que HRP-3. Le système logiciel de HRP-4 utilise la plateforme logicielle OpenRTM-aist et un noyau Linux. L’alimentation électrique est assurée par une batterie Ni-MH. Il est à noter que HRP-4 est plus léger que ces deux prédécesseurs du fait de la miniaturisation du système de commande.

Figure 1-4. HRP-2 (gauche), HRP-3 (centre) et HRP-4 (droite)

Récemment, la société française Aldebaran Robotics a créé un robot humanoïde de petite taille, NAO (Figure 1-5 à gauche). Il mesure 58cm et possède 25 mobilités internes. Il est actionné par des moteurs électriques. Il est équipé d’une centrale inertielle lui permettant de savoir s’il est debout ou assis. La partie commande est composée d’un processeur Intel ATOM 1,6 GHz (situé dans la tête) exploitant un noyau Linux et supportant le middleware exclusif d’Aldebaran NAOqi. Un second processeur est situé dans le torse.

Devant le succès de ce robot, Aldebaran Robotics a sorti un autre robot humanoïde plus grand, ROMEO (Figure 1-5 à droite), qui mesure 1,47m et pèse 37kg.

(15)

14

Figure 1-5. NAO (gauche) et ROMEO (droite)

L’institut de Technologie de Beijing a développé la série des robots BHR. BHR-5 [YU 14] est un robot humanoïde de 1,62m pour 65kg. Il possède 30 degrés de liberté dont 6 au niveau de chacune des jambes. Il peut marcher à 2,0km.h-1. Il est équipé de 2 caméras, de 3 gyroscopes, de 3 accéléromètres et de 2 capteurs de force 6 axes. Plusieurs bus CAN assurent la communication.

En Corée du Sud, le KAIST (Korean Advanced Institute of Science and Technology) a développé les robots KHR (KAIST Humanoid Robot). KHR-3 est un robot humanoïde de 1,25m pour 55kg. Il est aussi connu sous le nom de HUBO. KHR-3 possède une architecture de commande distribuée reposant sur un bus CAN.

(16)

15 Le robot Lucy (Figure 1-7 à gauche), développé par l’université de Bruxelles, présente la particularité d’être actionné par des muscles pneumatiques ([VAND 08], [VERR 05]). Sa taille est de 1,50m et son poids est de 30kg.

Récemment, le robot THOR-OP (Figure 1-7 à droite) a été développé pour le DARPA Robotics Challenge [YI 14]. Il mesure 1,47m pour 49kg et possède 31 degrés de liberté dont 7 au niveau de chacun des bras et 6 au niveau de chacune des jambes.

Figure 1-7. Lucy (gauche) et THOR (droite)

(17)

16

La société Boston Dynamics a conçu un robot humanoïde appelé ATLAS (Figure 1-8). Ce robot présente la particularité de posséder 28 actionneurs hydrauliques.

Après avoir présenté un aperçu des robots humanoïdes à travers le monde, nous allons maintenant détailler les architectures mécanique et de commande du robot Tidom.

1.3.Architecture mécanique

Tidom est un robot humanoïde entièrement actionné qui possède 26 degrés de liberté. Il est conçu pour mesurer 80cm et peser 15kg. A ce jour, seul le système locomoteur et les bras ont été fabriqués (Figure 1-9). Le système locomoteur possède 12 degrés de liberté, il mesure 50cm et pèse 10kg.

(18)

17 Dans ce paragraphe, nous nous intéresserons d’abord à l’agencement cinématique du robot, puis nous nous concentrerons sur le système locomoteur qui est la seule partie de Tidom à avoir été mise en œuvre. Nous présenterons ainsi les caractéristiques inertielles et les limites technologiques de la partie locomotrice. Enfin, nous nous intéresserons à l’actionnement et à la transmission.

1.3.1. Agencement cinématique

Tidom possède 26 degrés de liberté répartis comme suit sur la Figure 1-10.

Figure 1-10. Schéma cinématique de Tidom

L’originalité de ce robot réside dans l’agencement cinématique de la hanche. La première liaison en partant du pied vers le tronc est la rotation. Ceci nous a permis de loger le moteur dans la cuisse et ainsi d’abaisser la position du centre de gravité du robot. La majorité des robots humanoïdes ont les liaisons de flexion/extension de la cheville, du genou et de la hanche en série. Le Tableau 1-1 récapitule le nombre de degrés de liberté pour chaque articulation.

(19)

18

Tableau 1-1. Degrés de liberté de chaque articulation Articulations Degrés de liberté

Cheville 2 ddl : Abduction / Adduction ; Flexion / Extension Genou 1 ddl : Flexion / Extension

Hanche 3 ddl : Rotation ; Flexion / Extension ; Abduction / Adduction Tronc 2 ddl : Rotation ; Flexion / Extension

Tête 2 ddl : Rotation ; Flexion / Extension

Epaule 3 ddl : Flexion / Extension ; Abduction / Adduction ; Rotation Coude 1 ddl : Flexion / Extension

Main 1 ddl : Ouverture / Fermeture

Il est à noter que chaque main possède un degré de liberté. Tidom a en effet des mains monoactionnées à quatre doigts : trois doigts longs et un pouce opposable (Figure 1-11). Chaque doigt y compris le pouce est constitué de quatre phalanges. La transmission est assurée par des câbles. Le moteur lorsqu’il tourne entraîne un système poulie-courroie qui lui-même entraîne un palonnier. C’est à cette plaque que sont reliés les câbles qui actionnent les doigts. Les articulations des doigts sont équipées de ressorts qui leurs permettent de retrouver leur position initiale lorsque le moteur n’actionne plus les câbles.

Figure 1-11. Main monoactionnée

1.3.2. Paramétrage

Dans la suite de ce mémoire, nous ne considérerons que le système locomoteur de Tidom avec ses 12 degrés de liberté. Sur un pas de marche, le robot est donc constitué d’une seule chaîne cinématique partant du pied d’appui et se terminant au niveau du pied balancé. Il est nécessaire de paramétrer le robot afin de pouvoir décrire sa géométrie. Nous avons pour cela fait le choix du paramétrage de Denavit-Hartenberg [DENA 55] utilisé avec la convention de Khalil-Kleinfinger [KHAL 86]. Ce dernier permet en effet d’avoir des matrices de transformation homogènes ayant toujours la même forme d’où une plus grande simplicité au niveau de la programmation.

La méthode de paramétrage permet de définir un repère pour chaque solide . Un repère est associé au sol et à la partie du robot toujours en contact avec le sol. L’intersection entre le plan passant par le point (centre de la cheville) et orienté suivant

(20)

19 ( , ) et l’arête de la pointe du pied d’appui est la base du repère , dont le centre est le milieu de l’arête.

Figure 1-12. Schéma cinématique de Tidom

Selon le mode de marche choisi, le pied d’appui peut-être fixe ou non par rapport au sol. Dans le cas où le pied d’appui est en mouvement par rapport au sol, son arête avant est toujours en contact avec le sol et le seul mouvement du pied est le pivotement autour de cette arête. Une liaison pivot implicite peut d’ailleurs être définie [MARO 07], d’où le repère (Figure 1-12). Nous avons fait le choix de garder le pied d’appui à plat au sol durant tout le pas de marche pour pouvoir tester les trajectoires sur Tidom (voir paragraphe 2.2.1). Ce

3 3 3 4 4 4 10 9 9 10 9= 10 11= 12 11 12 11= 12 1= 2 1= 2 1 2 0 0= 01 01 0= 01 7 7 7 5= 6 5= 6 6 5 8 8 8

(21)

20

pied est donc fixe dans le repère . Nous avons cependant conservé le repère . Le paramétrage de Denavit-Hartenberg ne permettait pas de définir les paramètres entre le repère et le repère , d’où la nécessité d’un repère intermédiaire . Les repères et sont donc fixes l’un par rapport à l’autre. La Figure 1-12 montre le paramétrage du système locomoteur obtenu avec la méthode de Denavit-Hartenberg.

Chaque repère est défini par :

= ; , ,

Maintenant que nous avons défini les repères liés à chaque solide, il est nécessaire de définir les paramètres de Denavit-Hartenberg. Ils sont représentés sur la Figure 1-13 et définis comme suit dans les équations (1.1).

Figure 1-13. Paramétrage de Denavit-Hartenberg

Les équations (1.1) sont définies pour i allant de 2 à 12

= , !"

# = $ , $ %"&'

( = ) *) . , = *) ). $

(22)

21 Pour le premier paramètre, on obtient :

= , !'

# = $ , $ %-'

( = * .

, = * . $

(1.2)

L’axe ( , ) est l’axe de rotation de par rapport à . Tous les paramètres de Denavit-Hartenberg pour chaque articulation sont donnés dans le Tableau 1-2.

Tableau 1-2. Paramétrage de Denavit-Hartenberg

q α a r q2 3 Abduction/Adduction cheville droite q − Π 2 ℎ789: ;;9 −<= 9> ?:?23 0 Flexion/Extension cheville droite q Π 2 0 0 0 Flexion/Extension

genou droit q@ 0 lBCDCE −FGHI92JK 789: ;;9

Π 2 Rotation hanche droite qL Π 2 0 <7K MM9 0 Flexion/Extension hanche droite qN − Π 2 0 −FGHOJ3 8?2789 ?P> 8?2789 −Π2 Abduction/Adduction hanche droite qQ − Π 2 0 0 −Π2 Abduction/Adduction

hanche gauche qR 0 lSETUSV 0

Π 2 Flexion/Extension hanche gauche qW Π 2 0 −FGHOJ3 8?2789 ?P> 8?2789 Π2 Rotation hanche gauche qX Π 2 0 −<7K MM9 0 Flexion/Extension genou gauche q − Π 2 0 0 Π2 Flexion/Extension

cheville gauche q 0 lBCDCE −FGHI92JK 789: ;;9 Π

Abduction/Adduction

cheville gauche q − Π

(23)

22

Dans le Tableau 1-2, nous avons posé les paramètres suivants :

- <= 9> ?:?23 est la longueur entre la pointe du pied et la projection du centre de la cheville au sol

- ℎ789: ;;9 est la hauteur du centre de la cheville - lBCDCE est la longueur du tibia

- <7K MM9 est la longueur de la cuisse - lSETUSV est la largeur de la hanche

On remarque également que certaines articulations ne sont pas concourantes (par exemple, l’axe de l’abduction de la cheville et celle de la rotation de la hanche d’où le paramètre FGHI92JK 789: ;;9 . De même pour la rotation et l’abduction de la hanche

(FGHOJ3 8?2789 ?P> 8?2789). En revanche, les deux liaisons des chevilles sont concourantes. Les matrices de passage homogènes du solide au solide s’expriment de la manière suivante (Equation 1.3) où les paramètres , # , ( et , sont définis dans les équations (1.1) et (1.2) :

Y , = Z

cos − sin 0 (

cos # sin cos # cos − sin # −, sin # sin # sin sin # cos cos # , cos #

0 0 0 1

` (1.3)

1.3.3. Caractéristiques inertielles

Toutes les constantes caractéristiques de la distribution de masse du bipède Tidom sont récapitulées dans le Tableau 1-3 et le Tableau 1-4. Pour cela, nous avons défini les centres de gravité a de chaque membre dans le repère local par:

)a) = )+ c )+ $ ) (1.4)

Les matrices d’inertie de chaque membre en son centre de gravité a dans le repère local sont données par :

d = e−gf −g −hi −j

(24)

23 Tableau 1-3. Masse et position du centre de gravité de chaque segment

Solides Masses (kg)

Positions du centre de gravité Gi dans le

repère Ri (m) m c $ Pied droit 0,427 0,037 -0,096 0 Cheville droite 0,558 0 0,004 -0,003 @ Tibia droit 1,222 0,097 0,007 0,002 L Cuisse droite 1,079 0 -0,045 -0,002

N Hanche droite entre la rotation et la flexion 0,349 -0,001 0,011 -0,028 Q Hanche droite entre la flexion et l’abduction 0,553 0 -0,004 -0,003

R Bassin 2,410 0,068 0,069 0

W Hanche gauche entre la flexion et l’abduction 0,553 0 -0,003 -0,004 X Hanche gauche entre la rotation et la flexion 0,349 -0,001 0,028 -0,011

Cuisse gauche 1,079 0 0,002 0,045

Tibia gauche 1,222 0,063 -0,007 -0,005

Cheville gauche 0,558 0 -0,003 0,004

@ Pied gauche 0,427 -0,026 0 0,023

Tableau 1-4. Matrices d’inertie de chaque membre

Solides

Matrice d’inertie de chaque membre au centre de gravité a dans le repère (mm2.kg) f i k j h g S1 710 470 910 5,6 1,5 29 S2 380 290 240 6,7 -0,4 0,7 S3 1200 2900 2400 -18 260 260 S4 2600 500 2500 -67 1,8 -7,4 S5 420 320 220 110 1,7 8,9 S6 380 290 230 -6,8 0,4 -0,4 S7 2900 15000 15000 74 -16 0,1 S8 380 230 290 -6,9 -0,3 0,4 S9 420 220 320 110 -9,0 -1,7 S10 2600 2500 500 -67 7,5 -1,8 S11 1200 2900 2400 -18 260 260 S12 380 240 290 5,3 0,7 -0,4 S13 710 910 470 5,6 29 1,5

(25)

24

1.3.4. Limites technologiques

Enfin, afin de prévenir toute dégradation du robot, il est obligatoire de connaître les butées mécaniques de Tidom. Le Tableau 1-5 contient les butées articulaires mesurées sur le robot. Les valeurs prennent en compte les cartes électroniques et la connectique qui limitent les amplitudes du mouvement sur certaines liaisons.

Tableau 1-5. Débattements articulaires

Butées articulaires (deg) Positions articulaires Articulations Butées minimales Butées maximales q1 Abduction/Adduction cheville droite -45 25 q2 Flexion/Extension cheville droite -26 25 q3 Flexion/Extension genou droit 20 90 q4 Rotation hanche droite -40 43 q5 Flexion/Extension hanche droite -100 -57 q6 Abduction/Adduction hanche droite -110 -70 q7 Abduction/Adduction hanche gauche 70 110 q8 Flexion/Extension hanche gauche 57 100 q9 Rotation hanche gauche -40 43 q10 Flexion/Extension genou gauche 90 160 q11 Flexion/Extension cheville gauche 106 155 q12 Abduction/Adduction cheville gauche -45 25

(26)

25

1.3.5. Actionnement et transmission

Dans ce paragraphe, nous allons présenter l’actionnement et la transmission pour chaque articulation du système locomoteur de Tidom puis nous présenterons les limitations en vitesse et en couple articulaires pour chaque axe.

Chaque articulation est actionnée par un moteur à courant continu Faulhaber. Deux modèles de moteur équipent Tidom, le modèle 3863 H024C pour les articulations de flexion/extension de la cheville et d’abduction/adduction de la hanche et le modèle 3257 G024C pour les autres articulations. Le moteur 3257 développe une puissance utile de 83,2W tandis que le moteur 3863 développe une puissance utile de 214W.

Il est à noter qu’un codeur est intégré directement sur chaque moteur. La partie locomotrice de Tidom est équipée de deux types de transmission :

- Une transmission sur l’axe : le moteur et le réducteur de type harmonic drive sont sur le même axe que l’articulation (Figure 1-14).

- Une transmission déportée : le moteur est sur un axe, le réducteur de type harmonic drive est sur un autre axe et l’articulation est sur un troisième axe.

Pour le second type de transmission, les moteurs sont déportés pour des raisons d’encombrement, la compacité requise en largeur pour certaines articulations ne permettant pas un actionnement direct du réducteur. Ainsi, les liaisons de flexion/extension des chevilles et d’abduction/adduction des hanches ont des transmissions déportées. Toutes les autres articulations ont des transmissions sur l’axe.

Figure 1-14. Moteur et réducteur sur l’axe

Quelle que soit la transmission utilisée, le réducteur est toujours de type harmonic drive avec un rapport de réduction de 100. Le cas où l’actionnement et la transmission sont sur l’axe est décrit dans la Figure 1-15. Dans le cas d’une transmission déportée (Figures 1-16 et 1-17), le mouvement est transmis du moteur à l’entrée du réducteur par une transmission

Bloc contenant le réducteur Moteur

(27)

26

courroie et du réducteur à l’articulation également par une transmission poulie-courroie.

Figure 1-15. Actionnement et transmission sur l’axe

Sur la Figure 1-15, r désigne le rapport de réduction de l’élément considéré. Il en est de même pour les figures 1-16 et 1-17.

Figure 1-16. Actionnement et transmission de l’articulation de flexion/extension de la cheville

Sur la Figure 1-16, le rapport de réduction du système poulie-courroie entre le moteur et le réducteur est de 1,72 et celui du système poulie-courroie entre le réducteur et l’axe articulaire est de 1. On obtient donc un rapport global de réduction au niveau de la transmission qui est de 172. Sur la Figure 1-17, le rapport de réduction du système poulie-courroie entre le moteur et le réducteur est de 0,658 et celui du système poulie-poulie-courroie entre le réducteur et l’axe articulaire est de 1,94. On obtient donc un rapport global de réduction au niveau de la transmission qui est de 127.

Moteur Réducteur Articulation

r = 100

Moteur

Articulation Réducteur

r = 100 Système Poulie Courroie

r = 1,72

Système Poulie Courroie r = 1

(28)

27 Figure 1-17. Actionnement et transmission de l’articulation d’abduction/adduction de la

hanche

Nous allons maintenant présenter l’actionnement et la transmission successivement pour les articulations cheville, genou et hanche.

Figure 1-18. Articulation cheville

L’articulation cheville est composée de deux liaisons dont les axes sont concourants : l’abduction/adduction et la flexion/extension. Pour l’abduction/adduction, la transmission est sur l’axe mais pour la flexion/extension, la transmission est déportée en raison de l’encombrement réduit de l’articulation. Le rapport de réduction de l’articulation d’abduction/adduction est de 100 tandis que celui de l’articulation de flexion/extension est de 172.

Moteur

Articulation Réducteur

r = 100 Système Poulie Courroie

r = 0,658

Système Poulie Courroie r = 1,94 Transmission poulie-courroie Réducteur Axe d’abduction / adduction de la cheville Axe de flexion / extension de la cheville Transmission poulie-courroie Moteur

(29)

28

Figure 1-19. Articulation genou

L’articulation genou possède un degré de liberté qui est une flexion/extension. La transmission pour cette liaison est sur l’axe, le rapport de réduction est par conséquent de 100.

Figure 1-20. Articulation hanche : vue de face Axe de flexion / extension du genou Moteur Réducteur Axe de rotation de la hanche Moteur de rotation de la hanche Axe d’abduction/adduction de la hanche Axe de flexion/extension de la hanche Transmission poulie-courroie Moteur de flexion / extension de la hanche

(30)

29 Figure 1-21. Articulation hanche : vue de derrière

L’articulation hanche est composée de trois liaisons : la liaison de rotation, la liaison de flexion/extension et la liaison d’abduction/adduction. La liaison de flexion/extension a une transmission déportée toujours pour des raisons d’encombrement. Les deux autres liaisons ont des transmissions sur l’axe. Le moteur pour la rotation de la hanche est situé dans la cuisse. Le rapport de réduction de l’abduction/adduction est de 128 tandis que ceux de la rotation et de la flexion/extension sont de 100.

Sur la Figure 1-20, nous voyons bien le décalage (−FGHOJ3 8?2789 ?P> 8?2789 : voir Tableau 1-2) entre l’axe vertical (jaune) et l’intersection des deux autres axes (rouge et bleu). Il est maintenant nécessaire de déterminer les limites en vitesse et en couple pour chaque articulation. Les fiches techniques des moteurs et des réducteurs nous fournissent des informations pour les calculer.

Le Tableau 1-6 donne les caractéristiques techniques des moteurs tandis que le Tableau 1-7 donne les caractéristiques techniques des réducteurs.

Transmission poulie-courroie Moteur

d’abduction / adduction de la hanche

(31)

30

Tableau 1-6. Grandeurs caractéristiques des moteurs Abduction/ Adduction cheville Flexion/ Extension cheville Flexion/Ext ension genou Rotation hanche Flexion/ Extension hanche Abduction/ Adduction hanche Référence moteur 3257 3863 3257 3257 3257 3863 Vitesse moteur nominale (tr.min-1) 5210 5510 5210 5210 5210 5510 Vitesse moteur nominale (rad.s-1) 546 577 546 546 546 577 Vitesse moteur maximale (tr.min-1) 7000 7000 7000 7000 7000 7000 Vitesse moteur maximale (rad.s-1) 733 733 733 733 733 733 Couple moteur nominal (N.m) 0,071 0,129 0,071 0,071 0,071 0,129 Couple moteur maximal (N.m) 0,142 0,258 0,142 0,142 0,142 0,258

Les fiches techniques des moteurs ne nous fournissent pas d’information concernant les couples maximaux qu’ils peuvent fournir. Nous avons donc considéré que les couples moteurs maximaux valent 2 fois la valeur des couples nominaux.

Tableau 1-7. Couples et vitesses maximum au niveau des réducteurs

Référence réducteur XB3-A

Vitesse nominale (rad.s-1) 209 Vitesse maximale (rad.s-1) 890 Couple de sortie nominal (N.m) 3 Couple de sortie maximal (N.m) 5,1 Couple de sortie impulsionnel (N.m) 8,1

Le couple nominal correspond au fonctionnement normal du réducteur, il est donc préférable que le couple moyen ou couple RMS à la sortie du réducteur reste inférieur à cette valeur. Le couple maximal est le couple au-dessus duquel la durée de vie du réducteur diminue. Tidom est une plateforme de test qui n’est par conséquent pas vouée à fonctionner en permanence. La réduction de la durée de vie des réducteurs n’est donc pas aussi prégnante que sur un dispositif industriel. Nous autoriserons donc des excursions au-dessus du couple maximal. En revanche, le couple impulsionnel ne doit en aucun cas être dépassé pour éviter la détérioration des réducteurs.

Les moteurs et les réducteurs ont des limitations en vitesse et en couple. Il nous faut savoir lequel des deux limite la vitesse et le couple articulaire pour chaque liaison. Nous

(32)

31 avons les limites en couple du réducteur à sa sortie. En considérant les couples maximaux que les moteurs peuvent fournir mais sans prendre en compte les limitations des réducteurs, nous allons calculer les couples à la sortie des réducteurs. Le rapport de réduction entre le moteur et la sortie du réducteur est de 100 pour les transmissions sur l’axe, de 65,8 (produit du rapport de réduction de la transmission poulie-courroie entre le moteur et le réducteur avec celui du réducteur) pour la transmission de l’abduction/adduction de la hanche et de 172 pour la transmission de la flexion/extension de la cheville. Le couple maximal autorisé par le moteur à la sortie du réducteur est donc de 14,2N.m pour les transmissions sur l’axe, de 17N.m pour la transmission de l’articulation abduction/adduction et de 44,4N.m pour la transmission de l’articulation flexion/extension de la cheville. Ce sont donc bien les réducteurs qui fixent le couple articulaire maximal atteignable. Pour le calculer, il faut donc considérer le couple maximal à la sortie du réducteur et le rapport de réduction entre le réducteur et l’axe articulaire. On fait de même avec les couples nominaux et les couples impulsionnels. Les couples articulaires sont donnés dans le Tableau 1-8.

Concernant les vitesses nominales et maximales des réducteurs, elles ne sont pas fournies par le constructeur mais on peut les estimer par rapport à des réducteurs de tailles similaires disponibles dans la gamme d’un concurrent. On estime ainsi que la vitesse maximale d’entrée du réducteur (8500 tr/min) est supérieure à celle que pourrait lui fournir le moteur. Dans le cas d’une transmission sur l’axe, la limitation en vitesse est due aux moteurs. Il en est de même pour la transmission de l’articulation de flexion/extension de la cheville puisque le système poulie-courroie entre le moteur et le réducteur diminue la vitesse à l’entrée du réducteur. Cependant, dans le cas de la transmission de l’articulation d’abduction/adduction, il faut prendre en compte le fait que le système poulie-courroie entre le moteur et le réducteur augmente la vitesse à l’entrée du réducteur. Si la vitesse du moteur est de 7000 tr/min, la vitesse à l’entrée du réducteur sera de 10640 tr/min ce qui est largement supérieur à la vitesse maximale. Pour que la vitesse à l’entrée du réducteur soit inférieure à 8500 tr/min, il faut que la vitesse du moteur soit inférieure à 5590 tr/min. Dans le cas de la transmission de l’articulation d’abduction/adduction, c’est donc le réducteur qui limite la vitesse.

(33)

32

Tableau 1-8. Couples et vitesses au niveau des articulations Abduction Adduction cheville Flexion Extension cheville Flexion Extension genou Rotation hanche Flexion Extension hanche Abduction Adduction hanche Rapport de réduction de la transmission 100 172 100 100 100 128 Rapport de réduction entre la sortie du réducteur et l’axe articulaire 1 1 1 1 1 1,94 Vitesses nominales (rad.s-1) 5,46 3,35 5,46 5,46 5,46 4,51 Vitesses maximales (rad.s-1) 7,33 4,26 7,33 7,33 7,33 4,57 Couples nominaux (N.m) 3 3 3 3 3 5,82 Couples maximaux (N.m) 5,1 5,1 5,1 5,1 5,1 9,9 Couples impulsionnels (N.m) 8,1 8,1 8,1 8,1 8,1 15,71

Les calculs des vitesses et des couples articulaires nécessitent de connaître les vitesses et les couples des éléments mécaniques qui les limitent et les rapports de réduction entre ces éléments et l’axe articulaire. Les vitesses au niveau des axes articulaires sont calculées à partir des vitesses des moteurs, on considère donc le rapport de réduction de la transmission dans son intégralité. Il est cependant à noter que la vitesse maximale au niveau de l’axe articulaire d’abduction/adduction de la hanche fait exception. Elle est en effet calculée à partir de la vitesse maximale à l’entrée du réducteur, on considère donc dans ce cas le rapport de réduction entre l’entrée du réducteur et l’axe articulaire. Les couples articulaires sont calculés à partir des couples à la sortie des réducteurs, on considère donc les rapports de réduction entre la sortie des réducteurs et les axes articulaires.

Le Tableau 1-8 donne les limites technologiques en vitesses angulaires et en couples pour chaque axe du système locomoteur de Tidom.

(34)

33

1.4.Instrumentation

Tidom est instrumenté de façon à connaître en permanence sa configuration articulaire et la position des centres de pression de chaque semelle. Dans ce paragraphe, nous présentons succinctement les différents instruments de mesure.

1.4.1. Codeurs incrémentaux

Tidom est équipé de 12 codeurs incrémentaux de marque Faulhaber intégrés directement sur les moteurs, ils nous donnent donc une mesure de position relative des moteurs. Les codeurs de Tidom ont 512 points par tour, ils délivrent donc 512 impulsions pour une rotation du disque. Ils servent à l’asservissement en position et en vitesse des moteurs. L’axe moteur est donc en boucle fermée. Les informations codeurs sont transformées en positions instantanées et sont envoyées cycliquement à l’automate via le bus CAN.

1.4.2. Potentiomètres

Douze potentiomètres de marque Megatron sont montés sur chacun des axes articulaires de Tidom. Ils nous donnent une mesure de position absolue des articulations. L’axe articulaire est en boucle ouverte car il n’y a pas d’asservissement de position ou de vitesse sur cet axe, seulement sur le moteur. Les potentiomètres servent à la prise d’origine. Nous envisageons à terme d’utiliser les informations des codeurs et des potentiomètres pour intégrer dans la commande le comportement mécanique de la transmission. Nous envisageons également d’asservir en position et en vitesse l’axe articulaire. Des cartes d’entrées analogiques X20 AI 4632 sont montées sur l’automate B&R afin de récupérer les signaux des potentiomètres. Les potentiomètres sont alimentés par une carte X20 PS 4951 (Figure 1-24).

1.4.3. Capteurs d’effort

Chaque pied de Tidom est instrumenté de 3 capteurs d’effort unidirectionnels. Nous mesurons donc l’effort normal au pied. Les trois capteurs nous permettent de localiser le centre de pression sur chaque semelle. Les capteurs d’effort sont des capteurs à jauges de déformation. Les signaux des capteurs de forces sont récupérés par des cartes d’entrée analogique (X20 AI 1744).

(35)

34

Figure 1-22. Position des capteurs d’effort montés sur le robot

Les trois capteurs sont placés entre la semelle et la partie métallique du pied. Un des capteurs est localisé au niveau du talon, les deux autres sont au niveau de la partie avant du pied (Figure 1-22). Des tests ont été réalisés sur le robot afin d’obtenir l’évolution du ZMP calculée à partir des mesures des capteurs de force. Ces tests seront présentés au chapitre 3 dans le paragraphe 3.7.2.

1.5.Partie commande

L’architecture matérielle et logicielle de contrôle de Tidom permet de piloter les 12 moteurs à courant continu du système locomoteur. Dans ce paragraphe, nous allons détailler tout d’abord l’architecture matérielle de Tidom puis nous présenterons son architecture logicielle.

1.5.1. Architecture matérielle de contrôle

L’architecture de commande est distribuée avec les contrôleurs d’axe implémentés directement sur le robot au plus près des moteurs. Elle est constituée d’un automate B&R aussi appelé PLC, de 12 contrôleurs d’axe Whistle et d’un PC. La Figure 1-23 montre cette architecture.

(36)

35 Figure 1-23. Architecture réseau

Le PC permet d’utiliser l’environnement de développement automate Automation Studio, de B&R Automation. En phase d’utilisation du robot, il sert d’interface utilisateur au logiciel d’IHM exécuté par PLC, via le protocole VNC (Virtual Network Computing). Il est relié à l’automate par un câble Ethernet afin que le programme, une fois compilé, puisse être transféré sur l’automate. Le réseau Ethernet sert aussi à faire transiter les informations entre l’automate et le PC pour l’IHM.

Le PLC assure la conduite du robot. Il permet à l’utilisateur de piloter l’humanoïde en mode manuel, de charger et de lancer l’exécution de lois de commande articulaires permettant les mouvements de marche et de générer les fichiers des valeurs des capteurs pendant les essais. Le PLC est un automate B&R de type X20CP3486 (Figure 1-24); il est équipé d’un processeur Intel Celeron 650 et embarque le système d’exploitation temps-réel Automation Runtime de B&R Automation.

Bus CAN Liaison ethernet Consigne moteur Retour codeur Ordinateur hôte Automate Jambe droite Whistle Servomoteur Whistle Servomoteur Jambe gauche Whistle Servomoteur Whistle Servomoteur

(37)

36

Figure 1-24. Automate B&R

L’automate est équipé de deux ports USB, d’un port Ethernet, d’un port Ethernet Powerlink et d’un port série. Deux cartes X20 IF 2772 sont implémentées sur l’automate, chacune avec deux interfaces CAN. Pour le moment seule une carte est utilisée pour piloter les deux jambes. Nous avons rajouté une carte X20 PS 4951 pour alimenter les potentiomètres en +10V/-10V. D’autres cartes ont été rajoutées, des cartes X20 AI 4632, afin d’obtenir les signaux des potentiomètres et des cartes X20 AI 1744, pour obtenir les signaux des capteurs d’effort.

Les contrôleurs d’axe sont des Whistles de marque Elmo qui présentent les avantages d’être extrêmement compacts et de proposer des modes de pilotage évolués et une communication via le bus CAN. De plus, ils sont capables de délivrer jusqu’à 1600W de puissance continue et 2400W en crête. On peut donc facilement les intégrer sur le robot lui-même. Chaque contrôleur d’axe Whistle prend en charge un moteur. Il assure les boucles de régulation en courant, vitesse, position et communique via le protocole CANopen avec l’automate. Il reçoit de l’automate les ordres de gestion de l’axe (démarrage, prise d’origine, déplacement point à point, déplacement en position cyclique) et envoie l’état de l’axe, sa position et les éventuels défauts matériels. Les contrôleurs Whistles génèrent les lois de commande des axes et l’interpolation entre consignes cycliques. Ils délivrent une tension ondulée aux moteurs. En retour, ils reçoivent l’information codeur. Dans un premier temps, l’automate envoie des messages de configuration aux Whistles pour les paramétrer. Ensuite, pendant l’exécution de la trajectoire, l’automate envoie cycliquement les consignes en position et en vitesse aux Whistles.

Nous allons maintenant nous intéresser à l’architecture matérielle du contrôleur Whistle (Figure 1-25) et à sa connectique (Figure 1-26). Le Whistle est alimenté en 24V et il communique avec l’automate via un bus CAN. L’automate envoie une consigne de tension ondulée au moteur et reçoit en retour l’information du codeur. Les données des codeurs l’informent de la position et de la vitesse du moteur. Le Whistle peut ainsi les réguler.

Automate X20IF2772 Cartes X20 IF 2772

Port Ethernet Powerlink

Port USB Carte Compact Flash

Cartes X20 AI 4632 + Carte X20 AI 1744 Carte X20 PS 4951 Carte d’alimentation de l’automate Port Série Port Ethernet

(38)

37 Figure 1-25. Architecture matérielle du contrôleur Whistle

Figure 1-26. Connectique du Whistle

Sur la Figure 1-26, on peut voir un Whistle avec tous ses connecteurs. Au niveau de l’alimentation, il est doté d’un connecteur d’alimentation du module et d’un connecteur d’alimentation du moteur. Pour la communication, nous avons trois connecteurs : deux connecteurs pour le bus CAN, une entrée et une sortie et un connecteur de retour d’information capteur. En l’occurrence, seuls les codeurs sont connectés aux Whistles.

La communication entre le PLC et les Whistles est assurée par 2 bus CAN, un par jambe. Nous avons dédoublé le bus afin d’avoir six contrôleurs par bus et donc augmenter la

Entrée / Sortie du bus CAN Alimentation ondulée du moteur Alimentation du module Retour d’information du codeur

(39)

38

bande passante. Une carte X20IF2772 sur l’automate est équipée de deux interfaces pour bus CAN.

1.5.2. Architecture logicielle de contrôle

L’architecture logicielle de contrôle de Tidom est une architecture distribuée. Elle repose sur l’utilisation d’une plateforme matérielle constituée de plusieurs contrôleurs d’axes Whistle sur lesquels sont implémentés les réglages des paramètres de correction spécifiques à notre application. Ils réalisent les asservissements des axes et génèrent les lois de variation de vitesse à partir des consignes automates, selon deux types de pilotage complémentaires.

Deux modes de fonctionnement sont possibles avec les Whistles :

- Le mode PTP (Point To Point) : l’axe est mis en mouvement avec un trapèze en vitesse.

- Le mode PVT (Position Velocity Time) : le Whistle reçoit une consigne en position et en vitesse toutes les 10ms et permet à l’axe de suivre cette consigne.

Le protocole CANopen nous fournit des objets de communication standardisés que nous allons utiliser pour échanger consignes et retours d’informations entre le PLC et les contrôleurs. Les messages SDO (Service Data Objects) servent à la configuration des entrées du dictionnaire d'objets. Les messages PDO (Process Data Objects) ont pour fonction le transport des données.

Lors de la configuration des Whistles, l’automate envoie des messages SDO aux Whistles. Les messages SDO nécessitent toujours une réponse de la part des Whistles. Ces messages servent également à configurer les messages PDO. Les messages PDO sont ceux utilisés durant le mouvement car ils ne nécessitent pas de réponse de la part des Whistles ce qui les rend plus efficaces. En plus, la totalité du message est consacré à l’information. Les messages d’urgence et les erreurs sont transmis par des messages EMCY. Ces messages contiennent l'information sur les erreurs et sont émis par le Whistle dès qu'il y a une erreur.

Durant le mode PVT, l’automate envoie les consignes de position et de vitesse toutes les 10ms à chacun des Whistles. Le problème que l’on rencontre est que le bus CAN n’est pas un bus temps-réel. Il n’y a pas de garantie que les points que l’on envoie toutes les 10ms arrivent toutes les 10ms. Les consignes sont envoyées en groupe et sont reçues dans un buffer FIFO (First In First Out) qui est présent à l’entrée des Whistles. Elles sont ensuite resynchronisées sur l’horloge temps-réel du contrôleur. La période de la boucle de position du contrôleur étant plus petite que les 10ms d’échange sur le bus CAN, il faut interpoler les positions articulaires dans le contrôleur.

(40)

39 Le programme développé avec le logiciel B&R Automation Studio s’exécute toutes les 10ms. Ce programme repose sur une machine d’état du robot qui reprend celle des axes. Les axes de Tidom ont en effet leur propre machine d’état (Figure 1-27).

Figure 1-27. Machine d’état d’un axe

Nous allons maintenant expliciter chaque état de la machine d’état du robot.

Dans un premier temps, le système est dans l’état ‘’Init’’, les Whistles sont sous tension mais pas les moteurs.

Lorsque le ‘’Start’’ passe à 1, les paramètres de Tidom tels que les rapports de réduction ou les butées articulaires sont initialisés. Dans un second temps, le programme synchronise les Whistles entre eux avant de les configurer. Si aucune erreur n’est détectée, les moteurs sont mis sous tension et le système passe à l’état ‘’Standstill’’. Cet état est un état d’attente.

Lorsque le système est dans l’état ‘’Standstill’’, plusieurs possibilités s’offrent à l’utilisateur. Il doit cependant, avant d’exécuter un mouvement, faire une mise en référence des axes en passant par l’état ‘’Homing’’.

Le ‘’Homing’’ est la prise d’origine des axes. L’utilisateur spécifie la position angulaire des axes du robot. De cette façon, la commande connaît la configuration du robot. Une fois le ‘’Homing’’ effectué, le système revient dans l’état ‘’Standstill’’.

Start Init done BPhome Homing Standstill PTP done PTP position PVT trajectory done BPpvtTraj PVT standstill BPpvt Stop PTP velocity BPptpVel+ = 0 BPptpVel- = 0 BPptpVel+ = 1 BPptpVel- = 1 Read file LecTraj Done

(41)

40

L’opérateur a alors le choix entre le mode PTP (Point To Point) et le mode PVT (Position Velocity Time). Le mode PTP est le mode manuel, il sert à repositionner le robot dans une configuration donnée. Le mode PVT est utilisé pour exécuter des trajectoires.

Il existe deux modes de fonctionnement en modes PTP : le mode ‘’PTP position’’ et le mode ‘’PTP velocity’’. Le mode ‘’PTP position’’ consiste à déplacer l’axe jusqu’à un point objectif (vitesse + position) avec une loi de commande trapézoïdale en vitesse où les vitesses et les accélérations maximales sont imposées. Le mode ‘’PTP velocity’’ consiste à déplacer l’axe tant que la consigne de déplacement est active ou jusqu’à la butée logicielle toujours avec une loi de commande trapézoïdale en vitesse. On ne spécifie donc pas une position à atteindre. L’axe est en mouvement tant que l’opérateur appuie sur un bouton.

Le mode PVT est le mode normal d’utilisation du robot. Il sert à réaliser les trajectoires générées en amont par les algorithmes d’optimisation et lues lors de l’état ‘’Read file’’. Ce mode est un suivi de consigne cyclique avec donnée de la position et de la vitesse. L’état ‘’PVT Standstill’’ est l’état d’attente du mode PVT tandis que l’état ‘’PVT trajectory’’ est l’état dans lequel la trajectoire est exécutée sur le robot. Avant d’activer le mode PVT, il est nécessaire de connaître la trajectoire. Nous avons décidé d’écrire la trajectoire précalculée dans un fichier binaire que l’on met sur une clé USB pour pouvoir le lire sur l’automate. Le fichier binaire contient dans l’ordre : un premier nombre entier de 16 bits qui est le nombre de points de la trajectoire, puis un second nombre entier de 16 bits qui est le nombre d’axes. Les points qui suivent sont ceux de la trajectoire pour chaque axe. Les trajectoires sont données axe par axe. La commande a besoin d’avoir la position et la vitesse des axes à chaque instant. Pour chaque axe, la trajectoire se termine par un point d’arrêt avec une position de 1000 et une vitesse de 0. Ce point marque la fin de la trajectoire pour chaque axe.

Dans chaque état, le système vérifie cycliquement la présence d’une erreur ou d’un message d’erreur sur les nœuds du bus. En cas d’erreur, le système revient à l’état ‘’Standstill’’. L’opérateur doit alors corriger l’erreur et acquitter la correction.

Pour pouvoir utiliser le robot nous avons créé une Interface Homme Machine (IHM). La Figure 1-28 montre la première page de cette IHM qui permet de piloter tous les axes en mode manuel et de charger un fichier de trajectoires avant d’en lancer l’exécution. Une seconde page de l’IHM est dédiée à la gestion des erreurs et une troisième affiche les messages d’urgence. Ces deux pages ne seront pas présentées dans ce mémoire.

(42)

41 Figure 1-28. Interface homme-machine (première page)

Cette interface permet de piloter le robot. On retrouve un bouton ‘’START’’ pour configurer la commande et mettre les moteurs du robot sous tension. Un bouton ‘’LecTraj’’ lance la lecture de la trajectoire et un bouton ‘’HOMING’’ active la prise d’origine des axes. Cette dernière opération est nécessaire avant de mettre le robot en mouvement aussi bien en mode PTP qu’en mode PVT. La lecture de la trajectoire est bien entendu obligatoire avant de l’exécuter en mode PVT. Le bouton ‘’PVT’’ permet de lancer l’exécution de la trajectoire en mode PVT. Le bouton ‘’PVTstop’’ permet de sortir de ce mode. Le bouton ‘’RESET’’ sert à réinitialiser la machine d’état. Le bouton ‘’STOP’’ permet d’arrêter le mouvement du robot. L’interface renvoie l’état de chaque axe ainsi que le nombre d’erreurs et de messages d’urgence. Le bouton ‘’Place All’’ sert à positionner tous les axes en mode PTP en même temps. L’interface permet également de piloter chaque axe indépendamment les uns des autres en mode PTP, soit en imposant la position à atteindre (par exemple ‘’PTP1’’ pour l’axe 1), soit à l’aide d’un bouton poussoir qui met l’axe en mouvement dans un sens ou dans l’autre (par exemple ‘’PTP1V+’’ et ‘’PTP1V-’’ pour l’axe 1). En cas d’erreur ou de messages d’urgence, une autre page de l’interface a été conçue pour gérer ces problèmes.

(43)

42

1.6.Conclusion

Dans ce chapitre, nous avons présenté les réalisations les plus abouties de la robotique humanoïde. Ces robots ont été développés pour la plupart par des laboratoires de recherche, mais il est à noter que plusieurs entreprises se sont lancées dans la robotique humanoïde telles que Honda ou Aldebaran Robotics.

Nous avons pu mettre en évidence les particularités de Tidom par rapport aux robots humanoïdes existant. L’agencement cinématique de Tidom a permis de placer dans la cuisse le moteur qui actionne la rotation de la hanche. La partie locomotrice de Tidom est compacte grâce à cet agencement ainsi qu’aux transmissions déportées de la liaison de flexion/extension de la cheville et de la liaison d’abduction/adduction de la hanche. Nous avons fait le choix d’une architecture de commande distribuée avec des variateurs d’axe au plus près des moteurs. Cette architecture repose sur deux bus CAN et sur un automate programmable industriel. Des codeurs permettent l’asservissement en position et en vitesse des moteurs. Nous souhaitons par la suite asservir les axes également en position et en vitesse avec les potentiomètres et ainsi intégrer le comportement mécanique de la transmission dans la commande. Des capteurs de force unidirectionnels permettent de calculer la position du centre de pression sur chaque pied de l’humanoïde. Nous pourrons ainsi comparer le ZMP déterminé à partir des algorithmes de génération de trajectoire de marche et celui calculé à partir des mesures des capteurs de force. Nous pouvons envisager par la suite d’asservir le robot afin que le ZMP reste toujours dans le polygone de sustentation. Nous assurerons ainsi l’équilibre du robot.

Ce chapitre donne également toutes les caractéristiques mécaniques du robot humanoïde Tidom qui vont permettre de générer des trajectoires optimales de marche implémentables sur la plateforme expérimentale dont la mise en équations est présentée au chapitre 2 et les résultats au chapitre 3.

Figure

Figure 1-1. RABB
Figure 1-2. JOHNNIE (gauche) et LOLA (droite)
Figure 1-4. HRP-2 (gauche), HRP-3 (centre) et HRP-4 (droite)
Figure 1-5. NAO (gauche) et ROMEO (droite)
+7

Références

Documents relatifs

Concrètement, la possibilité de payer indistinctement avec des pesos ou avec des dollars des transactions dans lesquelles le prix trouve une même expression numérique dans les deux

23. Compte tenu des expériences de certains pays africains et de certaines régions africaines et européennes, il serait plus indiqué de chercher d’abord des moyens

18. URGES the Commission in collaboration with the Sub-Committee on Multilateral Cooperation to finalize the evaluation process and submit the report to the

De plus, les réformes économiques algériennes traduisent une certaine volonté de changement de système économique et social ; véhiculée par les nouvelles orientations de

Cette recherche analyse les effets de deux tâches d‟aide à la compréhension et à la production d‟un texte explicatif en français et montre que ces tâches

Analyse du total des informations correctes produites au Questionnaires Q1 et Q2 Nous analysons, tout d’abord, le total des réponses correctes aux questions portant sur la base de

Au moyen de l’application d’un prisme à l’objectif d’une lunette, [Arago] avait prouvé non-seulement que les mêmes tables de réfraction peuvent servir pour la lumière

By applying a prism to the lens of a telescope, [Arago] had proved not only that the same refraction tables can serve for the light that the Sun emits and