Septembre 2013
Résumé du mémoire de soutenance pour le Diplôme d’Ingénieur
INSA de Strasbourg
- Spécialité Mécatronique -
Et le Master des sciences de l’université de Strasbourg
- Mention Imagerie, Robotique et Ingénierie pour le Vivant -
Parcours Automatique et Robotique
SLAM Visuel Embarqué sur un Robot Quadrupède
Présenté par Anis MEGUENANI
Réalisé au sein de l’Istituto Italiano di Tecnologia
Gênnes ITALIE
2
Superviseurs:
Dr. Stephane Bazeille
Post-doc au sein de l’équipe HyQ
Department of Advanced Robotics
Istituto Italiano di Tecnologia (IIT)
Dr. Renaud KIEFER
Professeur
INSA de Strasbourg
Dr. Jacques Gangloff
Professeur
Université de Strasbourg
Dr. Claudio Semini
Leadeur de l’équipe HyQ
Department of Advanced Robotics
Istituto Italiano di Tecnologia (IIT)
3
Chapitre I
Introduction
1. Context and motivation
SLAM (SLAM signifie Localisation et Cartographie Simultanées) est une caractéristique fondamentale
pour tout robot destiné à pouvoir naviguer de manière autonome. SLAM est composé de deux parties
étroitement liées et complémentaires. La partie localisation permet de traquer les 6 degrés de liberté
du robot dans son environnement en temps réel. La partie Cartographie quant à elle permet de
récupérer les dimensions et les données géométriques des objets ou obstacles potentielles se trouvant
à proximité du robot. Afin d’aider HyQ, un robot quadrupède actionné hydrauliquement à naviguer de
manière autonome, le but de ce travail durant mon stage de fin d’étude à l’Istituto Italiano di
Tecnologia était de mettre en place un système de perception intégré pour terrains non structurés
incluant des obstacles de tailles différentes pour permettre au robot de décider précisément placer
ses pattes et quel chemin emprunter pour atteindre son but.
Afin d’atteindre cet objectif, une caméra stéréo de type Bumblebee2 ainsi qu’une Kinect ont été
utilisés pour explorer et tester les algorithmes du SLAM sur HyQ. Le but étant de décider de la solution
finale la plus adaptée pour une navigation autonome. Contrairement à la Kinect, la caméra stéréo est
plus adaptée pour une utilisation en extérieur mais est cependant moins fiable pour la reconstruction
dans des environnements non texturés. Durant ce projet, les packages open source RGBDSLAM et
Kinect Fusion ont été testés et adaptés pour être utilisés avec la caméra stéréo au lieu de la Kinect et
une approche de cartographie 3D customisée a été développée. Des cartes 3D utilisables pour la
navigation ont alors pu être générées en utilisant ces différentes techniques.
1. Le projet HyQ
Le projet HyQ1 a été démarré en 2007 par le docteur Claudio Semini qui en est aujourd’hui leadeur
sous la supervision du directeur du département de la robotique avancée, le professeur Darwin
Caldwell. Le projet est totalement financé par l’Istituto Italiano di Tecnologia mais est aussi ouvert aux
investissements externes.
HyQ est un robot quadrupède actionné hydrauliquement dont toutes les liaisons sont contrôlées en
force. Le robot est développé à l’Istituto Italiano di Tecnologia (IIT) à Gênnes au sein du département
de robotique avancée (voir Figure 1). HyQ a été construit dans le but de pouvoir se mouvoir sur
différents types de terrains et de réaliser des tâches hautement dynamiques comme sauter ou courir
à une vitesse maximum de 2 m/s. Le robot est utili aujourd’hui comme plateforme de recherche
pour investiguer plusieurs aspects de la locomotion quadrupède tels que la raideur active, le calcul
automatique de la position optimale des pattes, calcul automatique du chemin à emprunter, efficacité
énergétique, actionneurs hydrauliques embarqués.
1HyQ est l’abréviation de Hydraulic Quadruped
4
Figure 1 Le robot HyQ
Chapitre II
Les appareils d’acquisition
Afin de réaliser le SLAM sur HyQ, deux types d’appareils d’acquisition ont été utilisés. Le premier est
la Kinect qui est considérée comme étant un appareil actif et le second une caméra stéréo
Bumblebee2 considérée comme un capteur passif.
1. La Kinect
La Kinect de chez Microsoft (voir Figure 2) englobe en réalité trois capteurs : Une caméra couleur d’une
résolution de 640 x 480, un projecteur infrarouge ainsi qu’une caméra infrarouge de la même
résolution. Une grille infrarouge de points est projetée dans la scène (voir Figure 3) puis par
triangulation, en utilisant le capteur infrarouge, la distance de chaque point par rapport à la caméra
est calculée. C’est ainsi que la Kinect arrive à extraire les données 3D de l’environnement cartographié.
La fréquence des données 3D est de 20 fps.
En sortie direct, la Kinect fournit une image de profondeur (depth map) dont chaque pixel encode
les données 3D d’un point de la grille infrarouge projetée (Voir Figure 4).
Figure 3 La Kinect de chez Microsoft
Figure 2 Grille infrarouge projetée dans la scène
5
1. La camera stereo Bumblebee2
La Bumblebee2 de chez Point Grey est une caméra stéréo grand angle (100°) qui fournit deux images
rectifiées couleurs d’une résolution de 1032 x 776 à une fréquence de 20 fps. Contrairement à la
Kinect, la caméra stéréo ne génère pas directement de données 3D en sortie. Cependant, les
coordonnées 3D des pixels commun entre l’image droite et gauche peuvent être calculées avec des
algorithmes de traitement d’image. Le résultat peut être représenté sous forme d’un nuage de points,
voir Figure 6 et 7.
Les dimensions des objets se trouvant dans la scène peuvent ainsi être évaluées. Durant ce projet deux
algorithmes ont été utilisés pour générer les nuages de points : Le premier s’appelle Bloc Matching
(BM) et le second Sum of Absolute Differences (SAD).
La caméra stéréo est plus adaptée à une utilisation en extérieur que la Kinect. En effet, vu que le
capteur de chez Microsoft projette une grille infrarouge dans l’environnement cartographié, lorsque
celui-ci est exposé à la lumière du soleil, il n’est plus possible d’en extraire des donnés 3D. D’un autre
côté, la Kinect est plus précise que la caméra stéréo en ce qui concerne les données 3D extraits.
Chapitre III
thodes et sultats
Pour générer des cartes 3D, il faut concaténer les nuages de points pour former un plus grand modèle.
Pour cela, la matrice de transformation entre chaque deux nuage de points consécutifs doit être
Figure 4 Image couleur
Figure 5 Image de profondeur
Figure 7 Nuage de points généré avec l'algorithm
Sum of Absolute Differences
1 / 12 100%