Conception et développement d’un générateur de ...

70
Master 2 Recherche : Signaux et Systèmes Option : "Contrôle des systèmes" Rapport de stage Préparée au Laboratoire d’Informatique de Robotique et de Microélectronique de Montpellier LIRMM UMR (CNRS-UM2) N 5506 161, rue Ada 34095, Montpellier Thème Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde présentée par Moussâb BENNEHAR Encadrant : Ahmed CHEMORI Co-encadrant : David GALDEANO Soutenu le 05 Septembre 2012

Transcript of Conception et développement d’un générateur de ...

Page 1: Conception et développement d’un générateur de ...

Master 2 Recherche : Signaux et SystèmesOption : "Contrôle des systèmes"

Rapport de stage

Préparée auLaboratoire d’Informatique de Robotique et de Microélectronique de Montpellier

LIRMM UMR (CNRS-UM2) N 5506161, rue Ada

34095, Montpellier

Thème

Conception et développement d’un générateur de

trajectoires bio-inspiré en robotique humanoïde

présentée par

Moussâb BENNEHAR

Encadrant : Ahmed CHEMORICo-encadrant : David GALDEANO

Soutenu le05 Septembre 2012

Page 2: Conception et développement d’un générateur de ...

Table des matières

1 Contexte et problématiques 11.1 Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Présentation du laboratoire d’accueil . . . . . . . . . . . . . . . . . . . . . . . 21.3 Problématiques et objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Travail à réaliser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Organisation du rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Introduction à la robotique humanoïde 62.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Les bases de la robotique humanoïde . . . . . . . . . . . . . . . . . . . . . . . 62.3 Le concept de stabilité d’un robot humanoïde . . . . . . . . . . . . . . . . . . 112.4 La marche humanoïde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 État de l’art sur les générateurs de trajectoires en robotique humanoïde 163.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Solutions existantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 La marche humaine : description, analyse et capture 234.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 La marche humaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Capture de mouvement (MoCap) . . . . . . . . . . . . . . . . . . . . . . . . . 274.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Solution proposée : vers un générateur de trajectoires corps complet bio-inspiré 355.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 Les marges de stabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.3 Générateur de trajectoires bio-inspiré . . . . . . . . . . . . . . . . . . . . . . . 36

i

Page 3: Conception et développement d’un générateur de ...

Table des matières

5.4 Générateur de trajectoires bio-inspiré optimal . . . . . . . . . . . . . . . . . . 425.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6 Résultats de simulation 446.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.2 Description du simulateur développé . . . . . . . . . . . . . . . . . . . . . . . 446.3 Résultats de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7 Conclusions et perspectives 547.1 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

A Publication 59

ii Moussâb BENNEHAR

Page 4: Conception et développement d’un générateur de ...

Remerciements

Je tiens tout d’abord à remercier mon maitre de stage Ahmed CHEMORI de m’avoir accueilliau sein du laboratoire et pour la confiance qu’il m’a accordée. Sa rigueur scientifique et sesconseils pertinents m’ont permis de découvrir autrement le domaine de la robotique huma-noïde.

Je tiens à remercier particulièrement Mme Nora MANSOURI pour sa confiance et son soutientout le long de ce stage.

Je tiens à témoigner toute ma reconnaissance à David GALDEANO, Vincent BONNET etPhilippe FRAISSE pour leur accueil et leur disponibilité pendant la durée de mon stage.

Toutes ces personnes ont contribué, par leur disponibilité, leur soutien et leurs précieuxconseils, à rendre mon stage enrichissant et motivant.

Enfin, je tiens à exprimer mes remerciements aux membres du jury pour le temps qu’ilsauront consacré pour juger mon travail.

iii

Page 5: Conception et développement d’un générateur de ...
Page 6: Conception et développement d’un générateur de ...

Chapitre 1

Contexte et problématiques

1.1 Introduction générale

Un robot humanoïde est un robot qui a une apparence générale qui ressemble à celui del’humain, conçu pour collaborer avec un être humain, marcher comme lui, sentir et s’exprimercomme lui. L’objectif principal des robots humanoïdes est de servir l’homme, réaliser sesbesoins, augmenter le confort humain, sa sécurité et son autonomie. Leurs applications typiquesincluent la télésurveillance, l’intervention dans des environnements hasardeux ou risqués pourl’humain, l’assistance aux personnes âgées ou encore l’accueil des personnes dans les hôtels.Parmi les exemples d’application de tel type de robots on peut citer les exemples suivants : unrobot humanoïde peut opérer dans un environnement réalisé pour un usage humain et mêmetravailler en collaboration avec des humains. Par ailleurs, le principal inconvénient d’un robothumanoïde réside dans sa complexité de conception et son coût très élevé.Dans les dernières décennies, le nombre des robots anthropomorphes a remarquablement aug-menté et beaucoup de robots humanoïdes ont été présentés avec des caractéristiques différentesmais tous conçus pour ressembler de plus en plus à l’humain et de fournir une plateformeconvenable permettant de faire rapprocher au maximum les mouvements du robot à ceux del’humain.Pour qu’un robot humanoïde évolue au quotidien, il faut qu’il se déplace à travers ses deuxjambes, cela nécessite la conception d’un générateur de mouvements de marche, qui est ledéplacement de base des robots bipèdes. Contrairement aux robots industriels (disposantd’une base fixe), un robot humanoïde n’est pas fixé au sol, par conséquent la générationde mouvement de déplacement s’avère plus complexe. Le défi dans la commande des robotshumanoïdes est donc de réaliser une marche dynamique stable, avec toutes les difficultésinhérentes telles que leur structure redondante et fortement non linéaire, la variation du modèleselon les différentes phases de marche, les contraintes de contact avec le sol qu’il faut gérer etla stabilité pendant la marche qu’il faut garantir.Pour résoudre problématiques, quelques études sur la génération de trajectoires à partir de la

1

Page 7: Conception et développement d’un générateur de ...

1.2. Présentation du laboratoire d’accueil

marche humaine on été menées. En effet, en raison de leur structure anthropomorphique, lesrobots humanoïdes présentent souvent des similitudes géométriques avec les êtres humains. Parconséquent, les recherches modernes dans le domaine de la robotique humanoïde s’appuientsur les trajectoires de l’humain obtenues à partir des systèmes de capture de mouvements afinréaliser des humaines. Cependant, malgré les similitudes évidentes entre le robot et l’humain,l’appareil locomoteur humain reste beaucoup plus complexe que celui du robot humanoïde.Pour cette raison, l’application directe de ces trajectoires sur le robot va échouer dans laplupart des cas, car les caractéristiques dynamiques et cinématiques du robot ne sont pasidentiques à celles de l’humain. Par conséquent, les trajectoires capturées de l’humain doiventêtre traitées, mises à l’échelle et adaptées avant qu’elles ne soient appliquées sur le robothumanoïde.L’objectif de ce stage est de concevoir un générateur de trajectoires de marche dynamiquestable en robotique humanoïde à partir des données capturées de la marche humaine.

1.2 Présentation du laboratoire d’accueil

Le Laboratoire d’Informatique, deRobotique et deMicroélectronique deMontpelleir (LIRMM)est une unité mixte de recherches de l’Université Montpellier II (UM2) et du Centre Nationalde la Recherche Scientifique (CNRS). C’est un laboratoire à forte visibilité sur le niveau inter-national dans le domaine des sciences et technologies de l’information et de la communicationet de l’ingénierie des systèmes. Il possède de nombreuses équipes-projets de recherche ayantune production scientifique remarquable, un excellent positionnement et une visibilité sur leplan international. Les activités du LIRMM sont articulées autours de trois départements derecherche :– Informatique (INFO)– Microélectronique (MIC)– Robotique (ROB)Le LIRMM regroupe plus de 350 per-sonnes, dont 160 enseignant-chercheurs etchercheurs, 150 doctorants et 40 personnelsingénieurs et techniciens. Leur mission est defaire avancer la recherche (plus de 300 pu-blications internationales en moyenne chaqueannée), des matériels prototypes pour la recherche ainsi qu’une activité économique avec despartenariats industriels et l’incubation d’entreprises innovantes.Ce stage a été réalisé au sein de l’équipe-projet Interactive Digital Humans (IDH) du dé-partement de robotique. Cette équipe a comme objectif l’étude des systèmes cybernétiquesd’inspiration humaine. Deux axes concourants et complémentaires constituent le cœur des

2 Moussâb BENNEHAR

Page 8: Conception et développement d’un générateur de ...

Chapitre 1. Contexte et problématiques

travaux de recherche au sein de l’équipe : les humanoïdes virtuels et la robotique humanoïde.

1.3 Problématiques et objectifs

La marche d’un robot humanoïde est un problème d’actualité pour les chercheurs dans ledomaine de la robotique humanoïde. Ils se retrouvent confrontés à plusieurs difficultés pourgérer la complexité de ces structures anthropomorphiques, principalement dues à :

– La non-linéarité de la structure– Les différentes contraintes de contact à gérer– La structure variable due aux différentes phases du cycle de marche– La stabilité qui doit être garantie pendant tout le cycle de marche.

La marche bipède est par conséquent quelque chose de complexe a mettre en place. Plusieursstratégies intelligentes et évoluées tels que les réseaux de neurones ou les algorithmes génétiquesont été utilisées pour résoudre ces problèmes. Cependant, les approches les plus utilisées enrobotique humanoïde sont celles qui utilisent des trajectoires articulaires de référence à suivrepour faire marcher le robot, mais la question qui se pose est comment obtenir ces trajectoires ?

La marche humaine est le mouvement idéal à imiter par un robot humanoïde. Elle est ca-ractérisée par sa perfection au niveau de la stabilité et son optimalité en termes de dépensesénergiques. L’objectif final des robots humanoïdes est de reproduire le plus fidèlement possiblecette marche afin de s’adapter au mieux à l’environnement humain.

L’évolution rapide de la technologie de capture de mouvements au cours des dernières annéesà rendu faisable l’obtention des données des mouvements humains. Cette technique permetde capturer les données d’un sujet afin de les reproduire sur un robot humanoïde. Cependant,les trajectoires brutes ne garantissent pas forcément la stabilité du robot à cause de l’incom-patibilité entre la dynamique et la géométrie du robot et celle de l’humain. L’adaptation desces données donc une étape nécessaire avant d’utiliser les données capturées sur le robot. Cestrajectoires doivent garantir la stabilité du robot et prendre en compte toutes les contraintesspécifiques à ce dernier.

Exploiter les données capturées de la marche humaine et les reproduire sur un robot humanoïdeafin de générer des trajectoires de marche dynamique stable est donc l’objectif de ce stage. Pourcela, un générateur de trajectoire sera proposé, permettant de satisfaire la stabilité dynamiquede la marche. En outre, une étude sur l’effet de balancement des bras sur cette stabilité seramenée afin d’identifier par optimisation les meilleurs paramètres du mouvement des membressupérieurs.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 3

Page 9: Conception et développement d’un générateur de ...

1.4. Travail à réaliser

1.4 Travail à réaliser

La génération de trajectoires en robotique humanoïde est une problématique toujours d’ac-tualité. Plusieurs approches sont proposées dans la littérature afin de générer des allures demarche dynamique stable. Cependant, la majorité de ces approches n’ont mis l’accent que surla stabilité du robot durant le cycle de marche. En effet, très peu de recherches ont été menéesdans le but de reproduire fidèlement les mouvements humain tout en assurant la stabilité durobot humanoïde.Dans ce stage, l’objectif à atteindre est de concevoir et développer un générateur de trajectoirespour les robots humanoïdes en se basant sur les mouvements de l’humain.Pour cela, on dispose d’une séquence de marche capturée à l’aide d’un système de capture demouvements. Cette séquence représente les positions cartésiennes dans le temps des différentsmarqueurs placés sur le corps du sujet. Ce dernier doit effectuer une marche normale deplusieurs pas tout en restant dans le volume de travail du système de capture.Les trajectoires obtenues seront appliquées à un robot humanoïde. Ensuite, la stabilité durobot est examinée à l’aide de ces trajectoires. Malgré que le modèle du robot utilisé estinspiré du sujet qui a réalisé la marche, ce dernier dispose d’un système locomoteur beaucoupplus évolué et plus complexe que celui du robot. Par conséquent, les trajectoires capturées negarantissent pas la stabilité du robot humanoïde. Pour cette raison, les trajectoires de l’humaindoivent être soigneusement modifiées pour satisfaire les caractéristiques dynamiques du robothumanoïde.Une étude sera ensuite menée pour étudier l’effet du balancement des bras sur la stabilité dela marche. En effet, le balancement des bras de l’humain au cours de la marche améliore sastabilité et diminue ses dépenses énergétiques. Un processus d’optimisation est enfin utilisé afinde déterminer les meilleurs paramètres du mouvement des bras qui satisfassent le maximumdes marges de stabilité.

1.5 Organisation du rapport

Ce rapport est organisé de la manière suivante : dans le chapitre suivant, les bases de larobotique humanoïde, la manière de présenter et le programmer la structure complexe desrobots humanoïdes ainsi que la définition de la marche humanoïde seront présentées.Dans le chapitre 3 un tour d’horizon sur les solutions proposées dans la littérature en termes degénération de trajectoires sera présenté. L’accent sera mis dans ce chapitre sur les générateursbasés sur les données de l’humain car c’est l’approche par la suite dans le générateur que nousproposerons.Le chapitre 4 sera consacré à l’étude de la marche humaine et les différents systèmes de capturede mouvement. La décomposition du cycle de marche en phases ainsi que l’analyse de données

4 Moussâb BENNEHAR

Page 10: Conception et développement d’un générateur de ...

Chapitre 1. Contexte et problématiques

brutes issues du système de capture seront également décrites.Le chapitre 5 sera articulé autours des solutions proposées afin de surmonter les problèmesdus à la différence entre le robots humanoïdes et l’humain. L’amélioration de la stabilité de lamarche via les mouvements des membres supérieurs du corps fera aussi l’objet de ce chapitre.Dans le chapitre 6, les solutions proposées seront validées en simulation. Pour cela, un simu-lateur a été développé permettant de valider l’approche proposée et de vérifier la stabilité durobot.Ce manuscrit sera conclu par une synthèse du travail réalisé et un aperçu des perspectives etdes travaux futures.

1.6 Conclusion

Dans ce premier chapitre, le contexte de ce travail et la problématique que nous allons aborderpar la suite on été présentés. En effet, la génération de trajectoires de marche pour un robothumanoïde n’est pas une tâche triviale et s’avère d’une grande complexité. Le chapitre suivantsera articulé autours des notions de base en robotique humanoïde qui nous seront utiles parla suite.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 5

Page 11: Conception et développement d’un générateur de ...

Chapitre 2

Introduction à la robotique humanoïde

2.1 Introduction

Un robot humanoïde est un robot de morphologie qui ressemble à celle d’un être humain,conçu pour effectuer des tâches et évoluer dans un environnement humain. De point de vueconception, un robot humanoïde est un système mécanique anthropomorphe muni de bras, dejambes et d’une tête lui permettant d’imiter un être humain et cohabiter avec lui.

Un robot humanoïde est caractérisé par ça complexité physique inspirée du corps humain.Cette complexité permet à ce type de robots d’effectuer une diversité de tâches sans équivalentpar rapport à celles offertes par d’autres plateformes.

La maîtrise du cette structure mécanique complexe pose de grands défis en terme de modéli-sation et de commande. Pour cela, ce chapitre sera articulé autour des notions mathématiquesnécessaires à la compréhension d’une telle structure seront présentés dans ce chapitre.

