parameter tuning for dwa_local_planner: unable to turn properly
Hi all,
I have a mobile robot which is navigating around a room. It has hokuyo laser and Kinect for navigation and obstacle avoidance. I am using wheel_encoders for odometry, amcl for localization, move_base for planning with default global planner and Trajectory Planner as the local planner and everything seems to be working fine. After that, I started using dwa_local_planner as a local planner and I am having issues when the robot is turning. The robot is able to go forward without any issues, the problem occurs only when its turning and the planner has to give some angular velocity. I feel the local planner is not able to give enough velocity for the robot to turn and I have to turn the robot manually:
I have specified:
max_rot_vel: 1.0
min_rot_vel: 0.8
but sometimes, it does not seem to be following it (sometimes it does, angular.z = -0.8 or 0.8 and it turns correctly). In short, the problem is when the robot is trying to turn, the dwa_local_planner sends angular velocity (angular.z = -0.3199) which is not enough for the robot to turn. Does any one have any idea why is the robot not able to turn properly and what parameters should I tune for it?
dwa_local_planner_params.yaml
DWAPlannerROS:
acc_lim_x: 2.0
acc_lim_y: 0
acc_lim_th: 3.0
max_trans_vel: 0.5
min_trans_vel: 0.0
max_vel_x: 0.5
min_vel_x: 0.0
max_vel_y: 0
min_vel_y: 0
max_rot_vel: 1.0
min_rot_vel: 0.8
yaw_goal_tolerance: 0.17
xy_goal_tolerance: 0.15
latch_xy_goal_tolerance: false
sim_time: 1.5
sim_granularity: 0.025
vx_samples: 10
vy_samples: 0
vtheta_samples: 20
controller_frequency: 10
penalize_negative_x: true
path_distance_bias: 1.0
goal_distance_bias: 0.8
occdist_scale: 0.01
forward_point_distance: 0.325
stop_time_buffer: 0.2
scaling_speed: 0.25
max_scaling_factor: 0.2
oscillation_reset_dist: 0.05
prune_plan: false
sim_period: 0.1
rot_stopped_vel: 0.01
trans_stopped_vel: 0.01
The video is here. The 1st goal is in the direction of east, 2nd goal towards west and 3rd goal towards north. All the three times, I have to rotate the robot manually because the local planner is not able to give enough angular velocity and the robot does not turn properly.
Please let me know if you need more information from me. Any help will be appreciated.
Thanks in advance.
Naman Kumar
@Naman did you manage to fix it? I still getting this problem, where DWA sends very tiny velocities
Did anyone find a solution to this issue? Please help you have found.