# Revision history [back]

### Robot behavior when keep an obstacle on the goal

Hi, I am using teb_local_planner in navigation stack. My observation when I keep an obstacle on the goal that time teb_local_planner gets failed and gives a following warnings :

WARNING : TebLocalPlannerROS: trajectory is not feasible, Resetting planner .... WARNING : teb_local_planner was not able to obtain a local plan for the current setting.

Please can anyone suggest me what should be the robot behavior near the obstacle. Thank's in advanced.

### Robot behavior when keep an obstacle on the goal

Hi, I am using teb_local_planner in navigation stack. My observation when I keep an obstacle on the goal that time teb_local_planner gets failed and gives a following warnings :

WARNING : TebLocalPlannerROS: trajectory is not feasible, Resetting planner .... WARNING : teb_local_planner was not able to obtain a local plan for the current setting.

Please can anyone suggest me what should be the robot behavior near the obstacle. Thank's in advanced.

My configure file are following :

TebLocalPlannerROS: map_frame: /map odom_topic: /odom

#Robot Configuration Parameters -----------------------------------------------------------------------------------------------

acc_lim_x: 0.12 #0.15 #0.07999 #Maximum translational acceleration of the robot in meters/sec^2
acc_lim_theta: 0.08 #0.02 #0.05099 #Maximum angular acceleration of the robot in radians/sec^2

max_vel_x: 0.12 #0.15 #0.1099 #Maximum translational velocity of the robot in meters/sec max_vel_x_backwards: 0.04 #0.02 #Maximum absolute translational velocity of the robot while driving backwards in meters/sec. max_vel_theta: 0.08 #0.1099 #Maximum angular velocity of the robot in radians/sec

#parameters are relevant for the footprint model -------------------------------------------------------------------------------

footprint_model:

type: circular            #Specify the robot footprint model type used for optimization. Different types are "point",
# "circular", "line",  "two_circles" and "polygon." The type of the model significantly
#influences the required computation time.

radius: 0.20               #This parameter is only relevant for type "circular". It contains the radius of the circle.
#The center of the circle is located at the robot's axis of rotation.

#vertices: [ [[-0.20, -0.20], [-0.20, 0.20], [0.20, 0.20], [0.20, 0.20]]    #This parameter is only relevant for type "polygon".


# Costmap converter plugin -----------------------------------------------------------------------------------------------------

costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH" #Define plugin name in order to convert costmap cells to points/lines/polygons costmap_converter_spin_thread: true #If set to true, the costmap converter invokes its callback queue in a different thread.

costmap_converter_rate: 3 #Rate that defines how often the costmap_converter plugin processes the current costmap #(the value should not be much higher than the costmap update rate)

#Goal Tolerance Parameters ----------------------------------------------------------------------------------------------------

xy_goal_tolerance: 0.2 #Allowed final euclidean distance to the goal position in meters yaw_goal_tolerance: 0.2 #Allowed final orientation error in radians free_goal_vel: true #false #Remove the goal velocity constraint such that the robot can arrive at the goal with maximum speed

#Trajectory Configuration Parameters ------------------------------------------------------------------------------------------

min_samples: 3 #Minimum number of samples (should be always greater than 2) global_plan_overwrite_orientation: true #Overwrite orientation of local subgoals provided by the global planner global_plan_viapoint_sep: 0.1 #-0.1 #If positive, via-points are extrected from the global plan (path-following mode). # The value determines the resolution of the reference path

max_global_plan_lookahead_dist: 1.0 #D3.0 #Specify the maximum length (cumulative Euclidean distances) of the subset of the #global plan taken into account for optimization. The actual length is than determined #by the logical conjunction of the local costmap size and this maximum bound. force_reinit_new_goal_dist: 1.0 #Reinitialize the trajectory if a previous goal is updated with a separation of more #than the specified value in meters (skip hot-starting)

feasibility_check_no_poses: 4 #Specify up to which pose on the predicted plan the feasibility should be checked each #sampling interval.