2.2 Les bases de la robotique humanoïde

Avant de présenter les algorithmes de calcul, on doit d’abord définir les notations associéesaux différents segments du robot (cf. figure 2.1). Ces grandeurs nous seront par la suite utilesdans le calcul numérique des différents modèles du robot.

– ai : vecteur porté par l’axe de rotation de l’articulation i.– bi : vecteur de position relative du corps i.– Ri : Matrice d’orientation du segment i dans la repère du segment parent.

6

Page 12: Conception et développement d’un générateur de ...

Chapitre 2. Introduction à la robotique humanoïde

(a) Définition des vecteurs de rotationai

(b) Définition des vecteursde position relative bi

Figure 2.1 – Vecteurs de rotation et de position relative associés aux segments du robot

2.2.1 Représentation structurelle et programmation

Afin de simuler efficacement un robot humanoïde, celui-ci doit être représenté comme étant unensemble de couples segment-articulation. Chaque segment est lié à une articulation sauf pourle tronc qui ne possède aucune articulation (cf. figure 2.2).Par conséquent, le même algorithmepeut être utilisé dans les calculs de chaque segment.

Figure 2.2 – Décomposition de la structure mécanique d’un robot humanoïde [8]

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 7

Page 13: Conception et développement d’un générateur de ...

2.2. Les bases de la robotique humanoïde

L’ensemble des couples segment-articulation forme toute la structure mécanique du robot.La représentation arborescente de la structure mécanique (cf. figure 2.3) permet de créer desalgorithmes récursifs très efficaces. Un algorithme récursif est caractérisé par le fait qu’il soitappelé pour le corps principal (tronc), puis il fait appel à lui-même pour effectuer les calculsdes autres corps en parcourant l’arbre jusqu’aux extrémités.

Figure 2.3 – Représentation arborescente du robot - exemple d’un robot à 8 articulations

2.2.2 Modélisation géométrique directe

La modélisation géométrique directe d’un robot peut être définie comme étantest le problèmede retrouver la position et l’orientation des segments dans le repère du monde connaissantles positions articulaires ainsi que la position et l’orientation du corps principal (tronc). Enrobotique humanoïde, la modélisation géométrique directe est formulée comme suit :Retrouver les positions et orientations des extrémités du robot (mains, tête et pieds), sachantqu’on possède celles du tronc et les positions articulaires.Le problème de la cinématique directe peut être mathématiquement formulé par :

X = f(q) (2.1)

OùX ∈ R6 est la position et l’orientation d’un organe dans l’espace opérationnel et q ∈ Rnddl+6

est un vecteur qui contient les positions articulaires ainsi que la position et l’orientation dutronc, avec nndl le nombre de degré de liberté articulaire.Étant données la position et l’orientation du repère parent i, La position et l’orientation d’unsegment j dans le repère de référence (repère du monde) peuvent être calculées par :

pj = pi +Ribj (2.2)

Rj = Rieajqj (2.3)

8 Moussâb BENNEHAR

Page 14: Conception et développement d’un générateur de ...

Chapitre 2. Introduction à la robotique humanoïde

Où : pi, Ri sont la position et l’orientation absolues du segments iSupposons qu’on connait la position et l’orientation du corps principal (tronc). Les équations(2.2) et (2.3) sont appelées récursivement pour chaque segment, ce qui permet de déduire laposition et l’orientation absolues de tous les corps.La matrice eajqj peut être calculée par la formule suivante, appelée équation de Rodrigues :

eajqj = I + ajsin(qj) + a2j(1− cos(qj)) (2.4)

I ∈M3×3 est une matrice identité.a est une matrice antisymétrique obtenue à partir du vecteur a comme suit :

a =

ax

ay

az

=

0 −az ay

az 0 −ax−az ax 0

(2.5)

2.2.3 Modélisation géométrique inverse

Le modèle géométrique inverse est tout simplement le problème inverse du modèle géométriquedirect. Il consiste à retrouver les positions articulaires telle que, le modèle géométrique directpermet de satisfaire les positions désirées des extrémités. Le modèle géométrique inverse d’unechaine de segments est souvent difficile ,voire impossible parfois à résoudre analytiquement etaboutit généralement à une multitude de solutions. Cependant, il existe plusieurs méthodesnumériques pour la résolution d’un tel problème. Dans ce travail, un algorithme basé sur laméthode de Newton-Raphson sera utilisé pour résoudre le modèle géométrique inverse.La méthode de Newton Raphson est un algorithme efficace pour trouver numériquement laracine (zéro) d’une fonction réelle. Si on définit cette fonction comme étant l’erreur entreles positions et orientations désirées et celles courantes, on peut résoudre le problème decinématique inverse en introduisant l’ajustement suivant des paramètres :

δq = λJ−1

[δp

δω

](2.6)

Où λ ∈ R est un paramètre ajustable utilisé pour la stabilisation du calcul.[δp

δω

]∈ R6 est l’erreur entre la position et l’orientation désirée de l’extrémité de la chaine

et celle obtenue. A chaque itération, les positions angulaires sont modifiés par q + δq jusqu’àobtenir une erreur négligeable (on converge vers la configuration désirée).L’organigramme représenté par la figure 2.4 illustre l’algorithme de la résolution du problèmegéométrique inverse en se basant sur la méthode de Newton-Raphson.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 9

Page 15: Conception et développement d’un générateur de ...

2.2. Les bases de la robotique humanoïde

Figure 2.4 – Modélisation géométrique inverse par la méthode de Newton-Raphson.

2.2.4 Jacobienne des vitesses

La jacobienne des vitesses J est une matrice qui caractérise la relation entre les vitessesarticulaires et les vitesses opérationnelles des extrémités du robot. Cette relation est expriméepar la formule suivante :

x = J(q)q (2.7)

Où : x ∈ R6 représente les petits déplacements (position et orientation) de l’extrémité de lachaine considérée.q ∈ Rnddl+6 est un vecteur représentant les positions angulaires ainsi que la position et l’orien-tation du tronc.q ∈ Rnddl+6 est le vecteur qui regroupe les petits déplacements angulaires ainsi que les dépla-

10 Moussâb BENNEHAR

Page 16: Conception et développement d’un générateur de ...

Chapitre 2. Introduction à la robotique humanoïde

cements cartésiennes du tronc.La jacobienne permet également de calculer les couples articulaires nécessaires pour générerun effort extérieur des mains et des pieds.Soit une chaine de N corps flottants dans l’espace dont les positions pi et les orientations Ri

sont connues. Si nous immobilisons toutes les articulations sauf l’articulation j (qi = 0; i =

1, . . . , N ; ∀i 6= j). La position pN et l’orientation ωN de l’extrémité de la chaine seront doncmodifiées par pN + δp

(j)N et ωN + δω

