0
$\begingroup$

https://youtu.be/FdqFL7G832I

I am using teb local planner and it moves like the video above. How do I solve this?

here is my code.

teb_local_planner_params.yaml

TebLocalPlannerROS:
  odom_topic: odom
  map_frame: map
    
  # Trajectory
  teb_autosize: True
  dt_ref: 0.3
  dt_hysteresis: 0.1
  global_plan_overwrite_orientation: True
  allow_init_with_backwards_motion: False
  max_global_plan_lookahead_dist: 0.5
  feasibility_check_no_poses: 5
  
  # Robot
  max_vel_x: 0.2
  max_vel_x_backwards: 0.15
  max_vel_y: 0.0
  max_vel_theta: 0.8
  acc_lim_x: 0.15
  acc_lim_y: 0.0
  acc_lim_theta: 0.8

  min_turning_radius: 0.0
  wheelbase: 0.0

  footprint_model:
    types: "polygon"
    vertices: [[-0.17, -0.15], [-0.17, 0.15], [0.17, 0.15], [0.17, -0.15]]

  # GoalTolerance
  xy_goal_tolerance: 0.08
  yaw_goal_tolerance: 0.03
  free_goal_vel: False
  complete_global_plan: True
    
  # Obstacles
  min_obstacle_dist: 0.19
  inflation_dist: 0.5
  include_costmap_obstacles: False
  costmap_obstacles_behind_robot_dist: 1.5
  obstacle_poses_affected: 15
  costmap_converter_plugin: ""
  costmap_converter_spin_thread: True
  costmap_converter_rate: 5

  # Optimization
    
  no_inner_iterations: 5
  no_outer_iterations: 4
  optimization_activate: True
  optimization_verbose: False
  penalty_epsilon: 0.1
  weight_max_vel_x: 1
  weight_max_vel_y: 0
  weight_max_vel_theta: 1
  weight_acc_lim_x: 1
  weight_acc_lim_y: 0
  weight_acc_lim_theta: 1
  weight_kinematics_nh: 1000
  weight_kinematics_forward_drive: 1000
  weight_kinematics_turning_radius: 1
  weight_optimaltime: 1
  weight_shortest_path: 50
  weight_obstacle: 50
  weight_dynamic_obstacle: 10 # not in use yet
  selection_alternative_time_cost: False # not in use yet
  weight_viapoint: 1
  weight_adapt_factor: 2

  # Homotopy Class Planner

  enable_homotopy_class_planning: True
  enable_multithreading: True
  simple_exploration: False
  max_number_classes: 4
  roadmap_graph_no_samples: 15
  roadmap_graph_area_width: 5
  h_signature_prescaler: 0.5 
  h_signature_threshold: 0.1
  obstacle_keypoint_offset: 0.1
  obstacle_heading_threshold: 0.45
  visualize_hc_graph: False

costmap_common_params.yaml

# obstacle_range: 2.0
# raytrace_range: 2.5
# ax_obstacle_height: 0.60  # assume something like an arm is mounted on top of the robot

# robot_radius: 0.187
footprint: [[-0.2, -0.17], [-0.2, 0.17], [0.2, 0.17], [0.2, -0.17]]
# 345 413 / 0.17 0.205

map_type: voxel
# observation_sources: scan
# scan: {sensor_frame: laser_frame, data_type: LaserScan, topic: scan, marking: true, clearing: true}
# always_send_full_costmap: true

# inflation_radius: 1.5
# cost_scaling_factor: 5.0

obstacle_layer:
  enabled:              true
  max_obstacle_height:  0.6
  origin_z:             0.0
  z_resolution:         0.2
  z_voxels:             10
  unknown_threshold:    15
  mark_threshold:       0
  combination_method:   1
  track_unknown_space:  true    #true needed for disabling global path planning through unknown space
  obstacle_range: 3.0 # 3.0
  raytrace_range: 3.5 # 3.5
  origin_z: 0.0
  publish_voxel_map: false
  observation_sources:  scan #bump
  scan: {sensor_frame: laser_frame, data_type: LaserScan, topic: scan, marking: true, clearing: true}
 
#cost_scaling_factor and inflation_radius were now moved to the inflation_layer ns
inflation_layer:
  enabled:              true
  cost_scaling_factor:  15.0  # exponential rate at which the obstacle cost drops off (default: 10)
  inflation_radius:     0.28  # max. distance from an obstacle at which costs are incurred for planning paths.
 
static_layer:
  enabled:              true
$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.