My AGV can't stop on the right place while turning in place.

asked 2020-09-16 06:29:33 -0500

wallybeam gravatar image

updated 2022-08-07 08:52:51 -0500

lucasw gravatar image

I am using ROS Melodic, global_planner ,and dwa_local_planner. I have an small AGV project so far whole system works well in terms of obstacle avoidance and navigation. However, if I send a command to turn in place to the 90 degree, it turns to the 125 degree. After that it turns back to the 90 degree. I am running the move_base with 30 hz.

Should I change the local planner algorithm? Do you think something is wrong with my parameters?

# units are in meters/sec

DWAPlannerROS:

  xy_goal_tolerance: 0.3
  yaw_goal_tolerance: 0.1

  sim_time: 2.5 # The amount of time to forward-simulate trajectories in seconds
  sim_granularity: 0.1 # The step size, in meters, to take between points on a given trajectory 
  angular_sim_granularity: 0.1
  vx_samples: 8.0
  vy_samples: 0.0
  vth_samples: 20.0

  min_vel_trans: 0.1
  max_vel_trans: 0.4
  acc_lim_theta: 18.0
  acc_lim_trans: 9.0

  forward_point_distance: 0.0
  acc_lim_x: 9.0
  acc_lim_y: 0.0
  max_vel_y: 0.0
  min_vel_y: 0.0
  max_vel_x: 0.4 # m/sec (agv_default = 0.4)
  min_vel_x: 0.1 # m/sec
  max_vel_theta: 3.0
  min_vel_theta: 1.0
  latch_xy_goal_tolerance: true
  path_distance_bias: 0.8
  goal_distance_bias: 0.6
  # occdist_scale: 0.02
  oscillation_reset_dist: 0.05 # How far the robot must travel in meters before oscillation flags are reset.
  prune_plan: true
  scaling_speed: 0.8
edit retag flag offensive close merge delete