(j)N respectivement, où :{

δp(j)N = Waj × (pN − pj)δqj

δω(j)N = Wajδqj

δp(j)N et δω(j)

N sont les variations de la position et l’orientation absolues qui affecte l’extrémitéde la chaine en mobilisant l’articulation j seulement.Waj est le vecteur d’axe aj exprimé dans le repère du monde tel que : Waj = Rjaj. En effectuantla même analyse pour toutes les articulations, le changement de position et d’orientation del’extrémité de la chaine en mobilisant toutes les articulations est égale à la somme de toutesles valeurs δpiN et δωiN (i = 1, . . . , N) .La matrice jacobienne J est donnée donc par :

J =

[Wa1 × (pN − p1)

Wa2 × (pN − p2) . . . WaN−1 × (pN − pN−1) 0Wa1

Wa2 . . . WaN−1WaN

](2.8)

2.3 Le concept de stabilité d’un robot humanoïde

La stabilité dynamique d’un robot humanoïde est un concept primordial dans l’étude et l’ana-lyse de la marche humanoïde. Dans la littérature, différents critères ont été proposés afind’analyser la stabilité d’un robot humanoïde. Néanmoins, le critère le plus populaire qui a étéà la base de la majorité des techniques de génération de trajectoires et de commandes desrobots humanoïdes est le ZMP : Zero Moment Point [23]. Il existe d’autres critères tels quele FRI : Foot Rotation Indicator [5] (très peu utilisé) qui n’est qu’une extension du ZMP oule CoP : Center of Pressure [19]. Actuellement, les recherches sont plus focalisées sur deuxproblématiques inherentes à la stabilité de la marche, à savoir la robustesse de la marche parrapport aux perturbations externes ainsi que la marche sur un sol irrégulier.Dans ce stage, le ZMP est le critère qui sera utilisé pour étudier la stabilité du robot.

2.3.1 Le Zero Moment Point (ZMP)

Avant de définir le ZMP, on doit d’abord définir une notion très importante dans la robotiquehumanoïde qui est le polygone de sustentation (appelé aussi polygone de support). Le polygonede sustentation est définit comme étant l’enveloppe convexe de l’ensemble des points de contact

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 11

Page 17: Conception et développement d’un générateur de ...

2.3. Le concept de stabilité d’un robot humanoïde

avec le sol. Dans notre cas, l’enveloppe convexe qui nous intéresse est le plus petit ensembleconvexe [8]. Plus simplement, le polygone de support est la surface entre l’extrémité des pointsd’appui des pieds sur le sol (cf. figure 2.5).

Figure 2.5 – Illustration du polygone de sustentation pour différentes configurations

Le Zero Moment Point est le point sur le sol où la résultante des moments dus aux forcesgravitationnelles et inertielles s’annule.

Un robot humanoïde est dit dynamiquement stable si le ZMP est entièrement à l’intérieur dupolygone de sustentation.

Dans le cas où le robot n’est pas en mouvement, le ZMP coïncide avec la projection sur le soldu centre de masse (CoM : Center of Mass).

2.3.2 Mesure du ZMP

Il existe différentes manières pour mesurer le ZMP, ces méthodes sont décrites d’une manièredétaillée dans [10]. La méthode la plus efficace est celle qui utilise des capteurs d’efforts qui sontgénéralement des capteurs à 6 axes implantés à l’interieur des semelles du robot humanoïde.

En utilisant N capteurs d’effoert dans le pied du robot, les coordonnées cartésiennes de laposition du ZMP sont obtenues par :

px =

∑Nj=1 pjxfjz∑Nj=1 fjz

(2.9)

py =

∑Nj=1 pjyfjz∑Nj=1 fjz

(2.10)

Où : fjz la force délivré par le capteur j et pji (i = x, y) est sa position cartéseinne.

Il existe également d’autre méthodes qui sont basées sur les modèles simplifiés ou sur lesmouvements du robot.

12 Moussâb BENNEHAR

Page 18: Conception et développement d’un générateur de ...

Chapitre 2. Introduction à la robotique humanoïde

2.4 La marche humanoïde

La marche humanoïde est une alternance de rôles des deux pieds du robot marcheur pourpermettre à ce dernier d’avancer et de se déplacer sur la surface de la marche.

2.4.1 Décomposition d’un cycle de marche humanoïde

Un cycle de marche humanoïde est un phénomène périodique composé de deux phases prin-cipales : une phase de simple support et une phase de double support séparées par une phaseinstantannée dite d’impact [1].

1. Phase de simple support : durant cette phase, le contact du robot avec le sol estassuré à travers un seul pied. La jambe en contact est appelée jambe de support etl’autre jambe est appelée jambe de balancement. La jambe de support est stationnaire,alors que la jambe de vol se balance pour effectuer un pas en avant et faire avancer lerobot [7].

2. Phase de double support : durant cette phase, les deux pieds sont en contact avec lesol. Cette phase s’appelle également la phase d’appui. Elle est relativement courte parrapport à la phase de simple support.

A la fin de la phase de simple support, une phase caractérisant le choc du pied de balancementavec le sol apparait. Cette phase instantannée appelée phase d’impact, est due principale-ment à la rigidité des deux corps qui rentrent en collision. Une telle décomposition est illustréesur le schéma de la figure 2.6.Dans la suite, deux concepts de base de la marche humanoïde sont présentés, à savoir ladécomposition d’un cycle de marche et les modes de marche humanoïde.

Figure 2.6 – Décomposition d’un cycle de marche humanoïde [1]

2.4.2 Les Modes de marche humanoïde

Il existe différents types de marche humanoïde. Cependant, on distingue principalement deuxtypes de marche qui sont liés à la stabilité du robot : la marche statique et la marche dynamique.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 13

Page 19: Conception et développement d’un générateur de ...

2.5. Conclusion

La marche statique

Un robot en marche statique est en équilibre permanent pendant son déplacement. Autrementdit, la projection de son centre de gravité sur le sol reste toujours à l’intérieur du polygone desupport. Ce type de marche est généralement caractérisé par les mouvements assez lents pourque la dynamique soit négligeable (cf. figure 2.7(a)). Ce type de marche est utilisé pour lesrobots bipèdes de types jouets, gadgets,...etc. Cependant, il n’est pas pratique de l’implémentersur des robots plus lourds tels que ceux utilisés dans la recherche. Néanmoins, cette méthodede déplacement est très utilisée par d’autres plateformes tels que les robots à plusieurs pattes.

La marche dynamique

Ce type de locomotion est le plus adéquat aux robots bipèdes qui veulent imiter la marchehumaine. Étant inspirés de la structure de l’humain, les robots humanoïdes visent à imiter unemarche dynamique humaine où la projection verticale du centre de gravité n’est pas forcémentà l’intérieur du polygone de support en permanence (cf. figure 2.7(b)). Par conséquent le robotn’est pas en permanence en équilibre statique et il récupère son équilibre en posant sa jambeen balancement sur le sol. Ce type de marche est très compliqué à mettre en œuvre et nécessitedes stratégies de commande très évoluées afin d’éviter la chute du robot.Il existe également une sous-catégorie de la marche dynamique appelée la marche dynamiquepassive. Ce mode de marche n’utilise pas des actionneurs actifs afin de garantir le déplacementdu robot. Le mouvement du robot est effectué sur une pente douce en n’utilisant que son énergiepotentielle.

(a) Marche statique (b) Marche dynamique

Figure 2.7 – Illustration des deux modes de marche : statique et dynamique

2.5 Conclusion

Dans ce chapitre, nous avons abordé des notions principale de la robotique humanoïde quinous seront utiles par la suite de ce travail. La décomposition et la représentation arborescentedu robot humanoïde ont été brièvement décrites. La représentation arborescente permet deproposer des algorithmes itératifs, simples et efficaces permettant de calculer les différentsmodèles du robot. Par ailleurs, nous avons aussi introduit les différents critères de stabilité

14 Moussâb BENNEHAR

Page 20: Conception et développement d’un générateur de ...

Chapitre 2. Introduction à la robotique humanoïde

des robots humanoïdes et en particulier celui le plus utilisé, à savoir le ZMP. Enfin, la marchehumanoïde qui est l’objectif à atteindre dans ce stage et ses différents types ont été présentés.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 15

Page 21: Conception et développement d’un générateur de ...

Chapitre 3

État de l’art sur les générateurs detrajectoires en robotique humanoïde

3.1 Introduction

La génération de trajectoires en robotique humanoïde est un domaine de recherche très actif etpose encore des défis à cause de la complexité de synthétiser des allures de marche dynamiquestable pour ces systèmes très complexes.La plupart des recherches menées sur la commande des robots humanoïdes sont basées sur destrajectoires de référence à suivre, d’où l’importance d’un générateur de trajectoires assurantla stabilité dynamique du robot.Le chapitre présent est consacré à l’énumération des principales méthodes proposées dans lalittérature en termes de génération de trajectoires de marche en robotique humanoïde.

3.2 Solutions existantes

Dans la littérature de robotique humanoïde, plusieurs approches pour générer des trajectoiresde marche ont été proposées. Néanmoins, très peu d’études ont été menées sur la générationde trajectoires de marche corps complet. Dans ce chapitre, nous allons faire un tour d’horizondes méthodes principales existantes. Ces approches présentent des avantages ainsi que desinconvénients et aucune méthode n’a été jugée idéale, et c’est pour cette raison que la recherchesur un tel domaine se poursuit.

3.2.1 Classification

En faisant un tour d’horizon des approches proposées, il nous a été possible de distinguer troisprincipales familles d’approches proposées dans la littérature, à savoir :

1. Les méthodes basées sur la capture des mouvements humains.

16

Page 22: Conception et développement d’un générateur de ...

Chapitre 3. État de l’art sur les générateurs de trajectoires en robotique humanoïde

2. Les méthodes basées sur des fonctions mathématiques

3. Les méthodes basées sur des modèles simplifiés

Cette classification est illustrée sur la figure 3.1.

Figure 3.1 – Solutions existantes de génération de trajectoires

Les approches utilisant les fonctions mathématiques présentent l’inconvénient du temps decalcul. Les trajectoires articulaires sont souvent générées à l’aide de ces fonctions mathéma-tiques. Ensuite, un processus d’optimisation basé sur la stabilité du robot est effectué afin detrouver les meilleurs paramètres assurant la stabilité de la marche.Les méthodes basées sur les modèles simplifiés limitent la dynamique du robot à une ouplusieurs masses reliées à une articulation sphérique avec le sol.Parmi les méthodes proposées, On s’intéresse particulièrement aux approches basées sur lesmouvement capturés de l’humain. Cette technique utilise les données enregistrées de l’humainafin de reproduire sur le robot humanoïde des mouvements souples qui ressemblent à ceux del’humain. En effet, les robots humanoïdes présentent souvent des similtitudes dynamiques avecl’être humain grâce à leur structure anthropomorphique. Par conséquent, plusieurs générateursde trajectoires modernes s’appuient sur les données capturées de l’humain afin de réaliser destâches imittant celles réalisées par l’humain telles que le balancement, la marche, la danse,...etc.Cependant, en dépit des similtitudes évidentes, le système locomoteur humain reste beau-coup plus performant et efficace que celui de la plupart des robots humanoïdes existants.Par conséquent, le transfert direct des trajectoires capturées de l’humain vers le robot huma-noïde échouera dans la plupart des cas à cause de la stabilité et l’équilibre pendant la marchequi ne sont pas garantis. Ceci implique que les données doivent être adaptés en prenant enconsidération les spécifications géométriques et dynamique de la structure du robot.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 17

Page 23: Conception et développement d’un générateur de ...

3.2. Solutions existantes

3.2.2 Description des approches basées sur les données de l’humain

Les méthodes de génération de trajectoires utilisant les données de l’humain peuvent êtredivisées en deux classes : les méthodes en ligne et les méthodes hors ligne. La figure 3.2 illustrecette décomposition en mettant l’accent sur les techniques les plus marquantes. Dans la suite,ces deux classes seront détaillées.

Figure 3.2 – Classification des générateurs de trajectoires basés sur la capture du mouvementhumain

Classe 1 : Générateurs de trajectoires en ligne

Montecillo-Puente et al. proposent dans [15] un modèle humain simplifié basé sur la po-sition des extrémités du corps et des plans virtuels en utilisant des marqueurs attachés surl’humain. Les données capturées de l’humain sont analysées en temps réel pour produire l’imi-tation des mouvements.

Le schéma e la figure 3.3 illustre le principe de fonctionnement de cette méthode :

18 Moussâb BENNEHAR

Page 24: Conception et développement d’un générateur de ...

Chapitre 3. État de l’art sur les générateurs de trajectoires en robotique humanoïde

Données capturées de

l 'humain

Filtrage du mouvement

Modèle Normalisé de

l 'humain

Modèle d'anticipation

du CoM

Cinématique inverse

Vers le robot

Figure 3.3 – Schéma simplifié de la méthode proposée dans [15]

L’exécution sur le robot est basée sur le principe de’un ensemble de tâches. Cependant, l’in-convénient majeur de cette méthode est que l’exécution de toutes les tâches n’est pas garantietout le temps, et en particulier si les limites articulaires ne sont pas respectées ou si le ZMPn’est pas stable. On note également que seul un mouvement de danse a été expérimenté pourvalider les concepts proposés et aucune marche n’a été effectuée.Yamane et Hodgins, 2009 ; Yamane et al., 2010 dans [29] et [28] respectivement, pré-sentent une méthode pour imiter des mouvements capturés de l’humaine en utilisant deuxalgorithmes de contrôle :Dans un premier temps, les trajectoires articulaires et la trajectoire du tronc sont modifiéesafin de les adapter à la géométrie du robot humanoïde.Dans la deuxième étape, le centre de pression (CoP) prédit est utilisé pour vérifier la stabilitédu robot humanoïde. Si cette dernière n’est pas vérifiée, la trajectoire du centre de mass (CoM)est modifieé.Dans cette technique, la génération du mouvement et la commande s’effectuent en mêmetemps. La posture du robot humanoïde est modifiée à chaque instant en prenant en comptel’état du contrôleur. La méthode a été validé sur un scénario de danse Tai-Chi traditionnelle.Récemment un transfert dynamique direct a été rajouté pour améliorer la stabilité du robot[27]. Le schéma bloc de cette nouvelle approche est illustré sur la figure 3.4.

Données capturées de

l 'humain

Contrôleurd'équilibre

Contrôleur desarticulations

(asservissement)

Simulateur (ou Robot)

Figure 3.4 – Schéma simplifié de la méthode proposée dans [27]

Schaal, 1999 ; Schaal et al., 2003 ; Calderon et Hu, 2005 proposent dans [21], [20]et [2] des approches basées sur les réseaux de neurones. Les données capturées de l’humainsont utilisées pour nourrir un système d’apprentissage dans le but reproduire les primitives

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 19

Page 25: Conception et développement d’un générateur de ...

3.2. Solutions existantes

de mouvement. Par conséquent, l’imitation est basée sur trois concepts : l’observation, lareprésentation et la reproduction.Les méthodes proposées basées sur les réseaux de neurones ont toutes besoin d’un tempsrelativement long pour l’apprentissage et elles ne sont pas précises. Par conséquent, ils nepeuvent être utilisées que pour l’imitation des mouvement statiques et et ne peuvent pas êtreutilisées pour générer des allures de marche dynamique.Ramos et al., 2011 dans [18] proposent d’utiliser les données capturées de l’humain dans lecadre d’un problème d’inversion dynamique en résolvant un problème d’optimisation quadra-tique. Le mouvement est ensuite modifié par des tâches arbitraires afin d’imite le mouvementoriginal.Bien que cette méthode n’a pas été validée pour des mouvements de marche, une danse depop a été bien imitée par le fameux robot humanoïde HRP-2.

Classe 2 : générateurs de trajectoires hors ligne

Cette classe peut être subdivisée en deux sous classes qui seront présentées par la suite àsavoir ; les générateurs basés sur des fonctions mathématiques et les générateurs basés surl’optimisation des trajectoires.

Fonctions mathématiquesHarada et al., 2009 dans [6] ont utilisé les données de l’humain pour extraire certainsparamètres et caractéristiques de la marche capturée. Les paramètres extraits concernent laposition et l’orientation du tronc et l’orientation de la cheville. Ensuite, une identification desdonnées est effectuée en utilisant des fonctions polynomiales du 2nd ordre par la méthode desmoindres carré.Afin de réduire les oscillations de la taille du robot, une méthode de compensation du momentangulaire est employée.L’inconvénient de cette méthode est qu’elle ne prends pas en compte le mouvement du hautdu corps, c’est à dire qu’elle permet d’obtenir uniquement les mouvements des jambes et dela hanche.Chalodhorn et al., 2007 ont proposé une méthode géométrique dans [3] pour réduire ladimensionnalité des données capturées d’un espace de grandes dimensions en un sous-espacede trois deimensions. Ensuite, une optimisation est effectuée pour garantir la stabilité de lamarche.Cette approche peut être résumée en trois étapes :- D’abord, une analyse en composante principale (ACP) est utilisée pour paramétrer le sousespace de trois dimensions.

- Ensuite, une optimisation basée sur un l’apprentissage d’un modèle prédictif est utiliséepour retrouver un modèle de marche stable.

20 Moussâb BENNEHAR

Page 26: Conception et développement d’un générateur de ...

Chapitre 3. État de l’art sur les générateurs de trajectoires en robotique humanoïde

- Finalement, les trajectoires obtenues sont transférées vers le robot à une vitesse proche decelle de l’humain.

Miura et al., 2009 ont proposé dans [14] une approche pour transférer les données capturéesde l’humain vers le tout récent HRP-4C ; un robot humanoïde qui a une apparence baséesur une femelle japonaise. Les caractéristiques de la marche capturée on été modifié modifiés,tels que la vitesse de la marche ou la longueur du pas avant le transfert vers le robot. Lespositions des pieds et les instants de contact sont extraits à partir des trajectoires des piedset un problème de cinématique inverse est utilisé afin de trouver les trajectoires articulaires.Cette approche a été validée sur un simulateur du robot humanoïde HRP-4C à travers unmouvement de marche et un changement d’orientation.

Optimisation de trajectoiresNakaoka et al., 2003, 2005 dans [17] et [16] ont proposé une méthode d’imitation depostures en utilisant les données capturées comme primitives de mouvement. La cinématiqueinverse est utilisée pour le haut du corps et les primitives du mouvement sont utilisées pourle bas du corps.Comme la génération des mouvements pour le haut et le bas du corps sont effectuées sépa-rément, cette méthode nécessite beaucoup de temps de calcul et peut parfois arriver à dessituations instable.Suleiman et al., 2008 dans [22] ont proposé une méthode en utilisant l’optimisation sanscontraintes. Au premier lieu, les données de l’humain sont mises à l’échelle, puis une fonctionobjective est choisie pour minimiser l’intégrale de l’écart entre les valeurs articulaires désiréeset actuelles.L’optimisation prend en compte les contraintes sur les couples et les butées articulaires. Lestrajectoires articulaires utilisées sont générées à base de fonctions B-splines.Kim et al. 2009 proposent dans [11] la génération de la marche humaine pour les robotshumanoïdes en utilisant un algorithme de commande basée sur la méthode de la Jacobiennedu centre de masse avec un mouvement intégré [4].Un transfert direct pour le haut du corps est appliqué en respectant les limites articulairesdu robot humanoïde utilisé. Pour le bas du corps la méthode [4] est utilisée pour obtenir lestrajectoires articulaires du pied de support afin de compenser l’effet généré par le mouvementdes autres membres du corps.Un contrôleur d’équilibre est utilisé pour contrôler le centre de masse ainsi que la position etl’orientation du tronc sont utilisées pour aboutir au ZMP désiré.Cette méthode a permis d’imiter une danse japonaise traditionnelle très compliquée par lerobot avec une grande précision.Wehner et Bennewitz, 2011 proposent dans [24] d’utiliser différents algorithmes d’optimi-sation afin d’obtenir un mouvement stable avec une maximum simultitude avec le mouvement

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 21

Page 27: Conception et développement d’un générateur de ...

3.3. Conclusion

humain. Ces algorithmes d’optimisation utilisent comme entrées les trajectoires capturées dela marche humaine et un mouvement de marche humanoïde stable obtenue grâce aux oscilla-teurs non linéaires. La fonction objective minimise la distance entre les positions articulaires etcelles du robot humanoïde. Finalement, la similtitude du mouvement est mésurée pour chaquealgorithme utilisé ainsi que la stabilité du mouvement est évaluée.Cette approche est validée à travers la simulation et l’expérimentation sur le robot humanoïdeHOAP-2.

3.3 Conclusion

Générer des trajectoires corps complet dynamiquement stables pour un robot humanoïde estune tâche très complexe. Dans la littérature, plusieurs méthodes de génération de trajectoiresont été proposées. Néanmoins, aucune de ces méthodes ne peut être considérée comme idéale,étant donné que chaque méthode présente des avantages et des inconvénients. Dans ce cha-pitre, nous avons présenté brièvement les principales méthodes de génération de trajectoiresbasées sur la capture du mouvement humain, leurs avantages ainsi que leurs inconvénients. Lagénération des mouvements de marche stables à base des données de l’humain est un domainetoujours d’actualité et plusieurs projets de recherche lui sont encore consacrés.Dans le chapitre suivant, la marche humaine sera décrite ainsi que le système de capture demouvements utilisé dans le cadre de ce stage. En adaptant convenablement ces données pournotre modèle, une marche dynamique stable similaire à celle de l’humain peut être générée.

22 Moussâb BENNEHAR

Page 28: Conception et développement d’un générateur de ...

Chapitre 4

La marche humaine : description, analyseet capture

4.1 Introduction

La marche humaine est un geste naturel, efficace et complexe qui n’a pas encore été complè-tement imité en robotique humanoïde. L’imitation des mouvements humains par les robotshumanoïdes est toujours un problème d’actualité et fait l’objet de plusieurs recherches à nosjours. Le développement des systèmes optoélectronique d’analyse de mouvement permettentaux chercheurs en biomécanique et en robotique de récupérer facilement les données cinéma-tiques du mouvement humain et les traiter afin de les reproduire sur le robot.

Le chapitre présent est articulé autour de la présentation et la description de la marche hu-maine. Les différentes techniques de base de capture de mouvement feront également l’objetd’une brève présentation afin de mieux comprendre ce concept.

4.2 La marche humaine

La marche humaine est le mode de locomotion chez l’humain. Elle consiste en un déplacementdu corps humain tout en appuyant alternativement sur les pieds, en gardant une positiondebout et en ayant toujours au moins un point d’appui en contact avec le sol. La marche ap-parait chez l’humain comme un geste complètement naturel et automatique qu’il emploie tousles jours. Cependant, ce geste s’avère d’une complexité extrême et requiert un apprentissagede plusieurs mois pendant l’enfance. En effet, après la phase où l’enfant explore son universen rampant, il commence à redresser ses jambes pour tenter ses premiers pas. Ce processusprendra généralement au alentour de huit mois d’essais et d’erreurs avant d’atteindre l’objectifde marcher sur ses jambes sans tomber.

23

Page 29: Conception et développement d’un générateur de ...

4.2. La marche humaine

4.2.1 Les plans de mouvement

Afin de simplifier l’observation et l’étude des mouvements humains, une convention standarsest utilisée pour décomposer ces mouvements dans trois principaux plans : sagittal, frontal ettransversal illustrés sur la figure 4.1. Chaque plan divise le corps humain en deux parties àsavoir :– Le plan sagittal : Divise le corps en deux sections latérales, une de droite et une de gauche.– Le plan frontal : Divise le corps en deux parties antérieure et postérieure.– Le plan transversal : Divise le corps deux parties supérieure et inférieure.

Figure 4.1 – Illustration des plans du mouvement humain

Le mouvement principal lors de la marche s’effectue dans le plan sagittal. Cependant, il ne fautpas négliger les mouvements sur les deux autres plans qui jouent un rôle très important dansla minimisation du débattement du centre de gravité et la réduction des dépenses énergitiquesdu corps humain durant son déplacement [1].

4.2.2 Décomposition d’un cycle de marche humaine

Un cycle de marche chez l’humain est l’intervalle de temps entre deux occurrences successivesd’un événement qui se répète lors de la marche. Bien qu’on peut choisir n’importe quel évé-nement, il est plus convenable de prendre l’instant où le pied libre se met en contact avec lesol. Le cycle continue jusqu’à ce que ce même pied rentre en contact avec le sol nouveau [25].Le cycle de marche est décomposé en deux phases principales : la phase d’appui et la phasede balancement (cf. figure 4.2).

24 Moussâb BENNEHAR

Page 30: Conception et développement d’un générateur de ...

Chapitre 4. La marche humaine : description, analyse et capture

Figure 4.2 – Décomposition d’un cycle de marche humaine [12]

La phase d’appui représente 60% du cycle de marche et elle est composée de quatre sous-phases :– Mise en charge (réception) (entre 0 et 10% du cycle de marche) : cette phase commencelorsque le pied droit entre en contact avec le sol. Elle a comme rôle le transfert du poidsvers la jambe en phase d’appui et d’absorber le choc de contact.

– Milieu d’appui (10 à 30% du cycle de marche) : elle permet au corps d’avancer au dessusdu pied en appui et se termine quand le centre de masse est aligné avec l’avant pied.

– Fin d’appui (30 à 50% du cycle de marche) : cette phase est caractérisée par le fait quele centre de masse passe en avant du pied d’appui. Elle se termine lorsque le pied opposérentre en contact avec le sol.

– Phase pré-oscillante (50 à 60% du cycle de marche) : son rôle est de propulser le corps versl’avant et de trnasférer le poids vers la jambe en phase d’appui.

La phase oscillante (de balancement) représente environ 40% du cycle de marche. Elle com-mence par le décollement de l’orteil jusqu’au contact initial suivant. Son rôle est de faireavancer le pied oscillant vers l’avant sans toucher le sol. Elles peut être subdivisée en troissous-phases qui ont le rôle de permettre au pied oscillant d’avancer sans qu’il ait un contactavec le sol :– Phase de début d’oscillation (60 à 73% du cycle de marche) : elle correspond au premier

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 25

Page 31: Conception et développement d’un générateur de ...

4.2. La marche humaine

tiers de la phase oscillante et se termine qunad le pied passe à coté du pied controlatéral.– Milieu d’oscillation (de 73 à 86% du cycle de marche) : ctte phase correspond au deuxième

tiers de la phase oscillante et se termine quand le tibia est vertical.– La phase de fin d’oscillation (86 à 100% du cycle de marche) : elle correspnd au dernier tiers

de la phase oscillante et se termine lorsque le pied droit rentre à nouveau en contact avec lesol.

Cette décomposition en phases du cycle de marche permet détecter les instants caractéristiquesde la marche.

4.2.3 Les mouvements des bras

L’humain par nature balance ses deux bras pendant la marche. Chaque bras se balance encoordination avec le mouvement de la jambe opposée (cf. figure 4.3). Bien que ce mouvementest souvent comparé à un pendule simple, Ce balancement n’est pas complètement un mou-vement passif. L’activité des muscles permet de contrôler l’amplitude du mouvement et sasynchronisation pendant la marche [13].L’amplitude et la fréquence de balancement sont déterminées par la nature du mouvement ets’adaptent aux conditions et aux perturbations. Plus la vitesse de la marche augmente, plusl’amplitude et la fréquence de balancement sont importantes [26].

Figure 4.3 – Marche naturelle avec balancement des bras

Bien que ce mouvement soit naturel pendant la marche chez l’humain, il a été complètementnégligée par la majorité des générateurs de trajectoires en robotique humanoïde.Des études récentes sur la marche humaine ont montré que le balancement des bras joue unrôle primordial dans l’amélioration de la stabilité et la minimisation des dépenses énergitiques.En effet, les études sur la marche humaine en biomécanique ont montré que le balancement desbras crée un moment cinétique dans la direction opposée de la rotation des membres inférieursdu corps. Cet effet réduit le moment cinétique total du corps pendant son déplacement etainsi la stabilité de la marche. Par ailleurs, l’humain aura besoin d’un moment de réaction

26 Moussâb BENNEHAR

Page 32: Conception et développement d’un générateur de ...

Chapitre 4. La marche humaine : description, analyse et capture

plus faible avec le balancement des bras ce qui aboutit à moins de consommation d’énergie[26].

4.3 Capture de mouvement (MoCap)

Afin de transférer les mouvements humains vers le robot humanoïde, il est nécessaire dansun premier temps de mesurer et analyser le mouvement humain. La capture de mouvement(Motion Capture ou MoCap) est le processus de capturer les mouvements d’un marcheur dansle monde physique et les convertir en différentes trajectoires ou tableaux de données dans unformat informatique donné. Cette technique est souvent utilisée en biomécanique, jeux vidéo,cinématographie (Animation des acteurs virtuels) et en robotique humanoïde.

4.3.1 Classification des systèmes de capture

Un tour d’horizon des systèmes existants nous a permis de les classifier en trois grandes classes,à savoir : les systèmes prosthétiques, les systèmes à marqueurs magnétiques et les systèmes àmarqueurs optiques. Chacune des techniques possède des avantages et des inconvénients ainsique des limitations, mais l’inconvénient majeur et commun de ces techniques réside dans leurcoût relativement cher. Cependant, une nouvelle technique de capture sans marqueurs qui nerequiert pas d’équipements spéciaux est récemment apparue. Elle fait l’objet de nombreuxtravaux actuels de recherche en vision par ordinateur.

Les systèmes prosthétiques

Un squelette externe est attaché aux membres de l’acteur pendant le mouvement (cf. figure4.4). Ce squelette est muni de potentiomètres placés au niveau des articulations permettantainsi d’acquérir les trajectoires articulaires. Les avantages majeurs qui font que ces systèmesrestent encore utilisés dans certains cas sont les suivants :

– Leur faible coût.– Leur Robustesse par rapport aux perturbations.– Ils permettent un espace de travail quasiment illimité

Cependant, ils présentent un inconvénient majeur qui restreint leur utilisation, et qui résidedans l’encombrement du système de capture et le malaise rencontré par l’acteur, ce dernierpeut amener l’utilisateur à des mouvements non naturels.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 27

Page 33: Conception et développement d’un générateur de ...

4.3. Capture de mouvement (MoCap)

Figure 4.4 – Le système prosthétique Gypsy 6TM(MetaMotion, Ltd)

Les systèmes à marqueurs magnétiques

Un émetteur centralisé est placé à la position du repère du monde. Des capteurs placés sur desendroits spécifiques du corps du sujet permettent ensuite de mesurer la relation spatiale avecl’émetteur, à savoir leurs positions et leurs orientations. Un problème de cinématique inversepermettra ensuite de mesurer les valeurs articulaires. Ces systèmes évitent le problème d’en-combrement et le malaise du sujet et sont faciles à mettre en place. Des vitesses d’acquisitionsthéoriques de l’ordre de 100 Hz peuvent ainsi être atteintes. Cependant, ces systèmes peuventêtre perturbés par la présence d’objets métalliques provoquant des imprécisions de mesure.De plus, la source du champ magnétique possède une portée restreinte ce qui limite l’espacede déplacement du sujet. En réalité, la vitesse d’acquisition est limitée par le bruit de mesurece qui contraint le fonctionnement du système à une fréquence équivalente à du 15 Hz.

Les systèmes à marqueurs optiques

L’idée de ces systèmes est de détecter la présence des marqueurs attachés au sujet comme lemontre la figure 4.5(a), effectuer un reconstruction 3D des marqueurs détectés et enfin estimerle mouvement de ces marqueurs. Le système est principalement composé de :– Un ensemble de caméras : le nombre et la qualité de ces caméra détermine la qualité de

la reconstruction.– Des marqueurs réfléchissant : des petits sphères réfléchissantes à placer sur des empla-

cements spécifique sur l’acteur suivant un protocole bien défini.– Unité de traitement de données.

28 Moussâb BENNEHAR

Page 34: Conception et développement d’un générateur de ...

Chapitre 4. La marche humaine : description, analyse et capture

Les caméras sont équipées de diodes lumineuses infrarouges éclairant leur champ de vuepermettant ainsi de faciliter la détection des marqueurs. Ce type de caméra est illustré surla figure 4.5(b).

(a) Un sujet muni de marqueurs (b) Caméra Viconr MX-F40

Figure 4.5 – Composants principales d’un système de capture à marqueurs optiques

L’avantage majeur de cette technique est l’absence de câbles ou de structures mécaniques quigène le sujet. La vitesses d’acquisition est plus rapide que celle des deux techniques précédentesce qui permet de capturer des mouvements rapides tels que le mouvements des athlètes et dessportifs. L’espace de capture accessible dépend du nombre de caméras utilisées.Les inconvénients majeurs de cette techniques sont les suivants :– Le temps de calcul nécessaire pour la visualisation d’une séquence.– Seule la position des marqueurs est obtenue et pas l’orientation.– Le coût élevé du système (dépendant du nombre et de la qualité des caméras utilisées).Ce type de capture est le plus utilisé dans l’industrie grâce à sa fiabilité et précision. C’estégalement ce type de système de capture qui a été utilisé pour acquérir les données utiliséesdans le cadre de ce stage. La procédure allant de l’acquisition au traitement des données seradétaillée par la suite.

4.3.2 Description du système de capture Viconr

Un exemple de système de capture de mouvement typique est illustré sur la figure 4.6. Ilest composé d’un ensemble de caméras et d’une unité de traitement ainsi qu’un ensemble demarqueurs réfléchissant qui entourent le sujet. Toute la séquence de capture se déroule dansle volume de capture visible par l’ensemble des caméras. Chaque caméra de capture est une

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 29

Page 35: Conception et développement d’un générateur de ...

4.3. Capture de mouvement (MoCap)

caméra standard entourée par un anneau de LED (cf. figure 4.5(b)) qui émettent une lumièreinfrarouge invisible par l’œil humain capturée par les caméras. Les marqueurs sont constituésd’un matériel réfléchissant tels que les caméras peuvent distinguer les marqueurs des autresobjets.Dans notre cas, le système utilisé est un système Viconr 1 équipé de 9 caméras de type Vicon-MX cadencées à une fréquence de 100 Hz dont la mise en place définit le volume utile decapture.

Figure 4.6 – Système typique de capture de mouvement

Avant de commencer la session de capture, il est nécessaire en premier temps de calibrer lescaméras et de placer les marqueurs sur le sujet suivant un protocole spécifique au système decapture.

Le calibrage :

Une phase de calibrage des caméras de capture est nécessaire avant de commencer la sessionde capture. Cette phase consiste à identifier une relation entre les coordonnées des marqueursdans le volume de travail et leur projection sur les caméras. Elle a comme intérêt de rendrepossible le suivi des marqueurs et d’augmenter la précision de la reconstruction des trajectoires.

Le modèle humain :

L’humain est considéré dans ce stage comme un système rigide multicorps simplifié avec 22degrés de liberté (22 ddl). Ces degrés de liberté sont purement rotoïdes et distribuées sur lesdifférentes articulations (cf. figure 4.7).Chaque jambe est composée de six degrés de liberté, trois à la hanche, un ddl au jenou et deuxà la cheville. Le tronc et la tête sont composés de 2 ddl sur le plan frontal.

1. Ce système Viconr a été mis à notre disposition au laboratoire LABLAB de biomécanique en Italiedans le cadre d’un projet EGIDE de collaboration et d’échange.

30 Moussâb BENNEHAR

Page 36: Conception et développement d’un générateur de ...

Chapitre 4. La marche humaine : description, analyse et capture

Les deux bras sont composés de 3 ddl, 2 à l’épaule at un ddl au coude. Les longueurs desmembres sont mesurées à partir du sujet et utilisées dans le modèle.

Figure 4.7 – Modèle cinématique proposé pour représenter le système locomoteur humain

Placement des marqueurs :

Le positionnement correct des marqueurs est un élément clé pour réussir la procédure decapture de mouvements. Les marqueurs doivent être soigneusement placés dans des endroitsspécifiques et facilement identifiés (placements standard spécifiés dans le manuel du système).La figure 4.8 montre l’emplacement des marqueurs utilisé dans notre session d’expérimenta-tions. Chaque marqueurs est muni d’une étiquettes (label) afin qu’il soit reconnu par le logicielde reconstruction des trajectoires, à savoir Viconr Nexus.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 31

Page 37: Conception et développement d’un générateur de ...

4.3. Capture de mouvement (MoCap)

(a) (b)

Figure 4.8 – Position et emplacement des marqueurs optiques : (a) vue de face, (b) vue dedos

La session de capture :

Après avoir calibrer les caméras et fixer les marqueurs sur le sujet. Ce dernier doit, en premierlieu, rester debout dans une position statique d’initialisation en T (cf. figure 4.7) ce qui permetde collecter les données anthropomorphiques et les utiliser dans le modèle humain afin d’éviterle problème de glissement des pieds sur le sol lors de traitement des données capturées. Ensuite,le sujet est invité à effectuer une marche dynamique normale pour enregistrer les données avantd’effectuer un poste traitement pour pouvoir les exploiter plus tard.

4.3.3 Traitement des données

Pour obtenir des trajectoires exploitables, les données brutes obtenues à partir du processusde capture de mouvement doivent être traitées et transformées en données cartésiennes. Cesdeux étapes sont effectuées par les logiciels Viconr Nexus et LifeMod respectivement.Le logiciel Viconr Nexus servira à nettoyer les données brutes et d’approximer les donnéesmanquantes de capture. Ensuite, le logiciel LifeMod permettra d’extraire les données articu-laires à partir des positions cartésiennes des marqueurs.

Interpolation des données manquantes

Cette première phase consiste à interpoler les données manquantes dans les données brutesissues de la capture de mouvement pour surmonter le problème de perte d’informations durant

32 Moussâb BENNEHAR

Page 38: Conception et développement d’un générateur de ...

Chapitre 4. La marche humaine : description, analyse et capture

la phase d’enregistrement du mouvement. Ces pertes sont dues à plusieurs facteurs, y comprisle nombre et l’emplacement des caméras, la vitesses du mouvement du sujet et la fréquencede l’occlusion des marqueurs.Après avoir attribué un label à chaque marqueur, l’analyse visuelle de la séquence enregistréepermet d’identifier ces pertes d’information. Le logiciel Viconr Nexus possède des routinesintégrées afin de remplir ces trous grâce aux splines cubiques et au suivi des autres marqueurs.

Extraction des données articulaires

L’extraction des données articulaires est réalisée à l’aide du logiciel LifeMODr. Ce logiciel sou-vent utilisé en biomécanique est développé par Biomechanics Research Group aux États-Unis.Il fournit une base très riches de modèles physiques paramétrables permettant de construiredes structures biologiques complexes (un modèle humain par exemple). Les géométries os-seuses, les propriétés musculaires et les données inertielles peuvent être personnalisées pours’adapter au modèle spécifique.Après la création du modèle, les données cinématiques obtenues de la capture de mouvementpeuvent être importées pour animer le modèle. Puis une simulation est lancée pour obtenir lesparamètres cinématiques et dynamiques et les valeurs articulaires dont on a besoin.

Figure 4.9 – Correspondance entre les marqueurs importés et celles du modèle en LifeMODr

4.4 Conclusion

Dans ce chapitre, la marche humaine et les techniques de capture ont été présentées. La marchehumaine constitue le modèle de marche le plus naturel à imiter par les robots humanoïdes. Parconséquent, elle fait l’objet de plusieurs recherches dans le domaine de la robotique humanoïde.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 33

Page 39: Conception et développement d’un générateur de ...

4.4. Conclusion

Différentes techniques de capture de mouvement ont été également présentées ainsi que leursavantages et inconvénients. Dans le cadre de ce stage, un système de capture basé sur lesmarqueurs optiques est utilisé afin d’enregistrer les trajectoires de la marche humaine et lesutiliser par la suite comme entrée pour le générateur de trajectoires qu’on va proposer dansle chapitre prochain. Les étapes nécessaires pour aboutir à des données exploitables ont étébrièvement décrites. Bien que les systèmes optiques à marqueurs soient les plus avantageux etles plus utilisés, le temps nécessaire pour l’analyse et le traitement des données brutes issuesde la session de capture représente un inconvénient majeur de ces systèmes.

34 Moussâb BENNEHAR

Page 40: Conception et développement d’un générateur de ...

Chapitre 5

Solution proposée : vers un générateur detrajectoires corps complet bio-inspiré

5.1 Introduction

La génération de trajectoires joue un rôle primordial dans le domaine de la robotique. Lestrajectoires générées seront souvent utilisés dans des architectures de commande pour lespoursuivre afin de piloter le robot. La marche bipède fait l’objet de la majorité des recherchesactuelles en robotique humanoïde et elle représente encore un thème d’actualité. Dans ce sens,plusieurs approches ont été proposées pour générer des allures de marche dynamique stable,cependant, la plupart de ces approches n’ont pas considéré le mouvement du haut du corps etn’ont mis l’accent que sur les mouvements des membres inférieurs.La capture de mouvement de l’humain peut être utilisée pour résoudre le problème de la géné-ration de trajectoires corps complet dans la marche des robots humanoïdes car elle représentela forme naturelle de déplacement des bipèdes. Cependant, il est difficile d’utiliser directementles données capturées car la cinématique et la dynamique du robot humanoïde sont considé-rablement différentes de celles de l’humain. Ce chapitre sera consacré aux solutions proposéespour générer des allures de marche dynamique stable à base des données de la marche humaine.

5.2 Les marges de stabilité

Un robot humanoïde est exposé à plusieurs sources de perturbations et incertitude tels queles phénomènes non modélisés ou l’irrégularité du sol.La marge de stabilité quantifie la robustesse du robot humanoïde vis à vis ces perturbations.Pour les systèmes linéaires, deux marges de stabilité peuvent être définies, qui sont la margede phase et la marge de gain. Pour les systèmes non-linéaires, il existe d’autres outils pourquantifier la stabilité, y compris l’analyse linéaire autour d’un point fixe et la théorie deLyapunov. Les idées mentionnés ci-dessus ne peuvent pas être directement appliquées à la

35

Page 41: Conception et développement d’un générateur de ...

5.3. Générateur de trajectoires bio-inspiré

stabilité des robots humanoïdes expliquées dans la section 2.3. Ici nous parlons de stabilité,non pas au sens automatique du terme mais plutôt de la stabilité au sens physique : ne pastomber, garder l’équilibre, éviter la chute,...etc.Dans le domaine des robots bipèdes marcheurs, de nouveaux critères ont été introduits. Parmices critères, celui le plus utilisé est la marge du ZMP. Avoir le ZMP à l’intérieur du polygonede support à tout instant permet de garantir la stabilité dynamique du robot. Mais la questionqui peut se poser est la suivante : comment peut-on quantifier cette stabilité ?La marge de stabilité du ZMP est inspiré de la marge de gain et de phase pour les systèmeslinéaires. Elle peut être définie comme suit : la marge de stabilité du ZMP est la distanceminimale qui sépare la trajectoire du ZMP et des bords du polygone de support.Cette définition est illustrée sur la figure 5.1 et elle peut être définie mathématiquement par :

φZMP = minx′∈δS‖x′ − xZMP‖ (5.1)

où S ⊂ R2 est la région du polygone de support et δS indique l’ensemble des points frontièresde S .Cette marge de stabilité peut être décomposée en deux composantes : une suivant x (φZMPx)etl’autre suivant y (φZMP y).

Figure 5.1 – Illustration de la marge de stabilité : (a) suivant x, (b) suivant y

La décomposition de la marge de stabilité selon deux composantes, φZMPx et φZMP y permetd’étudier l’effet de chaque mouvement sur chacune des marges.

5.3 Générateur de trajectoires bio-inspiré

Comme décrit dans la section 4.2, un cycle de marche humaine est décomposé en deux phasesprincipales : une phase d’appui et une phase de balancement. De la même manière, la marchehumanoïde est composée de phases de simple et double appui.

36 Moussâb BENNEHAR

Page 42: Conception et développement d’un générateur de ...

Chapitre 5. Solution proposée : vers un générateur de trajectoires corps complet bio-inspiré

En ce qui concerne les robots humanoïdes, les semelles sont plates et indéformables et ne sontpas composées d’orteils ce qui, entre autres, explique la difficulté de reproduire fidèlement lemouvement des pieds de l’humain.

Pour faire face à ce problème, nous proposons de générer les trajectoires des pieds du robotspar des fonction mathématiques connues, à savoir les splines. Ceci est réalisé en spécifiantles positions et vitesses de départ et d’arrivées de la trajectoire. Les rotations des pieds nesont pas prises en compte ce qui signifie que le pied reste toujours en position horizontale parrapport au sol. Les faibles déplacements sur l’axe y des pieds de l’humain ont été négligés.

5.3.1 Généralités sur les splines

Une spline S est une fonction polynomiale par morceaux définie sur un intervalle [a, b] composéde k sous-intervalles [ti−1, ti] tels que :

a = t0 < t1 < · · · < tk−1 < tk = b

Sur chaque intervalle, un polynôme Pi ; i = 1 . . . k est défini. La spline S(t) est définie doncpar :

S(t) =

P1(t), t0 < t < t1

P2(t), t1 < t < t2...Pk(t), tk−1 < t < tk

Le degré de la spline est le plus haut degré des polynômes Pi, elle est dite uniforme lorsquetous les polynômes ont le même degré et dite non uniforme dans le cas contraire.

Les splines cubiques sont les splines les plus utilisées en génération de trajectoires. Unespline cubique est une spline uniforme de degré 3 dans laquelle, chaque polynôme nécessite 4

contraintes pour être défini permettant d’interpoler deux points donné avec des contraintes devitesse aux limites données. Ceci permet de garantir la fluidité et la continuité des trajectoiresobtenues. Un exemple d’une spline cubique est illustré par la figure 5.2.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 37

Page 43: Conception et développement d’un générateur de ...

5.3. Générateur de trajectoires bio-inspiré

Figure 5.2 – Une spline cubique interpolant cinq points.

Ce type de splines est celui qui nous intéresse afin de reproduire la trajectoire des pieds del’humain, car on doit interpoler des point de départ [Pix , Piy , Piz ] et d’arrivée [Pax , Pay , Paz ]

des pieds avec une vitesse initiale et finale nulle (vitesses de décollage et atterrissage du piednulles).

5.3.2 Génération de trajectoires

En premier lieu, les instants de contact des pieds avec le sol sont identifiés. Pour rester cohérentavec les mouvements de l’ensemble du corps, il faudra d’abord analyser les données de l’humainobtenues avec le système de capture.

Le robot est amené à avancer son pied en balancement d’une position initiale [Pix , Piy , Piz ]

à une position finale [Pax , Pay , Paz ] pendant une durée Tp, tout en évitant que le pied rentreprématurément en contact avec le sol (cf. figure 5.3) et en passant par un point à hauteurmaximale h à l’instant Tp

2.

Pour obtenir une trajectoire lisse du pied on spécifie les conditions aux limites des vitessespour qu’elles soient nulles. Ceci donne un mouvement naturel et en particulier pendant lesphases de décollage et d’atterrissage du pied qui se produisent à vitesse nulle. Cette procédureest répétée pour l’autre pied lorsque l’ancien pied de balancement devient le pied de support.Le nombre de pas choisi pendant la séquence de marche doit être le même que le nombrede pas réalisé par le sujet afin de rester cohérent avec les trajectoires issues du système decapture, et de les synchroniser plus tard avec les mouvements du haut du corps.

38 Moussâb BENNEHAR

Page 44: Conception et développement d’un générateur de ...

Chapitre 5. Solution proposée : vers un générateur de trajectoires corps complet bio-inspiré

Figure 5.3 – Exemple d’une trajectoire du pied en phase de balancement.

Trajectoire désirée du ZMP : Les empreintes des pieds obtenues en utilisant le générateurdes trajectoires des pieds décrit précédemment nous permettent d’obtenir la trajectoire désiréedu ZMP. Cette trajectoire doit satisfaire la contrainte de stabilité de la marche. Le ZMP désiréest choisi, dans notre cas, au milieu du polygone de support. Ce choix permet de garantir lesmeilleurs marges de stabilité de la marche. Le ZMP désiré sera ensuite utilisé pour générer latrajectoire désirée du CdM grâce au modèle simplifié du pendule inversé.

5.3.3 Trajectoire de la hanche : le pendule inversé linéaire 3D

La dynamique du robot humanoïde pendant la phase d’appui peut être approximée par celled’un pendule inversé, où la masse de ce dernier est placée à la position du CdM du robot.Sa base représente le pied de support. Ce concept est illustré sur la figure 5.4 [10]. Ce pen-dule est par conséquent constitué d’une masse ponctuelle et une jambe télescopique de massenégligeable.Si les mouvements de la masse sont contraints dans un plan horizontal arbitraire, nous obtenonsun système dynamique simple appelé le pendule inversé linéaire 3D. Le plan arbitraire estdonné par un vecteur normal (kx, ky, −1) et zc son intersection avec l’axe z comme suit :

z = kxx+ kyy + zc (5.2)

Si ce plan de contrainte est horizontal (i.e. kx = ky = 0), la dynamique du système est donnéepar :

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 39

Page 45: Conception et développement d’un générateur de ...

5.3. Générateur de trajectoires bio-inspiré

Figure 5.4 – Dynamique du robot humanoîde simplifiée par un pendule inversé 3D [9]

x =g

zcx− 1

mzcτy (5.3)

y =g

zcy − 1

mzcτx (5.4)

où m est la masse du pendule, g est la gravité et τx, τy sont les couples autour de x et yrespectivement.Pour un pendule linéaire inversé 3D avec un plan de contrainte horizontal, les coordonnées duZMP peuvent facilement être calculées et données par :

px = − τymg

py = − τxmg

(5.5)

où px et py sont les coordonnées cartésiennes du ZMP sur le sol. En substituant l’équation(5.5) dans l’équation de la dynamique du pendule linéaire inversé 3D (5.3) et (5.4), on obtient :

y =g

zc(y − py) (5.6)

x =g

zc(y − px) (5.7)

Les équations (5.6) et (5.7) relient le CdM du robot à son ZMP. Ces équations nous permettentde calculer la trajectoire du CdM qui satisfait un certain ZMP désiré.Pendant la marche, le centre de masse d’un robot humanoïde (avec un tronc et des bras) setrouve généralement près des hanches. Par conséquent, il serait intéressant de simplifier la

40 Moussâb BENNEHAR

Page 46: Conception et développement d’un générateur de ...

Chapitre 5. Solution proposée : vers un générateur de trajectoires corps complet bio-inspiré

dynamique du robot à celle d’un pendule inversé articulé à la cheville et dont la position desa masse correspond à la hanche de l’humanoïde comme illustré sur la figure 5.5

Figure 5.5 – Dynamique simplifiée par un pendule inversé

Une fois que les trajectoires cartésiennes des pieds et de la hanche du robot sont spécifiées,l’algorithme de la cinématique inverse (cf. figure 2.4) est utilisé pour calculer les trajectoiresarticulaires correspondantes au mouvement du robot.

5.3.4 Trajectoire des membres supérieurs

Contrairement aux membres inférieurs, les mains du robot ne sont pas soumis aux contraintesde contact. Les seules contraintes à respecter sont les limites articulaires des moteurs et lenombre de degrés de libertés.Le problème des limites articulaires peut être résolu en effectuant une mise à l’échelle desdonnées de l’humain si la plage de variation des données de l’humain est plus grande que celledu robot. Dans le cas contraire, les données de l’humain peuvent être utilisées directement surle robot.Supposons que la plage de variation des valeurs articulaires de l’humain est plus grande quecelle du robot. Dans ce cas, les valeurs articulaires de l’humain varient entre qhi min et qhi maxoù i indique la ieme articulation. Par ailleurs, les limites articulaires du robot sont qri min etqri max. Soit K le facteur de la mise à l’échelle défini par :

K =qri max − qri minqhi max − qhi min

< 1

Le problème des limites articulaires peut alors être résolu en modifiant les données de l’humainpour qu’elles soient comprises dans la plage autorisée du robot. Ceci est réalisé en appliquantl’équation (5.8) :

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 41

Page 47: Conception et développement d’un générateur de ...

5.4. Générateur de trajectoires bio-inspiré optimal

qri = K(qhi − qhi min) + qri min (5.8)

Bien que dans ce stage on utilise un modèle du robot avec des paramètres cinématiques etdynamiques proches de l’humain, Ce générateur peut être également utilisé pour d’autres typesde robots, Il suffit de changer les paramètres zc et m du pendule qui correspondent au robotutilisé.La figure 5.6 illustre le schéma bloc du générateur de trajectoires proposé dans ce stage.

Figure 5.6 – Schéma simplifié du générateur de trajectoires proposé

5.4 Générateur de trajectoires bio-inspiré optimal

Le générateur proposé dans la section précédente permet tout seul de garantir la stabilitédynamique du robot mais ne prend pas en compte la contribution des mouvements du hautdu corps dans la stabilité de la marche. Le modèle du pendule inversé linéaire 3D est unoutil très puissant pour modéliser un robot humanoïde. Cependant, la stabilité du robot peutêtre améliorée en choisissant les paramètres optimaux pour le mouvement du haut du corps ;à savoir, les bras et le tronc. La majorité des générateurs proposés dans la littérature enrobotique humanoïde ont négligé le rôle des mouvements du haut du corps malgré que cesderniers ont une grande importance dans la marche humaine dont la marche humanoïde estinspirée.Beaucoup d’études en biomécanique ont conclu que le mouvement des bras pendant la marchea un grand effet sur l’amélioration de la stabilité et la réduction des dépenses énergétiques.

42 Moussâb BENNEHAR

Page 48: Conception et développement d’un générateur de ...

Chapitre 5. Solution proposée : vers un générateur de trajectoires corps complet bio-inspiré

En effet, l’homme génère un moment de réaction plus petit quand il balance naturellement sesbras.La fréquence et l’amplitude des mouvements du haut du corps de l’humain pendant la marchevarient en fonction de la vitesse de la marche et la longeur du pas. Il est possible de fairevarier ces paramètres afin d’obtenir un mouvement optimal par rapport à la stabilité de lamarche. Cependant, la modification de la fréquence de ces mouvement peut aboutir au fur età mesure de la marche à un mouvement non cohérent des bras avec l’ensemble du corps. Pasconséquent, la seule propriété qu’on peut modifier sans multiplier les séances de capture demouvement est l’amplitude des balancements.La deuxième contribution de ce travail consiste à utiliser les mouvements supérieurs du corpsafin d’améliorer la stabilité de la marche dynamique du robot humanoïde.Les mouvements du haut du corps on été générés par des fonctions sinus dont l’amplitude estvariable. En premier lieu, la sensibilité des marges de stabilité par rapport à chaque mouvementest évaluée. Ceci permet de choisir quel mouvement à optimiser. Par exemple le tangage desbras a beaucoup d’influence sur la marge de stabilité suivant y.L’idée de l’optimisation par rapport à la stabilité est comme suit :En faisant varier les amplitudes des mouvements des bras, la marge de stabilité est mesurée àchaque fois en utilisant l’équation (5.1). En comparant toutes les marges obtenues, le meilleurparamètre est celui qui maximise φZMP donnant ainsi l’allure de marche la plus stable possible.

5.5 Conclusion

Dans ce chapitre, les solutions proposées dans ce stage ont été présentées. La première solutionest d’utiliser un modèle mathématique afin de stabiliser la marche . Ceci est réalisé modifiantla trajectoire de la hanche du robot afin que son centre de masse satisfait un ZMP désiré qui estdéterminé par les empreints des pieds. Les mouvements des jambes de l’humain n’étaient pascompatibles avec le robot humanoïde, ils ont été remplacés par des splines, tout en conservantune grande similarité avec les trajectoires de l’humain. La deuxième solution était de modifierle mouvement des membres supérieurs du corps et d’étudier leur effet sur la stabilité de lamarche. Un critère exprimant la robustesse des trajectoires obtenus a été présenté et utilisépour aboutir aux paramètres optimaux.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 43

Page 49: Conception et développement d’un générateur de ...

Chapitre 6

Résultats de simulation

6.1 Introduction

L’objectif principal de ce stage était de concevoir un générateur de trajectoires pour des alluresde marche dynamique stables en se basant sur les données capturées de la marche humaine. Unsimulateur a été développé utilisant le logiciel Matlabr afin de valider les concepts théoriquesproposées dans le chapitre précédent. Ce simulateur permet de visualiser les mouvementsen trois dimensions du robot, les trajectoires obtenues aussi bien dans l’espace opérationnelque dans l’espace articulaire, ainsi que la position du ZMP. Ce chapitre sera donc consacréaux résultats de simulation obtenus par application des solutions proposées dans le chapitreprécédent, l’analyse et l’interprétation de ces résultats.

6.2 Description du simulateur développé

Afin de valider les concepts proposés, un simulateur a été développé en utilisant le logicielMatlabr. Ce simulateur inclue les modèles cinématique et dynamique du robot humanoïdeet permet de visualiser la posture du robot à chaque instant d’échantillonnage ainsi que laprojection sur le sol de son centre de masse et son ZMP. L’interface graphique du simulateurest illustrée sur la figure 6.1Les paramètres du robot sont chargés à partir d’un fichier XML qui contient toutes les défi-nitions du modèle (hiérarchie, masses, formes des segments,...etc.). Ceci nous permettra parla suite de simuler facilement différents types de robots sans modifier le programme principal.Le modèle utilisé dans le cadre de ce stage est un modèle basé sur les caractéristiques de l’hu-main possédant 22 degrés de liberté. Ces caractéristiques sont extraites à partir du logiciel debiomécanique LifeMOD qui est également utilisé dans la phase d’analyse des résultats brutesafin d’obtenir les trajectoire articulaires.Les trajectoires capturées sont chargées à partir des fichiers TAB obtenues à l’aide du logicielLifeMOD. Ce format de fichiers est par défaut supporté par Matlabr et ne nécessite pas

44

Page 50: Conception et développement d’un générateur de ...

Chapitre 6. Résultats de simulation

Figure 6.1 – Interface graphique du simulateur développé

de boite à outils particulière. Le simulateur offre une animation en temps-réel à l’aide destrajectoires articulaires importées et les trajectoires générées par le générateur proposé.Afin que Matlabr prenne en charge les fichiers XML, la boite à outils "XML toolbox" estutilisée. Cette boite à outils permet de lire les données à partir des fichiers XML et les convertiren un format supporté par Matlabr.

6.3 Résultats de simulation

Cette section est consacrée à la présentation et l’interprétation des résultats de simulationobtenus. Pour cela, on considère que le robot évolue sur un sol horizontal plat sans obstacles.Différents scénarios sont proposés afin d’évaluer l’efficacité du générateur proposé, à savoir,une marche en ligne droite et une marche avec un changement de direction. Le calcul du ZMPà partir des mouvements du robot permet de juger la stabilité et de valider le générateurproposé.

6.3.1 Scénario 1 : Marche à base des données brutes de l’humain

Dans ce premier scénario, les trajectoires capturées de l’humain sont directement rejouées surle modèle du robot humanoïde. La figure 6.2 représente les trajectoires cartésiennes des piedsdu sujet obtenues par le système de capture. Les trajectoires capturées ne garantissent pasforcément la stabilité quand on les applique au robot même si les paramètres du modèle utilisésont proches de ceux de l’humain, étant donné que le système locomoteur de ce dernier estbeaucoup plus complexe que celui du robot.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 45

Page 51: Conception et développement d’un générateur de ...

6.3. Résultats de simulation

Figure 6.2 – Evolution des trajectoires des pieds de l’humain dans l’espace opérationnel

Une analyse intuitive de ces trajectoires permet d’identifier les phases de simple et de doublesupport. Ces données seront utiles par la suite pour modéliser les trajectoires des pieds durobot avec des splines afin d’obtenir un mouvement faisable garantissant la stabilité de lamarche.Le tableau 6.1 regroupe les différentes phases de support ainsi que les intervalles de tempscorrespondantes.

Période Phase de support0, 00 → 0, 70 s Double support : phase de démarrage.0, 70 → 1, 20 s Simple support : pied d’appui = Pied droit.1, 20 → 1, 30 s Double support1, 30 → 1, 83 s Simple support : pied d’appui = Pied gauche.1, 83 → 1, 95 s Double support.1, 95 → 2, 42 s Simple support : pied d’appui = Pied droit.2, 42 → 2, 48 s Double support.2, 48 → 2, 71 s Simple support : pied d’appui = Pied gauche.

Table 6.1 – Décomposition en phases de support de la marche capturée

46 Moussâb BENNEHAR

Page 52: Conception et développement d’un générateur de ...

Chapitre 6. Résultats de simulation

La figure 6.3 montre l’évolution des trajectoires du ZMP et du CdM obtenues en appliquentles données brutes de l’humain. La courbe en bleu représente le ZMP dans la phase de simplesupport, le polygone de sustentation dans ce cas est tout simplement l’empreinte du pied desupport. La marche résultante est instable car le ZMP n’est pas en permanent à l’intérieurdu polygone de sustentation (cf. figure 6.3(a)). Par conséquent, ces trajectoires doivent êtreadaptées au robot afin d’éviter cette instabilité qui causera la chute du robot.

(a) Trajectoires du ZMP

(b) Trajectoire du CdM

Figure 6.3 – Trajectoires du ZMP et du CdM avec les données de l’humain

La trajectoire du CdM n’est également pas à l’intérieur du polygone de support en permanent.Ceci signifie que cette marche est une marche dynamique et non pas statique.

6.3.2 Scénario 2 : Marche à base du générateur bio-inspiré proposé

Dans ce scénario, le robot est amené à imiter la même séquence de marche capturée de l’hu-main. Les données du haut du corps sont directement appliquées au robot. Pour le bas ducorps, les trajectoire cartésiennes sont modélisées par des splines en s’inspirant des trajec-toires de l’humain, la longueur du pas a été réduite afin d’éviter les problèmes de singularitépendant la marche. La trajectoire de la hanche est obtenue par le modèle du pendule linéaireinversé 3D afin de satisfaire la trajectoire désirée du ZMP.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 47

Page 53: Conception et développement d’un générateur de ...

6.3. Résultats de simulation

A - Marche en ligne droite

La figure 6.4(a) montre la trajectoire du ZMP obtenue en utilisant la méthode proposée. Ilest clair que la nouvelle allure de marche garantie la stabilité car le ZMP est à l’intérieur dupolygone de sustentation pendant toute la période de la marche. La projection du centre demasse sur le sol est représentée par la figure 6.4(b). Le centre de masse n’est pas tout le tempsdans le polygone de support ce qui permet de conclure que cette marche est dynamique.

(a) Trajectoires du ZMP

(b) Trajectoire du CdM

Figure 6.4 – Trajectoires du ZMP et du CdM résultant du générateur de trajectoires proposé

Le ZMP désirée est pris comme le centre de l’empreinte du pied de support dans la phase desimple support et une droite reliant les centres d’empreintes des deux pieds successifs dans laphase de double support. Mais la trajectoire du ZMP obtenu ne répond pas exactement à celledésirée. Ceci est dû principalement au fait qu’on a utilisé un modèle simplifié qui ne prend pasen compte les mouvements de tous les segments du robot, à savoir le pendule inversé linéaire3D.

48 Moussâb BENNEHAR

Page 54: Conception et développement d’un générateur de ...

Chapitre 6. Résultats de simulation

Figure 6.5 – Trajectoires des positions articulaires

Les trajectoires des positions articulaires sont représentées sur la figure 6.5. Les trajectoiresarticulaires des jambes sont obtenues en résolvant un problème de cinématique inverse. Lestrajectoires des pieds de référence dans l’espace opérationnel sont obtenues en utilisant desfonctions splines avec des positions de départ et d’arrivée et des vitesses aux extrémités bienspécifiées et également avec un point de passage pour le déplacement vertical. Pour les membressupérieurs, les données de l’humain sont directement appliquées.

B - Marche avec changement de direction

Le robot dans ce scénario est amené à réaliser une marche avec un changement de direction.On utilise le modèle du pendule inversé linéaire 3D pour générer la trajectoire désirée de lahanche et les splines pour les trajectoires désirées des pieds dans l’espace opérationnel. Lesdonnées de l’humain sont utilisées telles qu’elles sont pour le haut du corps. La figure 6.6(a)montre l’évolution de la trajectoire du ZMP ainsi que l’évolution du CdM est représenté surla figure 6.6(b). La figure 6.7 représente les trajectoires de positions articulaires.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 49

Page 55: Conception et développement d’un générateur de ...

6.3. Résultats de simulation

(a) Trajectoires du ZMP

(b) Trajectoire du CdM

Figure 6.6 – Trajectoires du ZMP et du CdM avec changement de direction

Bien que le robot dans ce scénario subit une perturbation causée par le changement de direc-tion, la marche obtenue est une marche dynamique stable. Cependant, elle est moins stableque celle obtenue en ligne droite car le ZMP presque atteint les bords de l’empreinte du pieddans le cas de simple support. Par conséquent, les marges de stabilité sont très faibles et unefaible perturbation peut causer la chute du robot.

Figure 6.7 – Trajectoires des positions articulaires dans le cas de changement de direction

50 Moussâb BENNEHAR

Page 56: Conception et développement d’un générateur de ...

Chapitre 6. Résultats de simulation

6.3.3 Scénario 3 : Application du générateur bio-inspiré optimal pro-posé

Dans ce scénario, une étude de l’effet des membres supérieurs sur la stabilité de la marche esteffectuée. Les trajectoires articulaires de l’épaule (tangage et roulis) sont modélisées avec desfonctions sinus dont l’amplitude est variable dans un intervalle judicieusement choisi. Idempour le tangage et le roulis du tronc qui ont également été modélisés par des fonctions sinus.Ensuite, les marges de stabilité sont mesurées à chaque itération et comparées avec cellesobtenues avec les amplitudes précédentes. Le meilleur paramètre choisie est celui qui garantitla marge maximale de stabilité.

Figure 6.8 – Evolution de la trajectoire du ZMP avec optimisation

La figure 6.8 représente la nouvelle trajectoire du ZMP avec optimisation. La trajectoire sansoptimisation ne garantissait pas un grand degré de stabilité. En effet, la trajectoire représentéedans la figure 6.4(a) montre que le ZMP est très proche des bords du polygone de support(i.e. empreinte du pied). Si le robot subi de faibles perturbations, la stabilité ne sera plusgarantie car le ZMP peut atteindre les bords du polygone de support et peut même se trouvercomplètement à l’extérieur. Avec l’optimisation, le ZMP est plus loin des bords du polygone desupport (empreinte du pied) et plus concentré au milieu. Par conséquent, les nouvelles alluresde marche assurent des marges de stabilité plus grande ; donc, une meilleur robustesse parrapport aux perturbations.

La figure 6.9 montre bien l’évolution du ZMP pour différents paramètres optimaux. En premiertemps, seul le tangage du bras est choisi de manière optimal. Ensuite la valeur optimale estutilisée et une nouvelle optimisation pour un nouveau paramètre est relancée.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 51

Page 57: Conception et développement d’un générateur de ...

6.3. Résultats de simulation

Figure 6.9 – Empreinte du pied gauche lors du premier pas

Figure 6.10 – Trajectoires des position articulaires avec optimisation

Les trajectoires de positions articulaires sont représentées sur la figure 6.10. Les trajectoiresdes bras ne sont plus celles de l’humain, elles étaient calculées par des fonction sinus (rouliset tangage seulement).

52 Moussâb BENNEHAR

Page 58: Conception et développement d’un générateur de ...

Chapitre 6. Résultats de simulation

6.4 Conclusion

Dans ce chapitre, nous avons valider le générateur de trajectoires proposé dans le cadre de cestage à travers la simulation de différents scénarios de simulation.Dans un premier scénario, les trajectoire capturées de l’humain sont directement appliquéesau robot. Ce scénario a abouti à une évolution du ZMP qui sort du polygone de sustentationce qui entrainera donc une perte de stabilité et cause la chute du robot. Ceci confirme quel’application directe des trajectoires de l’humain sur le robot, dans la plupart des cas, vadonner un mouvement instable du robot.Dans le deuxième scénario, le générateur de trajectoire proposé est simulé pour deux cas :une marche en ligne droite et une marche avec un changement de direction. Dans les deuxsimulations, le mouvement obtenu est dynamiquement stable car le ZMP reste en permanent àl’intérieur du polygone de sustentation. Cependant, cette marche peut être améliorée en termede stabilité en utilisant les mouvements du haut du corps.Enfin, l’effet sur les marges de stabilité des mouvements du haut du corps ont permis de choisirles meilleurs paramètres de balancement afin d’améliorer la stabilité de la marche dynamique.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 53

Page 59: Conception et développement d’un générateur de ...

Chapitre 7

Conclusions et perspectives

7.1 Conclusion générale

L’objectif de ce stage était de concevoir et développer un générateur de trajectoires pourune marche dynamique stable en robotique humanoïde à base des données capturées de lamarche humaine. En effet, la marche humaine représente une excellente source à exploiterafin d’atteindre cet objectif, car elle représente la forme naturelle et optimale de la marchebipède en termes de stabilité et dépenses énergétiques. Les données de la marche humaineont été capturées par le système Viconr, un des très performants systèmes de capture demouvements actuels. Ce système est basé sur le suivi des marqueurs lumineux placés sur lecorps de l’humain. Les trajectoires brutes obtenues par ce système de capture sont ensuitetraitées par deux logiciels afin de les nettoyer et extraire les données articulaires à partir destrajectoires cartésiennes des marqueurs.Malgré que le modèle utilisé du robot est inspiré des caractéristiques de l’humain, le simulateurdéveloppé dans le cadre de ce stage nous a permis de conclure que l’application directe desdonnés capturées sur le robot ne garantit pas forcément la stabilité de la marche. Ceci est lerésultat attendu car, malgré les similitudes évidentes entre le modèle du robot et l’humain,le système locomoteur humain reste beaucoup plus complexe et plus performant que celui durobot.La reproduction du mouvement humain sur un robot humanoïde est une problématique d’ac-tualité et beaucoup de recherches lui sont encore consacrées. Dans ce stage, un générateurde trajectoire permettant de résoudre cette problématique est proposé. Les trajectoires despieds du robot sont générées par des fonctions splines inspirées de celles de l’humain pourmieux contrôler les trajectoires des pieds (vitesses, longueur de pas, ...etc.). La trajectoire dela hanche est calculée en utilisant le modèle du pendule inversé linéaire. Le modèle géométriqueinverse permet par la suite de calculer les trajectoires articulaires du bas du corps. Finalement,pour le haut du corps, les données de l’humain sont directement appliquées au robot.Le générateur bio-inspiré proposé a été validé sur le simulateur développé. Deux scénarios ont

54

Page 60: Conception et développement d’un générateur de ...

Chapitre 7. Conclusions et perspectives

été simulés ; une marche en ligne droite et une marche avec changement de direction.Malgré que le générateur proposé permet de garantir la stabilité du robot pendant la marche,une étude sur l’effet des membres supérieurs montre que la stabilité peut être améliorée enchoisissant soigneusement les paramètres de balancement des bras. Un processus d’optimisa-tion est alors employé pour choisir les meilleurs paramètres afin de maximiser les marges destabilité.L’objectif à réaliser, fixé au début du stage, été atteint. Le chapitre consacré à l’état de l’arta servie pour participer à un article scientifique accepté pour publication lors de la conférenceinternationale SYROCO’12 2.

7.2 Perspectives

Les résultats obtenues à travers le générateur proposé sont très prometteurs. Cependant, ilserait intéressant de continuer ce travail en tenant compte, entre autres, des perspectivessuivantes :– La conception d’un contrôleur qui permet de poursuivre les trajectoires obtenues en temps

réel.– L’implémentation du générateur proposé sur un vrai robot et vérifier sa robustesse dans un

environnement réel.– Exploration d’autres pistes dans le choix des mouvements à optimiser afin d’améliorer les

marges de stabilité et donc, d’améliorer la robustesse du générateur.

2. : 10th International IFAC SYMPOSIUM on Robot Control (SYROCO 2012)

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 55

Page 61: Conception et développement d’un générateur de ...

Bibliographie

[1] A. Chemori, Quelques contributions à la commande non linéaire des robots marcheursbipèdes sous-actionnés. LAG, INPG : PhD thesis, 2005.

[2] CA. Calderon and H. Hu, "Robot imitation from human body movements", in in Proceedingof the Third International Symposium on Imitation in Animals and Artifacts (AISB’05),(University of Hertfordshire, Hatfield, UK), 2005.

[3] Chalodhorn, Rawichote and Grimes, David B. and Grochow, Keith and Rao, Rajesh P.N., "Learning to Walk through Imitation", in Proceedings of the 2007 International JointConference on Artificial Intelligence (IJCAI’07), (Hyderabad, India), pp. 2084-2090, 2007.

[4] Y. Choi, D. Kim, Y. Oh, and B.J. You, "Posture/walking control for humanoid robot basedon kinematic resolution of com jacobian with embedded motion", the IEEE Transactionson Robotics, vol. 23, no. 6, pp. 1285-1293, 2007.

[5] A. Goswami, "Postural stability of biped robots and the foot-rotation indicator (FRI)point", The International Journal of Robotics Research, vol. 18, no. 6, pp. 523–533, 1999.

[6] K. Harada, K. Miura, M. Morisawa, K. Kaneko, S. Nakaoka, F. Kanehiro, T. Tsuji, and S.Kajita, "Toward human-like walking pattern generator", Proceedings of the 2009 IEEE/RSJinternational conference on Intelligent robots and systems (IROS’09), (St. Louis, MO, USA),pp. 1071–1077, 2009.

[7] Q. Huang, K. Yokoi, S. Kajita, K. Kaneko, H. Arai, N. Koyachi, and K. Tanie, " Planningwalking patterns for a biped robot", in IEEE Transactions on Robotics and Automation,vol. 17, no. 3, pp. 280-289, 2001.

[8] S. Kajita, H. Hirukawa, K. Harada, and K. Yokoi, Introduction à la commande des robotshumanoïdes. Translated in French by Sakka, S. Springer, 2009.

[9] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa,in Proceedings of the 2003 IEEE International Conference on Robotics and Automation(ICRA’03). (Taipei, Taiwan), pp. 1620-1626, 2003.

[10] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa,"The 3d linear inverted pendulum mode : A simple modeling for a biped walking patterngeneration", in Proceedings of the2009 IEEE/RSJ International Conference on IntelligentRobots and Systems (IROS’09). (Maui, Hawaii, USA), pp. 239–246, 2001.

56

Page 62: Conception et développement d’un générateur de ...

Bibliographie

[11] Seungsu Kim, ChangHwan Kim, Bumjae You, and Sangrok Oh, "Stable whole-body mo-tion generation for humanoid robots to imitate human motions", in Proceedings of theIEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’01). (St.Louis, MO, USA), pp. 2518-2524, 2009.

