(Solved) Robot doesn't follow the plan of teb_local planner [closed]
Hi all! I had solved my problem. Just change "enable_homotopy_class_planning" to False and "acc_lim_theta" to 0.15. Maybe this will help someone. Sorry for my bad English.
Hi all! My robot run with teb_local planner. You can see in the video ( https://www.youtube.com/watch?v=IQAa8... ). It keep shaking and can't follow the plan. How can i fix it.
Here are my config:
TebLocalPlannerROS:
odom_topic: /odom
map_frame: /map
teb_autosize: True
dt_ref: 0.3
dt_hysteresis: 0.1 #0.1
global_plan_overwrite_orientation: True
global_plan_viapoint_sep: 0.5
max_global_plan_lookahead_dist: 5.0
feasibility_check_no_poses: 5
cmd_angle_instead_rotvel: False
max_vel_x: 0.2
max_vel_x_backwards: 0.2
max_vel_theta: 0.5
acc_lim_x: 0.2
acc_lim_theta: 0.2
min_turning_radius: 2.0
footprint_model: # types: "point", "circular", "two_circles", "line", "polygon"
type: "line"
line_start: [0.0, 0.0]
line_end: [1.772, 0.0]
xy_goal_tolerance: 0.5
yaw_goal_tolerance: 0.3
free_goal_vel: False
min_obstacle_dist: 0.5
include_costmap_obstacles: True
costmap_obstacles_behind_robot_dist: 1 #1
obstacle_poses_affected: 30 #30
costmap_converter_plugin: ""
costmap_converter_spin_thread: True
costmap_converter_rate: 5
no_inner_iterations: 5
no_outer_iterations: 4
optimization_activate: True
optimization_verbose: False
penalty_epsilon: 0.1
weight_max_vel_x: 2
weight_max_vel_theta: 1
weight_acc_lim_x: 0.0
weight_acc_lim_theta: 0.0 #0.0
weight_kinematics_nh: 1000
weight_kinematics_forward_drive: 1
weight_kinematics_turning_radius: 1 #1
weight_optimaltime: 1
weight_obstacle: 50 #100
weight_dynamic_obstacle: 10 # not in use yet
enable_homotopy_class_planning: True
enable_multithreading: True
simple_exploration: False
max_number_classes: 4
selection_cost_hysteresis: 1.0
selection_obst_cost_scale: 1.0
selection_alternative_time_cost: False
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
move_base:
shutdown_costmaps: false
controller_frequency: 10.0
controller_patience: 15.0
planner_frequency: 3.0
planner_patience: 5.0
oscillation_timeout: 2.0
oscillation_distance: 0.2
conservative_reset_dist: 3.0
recovery_behavior_enabled: true
clearing_rotation_allowed: true
cost_map:
footprint: [[2.3,0.5], [2.3, -0.5],[-0.2, -0.5], [-0.2,0.5]] # non-circular robot
transform_tolerance: 0.2
map_type: costmap
obstacle_layer:
enabled: true
obstacle_range: 2.5
raytrace_range: 3.0
inflation_radius: 1.5
track_unknown_space: true
combination_method: 1
observation_sources: scan
scan: {sensor_frame: laser, data_type: LaserScan, topic: scan, marking: true, clearing: true}
inflation_layer:
enabled: true
cost_scaling_factor: 10.0
inflation_radius: 0.5
static_layer:
enabled: true
map_topic: "/map"
global_cost map
global_costmap:
global_frame: /map
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: true
rolloing_window: false
transform_tolerance: 0.5
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}
- {name: inflation_layer, type: "costmap_2d::InflationLayer"}
local_cost map
local_costmap:
global_frame: /odom #/map
robot_base_frame: /base_link
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 10.0
height: 8.0
resolution: 0.1
transform_tolerance: 0.5 #1 #0.5
plugins:
- {name: static_layer, type: "costmap_2d::StaticLayer"}
- {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"}
Many thanks!