4️⃣Navigation Tuning

Taking the node “/motors_ctrl” as an example. It is publishing to “/odom” topic with “nav_msgs/Odometry” message type, along with the other topics in the list. It also subscribes to “/cmd_vel” topic with message type “geometry_msgs/Twist”

  1. Go into the folder ‘/home/<user>/catkin_ws/movel_ai/config/movel/config/’

  2. In the parameter file costmap_common_params.yaml, ensure that the robot footprint is defined correctly.

    1. If the robot footprint is a polygon, configure the footprint parameter and comment out robot_radius. For example:

      footprint: [[0.2, 0.2], [-0.2, 0.2], [-0.2, -0.2], [0.2, -0.2]]
      #robot_radius: 0.18
  3. Here, the robot has a square footprint with the xy coordinates of the four corners as shown, while robot_radius is commented out.

    1. If the robot footprint is circular, configure the robot_radius parameter and comment out footprint. For example:

      #footprint: [[0.2, 0.2], [-0.2, 0.2], [-0.2, -0.2], [0.2, -0.2]]
      robot_radius: 0.18
  4. In base_local_planner_params.yaml:

    1. Go to “#Robot” section. To tune the speed of the robot, configure max_vel_x for linear speed, and max_vel_theta for angular speed.

      1. If the robot is not reaching the max speed, increase acc_lim_x and acc_lim_theta.

      2. In footprint_model, select a suitable model type and configure the corresponding parameters.

    2. In “#Obstacles” section, tune the value of min_obstacle_dist to set how far away the robot should keep away from obstacles. Reduce this parameter value if the robot is required to go through narrow spaces.

  5. If the autonomous navigation motion is jerky, go to “catkin_ws/movel_ai/config/cmd_vel_mux/config”, find cmd_vel_mux.yaml, and increase the value set for timeout_autonomous.

  6. For in depth tuning of base_local_planner_params.yaml, refer to http://wiki.ros.org/teb_local_planner.

Last updated