publish_feedback: true #Publish planner feedback containing the full trajectory and a list of active obstacles #(should be enabled only for evaluation or debugging). See list of publishers above.

shrink_horizon_backup: true #Allows the planner to shrink the horizon temporary (50%) in case of automatically #detected issues (e.g. infeasibility). Also see parameter shrink_horizon_min_duration.

allow_init_with_backwards_motion: true #false #If true, underlying trajectories might be initialized with backwards motions in case #the goal is behind the start within the local costmap (this is only recommended if #the robot is equipped with rear sensors).

exact_arc_length: true #false #If true, the planner uses the exact arc length in velocity, acceleration and turning #rate computations (-> increased cpu time), otherwise the Euclidean approximation is used.

shrink_horizon_min_duration: 10.0 #Specify minimum duration for the reduced horizon in case an infeasible trajectory is #detected

#Obstacle Parameters ---------------------------------------------------------------------------------------------------------

min_obstacle_dist: 0.20 #Minimum desired separation from obstacles in meters

include_costmap_obstacles: true #Specify if obstacles of the local costmap should be taken into account. Each cell that is #marked as obstacle is considered as a point-obstacle. Therefore do not choose a very #small resolution of the costmap since it increases computation time.

costmap_obstacles_behind_robot_dist: 1.0 #Limit the occupied local costmap obstacles taken into account for planning behind the # robot (specify distance in meters).

obstacle_poses_affected: 30 #Each obstacle position is attached to the closest pose on the trajectory in order to keep #a distance. Additional neighbors can be taken into account as well.

inflation_dist: 0.23 #0.20 #Buffer zone around obstacles with non-zero penalty costs (should be larger than #min_obstacle_dist in order to take effect). Also refer to the weight weight_inflation.

legacy_obstacle_association: true #False #The strategy of connecting trajectory poses with obstacles for optimization has been #modified (see changelog). You can switch to the old/previous strategy by setting this parameter #to true. Old strategy: for each obstacle, find the nearest TEB pose; new strategy: for each #teb pose, find only "relevant" obstacles.

obstacle_association_force_inclusion_factor: 1.5 #The non-legacy obstacle association strategy tries to connect only relevant #obstacles with the discretized trajectory during optimization. But all obstacles #within a specifed distance are forced to be included (as a multiple of min_obstacle_dist).

obstacle_association_cutoff_factor: 5 #See obstacle_association_force_inclusion_factor, but beyond a multiple of #[value]*min_obstacle_dist all obstacles are ignored during optimization.

#ptimization Parameters -------------------------------------------------------------------------------------------------------

penalty_epsilon: 0.01 #Add a small safety margin to penalty functions for hard-constraint approximations

weight_max_vel_x: 2.0 #Optimization weight for satisfying the maximum allowed translational velocity weight_max_vel_theta: 1.0 #Optimization weight for satisfying the maximum allowed angular velocity weight_acc_lim_x: 1.0 #Optimization weight for satisfying the maximum allowed translational acceleration weight_acc_lim_theta: 0.0 # 1.0 #Optimization weight for satisfying the maximum allowed angular acceleration

weight_kinematics_nh: 1000.0 #Optimization weight for satisfying the non-holonomic kinematics (this parameter must be high #since the kinematics equation constitutes an equality constraint, even a value of 1000 does #not imply a bad matrix condition due to small 'raw' cost values in comparison to other costs).

weight_kinematics_forward_drive: 1.0 #Optimization weight for forcing the robot to choose only forward directions

#weight_kinematics_turning_radius: 1.0 #Optimization weight for enforcing a minimum turning radius (only for carlike robots).

weight_optimaltime: 1.0 #Optimization weight for contracting the trajectory w.r.t transition/execution time

weight_obstacle: 50.0 #Optimization weight for keeping a minimum distance from obstacles

weight_viapoint: 10.0 #Optimization weight for minimzing the distance to via-points (resp. reference path).

