My AGV can't stop on the right place while turning in place.
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