Les opérations principales requises par un robot autonome sont la localisation, le positionnement
et le homing (retour à un point de référence). La localisation consiste à reconnaître un
environnement tandis que le positionnement permet d'évaluer une position géographique précise dans cet
environnement. Le homing ne repose pas nécessairement sur la localisation et le positionnement,
il s'agit plutôt d'un problème de 'recalage'.
Cet article présente quelques méthodes développées dans le cadre de recherches principalement sur
le domaine de la robotique, et notamment une solution originale proposée par l'auteur, basée
sur la combinaison linéaire de vues de référence.
Méthodes recensées
Les données du problème
Bien que l'étude ait un caractère générique, on fait certaines hypothèses sur le robot :
3 degrés de liberté (2 sur un plan horizontal, 1 autour d'un axe vertical)
capteur passif, type caméra CCD
représentation synthétique (2D) de l'environnement (pas de modélisation 3D explicite et exhaustive)
Le système devra notamment être relativement indépendant du point de vue de la scène, et des conditions
environnementales (ex: éclairage). L'environnement est lui-même susceptibles de changements (déplacement
de petit mobilier, affichage sur les murs, etc) qui ne doivent pas perturber le processus de localisation.
Représentations métriques
On représente les scènes par un ensemble de mesures, souvent entre l'observateur et des frontières
(ou contours) choisi(e)s.
Mataric [MAT90] : les mesures sont effectuées par un sonar et repérées par une boussole.
Des points et contours caractéristiques sont extraits de cette image radar de la scène.
Sarachik [SAR89] : technique plus complexe, reposant sur un système de stéréovision
panoramique à 4 caméras. Grâce à une détection de contours, une mesure (Lxlxh) de la pièce
peut être évaluée depuis le point de l'observateur.
Ces méthodes ont l'avantage de posséder une représentation très synthétique de l'environnement,
mais aussi malheureusement de crééer des modèles très ambigus.
Représentation volumique
Le système MARVEL, proposé par Brauneg [BRA90], effectue une mesure 3D puis la réduit en 2D par
projection orthogonale. Le système possède une vue stéréoscopique à 360°, et de cette image panoramique
effectue une détection des objets (meubles notamment), puis binarise l'espace ('il y a un objet ou pas').
Ce volume binarisé est projeté sur le sol, et on obtient un 'plan de masse' de l'occupation au sol
de la pièce.
Ce procédé est complexe et couteux, et souffre d'une perte importante d'information lors de la projection
sur le sol (création d'ambigüitées).
Représentation par signatures ou invariants
Proposée par Engelson [ENG91], cette méthode représente une scène à l'aide d'une petite collection
d'images 2D réduites et lissées. L'information ainsi obtenue décrit un aspect global de la scène.
Pour fiabiliser la méthode il faut disposer de clichés selon plusieurs points de vue pour chaque
environnement. Cette méthode est très simple à mettre en place, mais souffre d'ambigüité dans
des environnement trop stéréotypés (bureaux, usines ...). Représentation tridimensionnelle
Cette méthode d'Onoguchi [OWK90] nécessite une représentation initiale en 3D de l'environnement. Le
système se base sur la détection de repères visuels (mires) dans son champ de vision. Peu de repères
sont nécessaires si on prend la compte la continuité du déplacement : à chaque instant on sait
quels sont les repères dans le voisinage du robot.
La méthode proposée
Chaque scène est représentée par un ensemble de points et de segments, extraits à partir d'images
2D de points de vues proches. Le problème de localisation consiste à vérifier si on peut exprimer
l'image synthétique courante observée par le robot à l'aide de combinaisons linéaires des vues
existantes. Le positionnement revient à exprimer numériquement cette combinaison linéaire, puis
à convertir les coefficients obtenus en positionnement géographique explicite.
La première partie de l'article effectue le développement mathématique de la méthode, en supposant
que la projection 3D->2D peut être représentée par une transformation linéaire. Le calcul est
effectué en 6 degrés de liberté, puis les contraintes du robot (3 degrés) sont appliquées pour obtenir
une méthode pratique de calcul rapide des combinaisons linéaires.
Dans une deuxième partie, un système de correction itératif de l'erreur de projection est proposé.
Il repose sur le développement du facteur non-linéraire en 1/Z à l'aide de la série de Taylor :
l'erreur d'ordre k est introduite à chaque itération afin d'affiner l'estimation des
combinaisons linéaires.
Les tests montrent que le système purement linéaire est relativement fiable dans le cas de projections
de faible perspective, permettant même de distinguer 2 pièces identiques à l'aide de détails de mobilier.
Le système de correction de perspective permet en 3 itérations de s'affranchir de la plupart des
problèmes dûs à la perspective (long couloirs, vues rasant les murs, etc).
Le problème de repositionnement est traité indépendamment des problèmes de localisation et de positionnement.
Il est également basé sur l'alignement de modèles 2D de points et de segments à l'aide de combinaisons
linéaires, mais à l'aide d'une méthode itérative. Le problème est exprimé en tant que minimisations
successives de fonctions d'energie estimant l'adéquation entre la vue courante et les modèles connus.
L'approche proposée positionne le robot en deux phases : déplacement (plan horizontal) puis orientation
(autour de l'axe vertical).
Conclusion
La méthode présentée dans l'article présente l'avantage d'une représentation 2D compacte et riche
(faible ambigüité). Les méthodes et les temps de calculs sont abordables (tous linéaires et d'ordre
o(n)). Le problème du repositionnement peut même être exprimé indépendamment des problèmes
de localisation et de positionnement. La suite des travaux consistera notamment à indexer correctement
une base de représentations compactes de scènes, et ainsi opimiser le processus de localisation.
Contact : Vincent Caron <vincent _at_ zerodeux.net>