weight_inflation: 0.1 #Optimization weight for the inflation penalty (should be small).

weight_adapt_factor: 2.0 #Some special weights (currently weight_obstacle) are repeatedly scaled by this factor in each #outer TEB iteration (weight_new = weight_old*factor).

#Parallel Planning in distinctive Topologies ----------------------------------------------------------------------------------

### Robot behavior when keep an obstacle on the goal

Hi, I am using teb_local_planner in navigation stack. My observation when I keep an obstacle on the goal that time teb_local_planner gets failed and gives a following warnings :

WARNING : TebLocalPlannerROS: trajectory is not feasible, Resetting planner .... WARNING : teb_local_planner was not able to obtain a local plan for the current setting.

Please can anyone suggest me what should be the robot behavior near the obstacle. Thank's in advanced.

My configure file are following :

TebLocalPlannerROS: map_frame: /map odom_topic: /odom

#Robot Configuration Parameters -----------------------------------------------------------------------------------------------

acc_lim_x: 0.12 #0.15 #0.07999 #Maximum translational acceleration of the robot in meters/sec^2
acc_lim_theta: 0.08 #0.02 #0.05099 #Maximum angular acceleration of the robot in radians/sec^2

max_vel_x: 0.12 #0.15 #0.1099 #Maximum translational velocity of the robot in meters/sec max_vel_x_backwards: 0.04 #0.02 #Maximum absolute translational velocity of the robot while driving backwards in meters/sec. max_vel_theta: 0.08 #0.1099 #Maximum angular velocity of the robot in radians/sec

#parameters are relevant for the footprint model -------------------------------------------------------------------------------

footprint_model:

type: circular            #Specify the robot footprint model type used for optimization. Different types are "point",
# "circular", "line",  "two_circles" and "polygon." The type of the model significantly
#influences the required computation time.

radius: 0.20               #This parameter is only relevant for type "circular". It contains the radius of the circle.
#The center of the circle is located at the robot's axis of rotation.

#vertices: [ [[-0.20, -0.20], [-0.20, 0.20], [0.20, 0.20], [0.20, 0.20]]    #This parameter is only relevant for type "polygon".


# Costmap converter plugin -----------------------------------------------------------------------------------------------------

costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH" #Define plugin name in order to convert costmap cells to points/lines/polygons costmap_converter_spin_thread: true #If set to true, the costmap converter invokes its callback queue in a different thread.

costmap_converter_rate: 3 #Rate that defines how often the costmap_converter plugin processes the current costmap #(the value should not be much higher than the costmap update rate)

#Goal Tolerance Parameters ----------------------------------------------------------------------------------------------------

xy_goal_tolerance: 0.2 #Allowed final euclidean distance to the goal position in meters yaw_goal_tolerance: 0.2 #Allowed final orientation error in radians free_goal_vel: true #false #Remove the goal velocity constraint such that the robot can arrive at the goal with maximum speed

#Trajectory Configuration Parameters ------------------------------------------------------------------------------------------

min_samples: 3 #Minimum number of samples (should be always greater than 2) global_plan_overwrite_orientation: true #Overwrite orientation of local subgoals provided by the global planner global_plan_viapoint_sep: 0.1 #-0.1 #If positive, via-points are extrected from the global plan (path-following mode). # The value determines the resolution of the reference path

max_global_plan_lookahead_dist: 1.0 #D3.0 #Specify the maximum length (cumulative Euclidean distances) of the subset of the #global plan taken into account for optimization. The actual length is than determined #by the logical conjunction of the local costmap size and this maximum bound. force_reinit_new_goal_dist: 1.0 #Reinitialize the trajectory if a previous goal is updated with a separation of more #than the specified value in meters (skip hot-starting)

feasibility_check_no_poses: 4 #Specify up to which pose on the predicted plan the feasibility should be checked each #sampling interval.

publish_feedback: true #Publish planner feedback containing the full trajectory and a list of active obstacles #(should be enabled only for evaluation or debugging). See list of publishers above.

