Navigation
SIG Organization
Please join us if you are interested and can contribute. The SIG page lists membership and mailing list information.
Proposed new features
- Migration to catkin
- Most of the work to catkinize the nav stack has been done, though it may be spread over a few different git branches at the moment.
- Layered Costmaps
- David Lu has modified the costmap_2d package significantly to add a modular "layered costmap" feature. With this, multiple layers of costmaps can be maintained separately and then combined for global or local planning. This should allow, for instance, a static map layer which is never overwritten by sensors, a separate layer for sonars from lasers so they don't overwrite each other, or a special layer that tracks people and applies custom cost functions around them.
This includes breaking changes to the C++ API for Costmap2DROS, RecoveryBehavior, BaseLocalPlanner, and BaseGlobalPlanner. Anyone who has written a custom RecoveryBehavior, BaseLocalPlanner or BaseGlobalPlanner subclass will need to recompile and likely make some code changes.
- The node API is very similar or possibly exactly the same, so if you are just using the nav stack instead of coding for it, you should be unaffected. In line with that, the layers code introduces a new parameter layout for configuring the costmaps (typically under move_base). However it also includes code to detect a non-layered parameter set and convert it to a nearly equivalent layered set.
Current status
Currently the relevant branch on http://github.com/ros-planning/navigation is hydro-devel.
I have merged the layered costmaps code into hydro-devel, so now hydro-devel is the place to go.
The following things are still not working in the layered-costmaps code:
- tests in costmap_2d
- clear_costmaps service in move_base
- clear_unknown_space service in move_base
If you have strong feelings about any of these things being supported for hydro, post on the mailing list or create a new issue on github