Husky Frontier Exploration Demo

This tutorial shows you how to use move_base with gmapping and frontier_exploration to perform autonomous planning movement, and exploration with simultaneous localization and mapping (SLAM), on a simulated Husky, or a factory-standard Husky with a laser scanner publishing on the scan topic.

To adapt this demo to your own Husky, you may need to clone the husky_navigation repository, and modify the relevant parameters. To learn about move_base, gmapping, frontier_exploration and the navigation stack, see the Navigation Tutorials.

Instructions

  1. Please make sure that the Husky navigation demo package is installed:
$ sudo apt-get install ros-indigo-husky-navigation
  1. In three separate terminal windows:

    1. Start the Clearpath-configured Husky simulation environment:
    $ roslaunch husky_gazebo husky_playpen.launch
    
    1. Start the Clearpath-configured rviz visualizer:
    $ roslaunch husky_viz view_robot.launch
    
    1. Start the frontier_exploration demo:
    $ roslaunch husky_navigation exploration_demo.launch
    
  2. In the Rviz visualizer, make sure the visualizers in the Navigation group are enabled.

  3. Use the Point tool in the top toolbar to draw a closed polygon on the map that the Husky should explore. Watch the terminal window for instructions.

  4. As the robot moves, you should see the grey static map (map topic) grow. Occasionally, the gmapping algorithm will relocalize the robot, causing a discrete jump in the map->odom transform.

  5. When the exploration goal is complete, you will see a feedback message in the terminal window. You can now issue a new exploration goal if you wish.

  6. To save the generated map, you can run the map_saver utility:

$ rosrun map_server map_saver -f <filename>