A path planner library, that searches a path from robot position to given goal on generalized Voronoi diagram (GVD) which is made up of regions around obstacles on costmap.
- Maintainer: Roman Fedorenko <frontwise AT gmail DOT com>
- Author: Roman Fedorenko
- License: BSD
- Source: git https://github.com/frontw/voronoi_planner.git (branch: master)
Someone may want to search path which keeps robot away from the obstacles instead of searching shortest path, as well-known A*-planners do.
voronoi_planner uses dynamicvoronoi package to make generalized Voronoi diagrams (GVD) which is made up of regions around obstacles on costmap.
Then it searches a path from robot position to given goal on GVD.
The voronoi_planner::VoronoiPlanner object exposes its functionality as a C++ ROS Wrapper. It operates withing a ROS namespace (assumed to be name from here on) specified on initialization. It adheres to the nav_core::BaseGlobalPlanner interface found in the nav_core package.
~<name>/publish_voronoi_grid (bool, default: true)
- Publish Voronoi grid as costmap.
- Smooth path.
- Weight of data when smoothing path.
- Weight of smoothing when smoothing path.
<arg name="base_global_planner" default="voronoi_planner/VoronoiPlanner"/>
Other parameters changed were global_costmap/width and global_costmap/height (in move_base.launch from husky_navigation):
<param name="global_costmap/width" value="35.0" if="$(arg no_static_map)"/> <param name="global_costmap/height" value="35.0" if="$(arg no_static_map)"/>
Path generated is published in ~<name>/plan topic. Voronoi grid map is published (if publish_voronoi_grid parameter is true) in ~<name>/voronoi_grid. You should configure RViz to view it.
husky_navigation/Tutorials/Husky Move Base Demo may be useful.