shrink_horizon_backup: true #Allows the planner to shrink the horizon temporary (50%) in case of automatically #detected issues (e.g. infeasibility). Also see parameter shrink_horizon_min_duration.

allow_init_with_backwards_motion: true #false #If true, underlying trajectories might be initialized with backwards motions in case #the goal is behind the start within the local costmap (this is only recommended if #the robot is equipped with rear sensors).

exact_arc_length: true #false #If true, the planner uses the exact arc length in velocity, acceleration and turning #rate computations (-> increased cpu time), otherwise the Euclidean approximation is used.

shrink_horizon_min_duration: 10.0 #Specify minimum duration for the reduced horizon in case an infeasible trajectory is #detected

#Obstacle Parameters ---------------------------------------------------------------------------------------------------------

min_obstacle_dist: 0.20 #Minimum desired separation from obstacles in meters

include_costmap_obstacles: true #Specify if obstacles of the local costmap should be taken into account. Each cell that is #marked as obstacle is considered as a point-obstacle. Therefore do not choose a very #small resolution of the costmap since it increases computation time.

costmap_obstacles_behind_robot_dist: 1.0 #Limit the occupied local costmap obstacles taken into account for planning behind the # robot (specify distance in meters).

obstacle_poses_affected: 30 #Each obstacle position is attached to the closest pose on the trajectory in order to keep #a distance. Additional neighbors can be taken into account as well.

inflation_dist: 0.23 #0.20 #Buffer zone around obstacles with non-zero penalty costs (should be larger than #min_obstacle_dist in order to take effect). Also refer to the weight weight_inflation.

legacy_obstacle_association: true #False #The strategy of connecting trajectory poses with obstacles for optimization has been #modified (see changelog). You can switch to the old/previous strategy by setting this parameter #to true. Old strategy: for each obstacle, find the nearest TEB pose; new strategy: for each #teb pose, find only "relevant" obstacles.

obstacle_association_force_inclusion_factor: 1.5 #The non-legacy obstacle association strategy tries to connect only relevant #obstacles with the discretized trajectory during optimization. But all obstacles #within a specifed distance are forced to be included (as a multiple of min_obstacle_dist).

obstacle_association_cutoff_factor: 5 #See obstacle_association_force_inclusion_factor, but beyond a multiple of #[value]*min_obstacle_dist all obstacles are ignored during optimization.

#ptimization Parameters -------------------------------------------------------------------------------------------------------

penalty_epsilon: 0.01 #Add a small safety margin to penalty functions for hard-constraint approximations

weight_max_vel_x: 2.0 #Optimization weight for satisfying the maximum allowed translational velocity weight_max_vel_theta: 1.0 #Optimization weight for satisfying the maximum allowed angular velocity weight_acc_lim_x: 1.0 #Optimization weight for satisfying the maximum allowed translational acceleration weight_acc_lim_theta: 0.0 # 1.0 #Optimization weight for satisfying the maximum allowed angular acceleration

weight_kinematics_nh: 1000.0 #Optimization weight for satisfying the non-holonomic kinematics (this parameter must be high #since the kinematics equation constitutes an equality constraint, even a value of 1000 does #not imply a bad matrix condition due to small 'raw' cost values in comparison to other costs).

weight_kinematics_forward_drive: 1.0 #Optimization weight for forcing the robot to choose only forward directions

#weight_kinematics_turning_radius: 1.0 #Optimization weight for enforcing a minimum turning radius (only for carlike robots).

weight_optimaltime: 1.0 #Optimization weight for contracting the trajectory w.r.t transition/execution time

weight_obstacle: 50.0 #Optimization weight for keeping a minimum distance from obstacles

weight_viapoint: 10.0 #Optimization weight for minimzing the distance to via-points (resp. reference path).

weight_inflation: 0.1 #Optimization weight for the inflation penalty (should be small).

