Projet : BIP

previous up next contents
Précédent : Biomécanique et robotique : évaluation de Remonter : Résultats nouveaux Suivant : Perception et simulation


Sous-sections


   
Modélisation et commande



Participants : B. Espiau, B. El Ali, P.-B. Wieber.

Commande d'un robot plan par fonction de tâche avec contraintes unilatérales

Les travaux de thèse de F. Génot [[8]] portaient sur la modélisation des systèmes de corps rigides avec contraintes unilatérales. Les robots marcheurs peuvent être considérés comme des bons exemples de ces systèmes. Ici, les contraintes concernent les forces normales et tangentielles de contact, et leur gestion, d'une part conditionne le changement de mode du robot (passage par exemple de la phase de simple support à la phase de double support) et d'autre part est nécessaire pour garantir la stabilité de sa marche. Un prolongement naturel de ce travail était d'utiliser les résultats de modélisation obtenus (condition nécessaire et suffisante de maintien du mode) pour concevoir une commande garantissant le respect de ces contraintes. Nous avons pour cela considéré un modèle de marcheur plan à 7 degrés de liberté, dont 4 articulations actionnées. La commande proposée est du type linéarisation/découplage par feedback partiels, avec une fonction de sortie de dimension 3. Celle-ci a pour objectif, d'une part de réaliser l'avance à vitesse constante du centre de masse du robot tout en le maintenant à une hauteur donnée, d'autre part de conserver les yeux (tête virtuelle du robot) également à une hauteur constante. L'ensemble est projeté sur les contraintes géométriques, modélisées à ce niveau comme bilatérales. La dimension de commande restante est exploitée par résolution d'un problème d'optimisation quadratique à chaque instant qui calcule la commande d'énergie minimale respectant les contraintes unilatérales. Ce travail a donné lieu à la publication [[20]].

Étude du centre de masse d'un robot marcheur et de sa commande

Modélisation

