Développement d'un logiciel d'optimisation de mouvements de robots
Développement d'un logiciel d'optimisation de mouvements de robots
Développement d'un logiciel d'optimisation de mouvements de robots
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Développement d’un <strong>logiciel</strong> d’optimisation <strong>de</strong> <strong>mouvements</strong> <strong>de</strong> <strong>robots</strong> -Validation expérimentale avec un mouvement <strong>de</strong> coup <strong>de</strong> pied du HRP-2Sylvain MiossecJRL AISTTsukuba, Japansylvain.miossec@aist.go.jpKazuhito YokoiJRL AISTTsukuba, Japankazuhito.yokoi@aist.go.jpAb<strong>de</strong>rrahmane KheddarJRL CNRSTsukuba, Japankheddar@ieee.orgAbstract— Cet article présente un <strong>logiciel</strong> conçu pourl’optimisation <strong>de</strong> <strong>mouvements</strong> <strong>de</strong> <strong>robots</strong>. Il permet pourl’instant <strong>de</strong> générer <strong>de</strong>s <strong>mouvements</strong> <strong>de</strong> structures arborescentescomplètement actionnées. Les <strong>mouvements</strong> générés satisfontune contrainte <strong>de</strong> stabilité tout en minimisant l’énergieconsommée. L’optimisation <strong>de</strong> mouvement est résolue avecle <strong>logiciel</strong> d’optimisation IPOPT. Pour obtenir une meilleureconvergence, le gradient est calculé <strong>de</strong> manière exacte. Nousavons <strong>de</strong> plus considéré les frottements articulaires, qui sontsouvent omis dans la littérature alors qu’ils ont un effetprépondérant. L’efficacité du <strong>logiciel</strong> est démontrée à traversl’exemple d’un mouvement <strong>de</strong> coup <strong>de</strong> pied pour le robot HRP-2 en considérant ses 30 <strong>de</strong>grés <strong>de</strong> liberté. Le mouvement obtenua été appliqué avec succès sur le robot réel. Nous montrons ainsique l’optimisation <strong>de</strong> mouvement est un outil puissant pourgénérer <strong>de</strong> nombreux types <strong>de</strong> <strong>mouvements</strong>, et pour prendreen compte les limitations non linéaires du système.In<strong>de</strong>x Terms— mouvent optimal, humanoï<strong>de</strong>, frottement articulaire.I. INTRODUCTIONIl existe <strong>de</strong>ux gran<strong>de</strong>s familles <strong>de</strong> métho<strong>de</strong>s pour résoudrel’optimisation <strong>de</strong> <strong>mouvements</strong> : (i) les métho<strong>de</strong>s indirectesqui consistent a appliquer le principe du maximum <strong>de</strong>Pontryagin, puis a résoudre un BVP (Boundary Value Problem)(ii) les métho<strong>de</strong>s directes qui consistent a résoudrepar optimisation paramétrique le problème discrétisé. Lesmétho<strong>de</strong>s indirectes sont plus précises et plus rapi<strong>de</strong>s, maisleur domaine <strong>de</strong> convergence est plus faible et il faut dérivermathématiquement les équations du BVP. Les métho<strong>de</strong>sdirectes s’avèrent beaucoup plus faciles d’utilisation en pratique.Les métho<strong>de</strong>s directes peuvent être classées en (i) lamétho<strong>de</strong> <strong>de</strong> collocation, (ii) la métho<strong>de</strong> <strong>de</strong> multiple-shootinget (iii) la métho<strong>de</strong> basée sur le modèle dynamique inverse.[1] et [2] ont montré que pour <strong>de</strong>s <strong>robots</strong> complètementactionnés, la métho<strong>de</strong> basée sur le modèle dynamique inverseest plus efficace.De nombreux travaux <strong>de</strong> génération <strong>de</strong> <strong>mouvements</strong> optimauxont été menés, soit pour <strong>de</strong>s avatars virtuels, voir parexemple [3] et [4], soit pour <strong>de</strong>s <strong>robots</strong>, voir par exemple[5], [6], [7]. Cependant aucun <strong>de</strong> ces travaux ne tient compteCette recherche a été menée à l’AIST/CNRS Joint Japanese-French RoboticsLaboratory (JRL) localisé à l’Intelligent Systems Research Institute,AIST Central 2, 1-1-1 Umezono, Tsukuba 305-8568, Japan, et a été supportépar une bourse <strong>de</strong> la Japan Society for the Promotion of Science (JSPS)<strong>de</strong>s frottements articulaires. Récemment [8] a montre que larégularisation <strong>de</strong>s frottement permet d’en tenir compte enutilisant les métho<strong>de</strong>s habituelles. Cependant il faut que ladiscrétisation du problème soit suffisante.Dans cet article nous avons utilise la métho<strong>de</strong> <strong>de</strong>génération <strong>de</strong> <strong>mouvements</strong> basée sur la dynamique inverse,et nous avons tenu compte <strong>de</strong>s frottements articulairesavec une régularisation. Seuls les <strong>robots</strong> arborescentscomplètement actionnes sont considérés. Nous avons calculéles composantes non nulles du gradient du modèledynamique en tenant compte <strong>de</strong>s dépendances dans lamétho<strong>de</strong> récursive <strong>de</strong> Newton-Euler. La Section II présente leproblème d’optimisation <strong>de</strong> mouvement sous forme générale.La section III présente le <strong>logiciel</strong>, les contraintes considérées,la métho<strong>de</strong> <strong>de</strong> calcul du gradient. La section IV présentel’application du <strong>logiciel</strong> au cas du coup <strong>de</strong> pied du HRP-2. La section V présente les résultats expérimentaux. Enfinnous donnons <strong>de</strong>s perspectives et concluons en section VI.II. PRÉSENTATION DU PROBLÈMELe probleme presente ici est le resultat <strong>de</strong> la discretisationdu probleme d’optimisation <strong>de</strong> mouvement non simplifie, quiest un probleme d’optimisation d’un critere dans un espace<strong>de</strong> fonctions, avec <strong>de</strong>s contraintes semi-infinies (qui ont lieusur toute la duree du mouvement).A. les contraintesL’ensemble <strong>de</strong>s contraintes sur le robot ou le mouvementpeuvent se mettre sous la forme suivantec t (q(t k ), ˙q(t k ), ¨q(t k ),u(t k )) ≤ 0 (1){cmeq (q(t k )) = 0(2)c mineq (q(t k )) ≤ 0c mt (q(t d )) = 0 (3)(1) correspond aux contraintes <strong>de</strong> limite du robotdiscrétisées aux instants t k , (2) correspond aux contraintessur le mouvement désiré discrétisées aux instants t k et (3)correspond aux contraintes sur le <strong>mouvements</strong> ayant lieuseulement a <strong>de</strong>s instant discret t d .B. La parametrisation du mouvementParmi l’ensemble <strong>de</strong>s <strong>mouvements</strong> possibles, nous considéronsceux définissant les variables articulaires q(t) par
<strong>de</strong>s fonctions paramétréesq(t) = q(p,t) (4)Ces fonctions paramétrées peuvent être <strong>de</strong>s polynômes, <strong>de</strong>sB-splines, ou tout autre base <strong>de</strong> fonctions. L’ensemble <strong>de</strong>s<strong>mouvements</strong> dans lequel <strong>de</strong>s <strong>mouvements</strong> sont recherchésest donc défini par les paramètres p.C. Problème obtenuLe problème a résoudre est alors le problèmed’optimisation paramétrique suivantmin C(q(p,t), ˙q(p,t),u(t),t f )p,t f ,t dsubject to (1), (2), (3)La comman<strong>de</strong> u(t) est calculée avec le modèle dynamiqueinverse a partir <strong>de</strong> q(p,t).III. PRÉSENTATION DU LOGICIELLe <strong>logiciel</strong> développé contient une étape <strong>de</strong> définition <strong>de</strong>scaractéristiques du <strong>mouvements</strong> désiré, et inclus les calculs<strong>de</strong>s variables articulaires comme <strong>de</strong>s B-splines, les calculs<strong>de</strong> dynamique, les calculs <strong>de</strong>s contraintes et du critère duproblème. Les gradients sont également calcules. Le <strong>logiciel</strong>inclus une interface avec le programme d’optimisationIPOPT (voir [9] pour plus <strong>de</strong> détails).Les systèmes considérés sont les chaînes cinématiquesouvertes complètement actionnées composées d’articulationsrotoï<strong>de</strong>s. Seul les systèmes avec un contact avecl’environnement sont considérés. Ce contact peut êtreunilatéral ou bilatéral.A. La base <strong>de</strong> fonctionLes fonctions parametrees consi<strong>de</strong>rees sont les B-splinesn pj(5)∑q j (p,t) = B i (t)c ij (6)i=1ou n pj est le nombre <strong>de</strong> bases <strong>de</strong> fonction, c ij est lecoefficient <strong>de</strong> l’articulation j et <strong>de</strong> la fonction <strong>de</strong> base B i (t).Les paramètres du mouvement sont alors p = {c ij | i ∈[1,N],j ∈ [1,n pj ]}. Il y a N × n pj paramètres. N estle nombre d’articulations. Un avantage <strong>de</strong>s B-splines surles polynômes est qu’elles entraînent moins <strong>de</strong> calcul <strong>de</strong>gradient.Pour un mouvement point-à-point (qui a <strong>de</strong>s vitesses etaccélérations initiales et finales nulles), nous calculons les3 coefficients initiaux et finaux <strong>de</strong>s B-splines à partir <strong>de</strong>sconfigurations initiales q init et finales q final . Il y a donc N ×(n pj − 4) paramètres donnés par p = {q init ,q final ,c ij | i ∈[1,N],j ∈ [4,n pj − 3]}.B. Calcul <strong>de</strong>s dynamiques1) Modèle dynamique considéré: Nous considérons lemodèle Lagrangien classique;u m = A(q)¨q + H(q, ˙q) (7)u m ∈ R n est le vecteur <strong>de</strong> couples articulaire, q ∈ R n , ˙q ∈R n , ¨q ∈ R n sont les positions, vitesses et accélérations articulaires,A(q) ∈ R n×n est la matrice d’inertie, et H(q, ˙q) ∈R n est le vecteur <strong>de</strong>s effets <strong>de</strong> Coriolis, centrifuges et <strong>de</strong>gravité.Nous utilisons l’algorithme <strong>de</strong> Newton-Euler qui permet<strong>de</strong> calculer u m ainsi que la force f et le moment m résultantentre le sol et la base du robot.Les frottements sont considérés dans le modèle suivant quidonne le couple u j nécessaire pour vaincre les frottements.u j = u m,j + 2u d,jπarctan( q˙jc r ) + u v,j q˙j (8)u d est le couple <strong>de</strong> frottement statique, c r est le coefficient <strong>de</strong>régularisation, u v est le coefficient <strong>de</strong> frottement visqueux.L’approximation est meilleure lorsque c r est grand.2) Gradient du modèle dynamique: Pour améliorerl’efficacité du processus d’optimisation, nous calculons lesgradients du critère et <strong>de</strong>s contraintes. La part principale estle le calcul du gradient <strong>de</strong>s couples ∂u k∂pavec le modèledynamique. Ce calcul est présenté dans [3], [10], [11].L’apport a ici été <strong>de</strong> ne pas calculer les composantes nulles<strong>de</strong>s gradients lors <strong>de</strong>s récursions <strong>de</strong> Newton-Euler. On sereportera à [12] pour plus <strong>de</strong> détail.C. Les contraintesDe nombreuses contraintes existent sur le système. Onpeut en distinguer <strong>de</strong>ux types : (i) les limitations physiquesdu système et (ii) les contraintes sur le mouvement quiservent à définir le mouvement désiré.Les contraintes physiques que nous avons considérées sontles suivantes :• les butées articulaires• les vitesses articulaires limites• les limites <strong>de</strong>s actionneurs sous forme d’une inégalitélinéaire sur u et ˙q• les contraintes <strong>de</strong> non glissement, non décollement etnon basculement du contact avec le solLes contraintes sur le mouvement qui peuvent être utiliséessont les suivantes :• <strong>de</strong>s contraintes égalité <strong>de</strong> position <strong>de</strong> corps du robot à<strong>de</strong>s instants donnés• <strong>de</strong>s contraintes inégalité <strong>de</strong> position <strong>de</strong> corps du robottout au long du mouvement• <strong>de</strong>s contriantes égalité <strong>de</strong> l’orientation <strong>de</strong> corps à <strong>de</strong>sinstants donnés• <strong>de</strong>s articulations figées durant tout le mouvementD. Le critère considéréPour l’instant nous avons seulement implémenté un critèreénergétique. Mais d’autres critères seraient très simple àimplémenter (comme le temps minimum <strong>de</strong> mouvement).Le critère énergétique considéré tiens compte <strong>de</strong>s pertespar frottement et dans les résistances <strong>de</strong>s moteurs. Il rendcompte du fait que l’énergie restituée par les moteurs peut
être stockée pour être réutilisée. Ce critère est donné parC( ˙q,u,t f ) =∫ tft 0N∑j=12R j u jKem,j2 + u j ˙q j dt (9)où R j est la résistance moteur et K em,j la constante électromotricepour le moteur <strong>de</strong> l’articulation j.IV. ÉTUDE DE CASNous avons appliqué le <strong>logiciel</strong> présenté précé<strong>de</strong>mmentpour la génération d’un mouvement <strong>de</strong> coup <strong>de</strong> pied durobot HRP-2. Les paramètres dynamiques du modèle utiliséviennent du modèle CAO du robot, mais nous avons i<strong>de</strong>ntifiéles paramètres du modèle <strong>de</strong> frottement articulaire.In section IV-A we present how the <strong>de</strong>sired motion is<strong>de</strong>fined, and in section IV-B we present the optimal motionobtained and some characteristics of the process of motiongeneration.A. Définition du mouvement désiréDans la perspective d’un coup <strong>de</strong> pied réel, nous aurionsdéfini le mouvement par une vitesse du pied donnée à uneposition donnée. Pour démontrer l’efficacité <strong>de</strong> notre <strong>logiciel</strong>,nous nous sommes pour l’instant contenté d’un mouvementdéfini par une position initiale et une position finale du pied.Pour éviter l’auto-collision, nous avons réglé à la main <strong>de</strong>scontraintes inégalité sur la position <strong>de</strong>s corps en collisions.Pour une implémentation réelle, nous avons également ajoutéune contrainte sur la flexion <strong>de</strong> la jambe <strong>de</strong> support. Eneffet le robot possè<strong>de</strong> <strong>de</strong>s flexibilités dans les pieds dont ladéformation est compensée par un stabilisateur. Or à l’heureactuelle, le stabilisateur ne permet pas d’avoir la jambe<strong>de</strong> support tendue. Nous avons considéré ce coup <strong>de</strong> piedcomme un mouvement point-à-point avec les configurationsinitiales et finales libres. C’est-à-dire que ces configurationssont optimisées en même temps que le mouvement.B. Résultats <strong>de</strong> l’optimisationNous avons choisi arbitrairement 9 coefficients <strong>de</strong> B-splines par articulation, ce qui nous donne un total <strong>de</strong>n p = 151 paramètres d’optimisation. Nous avons considéré61 points <strong>de</strong> discrétisation pour le calcul du critère et 13points <strong>de</strong> discrétisation pour la vérification <strong>de</strong>s contraintes.Le mouvement <strong>de</strong> coup <strong>de</strong> pied obtenu est présenté fig. 1.Le tableau I présente les temps <strong>de</strong> calculs et les critèresobtenus pour les <strong>de</strong>ux situations avec et sans la contrainte <strong>de</strong>flexion <strong>de</strong> la jambe <strong>de</strong> support. Nous obtenons relativementrapi<strong>de</strong>ment un mouvement optimisé. Nous pouvons constaterque le mouvement genou plié consomme environ 2 foisplus d’énergie que le mouvement jambe tendue. Pour uneimplémentation énergétiquement rentable le robot <strong>de</strong>vraitdonc pouvoir avoir les jambes tendues. Nous voyons quela plupart du temps <strong>de</strong> calcul est dû à l’évaluation du critèreet <strong>de</strong>s contraintes et <strong>de</strong> leurs gradients. Ces calculs sontfortement parallélisables et pourraient gran<strong>de</strong>ment bénéficier<strong>de</strong>s nouvelles architectures <strong>de</strong> calcul parallèles.TABLE IRÉSULTATS D’OPTIMISATION DE MOUVEMENT, AVEC ET SANS LACONTRAINTE DE JAMBE FLÉCHIE.?ouvement avec jambe fléchie sans jambe fléchieNombre288 358d’itérationsTemps total 1min 13s 1min 28sTemps IPOPT 12,4s 14,1sTemps critère et 60,6s 73,9scontraintesCritère optimisé 661,7 kJ 375.5 kJV. RÉSULTATS EXPÉRIMENTAUXSeul le mouvement avec le genou plié a pu êtreimplémenté <strong>de</strong> manière stable sur le robot. La fig. 1 présentele mouvement expérimenté <strong>de</strong> manière stable sur le robot.Nous avons pour l’instant seulement implémentéexpérimentalement les <strong>mouvements</strong> optimaux que nousavions générés sans les frottements articulaires i<strong>de</strong>ntifiés.Pour ce mouvement optimisé sans les frottements articulairesi<strong>de</strong>ntifiés, l’énergie théorique dépensée avec lesfrottements articulaires i<strong>de</strong>ntifiés est <strong>de</strong> C th = 4893kJ.Cet écart avec la valeur du critère optimisé montre bienl’importance <strong>de</strong> prendre en compte les frottements articulaires.Cet écart important s’explique aussi en partie par lefait que le mouvement optimisé sans les frottements articulairesest plus rapi<strong>de</strong>, et que l’effet <strong>de</strong>s frottements flui<strong>de</strong>sest donc important. L’énergie dépensée calculée à partir<strong>de</strong>s estimations <strong>de</strong> courant lors <strong>de</strong> l’expérimentation est <strong>de</strong>C exp = 9356kJ. La différence avec C th est essentiellementdue à la modification du mouvement par le stabilisateurpour compenser la déformation <strong>de</strong> la flexibilité du pied. Lafig. 2 qui présente les positions et vitesses du mouvement<strong>de</strong> référence, <strong>de</strong>s consignes (modifiées par le stabilisateur)et mesurées, permet <strong>de</strong> juger <strong>de</strong> l’effet du stabilisateur et <strong>de</strong>la qualité <strong>de</strong> la comman<strong>de</strong> proportionnelle dérivée pour lesuivi <strong>de</strong> mouvement.angle [<strong>de</strong>g]vitesse [rad/s]Fig. 2.3020100mouvement optimalconsignemesure−100 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.910−1−2−3−40 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9temps [s]Position et vitesse <strong>de</strong> l’articulation en lacet <strong>de</strong> la hanche droitePour juger <strong>de</strong> l’effet <strong>de</strong> la flexibilité sur la stabilité dumouvement, nous présentons fig. 3 les ZMP théorique et
Fig. 1.Coup <strong>de</strong> pied optimisé et validation expérimentale.mesuré. Nous voyons clairement que la trajectoire du ZMPobtenue est très différente du fait <strong>de</strong> la flexibilité, mais ellereste dans le pied, grâce au stabilisateur.0.080.060.040.020−0.02−0.04foot edgesexperimental ZMPtheoretic ZMP−0.06−0.1 −0.05 0 0.05 0.1 0.15Fig. 3.ZMP théorique et expérimental.VI. CONCLUSIONDans cet article, nous avons présenté un <strong>logiciel</strong> pourl’optimisation <strong>de</strong> <strong>mouvements</strong> pour <strong>de</strong>s <strong>robots</strong> sans chaînesfermées. Nous avons démontré l’efficacité <strong>de</strong> la métho<strong>de</strong> surl’exemple d’un mouvement <strong>de</strong> coup <strong>de</strong> pied du robot HRP-2. Ce mouvement a été implémenté sur le robot réel avecsuccès. Nous avons montré l’importance <strong>de</strong> considérer lesfrottements articulaires. Nous avons également pu constaterl’effet <strong>de</strong> la flexibilité, compensée par le stabilisateur, surle mouvement du robot réel. Nous allons à l’avenir tenircompte <strong>de</strong> cette flexibilité pour obtenir un mouvement réelplus proche <strong>de</strong> ce qui est obtenu en optimisation.REFERENCES[1] O. V. Stryk, “Optimal control of multibody systems in minimalcoordinates,” in Proceedings of the Annual GAMM Conference, 1997.[2] M. C. Steinbach, “Optimal motion <strong>de</strong>sign using inverse dynamics,”Tech. Rep., 1997.[3] J. Lo, G. Huang, and D. Metaxas, “Human motion planning basedon recursive dynamics and optimal control techniques,” MultiboldySystem Dynamics, vol. 8, pp. 433–458, 2002.[4] A. Safonova, J. Hodgins, and N. Pollard, “Synthesizing physicallyrealistic human motion in low-dimensional, behavior-specific spaces,”ACM Transactions on Graphics, vol. 23, no. 3, pp. 514–521, August2004.[5] M. Hardt, K. Kreutz-Delgado, and J. W. Helton, “Optimal bipedwalking with a complete dynamical mo<strong>de</strong>l,” in Proceedings of the38th IEEE Conference on Decision and Control, 1999.[6] C. Chevallereau and Y. Aoustin, “Optimal reference trajectories forwalking and running of a biped robot,” Robotica, vol. 19, pp. 557–569, 2001.[7] J. Denk and G. Schmidt, “Synthesis of a walking primitive database fora humanoid robot using optimal control techniques,” in Proceedingsof IEEE-RAS International Conference on Humanoid Robots, 2001,pp. 319–326.[8] D. E. Stewart and M. Anitescu, “Optimal control of systems withdiscontinuous differential equations,” submitted, 2006.[9] A. Wachter and L. T. Biegler, “On the implementation of a primaldualinterior point filter line search algorithm for large-scale nonlinearprogramming,” Mathematical Programming, vol. 106, no. 1, pp. 25–57, 2006.[10] G. Sohl, “Optimal dynamic motion planning for un<strong>de</strong>ractuated <strong>robots</strong>,”Ph.D. dissertation, University of California, 2000.[11] S.-H. Lee, J. Kim, F. Park, M. Kim, and J. Bobrow, “Newton-typealgorithms for dynamics-based robot movement optimization,” IEEETransactions on Robotics, vol. 21, no. 4, August 2005.[12] S. Miossec, K. Yokoi, and A. Kheddar, “Development of a softwarefor motion optimization of <strong>robots</strong> - application to the kick motionof the hrp-2 robot,” in Proceedings of the 2006 IEEE InternationalConference on Robotics and Biomimetics, Kunming, 2006.