weight_adapt_factor: 2.0 #Some special weights (currently weight_obstacle) are repeatedly scaled by this factor in each #outer TEB iteration (weight_new = weight_old*factor).

#Parallel Planning in distinctive Topologies ----------------------------------------------------------------------------------

### Robot behavior when keep an obstacle on the goal

Hi, I am using teb_local_planner in navigation stack. My observation when I keep an obstacle on the goal that time teb_local_planner gets failed and gives a following warnings :

WARNING : TebLocalPlannerROS: trajectory is not feasible, Resetting planner .... WARNING : teb_local_planner was not able to obtain a local plan for the current setting.

Please can anyone suggest me what should be the robot behavior near the obstacle. Thank's in advanced.

My configure file are following :

TebLocalPlannerROS: map_frame: /map odom_topic: /odom

#Robot Configuration Parameters -----------------------------------------------------------------------------------------------

acc_lim_x: 0.12 #0.15 #0.07999 #Maximum translational acceleration of the robot in meters/sec^2
acc_lim_theta: 0.08 #0.02 #0.05099 #Maximum angular acceleration of the robot in radians/sec^2

max_vel_x: 0.12 #0.15 #0.1099 #Maximum translational velocity of the robot in meters/sec max_vel_x_backwards: 0.04 #0.02 #Maximum absolute translational velocity of the robot while driving backwards in meters/sec. max_vel_theta: 0.08 #0.1099 #Maximum angular velocity of the robot in radians/sec

#parameters are relevant for the footprint model -------------------------------------------------------------------------------

footprint_model:

type: circular            #Specify the robot footprint model type used for optimization. Different types are "point",
# "circular", "line",  "two_circles" and "polygon." The type of the model significantly
#influences the required computation time.

radius: 0.20               #This parameter is only relevant for type "circular". It contains the radius of the circle.
#The center of the circle is located at the robot's axis of rotation.

#vertices: [ [[-0.20, -0.20], [-0.20, 0.20], [0.20, 0.20], [0.20, 0.20]]    #This parameter is only relevant for type "polygon".


# Costmap converter plugin -----------------------------------------------------------------------------------------------------

costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH" #Define plugin name in order to convert costmap cells to points/lines/polygons costmap_converter_spin_thread: true #If set to true, the costmap converter invokes its callback queue in a different thread.

costmap_converter_rate: 3 #Rate that defines how often the costmap_converter plugin processes the current costmap #(the value should not be much higher than the costmap update rate)

#Goal Tolerance Parameters ----------------------------------------------------------------------------------------------------

xy_goal_tolerance: 0.2 #Allowed final euclidean distance to the goal position in meters yaw_goal_tolerance: 0.2 #Allowed final orientation error in radians free_goal_vel: true #false #Remove the goal velocity constraint such that the robot can arrive at the goal with maximum speed

#Trajectory Configuration Parameters ------------------------------------------------------------------------------------------

min_samples: 3 #Minimum number of samples (should be always greater than 2) global_plan_overwrite_orientation: true #Overwrite orientation of local subgoals provided by the global planner global_plan_viapoint_sep: 0.1 #-0.1 #If positive, via-points are extrected from the global plan (path-following mode). # The value determines the resolution of the reference path

max_global_plan_lookahead_dist: 1.0 #D3.0 #Specify the maximum length (cumulative Euclidean distances) of the subset of the #global plan taken into account for optimization. The actual length is than determined #by the logical conjunction of the local costmap size and this maximum bound. force_reinit_new_goal_dist: 1.0 #Reinitialize the trajectory if a previous goal is updated with a separation of more #than the specified value in meters (skip hot-starting)

feasibility_check_no_poses: 4 #Specify up to which pose on the predicted plan the feasibility should be checked each #sampling interval.

publish_feedback: true #Publish planner feedback containing the full trajectory and a list of active obstacles #(should be enabled only for evaluation or debugging). See list of publishers above.