Contrairement à ce qui se passe pour les robots manipulateurs à base fixe, la position du centre de masse d'un robot marcheur est une variable d'importance majeure. Dans les robots quadrupèdes ou hexapodes, on cherche par exemple à planifier les trajectoires des pattes de façon à garantir que le centre de masse reste à la verticale du polygone de sustentation ; pour un robot bipède on cherchera à contrôler celui-ci à chaque instant pour maintenir la stabilité statique en cas de changement de posture ou de marche à faible vitesse (montée d'escaliers ou de plan incliné par exemple). En cherchant à obtenir une méthode systématique d'analyse et de calcul de la position du centre de gravité, nous avons pu montrer qu'il existait une équivalence cinématique complète entre les coordonnées tridimensionnelles du centre de gravité d'une structure arborescente quelconque et la position du point terminal d'une chaîne simple dont les paramètres géométriques dépendent de la distribution massique du système original et dont les variables de configuration sont une fonction invariante simple des variables de la chaîne originale. Ce résultat nous permet ainsi d'``hériter'' de toute la panoplie algorithmique existante pour le calcul du jacobien, de l'espace de travail, des singularités, etc. Une application de ce travail au calcul de postures pour l'animation a été réalisée en collaboration avec un chercheur de l'École Polytechnique Fédérale de Lausanne [[28]].

Marche statiquement stable d'un robot bipède à 7 degrés de liberté

On s'intéresse ici à l'étude et au contrôle de la marche statiquement stable. La stabilité statique consiste à maintenir la projection verticale du centre de masse du robot à l'intérieur de la surface de sustentation. La marche statique peut être ainsi assimilée à une succession de postures stables. Généralement ce genre de mouvement s'effectue à une vitesse assez réduite pour diminuer l'effet de l'inertie.

La nature périodique de la marche humaine nous permet de réduire notre étude à celle d'un seul cycle de marche. Nous considérons les deux phases de base du cycle (cf section  3.1.2) :

Nous nous intéressons seulement au mouvement dans le plan sagittal. Le modèle du robot utilisé comprend 7 éléments dont deux jambes et un tronc. Chaque jambe est constituée d'un pied, d'une jambe et d'une cuisse. Tous les éléments sont liés entre eux par des articulations rotoïdes à un degré de liberté.

Les schémas de commande proposés sont basés sur le formalisme des fonctions de tâches [[6]]. La fonction de tâche que nous avons utilisée, est la combinaison d'une tâche principale permettant de contrôler l'allure de la marche et d'une tâche secondaire qui a pour but de contrôler le centre de masse.

Pour définir l'allure du mouvement des pieds, nous avons décrit par des polynômes temporels les trajectoires des pieds et de la hanche. Les ordres de ces polynômes dépendent des conditions sur les positions initiales et finales. Pendant la phase de simple support, nous contrôlons le pied de support afin qu'il reste en contact permanent avec le sol. Le pied de balancement effectue un pas vers l'avant en suivant des trajectoires polynômiales d'ordre 3. Dans la phase de double support, un mouvement de commutation de support est réalisé par une rotation du pied de support autour des orteils et d'une rotation de l'autre pied autour du talon. Pendant cette phase la hanche garde une hauteur constante.

La structure redondante de notre modèle permet de trouver plusieurs solutions au problème de la cinématique inverse. Cela revient à effectuer un suivi correct des trajectoires de référence mais avec un mouvement global peu réaliste. Pour éviter ce genre de problème, la tâche principale va comprendre une sous-tâche de suivi de trajectoire et une sous-tâche d'évitement des limites articulaires, ce qui permet de réduire l'espace de configuration de notre modèle [[19],[18]].

D'autre part, le contrôle du centre de masse va se faire par la minimisation d'une fonction V permettant d'élargir la surface de sécurité autour d'un point $ \tilde{X}_{c}^{}$.

V = $\displaystyle {\textstyle\frac{1}{2}}$(Xc - $\displaystyle \tilde{X_c}$)TW(Xc - $\displaystyle \tilde{X_c}$)
En général, cette tâche va principalement agir sur l'orientation du tronc. La figure  2 représente les résultats des simulations sur deux cycles de marche du modèle étudié.
  
Figure 2: Marche statiquement stable
\begin{figure} \centerline{ \epsfxsize=8cm \epsfbox{walking.epsi} }\end{figure}

   
Étude de la stabilité instantanée

Pendant son séjour aux USA, A. Goswami a poursuivi un travail entrepris sur le problème de la rotation du pied dans les robots bipèdes durant la phase de simple support, en relation avec l'analyse classique du ZMP (Zero Moment Point). La rotation non contrôlée du pied est une indication de l'instabilité posturale ; elle doit donc être considérée avec attention dans la marche dynamiquement stable, et évitée dans le cas statiquement stable.

Dans un but d'analyse, il a donc été défini un indicateur de rotation du pied (FRI), qui est un point de la surface de contact pied/sol où la force globale de réaction devrait s'exercer pour garder le pied stationnaire. Pour éviter toute rotation, le FRI doit rester à l'intérieur du polygone convexe de sustentation. Contrairement à la projection du centre de gravité, qui demeure un indicateur statique, le FRI intègre la dynamique du robot. Si l'on compare à présent au centre de pression (CP), plus connu sous le nom de ZMP dans la littérature robotique, et qui ne peut quitter l'aire de support, le FRI peut ne pas se situer dans celle-ci. Il peut ainsi être utilisé pour surveiller l'``état'' de stabilité du robot tout au long du cycle ou quantifier la sévérité d'une instabilité passagère. Au passage, les concepts de ZMP et de centre de pression, souvent ambigus dans la littérature, ont été également clarifiés.

Commande d'un double pendule sous-actionné

En relation avec l'étude d'une orthèse destinée à améliorer la flexion du genou (cf section 6.1), nous avons réalisé un dispositif mécanique destiné à étudier expérimentalement la marche balistique d'un point de vue de l'automatique. Il s'agit d'un double pendule, de géométrie et de masse réglables, mais proches de celles de l'homme. Le système est actionné seulement à la ``hanche'', dont l'axe de rotation est fixe par rapport au sol. L'articulation du ``genou'' est munie d'un ressort de rappel selon une structure identique à celle de l'orthèse déjà évoquée. Les positions des deux articulations, qui ne possèdent pas de butées mécaniques, sont mesurées. L'extrémité de la jambe est équipée d'un petit ressort/amortisseur linéaire de façon à réaliser un pied télescopique permettant un passage à la verticale jambe tendue. Enfin, un tapis roulant va nous permettre de simuler le déplacement longitudinal de l'ensemble (figure  3).


  
Figure 3: Deux phases d'un pas du double pendule inversé
\begin{figure} \centerline{ \mbox{ \epsfxsize=5cm \epsfbox{swing.ps} } \mbox{ \epsfxsize=5cm \epsfbox{extension.ps} }}\end{figure}

Une première étude sur ce système sous-actionné a consisté à concevoir une commande en commutation permettant au système de ``marcher'', c'est-à-dire d'enchaîner :

- une phase balistique de balancement, dans laquelle la jambe arrive tendue à son maximum d'extension, pour un angle de hanche donné, en un temps donné, en partant d'une condition initiale stable et sans toucher le sol ;

- une phase de support, pendant laquelle la jambe reste tendue, depuis le contact talon jusqu'au décollé du pied.

Les techniques utilisées sont classiques : découplage et linéarisation partiels par feedback, avec projection sur les contraintes pendant la phase de support. La trajectoire de référence de la phase de balancement est calculée de façon à ce que le seul paramètre à régler soit l'accélération terminale de l'angle de la hanche. Le système fonctionne grâce aux effets dynamiques et à la commutation en temps très court des commandes. La qualité de l'implantation temps réel est ainsi primordiale et nous avons donc réalisé celle-ci sous ORCCAD (cf section  5) [[29]].

Commande viable d'un système à contraintes unilatérales

La grande différence entre les robots marcheurs et les autres systèmes robotiques provient de l'intermittence des contacts du robot avec son environnement. Cette intermittence promet une grande flexibilité de locomotion en milieu déstructuré, mais c'est elle également qui implique un comportement dynamique radicalement différent de celui des robots classiques. Le contact avec le sol peut être modélisé par un ensemble de contraintes unilatérales, qui peuvent être réunies en un LCP, Problème de Complémentarité Linéaire [[8]]. L'étude de ce LCP amène à considérer une stratification [GB] de l'espace d'états, chaque strate traduisant un état donné du LCP, c'est-à-dire un état donné de la dynamique de contact : un ou deux pieds au sol, pieds en glissement ou en adhérence... Or la spécification de la marche prévoit un cycle précis de strates : levé de talon gauche, posé de talon droit, posé d'orteil droit, levé d'orteil gauche, levé de talon droit, posé de talon gauche, posé d'orteil gauche, levé d'orteil droit, et tout ceci sans glissement. Le suivi de cette référence stratifiée implique des conditions nécessaires sur la commande.

Ces conditions, sous la forme d'un ensemble d'égalités et d'inégalités, amènent à considérer le système dynamique sous la forme d'une inclusion différentielle. A cette inclusion différentielle peut être associé un noyau de viabilité [Aub91], correspondant à l'ensemble des états permettant de conserver l'équilibre du robot. La comparaison qualitative de ce noyau avec le bassin d'attraction d'une commande de suivi de trajectoire permet de comprendre pourquoi les lois de commande proposées jusque-là, principalement à base de suivi de trajectoire, n'offrent pas des résultats suffisants. Ainsi, lorsque le robot dévie de la trajectoire de référence, il peut sortir du bassin d'attraction du suivi de trajectoire et dès lors commencer à diverger, alors même qu'il n'est pas encore sorti du noyau de viabilité. La solution proposée consiste à ne plus considérer une trajectoire de référence unique, mais un sous-ensemble de dimension plus élevée, permettant un meilleur recouvrement du noyau par le bassin d'attraction. En opérant de cette manière, on relâche un certain nombre de degrés de liberté dans le comportement du robot, permettant une meilleure utilisation de la dynamique du robot à des fins de stabilisation et de réduction de la consommation énergétique.

Il a ensuite été montré qu'un sous-ensemble de référence peut être relié à un modèle de l'environnement : en influant sur ce modèle, on peut influer sur le sous-ensemble de référence, et en particulier sur sa dimension. Une étude des modèles de sol a montré qu'une référence de dimension 5 au minimum est nécessaire pour une flexibilité suffisante du moyen de locomotion vis-à-vis d'un environnement déstructuré. Une telle dimension est encore accessible à des moyens numériques : une méthode a été proposée, s'appuyant principalement sur des techniques d'optimisation. Tous ces résultats font l'objet d'un rapport de recherche en cours de rédaction [[31]].

Enfin, une première étude des méthodes numériques de génération de trajectoires optimales pour un système à dynamique variable a fait l'objet du stage de DEA de Y. Lestrat en collaboration avec le laboratoire de modélisation et calcul de l'université Joseph Fourier et Claude Lemaréchal, responsable du projet NUMOPT [[33]]. Une collaboration a également été entamée avec Bernard Brogliato, chargé de recherche CNRS du laboratoire d'automatique de Grenoble pour étudier la commande optimale en présence de contraintes unilatérales.



previous up next contents
Précédent : Biomécanique et robotique : évaluation de Remonter : Résultats nouveaux Suivant : Perception et simulation