Contexte : robotique en environnements extérieurs
Les applications de la robotique mobile autonome en environnements extérieurs sont nombreuses : surveillance de site à la recherche d’anomalies, campagne d’acquisition de données, exploration, recherche de victimes sur des lieux de catastrophes, etc. L’intérêt de la robotique autonome pour de telles applications est d’autant plus grand que les environnements peuvent être dangereux ou risqués pour l’homme, limitant les possibilités d’intervention directe, ou que les missions couvrent de tels espaces que l’efficacité (voire la possibilité) de solutions téléopérées devient très faible.
Du point de vue de la robotique, ce qui caractérise principalement ces applications est la grande taille des espaces dans lesquels évoluent les robots, et par conséquent la durée d’exécution des missions. Les systèmes déployés doivent posséder une grande mobilité, la taille des espaces imposant des vitesses de locomotion suffisamment rapides, bien supérieures à celles des robots d’exploration planétaire par exemple. La capacité de navigation autonome est donc naturellement une fonction essentielle, sur la base de laquelle se bâtissent l’ensemble des autres fonctions nécessaires à la réalisation de la mission : planification de tâches pour la surveillance, le suivi d’événement ou l’exploration ; analyse de situation ; construction de modèles d’environnement (parfois pour la finalité de la mission, et pratiquement toujours pour les besons de la navigation autonome) ; etc.
Notons que la grande taille des environnements considérés et les durées des missions rendent également particulièrement utiles l’exploitation simultanée de plusieurs robots. Cela permet d’une part de développer des synergies opérationnelles, principalement en augmentant l’élongation spatiale des systèmes déployés et en apportant de la robustesse aux pannes des robots, et d’autre part de développer des synergies pour les fonctions robotiques impliquées. On peut en effet définir des schémas où les robots s’échangent des informations sur l’environnemt dans lequel il évoluent (par exemple, un robot aérien supporte un robot terrestre en lui fournissant des informations sur l’environnement qui l’entoure), où ils s’assistent pour la localisation, voire même où un robot transporte un autre (ainsi un AUV à décollage vertical peut-être apporté sur site par un robot terrestre).
De l’importance de la localisation
Définition
Le problème de la localisation consiste à fournir des informations sur la position d’un objet exprimées par référence à un repère connu (dans le sens général du terme), et cherchant à approcher au mieux la réalité. Le terme position peut-être défini de manière qualitative, symbolique (« le robot A est dans la pièce X »), auquel cas on parle de localisation qualitative ou topologique, ou bien de manière quantitative, par un ensemble de valeurs numériques associées à un repère, auquel cas on parle de localisation métrique. L’ensemble de nos travaux traitent de localisation métrique dans l’espace, où la position est définie par 6 paramètres.
L’information de position, qu’elle soit qualitative ou quantitative, peut être exprimée de différentes manières, dépendant d’une part de l’approche utilisée pour résoudre le problème de la localisation, et d’autre part de la fonctionnalité qui exploite la localisation. Mais cette expression doit toujours contenir à la fois une information de position et une information de confiance exprimant sa proximité avec la réalité. Cette information de confiance est en effet indispensable pour représenter les incertitudes, erreurs ou imprécisions des informations qui ont mené à une estimation de la position : elle permet d’intégrer d’autres informations, et est aussi utile aux processus qui exploitent l’estimée de la position (pour garantir qu’une trajectoire ne générera pas de collisions par exemple, ou bien pour pour qualifier la qualité d’un modèle de l’environnement construit). Pour la localisation quantitative, on pourra par exemple exploiter un jeu d’intervalles dans lesquels on garantit que la position réelle se trouve, ou bien une distribution de probabilités, paramétrique (gaussiennes par exemple) ou non (population de particules par exemple).
Localisation en robotique mobile
La localisation est une fonction clé dans le contexte de la robotique mobile autonome car elle est indispensable à de nombreuses autres fonctions, particulièrement :
— construction de modèles d’environnement. Une mauvaise localisation pourra créer des discontinuités et plus généralement des incohérences qui rendront difficile voire impossible l’exploitation des modèles de l’environnement construits sur la base des données acquises par le robot (notamment pour la planification des déplacements, mais aussi pour la reconnaissance de lieux, l’analyse de situation,…).
— exécution des trajectoires. L’échec de suivi ou le suivi d’une mauvaise trajectoire provoquée par une localisation trop peu performante peut avoir de graves conséquences, par exemple pour l’évitement des obstacles.
— supervision de la locomotion. Les organes de mobilité du robot peuvent être mis en échec face à des situations particulières (glissements, embourbements, . . . ), qui sont fréquents en environnements extérieurs. La détection de telles situations est un problème de diagnostic, pour lequel l’évolution de l’information de localisation est une donnée d’entrée importante.
— supervision des missions. Les missions sont le plus souvent définies en terme de positions d’objectifs à rallier ou de zones d’intérêts, décrites de façon métrique (« goto (x, y) », « explore area », . . . ), et le suivi de la localisation du robot lors de ces évolutions est une information de base qui est exploitée pour superviser ses activités dans le but de réaliser les missions.
— localisation d’événements. La localisation d’événements ou de cibles est la principale information opérationnelle dans la plupart des missions de surveillance ou d’observation. Réalisée par les capteurs dédiés embarqués à bord des robots, cette localisation se base nécessairement sur la localisation du robot. De manière plus générale, l’analyse de situation requiert aussi la localisation de différents éléments.
On voit donc que la localisation joue un rôle dans de nombreuses fonctionnalités robotiques, sur un large spectre de « niveaux », du diagnostic de la locomotion à la supervision globale du déroulement de la mission.
Quelle qualité de localisation ?
Indépendamment des informations et des processus exploités pour produire une information de localisation, toute solution de localisation peut être qualifiée par les critères indépendants suivants :
— précision de la localisation. Pour des applications robotique, cette précision va de quelques centimètres à plusieurs mètres.
— fréquence de mise à jour de l’information : de plusieurs centaines de Hertz à uniquement « de temps en temps » (« 1 fois par minute » par exemple).
— repère de référence dans lequel est exprimée la position : local au robot, ou global à l’environnement .
Notons que ces critères s’appliquent aussi pour qualifier une solution de localisation qualitative non métrique – la précision et la notion de repère de référence étant définies différemment. Bien entendu, l’expression de ces critères dépend de la fonctionnalité qui exploite l’information de position. Ainsi pour des tâches de construction de modèles d’environnement pour la navigation, ou d’exécution de trajectoire, on cherchera à avoir une localisation très précise, et à haute fréquence, mais on se contentera d’avoir ces qualités dans un repère local. Au contraire pour des tâches de supervision et de planification de mission, on se contentera d’une faible précision et fréquence, mais on exigera que la précision soit bornée dans un repère global. Enfin d’autres tâches comme la construction de modèles globaux précis nécessiteront une grande précision, et ce dans un repère global.
|
Table des matières
1 Introduction
1.1 Contexte : robotique en environnements extérieurs
1.2 De l’importance de la localisation
1.2.1 Définition
1.2.2 Localisation en robotique mobile
1.2.3 Quelle qualité de localisation ?
1.3 Objectif de la thèse et approche
1.4 Contributions et organisation du manuscrit
2 Etat de l’art
2.1 Moyens de localisation
2.1.1 Capteurs embarqués
2.1.2 Informations a priori
2.1.3 Synthèse
2.2 Navigation à l’estime
2.2.1 Odométrie
2.2.2 Navigation inertielle
2.2.3 Odométrie optique
2.3 Localisation par rapport à un modèle initial
2.3.1 Exploitation d’une infratructure dédiée
2.3.2 Exploitation de cartes de l’environnement
2.4 SLAM
2.4.1 Aperçu historique
2.4.2 Caractérisation d’une approche de SLAM
2.4.3 Présentation des principales méthodes d’estimation probabiliste
2.5 Synthèse
3 Présentation générale du framework RT-SLAM
3.1 Les bases du filtrage de Kalman
3.1.1 Définition du système
3.1.2 Le filtre de Kalman
3.1.3 Le filtre de Kalman étendu
3.1.4 Application au problème de SLAM
3.1.5 Propagation des incertitudes
3.2 RT-SLAM
3.2.1 Architecture
3.2.2 État du robot
3.2.3 Aspects d’implémentation
3.3 Méthodologie d’évaluation
3.3.1 Les plateformes
3.3.2 Les séquences
3.3.3 La méthodologie
3.4 Bilan
4 SLAM visuel monoculaire pur
4.1 Modèles de mouvement
4.1.1 Modèle à vitesse constante
4.1.2 Modèle à accélération constante
4.2 Modèles de caméra
4.2.1 Caméra perspective
4.2.2 Caméra omnidirectionnelle
4.2.3 Considérations pratiques
4.3 Modèles d’amers
4.3.1 Utilisation de points
4.3.2 Utilisation de lignes
4.4 Aspects d’implémentation
4.4.1 Recherche active
4.4.2 Contrôle de compatibilité
4.4.3 One-point RANSAC
4.4.4 Gestion des amers
4.4.5 Traitement d’image
4.5 Améliorations et variantes
4.5.1 Reparamétrisation des amers
4.5.2 Gestion temps réel de l’intégration des amers
4.5.3 Observations significatives
4.5.4 Amélioration du suivi des amers
4.5.5 Carte de visibilité
4.5.6 Amers virtuels
4.6 Résultats
5 SLAM visuel-inertiel
6 Conclusion