shrink_horizon_backup: true #Allows the planner to shrink the horizon temporary (50%) in case of automatically #detected issues (e.g. infeasibility). Also see parameter shrink_horizon_min_duration.

allow_init_with_backwards_motion: true #false #If true, underlying trajectories might be initialized with backwards motions in case #the goal is behind the start within the local costmap (this is only recommended if #the robot is equipped with rear sensors).

exact_arc_length: true #false #If true, the planner uses the exact arc length in velocity, acceleration and turning #rate computations (-> increased cpu time), otherwise the Euclidean approximation is used.

shrink_horizon_min_duration: 10.0 #Specify minimum duration for the reduced horizon in case an infeasible trajectory is #detected

#Obstacle Parameters ---------------------------------------------------------------------------------------------------------

min_obstacle_dist: 0.20 #Minimum desired separation from obstacles in meters

include_costmap_obstacles: true #Specify if obstacles of the local costmap should be taken into account. Each cell that is #marked as obstacle is considered as a point-obstacle. Therefore do not choose a very #small resolution of the costmap since it increases computation time.

costmap_obstacles_behind_robot_dist: 1.0 #Limit the occupied local costmap obstacles taken into account for planning behind the # robot (specify distance in meters).

obstacle_poses_affected: 30 #Each obstacle position is attached to the closest pose on the trajectory in order to keep #a distance. Additional neighbors can be taken into account as well.

inflation_dist: 0.23 #0.20 #Buffer zone around obstacles with non-zero penalty costs (should be larger than #min_obstacle_dist in order to take effect). Also refer to the weight weight_inflation.

legacy_obstacle_association: true #False #The strategy of connecting trajectory poses with obstacles for optimization has been #modified (see changelog). You can switch to the old/previous strategy by setting this parameter #to true. Old strategy: for each obstacle, find the nearest TEB pose; new strategy: for each #teb pose, find only "relevant" obstacles.

obstacle_association_force_inclusion_factor: 1.5 #The non-legacy obstacle association strategy tries to connect only relevant #obstacles with the discretized trajectory during optimization. But all obstacles #within a specifed distance are forced to be included (as a multiple of min_obstacle_dist).

obstacle_association_cutoff_factor: 5 #See obstacle_association_force_inclusion_factor, but beyond a multiple of #[value]*min_obstacle_dist all obstacles are ignored during optimization.

#ptimization Parameters -------------------------------------------------------------------------------------------------------

penalty_epsilon: 0.01 #Add a small safety margin to penalty functions for hard-constraint approximations

weight_max_vel_x: 2.0 #Optimization weight for satisfying the maximum allowed translational velocity weight_max_vel_theta: 1.0 #Optimization weight for satisfying the maximum allowed angular velocity weight_acc_lim_x: 1.0 #Optimization weight for satisfying the maximum allowed translational acceleration weight_acc_lim_theta: 0.0 # 1.0 #Optimization weight for satisfying the maximum allowed angular acceleration

weight_kinematics_nh: 1000.0 #Optimization weight for satisfying the non-holonomic kinematics (this parameter must be high #since the kinematics equation constitutes an equality constraint, even a value of 1000 does #not imply a bad matrix condition due to small 'raw' cost values in comparison to other costs).

weight_kinematics_forward_drive: 1.0 #Optimization weight for forcing the robot to choose only forward directions

#weight_kinematics_turning_radius: 1.0 #Optimization weight for enforcing a minimum turning radius (only for carlike robots).

weight_optimaltime: 1.0 #Optimization weight for contracting the trajectory w.r.t transition/execution time

weight_obstacle: 50.0 #Optimization weight for keeping a minimum distance from obstacles

weight_viapoint: 10.0 #Optimization weight for minimzing the distance to via-points (resp. reference path).

weight_inflation: 0.1 #Optimization weight for the inflation penalty (should be small).

weight_adapt_factor: 2.0 #Some special weights (currently weight_obstacle) are repeatedly scaled by this factor in each #outer TEB iteration (weight_new = weight_old*factor).

