Robotics StackExchange | Archived questions

DWA cannot plan effective speed when encountering U-shaped path

Hi everyone.

I'm using ROS noetic for navigation. When global_planner plans a small U-shaped path (with a radius less than 0.5m), and DWA cannot plan forward speed and steering speed. The robot just stays where it is and repeats its recovery behavior until the navigation task fails.However, there are no warnings or errors in the Terminal.

Here is a schematic diagram: image description

Here is my cfg file:

#move_base
controller_frequency: 10.0     
controller_patience: 5.0       
planner_frequency: 5.0   
planner_patience: 7.0             
conservative_reset_dist: 3.0
oscillation_timeout: 8.0         
oscillation_distance: 0.2        
recovery_behavior_enabled: true
clearing_rotation_allowed: true

#DWA
DWAPlannerROS:
  max_vel_trans: 1.0
  min_vel_trans: 0.1
  max_vel_x: 0.8
  min_vel_x: 0.0
  max_vel_y: 0.0
  min_vel_y: 0.0
  max_vel_theta: 1.0
  min_vel_theta: 0.1
  acc_lim_x: 15.0
  acc_lim_y: 0.0
  acc_lim_theta: 10.0
  acc_lim_trans: 1.25

  prune_plan: false

  xy_goal_tolerance: 0.1
  yaw_goal_tolerance: 0.05
  trans_stopped_vel: 0.3
  theta_stopped_vel: 0.3
  sim_time: 0.8
  sim_granularity: 0.1
  angular_sim_granularity: 0.1
  path_distance_bias: 50.0
  goal_distance_bias: 30.0
  occdist_scale: 10.0
  twirling_scale: 1.0
  stop_time_buffer: 0.8
  oscillation_reset_dist: 0.2
  oscillation_reset_angle: 0.2
  forward_point_distance: 0.3
  scaling_speed: 0.25
  max_scaling_factor: 0.2
  vx_samples: 10
  vy_samples: 1
  vth_samples: 20

  latch_xy_goal_tolerance: true     

  use_dwa: true
  restore_defaults: false

Thanks in advance.

Asked by LHUndo on 2022-11-29 21:55:14 UTC

Comments

Answers

Try reducing your goal_distance_bias by a lot. DWA creates a short-term goal at the point where the global path meets the edge of the local cost map. That is in the lower right for your example. Your high bias value is making it impossible for the planner to choose any movement which increases the robot's cartesian distance to that short-term goal.

Asked by Mike Scheutzow on 2022-12-01 08:12:10 UTC

Comments

Thanks for your advice.

I tried the way you said, and put the goal_distance_bias changed to 0.01. It has no effect on the behavior improvement of robots. The robot remained there until the navigation mission failed.

path_distance_bias: 50.0
goal_distance_bias: 0.01
occdist_scale: 10.0

Asked by LHUndo on 2022-12-05 05:16:37 UTC