Ask Your Question

Revision history [back]

move_base tuning

Whats are the variables that go into determining what cmd_vel move_base will output. I have a robot thats capable of 4m/s but during autonomous navigation the maximum that it ever chooses to go is 0.75m/s.

Here is my current understanding.

min_vel_x and max_vel_x bound the possible cmd_vel that move_base will output

I also read somewhere that gdist will also affect cmd_vel but in testing I have tweaked this value a lot using rqt_reconfigure and it doesn't show a noticeable difference.

Are there any other parameters that I can tweek in order to make my robot move closer to its full speed (just talking about x direction)?

  max_vel_x: 4.0
  min_vel_x: 0.4
  max_vel_theta: 3.0
  min_vel_theta: -3.0
  min_in_place_vel_theta: 1.0

  acc_lim_theta: 6.0
  acc_lim_x: 6.0
  acc_lim_y: 6.0

  yaw_goal_tolerance: 0.3
  xy_goal_tolerance: 0.5

  sim_time: 1.0
  sim_granularity: 0.025
  angular_sim_granularity: 0.025
  vx_samples: 3
  vtheta_samples: 20
  controller_frequency: 20

  # Cost Function Parameters
  # cost = pdist_scale * (distance to path from the endpoint of the trajectory in map cells) + gdist_scale * (distance to local goal from the endpoint of the trajectory in map cells) + occdist_scale * (maximum obstacle cost along the trajectory in obstacle cost (0-254))
  # Local cost map resolution: 0.05 meters/cell
  pdist_scale: 0.6
  gdist_scale: 0.3 # Also controls speed
  occdist_scale: 0.01
  dwa: true
  publish_cost_grid_pc: true
  prune_plan: false  
  holonomic_robot: false # Robot cannot move sideways without turning first