#Parallel Planning in distinctive Topologies ----------------------------------------------------------------------------------

### Robot behavior when keep an obstacle on the goal

Hi, I am using teb_local_planner in navigation stack. My observation when I keep an obstacle on the goal that time teb_local_planner gets failed and gives a following warnings :

WARNING : TebLocalPlannerROS: trajectory is not feasible, Resetting planner .... WARNING : teb_local_planner was not able to obtain a local plan for the current setting.

Please can anyone suggest me what should be the robot behavior near the obstacle. Thank's in advanced.

My configure file are following :

TebLocalPlannerROS: map_frame: /map odom_topic: /odom

#Robot Configuration Parameters -----------------------------------------------------------------------------------------------

acc_lim_x: 0.12 #0.15 #0.07999 #Maximum translational acceleration of the robot in meters/sec^2
acc_lim_theta: 0.08 #0.02 #0.05099 #Maximum angular acceleration of the robot in radians/sec^2

max_vel_x: 0.12 #0.15 #0.1099 #Maximum translational velocity of the robot in meters/sec max_vel_x_backwards: 0.04 #0.02 #Maximum absolute translational velocity of the robot while driving backwards in meters/sec. max_vel_theta: 0.08 #0.1099 #Maximum angular velocity of the robot in radians/sec

#parameters are relevant for the footprint model -------------------------------------------------------------------------------

footprint_model:

type: circular            #Specify the robot footprint model type used for optimization. Different types are "point",
# "circular", "line",  "two_circles" and "polygon." The type of the model significantly
#influences the required computation time.

radius: 0.20               #This parameter is only relevant for type "circular". It contains the radius of the circle.
#The center of the circle is located at the robot's axis of rotation.

#vertices: [ [[-0.20, -0.20], [-0.20, 0.20], [0.20, 0.20], [0.20, 0.20]]    #This parameter is only relevant for type "polygon".


# Costmap converter plugin -----------------------------------------------------------------------------------------------------

costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH" #Define plugin name in order to convert costmap cells to points/lines/polygons costmap_converter_spin_thread: true #If set to true, the costmap converter invokes its callback queue in a different thread.

costmap_converter_rate: 3 #Rate that defines how often the costmap_converter plugin processes the current costmap #(the value should not be much higher than the costmap update rate)

#Goal Tolerance Parameters ----------------------------------------------------------------------------------------------------

xy_goal_tolerance: 0.2 #Allowed final euclidean distance to the goal position in meters yaw_goal_tolerance: 0.2 #Allowed final orientation error in radians free_goal_vel: true #false #Remove the goal velocity constraint such that the robot can arrive at the goal with maximum speed

#Trajectory Configuration Parameters ------------------------------------------------------------------------------------------

min_samples: 3 #Minimum number of samples (should be always greater than 2) global_plan_overwrite_orientation: true #Overwrite orientation of local subgoals provided by the global planner global_plan_viapoint_sep: 0.1 #-0.1 #If positive, via-points are extrected from the global plan (path-following mode). # The value determines the resolution of the reference path

max_global_plan_lookahead_dist: 1.0 #D3.0 #Specify the maximum length (cumulative Euclidean distances) of the subset of the #global plan taken into account for optimization. The actual length is than determined #by the logical conjunction of the local costmap size and this maximum bound. force_reinit_new_goal_dist: 1.0 #Reinitialize the trajectory if a previous goal is updated with a separation of more #than the specified value in meters (skip hot-starting)

feasibility_check_no_poses: 4 #Specify up to which pose on the predicted plan the feasibility should be checked each #sampling interval.

publish_feedback: true #Publish planner feedback containing the full trajectory and a list of active obstacles #(should be enabled only for evaluation or debugging). See list of publishers above.

shrink_horizon_backup: true #Allows the planner to shrink the horizon temporary (50%) in case of automatically #detected issues (e.g. infeasibility). Also see parameter shrink_horizon_min_duration.

