This package is developed on top of the existing explore_lite package. It leverages a dynamic window approach to efficiently explore unknown environments by identifying and navigating towards frontiers, while switching between a local and the global windows for improved realworld explolration. It also saves the explored map automatically once the exploration stops.
The following parameters can be configured in the launch file to control the behavior of the exploration algorithm:
-
local_frontier_filter_radius:
Filters frontiers within this radius from the robot. If the number of filtered frontiers is less than min_local_frontiers, the filter radius is expanded to global_frontier_filter_radius to search through frontiers in a larger area. -
min_local_frontiers:
The minimum number of frontiers required within the local_frontier_filter_radius to avoid expanding the search radius. -
min_global_frontiers:
The minimum number of frontiers required within the global_frontier_filter_radius to continue exploration. If the number of filterede frontiers falls below this threshold, the exploration stops. -
global_frontier_filter_radius:
The radius used to filter frontiers when the number of local frontiers is below min_local_frontiers. -
min_frontier_spacing:
The minimum distance required between new frontier and the existing frontiers to consider adding it to the frontiers list.
ROS packages for multi robot exploration.
Packages are released for ROS Kinetic and ROS Lunar.
sudo apt install ros-${ROS_DISTRO}-multirobot-map-merge ros-${ROS_DISTRO}-explore-lite
Build as standard catkin packages. There are no special dependencies needed
(use rosdep to resolve dependencies in ROS). You should use brach specific for
your release i.e. kinetic-devel
for kinetic. Master branch is for latest ROS.
Packages are documented at ROS wiki.
Packages are licensed under BSD license. See respective files for details.