[12] Jean Philippe LEPOUTRE, "Modélisation biomécanique du mouvement : Vers un outild’évaluation pour l’instrumentation en orthopédie", PhD thesis, Université du Sud Toulon,2007.

[13] Seungsu Kim, ChangHwan Kim, Bumjae You, and Sangrok Oh, "Free vertical momentsand transverse forces in human walking and their role in relation to arm-swing", in Journalof Experimental Biology, vol. 204, no. 1, pp. 47-58, 2001.

[14] K. Miura, M. Morisawa, S. Nakaoka, F. Kanehiro, K. Harada, K. Kaneko, and S. Kajita,"Robot motion remix based on motion capture data towards human-like locomotion ofhumanoid robots", in Proceedings of 9th IEEE-RAS International Conference on HumanoidRobots (Humanoids’09), (Paris, France), pp. 596-603, 2009.

[15] Francisco-Javier Montecillo-Puente, Manish N. Sreenivasa, and Jean-Paul Laumond, "Onreal-time whole-body human to humanoid motion transfer", in Proceedings of the 7th Inter-national Conference on Informatics in Control, Automation and Robotics (ICINCO 2010),(Funchal, Madeira, Portugal), vol. 2, pp. 22-31, 2010.

[16] S. Nakaoka, A. Nakazawa, F. Kanehiro, K. Kaneko, M. Morisawa, and K. Ikeuchi, "Taskmodel of lower body motion for a biped humanoid robot to imitate human dances", in Pro-ceedings of the 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS’05), (Edmonton, Alberta, Canada), pp. 3157-3162, 2005.

