min_in_place_vel_theta parameter in base_local_planner
Hi all,
I am having some issues with the orientation of the robot once it reaches the goal (within xy_goal_tolerance
). Once it is at the goal, robot tries to rotate to correct its orientation but sometimes, it fails. Although the base_local_planner is sending the velocity (angular.z =0.4
when min_in_place_vel_theta = 0.4
), the robot is not able to rotate but that is because this velocity is less. When I increase the min_in_place_vel_theta
to 0.8, still sometimes, angular.z = 0.4
when the robot is near the goal and the robot fails to correct its orientation. I feel the robot is not able to turn in place and because of that it fails to correct its orientation. I thought the local planner will always send at least min_in_place_vel_theta when it wants the robot to turn in place but that is not happening in my case. What else is needed to make sure the robot turns without any issues once it is at the goal? I hope I have made it clear.
base_local_planner_params.yaml
TrajectoryPlannerROS:
#Set the acceleration limits of the robot
acc_lim_th: 3.2
acc_lim_x: 2.0
acc_lim_y: 0
#Set the velocity limits of the robot
max_vel_x: 0.8
min_vel_x: 0.1
max_vel_theta: 1.5
min_vel_theta: -1.5
min_in_place_vel_theta: 0.8
#The velocity the robot will command when trying to escape from a stuck situation
escape_vel: -0.1
#For this example, we'll use a holonomic robot
holonomic_robot: false
#Set the tolerance on achieving a goal
xy_goal_tolerance: 0.15
yaw_goal_tolerance: 0.17
latch_xy_goal_tolerance: false
#We'll configure how long and with what granularity we'll forward simulate trajectories
sim_time: 1.5
sim_granularity: 0.025
angular_sim_granularity: 0.025
vx_samples: 5
vtheta_samples: 20
#Parameters for scoring trajectories
goal_distance_bias: 0.8
path_distance_bias: 1.0
gdist_scale: 0.8
pdist_scale: 1.0
occdist_scale: 0.01
heading_lookahead: 0.325
#We'll use the Dynamic Window Approach to control instead of Trajectory Rollout for this example
dwa: false
#How far the robot must travel before oscillation flags are reset
oscillation_reset_dist: 0.05
#Eat up the plan as the robot moves along it
prune_plan: false
# Global Frame id
global_frame_id: odom_combined
Thanks in advance.
Naman Kumar