Husky AMCL Demo

This tutorial shows you how to use move_base with amcl to perform autonomous planning and movement with localization 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, amcl, 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-noetic-husky-navigation
  1. In three separate terminal windows:

    1. Start the Clearpath-configured Husky simulation environment:

    export HUSKY_LMS1XX_ENABLED=1;  roslaunch husky_gazebo husky_playpen.launch
    
    1. Start the Clearpath-configured rviz visualizer:

    roslaunch husky_viz view_robot.launch
    
    1. Start the amcl demo:

    roslaunch husky_navigation amcl_demo.launch
    
  2. In the Rviz visualizer, make sure the visualizers in the Navigation group are enabled.

  3. Use the 2D Pose Estimate tool in the top toolbar to give amcl an initial pose estimate. Without an initial estimate, the Monte Carlo localization approach is unlikely to converge the correct pose.

  4. Use the 2D Nav Goal tool in the top toolbar to select a movement goal in the visualizer. Make sure to select an unoccupied (dark grey) or unexplored (light grey) location.

  5. Note that in this example, the robot uses data from the laser scanner to correct the fused odometry estimate, and mitigate drift. The amcl node uses a pregenerated map of this environment to compare against incoming scans. See the next tutorial for a demo with localization and mapping.