[17] S. Nakaoka, A. Nakazawa, K. Yokoi, H. Hirukawa, and K. Ikeuchi, "Generating wholebody motions for a biped humanoid robot from captured human dances", in Proceedings ofthe 2003 IEEE International Conference on Robotics and Automation (ICRA’03), (Taipei,Taiwan), pp. 3905-3910, 2003.

[18] Oscar E. Ramos, Layale Saab, Sovannara Hak, and Nicolas Mansard, "Dynamic motioncapture and edition using a stack of tasks", in Proceedings of the 11th IEEE-RAS Inter-national Conference on Humanoid Robots (Humanoids’11), (Bled, Slovenia), pp. 224-230,2011.

[19] P. Sardain and G. Bessonnet, "Forces acting on a biped robot. center of pressure-zeromoment point", IEEE Transactions on Systems, Man, and Cybernetics, (Bled, Slovenia),vol. 34, no. 5, pp. 630-637, 2004.

[20] Stefan Schaal, "Is imitation learning the route to humanoid robots ?", Trends in CognitiveSciences, (Bled, Slovenia), vol. 3, no. 6, pp. 233-242, 1999.

Conception et développement d’un générateur de trajectoires bio-inspiré en robotique humanoïde 57

Page 63: Conception et développement d’un générateur de ...

