Commande référencée vision d’un robot mobile

Le systeme robotique

Presentation du robot

Dans ce mémoire nous abordons la navigation de robots composés d’une base mobile non holonome équipée d’une caméra montée sur une platine commandable en lacet. Les robots Pekee II (Fig. 2.1) et Rackham (Fig. 2.2), ainsi que de nombreux autres systèmes correspondent à ce type de système robotique. La grande majorité des expériences présentées dans ce mémoire ont été réalisées avec le robot Pekee II. Pour cette raison, nous nous attardons plus particulièrement sur ce dernier. Ce robot a été développé par la société Wany Robotics. La base mobile, d’un diamètre et d’une hauteur de 38cm, est équipée de deux roues motrices contrôlées indépendamment par des moteurs de 12 volts commandables en vitesse. La platine possède un débattement de ±170◦ et tolère une vitesse allant jusqu’à 100◦/s. Deux ordinateurs Mini ITX avec un processeur Intel Core2Duo T7100 sont embarqués. De plus, ils possèdent une mémoire vive de 2 GO et une mémoire morte de 180 GO. Finalement, un dispositif WLAN Wifi 802.11b/g leur permet de communiquer avec d’autres ordinateurs non embarqués. Le robot est en outre doté d’une caméra Axis 214 PTZ (nous reviendrons sur cette dernière dans la section 2.1.3), d’un odomètre, d’un contacteur (bumper) à 360◦ , de 16 télémètres infrarouges Sharp GP2D120 et d’un télémètre laser Hokuyo URG-04LX. Ce dernier possède une portée de 5.6m, une résolution de 0.36◦ et une précision de 1cm. Les diverses fonctions haut niveau permettant de contrôler le robot ont été développées en langage C++ au sein de l’AIP-PRIMECA de Toulouse.

Modelisation du robot

La synthèse d’une loi de commande nécessite de préalablement modéliser le système que nous désirons commander. Dans cette section nous présentons la géométrie du système, les différents repères associés au robot ainsi que les matrices de passage homogènes associées. Nous introduisons une définition des états du robot et de la caméra. Enfin, nous terminons cette section en présentant le vecteur de commande, le torseur cinématique de la caméra ainsi que la matrice jacobienne du robot. Nous verrons par la suite que les trois derniers éléments sont primordiaux dans la synthèse d’une loi de commande réalisant un asservissement visuel 2D.

Definition des reperes

La modélisation du robot s’appuie sur différents repères (Fig. 2.3) définis comme suit:
– RO(O, ~xO, ~yO, ~zO) : le repère lié à la scène.
– RM(M, ~xM, ~yM, ~zM) : le repère lié à la base mobile.
– RP (P, ~xP , ~yP , ~zP ) : le repère lié à la platine.
– RC(C, ~xC, ~yC, ~zC) : le repère lié à la caméra.
Dx est la longueur de l’entre-axe [MP], valant 10cm pour le robot Pekee II. Pour la base mobile, la position est représentée par les coordonnées (XM, YM) du point M dans le repère RO tandis que l’orientation est donnée par l’angle θ = (~xO, ~xM). La position de la caméra dans le repère RP est décrite par le vecteur P C = (Cx Cy Cz)T. L’orientation de la platine est donnée par l’angle ϑ = (~xM, ~xP ).

Les informations visuelles

Dans ce mémoire, nous proposons de réaliser une navigation par asservissement visuel. Pour cela, l’image obtenue par la caméra doit être préalablement traitée afin de fournir les informations visuelles utilisées dans la boucle de commande. De plus, ce type de commande nécessite de connaître la matrice reliant les variations des informations visuelles dans l’image aux mouvements de la caméra (cf. section 2.3). Cette matrice est connue sous le nom de matrice d’interaction [Chaumette 1990].

Choix des primitives visuelles

Lors d’une navigation dans un environnement en milieu naturel, nous cherchons à caractériser l’environnement à partir d’informations visuelles indépendantes du zoom, de la résolution du capteur, du cadrage, de l’angle d’observation et de l’exposition. Pour cela, nous nous appuyons sur des points de Harris [Harris & Stephens 1988] ou bien des descripteurs SURF [Lowe 1999] ou SIFT [Bay et al. 2006]. Les informations visuelles sont alors des points. Bien que nous utilisons régulièrement des amers artificiels, notre choix pour réaliser une navigation visuelle se porte sur des primitives de type point.

La commande referencee vision

Selection de la loi de commande

Afin de réaliser une navigation par asservissement visuel, diverses lois de commandes s’offrent à nous. Les asservissements visuels 3D (Position Based Visual Servoing ou PBVS) et 2D (Image Based Visual Servoing ou IBVS) [Chaumette & Hutchinson 2006] constituent les approches les plus générales. Le PBVS contrôle la caméra à l’aide d’une boucle de commande où la situation de la caméra est explicitement prise en compte. Un processus d’estimation de la situation basé sur les données visuelles est alors mis en place. Ce dernier, assimilable à une localisation métrique, rend la méthode sensible aux bruits de mesures et aux erreurs de modélisation. Lors de l’asservissement, la caméra cherche à atteindre la situation de référence le plus directement possible, entraînant des mouvements pertinents dans l’espace de travail. Cependant l’évolution des indices visuels dans l’image n’est pas prise en compte, et il peut arriver que la caméra perde la cible de vue [Chaumette & Hutchinson 2006].

