Dynamique en boucle fermée avec retour de force

Télécharger le fichier original (Mémoire de fin d’études)

Locomotion

La locomotion d’un robot à jambe implique une interaction avec l’environnement du fait de son sous-actionnement. À la différence d’un robot à roue, il n’existe pas de moteurs qui commandent directement la position du robot dans l’espace.
Pour se déplacer, le robot marcheur doit prendre appui successivement sur ces pieds ou pattes, alternant par exemple pieds droit et gauche pour un robot bipède. Ce faisant, son polygone de support évolue de façon discrète et sa dynamique admet des discontinuités aux changements de contacts.
Le robot doit aussi respecter les critères d’équilibres définis dans le chapitre 1, principalement déterminés par la dynamique du centre de masse et des forces de contact associées.
Résoudre le problème de la génération de marche demande de trouver un en-semble de points de contact et une trajectoire du centre de masse qui respecte le critère d’équilibre. Du fait de la relation dynamique entre ces grandeurs, on est obligé de travailler sur un horizon de temps ou sur une trajectoire: l’évolution du centre de pression et du prochain point d’appui dépend de l’état centroïdal actuel, comme l’illustre le modèle du pendule inverse présenté en section 1.4.

Contrôle prédictif

Pour effectuer certaines actions comme la marche, il est difficile de raisonner sur un instantané du système pour choisir les commandes motrices. Au contraire, il est raisonnable de résoudre un problème de commande optimale sur un horizon de temps. Ainsi, la fonction coût qui définit l’optimalité de la trajectoire dépend de l’état actuel du système et de son évolution future.
La commande MPC (Model Predictive Control – commande prédictive basée modèle) répond à cet objectif[Dimitrov 2008, Camacho 2013]. Cette méthode cal-cule une prédiction de l’évolution des variables contrôlées sur un horizon de temps grâce au modèle (prédictif) du robot. Sur cet horizon, une trajectoire de l’état du système est générée, ainsi que la trajectoire de commande qui permet de la suivre. La première valeur de cette loi de commande est appliquée au système, le reste n’est pas utilisé. Ces étapes sont répétées à chaque cycle de contrôle du robot. La fenêtre temporelle sur laquelle l’évolution du système est calculée avance avec le déroulement de la trajectoire, c’est un horizon dit fuyant.
10−3
(30+30+30)∗1

Formulation couplée pour un générateur de marche

Pour un robot humanoïde à grand dégrée de libertés, il est encore difficile d’uti-liser directement le formalisme MPC sur l’ensemble de la dynamique du système du fait de sa trop grande dimension. Pour un robot de 30 degrés de liberté commandé à une fréquence de 1kHz, résoudre la commande optimale en accélération sur un horizon d’une seconde demande d’optimiser pas moins de = 90k va- riables. A ce grand nombre de variables se rajoute la non-linéarité de la dynamique du robot et admettant des discontinuités aux changements de contact.
Plutôt que de résoudre le problème de commande du corps complet sur l’horizon de temps, il est est préférable de travailler avec un modèle simplifié tel que le pendule inverse linéarisé présenté en section 1.2.4.
Les approches classiques résolvent le problème de commande optimale du pen-dule inverse sur un horizon de temps et asservissent ensuite le système corps complet pour suivre les trajectoires générées de centre de masse, de centre de pression et les trajectoires des pieds. [Kajita 2003]
Ces approches découplées permettent d’effectuer des mouvements de marches dont les consignes (de direction et de vitesses) peuvent varier en cours de route [Wieber 2006b, Herdt 2010]. Cependant, si les limitations du corps complet sont at-teintes (par exemple une limite d’actionnement interdisant des accélérations élevées du CoM) alors le robot ne suivra pas parfaitement la consigne. La seule correction se fera par le retour d’état, quand les capteurs observeront la déviation. Et même alors, il est possible que la correction décidée (par exemple accélérer encore plus) soit encore plus inapplicable, conduisant à un échec (instabilité ou perte de viabilité) du schéma de contrôle. Pourtant, une autre trajectoire existe peut-être permettant de stabiliser le robot, mais impliquant une re planification du mouvement.
Pour pallier ce manque de réactivité, il faut formuler un problème d’opti-misation couplée mêlant formulation complète et évolution du modèle simplifié [Sherikov 2014]. D’autres travaux récents prouvent que de telles formulations per-mettent en effet de générer des comportements de marche réactive avec des robots commandés en couple [Lee 2018].

Formulation couplée pour un générateur de marche

