Robotics StackExchange | Archived questions

Why does the global/local planners not produce any paths to goal?

Hello,

I am using a differential-drive robot that is equipped with a Lidar, wheel encoders, and IMU. I have created a custom 2D map via SLAM that I would like for the robot to be able to navigate about. I implemented the move_base node using mostly parameters that can be found within the turtlebot3_navigation move_base node. Therefore, I am using dwa_local_planner/DWAPlannerROS as my local planner and navfn/NavfnROS as the global planner. However, I have been receiving a strange error that states the following continously without both the local and global plan paths ever publishing messages nor appearing on Rviz:

[ WARN] [1680629845.933617651]: DWA planner failed to produce path.
[ INFO] [1680629846.031881050]: Got new plan
[ WARN] [1680629846.032451433]: DWA planner failed to produce path.
[ INFO] [1680629846.131903326]: Got new plan
[ WARN] [1680629846.133067383]: DWA planner failed to produce path.

The robot will perform recovery manuevers, but will never find a path even to goals that are clearly open space. My move_base node along with the associated config files will be displayed below:

move_base.launch

<launch>
<!-- Arguments -->
<arg name="cmd_vel_topic" default="/cmd_vel" />
<arg name="odom_topic" default="/odometry/filtered" />

<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <!-- Setting global and local motion planners-->
    <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />

    <!-- Initializing global and local costmap configurations-->
    <rosparam file="$(find my_navigation_package)/params/costmap_common_params.yaml" command="load" ns="global_costmap" /> 
    <rosparam file="$(find my_navigation_package)/params/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find my_navigation_package)/params/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find my_navigation_package)/params/global_costmap_params.yaml" command="load" />

    <!-- Setting move_base and planner config files -->
    <rosparam file="$(find my_navigation_package)/params/move_base_params.yaml" command="load"/>
    <rosparam file="$(find my_navigation_package)/params/dwa_local_planner_params.yaml" command="load" />

    <remap from="cmd_vel" to="$(arg cmd_vel_topic)"/>
    <remap from="odom" to="$(arg odom_topic)"/>

</node>
</launch>

costmapcommonparams.yaml

obstacle_range: 3.0
raytrace_range: 3.5
footprint: [[0.135, 0.085],[0.135, -0.085],[-0.135, -0.085],[-0.135, 0.085]]

inflation_radius: 0.20
cost_scaling_factor: 2.58

map_type: costmap
observation_sources: laser_scan_sensor

laser_scan_sensor: {
    sensor_frame: base_laser,
    data_type: LaserScan, 
    topic: scan, 
    marking: true, 
    clearing: true}

dwalocalplanner_params.yaml

DWAPlannerROS:

  max_vel_x: 0.5
  min_vel_x: -0.5

  max_vel_y: 0.0
  min_vel_y: 0.0

  max_vel_trans:  0.5
  min_vel_trans:  0.2

  max_vel_theta: 3.0
  min_vel_theta: 0.5

  acc_lim_x: 1.0
  acc_lim_y: 0.0
  acc_lim_theta: 4.0

  xy_goal_tolerance: 0.1
  yaw_goal_tolerance: 0.2

  latch_xy_goal_tolerance: false

  sim_time: 2.0

  vx_samples: 20
  vy_samples: 0

  vth_samples: 40
  controller_frequency: 10.0

  path_distance_bias: 32.0
  goal_distance_bias: 20.0
  occdist_scale: 0.02
  forward_point_distance: 0.325
  stop_time_buffer: 0.2

  scaling_speed: 0.25
  max_scaling_factor: 0.2

  oscillation_reset_dist: 0.05

globalcostmapparams.yaml

global_costmap:
  global_frame: map
  robot_base_frame: base_link
  update_frequency: 10.0
  publish_frequency: 10.0
  transform_tolerance: 0.5
  static_map: true

localcostmapparams.yaml

local_costmap:
  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 10.0
  publish_frequency: 10.0
  transform_tolerance: 0.5  
  static_map: false
  rolling_window: true
  width: 3.0
  height: 3.0
  resolution: 0.05

movebaseparams.yaml

shutdown_costmaps: false
controller_frequency: 10.0
planner_patience: 5.0
controller_patience: 15.0
conservative_reset_dist: 3.0
planner_frequency: 5.0
oscillation_timeout: 10.0
oscillation_distance: 0.2

Also, if this helps at all. I used the rqt_graph node to visualize what topics and nodes interacting with move_base and I noticed that the global planner NavfnROS was not seen. This will also be displayed below: image description

Any advice or guidance on how I could fix this issue would be greatly appreciated.

Asked by Devin1126 on 2023-04-04 16:05:05 UTC

Comments

Answers