Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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 ----------------------------------------------------------------------------------