Auteurs: Pierre-Yves
Date de création: 5 octobre 2017
Dernière révision: 6 octobre 2017
Introduction - Équipe Détection
Préalables
Jeux de données
Pour commencer à prototyper au niveau de la détection, il est utile de commencer à travailler avec des jeux de données préenregistrés avant de travailler directement avec les caméras. Dans ROS, on enregistre des données dans des rosbag.
Trois rosbags sont mis à votre disposition :
- arene_avec_robots_rgb_dessous_rouge
- arene_avec_robots_rgb_dessous_vert
- arene_avec_robots_rgbd_cote_rouge
La façon la plus simple d’utiliser un rosbag est par la ligne de commande. Ce lien présente les différentes commandes liées aux rosbags. La commande play vous sera la plus utile. N’oubliez pas de lancer roscore dans un autre terminal pour être en mesure de jouer les rosbags.
Outils de diagnostique
Avant de commencer à coder, il faut analyser les données contenues dans le rosbag. Compte tenu que les enregistrements ci-dessus sont principalement des flux d’images, l’outil rqt_image_view est le plus utile. Aussi, l’outil rostopic est essentiel pour analyser les différents flux de données. Enfin, l’outil rqt_graph permet d’avoir une vue d’ensemble de ce qui roule actuellement.
Buts de l’équipe Détection de robots
L’équipe a trois buts principaux :
- Détection des robots cibles.
- Calcul de leur position.
- Calibrer la détection à distance
Toutefois, le principal défi réside toujours dans la détection des robots cibles, en particulier avec les caméras de côté. Pour y arriver, l’équipe explore plusieurs techniques en simultanées :
- La segmentation par couleur et les transformations morphologiques.
- La détection de cercle.
- Les descripteurs de forme
- Réseau de neurones convolutionnel
Nous avons déjà du code permettant la transformation de perspective afin de pouvoir appliquer la détection de cercles aux caméras de côté.
Code de détection actuel
Le code actuel de détection est très expérimental et nécessite d’être réécrit en entier. Envoyez-nous votre nom d’usager GitHub pour qu’on puisse vous ajouter à l’équipe. Ensuite vous pourrez accéder au ROS package de détection de robots avec ce lien. Il vous est conseillé de faire un fork du repository elikos_ros pour faire vos modifications. Lorsque vous aurez du code stable, vous pourrez soumettre un pull request. Voici un tutoriel sur le workflow de GitHub. Ici se trouve la documentation pour le package de détection actuel.
Commencer à travailler
Afin de bien comprendre les enjeux entourant la détection de robots, on vous conseille de commencer par vous créer un node écoutant sur le topic d’images d’un rosbag et d’essayer certaines des méthodes classiques, tels que la segmentation par couleur et la détection de cercle. Les rosbags avec la caméra du dessous devraient être plus faciles. Vous pouvez vous inspirer des bouts de codes dans le package de détection actuel.