Robot Behavior

Mapping

  1. Q: Unable to do mapping, it stuck in loading the logo A: Check your LiDAR data points, if the data points are above 3000, you have to downsample it. You can downsample it by configuring your LiDAR if possible, otherwise, you can use the Laser Scan Sparsifier ROS Package.

Localization

  1. Q: When loading the map from the Library, the status is stuck at 'Halting Localization'.

    A: Loading a map from the library requires laser scan data. Check your robot is publishing laser scan data by running a rostopic echo /scan. (Replace /scan with your robot topic.)

  2. Q: Unable to localize the map

    A: Check your tf tree to make sure there is only 1 unbroken connection from map to base_link. rosrun rqt_tf_tree rqt_tf_tree.

    Also, please check your AMCL node (for 2D) is running and publishing. rosnode list | grep amcl and rosnode info /amcl.

  3. Q: When start localization, no scan data shows on the UI

    A: Check your tf, the transformations between scan tf to base_link should be not tf static. Please use broadcast a transformation instead of static transformation publisher. (see number 7 point 1 in the Hardware Integration section.

  4. Q: The autocorrection on the localization process seems so slow, how can I make it faster?

    A: Please try to tune the parameters of the localization as well,

    Follow these steps:

    1. Navigate to the following directory in your robot's workspace: /home/<USER>/catkin_ws/movel_ai/config/movel/config/.

    2. Open the parameter file named amcl.yaml (If amcl is current your localization algorithm).

    3. Verify that the inflation layer is defined correctly within this file.

    4. Try to reduce some values below:

      1. update_min_d : Translational movement required before performing a filter update (in meters).

      2. update_min_a : Rotational movement required before performing a filter update (in rad).

      3. resample_interval: Number of filter updates required before resampling.

      You can see more about details the parameters on this ros wiki.

    5. Please reload the map to apply the changes.

  1. Q: How to change the Local Planner? What Local Planner fits my use case?

    A: You can choose the local planner you want to use for the robot by following the steps below:

    1. Go into the folder /home/<USER>/catkin_ws/movel_ai/config/movel/config/

    2. In the parameter file move_base_params.yaml, change the base_local_planner to the local planner that you want to use.

      For my recommendation, if you want an optimal local planner and you don’t worry about the backward movement of the robot, you can go with TEB (Time Elastic Band) as your local planner.

      But if you want a local planner that is designed to follow the global plan closely (which shows on the UI), you can go with Pebble Planner as your Local Planner.

      You can just choose your local planner by uncommenting the line base_local_planner.

  2. Q: How can I make the robot navigate through narrow paths?

    A: To enable your robot to navigate through narrow paths, you need to adjust the configuration settings related to obstacle avoidance. Follow these steps:

    1. Navigate to the following directory in your robot's workspace: /home/<USER>/catkin_ws/movel_ai/config/movel/config/.

    2. Open the parameter file named costmap_common_params.yaml.

    3. Verify that the inflation layer is defined correctly within this file.

    4. To facilitate navigation through narrow spaces, you'll need to reduce the inflation radius. The inflation_radius is measured in meters and determines how much the map inflates obstacle cost values. To make your robot more capable of navigating through narrow passages, consider setting the inflation_radius to a value that represents the width of your robot, plus some additional space.

      By adjusting the inflation_radius parameter, you can fine-tune your robot's ability to navigate tight spaces and ensure smoother movement through narrow paths.

      You can see the pictures below to explain how the inflation_radius affecting the navigation path width.

    5. Please reload the map to apply the changes.

In the picture above, the red cells represent obstacles in the costmap. For the robot to avoid collision, the footprint of the robot should never intersect a red cell.

Last updated