Bibliographie

[21] Stefan Schaal, Auke Ijspeert, and Aude Billard, "Computational approaches to motorlearning by imitation", Philosophical Transactions of the Royal Society, vol. 358, no. 1431,pp. 537-547, 2003.

[22] W. Suleiman, E. Yoshida, F. Kanehiro, J.P. Laumond, and A. Monin, "On human motionimitation by humanoid robot", in Proceedings of the 2008 IEEE International Conferenceon Robotics and Automation (ICRA’08), ( Pasadena, California, USA), pp. 2697-2704, 2008.

[23] M. Vukobratovic and B. Borovac, "Zero-moment point-thirty five years of its life", Inter-national Journal of Humanoid Robotics, vol. 1, no. 1, pp. 157–173, 2004.

[24] S. Wehner and M. Bennewitz, "Humanoid gait optimization based on human data", Auto-matika – Journal for Control, Measurement, Electronics, Computing and Communications,vol. 52, no. 3, pp. 223-232, 2011.

[25] M.W. Whittle, "Gait analysis : an introduction", Butterworth-Heinemann, 2007.

[26] Wikipedia, the free encyclopedia, "Arm swing in human locomotion", [En ligne ; consultéle 19 Juillet 2012].

[27] K. Yamane, S.O. Anderson, and J.K. Hodgins, "Controlling humanoid robots with humanmotion data : Experimental validation", in Proceedings of th 10th IEEE-RAS InternationalConference on Humanoid Robots (Humanoids’10), (Nashville, TN, USA), pp. 504-510, 2010.

