Précédent: <<Commande référencée capteurs
La commande référencée vision corke96 hutchinson96 chaumette02 chaumette06 consiste à contrôler les mouvements d’un système robotique en utilisant des informations visuelles, notées s, issues d’une ou plusieurs caméras (ou plus généralement d’un capteur de vision) embarquées ou non sur le système. De nombreux travaux sont basés sur l’exploitation de ces données pour réaliser différents objectifs tels que le positionnement face à un objet, son suivi, sa saisie, etc. La première utilisation de la vision en boucle fermée est due à Shirai et Inoue shirai73 qui décrivirent comment un capteur de vision pouvait augmenter la précision du positionnement. On parlait alors de retour par vision (visual feedback). Mais c’est à Hill et Park hill79 que l’on doit l’apparition du terme asservissement visuel (visual servoing). Plusieurs approches ont depuis vu le jour. Sanderson et Weiss sanderson80 en propose ainsi deux grandes classes selon l’utilisation des informations visuelles : l’asservissement visuel 3D (ou position-based control) et l’asservissement visuel 2D (ou image-based control). Notons qu’il existe aussi des approches intermédiaires plus récentes telles que l’asservissement visuel 2D½ malis98 ou d2D/dt cretual98.
L’asservissement visuel 3D utilise en entrée de la boucle de commande des informations tridimensionnelles, à savoir la situation r de la caméra, par rapport à l’objet d’intérêt. La tâche à réaliser s’exprime alors sous la forme d’une situation de référence r∗ à atteindre (voir figure 1). La commande repose ainsi sur la détermination de la situation r de la caméra, à partir des informations visuelles extraites de l’image (voir figure 1).
De nombreuses méthodes permettent d’estimer la situation d’une caméra par rapport à un objet à partir de l’image perçue de cet objet. Elles reposent très généralement sur la connaissance a priori d’un modèle (3D ou 2D) de l’objet et des paramètres intrinsèques de la caméra. Ces méthodes utilisent des informations visuelles de différentes nature, telles que des points horaud89 haralick89, des droites dhome89… Toutefois des travaux, issus des recherches en reconstruction 3D par vision dynamique, permettent d’estimer le modèle de l’objet d’intérêt, ou de localiser la caméra à partir de mesures de mouvement 2D ou 3D, élargissant ainsi les tâches considérées.
Les techniques d’asservissement visuel 2D utilisent directement les informations visuelles, notée s, extraites de l’image. La tâche à réaliser est alors spécifiée directement dans l’image en termes d’indices visuels de référence s à atteindre. La loi de commande consiste alors à contrôler le mouvement de la caméra de manière à annuler l’erreur entre les informations visuelles courantes s(t) et le motif désiré s* (voir figure 2). Cette approche permet donc de s’affranchir de l’étape de reconstruction 3D de la cible et des problèmes qui y sont liés.
Le choix des informations visuelles et l’obtention de la relation les liant au mouvement de la caméra sont deux aspects fondamentaux de l’asservissement visuel 2D. Cette relation, obtenue par dérivation des informations sensorielles s par rapport à la situation r de la caméra, est définie par une matrice appelée jacobienne de l’image ou matrice d’interaction. La synthèse de la commande repose sur l’élaboration d’une méthode de calcul explicite de cette matrice souvent associée à des primitives géométrique simples, telles que des points feddema89, des droites, des cercles, des ellipses chaumette90, ou encore des moments de l’image chaumette04. Ainsi, les asservissements visuels 2D sont, d’une manière générale, des lois de commandes relativement rapides à calculer (eg. fonction du temps de calcul de traitement d'images:), puisqu’il n’y a pas de phase de reconstruction 3D. Ce gain de temps n’est pas négligeable puisque le délai d’application de la commande est réduit, ce qui contribue à la stabilité du système wunsch97. De plus, les asservissements basés sur l’image permettent la réalisation de tâches de manière très efficace et précise. C’est ainsi que ce type de commande se rencontre de plus en plus dans différents domaines d’application. Citons par exemple la conduite d’engins sous-marins rives97icra rives97iros, de véhicules autonomes personnels martinet00 ou agricoles khadraoui98. La robotique chirurgicale apparaît également comme un champ d’application privilégié des dernières avancées de l’asservissement visuel 2D krupa03 vitrani06.
Les travaux que j'ai mené dans le cadre de ma thèse exploitent principalement l'asservissement visuel 2D. Je me suis plus particulièrement intéressé à la définition de stratégie de commande référencée vision pour un robot mobile de type char (soit non-holonome): le robot Super Scout II développé par la société Nomadic Technologies, et mis à notre disposition par l’AIP-PRIMECA de Toulouse.
À titre d'exemple, vous pouvez visualiser ci-dessous un exemple d'expérimentation d'asservissement visuel simple sur notre robot Super Scout II.
L’asservissement visuel 2D½ malis98 malis00 fang02exploite des informations à la fois de nature 2D et 3D. Cette technique est basée sur l’estimation de l’homographie, notée H, qui relie l’image d’au moins trois points entre différents plans projectifs faugeras93 (voir figure 3). L’homographie est une application projective bijective, correspondant à une transformation linéaire entre deux plans projectifs. Plus précisément, elle permet d’établir (à un facteur d’échelle α près) une bijection entre un objet de l’espace 3D et une image 2D, ou bien entre deux images 2D d’un même objet. Dans ce dernier cas, elle permet de lier les projections d’un ensemble de points 3D P , appartenant à un même plan, sur deux plans image Π1 et Π2 par la relation: p/Π2 = α H p/Π1, ∀α∈R∗, où p/Π1 et p/Π2 représentent respectivement la projection des points P sur les plans Π1 et Π2.
Ainsi, l’asservissement visuel 2D½ repose sur la détermination de l’homographie H entre l’image courante et l’image désirée. En effet, à partir de cette homographie il est possible de calculer le déplacement en rotation R que la caméra doit effectuer pour atteindre la situation spécifiée, ainsi que la direction de son déplacement en translation. Comme la translation à réaliser n’est connue qu’à un facteur d’échelle α près, un asservissement visuel purement 3D est impossible. Cependant, il est possible d’aboutir à une solution grâce à la combinaison des informations 2D (fournies par l’image) et 3D disponibles. Le vecteur des informations visuelles s est donc défini sur la base de donnée 2D et 3D. Ainsi, l’asservissement visuel 2D½ est une approche intermédiaire entre l’asservissement 3D et 2D. La boucle d’asservissement ainsi synthétisée permet de séparer la rotation et la translation de la caméra, et d’obtenir un fort découplage de la loi de commande. L’avantage majeur de cette approche est que la connaissance du modèle géométrique 3D de l’objet n’est plus nécessaire. La seule information 3D utilisée dans la synthèse de la commande est la profondeur désirée z d’un point de l’objet.