# When move_base goal is set in a certain direction, dwa_local_planner plans less stably and the robot is moving slower

I found some interesting behavior in dwa_local_planner, not sure if it is a bug, or if it can be resolved by setting parameters differently.

The behavior is that, when the goal is set in the -x direction with respect to TF origin, dwa local planner plans less stably (the local planned trajectory jumps around) and the robot moves really slowly. But when the goal is set in the +x direction, dwa local planner is much more stable, and the robot can move faster.

I demonstrated this inconsistency in the following two videos (on youtube):

In these videos, the local trajectory planned by dwa local planner is colored blue. The red line is the global path used by dwa local planner. The green line (in the second video) is the global path produced by global_planner. The dwa parameters I used are:

DWAPlannerROS:
# Robot Configuration Parameters
max_trans_vel: 0.7
min_trans_vel: 0.1

max_vel_x: 0.7
min_vel_x: -0.05

max_rot_vel: 1.2
min_rot_vel: 0.2

acc_lim_x: 1.0
acc_lim_theta: 2.0
acc_limit_trans: 2.0

# Differential-drive robot configuration
holonomic_robot: false
acc_lim_y: 0.0
min_vel_y: 0.0
max_vel_y: 0.0
vy_samples: 0

# Goal Tolerance Parameters
yaw_goal_tolerance: 0.2
xy_goal_tolerance: 0.2
latch_xy_goal_tolerance: true

# Minimum velocity for the robot to be considered not stop
trans_stopped_vel: 0.1
rot_stopped_vel: 0.1

# Forward Simulation Parameters
sim_time: 2.0
vx_samples: 20
vy_samples: 0
vth_samples: 40
penalize_negative_x: false #no longer used

# Trajectory Scoring Parameters
path_distance_bias: 32.0
goal_distance_bias: 9.0
occdist_scale: 0.020
stop_time_buffer: 0.5

# Oscillation Prevention Parameters
oscillation_reset_dist: 0.05

# Global Plan Parameters
prune_plan: true


Can anyone reproduce such behavior? If so, should we consider this a bug?

If any clarification is helpful, please point out.

I opened a github issue about this question ( https://github.com/ros-planning/navig... ). But since nobody responded yet on github, I though I may get some replies here. Any help is sincerely appreciated!

edit retag close merge delete