allow_init_with_backwards_motion: true #false #If true, underlying trajectories might be initialized with backwards motions in case #the goal is behind the start within the local costmap (this is only recommended if #the robot is equipped with rear sensors).

exact_arc_length: true #false #If true, the planner uses the exact arc length in velocity, acceleration and turning #rate computations (-> increased cpu time), otherwise the Euclidean approximation is used.

shrink_horizon_min_duration: 10.0 #Specify minimum duration for the reduced horizon in case an infeasible trajectory is #detected

#Obstacle Parameters ---------------------------------------------------------------------------------------------------------

min_obstacle_dist: 0.20 #Minimum desired separation from obstacles in meters

include_costmap_obstacles: true #Specify if obstacles of the local costmap should be taken into account. Each cell that is #marked as obstacle is considered as a point-obstacle. Therefore do not choose a very #small resolution of the costmap since it increases computation time.

costmap_obstacles_behind_robot_dist: 1.0 #Limit the occupied local costmap obstacles taken into account for planning behind the # robot (specify distance in meters).

obstacle_poses_affected: 30 #Each obstacle position is attached to the closest pose on the trajectory in order to keep #a distance. Additional neighbors can be taken into account as well.

inflation_dist: 0.23 #0.20 #Buffer zone around obstacles with non-zero penalty costs (should be larger than #min_obstacle_dist in order to take effect). Also refer to the weight weight_inflation.

legacy_obstacle_association: true #False #The strategy of connecting trajectory poses with obstacles for optimization has been #modified (see changelog). You can switch to the old/previous strategy by setting this parameter #to true. Old strategy: for each obstacle, find the nearest TEB pose; new strategy: for each #teb pose, find only "relevant" obstacles.

obstacle_association_force_inclusion_factor: 1.5 #The non-legacy obstacle association strategy tries to connect only relevant #obstacles with the discretized trajectory during optimization. But all obstacles #within a specifed distance are forced to be included (as a multiple of min_obstacle_dist).

obstacle_association_cutoff_factor: 5 #See obstacle_association_force_inclusion_factor, but beyond a multiple of #[value]*min_obstacle_dist all obstacles are ignored during optimization.

#ptimization Parameters -------------------------------------------------------------------------------------------------------

penalty_epsilon: 0.01 #Add a small safety margin to penalty functions for hard-constraint approximations

weight_max_vel_x: 2.0 #Optimization weight for satisfying the maximum allowed translational velocity weight_max_vel_theta: 1.0 #Optimization weight for satisfying the maximum allowed angular velocity weight_acc_lim_x: 1.0 #Optimization weight for satisfying the maximum allowed translational acceleration weight_acc_lim_theta: 0.0 # 1.0 #Optimization weight for satisfying the maximum allowed angular acceleration

weight_kinematics_nh: 1000.0 #Optimization weight for satisfying the non-holonomic kinematics (this parameter must be high #since the kinematics equation constitutes an equality constraint, even a value of 1000 does #not imply a bad matrix condition due to small 'raw' cost values in comparison to other costs).

weight_kinematics_forward_drive: 1.0 #Optimization weight for forcing the robot to choose only forward directions

#weight_kinematics_turning_radius: 1.0 #Optimization weight for enforcing a minimum turning radius (only for carlike robots).

weight_optimaltime: 1.0 #Optimization weight for contracting the trajectory w.r.t transition/execution time

weight_obstacle: 50.0 #Optimization weight for keeping a minimum distance from obstacles

weight_viapoint: 10.0 #Optimization weight for minimzing the distance to via-points (resp. reference path).

weight_inflation: 0.1 #Optimization weight for the inflation penalty (should be small).

weight_adapt_factor: 2.0 #Some special weights (currently weight_obstacle) are repeatedly scaled by this factor in each #outer TEB iteration (weight_new = weight_old*factor).

#Parallel Planning in distinctive Topologies ----------------------------------------------------------------------------------