documentation

View project on GitHub

Tutoriel: Détection des cibles

Ce tutoriel présente comment lancer le package de détection avec ces différentes options.

Révisions

Auteur: Pierre-Yves
Date : 18 octobre 2016
Idiot-proofé par : _____

Étapes

Fichiers de configuration

Chaque instance du package de détection est associée à une caméra.
Les données d’une caméra sont définies dans le fichier .yaml portant son nom dans le dossier elikos_detection/cfg/cameras/.
Le paramètre le plus important à modifier est le nom du topic qui reçoit les images.
Par exemple, si des images sont publiées sur cam1/camera/image_raw, vous devez mettre cette valeur dans le paramètre topic.
Les autres paramètres sont définis dans elikos_detection/README.md.

Lancer le package

Pour lancer le package, vous devez d’abord sourcer votre workspace (comme toujours) :
source ./devel/setup.bash
Ensuite, vous devez exécuter le launch file correspondant au package de détection.
roslaunch elikos_detection elikos_detection.launch
Le fichier de configuration par défaut est elikos_ffmv_bottom.yaml, si vous en avez créé un autre (ex: autre_cam.yaml) vous devez le spécifier au lancement du package.
roslaunch elikos_detection elikos_detection.launch cfg:=autre_cam.yaml
Dans le cas où plusieurs caméras sont utilisées pour la détection, vous devez spécifier le nom de la caméra.
roslaunch elikos_detection elikos_detection.launch camera_name:=autre_cam

Calibration

Pour lancer la Calibration à distance, vous devez d’abord sourcer votre workspace (comme toujours) :
source ./devel/setup.bash

Sur chacune des 2 machine (celle avec elikos_detection et celle avec remote_calib), executer la commande: hostname -I et récupérer la première adresse IP.

Executer ensuite export $ROS_IP="METTEZ L'IP ICI" (sans les guillemets)

Dans la machine à distance (celle d’où l’on désir calibrer), lancer:
export $ROS_MASTER_URI=http://<IP_DE_LA_MACHINE_A_CALIBRER>:11311

Lancer elikos_detection (voir section plus haut) sur le drone, pour ensuite lancer le launch file suivant:
roslaunch elikos_detection elikos_remote_calib.launch

Dès que la calibration à distance est lancée, vous devriez voir 2 fenêtres:
La première (contenant les bandes noires sur la gauche), est la fenêtre de calibration (les bandes noires vont être remplacées par un aperçu de la calibration).
La deuxième fenêtre est celle où la calibration par click peut être ajustée.

La sélection de la couleur à calibrer se fait avec le NUMPAD:

  • 0 = Rouge
  • 1 = Vert
  • 2 = Blanc

Touches spécifiques

  • Pour synchroniser les valeurs présentes dans le drone (et avoir un aperçu):
    Choisissez la couleur à synchroniser puis appuyez sur la touche “R” (reload).
  • Pour sauvegarder la calibration, appuyez sur la touche “S” (save).
  • Pour quitter la calibration, appuyez sur “ESC” (escape).

Outils pour travailler avec la détection

rqt_image_view

Une fois la détection lancée, vous pouvez en observer les résultats à l’aide de l’outil rqt_image_view.
Taper simplement rqt_image_view dans une fenêtre de commande pour lancer l’outil.
Avec le menu déroulant du haut, vous pouvez choisir le topic que vous souhaitez regarder. Vous devrez y retrouver le nom de topic des images que la détection utilise, ainsi qu’un autre se terminant par /debug qui montre les résultats de la détection (ce qui peut être utile pour le débogage).

rosbag

Si vous n’êtes pas connecté à une caméra, vous pouvez utiliser un rosbag contenant des données enregistrées préalablement.
Les rosbags se trouvent sur le Google Drive de l’équipe dans le dossier Elikos Pub/3-4 Team Navigation/ROSBAG.
Après avoir lancé un roscore, vous pouvez lancer un bag en exécutant la ligne suivante :
rosbag play nom_du_bag.bag -l
Avec rqt_image_view, vous devriez avoir accès à quelques flux d’images que vous pouvez utiliser pour tester la détection.