L’IBVS consiste à contrôler le robot en utilisant directement les informations visuelles dans la boucle de commande. Différentes primitives  peuvent être considérées : le point, le segment, la droite, l’ellipse [Chaumette 1990], les moments de l’image [Chaumette 2004], …. Le choix des primitives influence la trajectoire de la caméra dans l’espace de travail lors de l’asservissement. L’IBVS permet d’obtenir une certaine robustesse vis-à-vis des erreurs de modélisation. En effet, aucun processus d’estimation n’est présent dans la boucle. Avec cette méthode, la caméra cherche à atteindre le plus directement possible le but qui est défini dans l’image. Nous obtenons alors de très bonnes trajectoires des indices visuels dans l’image. Néanmoins, les mouvements de la caméra dans l’espace de travail nécessaires pour réaliser cette performance, peuvent apparaître compliqués et inutiles [Chaumette 1998]. De plus, les asservissements nécessitant de grandes rotations et translations selon un même axe peuvent entraîner un échec de la régulation de l’erreur.

Les deux solutions n’étant pas entièrement satisfaisantes, des méthodes hybrides ont été développées telles que celle proposée par Deguchi [Deguchi 1998] ou l’asservissement visuel 2D1/2 [Malis et al. 1999]. Les auteurs proposent de découpler le calcul des vitesses de translation de celui des vitesses de rotations. Dans [Deguchi 1998], les translations sont calculées sur la base d’informations 3D tandis que les rotations sont calculées à partir d’informations 2D. Dans [Malis et al. 1999] c’est l’idée inverse qui est développée. Dans les deux cas, les auteurs tentent de tirer avantage de l’IBVS et du PBVS. En effet, une étude présentée dans [Gans et al. 2003] montre que ces deux méthodes permettent de garder les indices visuels dans le champ de vue de la caméra lors de grands déplacements tout en ayant des mouvements pertinents de la caméra. Cependant, les données 3D étant estimées, elles sont sensibles aux bruits de mesures et aux erreurs de modélisation [Gans et al. 2003].

Une dernière approche consiste à utiliser différents jeux de primitives visuelles afin d’obtenir de bonnes trajectoires de la caméra [Chaumette 1990]. Dans [Corke & Hutchinson 2001], les auteurs proposent de calculer séparément les vitesses de translation et de rotations autour de l’axe optique. Celles-ci sont alors déterminées à partir de deux primitives particulières. Les autres, étant définies classiquement pour un asservissement visuel 2D, sont des points. En l’absence de processus d’estimation, cette approche est robuste aux bruits de mesures et aux erreurs de modélisation. De plus, elle permet d’obtenir des performances satisfaisantes lors de grands déplacements selon l’axe optique. Cependant, cette méthode est sensible au point de vue de la caméra lors du calcul des vitesses relatives à l’axe optique. Dans notre étude nous nous intéressons à la commande d’une caméra embarquée sur un robot muni d’une platine. La caméra ne possédant plus tous ses degrés de liberté, les problèmes liés aux translations et rotations selon un même axe ne se posent plus. Il en est de même pour les rotations autour de l’axe optique qui ne sont plus permises. Afin de réaliser notre tâche de navigation, nous avons finalement choisi d’exploiter l’asservissement visuel 2D. Ainsi, nous bénéficions d’une loi de commande robuste aux erreurs de mesure et aux incertitudes de modélisation. La loi de commande que nous utiliserons dans la suite de ce document est basée sur le formalisme des fonctions de tâches. Nous rappelons d’abord ce formalisme avant de présenter la synthèse de la loi de commande. Nous terminerons avec des simulations illustrant le comportement de notre système robotique lors de tâches de navigation.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Introduction
2 Commande référencée vision d’un robot mobile
2.1 Le système robotique
2.1.1 Présentation du robot
2.1.2 Modélisation du robot
2.1.2.1 Définition des repères
2.1.2.2 Les matrices de passage homogènes
2.1.2.3 Définition du vecteur d’état
2.1.2.4 Définition du vecteur commande
2.1.2.5 Le torseur cinématique de la caméra
2.1.2.6 Le jacobien du robot
2.1.3 Modélisation de la caméra
2.2 Les informations visuelles
2.2.1 Choix des primitives visuelles
2.2.2 La matrice d’interaction
2.3 La commande référencée vision
2.3.1 Sélection de la loi de commande
2.3.2 Le formalisme des fonctions de tâche
2.3.2.1 Présentation du formalisme
2.3.2.2 La notion de ρ−admissibilité
2.3.3 Synthèse de la commande pour la navigation
2.4 Conclusion
3 Contribution à la gestion des occultations
3.1 Gestion des occultations par reconstruction des indices visuels
3.1.1 Calcul des équations d’évolution des indices visuels
3.1.2 Utilisation des équations d’évolution des indices visuels pour la gestion des occultations
3.2 Le prédicteur/correcteur
3.2.1 Le prédicteur/correcteur avec deux images
3.2.2 Première approche pour le prédicteur/correcteur avec n images
3.2.2.1 Etude de la commandabilité de la base mobile
3.2.2.2 Calcul des vitesses équivalentes
3.2.2.3 Calcul du prédicteur/correcteur avec n images
3.2.3 Seconde approche pour le prédicteur/correcteur avec n images
3.2.3.1 Etude de la commandabilité de la caméra
3.2.3.2 Calcul de la vitesse équivalente
3.2.3.3 Calcul du prédicteur/correcteur avec n images
3.3 Comparaison avec d’autres méthodes
3.3.1 Observateur non linéaire non minimal [De Luca et al. 2008]
3.3.2 Observateur non linéaire minimal [Morbidi & Prattichizzo 2009]
3.3.3 Simulations de l’estimation par observateurs non linéaires
3.3.4 Etude comparative
3.4 Applications
3.4.1 Gestion des occultations
3.4.2 Calcul des indices visuels de référence s∗
3.4.3 Calcul de la matrice d’interaction
3.4.4 Phase d’initialisation
3.5 Conclusion
4 Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

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