DWA planner failed to produce path.
I'm trying to build a navigation framework using move_base with DWAPlannerROS as the local planner/controller on ROS Melodic.
Whenever I set a goal, the global planning is successful but the DWAPlannerROS doesn't work well. In fact, it only appears to get a trajectory very sporadically. Most of the times, it throws a
"DWA planner failed to produce path"-Warning
and quits at some point.
Therefore, my terminal output looks as follows:
The corresponding rviz-visualization (with activated global and local costmap) looks as follows:
Note that the trajectory that can be seen in this visualization is one of the mentioned sporadically occuring trajectories which has been computed a couple of seconds before the screenshot was taken!
I've read some other posts solved the issue using the turtlebot-params. I've tried that but the issue remained. Other threads suggested to use default parameters and then tune every single parameter in order so see which parameter causes the problem, but when using only default-params the issue remained, too.
At the moment I'm using the following params:
base_global_planner_params.yaml:
GlobalPlanner:
#basic parameters
default_tolerance: 3.0 #default is 0.0
use_dijkstra: true #default is true
old_navfn_behavior: false #default is false
use_quadratic: true #default is true
use_grid_path: false #default is false
allow_unknown: true #default is true
lethal_cost: 253 #default is 253
neutral_cost: 50 #default is 50
cost_factor: 3 #default is 3
#debug parameters
publish_potential: True
base_local_planner_params.yaml:
DWAPlannerROS:
max_vel_x: 3.7
max_vel_y: 0.0
min_vel_y: 0.0
max_vel_trans: 3.7
min_vel_trans: 0.0
max_vel_theta: 2.09
min_vel_theta: 0
acc_lim_x: 2.47
acc_lim_y: 0
acc_lim_theta: 4.18
sim_time: 2.0
vx_samples: 3
vy_samples: 0
vth_samples: 20
holonomic_robot: false
move_base_params.yaml:
controller_frequency: 5.0
controller_patience: 3.0
planner_frequency: 1.0
planner_patience: 5.0
oscillation_timeout: 10.0
oscillation_distance: 0.2
base_global_planner: "global_planner/GlobalPlanner"
base_local_planner: "dwa_local_planner/DWAPlannerROS"
recovery_behavior_enabled: false
costmap_common_params.yaml:
footprint: [[0.20, 0.24125], [0.20, 0.175], [0.65, 0.175], [0.65, -0.175], [0.20, -0.175], [0.20, -0.24125], [-0.20, -0.24125], [-0.20, -0.175], [-0.65, -0.175], [-0.65, 0.175], [-0.20, 0.175], [-0.20, 0.24125]]
inflation_radius: 0.1
transform_tolerance: 0.05
global_costmap_params.yaml:
global_costmap:
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
track_unknown_space: true
global_frame: map
robot_base_frame: base_link
update_frequency: 10.0 # data comes in
publish_frequency: 10.0 # costmap publishes info
rolling_window: true
recovery_behavior: false
width: 100
height: 100
static_layer:
trinary_costmap: false
map_topic: "path_segmentation_occgrid"
Note that the occupancy grid which is used as map_topic gets updated/published every 5 seconds.
local_costmap_params:
local_costmap:
global_frame: odom
map_topic: "semi_global_map"
robot_base_frame: base_link
update_frequency: 10.0
publish_frequency: 10.0
track_unknown_space: true
static_map: true
rolling_window: true
width: 10
height: 10
plugins:
- {name: static_layer2, type: "costmap_2d::StaticLayer"}
- {name: inflation_layer2, type: "costmap_2d::InflationLayer"}
Does anyone have an idea on what could be the issue?
Thank you in advance for any hint!