Ask Your Question

Is it normal behavior for local planners to ignore static obstacles if no pointcloud or laserscan data is being published?

asked 2017-02-21 07:14:46 -0600

geetam gravatar image

I have tried the following local planners:

  1. base_local_planner
  2. dwa local planner
  3. teb_local_planner

and all of them are ignoring obstacles on a static map, The global planners on the other hand never generate a path that would cause a collision with any obstacle.

It is noteworthy that I am not using kinect or a laser scanner so can't possibly publish pointcloud or laserscan messages.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-02-21 08:26:10 -0600

croesmann gravatar image

updated 2017-02-21 08:31:12 -0600

This is not related to the local planners directly but to the local costmap setup (costmap_2d). Local planners in the navigation stack have only access to the local costmap, so you need to add the desired layer to the configuration.

Based on the Robot Setup and Configure and run Robot Navigation Tutorial you might try the following:

E.g. in local_costmap_params.yaml (or similar):

  rolling_window: true
  width: 5.0
  height: 5.0
  resolution: 0.1

   ## Without proximity sensors, we do not need any obstacle_layer:
   # - {name: obstacle_layer,      type: "costmap_2d::VoxelLayer"}

   ## Static Layer
   - {name: static_layer,            type: "costmap_2d::StaticLayer"}

   # Uncomment the following line if you want to inflate occupied cells 
   #- {name: inflation_layer,     type: "costmap_2d::InflationLayer"}

Note, you might add more configurations for layers (inflation_layer and static_layer) either here or in the costmap_common_params.yaml. Please check the costmap_2d documentation (static_map topic name, service, ...).

Notice, there was an issue early 2015 (see here) but it seems to be fixed according to the related merge requests on github. If it still does not work,

edit flag offensive delete link more


Thanks a lot for replying, The robot gets stuck when I add a static layer (even where there are no obstacles), teb_local_planner repeatedly prints "Trajectory is not feasible", I will read costmap_2d_documentation more carefully and will comment here again if it works. ROS Version: Indigo.

geetam gravatar image geetam  ( 2017-02-21 09:30:22 -0600 )edit

The teb_local_planer prints this message if a collision with the current robot footprint (also specified in the costmap parameters) is detected. Did you configure the footprint correctly and did you also try dwa_local_planner with the static layer (to check if it is a bug)?

croesmann gravatar image croesmann  ( 2017-02-21 09:50:24 -0600 )edit

I don't think it is a bug in teb_local_planner as robot gets stuck even when dwa is used, value of robot_footprint: [[-0.11, -0.01], [0.11, -0.01], [-0.11, 0.2], [0.11, 0.2] ] dwa prints warning "off map " with two floating point values. Can I post my yamls here?

geetam gravatar image geetam  ( 2017-02-21 10:11:23 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2017-02-21 07:14:46 -0600

Seen: 924 times

Last updated: Feb 21 '17