Implementation of Frontier Exploration based on this research paper: https://arxiv.org/ftp/arxiv/papers/1806/1806.03581.pdf
-
Intended to work with ROS2's Nav2 stack
-
Computes a list of Frontier centroids from the currently available Occupancy Grid
-
Invoke's Nav2's waypoint follower to move the robot to the Frontiers
-
Upon reaching the waypoint destinations, the latest Occupancy Grid will be evaluated for new Frontiers and continues to plot new waypoints until all Frontiers have been discovered
For basic/general build instructions follow this tutorial: https://index.ros.org/doc/ros2/Tutorials/Writing-A-Simple-Py-Publisher-And-Subscriber/
-
git clone the project into your colcon workspace's "src" directory
-
In your colcon workspace root directory run:
rosdep install -i --from-path src --rosdistro foxy -y colcon build --packages-select nav2_wfd
-
Setup development path:
. install/setup.bash
Works with Nav2's Turtlebot Simulation: https://navigation.ros.org/getting_started/index.html#running-the-example be sure to use "slam:=True" when launching "tb3_simulation_launch.py" such as:
ros2 launch nav2_bringup tb3_simulation_launch.py slam:=True
Once the Turtlebot Simulation has launch, in a separate window run:
ros2 run nav2_wfd explore