Download - Thesis Nacho

Transcript

Ecoledoctoralesyst`emesCommandedesbrasmanipulateursetretourvisuelpourdesapplications`alarobotiquedeserviceTH`ESEpresentee et soutenue publiquement le 28 septembre de 2007pour lobtention duDoctoratdelUniversiteToulouseIII(specialiterobotique)parIgnacioHerreraAguilarCompositiondujuryPresident : Wisama Khalil ProfesseurEcole Centrale de NantesRapporteurs : Philippe Fraisse MCF HDR, LIRMMNicolas Andre MCF HDR, LASMEA IFMAExaminateurs : Rachid Alami Directeur de recherche CNRS, LAAS-CNRSWalter Rubio Professeur UPSDirecteur de th`ese : Daniel Sidobre MCF UPSLaboratoiredAnalyseetdArchitecturedesSyst`emestel-00199179, version 1 - 18 Dec 2007tel-00199179, version 1 - 18 Dec 2007RemerciementsLes travaux prsents dans ce mmoire ont t effectus dans lquipe de Robotique et dIntelligenceArticielle du Laboratoire dAnalyse et dArchitecture des Systmes du CNRS Toulouse. Jadressemes remerciements Monsieur Malik Ghallab et Monsieur Raja Chatila, Directeurs successifs du Labo-ratoire, pour mavoir accueilli dans cet tablissement. Jexprime galement mes remerciements Mon-sieur Gerard Authie et Madame Caroline Berard, Directeurs successifs de lcole doctorale Systmes.Mes remerciements vont galement mes rapporteurs Monsieur Philippe Fraisse et Monsieur NicolasAndreff. Je les remercie pour le soin avec lequel ils ont lu ce manuscrit, ainsi que pour la qualit de leurscritiques. Je remercie Monsieur Wisama Khalil et Monsieur Walter Rubio davoir accept de participer ce jury de these.Je souhaite remercier mon encadrant Daniel Sidobre, matre de Confrence lUniversit Paul Sa-batier, pour lattention et la patience quil a portes au bon droulement de ma thse, pour les conseilsquil ma donn, pour le temps quil ma consacr et pour tous les problmes quil a surmont pour queje puisse arriver ce niveau.Jexprime galement ma reconnaissance Rachid Alami, responsable du groupe RIS et mon compa-gnon de bureau, pour tous ses enseignements, ses conseils et son amiti.Je voudrais galement remercier Sarah Fleury et Matthieu Herrb pour leur aide technique irrempla-able qui ma permis de faire bouger le bras. Jrme, Patrick, Xavier et Christian pour le supporttechnique.Oublier ceux qui mont inspir ou ceux qui mont servi de modles serait inqualiable, un grandmerci pour tous les chercheurs et mes professeurs en France et au Mexique.Je tiens adresser des remerciements plus dcontracts, mais nanmoins chaleureux et sincres, auxautres doctorants, anciens doctorants et stagiaires du laboratoire. Un remerciement spcial Xavier B.pour son aide.Enn, en prenant le risque doublier des personnes qui ont largement contribu rendre mon sjouren France plus facile et plus amical, un grand MERCI Aurelie (Jefa), Julien et Thierry (Francesito). Paulo, (An)Akin et Wael (Wallito) pour les bons moments passs au Portugal.Me siento obligado a agradecer a toda la comunidad castellano-parlante por todo lo pasado juntos.Citar tan slo los nombres seria una pena por no describir los recuerdos, otra vez gracias a todos. Sinembargo, Joan gracias por tu amistad y por toda la ayuda en el desarrollo de este trabajo. Claudia, graciaspor todo, hermanita. Leo, espero que nos veamos en Colombia. Jib y Antonin, los primeros mexicanitos,muchas gracias por toda la ayuda. A Beto, Memo y familia, Gabriel y familia, Sergio y familia, Joely familia, Gerardo y familia, Too y familia, gracias por permitirme sentirme como en casa. Gustavo,Maggie, Efran, Gibran y Amrica, gracias. Edoard, cuado, y Luis, hermano, gracias totales.Este trabajo no pudo haberse realizado sin el apoyo del COSNET, DGEST y del Tecnolgico deOrizaba.Finalmente, a mi familia y seres queridos, gracias por todo el apoyo.itel-00199179, version 1 - 18 Dec 2007iitel-00199179, version 1 - 18 Dec 2007Al nano11Mi hermano QEPDiiitel-00199179, version 1 - 18 Dec 2007ivtel-00199179, version 1 - 18 Dec 2007Table des matiresListe des gures ixIntroduction xiiiChapitre 1Contexte de ltude1.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Planication de chemin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Commande des bras manipulateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3.1 Commande dans lespace libre. . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3.2 Commande dans lespace contraint . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Gnration de trajectoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4.1 Gnration de trajectoires en temps minimal par optimisation . . . . . . . . . . 61.4.2 Gnration de trajectoires par satisfaction des contraintes cinmatiques . . . . . 61.4.3 Gnration de trajectoire en ligne . . . . . . . . . . . . . . . . . . . . . . . . . 71.5 Asservissement Visuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.5.1 Asservissement en boucle ouverte . . . . . . . . . . . . . . . . . . . . . . . . . 91.5.2 Asservissement en boucle ferme . . . . . . . . . . . . . . . . . . . . . . . . . 91.6 La commande dun bras manipulateur pour la robotique de service . . . . . . . . . . . . 10Chapitre 2Commande des bras manipulateurs2.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Gnralits sur la slection de la loi de commande . . . . . . . . . . . . . . . . . . . . . 142.2.1 Dnition de la Situation de lorgane terminal . . . . . . . . . . . . . . . . . . . 142.2.2 Modles Directs du robot manipulateur . . . . . . . . . . . . . . . . . . . . . . 152.3 Asservissement des articulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.1 La commande classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.3.2 La commande par ordinateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . 16vtel-00199179, version 1 - 18 Dec 2007Table des matires2.3.3 Exemple 1 : Changement de type dasservissement . . . . . . . . . . . . . . . . 182.3.4 Exemple 2 : Changement du type dasservissement avec consigne calcule deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.3.5 Exemple 3 : Schma avec signal danticipation . . . . . . . . . . . . . . . . . . 202.4 Asservissement dans lespace cartsien . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4.1 Commande rsolution de vitesse par retour de quaternion. . . . . . . . . . . . 212.4.2 Commande au voisinage des positions singulires . . . . . . . . . . . . . . . . . 232.4.3 Rsultats de simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Chapitre 3Gnration des mouvements souples3.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Chemins et Trajectoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 Mthode de base pour les mouvements souples . . . . . . . . . . . . . . . . . . . . . . 303.3.1 Mouvement lmentaire jerk maximal . . . . . . . . . . . . . . . . . . . . . . 313.3.2 Mouvement lmentaire acclration maximale . . . . . . . . . . . . . . . . . 313.3.3 Mouvement lmentaire vitesse maximale. . . . . . . . . . . . . . . . . . . . 323.3.4 Mouvement souple sept segments . . . . . . . . . . . . . . . . . . . . . . . . 323.3.5 Systme dquations du mouvement souple sept segments . . . . . . . . . . . 333.4 Rsolution du systme dquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.4.1 Premier seuil DS1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.2 Mouvement point point cinq segments . . . . . . . . . . . . . . . . . . . . . 373.4.3 Deuxime seuil DS2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.4 Mouvement point point trois segments. . . . . . . . . . . . . . . . . . . . . 373.4.5 Algorithme pour le mouvement point point . . . . . . . . . . . . . . . . . . . 383.5 Mouvements en temps impos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.6 Mouvements conditions initiales et nales quelconques . . . . . . . . . . . . . . . . . 393.6.1 Mouvements lmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.6.2 Les trois types de mouvements lmentaires optimaux . . . . . . . . . . . . . . 403.6.3 Dplacements optimaux dans le plan acclration-vitesse. . . . . . . . . . . . . 423.7 Mouvement multidimensionnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.7.1 Mouvement point point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.7.2 Trajectoire continue en dimension N sur un chemin dni . . . . . . . . . . . . 473.7.3 Considrations sur la gnration du mouvement. . . . . . . . . . . . . . . . . . 513.7.4 Contraintes non homothtiques . . . . . . . . . . . . . . . . . . . . . . . . . . 573.8 Considrations sur les applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60vitel-00199179, version 1 - 18 Dec 20073.8.1 Cas du bras manipulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.8.2 Cas du manipulateur mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.9 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Chapitre 4Retour Visuel4.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.2 Modle dune camra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.2.1 Matrice de projection perspective . . . . . . . . . . . . . . . . . . . . . . . . . 694.2.2 Transformation afne camra/image. . . . . . . . . . . . . . . . . . . . . . . . 704.2.3 Paramtres intrinsques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2.4 Paramtres extrinsques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.3 Graphe du systme avec camra embarque . . . . . . . . . . . . . . . . . . . . . . . . 714.4 Asservissement Visuel 2D partag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.2 Schma de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.3 Loi de commande partage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4.4 Avantages et inconvnients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.5 Asservissement Visuel 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.5.2 Reconstruction 3D stro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.5.3 Schma de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.5.4 Avantages et inconvnients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.6 Localisation dun objet et auto-calibration main/camra ou hand-eye . . . . . . . . . 794.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.6.2 Schma de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.6.3 Avantages et inconvenants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Chapitre 5Rsultats exprimentaux5.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.2 Architecture logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.3 Mouvement point point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.3.1 Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.3.2 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.4 Mouvement continu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89viitel-00199179, version 1 - 18 Dec 2007Table des matires5.5 Asservissement visuel partag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.6 Guidage visuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.7 Auto-calibration Hand-Eye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Conclusions 97Annexes 99Annexe A Coordonnes Oprationnelles 99A.1 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99A.1.1 Coordonnes cartsiennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99A.1.2 Coordonnes cylindriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A.1.3 Coordonnes sphriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A.2 Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A.2.1 Angles de Bryant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A.2.2 Angles dEuler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A.2.3 Matrice de rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101A.2.4 Angle plus vecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102A.2.5 Quaternion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.3 Reprsentation de la situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105A.3.1 Vecteur de coordonnes oprationnelles . . . . . . . . . . . . . . . . . . . . . . 105A.3.2 Matrice de passage homogne . . . . . . . . . . . . . . . . . . . . . . . . . . . 106A.4 Vecteur vitesse instantane de rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . 106A.4.1 Le quaternion et le vecteur de vitesse instantane de rotation . . . . . . . . . . . 107Annexe B Modles pour un robot 6R 109B.1 Modle Gomtrique Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109B.2 Modle Cinmatique Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110B.2.1 Calcul Indirect de la matrice Jacobienne. . . . . . . . . . . . . . . . . . . . . . 111B.2.2 Calcul direct de la matrice Jacobienne . . . . . . . . . . . . . . . . . . . . . . . 111Annexe C Stabilit par Lyapunov 113C.1 Limite de Stabilit pour la position. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113C.2 Limite de Stabilit pour lOrientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Rfrences bibliographiques 117Rsum 123viiitel-00199179, version 1 - 18 Dec 2007Liste des gures1 Chemin pour la saisie dune banane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv2 Schma hirarchique de commande pour la manipulation. . . . . . . . . . . . . . . . . . xv3 Le robot de service au milieu humaine. . . . . . . . . . . . . . . . . . . . . . . . . . . . xv1.1 Schma hirarchique de commande pour la manipulation avec un robot de service. . . . 12.1 Schma dasservissement pour le servomoteur dune articulation. . . . . . . . . . . . . . 172.2 volution de la position, de la vitesse et de lacclration au changement de type das-servissement : passage de vitesse position. La gure (d) montre lintgrale de lerreurquadratique de position. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.3 volution de la position et zoomsur la position au changement de type dasservissement :passage de l asservissement en vitesse lasservissement en position. . . . . . . . . . . 192.4 Intgrale de lerreur quadratique de position et volution de la vitesse au changementde type dasservissement : passage de lasservissement en vitesse lasservissement enposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.5 Schma dasservissement avec terme danticipation pour un servomoteur. . . . . . . . . 202.6 volution de la position, de la vitesse et de lacclration en utilisant le schma de com-mande satur plus signal danticipation. La gure (d) montre lintgrale de lerreur qua-dratique de position. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.7 Schma de commande pour le bras manipulateur utilisant des quaternions pour le retourdorientation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.8 volution de lorientation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.9 volution de la position et de lintgrale de lerreur quadratique en x, y et z . . . . . . . 263.1 Dnitions des sept segments pour la mthode de base avec des conditions cinmatiquesinitiales et nales nulles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2 Seuils de Position pour choisir entre les trois cas . . . . . . . . . . . . . . . . . . . . . . 393.3 Espace vitesse - acclration : courbes des mouvements optimaux sept segments. . . . 403.4 Espace vitesse - acclration : gauche courbes jerk positif et droite courbes jerkngatif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.5 Espace vitesse - acclration : volutions pour diffrentes valeurs de Jmax. . . . . . . . . 423.6 Espace vitesse - Acclration : volutions optimale entre deux situations quelconques P1et P2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.7 Espace vitesse - Acclration : de larrt une situation quelconque . . . . . . . . . . . 453.8 Espace vitesse - Acclration : contraintes non homothtiques reprsentes aprs unehomothtie galant les Vmax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.9 Mouvement point point en deux dimensions (X,Y ) : Premire tape de la stratgie,calcul de la trajectoire dans chacune des directions . . . . . . . . . . . . . . . . . . . . 483.10 Mouvement point point en deux dimensions (X,Y ) : homothtie dans le mouvementpar correction du jerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.11 Virage entre segments de droites avec des points de contrle. . . . . . . . . . . . . . . . 503.12 Virage entre segments de droites parcourus vitesse constantes. . . . . . . . . . . . . . 51ixtel-00199179, version 1 - 18 Dec 2007Liste des gures3.13 Exemple de trajectoires obtenues pour diffrents temps de commutation. Les premirescourbes montrent les vitesses obtenues pour Tc= [0.25 0.50 0.75 1.00 1.25], ladernire prsente de faon comparative les trajectoires. . . . . . . . . . . . . . . . . . . 533.14 Effet de coude produit par les diffrentes destinations nales pour une mme trajec-toire initiale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.15 Corrections en dure et en jerk pour les quatre types de mouvements . . . . . . . . . . . 573.16 Exemple de mouvement deux dimensions pour une trajectoire dnie par trois points.Les courbes de jerk, dacclration, de vitesse de position indpendante et de positionpour le mouvement compos sont prsentes. Les courbes pointills reprsentent la tra-jectoire vers la position intermdiaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.17 Rotation de 90 et Rotation de 180 autour de Z, pour comparer linterpolation linaire etle slerp. Les quatre premires images correspondent aux composants du quaternion n etk ou les sigles i correspond interpolation, n normalis et s slerp. Les deux derniresgraphiques correspondent la rotation dans lespace 3D. . . . . . . . . . . . . . . . . . 623.18 Variation entre interpolations successives et rotation relative pour une rotation de 90pour le slerp et le nlerp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.19 Erreur dinterpolation. Limage (a) montre lerreur pour 5 quaternions interpoles entreQa et Qb. Limage (b) montre les mesures pour calculer lerreur maximale . . . . . . . . 643.20 Erreur de Interpolation. Limage (a) montre lerreur de interpolations pour des rotationssuccessives de 180 a -180 avec un pas de 10 entre courbes. Limage (b) montre lerreuren pourcentage pour des rotations de 180, 135, 90 et 45 . . . . . . . . . . . . . . . . 654.1 Modle Stnop dune camra, avec le plan image rel U

V

et le plan image virtuel UV . 694.2 Image dans le repre UV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.3 Graphe des repres du systme de camra embarque et repres associes une tche demanipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.4 Schma de commande pour le bras manipulateur en utilisant un schma dasservissementvisuel 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.5 Reconstruction 3D par information stro . . . . . . . . . . . . . . . . . . . . . . . . . 774.6 Schma de commande pour le bras manipulateur utilisant un schma dasservissementvisuel 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.7 Schma de commande pour le bras manipulateur en utilisant un ltre de Kalman tendu(EKF) pour estimer la position de la cible . . . . . . . . . . . . . . . . . . . . . . . . . 805.1 Architecture logicielle pour la manipulation . . . . . . . . . . . . . . . . . . . . . . . . 855.2 Translation entre les pointsA etBsans changement dorientation. Cette vue prsentesous forme laire les trois premiers corps du bras manipulateur. . . . . . . . . . . . . . . 875.3 Rsultats obtenus aprs un mouvement de translation pure. gauche, les courbes dac-clration, de vitesse et de position pour les directionsXetZ. droite, des courbescomparatives entre la position de consigne et la position mesure. . . . . . . . . . . . . 875.4 Rotation entre les quaternions Qo et Qf sans changement de position de lorgane termi-nal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.5 Rsultats obtenus aprs un mouvement de rotation pure. A gauche, les courbes dacc-lration, de vitesse et de position pour les composantes du quaternion n et j. A droite,des comparaisons entre la position de consigne et la position mesure, et les erreurs deposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.6 Rsultats obtenus pendant un mouvement de rotation pure. La position est xe, doncnous prsentons les directionsXetZ, avec du ct gauche la directionXet du ctdroit la direction Z. En haut la comparaison entre la consigne et la valeur mesure, enbas lerreur obtenue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.7 Squence de mouvement ralise par le bras manipulateur pour saisir la bote bleue. . . . 905.8 Comparaison entre la trajectoire planie (noir) et la trajectoire ralise (bleu). Les pointsnoirs dnissent la trajectoire ralise par la pointe de lorgane terminal. . . . . . . . . . 91xtel-00199179, version 1 - 18 Dec 20075.9 Courbes planies pour la direction X du ct gauche et erreurs obtenues du ct droit. 915.10 gauche les courbes planies pour la composanten et droite les comparaisons deperformance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.11 Montage hand-eye de la camra et la ligne suivre . . . . . . . . . . . . . . . . . . 925.12 Asservissement visuel partag pour le suivi ascendant dun ligne droite. gauche lemouvement plani et droite le mouvement ralis avec lasservissement visuel activ. 935.13 Mouvement dans la direction Z et erreur de dplacement en Z gauche. droite, com-paraison entre la consigne planie et la position mesure dans la direction Y , et lerreurentre Pp et Py . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.14 volution de deux points dans limage aprs 40 photos . . . . . . . . . . . . . . . . . 945.15 Lestimation de la position de la cible converge vers la position relle de la cible (en noir) partir dune position initiale estime (en rouge). gauche, lvolution de lestimationde la position de la cible pour la calibration de lorientation et droite pour la calibrationde la position. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.16 volution de lestimation de lorientation des camras. gauche la composanten duquaternion et droite le composantei. Les lignes centrales correspondent aux valeurssimules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.17 volution de lestimation de la position des camras. gauche la position enXet droite la position en Z. Les lignes centrales correspondent aux valeurs simules. . . . . . 96A.1 Reprsentation de la position du point P dans les divers systmes de coordonnes. . . . . 99A.2 Angles de Bryant, les trois rotations successives (, , ) . . . . . . . . . . . . . . . . . 100A.3 Angles dEuler, les trois rotations successives (, , ) . . . . . . . . . . . . . . . . . . 101A.4 Composantes des vecteurs unitaires du repre 1i1 exprimes dans le repre 1i. . . . . 101A.5 Rotations autour des axes x, y et z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102A.6 Vitesse de Rotation autour dun axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107B.1 Dnition des Coordonnes Gnralises et des repres dun robot manipulateur de type6R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110xitel-00199179, version 1 - 18 Dec 2007Liste des guresxiitel-00199179, version 1 - 18 Dec 2007IntroductionQuand on parle de robotique, plusieurs ides viennent lesprit de chacun de nous. Historiquement,nous pourrions nous rfrer aux premiers concepts et automates de lantiquit ou aux premiers robotscomme des personnages de la mythologie. Mme le mot robot a sa propre histoire. Sparer la sciencede la science ction nest pas une chose aise, surtout lorsque en robotique nous cherchons parfois faireralit la ction. Un exemple de linuence des ctions nous est donn par les lois de la robotique.Cest au sicle dernier que le boom de la robotique industrielle a amorc lexplosion des thmesde recherche. Acette poque les robots taient conus en respectant les contraintes imposes par le milieuindustriel, comme la rptabilit, la prcision dans la ralisation des tches, le respect des cadences deproduction, etc. Prenons lexemple des bras manipulateurs industriels des annes 80 trs semblables auxbras industriels actuels, ils se dplacent trs grandes vitesses sur des trajectoires calcules hors lignedans des environnements protgs et structurs, sans interaction avec les oprateurs humains.Cest avec les dveloppements scientiques, spciquement de llectronique et de linformatiquemais aussi automatique, mathmatique, mcanique, matriaux, que la technologie robotique a progress.Les robots actuels sont dotes dune intelligence qui leur donne une certaine autonomie qui va leurpermettre de se diffuser dans de nouveaux domaines. Nous parlons maintenant de robots dexploration,de robots dintervention, de robots ludiques, de robots de service, etc.Dans ce travail de thse, nous nous sommes intresss aux robots manipulateurs pour des applicationsen robotique de service. Les contraintes de la robotique de service sont trs diffrentes des contraintesde la robotique industrielle. Le robot manipulateur ne sera plus un outil qui effectue une tche rptitivedans un espace scuris, mais un partenaire des activits quotidiennes. Les contraintes de la robotique deservice sont lies la scurit et au confort de lhomme.Reprenons lexemple du bras manipulateur en milieu industriel, il ralise des tches de faon rp-titive, hautes vitesses, pour satisfaire les temps dexcution. Les lois de commande utilises utilisentdes capteurs proprioceptifs pour mesurer ltat du robot et des capteurs extroceptifs pour mesurer desvariables lis la tche. Lorsque lespace de travail est scuris et la tche connue a priori, les calculs dela trajectoire sont raliss hors ligne pour minimiser les temps dexcution.Considrons maintenant le cas dun robot de service effectuant des tches de manipulation. Lutilisa-tion des capteurs proprioceptifs couvre les mmes besoins mais seule lutilisation de capteurs extrocep-tifs permet lobtention dinformations sur la tche et son environnement. Lorsque lespace de travail dunrobot de service est partag avec lhomme, la connaissance de lenvironnement prends une importanceconsidrable pour la ralisation de la tche. La trajectoire raliser est alors fonction de lenvironne-ment, ce qui ncessite que tous les calculs ncessaires la ralisation de la tche soient ralissen ligne.En effet les trajectoires doivent voluer en fonction des incertitudes sur la connaissance de lenviron-nement. Les capteurs extroceptifs utiliss le plus souvent pour ces applications sont des systmes devision embarques.Dcrivons maintenant une tche typique de la robotique de service, la saisie dun objet pour lapporter un homme. Les travaux de Lpez-Damian portent sur la planication de la saisi par un robot autonome[Damian, 2006]. La gure 1 prsente le chemin calcul par le robot Jido du LAAS - CNRS pour la saisiedune banane en utilisant les algorithmes dvelopps par Lpez-Damian.Pour simplier la tche nous allons faire certaines hypothses :Lobjet saisir est connu (le modle de lobjet est connu) et les algorithmes sont capables decalculer une position de saisi.xiiitel-00199179, version 1 - 18 Dec 2007IntroductionFIG. 1 Chemin pour la saisie dune banane.Lobjet se trouve dans lespace de travail du robot manipulateur. Tel que si le robot est mont surune plate-forme mobile, il ny a pas de dplacement de la plate-forme.Lhomme se trouve dans le mme espace et ne bouge pas pendant la ralisation de la tche, de tellesorte que le systme na pas besoin de ragir au comportement humain.Alors, une stratgie pour la saisie dun objet est dnie par :1. Le systme de vision dtermine la position de lobjet et la position de lhomme par rapport aurobot.2. Le systme de planication de saisie choisit la position de saisi de lobjet et planie le chemin suivre.3. Un systme de gnration de trajectoire calcule la loi de mouvement pour raliser la tche.4. Une boucle dasservissement ralise le suivi de cette trajectoire.5. Le systme de planication dtermine le chemin pour apporter lobjet lhomme.6. Le systme de gnration de mouvement calcule cette nouvelle trajectoire.7. Le boucle dasservissement excute cette trajectoire.Si les incertitudes sont faibles, la russite de la ralisation de la tche est trs leve. Considronsmaintenant des incertitudes plus importantes dans la mesure de la position de lobjet. La source de cesincertitudes est trs varie : un modle imparfait, des erreurs de calibration du systme de vision, etc. Leplanicateur de saisie va calculer un chemin qui ne garantit pas la saisie mme si on amliore la qualit delasservissement sur la trajectoire. En labsence de capteurs extroceptifs pour corriger les incertitudes,le robot a une probabilit de russir qui est trs faible.Dans cette thse nous considrons le schma de commande hirarchique pour la manipulation pr-sent sur la gure 2 , il correspond la stratgie dcrite prcdemment. Linformation fournie par lescapteurs proprioceptifs est utilise comme mesure de retour deux niveaux diffrents : au plus bas ni-veaux pour lasservissement des articulations qui sont le plus souvent commandes en vitesse angulaire ;au deuxime niveaux qui correspond lasservissement de la trajectoire en position. Linformation four-nie par les capteurs extroceptifs est utilise aux deux niveaux : comme mesure de retour dans le premiercas pour corriger les positions et/ou vitesses dans les boucles dasservissement de trajectoire et sous laforme de positions de consigne pour la gnration de trajectoire dans le second.xivtel-00199179, version 1 - 18 Dec 2007CapteursProprioceptifsPlanication de cheminGnration de TrajectoireAsservissement de TrajectoireAsservissement ArticulaireExtroceptifsCapteursBoucle de commandeFIG. 2 Schma hirarchique de commande pour la manipulation.Pourlesexprimentations, nousutilisonscommecapteurextroceptifunepairedecamrasst-roscopiques embarque sur lorgane terminal du bras manipulateur. Nous pouvons ainsi raliser descontrleurs qui intgrent lasservissement articulaire, lasservissement de trajectoire et la gnration detrajectoire.La scurit des hommes autour des robots de service a guid nos choix pour concevoir une commandecapable de ragir toutes information ncessitant de dvier ou darrter le robot. Nous avons aussi essaydaller plus loin en proposant une commande qui assure le confort des humains en vitant les mouvementsbrusques. titre dillustration, la gure 3prsente le robot jido en train dapporter une petite bouteille.FIG. 3 Le robot de service au milieu humaine.Dans le domaine des neurosciences, les travaux de Hogan et Flash ([Hogan, 1984], [Flash et al., 1985])sur la modlisation des mouvements des bras, dabord de primates puis dhumains, tablissent que lasouplesse des mouvements est obtenue en minimisant une fonction objectif qui porte sur la variation delacclration appele le jerk.Sur le modle des mouvements humains, nous proposons de commander les bras manipulateurs auxvtel-00199179, version 1 - 18 Dec 2007Introductionniveau du jerk de lorgane terminal. Pour cela, notre commande borne le jerk, lacclration et la vitesseds ltape de gnration de mouvement. Dans la suite du document, nous qualierons ces mouvementsde mouvements souples.ObjectifsLe problme de la commande du bras manipulateur pour des applications la robotique de servicesert de guide ce mmoire. Lobjectif est de prsenter une stratgie de commande utilisant des donnsproprioceptives et extroceptives et prenant en compte les contraintes propres de la robotique de servicetelles que la scurit et le confort des humains.ContributionsNotre contribution se situe dans le domaine de la commande des bras manipulateurs pour des appli-cations en robotique de service. Pour assurer le confort des utilisateurs humains lorsque les applicationsncessitent que le systme effectue le calcul de la trajectoire en ligne, nous introduisons les mouvementssouples. Lutilisation de retour visuel est considr au milieu des stratgies diffrentes sur le schma debase.Organisation de la thseCe document est organis de la faon suivante :Le chapitre 1 est ddi au contexte de ltude. La robotique de service impose ses propres contrain-tes, dans ce mmoire nous reprenons les travaux mens sur la robotique industrielle, et les intgrons la robotique de service.Le chapitre 2 prsente la commande des bras manipulateurs. Lorsque les contraintes sont diff-rentes de celles de la robotique industrielle, nous reprenons les schmas classiques et proposonsdes amliorations pour satisfaire les contraintes de la robotique de service.Le chapitre 3 traite la gnration des mouvements souples. Nous prsentons la mthode en partantdu cas le plus simple qui correspond un mouvement point point une dimension jusquau lemouvement continu sur un chemin dni par plusieurs points dans lespace.Le chapitre 4 est ddi au retour visuel. Lutilisation dinformation visuelle est prsente sur troisschmas diffrents, le premier est un schma dasservissement visuel, le deuxime correspond un schma de guidage visuel et le troisime utilise un ltre de Kalman pour grer les incertitudesde la modlisation.Le chapitre 5 prsente larchitecture robotique permettant de mettre en oeuvre nos schmas decommande pour diffrentes expriences, et les rsultats exprimentaux obtenus.Dans les conclusions gnrales nous portons un regard critique sur lensemble des travaux ralisset nous nissons cet expos par quelques propositions de travaux.Trois annexes sont incluses : la premire traite les coordonnes oprationnelles, la deuxime pr-sente les modles pour un robot 6R et la dernire prsente lanalyse de stabilit par Lyapunov pourles boucles de commande.xvitel-00199179, version 1 - 18 Dec 2007Chapitre 1Contexte de ltude1.1 IntroductionReprenons la gure du schma hirarchique de commande prsente en lintroduction de ce docu-ment. Pour illustrer lutilisation de linformation provenant des capteurs extroceptifs, nous avons choisiun systme de vision qui dotera le robot dune certaine autonomie pour la ralisation de tches diff-rentes. Nous utiliserons aussi les capteurs proprioceptifs de position angulaire des articulations du brasmanipulateur. Le schma de la gure 1.1 montre le schma hirarchique que nous utiliserons au cours dece travail.Planication de cheminGnration de TrajectoireAsservissement de TrajectoireAsservissement Articulaireproprioceptifsde positionCapteursBoucle de commandeSystme de visionembarqueCamraAsservissementVisuelFIG. 1.1 Schma hirarchique de commande pour la manipulation avec un robot de service.Sur ce schma, nous pouvons distinguer quatre thmes : la planication de chemin, la commande desbras manipulateurs, la gnration du mouvement et le retour visuel. Nous avons tabli que les contraintespropres de la robotique de service ne sont pas les mmes que celles de la robotique industrielle. Engardant cette ide en tte, nous allons prsenter diffrents dveloppements de ces quatre thmes de larobotique et les relier au contexte de notre tude. La dernire partie du chapitre est consacre la pr-sentation de notre approche.1tel-00199179, version 1 - 18 Dec 2007Chapitre 1. Contexte de ltude1.2 Planication de cheminUne tche de robotique de service peut tre dcompose en une suite de mouvements. La complexitde ces mouvements augmente avec la nature de des dplacements mais aussi avec la dynamique de len-vironnement. La planication de chemin a un rle prpondrant pour la robotique de service, elle est lieaux chemins que les robots doivent suivre pour lexcution dune tche. Les techniques de planicationde chemin sont largement tudis dans [Latombe, 1991] et [Laumond, 1998].La manipulation dobjets en environnements humains est une des aptitudes quun robot de servicedoit tre capable de matriser. Les travaux de Lpez-Damian [Damian, 2006] portent sur la planicationde la saisie par un robot autonome. La saisie est planie en deux tapes : la premire tape recherche despositions de saisie en fonction de lorgane prhenseur ou pince et des caractristiques de lobjet commeses axes dinertie. La deuxime tape consiste trouver le chemin que le robot suivra.Par ailleurs, certains problmes lis au confort de lhomme sont traits par Sisbot. En utilisant unplanicateurdechemins,lemouvementdumanipulateurestgnrenfonctiondelapositionetduchamp de vision de lutilisateur humain [Sisbot et al., 2006].1.3 Commande des bras manipulateursDans [Sciavicco et al., 2000], le problme de la commande dun robot manipulateur peut tre formulcomme la dtermination de lvolution des forces gnralises (forces ou couples) que les actionneursdoivent exercer pour garantir lexcution de la tche tout en satisfaisant certains critres de performance.Diffrentes techniques sont utilises pour la commande des bras manipulateurs. La conception mca-nique du bras manipulateur a une inuence sur le choix du schma de commande. Un robot manipulateurest une structure mcanique complexe dont les inerties par rapport aux axes des articulations varient nonseulement en fonction de la charge mais aussi en fonction de la conguration, des vitesses et des accl-rations.La plupart des robots utilisent des servomoteurs lectriques comme actionneurs. Dans le cas de ser-vomoteurs ayant de faibles rapports de rduction, ce sont les servomoteurs qui doivent compenser leseffets des variations des forces dinertie et de gravit. Dans le cas de servomoteurs avec de forts rapportsde rduction, linertie vue par les moteurs varie beaucoup moins et il est alors possible de modliser lerobot par un systme linaire qui permet de dcoupler les articulations.Dans le contexte de ce document nous considrons uniquement lutilisation de servomoteurs avecde forts rapports de rduction comme actionneurs, ce qui produit des robots articulations rigides. Leproblme de la rigidit des articulations est vident lorsquon parle dinteraction avec lenvironnementou des collisions.Des imprcisions dans la modlisation de lenvironnement peuvent se traduire pardes efforts de contact importants qui peuvent endommager les mcanismes internes du robot ou sonenvironnement.Enrobotiquedeservice,lerisquedecollisionavecleshumainsestlev.Lorsquelarticulationest rigide, les blessures quun robot peut produire sont fonction de linertie du mouvement. Pour desapplications en robotique de service, et pour rduire les dommages produits par une collision, il est re-command dutiliser des robots ayant une lasticit , on parle alors de robots avec des articulationsexibles. On peut considrer aussi des actionneurs lastiques [Pratt et al., 1995] ou une action parallle-distribu [Zinn et al., 2002] pour la conception dun robot de service, sujet qui est en dehors de ce travail.Un chapitre du livre [Khalil, 2002] est ddi la commande de robots articulations exibles que nousrecommandons au lecteur intress. La littrature prsente au robot lger DLR qui a t dvelopp pourvoluer au milieu des espaces humains, les travaux de [Albu-Schffer et al., 2007] utilisent la commandeen couple pour chacune des joints pendant que les travaux de [De Luca et al., 2006] considrent la d-tection des collisions et la faon de ragir aprs la collision.Deux types de mouvements apparaissent quand on parle de commande du bras manipulateur. Unpremier type considre que les mouvements ncessaires pour la ralisation de la tche sont excuts danslespace libre. Le deuxime type considre des mouvements spciques avec des forces de contact pourlorgane terminal qui se dplace dans un espace contraint. Toute tche de robotique de service est ralis2tel-00199179, version 1 - 18 Dec 20071.3. Commande des bras manipulateurspar une combinaison de ces deux types de mouvement. Pour simplier la commande, les deux types demouvement sont abords sparment.1.3.1 Commande dans lespace libreNous ne pouvons pas dans le cadre de ce mmoire traiter en dtail lensemble des techniques de com-mande des bras manipulateurs. Pour une tude plus dtaille, le lecteur pourra se rfrer [Paul, 1979],[Gorla et al., 1984], [Khalil et al., 1999], [Sciavicco et al., 2000] et [Canudas et al., 1997]. Nous prsen-tons juste une vue gnrale de diffrentes techniques rapportes dans la littrature.Dans les paragraphes suivants nous nous limiterons une description simple des diffrentes tech-niques. Nous prsentons tout dabord le schma de commande par articulation pour progresser jusqudes techniques plus performantes comme la commande optimale . la n de cette section, nous dcri-vons notre approche pour la commande.Commande par articulationCette technique est utilise par des robots manipulateurs qui utilisent des servomoteurs avec de fortsrapports de rduction. Lorsque le systme prsente un comportement linaire, lasservissement du mou-vement peut tre ralise par des techniques classiques de commande. Nous parlons alors dune com-mande dcentralise de type PID. Dans [Gorla et al., 1984] et [Canudas et al., 1997], le schma classiqueest amlior avec des signaux danticipation pour corriger les effets de la force de gravit et de couplage.Commande jacobienneCette technique est utilise depuis les travaux de Whitney [Whitney, 1969] et elle est appele de cettefaon lorsquelle utilise la matrice jacobienne inverse du bras manipulateur pour calculer les vitesses deconsigne aux articulations. Elle est aussi connu sous le nom de commande mouvement rsolu. Lesapproches les plus courantes sont de type : mouvement vitesse rsolu, mouvement acclration rsolu[Luh et al., 1980]etmouvementforcersolu[Wu et al., 1982].Latechniquedemouvementrsolucommande la position de lorgane terminal du manipulateur dans lespace cartsien, par combinaisondes mouvements de plusieurs articulations.Ce type de schmas peut se prsenter sous la forme dun schma cinmatique quand les vitesses cal-cules aux articulations sont utilises directement comme des consignes pour les boucles de commandede chaque articulation, ou sous la forme dun schma dynamique quand le schma utilise le modledynamique pour dcoupler les articulations.Son principal inconvnient est lutilisation de linverse de la matrice jacobienne, qui peut devenirsingulire dans certaines conditions.Commande par dcouplage non linaireCette technique est aussi connu sous les noms de commande dynamique ou commande par couplecalcul. Lorsque lapplication exige des volutions rapides avec des contraintes dynamiques, la com-mande doit prendre en compte les forces dinteraction. Ce type de technique considre lensemble desarticulations et, pour les dcoupler, utilise la thorie du dcouplage non linaire. Cette thorie utilise lemodle dynamique du robot pour le calcul de la lois de commande, ce qui conduit des lois de com-mande centralises non linaires. Des signaux danticipation peuvent tre utilises pour minimiser deseffets non linaires [Er, 1993].Ce type de technique permet la commande dans lespace des articulations ou dans lespace cartsien,avec lavantage que les articulations sont dcouples et peuvent voluer a grandes vitesses avec de fortesinerties. Cette mthode dpend fortement du modle du systme, elle est trs sensible aux imprcisionsdu modle qui entranent un dcouplage imparfait. Ceci constitue son principal inconvnient.3tel-00199179, version 1 - 18 Dec 2007Chapitre 1. Contexte de ltudeCommande fonde sur une fonction de LyapunovDes mthodes bases sur une fonction de Lyapunov ont t utilises pour la commande des bras mani-pulateurs de faon satisfaisante pour des tches de suivi. Particulirement lorsquon cherche garantir laconvergence asymptotique et non linariser le systme ou obtenir le dcouplage [Canudas et al., 1997].Commande passiveCette technique considre le robot comme un systme passif, cest dire un systme qui dissipede lnergie. De telles lois de commande permettent de modier lnergie naturelle du robot pour quilralise la tche. En utilisant le formalisme de Hamilton, la commande cherche minimiser lnergie dusystme en utilisant un bloc non linaire passif dans la boucle de retour. La commande passive tend tre plus robuste que le dcouplage non linaire, lorsque la technique ne recherche pas annuler les nonlinarits [Sciavicco et al., 2000].Commande adaptativeCe type de techniques vise corriger les dciences de la commande par dcouplage non linaire,comme la connaissance approximative des paramtres du modle du robot ou pour sadapter aux diff-rentes conditions opratoires. Ce type de schmas cherche estimer ou ajuster en-ligne les valeurs desparamtres utilises dans le calcul de la loi de commande. Un des travaux les plus intressants sur ce sujetest la commande propos par [Slotine et al., 1987] appele commande de Slotine-Li ou commande adap-tative passive. Plusieurs travaux sur la commande adaptative sont prsents dans [Lozano et al., 2001].Les avantages de ce type de techniques sont vidents, malheureusement la puissance de calcul demandeau systme constitue un inconvnient important.Commande prdictiveCe type de schmas, en utilisant le modle du systme et les consignes, est capable de prdire sonvolution, de telle manire quil est capable dagir en fonction de lerreur de prdiction. Trois schmasdiffrents sont proposs dans [Hedjar et al., 2002] : point nal xe, horizon ni et une combinaison desdeux prcdents. Un grand avantage de ce type dapproche est li au fait que lerreur de prdiction nestpas contamin par les bruits de mesure mais la dpendance au modle reste forte.Commande robusteDans le cas de paramtres xes, il est connu que la technique de dcouplage non linaire peut devenirinstable en prsence dincertitudes. Si les paramtres du modle ne sont pas connus de faon prcise etsi lincertitude sur les paramtres admet des bornes connus, alors les techniques de commande robustepeuvent tre utilises. Par exemple, les travaux de Slotine [Slotine, 1985] considrent la technique demodesglissantsappelaussicommandedestructurevariable.Cettetechniqueutiliseunesurfacedeglissement o la stabilit du systme est garantie.Commande optimalePour raliser une tche, il peut exister un grand nombre de solutions. Dans ce cas, il peut tre sou-haitable de choisir une solution qui satisfasse un certain critre.La littrature prsente diffrents types de critres pour la commande optimale : la commande entempsminimal ([Kahn et al., 1971], [Bobrow et al., 1985], [Chen et al., 1989]), dudomainedesneu-roscienceslaminimisationdujerkpourmaximiserlasouplessedumouvement ([Flash et al., 1985],[Kyriakopoulos et al., 1988], [Seki et al., 2004], [Amirabdollahian et al., 2002])et laminimisationducouple ([Egeland et al., 1988], [Martin et al., 1999]), entre autres.4tel-00199179, version 1 - 18 Dec 20071.4. Gnration de trajectoiresLa complexit du problme de commande optimale a motiv les chercheurs pour diviser la tache endeux tapes : la premire tape est la planication de trajectoire suivi dune tape dasservissement de latrajectoire [Lin et al., 1983], [Kim et al., 1985], [Shin et al., 1985].Approche slectionneLadivisionendeuxtapesdelacommandeproposeparlesschmasdecommandeoptimaleat conserve pour la suite de nos travaux. Une tape de planication de trajectoire est ncessaire poursatisfaire les conditions de mouvement et une tape dasservissement de trajectoire devra tre utilisepour suivre cette trajectoire. la diffrence des mthodes optimales, nous cherchons ici un schma quisoit assez robuste pour tre utilis dans des environnements humains et assez exible pour lutiliser avecdes robots diffrents.Les robots que nous avons utilis ont de forts rapports de rduction, nous pouvons utiliser une com-mande par articulation, qui est assez robuste pour les applications que nous envisageons. Et, pour lacommande dans lespace cartsien, une commande jacobienne est envisage. Souhaitant tester notre ap-proche sur des robots diffrents en utilisant leurs modles cinmatiques respectifs sans avoir une fortedpendance par rapport leur modle dynamique.1.3.2 Commande dans lespace contraintLorsque lorgane terminal entre en contact avec une surface, la chane cinmatique du robot est fer-me sur lenvironnement, et du fait de la raideur de lensemble, de faibles variations de position du pointde contact peuvent induire des efforts importants. Lorsque le robot est contraint par lenvironnement sui-vant toutes les directions, aucun dplacement de lorgane terminal nest possible et il ne peut quexercerdes efforts sur lenvironnement ; en revanche, lorsque le robot est dans lespace libre, labsence de toutcontact empche la gnration defforts. Ainsi, les notions de commande en position et de commande eneffort sexcluent mutuellement : on ne peut contrler simultanment une force et un dplacement suivantune mme direction.Dans la pratique, on associe un repre de compliance lorgane terminal, de faon ce que pourchacun des 6 degrs de libert on associe soit une position soit un effort .La littrature propose cinq schmas de commande, les trois premiers nutilisent pas de consigne def-fort : compliance passive, commande par raideur active et commande en impdance. Les deux suivantesutilisent la consigne deffort : la commande hybride et la commande hybride externe.En considrant que la scurit est prpondrante dans le domaine de la robotique de service, la com-pliance ne doit pas tre associe uniquement lorgane terminal mais toute la chane cinmatique dumanipulateur. Pour rduire les effets dune collision avec lhomme, la littrature propose plusieurs rsul-tats de recherche qui portent sur lutilisation dune peau articielle pour les robots dans le but dloignerle bras manipulateur des zones de collision. Par ailleurs, les travaux de Brock [Brock et al., 1997] consi-drent des efforts articiels dans lespace libre pour loigner le robot dune rgion de lespace, en utilisantle concept de bande lastique.1.4 Gnration de trajectoiresLa gnration de trajectoires est la partie du systme de commande qui accepte des instructions demouvement (dplacement dans un sens vers une position nale sur un certain chemin) et qui produitune srie de consignes. De telles consignes peuvent tre envoyes directement aux actionneurs ou auxboucles de commande. Les instructions de mouvement typiques contiennent la dnition du chemin,les contraintes cinmatiques que le robot doit respecter, les temps dexcution, etc. Donc la gnrationdumouvementdoitproduireunetrajectoirequisuitlechemindefaonuniforme, cestdiresansdiscontinuits de vitesse, et si possible des drivs dordre suprieur.Les mthodes de gnration de trajectoires peuvent tre classes de diffrentes faons : selon lespaceutilis, articulaire ou cartsien ; selon que le calcul est effectu en ligne ou hors ligne ; selon le type de5tel-00199179, version 1 - 18 Dec 2007Chapitre 1. Contexte de ltudedonnes dentre et les contraintes imposes : trajectoire rectiligne, suivi de chemin ou point point ;selon le type de mobilit : bras manipulateur, plate-forme mobile, bras mobiles.Dans les paragraphes suivants nous ne traiterons que de la planication de trajectoire des bras mani-pulateurs, le lecteur intress par la planication de trajectoires pour des plates-formes mobiles peut serfrer aux travaux de [Reeds et al., 1990], [Fleury et al., 1995] et [Lamiraux et al., 1997] entre autres.Le problme de la gnration de trajectoire pour des bras manipulateurs est largement trait danslalittrature, enparticulier deuxrfrencesattirent fortement notreattention[Brady et al., 1982] et[Khalil et al., 1999]. Le lecteur pourra se reporter ces ouvrages pour plus de dtails.1.4.1 Gnration de trajectoires en temps minimal par optimisationLe problme de la gnration de trajectoire est couramment prsent comme un problme de satis-faction de contraintes : une description polynomiale du chemin parcourir est utilise pour minimiserun certain critre de performance. Un polynme dordre 1 peut tre utilise pour des dplacements vi-tesses constantes, un polynme dordre trois peut tre utilis pour satisfaire des contraintes de vitesseet un polynme dordre cinq peut tre utilis pour satisfaire des contraintes de position, de vitesse etdacclration. Le critre le plus couramment utilis cherche minimiser le temps de parcours de latrajectoire, ceci transforme le processus de gnration de trajectoire en un problme de commande opti-male. Nous avons choisi de diviser le problme de commande optimale en deux tapes : la gnration detrajectoire et lasservissement. De cette faon, le calcul de la trajectoire optimale se rduit optimiser latrajectoire pour satisfaire des contraintes cinmatiques de la tache et des contraintes dynamiques du ro-bot. Suivant cette approche, nous pouvons citer les travaux de [Sahar et al., 1986], [Geering et al., 1986],[Shin et al., 1986], [Pfeiffer et al., 1987], [Bobrow, 1988], entre autres. Dans [Slotine et al., 1989], la tra-jectoire en temps minimal est trouv en choisissant les instants de commutation du couple appliqu chaque articulation, en considrant quau moins un actionneur a le couple satur. Won propose une m-thode pour le mouvement point point qui minimise lnergie du mouvement en utilisant lanalyse deFourier pour supprimer les composantes de haute frquence et par consquent amliorer la souplesse dumouvement [Won et al., 1991]. Piazzi prsente une mthode pour minimiser le jerk pendant le processusde gnration de trajectoire dans lespace articulaire [Piazzi et al., 1997].1.4.2 Gnrationdetrajectoiresparsatisfactiondescontraintescin-matiquesDun point de vu strictement cinmatique, les travaux de Paul [Paul, 1979], Taylor [Taylor, 1979] etLin [Lin et al., 1983] sont des rfrences classiques sur la planication de trajectoire.Paul en utilisant la reprsentation par matrice de passage homogne dnit lquation fondamentalede la manipulation qui relie lobjet saisir et lorgane terminal avec la conguration du bras manipu-lateur. En faisant des interpolations en ligne droite pour la position et des rotations autour dun axe xe,le mouvement entre deux positions est ralis, par une squence de rotation - translation - rotation. Lemouvement est effectu avec des acclrations constantes pour des variations linaires de vitesse. Pour latransition entre deux segments rectilignes, il propose des changements symtriques dacclration pen-dant une priode 2, la mthode garanti la transition entre vitesses de faon continue. La congurationdes articulations du bras manipulateur est obtenue partir des matrices interpoles et une interpolationdans lespace des congurations est ralise pour garantir la continuit du mouvement dans lespacearticulaire.Taylor propose deux mthodes pour les mouvements en ligne droite, la premire est une amliorationdelamthodedePauletutilisedesquaternionspourreprsenterlesrotations. Iltraitelesrotationscomme des positions pour obtenir un mouvement uniforme. La transition entre deux segments rectilignesest prsent selon cette nouvelle formulation du problme. La deuxime mthode cherche corriger aumoyen dune deuxime tape de planication la trajectoire au niveau des articulations.Lin par contre ne considre pas le mouvement dans lespace cartsien, sa mthode considre la trans-formation du chemin de lespace cartsien vers lespace articulaire. En utilisant des spline cubiques et6tel-00199179, version 1 - 18 Dec 20071.4. Gnration de trajectoiresdes contraintes en vitesse, acclration et jerk, il cherche la trajectoire qui relie les points. Cette trajec-toire est soumise une tape doptimisation pour dterminer la trajectoire qui satisfait les contraintes entemps minimal.Les mthodes de Paul et de Taylor proposent des lois dacclration de type bang-bang. Si noussouhaitons limiter le jerk, les lois bang-bang, ne pouvant satisfaire cette contrainte, ne peuvent pas treretenues. Dans un communiqu Castain [Castain et al., 1984] propose de changer la loi bang-bang parune loi trapze. Pour rsoudre le problme de gnration de trajectoire, Castain dnit un point interm-diaire entre deux points conscutifs du chemin, les trois splines cubiques qui dnissent la loi trapzedacclrationsontutilisspouratteindrelepointintermdiairedepuislepointinitialettroisautressplines sont utilises pour relier le point intermdiaire et le point nal. En utilisant cette mthode, sixsplines cubiques sont utilises pour relier les points du chemin. Dans la conclusion de ce communique,Castain propose lutilisation des diffrents points intermdiaires pour rduire les phnomnes de pro-menade. Un autre avantage apparat, lutilisation des lois dacclration trapze implique lutilisation dejerks borns. Cette mthode est utilise par les travaux de [Bazaz et al., 1997] pour des applications danslespace cartsien. Khalil prsente une loi dacclration du deuxime ordre qui simplie le calcul de latrajectoire, cependant ce type de loi ne satisfait pas la contrainte de jerk. En suivant cette dmarche, lestravaux de [Chand et al., 1985] proposent lutilisation des splines cubiques par estimation de la vitesse depassage de chaque point intermdiaire du chemin en fonction des points suivants. Ce type de techniquepeut tre utilis soit dans lespace articulaire soit dans lespace oprationnel.Pour remplacer les splines, la littrature propose dautres approches : Thompson propose lutilisa-tion des B-splines la place des splines et prsente un algorithme pour la solution du problme avecdes contraintes en acclration et en vitesse [Thompson et al., 1987], Ozaki cherche la solution optimalepour les points de contrle de la B-spline [Ozaki et al., 1996], Zalzala propose une stratgie distribupour le calcul de trajectoires en utilisant des splines cubiques [Zalzala et al., 1991], Yang propose lutili-sation des NURBS dans une trajectoire calcul hors-ligne pour des courbes complexes [Yang et al., 1997]et Aleotti utilise les NURBS pour reconstruire les trajectoires excutes par lhomme dans un proces-sus de commande par apprentissage [Aleotti et al., 2005]. Froissart propose lutilisation des courbes deBzier pour reconstruire un polynme dordre cinq [Froissart et al., 1993], cette mthode demande laconnaissance de la vitesse et de lacclration de sortie du point de dpart et la position des deux pointssuivants. Mller propose lutilisation des trajectoires hyperboliques pour des tches de saisie-et-dpose(Pick-and-Place en anglais) par dnition des trois points : un pour lorigine, un autre pour la des-tinationetuntroisimequipermetdedformerlatrajectoiredanslecasdvitementdesobstacles[Mller-Karger et al., 2000]. Van Aken impose un prol dacclration pour deux points du chemin pourdes mouvements sans contraintes [Aken et al., 1988]. Volpe propose lutilisation de trois types de fonc-tions pour fusionner les courbes de vitesse de segments successifs [Volpe, 1993].1.4.3 Gnration de trajectoire en ligneBestaoui propose une mthode qui utilise des polynmes du quatrime dgre avec des contraintes envitesse et en acclration pour des applications en ligne par actualisation de la trajectoire chaque tempsdchantillonage [Bestaoui, 1989]. Cette mthode est reprise par les travaux de [Bazaz et al., 1997].Andersson propose lutilisation des polynmes dordre 5 (quintiques) pour rsoudre le problme degnration de trajectoire avec des conditions initiales et nales dacclration, de vitesse et de positionimposes et des temps de dplacement xes [Andersson, 1989].Lloyd considre lutilisation des polynmes quintiques pour des mouvements en ligne droite entredeux points. Les deux polynmes qui dnissent les deux segments conscutifs sont mlangs en utilisantune fonction polynomiale [Lloyd et al., 1993].Tondu propose une amlioration du schma propos par Paul avec des mouvements en ligne droiteentre points successifs du chemin et des virages pour les transitions. La mthode peut aussi bien treapplique dans lespace cartsien que dans lespace oprationnel. Une contrainte ncessaire pour la rus-site de cette mthode porte sur la dure de dplacement sur un segment qui devra tre plus grande quela somme des temps de transition [Tondu et al., 1994]. Une question reste ouverte par rapport cettemthode, est-ce que les vitesses angulaires peuvent tre intgres pour obtenir lorientation ?7tel-00199179, version 1 - 18 Dec 2007Chapitre 1. Contexte de ltudeBazazetTonduintroduisentunemthodetroissplinescubiquesdans[Bazaz et al., 1998], unedescription plus dtaille est prsente dans [Tondu et al., 1999]. En utilisant quatre splines cubiques enquatre combinaisons possibles, le mouvement est ralis entre deux points avec des vitesses (initialeetnale)imposesetdesacclrations(initialeetnale)nulles. Danssestravaux, Tonduabordelephnomnedepromenadeautourducheminparlaugmentationdeladrivdelacclration. cettesolution ne peut tre retenue dans notre contexte o le jerk est born.Liu propose une mthode sept segments cubiques pour relier deux points avec des contraintes enjerk, acclration et vitesse [Liu, 2002]. Cette mthode est traite uniquement en une dimension. La tra-jectoire est calcule pour un mouvement point point. Si la destination change pendant le dplacement,la trajectoire est actualise en dnissant une vitesse de transition avec une acclration nulle. Cette vi-tesse est calcule partir des conditions de mouvement courantes linstant o la nouvelle destinationest dnie. Mcfarlane propose lutilisation de 7 segments quintiques la place des segments cubiques[Macfarlane et al., 2003]. Cette extension est utilise pour des mouvements en point point en lignedroite dans lespace cartsien. Pour un chemin, la mthode propose considre des mouvements en lignedroite entre points successifs et propose des fonctions polynomiales qui respectent les contraintes pourles relier.Nous proposons une mthode sept segments avec des contraintes en jerk, acclration et vitessedans les cas plusieurs dimensions pour des applications en temps rel comme les systmes de guidagevisuel.1.5 Asservissement VisuelLobjectif vis, par lintroduction de la vision dans la boucle de commande, est daugmenter lauto-nomie des robots par rapport aux variations de lenvironnement. La vision est un processus de traitementde linformation qui utilise des stratgies bien connues an datteindre ces objectifs. Lentre dun sys-tme de vision est constitue par une squence dimages et la sortie est une description de lentre entermesdobjetsetderelationsentrecesobjets. Lesystmedevisiondoitfournirlesconnaissancesncessaires an de permettre une interprtation non ambigu [Horaud et al., 1993]. Nous parlons alorsdasservissement en situation, ou encore de commande rfrence capteurs [Chaumette, 1990].Nous devons considrer que nous ne sommes pas capables de faire un systme de vision Univer-sel . Au lieu de cela, nous nous intressons aux systmes qui accomplissent une tche particulire dansun environnement contrl ou aux modules qui pourraient par la suite devenir une partie dun systmedusage universel [Klaus et al., 1986].Lutilisation du retour visuel pour commander un robot se nomme gnralement asservissement vi-suel (Visual Servoing en anglais). Lasservissement visuel est tudi sous diverses formes depuis plus dedeux dcennies, en commenant avec des tches simples de saisie-et-dpose pour arriver actuellement la manipulation dobjets en temps rel. Une excellente introduction lasservissement visuel sous laforme dun tutorial est prsente par Hager et al. en 1996 [Hager et al., 1996] suivi du travail deKragic et Christensen qui proposent en 2001 une vue densemble sur lasservissement visuel pour la ma-nipulation [Kragic et al., 2002]. Plus rcemment un tutorial en deux parties sur lasservissement visuelest prsent par Chaumette et Hutchinson [Chaumette et al., 2006] et [Chaumette et al., 2007].En 1979, Hill et Park ont introduit lexpression asservissement visuel, pour distinguer leur travauxdes travaux prcdant. Les systmes dasservissement visuel sont classs selon deux approches, soit enfonction de la conguration du systme, soit en fonction du mode dans lequel lasservissement est ralisLes congurations camra-robot suivantes peuvent tre rencontres :conguration de camra embarque ou Eye-in-Hand . La camra est place sur lorgane termi-nal du bras manipulateur ;conguration de camra dporte ou Stand-Alone . La camra est place ailleurs et regarde lascne. En opposition Eye-in-hand, cette conguration est aussi appel Hand-to-eye ;Eye-in-Hand stro. Les camras embarques forment une paire stro ;Stand-Alone stro. Une paire stro regarde la scne ;systme multi-camra. Plusieurs camras combinant les congurations prcdentes.8tel-00199179, version 1 - 18 Dec 20071.5. Asservissement VisuelLes modes dasservissement classiques sont : lasservissement en boucle ouverte et lasservissementen boucle ferme que nous dcrirons dans les paragraphes suivants.1.5.1 Asservissement en boucle ouverteCette approche est aussi appele Static Look & Move . Lextraction de linformation de limageet la commande dun robot sont deux tches spares. Tout dabord le traitement dimage est excut, etensuite, une commande devant conduire la ralisation du dplacement est gnre. Prenons par exemplela tche de saisie dun objet, pour dterminer la position et lorientation de lobjet saisir relativementpar rapport au robot, nous avons besoin de :un modle de lobjet pour lidentier sur limage ;une camra calibre pour dterminer la position et lorientation de lobjet par rapport la camra ;toutes les relations gomtriques connues. Par exemple, dans le cas dune conguration camraembarque, les modles gomtriques du robot et la situation de la camra par rapport lorganeterminal ;de scnes statiques pendant le dplacement du robot, car les mouvements sont ralises enaveugle .Cette approche prsente rapidement plusieurs insufsances [Huynh, 1998] :lincapacit de compenser les incertitudes internes (sur le modle gomtrique du robot, sur letraitement dimage) ;limpossibilit de raliser une tche avec un objet mobile ;la commande en aveugle du robot.1.5.2 Asservissement en boucle fermeLe principe de lasservissement visuel consiste prendre en compte des informations visuelles issuesdune ou plusieurs camras dans la boucle de commande dun robot an den contrler le mouvement.Les techniques dasservissement visuel utilisent la perception an damliorer laction et augmententdonc la exibilit et la prcision des systmes robotiques [Malis, 1998].Une tche dasservissement visuel typique inclut habituellement une certaine forme de positionne-ment ou de suivi. Un exemple de positionnement consiste aligner lorgane terminal du robot avec lacible. Un exemple de suivi consiste maintenir une distance constante entre lorgane terminal du robotet une cible mobile, ou entre le mouvement de lorgane terminal et la cible (suivi dune trajectoire).Dans les deux cas, linformation visuelle est employe pour mesurer lerreur entre la position cou-rantedurobotetsarfrenceoupositiondsire. Lasservissementvisuelestainsiunprocessusdergulation en boucle ferme. Deux stratgies sont prsentes :Systmes DynamicLook&Move . Cessystmeseffectuentlacommandedurobotendeuxtapes : le systme de vision fournit les consignes au contrleur du robot qui utilise alors le retour despositions articulaires pour dnir la boucle de commande interne du robot.Systmes Direct Visual Servo . Ici, le systme de commande visuel calcule directement les posi-tions des liaisons du robot et le contrleur interne du robot est limin.Dans les annes 80, une taxinomie transversale a t prsente dans [Weiss et al., 1987] : asservisse-ment 3D et asservissement 2D, des mthodes hybrides ont ensuite t introduites dans les annes 90.Systmes dasservissement 3DAussi appel systme dasservissement visuel bas position . Puisque les mesures obtenues danslimage sont employes pour dterminer la position et lorientation de la cible par rapport la camraou un repre commun du monde. Lerreur entre la position courante et la position dsire de la cibleest dnie dans lespace cartsien 3D de la tche du robot. Par consquent, lerreur est une fonction desparamtres de position.9tel-00199179, version 1 - 18 Dec 2007Chapitre 1. Contexte de ltudeEn gnral, lavantage principal de cette approche est que la trajectoire du systme camra/robotest commande directement dans un repre cartsien. Ceci permet une planication de trajectoires plusfacile. Cependant, particulirement dans le cas de la conguration camra sur bras, les repres visuelsutiliss pour lvaluation de la position peuvent sortir de limage. Si la camra est grossirement calibr,les positions courantes et dsires de la camra ne seront pas estimes exactement, ce qui mnera defaibles performances.Systmes dasservissement 2DAussi appel systme dasservissement visuel bas image . Ici, le systme utilise linformation2D de limage pour estimer le mouvement dsir du robot. Des tches typiques comme le suivi et lepositionnement sont accomplies en rduisant lerreur entre un ensemble de primitives but et un ensemblede primitives courantes du plan image.Lasservissement visuel 2D implique le calcul de la matrice dinteraction qui relie les coordonns durepre de la scne celles du repre de la camra (soit le repre de la camra, soit le repre de la scne estattach au robot). Le calcul de la matrice dinteraction exige la connaissance des paramtres intrinsqueset extrinsques de la camra. Si une seule camra est employe pendant le processus dasservissement,linformation de profondeur requise pour mettre jour la matrice dinteraction de limage est perdue.La plupart des systmes existants utilisent une matrice dinteraction constante qui est calcule pour laposition dsire de la camra. Ceci constitue un des inconvnients de cette approche, car la convergencenest assure quautour de la position dsire.Lasservissement visuel 2D est considre comme une commande trs robuste par rapport aux erreursde calibration de la camra et du robot. La calibration faible affecte seulement le taux de convergence dela loi de commande dans le sens o un temps plus long est ncessaire pour atteindre la position dsire.Mthodes hybridesMalis et al. ont prsent lasservissement visuel 2D 1/2 en 1998 [Malis et al., 1998]. La mthodeatproposeloriginepourlacongurationcamraembarque. Cetteapprocheestmi-cheminentre les approches 2D et 3D. Elle vite leurs inconvnients respectifs : contrairement lapproche 3D,elle ne ncessite pas de modle gomtrique 3D de lobjet. Par rapport lapproche 2D, elle assure laconvergence de la loi de commande dans tout lespace de la tche. La mthode est base sur lvaluationdudplacementdelacamraentrelavuecouranteetlavuedsiredelobjet. Achaqueitration,larotationentrecesdeuxvuesestestimepourquelesbouclesdetranslationetderotationsoientdcouples.Crtual et al. ont prsent une mthode qui utilise des informations visuelles dynamiques la place demotifs visuels gomtriques. Les mouvements de la camra sont alors contrls pour que le mouvement2D mesur atteigne un champ de vitesse dsir. Cette technique est appel asservissement visuel d2/dtdans [Chaumette, 1998]1.6 La commande dun bras manipulateur pour la robotiquede serviceReprenons maintenant le schma de la gure 1.1, partir des thmes que nous avons abord : laplanication du chemin, la commande des bras manipulateurs, la gnration du mouvement et lasser-vissement visuel.Nous pourrions dire que nous avons prsent un aperu de ltat de lart pour quatre des thmes dela robotique. L ntait pas notre principal objectif, et le rsultat est loin dtre complet. Notre objectiftait plutt de montrer que le problme auquel nous nous intressons a une trs grande varit de so-lutions. En tablissant le contexte gnral des diffrentes approches, nous pouvons mettre en videncenotre approche et focaliser lattention sur les diffrentes hypothses que nous avons faites au cours du10tel-00199179, version 1 - 18 Dec 20071.6. La commande dun bras manipulateur pour la robotique de servicedveloppement de notre schma de commande. Tous les choix ont t faits en fonction du cadre applicatifet seront dtaills dans les chapitres suivants.Le premier bloc de notre schma correspond ltape de gnration du chemin. Notre intrt pource thme se limite lutilisation des chemins obtenus par ce type de techniques. Lvitement de collisionavec lenvironnement et le robot lui mme, la satisfaction des contraintes de manipulabilit et la slec-tion du chemin dans le champ de vision de lutilisateur humain pour augmenter son confort, sont desproblmes qui doivent tre rsolus ce niveau.Le deuxime bloc concerne ltape de la commande du bras manipulateur. Nous traiterons de faonspare chacune des boucles de commande, mais lobjectif que nous poursuivons est de les prsentercomme un ensemble cohrent.Avant de continuer, nous devons prsenter les plates-formes exprimentales. Nos travaux ont com-menc sur le robot H2 bis qui utilise le systme dexploitation VxWorks et ils ont t poursuivi sur lerobot Jido qui utilise le systme dexploitation Linux. Les deux sont constitus dune plate-forme mobileavec un bras manipulateur dot dun prhenseur et dun systme de vision embarqu. Les deux plates-formes ne fournissent que des informations sur la position angulaire de chacune des articulations desbras manipulateurs et utilisent comme actionneurs des servomoteurs avec de forts rapports de rduction.Au niveau de lasservissement des articulations, seule les boucles de commande du robot H2 bis sontaccessibles en programmation. Notre premire approche de la commande du bras est ddi lamlio-ration de la boucle de commande des articulations, nous cherchons augmenter ses performances enrespectant les contraintes dacclration et de vitesse de chacune des articulations.Pour lasservissement sur la trajectoire, nous avons considr un schma de commande indpendantdu modle dynamique du robot pour pouvoir ladapter plus facilement des plates-formes diffrentes.Comme les contraintes de la robotique de service sont diffrentes de celles de la robotique industrielleet les servomoteurs ont de forts rapports de rduction, les schmas de commande dynamique ne sont pasindispensables. Par ailleurs, nous dsirons un schma de commande qui opre dans lespace cartsienpour pouvoir intgrer des capteurs extroceptifs plus facilement. Donc, les schmas de type commandejacobienne sont des schmas simples qui satisfont nos besoins.An damliorer le confort des utilisateurs humains qui sont au centre des applications en robotiquede service, nous proposons deffectuer des mouvements souples. Notre objectif est dintgrer ltape degnration du mouvement lintrieur de la boucle de commande an de respecter des contraintes dejerk, dacclration et de vitesse qui assurent la souplesse du mouvement.Finalement, pour doter un robot dune certaine autonomie et laider grer les imprcisions, notreschma devra tre capable dutiliser les informations provenant du systme de vision. Trois schmasdiffrentes seront prsents : les deux premiers considrent des approches classiques de lasservissementvisuel alors que le troisime propose lintgration dun ltre de Kalman pour grer les incertitudes dansla modlisation du systme de vision.11tel-00199179, version 1 - 18 Dec 2007Chapitre 1. Contexte de ltude12tel-00199179, version 1 - 18 Dec 2007Chapitre 2Commande des bras manipulateurs2.1 IntroductionCe chapitre se propose de traiter de la commande des robots manipulateurs pour des applications enrobotique de service. Tout dabord, nous devons considrer quun robot de service, bien quayant beau-coup de similarits avec les robots industriels rencontre des conditions oprationnelles trs diffrentes.Un robot industriel ralise des tches rptitives lintrieur despaces scuriss pour ses oprations. Lescontraintes de performance retenues sont gnralement lies aux temps dexcution. En opposition, pourdvelopper un robot de service capable dvoluer dans un milieu humain, qui la plupart du temps nestpas statique, nous devons considrer des contraintes diffrentes de celles de la robotique industrielle.Par exemple, linteraction avec lenvironnement a plus dimportance que le temps mis pour accomplirla tche. Donc, les vitesses oprationnelles restent plus faibles que les vitesses dveloppes par les ro-bots industriels. La scurit et le confort des utilisateurs humains sont alors des thmes de premireimportance pour la robotique de service.Pour contribuer augmenter la scurit opratoire des robots de service, les schmas de commandedoiventprendreencomptelinformationprovenantdescapteursproprioceptifsdesbouclesdecom-mande de plus bas niveau et celle des capteurs extroceptifs pour les boucles suprieures. Le schma decommande que nous proposons pour le plus bas niveau nutilise que des capteurs proprioceptifs et resteouvert pour linclusion de capteurs extroceptifs pour les boucles de commande de plus haut niveau. Leschma de la gure 1.1 prsente cette ide de faon simplie.Plus gnralement, la fonction dun robot manipulateur est de situer dans lespace son organe ter-minal OT. La Situation de lorgane terminal est dnie par la position et lorientation dun repre li son but. Une tche simple peut tre dnie comme le mouvement libre ralis par le robot manipulateurpour aller dune situation initiale une situation nale. Une tche complexe peut tre dnie de la mmefaon, en prcisant que le robot doit suivre un chemin prdni tout en respectant des contraintes cin-matiques lies au mouvement. Dans les deux cas, le mouvement que le robot ralise devra tre dni pardes consignes qui correspondent des trajectoires temporelles. Pour contribuer augmenter le confortde lutilisateur humain, nous proposons lutilisation dun gnrateur de mouvements souples pour le cal-cul des trajectoires, le chapitre 3 est ddi ce sujet. Les mouvements souples sont caractriss par deslimites en jerk, en acclration et en vitesse. Ces contraintes qui devront tre respectes au niveau desschmas de commande, servent de guide pour les schmas que nous dveloppons.Dans ce chapitre, nous allons tudier des boucles de commande utilisant uniquement des capteursproprioceptifs pour les signaux de retour. Lutilisation des signaux extroceptifs de retour sera abordeau chapitre 4.Le schma de commande que nous proposons dcoupe le problme de commande en deux : la pre-mire tape correspond la gnration de consignes, cette tape est dveloppe dans le chapitre 3. Ladeuxime tape correspond la loi de commande pour lasservissement du bras manipulateur, elle prenden compte les contraintes cinmatiques de la trajectoire.Ce chapitre est organis de la faon suivante, tout dabord nous dtaillons quelques gnralits pour13tel-00199179, version 1 - 18 Dec 2007Chapitre 2. Commande des bras manipulateursla slection de la loi de commande. Ensuite nous prsentons des amliorations ralises pour lasser-vissement des articulations. La section suivante prsente la boucle de commande du bras manipulateurpour lasservissement dans lespace cartsien. Finalement, des conclusions sont prsentes la derniresection.2.2 Gnralits sur la slection de la loi de commandeTout dabord, un robot manipulateur est une machine constitue par :une structure mcanique de support ;des actionneurs ;des capteurs ;un systme de commande.Donc, nous pouvons dnir un robot manipulateur comme une structure mcanique complexe dontles caractristiques dynamiques varient non seulement en fonction de la charge mais aussi en fonction dela conguration, des vitesses et des acclrations.Dans ce travail, nous nabordons pas la construction dun robot manipulateur. Nos travaux portentsur lutilisation dun bras manipulateur six degrs de libert du type 6R.La plupart des robots utilisent des servomoteurs lectriques comme actionneurs. Les caractristiquesdes servomoteurs ont un rle important pour la slection du systme de commande. Dans le cas o lerobot utilise des servomoteurs avec de faibles rapports de rduction, les boucles de commande doiventcompenser les effets des variations des forces dinertie et de gravit. Les lois de commande bases sur lesmodles dynamiques des robots donnent de trs bon rsultats dans ce cas. Ils permettent de maintenir larponse dynamique du systme dans certains critres de performance. En utilisant ce type de techniquesles robots peuvent voluer grandes vitesses. Linconvnient est li la forte dpendance au modledynamique. En opposition, quand les articulations sont actionnes par lintermdiaire de rducteurs forts rapports de rduction, linertie vue par les moteurs varie peu.Dans ce cas, les asservissementspeuvent tre assurs axe par axe par des boucles de commande classiques.Pour le robots manipulateurs de type 6R, les capteurs les plus couramment utiliss sont les capteurs deposition et de vitesse angulaire. Nous nutilisons que des capteurs de position absolue qui ne demandentpas de processus dinitialisation.La boucle de commande que nous proposons pour le bras manipulateur prote des forts rapportsde rduction des servomoteurs et des conditions opratoires de la robotique de service (faibles vitesses,acclrations et jerks).2.2.1 Dnition de la Situation de lorgane terminalPour dnir la situation de lorgane terminal du robot dans lespace, il faut prciser sa position et sonorientation.Pour dnir la position de lorgane terminal dans lespace, trois reprsentations sont courammentutilises dans la littrature :Coordonnes cartsiennes ;Coordonnes cylindriques ;Coordonnes sphriques.Nous utilisons la reprsentation en coordonnes cartsiennes pour sa simplicit, cest aussi la plus cou-ramment utilise.Pour dnir lorientation de lorgane terminal dans lespace, plusieurs reprsentations sont prsen-tes dans la littrature [Renaud, 1996]. Par exemple :Angles de Bryant ;Angles dEuler ;Matrice de rotation ou cosinus directeurs ;Quaternion ;Angle plus vecteur.14tel-00199179, version 1 - 18 Dec 20072.2. Gnralits sur la slection de la loi de commandeLa plus courante des reprsentations est la matrice de rotation qui a neuf composantes. Elle associeune reprsentation unique chaque rotation. Les reprsentations par quaternion ou par angle plus vecteursont des reprsentations quatre composantes, une de plus que les angles dEuler ou de Bryant sans lesproblmes de singularits de ces reprsentations. Pour ce travail, nous avons utilis les quaternions etdans une moindre mesure les matrices de rotation qui constituent la partie rotation des matrices homo-gnes. Pour plus de dtails, par exemple sur les conversions entre reprsentations, consulter l annexe A.Les avantages de lutilisation des quaternions son largement exposs dans [Funda et al., 1991].2.2.2 Modles Directs du robot manipulateurLobtention des modles gomtriques et cinmatiques est uniquement base sur des considrationsgomtriques.Modle gomtrique directLe modle gomtrique direct dun robot manipulateur est la fonction F qui permet dexprimer lasituation de lorgane terminal du robot manipulateur en fonction de sa conguration.La situation o de lorgane terminal est dnie par mcoordonnes que nous appelons oprationnelleset que nous notons :x1, x2, ..., xmLa conguration du robot manipulateur est dnie par n coordonnes que nous appelons gnraliseset que nous notons :1, 2, ..., nSi X dsigne le m-uplet des coordonnes oprationnelles et le n-uplet des coordonnes gnrali-ses, le modle gomtrique du robot manipulateur est :X = F() (2.1)Le dtail du calcul de la fonction F est prsent en annexe B.Modle cinmatique directLe modle cinmatique direct permet de calculer le torseur cinmatique_V_ =__VxVyVzxyz__ partir des vitesses gnralises en utilisant la matrice jacobienne J() :_V_ = J() (2.2)Pour des informations plus dtailles sur la construction de la matrice jacobienne, se rfrer lannexeB.15tel-00199179, version 1 - 18 Dec 2007Chapitre 2. Commande des bras manipulateurs2.3 Asservissement des articulationsEn introduction, nous pouvons considrer la phrase suivante : La commande dynamique nest pasdans tous les cas le type de commande ncessaire pour obtenir une bonne prcision et une bonne sta-bilit. En effet une commande classique suft lorsque le robot manipulateur volue sans contraintes deperformance, de rapidit et de prcision car dans ce cas, les inerties ont une inuence moins importante.[Gorla et al., 1984]2.3.1 La commande classiqueNotre approche pour lasservissement des articulations est fond sur une commande classique. Dans[Paul, 1981], [Gorla et al., 1984], [Canudas et al., 1997] et [Sciavicco et al., 2000] nous pouvons trouverune srie de schmas pour lasservissement des articulations. Nous pouvons observer diffrentes faonsde calculer le couple pour obtenir un suivi correct de la trajectoire par compensation de linertie et/oudes forces de gravit. Les schmas prsents par [Gorla et al., 1984] utilisent la vitesse comme signaldanticipation alors que ceux prsents par [Paul, 1981] utilisent la vitesse de deux faons : soit commesignal danticipation, soit dans une deuxime boucle de commande.En dnissant les variables pour la position, pour la vitesse, et les consignes d pour la positiondsire etdpour la vitesse dsire. Les lois de commandeu ont la forme dune commande du typeproportionnel plus drive (P + D) :u(t) = Kp(d) Kv (2.3)u(t) = Kp(d) +Kv d(2.4)Des extensions sont prsents dans [Canudas et al., 1997] et [Sciavicco et al., 2000], que nous simpli-ons en :u(t) = Kp(d) +Ki_(d)dt Kv (2.5)oKp, Kiet Kvsontlesgainsducorrecteur.Unemthodepourcalculerlesgainsestpropospar[Canudas et al., 1997].Nous pouvons considrer quil y a deux types dasservissement, lasservissement de position et las-servissement de vitesse. Dans le premier cas, la grandeur de consigne la mme nature que la sortie asservir. Dans le deuxime cas, elles sont de nature diffrente. Lutilisation de lun ou de lautre dpendde lapplication.Nous avons tabli que les conditions opratoires en robotique de service sont faibles par rapport auxconditions opratoires en robotique industrielle pour des raisons de scurit et de confort entre autres.Notre approche est base sur un contrleur de type(P + I) de la forme :u(s) = C(1 +1Tis) (2.6)o s est la variable de Laplace, C est le gain du contrleur et Ti est le temps intgral. Les algorithmesde commande bass sur un schma P + I prsentent un gros inconvnient : la saturation de la partieintgrale. Cet inconvnient doit tre corrig pour obtenir de bonnes performances.2.3.2 La commande par ordinateurPour la commande par ordinateur deux algorithmes ont t proposs [Mahmoud, 1991]. Le premieralgorithme connu sous le nom de lalgorithme de position, calcule la nouvelle loi de commande chaqueinstant dchantillonage. Le deuxime algorithme, appel algorithme de vitesse, calcule lincrment oudelta de la loi de commande. Nous avons retenu lalgorithme de vitesse, il prend la forme :u[kTs] = u[(k 1)Ts] + u[kTs] (2.7)16tel-00199179, version 1 - 18 Dec 20072.3. Asservissement des articulationsavecu[kTs] = C_(e[kTs] e[(k 1)Ts]) + TsTie[kTs]_(2.8)o Ts est le temps dchantillonage. Nous utiliserons la notation [k] pour [kTs] an dallger les expres-sions dans la suite du document.Lalgorithme de vitesse permet de corriger le problme de saturation de la partie intgrale de la loide commande en utilisant une fonction de saturation en sortie du calcul de u[k].La fonction de saturationDnissons la fonction de saturation S(v) telle que :S(v) =___vmaxsi v vmaxv si vmin< v< vmaxvminsi v vmin(2.9)La stabilit du systme en utilisant ce type de fonctions est traite dans [Glattfelder et al., 1983].Le schma completNous dnissons lerreur de position angulaire ePpar :eP= det lerreur de vitesse angulaire eVpar :eV=do lindice Pdsigne la position et Vla vitesse.Nous pouvons calculer les incrments des lois de commande pour lasservissement en vitesse uV [k]etuP[k]pourlasservissementenposition. Nousutilisonsunefonctiondesaturationpourlimiterchacun des deltas. Pour donner au systme la capacit dtre asservi en vitesse ou en position, un slecteurpermet de choisir entre les deux types dasservissement. La loi de commande u[k] peut tre calcule aprsla slection. Nous utilisons une fonction de saturation pour limiter la loi de commande. Nous pouvonsconstruire le schma dasservissement de la gure 2.1.-++-dduV [k]uP[k]Slecteur u[k] Servomoteur 1sFIG. 2.1 Schma dasservissement pour le servomoteur dune articulation.Comme la loi de commande (u[k]) nest pas fonction de la grandeur dentre, nous pouvons faire laslection du type dasservissement (en position ou en vitesse) avant de la calculer. De cette faon, nouspouvons assurer un transfert sans sauts dans la loi de commande car cest le u qui est slectionn, et laloi de commande peut varier au maximum comme deux fois la valeur maximale de u.17tel-00199179, version 1 - 18 Dec 2007Chapitre 2. Commande des bras manipulateursEn limitant la valeur deu[k], le problme de saturation de la partie intgrale est corrig. Un autreavantage de lutilisation dune fonction de limitation pouru[k] est que les bornes correspondent auxlimites en vitesse du servomoteur. O


Top Related