Pour résoudre le problème de la commande optimale sur un horizon de temps, avec la commande du corps complet et l’évolution du modèle simplifié, on peut poser un problème d’optimisation de la forme:
minimiser Z T
f,v,τ,˙ L(c(t), p(t))dt + l(v˙)
c:t7−→c(t), p:t7−→p(t) 0
tel que ∀t, c¨(t) = ω2(c(t) − p(t)) (A) (5.1)
c¨(0) = Jcomv˙ + J˙comv (B)
Mv˙ + h = Jc>f + S>τ (C)
p(0) ∈ P (D)
96 Chapitre 5. Formulation d’un générateur de marche réactive
où, c˙ : t 7−→c˙(t) et p : t 7−→p(t), les trajectoires du centre de masse et du centre de pression respectivement, sont des fonctions à optimiser sur l’horizon t ∈ [0; T [. f, v,˙ τ correspondent respectivement aux forces de contacts, aux accélérations et couples articulaires instantanés, liés aux commandes envoyées aux moteurs.
La contrainte (A) permet de respecter la dynamique du pendule inverse linéarisé (1.4) liant le centre de masse c et le centre de pression p, comme présentée en section 1.2.4.
La contrainte (B) assure que la commande du corps complet soit cohérente avec l’accélération du centre de masse à l’instant présent c(0). Cette contrainte est semblable à une tâche de centre de masse comme présentée dans le chapitre 1, à la différence qu’ici l’accélération du centre de masse est une variable du problème et non un correcteur sur la position et la vitesse du CoM.
La contrainte (C) correspond à la dynamique du corps-complet, avec f directe-ment liée au centre de pression à l’instant présent p(0). Cette contrainte est la même que celle qui nous a permis d’écrire le contrôleur de dynamique inverse présenté en section 1.4.1 au premier chapitre.
Finalement, la contrainte (D) permet de garder le centre de pression dans le polygone support P.
Le coût R0T L(c(t), p(t))dt + l(v˙) permet de définir le comportement souhaité du robot lors de la marche, et peut par exemple intégrer la direction et la vitesse de la marche, ou encore inclure des critères d’optimalité tel que la minimisation des changements d’accélération du centre de masse, ou toute autre tâche définie dans le chapitre 1.
En pratique, résoudre un tel problème d’optimisation demande d’explorer l’es-pace infinie des trajectoires de c et p. Pour ce ramener à un problème d’optimisation discret et fini, on peut choisir d’imposer une structure à ces fonctions et de les re-présenter par exemple pas des polynômes d’ordre fini ou encore de les discrétiser dans le temps.
Dans ce dernier cas, le problème devient:
N
minimiser X
L(ck, pk) + l(v˙)
f,v,τ,˙ c0…cN , p0…pN k=0
tel que ∀k, c¨k = ω2(ck − pk) (A) (5.2)
c¨0 = Jcomv˙ + J˙comv (B)
Mv˙ + h = Jc>f + S>τ (C)
p0 ∈ P (D)
On peut remarquer que comme les variables c et p sont liés par l’équation différentielle du pendule inverse comme imposée par la contrainte (A), on peut déterminer la valeur de c à partir de la trajectoire de p et de condition initiale. Cette propriété est utilisée dans [Sherikov 2014], où le problème d’optimisation est formulé de manière analogue à (5.2) et où la trajectoire c0…cN ne fait pas directement partie des variables d’optimisation.

Formulation couplée pour un générateur de marche

Notre approche se distingue par l’absence de discrétisation de la trajectoire p0…pN . On se rapproche de la formulation (5.1) grâce à une formulation analytique du coût intégral R0T L(c(t), p(t))dt. Pour cela on suppose une évolution du centre de pression p affine et constante par morceaux. Grâce à cette formulation, le nombre de variables du problème se trouve fortement réduit.
La section 5.3.1 présente l’intégration de la dynamique du pendule inverse pour les phases de simples et doubles supports. À partir de formes analytiques ainsi obtenues et de tâches usuelles présentées dans le chapitre 1, la section 5.3.2 présente un ensemble de coûts quadratiques qui pondérés forment un critère à optimiser pour la génération de trajectoire de marche. La section 5.3.3 discute des couplages qui peuvent être identifiés entre la commande articulaire instantanée et l’évolution du centre de pression. Le problème complet est mis en équation en section 5.3.5. Finalement, la section 5.4 présente les résultats préliminaires obtenus en simulation à l’aide de ce générateur de marche.

Table des matières

Positionnement de la thèse
0.1 Introduction
0.2 État de l’art
0.3 Contributions
0.3.1 Estimation
0.3.2 Contrôle en force
0.3.3 Contrôle en force sur contact flexible
0.3.4 Génération de consignes
1 Modèles mathématiques et génération de consigne
1.1 Introduction
1.2 Dynamique d’un robot marcheur
1.2.1 Mise en équation
1.2.2 Critère d’équilibre
1.2.3 La dynamique centroïdale
1.2.4 Pendule inverse linéarisé: un modèle simplifié du robot
1.3 Objectifs de haut niveau
1.3.1 Tâches
1.4 Génération de consignes articulaires en couple
1.4.1 Dynamique inverse dans l’espace des tâches
1.5 Conclusion
2 Perception et estimation
2.1 Introduction
2.2 Capteurs
2.2.1 Codeurs des liaisons
2.2.2 IMU
2.2.3 Capteur de force de contact
2.2.4 Couples articulaires
2.3 Filtrages
2.3.1 Dérivation
2.3.2 Intégration
2.4 Estimateurs d’état
2.5 Méthode 1: Moyennes pondérées en deux étapes
2.5.1 Estimation 6d basée sur la cinématique
2.5.2 Estimation de l’orientation via l’IMU
2.5.3 Fonctions de pondération
2.5.4 Fusionner les estimations
2.5.5 Compensation des glissements des pieds
2.6 Méthode 2: Un filtre de Kalman linéaire
2.6.1 Modèle de processus
2.6.2 Modèle de mesure
2.6.3 Pondération du bruit de modèle
2.7 Résultats
2.7.1 Vérité terrain
2.7.2 Expérience 1: Bousculement
2.7.3 Expérience 2: CoM Sinusoïdal
2.7.4 Expérience 3: Marche
2.7.5 Identification des flexibilités aux chevilles
2.7.6 Politique de mise à jour des pieds
2.7.7 Métriques
2.7.8 Temps de calcul
2.7.9 Discussion
2.8 Conclusion
3 Actionnement et asservissement articulaire
3.1 Introduction
3.2 Principaux types d’actionnement
3.3 Asservissement articulaire
3.3.1 Contrôle en position
3.3.2 Contrôle en couple
3.3.3 Contrôle en admittance
3.4 Modélisation et identification des motoréducteurs d’HRP-2
3.4.1 Modélisation
3.4.2 Identification
3.5 Commande en couple d’HRP-2
3.5.1 Compensation des frottements de coulomb
3.5.2 Amélioration de la boucle en courant
3.5.3 Résultats
3.5.4 Limitations
3.6 Conclusion
4 Contrôle d’un robot sur contacts flexibles
4.1 Introduction
4.1.1 Présentation du problème
4.1.2 État de l’art
4.1.3 Contributions
4.1.4 Structure du chapitre
4.2 Dynamique centroïdale et Contacts Flexibles
4.2.1 Modèle des Contacts Élastiques
4.2.2 Importance de la Raideur ou de l’Amortissement
4.2.3 Dynamique Centroïdale
4.3 Formulation d’un nouveau contrôleur (TSID-Flex-K)
4.3.1 Linéarisation du retour d’état
4.3.2 Régulateur par retour d’état linéaire
4.3.3 Contraintes sur les cônes de frottement
4.3.4 Résumé
4.4 Contrôle sur des contacts rigides (TSID-Rigid)
4.4.1 Présentation du contrôleur
4.4.2 Dynamique en boucle fermée
4.4.3 Dynamique en boucle fermée avec retour de force
4.5 Contrôle sur des contacts flexibles via l’amortissement (TSID-Flex-B)
4.5.1 Présentation du contrôleur
4.5.2 Dynamique en boucle fermée
4.6 Contrôle en Admittance (TSID-Adm)
4.6.1 Présentation du contrôleur
4.6.2 Dynamique en boucle fermée
4.6.3 Contrôle en admittance classique
4.7 Estimation
4.8 Résultats
4.8.1 Environnement de simulation
4.8.2 Présentation des expériences
4.8.3 TSID-Rigid
4.8.4 TSID-Adm
4.8.5 TSID-Flex-B
4.8.6 TSID-Flex-K
4.9 Discussions et Conclusions
5 Formulation d’un générateur de marche réactive
5.1 Introduction
5.1.1 Locomotion
5.2 Contrôle prédictif
5.3 Formulation couplée pour un générateur de marche
5.3.1 Évolution du pendule inverse
5.3.2 Formulation d’un coût quadratique
5.3.3 Couplage corps complet et variable MPC
5.3.4 Trajectoire adaptative du pied de vol
5.3.5 Formulation du problème couplé
5.4 Résultats
5.5 Conclusion
Conclusion
Bibliographie

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *