DWALocalPlanner very small theta velocities

asked 2019-02-01 09:17:50 -0600

stevemartin gravatar image

updated 2019-02-01 09:18:37 -0600

I am running DWALocalPlanner with these parameters:

DWAPlannerROS:
  # Robot configuration parameters  
  acc_lim_x: 0.8
  acc_lim_y: 0
  acc_lim_theta: 0.8

  max_vel_x: 0.3
  min_vel_x: 0
  max_vel_y: 0
  min_vel_y: 0

  holonomic_robot: false

  max_vel_theta: 1.8
  min_vel_theta: 0

  max_trans_vel: 0.3
  min_trans_vel: 0
  max_rot_vel: 1.8
  min_rot_vel: 1.2

  # Goal Tolerance Parameters
  yaw_goal_tolerance: 0.05
  xy_goal_tolerance: 0.1
  latch_xy_goal_tolerance: false

  # Forward Simulation Parameters
  sim_time: 4
  vy_samples: 0
  vx_samples: 20
  vth_samples: 40

  # Trajectory scoring parameters
  path_distance_bias: 32.0
  goal_distance_bias: 20.0
  occdist_scale: 0.02
  oscillation_reset_dist: 0.05

And the problem occurs sometimes when robot needs to rotate inplace in order to go to the goal. It gives very small velocity commands to angular.z and my robot simply cannot move as the velocity is very small. In fact, DWA gives like 0.2,0.4 rad/s whereas the minimum angular velocity that my robot can do is 1 rad/s (even if you think about it, 1 rad/s is pretty slow, needs 6 seconds for a full rotation).

I have tried to set min_vel_theta to 1.0 but in that case, robot simply cannot set angular velocity to 0.0.

Is there a solution or do I need to modify source code for that?

edit retag flag offensive close merge delete