Brevet FR2981173A1 — publié le 20130412

Domaine technique et art antérieur L'invention s'inscrit dans le domaine de la robotique, et plus précisément dans le domaine des méthodes de commande de robots possédant un corps supporté par au moins deux jambes sur lesquels ils s'appuient et progressent. Différentes méthodes mathématiques de contrôle de la marche de tels robots ont été décrites, mais elles restent imparfaites à bien des égards au vu des nombreuses difficultés qu'un robot bipède doit surmonter pour se déplacer de manière efficace même dans un environnement simple (sol plat sans obstacle, par exemple), et a fortiori dans un environnement complexe, comprenant des escaliers par exemple. Suivant certaines approches de commande, on a fixé, d'une manière ou d'une autre, la période des pas. C'est le cas par exemple dans la divulgation du document « Online waiking motion generation with automatic foot step placement», Herdt et al., Advanced robotics, 24, 719, 2010, qui présente une utilisation de la commande prédictive pour générer une marche pour un robot bipède sur la base d'une vitesse de référence prédéfinie, d'une adaptation libre de l'emplacement du pied et de contraintes relatives au centre de pression du pied du robot au sol. Dans ce document, le modèle de robot utilisé est simple, mais toujours pour commander le robot sur la base d'une période de pas fixée, certains auteurs ont développés des modèles plus compliqués, incluant par exemple des mouvements de hanches pour rendre compte d'une dynamique complexe s'approchant de celle d'un être humain. Notamment, le document US 2008/0133053 aborde le problème de la stabilité d'un robot subissant une poussée. Le robot est modélisé par un pendule inversé incluant une roue libre pour reproduire les effets de modification de moments angulaires du corps. Les auteurs divulguent un procédé de contrôle fonctionnant par la détermination instantanée d'une position sur le sol pour un contact d'une jambe avec le sol, et d'un moment angulaire de la roue libre. Selon d'autres approches, comme par exemple dans les articles Hyon et Fujimoto IFAC Symposium on robot control 2009 et van Oort et Stramigioli IEEE international conference on Robotics and Automotion 2007, p. 4653-4660, c'est la longueur du pas qui est fixée, la durée de celui-ci étant alors variable. Mais il a également été proposé d'utiliser à la fois la durée du pas et la longueur de celui-ci comme variables de commande. Ainsi, le document « Robust physics-based locomotion using low-dimensionnai planning » Mordatch et al., ACM Transactions on graphics 2010, 29 (3) divulgue un contrôleur défini sur la base d'un modèle de pendule inversé, pour lequel les paramètres de contrôle incluent la durée du pas et la localisation du pas. Les équations de mouvement sont appliquées séquentiellement pour au moins deux pas, et sont polynomiales. La continuité des paramètres de contrôle est imposée entre deux pas consécutifs. Une optimisation sur l'ensemble d'au moins deux pas du robot est effectuée ensuite par une méthode statistique. Dans une situation sans phase de vol, la commande est calculée sur la base de deux pas, c'est-à-dire un enchainement formé d'un premier changement de pied, un déplacement, un deuxième changement de pied, un nouveau déplacement et enfin un troisième changement de pied. Une telle méthode de commande, de fait qu'elle porte sur un ensemble d'au moins deux pas, présente l'inconvénient que le calcul peut être particulièrement long à mener, ce qui nécessite une plus grande puissance informatique et diminue également la réactivité du système. L'invention vise à résoudre ces problèmes en particulier, tout en diminuant la quantité de calculs nécessaires. Résumé de l'invention L'invention consiste en un procédé de contrôle du mouvement sur un sol d'un dispositif disposant d'au moins deux jambes, comprenant - une étape d'obtention de valeurs courantes de variables d'état cinématiques du dispositif, - une étape d'optimisation, éventuellement sous des contraintes, d'une commande de déplacement pour le dispositif, en prenant en compte lesdites valeurs courantes et une consigne de variables de déplacement du dispositif, ladite optimisation étant effectuée en modélisant un déplacement du dispositif entre un état courant et un deuxième état, le dispositif s'appuyant, au cours dudit déplacement sur au moins une première jambe, puis à partir d'un instant de changement de centre de pression au sol, au moins sur une deuxième jambe, - et une étape d'application de ladite commande de déplacement, caractérisé en ce que, ladite optimisation est effectuée sous l'hypothèse que l'énergie potentielle de gravité du dispositif dans le deuxième état est, en fonction du temps, un maximum local. Ainsi, la modélisation proposée dans l'invention est basée sur un état caractéristique du cycle de marche correspondant à un maximum d'énergie potentielle. Cet état existe toujours pour des allures périodiques de marche, et n'est caractérisé que par une contrainte sur les variables d'état, comme cela sera détaillé plus loin. Cet état est l'intersection de la trajectoire du système avec une section de Poincaré, c'est à dire un sous-espace de l'espace d'états, caractérisé par une contrainte sur les variables d'état. Le procédé de contrôle permet de définir des paramètres de contrôle pour un robot bipède de manière précise et rapide, car un tel modèle de transition permet d'expliciter des équations de mouvement par un traitement analytique, notamment en utilisant à la fois le temps et la longueur de pas comme variables de commande. Notamment, le procédé de commande proposé utilise au moins deux fois moins de variables de contrôle que celui de l'art antérieur tel que présenté dans l'article de Mordatch et al. Les sections de Poincaré sont bien adaptées à l'étude de la stabilité des systèmes cycliques, et par conséquent, la modélisation du déplacement utilisée par l'invention se prête mieux à l'analyse de la commande que la modélisation considérée dans l'art antérieur, par exemple dans l'article de Mordatch et al, qui modélise le déplacement entre des états de changement de pied. En cas de contraintes imposées sur la position des pieds, ce qui a pour conséquence de ne laisser que la durée du pas comme variable de commande, il est nécessaire de considérer deux pas, c'est-à-dire deux changements de jambe d'appui entre le premier et le deuxième états, mais là encore, la commande proposée dans l'invention se prête favorablement à une analyse et à une caractérisation. Grâce à cette caractérisation, il est possible de mieux connaître la 20 commande, et notamment de définir des garanties de convergence. Il est également possible de choisir à l'avance des gains ou paramètres appropriés pour le contrôleur. On précise que l'énergie potentielle de gravité du dispositif est adaptée dans le cadre d'un modèle du dispositif. 25 Dans un modèle du dispositif, appelé « pendule linéaire inversé », un centre de masse du dispositif fait l'objet d'un forçage vis-à-vis d'un plan au cours dudit déplacement. Dans un modèle alternatif de pendule inversé, non linéaire, qualifié de modèle en « compas », les longueurs entre un centre de masse du dispositif et les pieds du dispositif sont 30 constantes. Préférentiellement, la commande de déplacement comprend une position sur le sol pour un contact d'une jambe avec le sol ou un temps pour un contact d'une jambe avec le sol, ou les deux. Selon un mode de réalisation intéressant, ladite optimisation est effectuée en utilisant un modèle de déplacement linéarisé sous l'hypothèse que le déplacement suit une trajectoire polynomiale, par exemple rectiligne ou circulaire. Les calculs sont alors considérablement simplifiés. Dans un mode de réalisation, l'optimisation est effectuée à l'aide d'un régulateur quadratique linéaire, et alternativement, elle est effectuée par inversion de modèle. D'autres caractéristiques de l'invention sont les suivantes : l'optimisation peut être effectuée en fonction d'une consigne déterminée en fonction d'une trajectoire poursuivie, et/ou en fonction d'une consigne déterminée en fonction d'une vitesse poursuivie. L'optimisation peut être effectuée sous une contrainte de respect d'un cône de frottement lors d'un contact d'une jambe avec le sol. L'optimisation peut être effectuée en fonction d'une consigne comprenant au moins une position du dispositif ou une vitesse du dispositif et/ou en fonction d'une consigne de longueur de pas moyenne, ou une période (durée) de pas moyenne. Enfin, selon un modèle, l'énergie potentielle est fonction d'une distance entre le centre de masse et un point de contact avec le sol de la jambe en contact avec le sol. L'invention consiste également en un robot humanoïde ou non humanoïde incorporant un dispositif de commande mettant en oeuvre un procédé de commande tel qu'évoqué ci-dessus. Brève description des figures Les figures 1 et 2 représentent les modèles de robot et de déplacement utilisés. La figure 3 présente un organigramme général d'un procédé selon l'invention. La figure 4 présente un premier mode de réalisation de l'invention. Les figures 5 à 7 présentent des résultats relatifs à la simulation d'un premier déplacement d'un robot selon le premier mode de réalisation de l'invention. La figure 8 présente un deuxième mode de réalisation de l'invention. Les figures 9 à 11 présentent des résultats relatifs à la simulation du même premier déplacement d'un robot selon cette fois le deuxième mode de réalisation de l'invention. Les figures 12 à 14 présentent des résultats relatifs à la simulation d'un deuxième déplacement d'un robot selon le deuxième mode de réalisation de l'invention. La figure 15 présente une variante du deuxième mode de réalisation de l'invention. Les figures 16 à 18 présentent des résultats relatifs à la simulation d'un troisième déplacement d'un robot selon le deuxième mode de réalisation de l'invention. La figure 19 présente une autre variante du deuxième mode de réalisation de l'invention. Les figures 20 à 22 présentent des résultats relatifs à la simulation d'un quatrième déplacement d'un robot selon le deuxième mode de réalisation de l'invention. Exposé détaillé de l'invention En figure 1, on a représenté, de manière schématique, le modèle physique de robot utilisé dans l'invention. Le robot 100 comprend un centre de masse 110, une jambe 120 et un pied 130. La jambe 120 relie le centre de masse 110 et le pied 130. Une deuxième jambe est également une composante du robot 100, mais elle n'est pas représentée sur la figure 1. En effet, pour le modèle mathématique modélisant le robot 100 qui va être développé ci-après, il suffit de considérer une seule jambe 120. Le robot 100 est modélisé sous la forme d'un pendule linéaire inversé. Dans l'hypothèse où l'un des pieds du robot reste en permanence au contact du sol, le système trouve une expression mathématique simple sous la forme de l'équation X - (X. - Equation 1 Z ( avec les notations suivantes - X la position du centre de masse 110 dans le plan horizontal, - Xf la position du pied 130 dans le même plan horizontal, - zc hauteur du centre de masse 110 lorsque le centre de masse 110 est à la verticale du pied 130. Dans le modèle utilisé, la trajectoire du centre de masse 110 est contrainte à rester dans un plan respectant la condition z = zc pour X = Xf. Ce plan est déterminé par les vecteurs vitesse et accélération du centre de masse en un instant initial. L'énergie potentielle du robot 100 prend alors la forme X - Xe , o étant la pulsation caractéristique du système, dépendant de g et zc. La longueur des jambes est variable. Cela est représenté sous forme d'une jambe 120 télescopique en figure 1. Alternativement, la longueur des jambes peut varier du fait de la présence d'un genou. Dans une variante, le centre de masse est contraint à rester sur une surface respectant la condition z = zc pour X = Xf. L'intégration de l'équation différentielle 1 donne le 30 comportement en fonction du temps suivant : t X u X" C 0.4t Equations 2 - sil/h L'indice 0 indique une valeur initiale à l'instant 0. La variable t représente le temps. Dans la suite de l'exposé, les coordonnées sont exprimées en fonction du changement de variable suivant, définissant de manière simple les variables d'état du système : x - 1, Equations 3. v - Le vecteur U est un vecteur de dimension 2 défini par les positions du centre de masse 110 et du pied 130. Le vecteur V de dimension 2 est quant à lui représentatif de la vitesse du centre de masse dans le plan horizontal, celle-ci étant rapportée à la pulsation. En référence à la figure 2, on a représenté le modèle de transition utilisé dans l'invention. La figure 2 représente l'évolution du système dans le temps. Trois instants sont représentés. Tout d'abord, l'instant t1, qui correspond à l'instant courant. Ensuite, un instant tp est représenté. Il s'agit d'un instant de poser d'un pied sur le sol et simultanément de perte de contact de l'autre pied avec le sol (noté changement de pied, et qui, de manière générale est simplement un changement de centre de pression au sol). Enfin, un troisième instant t2 postérieur aux instants t1 et tp est représenté. Cet instant est un instant de maximum d'énergie potentielle du système 100 (appelé apex), où la dérivée de l'énergie potentielle y est nulle, ce qui impose l'égalité UtV = 0. La durée entre les instants t1 et tp est noté T1. La durée entre les instants tp et t2 est notée T2. Le modèle de transition représenté par la figure 2 porte sur la transition d'un premier état du système 100 (instant t1) à un deuxième état du système 100, dans lequel l'énergie potentielle est maximale (instant t2), ces deux états étant séparés par un unique échange de pied au contact du sol (instant tp). Si l'on note les états de début et de fin de la transition avec des variables d'état portant les indices 1 et 2, et si on note - AXf le vecteur entre les deux localisations de poser de pied successives, - S et C les fonctions sinus et cosinus hyperboliques, respectivement, le fait que les variables d'état à l'instant de changement de pied (ou changement de centre de pression au sol) sont égales impose les équations suivantes : Equations 4 Ces équations permettent d'obtenir le modèle suivant représentant la transition entre les deux états f va = -21 Si comme indiqué précédemment, l'instant t2 est un instant de maximum d'énergie potentielle, et est donc caractérisé par la condition UtV = 0, alors si on utilise T1 et AXf comme variables de commande, l'espace de commande est de dimension 3 et le système est comma nda ble. La figure 1 représente le système 100 à l'instant t2, c'est-à-dire dans un état de maximum d'énergie potentielle, alors que le système 100 se déplace le long de la trajectoire T dans le plan P. En référence à la figure 3, on a représenté le procédé de commande selon l'invention. Ce procédé comprend tout d'abord une étape 300 de mesure des valeurs courantes 6 de variables d'état. Cela peut se faire, selon différents modes de réalisation, à l'aide de différents capteurs. Le robot décide aussi dans quel plan P il souhaite faire évoluer son centre de masse 110, en fonction des valeurs courantes a. Par ailleurs, on fixe une consigne de déplacement pour le système, et celle-ci est au cours d'une étape 310 de traitement de la consigne par un asservissement de poursuite transformée en une consigne de variables d'état Gd. La consigne de variables d'état 6 est traitée par un contrôleur s'appuyant sur le modèle de transition présenté en figure 2, au cours 10 d'une étape 320. Le contrôleur 320 produit des variables de commande V qui sont utilisées au cours d'une étape 330 pour commander le robot 100 lui-même comme modèle simple ou comme consignes pour un modèle complexe du système. Une fois la commande appliquée, le processus est recommencé 15 aux étapes 300 et 310. En référence à la figure 4, on a représenté un premier mode de réalisation détaillé de l'invention. On a, au préalable, défini une trajectoire à suivre, sous la forme d'une consigne de déplacement. Le procédé comprend tout d'abord une étape 400 de mesure 20 des valeurs courantes 6 de variables d'état. Une étape de projection 410 utilisant la consigne de déplacement permet par ailleurs la définition d'un vecteur vitesse V (consigne de variable d'état ad). La projection de l'étape 410 consiste à définir le vecteur de 25 vitesse (consigne de variable d'état G) en fonction de l'écart entre la position courante du robot 100 et une position considérée comme correspondant à cette position courante sur la trajectoire. La position du robot 100 est prise comme étant la moyenne des positions du centre de masse du robot 100 en deux états d'énergie potentielle maximum 30 successifs. La position selon la trajectoire correspondant à la position du robot 100 est prise comme étant une projection orthogonale de la position du robot 100 sur la trajectoire. En particulier quand la trajectoire est une droite, la projection est une projection orthogonale sur la droite. Quand la trajectoire est un cercle, la projection sur le cercle est effectuée suivant un rayon du cercle. Le vecteur vitesse V et les valeurs courantes 6 servent ensuite lors d'une étape 420 d'asservissement par un contrôleur s'appuyant sur un modèle de transition linéarisé, dérivant du modèle présenté ci-dessus aux équations 5. Une fois la commande appliquée au cours d'une étape 430, le processus est recommencé aux étapes 400 et 410. L'étape d'asservissement 420 effectuée par un contrôleur s'appuyant sur le modèle de transition linéarisé est effectuée en faisant des hypothèses de linéarisation selon lesquelles, selon un mode de réalisation, le déplacement du robot 100 est quasi-rectiligne, et que son allure est symétrique. Sous ces hypothèses, une solution du système d'équations 5 est donnée par Le t-, L1' 5 Equations 6 T s'écrit alors, en fonction de la système d'équations commande nominale oXf, sous la forme Equation 7 '> I ..1,T , 25 En introduisant la petite variation de la commande Xf, notée 8Xf, le système d'équations 5 s'écrit -r 7-, I fo - Equations 8. S-"T1 [ + CT, La condition UtV=0 appliquée à l'instant t2 donne l'expression suivante Equation 9. Ce traitement mathématique permet d'exprimer le modèle de transition des équations 5 sous une forme linéarisée comme indiqué ci-après ,5-(71 Sv 1 - "', - 1 ,) CT - Equations 10 Au cours de l'étape 420, le contrôleur utilisé effectue un asservissement local de type régulateur quadratique linéaire (LQR). Le modèle est modifié à chaque pas en fonction de l'état et de la commande précédente. L'initialisation du contrôleur 420 comprend une étape préliminaire 415 de calcul d'une commande nominale Tinom par un asservissement complémentaire en fonction d'une longueur de pas moyen souhaitée Stepav. Plus précisément, la durée de pas est calculée en fonction de la vitesse courante Vo de la manière suivante Equation 11 asinh En référence aux figures 5 à 7, on a représenté les résultats de déplacement d'un robot 100 utilisant le procédé de contrôle de la figure 4. La pulsation est égale à 3 s-1. La durée de pas T1 + T2 est contrainte entre 0,2 et 0,8 s et la longueur de pas AXf est contrainte entre 10 cm et 1,2 m. Les variables de commande AXf et T1 constituent les 30 variables de commande 2/: La masse du robot est de 70 kg. La consigne suivante est définie : partant d'un point de coordonnées (0 ; 0) une vitesse constante de 0,7 m.s-1 suivant la direction y est demandée au robot 100 pendant 3 s. Puis une droite perpendiculaire à la direction de la vitesse précédente doit être atteinte et parcourue à 5 une vitesse de 0,7 nn.s-1 pendant 20 s. Une perturbation latérale équivalente à 700 N pendant 0,2 s est appliquée quand le robot 100 atteint le milieu de la droite précédente. Enfin, il est demandé au robot de parcourir un cercle de rayon de 2 m à la vitesse de 0,5 m.s-1 pendant 27 s. La figure 5 présente des positions successives du centre de 10 masse 110 et du pied 130. On constate que la perturbation latérale entraîne un débord d'environ 3,5 m. En figure 6, sont représentées les vitesses horizontales suivant les deux axes. En figure 7 est représentée la durée du pas du robot au cours de son déplacement, sous la forme des représentations graphiques de T1 et de T1 + T2. 15 En référence à la figure 8, on a représenté un autre mode de réalisation de l'invention. Une étape 800 de mesure de valeurs courantes de variables d'état 6 est tout d'abord effectuée. Une consigne de variables d'état identique à celle définie à 20 l'étape 400 relative au mode de réalisation de la figure 4 est définie parallèlement au cours d'une étape de projection 810. L'étape 810 est similaire à l'étape de projection 410 du mode de réalisation relatif à la figure 4. Cette étape de projection permet le calcul d'une vitesse de 25 consigne V, et d'un vecteur de position de consigne U. Ces deux variables d'état constituant une consigne de variables d'état cd sont utilisées comme consigne pour une étape d'asservissement par un contrôleur 820. Le contrôleur utilisé s'appuie sur le modèle de transition défini aux équations 4, sous sa forme exacte, et utilise un algorithme d'inversion de modèle. Le critère d'optimisation pour l'inversion de modèle est pris égal à - - OÙ Ud et Vd sont les variables d'état désirées, et Qu et Qv sont des matrices de pondération. Dans cette optimisation, le système d'équations 5 est utilisé comme contraintes d'égalités, et la durée du pas, le positionnement du pied et les caractéristiques du sol peuvent être utilisées comme contraintes d'inégalités. Les variables extraites sont les grandeurs 1-1, T2 et AXf. L'optimisation est effectuée sur un pas du robot 100. La contrainte relative au maximum d'énergie potentielle à l'instant t2 s'écrit sous la forme ( /H U,' `,/ - AXf' Equation 12 ce qui amène à Equation 13 1 (i. o- ) (CI )- 1Xr = ILI: V 0)((` , Les variables de commande T1 et AXf (notées V) sont alors utilisées au cours d'une étape 830 pour la commande d'un modèle complexe du robot 100 ou du robot 100 lui-même. Une fois la commande appliquée, le processus est recommencé aux étapes 800 et 810. En référence aux figures 9 à 11, on a représenté les résultats du déplacement du robot 100 contrôlé par le procédé représenté en figure 8. La figure 9 représente la trajectoire du robot 100, la figure 10 représente ses vitesses horizontales suivant les deux axes et enfin la figure 11 représente la durée des pas au cours du trajet du robot. La consigne est la même que celle donnée dans le scénario des figures 5 à 7. On constate en figure 9 que le procédé utilisant un modèle non linéaire de commande permet une réponse plus rapide à la perturbation, puisque le débord latéral est inférieur à 2 m, contrairement à ce que l'on observe en figure 5. En référence aux figures 12 à 14, on a représenté les résultats relatifs à un déplacement du robot 100 commandé par un procédé selon la figure 8, mais avec cette fois-ci une consigne différente. La consigne utilisée cette fois ci est la suivante : sortant d'une vitesse nulle, le robot doit atteindre une vitesse de 0,7 m.s-1 en restant sur la droite x = 0 jusqu'au temps t = 10 s. Puis le robot doit faire marche arrière sur la même droite jusqu'à t = 14 s. Enfin, il doit suivre la droite x = 1 m à la même vitesse jusqu'à t = 24 s, instant auquel on lui demande de s'arrêter. En figure 12, on a représenté la trajectoire du robot. Les inserts constituent des agrandissements des zones où le robot fait demi-tour ou s'arrête. La figure 13 représente l'évolution de la vitesse suivant les deux axes au cours du temps. Enfin, la figure 14 représente l'évolution de la longueur de pas en fonction du temps. En figure 15, on a représenté un procédé de commande selon l'invention qui diffère de celui représenté en figure 8 par l'introduction de contraintes 1500 portant sur les variables de commande ilf liées à l'environnement dans lequel se déplace le robot. Il s'agit ici de contraintes de longueur de pas liées à la présence d'un escalier. Dans un scénario, le robot se déplace dans un escalier en suivant une ligne droite à la vitesse de 0,4 m.s-1 tandis qu'il est poussé en avant par application d'une perturbation équivalente à 175 N pendant 0,2 s, puis latéralement par application d'une perturbation équivalente à 500 N pendant 0,2 s. Les figures 16 à 18 représentent des résultats obtenus avec le procédé de contrôle suivant la figure 15. La longueur de pas est contrainte à la valeur 0,25 m suivant la direction y et le temps T1 est contraint entre 0,1 s et 0,8 s. Ainsi, par rapport aux simulations précédentes, la durée de pas peut être plus courte. La figure 16 représente le déplacement du robot 100 dans le plan. Des inserts ont été introduits pour montrer que la contrainte de longueur de pas constant suivant la direction y est respectée. La figure 17 représente l'évolution de la vitesse suivant les deux axes en fonction du temps. La figure 18 représente enfin la durée du pas du robot en fonction du temps. La figure 19 représente un procédé de commande d'un robot selon l'invention prenant en compte des contraintes 1900 portant sur les variables d'état 6. Ces contraintes sont ici liées aux caractéristiques de frottement du sol. Elles sont introduites au niveau du contrôleur 820. Ces contraintes liées aux caractéristiques de frottement du sol sont introduites sous l'hypothèse que l'instant où ces contraintes doivent être respectées est l'instant du changement de pied en contact avec le sol. Deux séries de conditions sont alors introduites dans le modèle. Elles s'expriment sous les formes suivantes. T-0 --- Vo Equations 14 Equations 15 V- dans lesquelles les exposants - et + symbolisent respectivement les instants avant et après le changement de pied en contact avec le sol. Il s'ensuit que pour que les forces de contact soient comprises dans le cône de frottement défini par le coefficient de frottement p, alors les contraintes suivantes doivent être satisfaites.30 r r1 Equations 16 Les figures 20 à 22 représentent les résultats obtenus avec le procédé de la figure 19. Le scénario de consigne donné au robot est le suivant : il doit se déplacer suivant la direction y de 0,5 m.s-1. Les contraintes d'environnement sont telles que le coefficient de frottement initialement à la valeur de 1, est modifié toutes les 5 s. passant successivement aux valeurs 0,4, 0,3 et 0,2. La figure 20 représente le déplacement du robot dans le plan. La figure 21 représente la variation des vitesses suivant les deux axes en fonction du temps. Enfin, la figure 22 représente la variation du temps de pas en fonction du temps. Le pas s'accélère quand le coefficient de frottement atteint la valeur 0,3. On précise que la commande de la figure 8 est quatre fois plus rapide que la commande de la figure 11. Celle-ci nécessite un temps de calcul de 25 ms par pas de déplacement sur un ordinateur biprocesseur, la commande ayant été programmée en langage Matlab (TM). De tels résultats permettent d'envisager l'utilisation de cette commande dans un contexte interactif, ou dans un contexte temps réel. Selon une variante, on utilise une commande basée sur l'utilisation simultanée des commandes des figures 4 et 8. Dans certains modes de réalisation, au lieu de mesurer les valeurs des variables d'état à l'étape 300, on les estime sur la base de différentes informations disponibles. Dans certains modes de réalisation, au lieu d'optimiser les variables de commande AXf et T1, on optimise des variables de commande d'un modèle complexe, en utilisant les principes présentés dans les modes de réalisation portant sur le modèle de pendule linéaire inversé. Une commande basée sur la modélisation proposée doit être constituée d'au moins deux variables de commande libres afin de garantir la stabilité du système simple. Par exemple, le temps T1 peut être imposé si la position du pied est libre à la fois en x et en y. Dans un escalier, s'il faut fixer le pas suivant la direction de l'escalier (le pas des marches), le temps T1 et la position du pied dans la direction latérale doivent être libres. Si d'autres contraintes doivent être imposées, il devient alors nécessaire de considérer plus d'un pas. Par exemple, si la position des pieds est imposée, la variable de commande T1 suffit à condition de considérer au moins deux pas successifs dans le calcul d'optimisation. L'invention ne se limite pas au mode de réalisation présenté mais s'étend à toutes les variantes de réalisation dans le cadre de la portée des revendications. Notamment, au lieu d'être modélisé sous forme d'un pendule linéaire inversé, le robot peut être modélisé sous la forme d'un système de type compas, c'est-à-dire avec un centre de masse relié à au moins deux pieds par des jambes de longueur constantes. Egalement, le robot peut disposer de plus de deux jambes, par exemple quatre jambes. Dans un mode de réalisation, il évolue avec, en permanence, une unique jambe posée et trois jambes levées. Dans un autre mode de réalisation, il évolue avec plusieurs jambes posées et une ou plusieurs jambes levées. Dans ce dernier cas, entre deux changements de jambe, le centre de pression au sol est immobile. Les changements de jambe sont donc des changements de centre de pression au sol. La notion de changement de jambe recouvre alors, outre la pose d'une jambe et la levée simultanée d'une autre jambe, la pose d'une jambe sans levée simultanée d'une autre jambe, et également la levée d'une jambe sans pose simultanée d'une autre jambe, à condition qu'une jambe reste au contact du sol en permanence.30 REVENDICATIONS1. Procédé de contrôle du mouvement sur un sol d'un dispositif (100) disposant d'au moins deux jambes (120), comprenant - une étape d'obtention (300 ; 400 ; 800) de valeurs courantes (o) de variables d'état cinématiques du dispositif, - une étape d'optimisation (320 ; 420 ; 820), sous des contraintes (1500 ; 1900), d'une commande de déplacement (qi) pour le dispositif, en prenant en compte lesdites valeurs courantes (a) et une consigne (ad) de déplacement du dispositif, ladite optimisation (320 ; 420 ; 820) étant effectuée en modélisant (Fig. 1, 2) un déplacement du dispositif (100) entre un état courant (t1) et un deuxième état (t2), le dispositif s'appuyant, au cours dudit déplacement au moins sur une première jambe, puis à partir d'un instant de changement de centre de pression au sol (tp) au moins sur une deuxième jambe, - et une étape d'application (330 ; 430 ; 830) de ladite commande de déplacement (2/), caractérisé en ce que ladite optimisation est effectuée sous l'hypothèse que l'énergie potentielle de gravité du dispositif dans le deuxième état (t2) est, en fonction du temps, un maximum local. 2. Procédé de contrôle selon la revendication 1, dans lequel le dispositif est modélisé sous forme d'un pendule linéaire inversé. 3. Procédé de contrôle selon la revendication 1 ou la revendication 2, dans lequel la commande de déplacement (2/) comprend une position (AXf) sur le sol pour un contact d'une jambe avec le sol. 4. Procédé de contrôle selon l'une des revendications 1 à 3, dans lequel la commande de déplacement (2/) comprend un temps (T1) pour un contact d'une jambe avec le sol. 5. Procédé de contrôle selon l'une des revendications 1 à 4, dans lequel ladite optimisation (420) est effectuée en utilisant un modèle de déplacement linéarisé sous l'hypothèse que le déplacement est rectiligne. 6. Procédé de contrôle selon la revendication 5, dans lequel l'optimisation (420) est effectuée à l'aide d'un régulateur quadratique linéaire. 7. Procédé de contrôle selon l'une des revendications 1 à 4, dans lequel l'optimisation est effectuée par inversion de modèle. 8. Procédé de contrôle selon l'une des revendications 1 à 7, dans lequel l'optimisation est effectuée en fonction d'une consigne (Gd) déterminée en fonction d'une trajectoire poursuivie. 9. Procédé de contrôle selon l'une des revendications 1 à 8, dans lequel l'optimisation est effectuée en fonction d'une consigne (Gd) déterminée en fonction d'une vitesse poursuivie. 10. Procédé de contrôle selon l'une des revendications 1 à 9, dans lequel l'optimisation est effectuée sous une contrainte de respect d'un cône de frottement lors d'un contact (tu) d'une jambe (120) avec le sol. 11. Procédé de contrôle selon l'une des revendications 1 à 10 dans lequel l'optimisation est effectuée en fonction d'une consigne (Gd)comprenant au moins une position du dispositif (U) ou une vitesse du dispositif (V). 12. Procédé de contrôle selon l'une des revendications 1 à 11, dans lequel l'optimisation (415) est effectuée en fonction d'une consigne de 5 longueur de pas moyen. 13. Procédé de contrôle selon l'une des revendications 1 à 12, dans lequel l'énergie potentielle est fonction d'une distance entre le centre de masse et un point de contact avec le sol de la jambe en contact avec le 10 sol. 14. Robot disposant d'au moins deux jambes et incorporant un dispositif de commande mettant en oeuvre un procédé de commande selon l'une des revendications 1 à 13.