[28] K. Yamane and J. Hodgins, "Simultaneous tracking and balancing of humanoid robots forimitating human motion capture data", in Proceedings of the 2009 IEEE/RSJ InternationalConference on Intelligent Robots and Systems (IROS’09), (St. Louis, MO, USA), pp. 2510-2517, 2009.

[29] K. Yamane and J. Hodgins, "Control-aware mapping of human motion data with steppingfor humanoid robots", in Proceedings of the 2010 IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS’10), (Taipei, Taiwan), pp. 726-733, 2010.

58 Moussâb BENNEHAR

Page 64: Conception et développement d’un générateur de ...

Annexe A

Publication

David Galdeano, Vincent Bonnet, Moussâb Bennehar, Philippe Fraisse et Ahmed Chemori.

59

Page 65: Conception et développement d’un générateur de ...

Partial Human Data in Design ofHuman-Like Walking Control in Humanoid

Robotics

David Galdeano ∗ Vincent Bonnet † Moussab Bennehar ∗

Philippe Fraisse ∗ Ahmed Chemori ∗

∗ LIRMM, Universite Montpellier 2, LIRMM - UMR 5506 - CC 477,161 rue Ada, 34095 Montpellier Cedex 5, France

(e-mail:galdeano(Bennehar,chemori,fraisse)@lirmm.fr).† LABLAB, Department of Human Movement and Sports Sciences,University of Rome ”Foro Italico”, Piazza Lauro de Bosis 6, 00194

Rome, Italy. (e-mail:[email protected]).

Abstract: In this paper a human-based control strategy is proposed for walking of humanoidrobots. Its basic idea lies in the control of the CoM as well as the relative position of robot’s feet.Through the proposed study, it is shown that this reduced set of data allows to fully describe andreproduce a whole body human-like walking. In addition of reducing the number of controlledvariables, the proposed control strategy has the advantage of not requiring a complete walkingcycle decomposition due to its continuous character. Simulations results are presented to showthe effectiveness of the proposed control scheme.

Keywords: Humanoid robotics, Human motion capture, Walking control.

1. INTRODUCTION

In humanoid robotics, the challenge to perform stabledynamic walking under inherent difficulties in controllingsuch highly non-linear redundant structures is still anopen problem. In the literature, many control approachesusing high level pattern generators have been proposed.One of the problems in using such methodology is todetermine the proper variables and constraints able todescribe efficiently a stable walking pattern.

To solve this problematic, many researches have been con-ducted focusing on lower-limbs motion. However, only fewstudies on generating human-like whole-body motion havebeen conducted. Indeed, due to their anthropomorphicstructure, humanoid robots often present dynamic similar-ities with humans. Hence, modern pattern generators relyon captured human data obtained from motion capturesystems in order to realize human-like tasks such as bal-ancing Montecillo-Puente et al. (2010), walking Kim et al.(2009), or dancing Montecillo-Puente et al. (2010), Kimet al. (2009). However, despite evident similarities, thehuman locomotor system is much more complex than thehumanoid robots structures. Therefore, a direct mappingfrom human captured motion to humanoid robot will failin most cases and often lead to the fall of the robot. Thisimplies that data need to be adapted to take into accountthe specific structures of humanoid robots.

In the literature, several approaches have been proposedto imitate human motion; they can be classified into twoclasses: on-line and off-line pattern generators.

Within the first class, a humanoid-normalized modelMontecillo-Puente et al. (2010) based on a real-time task-

based prioritized inverse kinematics solver is used to trans-fer captured motion to the humanoid robot. Two scenarioswere experienced to validate this method: a dancing taskand a single foot balancing motion. However, the executionof all tasks is not guaranteed since the Zero Moment Point(ZMP) and joints limits constraints could not be satisfied.

In Yamane and Hodgins (2010), a balance controller, usinga linear quadratic regulator associated to an invertedpendulum model, and a joint space controller were usedto generate joint torques allowing the robot to trackthe estimated human trajectories. A captured Tai-chimotion was experienced to assess the performance of thisjoint controller. However, no walking motion has beenexperienced.

A neural network approach has been proposed by Schaaland his coworkers (1999, 2003), where human data issuedfrom motion capture were used to feed a learning systemto produce accurate movement primitives. The drawbacksof such a method are the required learning time and thelow accuracy. Hence, this method cannot be really appliedfor highly dynamic tasks such as walking.

Off-line methods are generally more efficient than real-time ones since the captured data can be processed sepa-rately and then transferred to the humanoid robot. Manyapproaches propose to process human walking and extractdifferent gait parameters such as step length or step dura-tion. Using these global parameters, joint trajectories canbe determined and adapted to specific humanoid struc-tures.

Different research teams such as Harada et al. (2009),Miura et al. (2009) successfully reproduced the hu-

Page 66: Conception et développement d’un générateur de ...

man lower-limbs kinematics during walking on humanoidrobots. It is worth to note that the dynamical balance andthe upper-limbs motions were not taken into account in theabove presented schemes. To overcome balance limitation,a human whole-body motion using the ZMP obtained froma simplified human model was recently proposed Kim et al.(2009). Although, no walking has been experimented withthis method, a complex dancing motion was accuratelyimitated in simulation by the humanoid.

Another method was proposed in Nakaoka et al. (2003)using inverse kinematics for upper-limbs and motion prim-itive for lower-limbs. In this method, upper-limbs andlower-limbs trajectories are generated separately. Thecombination of both trajectories is time consuming as wellas sometimes unstable.

In Ramos et al. (2011), a method to imitate human motionusing stack of tasks was proposed, where the robot isexpected to follow the joint trajectories extracted fromhuman motion capture. The authors add some specificarbitrary tasks (such as: knee oscillation, hand motion,foot sliding) to adjust the humanoid robot dynamics,enhancing therefore the human motion imitation.

An identification-based method for modeling human walk-ing was proposed in Suleiman et al. (2006). The humanbody was decomposed into five open kinematic chains andconsidered as a black-box system. The only data needed toobtain the other limbs’ trajectories was the pelvis’s trajec-tory. Their method was then validated through simulationusing artificial and human captured pelvis trajectories.

This paper presents a whole-body control strategy. We usecenter of mass and relative feet position issued from humanmotion capture as desired trajectory and, using Nakamuraet al. (1987) formalism, we can track these two quantities.With this strategy, we can create a continuous whole bodyhuman-like walking.

This paper is organized as follows. In section 2, an overviewof the motion capture system is introduced, where twomain points are discussed: the proposed human modeland the human data collection. Section 3 is devoted tothe proposed control scheme, where its basic principle ispresented and discussed. Simulation results are presentedin section 4, including two main parts; in the first onea description of the developed simulator is introduced,whereas the second one deals with a presentation anddiscussion of the obtained results. The paper ends withsome concluding remarks and future work.

