base_local_planner: dwa_local_planner/DWAPlannerROS
DWAPlannerROS:
  # Robot configuration
  max_vel_x:  0.8
  min_vel_x: -0.2

  max_vel_y: 0.0  # diff drive robot
  min_vel_y: 0.0  # diff drive robot

  max_trans_vel: 0.8  # choose slightly less than the base's capability
  min_trans_vel: 0.1  # this is the min trans velocity when there is negligible rotational velocity
  trans_stopped_vel: 0.03

  # Warning!
  #   do not set min_trans_vel to 0.0 otherwise dwa will always think translational velocities
  #   are non-negligible and small in place rotational velocities will be created.

  max_rot_vel: 1.0  # choose slightly less than the base's capability
  min_rot_vel: 0.1  # this is the min angular velocity when there is negligible translational velocity
  rot_stopped_vel: 0.1

  acc_lim_x: 1.5
  acc_lim_y: 0.0      # diff drive robot
  acc_limit_trans: 1.5
  acc_lim_theta: 2.0

  # Goal tolerance
  yaw_goal_tolerance: 0.03  # yaw_goal_tolerance > (sim_time * min_rot_vel) / 2 (from Navigation Tuning Guide)
  xy_goal_tolerance: 0.08   # xy_goal_tolerance  > (sim_time * min_vel_x)   / 2
  latch_xy_goal_tolerance: true

  # Forward simulation
  sim_time: 1.2
  vx_samples: 15
  vy_samples: 1       # diff drive robot, there is only one sample
  vtheta_samples: 20

  # Trajectory scoring
  path_distance_bias: 64.0      # default: 32.0  mir: 32.0  - weighting for how much it should stick to the global path plan
  goal_distance_bias: 12.0      # default: 24.0  mir: 48.0  - weighting for how much it should attempt to reach its goal
  occdist_scale: 0.5            # default: 0.01  mir: 0.01  - weighting for how much the controller should avoid obstacles
  forward_point_distance: 0.325 # default: 0.325 mir: 0.325 - how far along to place an additional scoring point
  stop_time_buffer: 0.2         # default: 0.2   mir: 0.2   - amount of time a robot must stop before colliding for a valid traj.
  scaling_speed: 0.25           # default: 0.25  mir: 0.25  - absolute velocity at which to start scaling the robot's footprint
  max_scaling_factor: 0.2       # default: 0.2   mir: 0.2   - how much to scale the robot's footprint when at speed.
  prune_plan: true

  # Oscillation prevention
  oscillation_reset_dist: 0.05  # 0.05   - how far to travel before resetting oscillation flags, in m
  oscillation_reset_angle: 0.2  # 0.2    - the angle the robot must turn before resetting Oscillation flags, in rad

  # Debugging
  publish_traj_pc : true
  publish_cost_grid_pc: true
  global_frame_id: /odom  # or <robot namespace>/odom
