min_in_place_vel_theta parameter in base_local_planner

asked 2015-05-14 08:32:40 -0500

Naman gravatar image

updated 2015-05-18 12:49:36 -0500

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

edit retag flag offensive close merge delete