2. DESCRIPTION OF MOTION CAPTURE SYSTEM

2.1 Human model

In this study, the human subject (cf. Fig.1) is considered asa multibody rigid system with 22 degrees of freedom (dof).These dof are distributed on the different articulations ofthe human model as illustrated in Fig. 1. All degrees offreedom are pure rotations.

Each leg is composed of six dof, three dof at the hip, onedof at the knee and two dof at the ankle. The trunk andthe neck are composed of 2 dof on the frontal plane each.

Fig. 1. Illustration of the kinematic model used to repre-sent the human locomotor system (degrees of freedomin articulations).

Both arms are composed of 3 dof, 2 dof at the shoulderand one dof at the elbow.

The limbs’ lengths are measured on the subject andused in the proposed human model. The mass, center ofmass and inertia of each body are computed using theanthropomorphic table given in De Leva (1996).

2.2 Human data-collection

Fig. 2. A typical motion capture setup.

One volunteer (age: 35 years, height: 1.71m, weight:72kg) participated to the data-collection experiments aftersigning an informed consent form. Anthropometric data(limbs’ lengths) were initially collected in upright positionand used in the previously mentioned human model (cf.section 2.1). The volunteer was asked to initiate gait athis preferred speed, starting from natural upright position,to perform one stride. The choice of the first swing legwas let free to the subject. A nine-camera system (MX,VICON) (cf. Fig.2) was used to record the 3D trajectoriesof the 35 reflective markers (cf. Fig. 3-(a)) located onanatomical landmarks specified in a commonly-used wholebody template model, i.e. Vicon Peak®Plug-In-Gait.

The recorded reflective markers were used to lead thekinematic model described and illustrated in section 2.1 inorder to estimate joint kinematics. Thanks to these jointtrajectories the CoM location and feet trajectories wereestimated in the global reference frame (cf. 3-(c)). The

Page 67: Conception et développement d’un générateur de ...

Fig. 3. Basic principle of human kinematic data acquisi-tion. A whole body template of 35 reflective markers(a) was used to track the motion of each limb (b). Thecorresponding markers were used to lead a specifiedkinematic model (c) allowing the estimate of joint andfeet trajectories, and Center of Mass(CoM).

joint kinematic estimate was performed using a commer-cial biomechanical software (LIFEmod Brg). The reliabil-ity and accuracy of Plug-In-Gait template for the CoMestimate during walking has been demonstrated in humanmovement science for healthy people in Gutierrez-Farewiket al. (2006).

3. PROPOSED CONTROL SCHEME

As mentioned in the introduction, the challenge of usinghuman trajectories to lead the design of a human-likepattern generator for humanoid robots is not yet adressed.Therefore, a reduction of the used data set would be neces-sary to keep the most valuable information. Furthermore,this can help for a better understanding of human walkingand a smarter implementation of human-like walking onhumanoid robots.

To this purpose, we propose to select only the feet andCoM positions to describe the main features of the humanwalking. In order to achieve the tracking of these twoquantities, the redundancy of humanoid robot is consid-ered through the task-priority formalism as described inNakamura et al. (1987).

The real human CoM (CoMd) and relative feet positions(Prd) obtained from human data collection (describedin section 2.2) are used as reference trajectories in theproposed control approach illustrated in Fig. 4.

The starting point of our first task is based on the trackingerror εr = Prd − Pr between the desired feet spacingPrd extracted from motion capture and the estimated feetspacing Pr = Prf − Plf , where Prf = [xrf yrf zrf ]

T ,Plf = [xlf ylf zlf ]

T are the positions of the right andleft foot (respectively) obtained using a forward kinematicmodel (FKMr).

The Jacobian of this task is then defined as follows:

εr = Jrεq (1)

where εq ∈ R22×1 represents the vector of articularposition errors of the robot, Jr ∈ R3×22 is the Jacobianmatrix of the relative translation between the feet.

The angular velocity can be computed by inversing equa-tion (1) as follows:

εq = J+r εr + ( − J+

r Jr)Y (2)

where J+r is the pseudo-inverse of Jr, ( − J+

r Jr) is thenull-space projector of this Jacobian and Y is an arbitraryvector. This equation allows, using Y , to achieve someother task without disturbing the primary task.

Our second task is the tracking error of the CoM ex-pressed by εCoM = CoMd − CoM where CoMd =[xCoMd

yCoMdzCoMd

]T is the desired trajectory of thecenter of mass extracted from motion capture and CoM =[xCoM yCoM zCoM ]T is the one obtained from the forwardkinematic model of center of mass position (FKMCoM ).

εCoM = JCoMεq (3)

where JCoM ∈ R3×22 is the CoM Jacobian matrix.

Replacing (2) in (3) gives the expression of εCoM asfollows:

JCoMεq = εCoM = JCoMJ+r εr + JCoM ( − J+

r Jr)Y (4)

JCoM is defined as a projection in the null space of JrJacobian of JCoM Jacobian, that is:

JCoM = JCoM ( − J+r Jr) (5)

Equation (5) replaced in (4) gives:

J+CoM (εCoM − JCoMJ+

r εr) = Y (6)

Injecting equation (6) in equation (2) gives the followingfinal formulation:

εq = J+r εr + ( − J+

r Jr)J+CoM (εCoM − JCoMJ+

r εr) (7)

With this equation, the part of the second task which isrealized by the first task is taken into account.

As the task-priority formalism is used, it is worth to notethat the first task has the higher priority, which means thatthe relative feet position tracking has a higher priority tothe CoM position tracking. An important feature is that incase of conflict between tasks, the one with higher prioritycan still be fully accomplished, while the one with lowerpriority can be partially accomplished. Since the humanmodel is highly redundant and disposes of many dof, bothtasks should be easily achieved.

Fig. 4. Block diagram of the proposed control scheme.

The proposed control scheme is summarized in the blockdiagram of Fig. 4 where Kp ∈ R22×1 is a unitary gain,

Page 68: Conception et développement d’un générateur de ...

u ∈ R22×1 is the control input of the human kinematicmodel, with u = Kpεq and q ∈ R22×1 represents the vectorof joint positions of the robot.

The human kinematic model is composed of integratorswith respect to articular limits.

4. SIMULATION RESULTS

4.1 Developed simulator

Fig. 5. Graphical interface of the developed simulator.

To illustrate and validate the concepts proposed withinthis study, a simulator for humanoid robots was developedusing Matlab 1 software. This simulator includes kine-matic and dynamic models of different humanoid robots,such as the biped robot SHERPA (a two-leg biped walkingrobot with 18 dof), HRP2 (a humanoid robot with 30dof), a generic humanoid model inspired from human (with20 dof, for whole body motion control), and the humanmodel used in this study (with 22 dof, for human-data-based control). To complete the dynamics of the robotwith that of its environment, a contact foot/ground modelbased on the penalty concept has been implemented andintegrated in the simulator. The graphical user interfaceof the developed simulator is shown in Fig. 5. Besides thegraphical visualization of the robot, the simulator enablesto show in real-time the obtained motions illustrated on ahumanoid robot, as well as the evolution of the 3D positionof the COM and its projection on the polygon of support.The simulator incorporates the control scheme proposedwithin this study. However, only human model kinematicsis used in simulation of the proposed control strategy. Forreasons of illustration and presentation of the obtainedresults, the simulator allows the user to plot the evolutionof all the simulation curves (such as articular trajectories,COM, ZMP, contact forces, etc) and save them in text orimages files.

1 Matlab is a registered trademark of The Mathworks, Inc.

4.2 Obtained results

As previously mentioned, the kinematic model of thehumanoid robot involves severe simplification with thehuman locomotor system. The complexity of human modelwith respect to the humanoid one imposes a need to adaptthe human data to the humanoid robot, since a directmapping will not be efficient. To do so, we propose toadjust the vertical position of CoM to avoid singularitiesduring the walking phase. The modification is done bylowering the vertical position of CoM trajectory up tocanceling the tracking errors εr and εCoM .

Once this adaption was validated, we have developedand implemented the control scheme (cf. Fig. 4) in thesimulator (presented in the previous section) including thereference signals obtained from motion capture (relativeposition of feet and CoM location). Three walking stepswere considered in this study. We propose in this sectionto show and analyze two different strategies. The firststrategy is without adaptation of vertical position of theCoM. Whereas, the second one takes into account thedifference between the human subject and the humanoidmodel by adjusting the vertical position of CoM to avoidkinematics singularities in computation of the controlscheme.

The obtained results of the first strategy are shown on Fig.6 where we can observe that both arms are raised to satisfythe CoM task. This is due to the difference between humanand humanoid models as it has previously been underlined.Some dof are highly solicited such as the ones of the trunk,furthermore high angular velocities during short phasescan be observed (cf. for instance consecutive positions ofFig. 6 (e)-(f)). Legs are often straight, this means thatthe robot is in a singular configuration. Consequently, thisstrategy cannot be used to generate a human-like walking.

The simulation results of the second strategy are displayedin Fig. 7, a walking pattern is carried out with a correctionof the CoM trajectory. We clearly observe that the armsremain along the body. The trunk orientation still hassome quick rotation phases. Knees are bended, whichmeans that the robot avoids singularity during the walkingphase. This approach is better and closer to human-likethan the previous one since it gives a more natural walking.

The obtained joints’ trajectories for the right leg in thesagittal plane are shown in Fig. 8. In this second study, itis worth to note that the orientation of the feet is not takeninto account (only feet relative position is considered) dueto the non consideration of the lift off and landing phases,consequently, a comparison with human data will not berelevant.

The pelvis position in Cartesian space is very close to thehuman one as displayed in Fig. 9. The simulated pelvisposition is lower than the pelvis position from humancapture. This is due to the reference CoM adjustment.

5. CONCLUSION AND FUTURE WORK

In this paper a control scheme for humanoid walking robotwas proposed, based on two tasks controlling both therelative motion of feet and the trajectory of CoM comingfrom human data. One of the main advantages of this

Page 69: Conception et développement d’un générateur de ...

(a) t=0.3 s (b) t=0.6 s (c) t=0.9 s (d) t=1.2 s

(e) t=1.5 s (f) t=1.8 s (g) t=2.1 s (h) t=2.4 s

Fig. 6. Obtained simulation results: First strategy (without CoM adaptation).

(a) t=0.3 s (b) t=0.6 s (c) t=0.9 s (d) t=1.2 s

(e) t=1.5 s (f) t=1.8 s (g) t=2.1 s (h) t=2.4 s

Fig. 7. Obtained simulation results: Second strategy (with CoM adaptation).

approach is to provide a continuous control frameworkas well as human-like walking without imitation such asdirect mapping in the joint space for instance.

We showed, according to the control scheme that we areable to control the whole-body motion for walking phaseswith only CoM and relative motion of feet. This is anew approach and the first results are very promising andchallenging. However, we had to adapt the vertical position

Page 70: Conception et développement d’un générateur de ...

0 0.5 1 1.5 2 2.5 3−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

time[s]

Hip[rad]

Knee[rad]

Ankle[rad]

Fig. 8. Right leg joint angular trajectories in the sagittalplane.

0 0.5 1 1.5 2 2.5 3−0.5

0

0.5

1

1.5

time[s]

Human X[m]

Human Y [m]

Human Z[m]

Simulated X[m]

Simulated Y [m]

Simulated Z[m]

Z (human & simulated)

X (human & simulated)

Y (human & simulated)

Fig. 9. Cartesian pelvis position, where X, Y and Zrepresent respectively the antero-posterior, medio-lateral and vertical axis.

of CoM issued from human walking to avoid singularitiesand abnormal postures during walking.

In future work, we aim at improving this approach byconsidering the contact forces with the ground (ZMP)while adapting automatically the vertical CoM locationas a constraint in the controller.

In human, it has been shown that the natural motion of thearms results from a passive control in Collins et al. (2009).The term passive here refers to a spring-damping systemat each joint of the arm. This observation underlines thatthe motion of the whole body propagates to the arms togenerate a passive swing. It has also been shown thatthe natural coordination between the arms and the legstends to minimize the moment around the vertical axis ofthe ground reaction forces. We believe that the use of adynamic model, in future extensions of the present work,should allow us to observe the motion of the arms.

ACKNOWLEDGEMENTS

This research was supported by the French National Re-search Agency, within the project R2A2 (ANR-09-SEGI-011) and in part by the Egide Galileo project (PHCn°26078TE).

REFERENCES

Collins, S., Adamczyk, P., and Kuo, A. (2009). Dynamicarm swinging in human walking. Proceedings of theRoyal Society B: Biological Sciences, 276(1673), 3679–3688.

De Leva, P. (1996). Adjustments to zatsiorsky-seluyanov’ssegment inertia parameters. Journal of Biomechanics,29(9), 1223–1230.

Gutierrez-Farewik, E., Bartonek, A., and Saraste, H.(2006). Comparison and evaluation of two commonmethods to measure center of mass displacement inthree dimensions during gait. Human Movement Sci-ence, 25(2), 238–256.

Harada, K., Miura, K., Morisawa, M., Kaneko, K.,Nakaoka, S., Kanehiro, F., Tsuji, T., and Kajita, S.(2009). Toward human-like walking pattern generator.In International Conference on Intelligent Robots andSystems, 2009. IROS 2009, 1071–1077. IEEE.

Kim, S., Kim, C., You, B., and Oh, S. (2009). Stable whole-body motion generation for humanoid robots to imitatehuman motions. In IEEE/RSJ International Conferenceon Intelligent Robots and Systems, 2009. IROS 2009,2518–2524. IEEE.

Miura, K., Morisawa, M., Nakaoka, S., Kanehiro, F.,Harada, K., Kaneko, K., and Kajita, S. (2009). Robotmotion remix based on motion capture data to-wards human-like locomotion of humanoid robots. In9th IEEE-RAS International Conference on HumanoidRobots, 2009. Humanoids 2009, 596–603. IEEE.

Montecillo-Puente, F.J., Sreenivasa, M.N., and Laumond,J.P. (2010). On real-time whole-body human to hu-manoid motion transfer. In ICINCO, 22–31.

Nakamura, Y., Hanafusa, H., and Yoshikawa, T. (1987).Task-priority based redundancy control of robot manip-ulators. The International Journal of Robotics Research,6(2), 3–15.

Nakaoka, S., Nakazawa, A., Yokoi, K., Hirukawa, H., andIkeuchi, K. (2003). Generating whole body motions for abiped humanoid robot from captured human dances. InRobotics and Automation, 2003. Proceedings. ICRA’03.IEEE International Conference on, volume 3, 3905–3910. IEEE.

Ramos, O.E., Saab, L., Hak, S., and Mansard, N. (2011).Dynamic motion capture and edition using a stack oftasks. In Humanoids, 224–230.

Schaal, S. (1999). Is imitation learning the route tohumanoid robots? Trends in Cognitive Sciences, 3(6),233–242.

Schaal, S., Ijspeert, A., and Billard, A. (2003). Computa-tional approaches to motor learning by imitation. Philo-sophical Transactions of the Royal Society B: BiologicalSciences, 358(1431), 537–547.

Suleiman, W., Monin, A., and Laumond, J. (2006). Syn-thesizing and modeling human locomotion using sys-tem identification. In Intelligent Robots and Systems,2006 IEEE/RSJ International Conference on, 1972–1977. IEEE.

Yamane, K. and Hodgins, J. (2010). Control-aware map-ping of human motion data with stepping for humanoidrobots. In 2010 IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS), 726–733. IEEE.