teb tuning when teb try to plan through unknow area

asked 2020-07-07 07:32:24 -0500

942951641@qq.com gravatar image

updated 2020-07-15 02:43:01 -0500

Hi,

  I am tuning teb local planner with my differential  indoor mobile robot. I meet a scene that failed. You can see it from following picture.  

 robot pos is facing to a open door ( before around env has dynamical obstacles, so robot rotates to door direction) ,  the map in the door is not complete. 

 Teb result throuth the unknow map area,  obviously, it can not to be reached.
 my local costmap size is 4 * 4,  teb parameter as follwoing:


TebLocalPlannerROS:

  odom_topic: odom
  map_frame: map

  acc_lim_x: 1.0 
  acc_lim_theta: 0.5
  max_vel_x: 0.4
  max_vel_x_backwards: 0.12
  max_vel_theta: 0.6

  max_vel_y: 0.0 
  acc_lim_y: 0.0

  footprint_model:
    type: circular # curcular, point, line, two_circles, polygon
    radius: 0.25

  xy_goal_tolerance: 0.15
  yaw_goal_tolerance: 0.26 # 15
  free_goal_vel: false # Remove the goal velocity constraint such that 
                       # the robot can arrive at the goal with maximum speed

  dt_ref: 0.3
  dt_hysteresis: 0.1
  min_samples: 3 # Minimum number of samples (should be always greater than 2)
  global_plan_overwrite_orientation: true
  global_plan_viapoint_sep: -0.1 # disable
  max_global_plan_lookahead_dist: 2.0
  force_reinit_new_goal_dist: 1.0
  feasibility_check_no_poses:  4
  publish_feedback: false
  shrink_horizon_backup: true

  allow_init_with_backwards_motion: false
  exact_arc_length: false
  shrink_horizon_min_duration: 10.0

  min_obstacle_dist: 0.15
  include_costmap_obstacles: true
  costmap_obstacles_behind_robot_dist: 1.0
  inflation_dist: 0.20

  include_dynamic_obstacles: false
  legacy_obstacle_association: false
  obstacle_association_force_inclusion_factor: 1.5
  obstacle_association_cutoff_factor: 1.5


  costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH"
  costmap_converter_spin_thread: true
  costmap_converter_rate: 5.0

  no_inner_iterations: 5
  no_outer_iterations: 4
  penalty_epsilon: 0.1
  weight_max_vel_x: 50.0
  weight_max_vel_theta: 10.0
  weight_acc_lim_x: 50.0
  weight_acc_lim_theta: 1.0
  weight_kinematics_nh: 1000.0
  weight_kinematics_forward_drive: 1000.0 # increase this to prevents backward driving
  weight_kinematics_turning_radius: 0.0
  weight_optimaltime: 1.0
  weight_obstacle: 50.0
  weight_viapoint: 1.0
  weight_inflation: 0.1
  weight_adapt_factor: 2.0

  enable_homotopy_class_planning: false
  enable_multithreading: true
  max_number_classes: 2
  selection_cost_hysteresis: 1.0
  selection_obst_cost_scale: 100.0
  selection_viapoint_cost_scale: 1.0
  selection_alternative_time_cost: false
  roadmap_graph_no_samples: 15
  roadmap_graph_area_width: 6
  h_signature_prescaler: 1.0
  h_signature_threshold: 0.1
  obstacle_heading_threshold: 1.0
  visualize_hc_graph: false
  viapoints_all_candidates: true
  switching_blocking_period: 0.0

another question:

teb produces jerk movement when there are dynamic obstacles, even there is smoother module to smooth controller's output velocity, How to impove it ?

rviz images: rviz images

edit retag flag offensive close merge delete