ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

TEB's path does not fit global plan, and there is always an oscillation.

asked 2018-12-03 02:16:05 -0500

ZengLei gravatar image

Hi, I use TEB as a local path planner for a car-like robot.

Below are the parameters:

    TebLocalPlannerROS:

 odom_topic: odom

 # Trajectory

 teb_autosize: True
 dt_ref: 0.35
 dt_hysteresis: 0.1
 global_plan_overwrite_orientation: True
 allow_init_with_backwards_motion: True
 max_global_plan_lookahead_dist: 5.0
 feasibility_check_no_poses: 2
 global_plan_viapoint_sep: 0.5

 # Robot

 max_vel_x: 0.55
 max_vel_x_backwards: 0.3
 max_vel_y: 0.0
 max_vel_theta: 0.5 # the angular velocity is also bounded by min_turning_radius in case of a carlike robot (r = v / omega)
 acc_lim_x: 0.5
 acc_lim_theta: 0.2


 # ********************** Carlike robot parameters ********************
 min_turning_radius: 1.0       # Min turning radius of the carlike robot (compute value using a model or adjust with rqt_reconfigure manually)
 wheelbase: 1.35                # Wheelbase of our robot
 cmd_angle_instead_rotvel: False # stage simulator takes the angle instead of the rotvel as input (twist message)
 # ********************************************************************

 footprint_model: # types: "point", "circular", "two_circles", "line", "polygon"
   type: "line"
   radius: 0.2 # for type "circular"
   line_start: [0.3, 0.0] # for type "line"
   line_end: [1.1, 0.0] # for type "line"
   front_offset: 1.0 # for type "two_circles"
   front_radius: 0.56 # for type "two_circles"
   rear_offset: -0.16 # for type "two_circles"
   rear_radius: 0.56 # for type "two_circles"
   vertices: [ [0.0, 0], [0.0, 1.55], [1.55, 0.4], [0.0, 0.4 ]] # for type "polygon"

 # GoalTolerance

 xy_goal_tolerance: 0.2
 yaw_goal_tolerance: 0.1
 free_goal_vel: False

 # Obstacles

 min_obstacle_dist: 0.85 # This value must also include our robot's expansion 0.6m for line type"
 include_costmap_obstacles: True
 costmap_obstacles_behind_robot_dist: 1.0
 obstacle_poses_affected: 25
 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_theta: 1
 weight_acc_lim_x: 1
 weight_acc_lim_theta: 5
 weight_kinematics_nh: 1000
 weight_kinematics_forward_drive: 1
 weight_kinematics_turning_radius: 1
 weight_optimaltime: 1
 weight_obstacle: 50
 weight_dynamic_obstacle: 10 # not in use yet

 # Homotopy Class Planner

 enable_homotopy_class_planning: True
 enable_multithreading: True
 simple_exploration: False
 max_number_classes: 2
 selection_cost_hysteresis: 1.0
 selection_obst_cost_scale: 1.0
 selection_alternative_time_cost: False
 roadmap_graph_no_samples: 10
 roadmap_graph_area_width: 3
 h_signature_prescaler: 0.5
 h_signature_threshold: 0.1
 obstacle_keypoint_offset: 0.1
 obstacle_heading_threshold: 0.45
 visualize_hc_graph: False

The local planned path has always an oscillation around global path, I have played with the parameter:

 dt_ref
 max_global_plan_lookahead_dist
 global_plan_viapoint_sep
 max_vel_theta
 acc_lim_theta
 weight_acc_lim_theta

But not help. The robot can move can avoid obstacles, but always in this oscillating way, and there is no warning or error output in console. image description

image description

Can anyone give me some suggestion?


edit retag flag offensive close merge delete

Comments

I faced the same issue, did you figure out how to solve it? Mine is on ROS noetic so there should be no yocs_velocity_smoother to cause this issue in the first place.

g7tan gravatar image g7tan  ( 2021-11-02 16:48:03 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-02-16 17:07:33 -0500

obardoza gravatar image

I faced the same issue, however when we turned off the velocity smoother the snaking / oscillations went away. So my 2 cents is that if you're using teb local planner on a real robot with large mass / inertia, definitely do not use the yocs velocity smoother as it induces oscillations because it is not theoretically correct.

edit flag offensive delete link more

Comments

do not use the yocs velocity smoother as it induces oscillations because it is not theoretically correct.

can you explain a bit more what you mean by that?

gvdhoorn gravatar image gvdhoorn  ( 2019-02-17 04:36:39 -0500 )edit

Thanks a lot, I will try with it and give feedback later.

ZengLei gravatar image ZengLei  ( 2019-02-18 21:17:56 -0500 )edit

Hi, I have tried to turn off velocity smoother , but it still doesn't work with my case. Thanks a lot in anyway. :-)

ZengLei gravatar image ZengLei  ( 2019-03-25 00:39:41 -0500 )edit

hi I want to know what is yocs velocity smoother and how tu turn off it.besides how to get points to upload picture,because I was rejected to upload pictures due to lack of poins. thank you

Andong Chen gravatar image Andong Chen  ( 2019-05-09 22:34:09 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2018-12-03 02:16:05 -0500

Seen: 839 times

Last updated: Dec 03 '18