Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mapping_integration_web [2018/02/13 15:34] – [Affichage de la localisation du robot] mgp3202018 | mapping_integration_web [2020/07/03 17:38] (current) – Tag0 Added: pepper mai | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Cette documentation explique comment créer une carte à partir d'un robot pour l' | Cette documentation explique comment créer une carte à partir d'un robot pour l' | ||
| + | Ce travail se base sur cet article : [[https:// | ||
| + | |||
| + | Vidéo de démonstration de la solution : [[https:// | ||
| ===== Liste des packages utilisés ===== | ===== Liste des packages utilisés ===== | ||
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| - | * http:// | + | * http:// |
| + | * http:// | ||
| + | |||
| + | Tous ces packages peuvent être installés en utilisant la commande : | ||
| + | sudo apt-get install ros-< | ||
| + | La liste des packages disponibles sur une distribution ROS peut être affichée comme ceci : | ||
| + | apt-cache search ros-< | ||
| + | |||
| + | Pour Pepper, il faut utiliser ROS Kinetic (installable sur Ubuntu 16.04).\\ | ||
| + | Pour RB-1, il faut utiliser ROS Indigo (installable sur Ubuntu 14.04). | ||
| ===== Création d'un rosbag ===== | ===== Création d'un rosbag ===== | ||
| Line 25: | Line 37: | ||
| On se connecte au robot. Pour Pepper : | On se connecte au robot. Pour Pepper : | ||
| roslaunch pepper_bringup pepper_full_py.launch nao_ip: | roslaunch pepper_bringup pepper_full_py.launch nao_ip: | ||
| - | Pour RB1 : | + | Pour RB1 (il faut au préalable être connecté au WiFi du robot) |
| export ROS_MASTER_URI=http:// | export ROS_MASTER_URI=http:// | ||
| On lance l' | On lance l' | ||
| Line 46: | Line 58: | ||
| rosrun gmapping slam_gmapping scan: | rosrun gmapping slam_gmapping scan: | ||
| On rejoue le bag : | On rejoue le bag : | ||
| - | rosbag play --clock </ | + | rosbag play --clock <nom_du_bag>.bag |
| Avant d' | Avant d' | ||
| rosrun map_server map_saver -f < | rosrun map_server map_saver -f < | ||
| + | Exemple de carte obtenue avec les lasers de RB-1 :\\ | ||
| + | {{: | ||
| + | Les traits que l'on voit sont des aberrations dues aux lasers, on peut réduire leur impact en jouant sur les paramètres lors de la génération de la carte (paramètre // | ||
| ==== Spécificités de Pepper ==== | ==== Spécificités de Pepper ==== | ||
| Line 64: | Line 79: | ||
| On lance le package // | On lance le package // | ||
| rosrun pointcloud_to_laserscan pointcloud_to_laserscan_node cloud_in: | rosrun pointcloud_to_laserscan pointcloud_to_laserscan_node cloud_in: | ||
| - | Puis on génère la carte comme dans le cas général. | + | Puis on génère la carte comme vu dans la partie 3. |
| ===== Intégration de la carte dans une interface Web ===== | ===== Intégration de la carte dans une interface Web ===== | ||
| Le principe est le suivant : // | Le principe est le suivant : // | ||
| + | \\ | ||
| Pour cela, on publie un topic de map à partir du fichier de map enregistré.\\ | Pour cela, on publie un topic de map à partir du fichier de map enregistré.\\ | ||
| NB : il faut bien utiliser le fichier .yaml et non le fichier .pgm de la carte. | NB : il faut bien utiliser le fichier .yaml et non le fichier .pgm de la carte. | ||
| Line 275: | Line 291: | ||
| ===== Affichage de la localisation du robot ===== | ===== Affichage de la localisation du robot ===== | ||
| - | Pour la localisation du robot, on utilise le package amcl.\\ | + | Pour la localisation du robot, on utilise le package |
| Si ce n'est pas déjà fait, on publie la carte : | Si ce n'est pas déjà fait, on publie la carte : | ||
| rosrun map_server map_server < | rosrun map_server map_server < | ||
| On lance la lecture du bag : | On lance la lecture du bag : | ||
| - | rosbag play --clock </ | + | rosbag play --clock <nom_du_bag>.bag |
| On lance la détection AMCL à partir des lasers (pour RB1, /// | On lance la détection AMCL à partir des lasers (pour RB1, /// | ||
| rosrun amcl amcl scan: | rosrun amcl amcl scan: | ||
| La page Web s' | La page Web s' | ||
| + | |||
| + | ===== Travaux futurs ===== | ||
| + | ==== Pour Pepper ==== | ||
| + | |||
| + | * Troubleshooting de l' | ||
| + | * Normalement, | ||
| + | |||
| + | ==== Pour le déplacement de RB-1 à la localisation spécifiée ==== | ||
| + | |||
| + | * Publier les coordonnées de destination depuis l' | ||
| + | * Utiliser ces coordonnées pour déplacer RB-1 (probablement grâce au package // | ||
| + | {{tag> pepper ros }} | ||