What can it do
This set of libraries and ROS nodes allows to control a mobile robot within a planar environment. The main features are a purely reactive obstacle avoidance, a simple path planner, and a graph based SLAM (Simultaneous Localization and Mapping) node that allows multiple robots to cooperatively build a map. By using an exploration plugin for the navigation module, one or more robots can autonomously explore there working space and create a shared map for navigation on all robots.
This stack is developed using the catkin tool-chain. An older version is available that uses ROS Fuerte and rosbuild tool-chain, but has not been updated after the move to Hydro. To build the costmap_2d package is required, which is included in ros-navigation.
To install the complete stack from debian packages:
apt-get install ros-<release-name>-nav2d
If you don't want all the dependencies and only need a certain package, you can install every package separately:
ros-<release-name>-nav2d_operator ros-<release-name>-nav2d_navigator ros-<release-name>-nav2d_exploration ros-<release-name>-nav2d_karto ros-<release-name>-nav2d_remote ros-<release-name>-nav2d_msgs ros-<release-name>-nav2d_tutorials
source /opt/ros/<release-name>/setup.bash cd catkin_ws/src git clone https://github.com/skasperski/navigation_2d cd .. catkin_make -DCMAKE_BUILD_TYPE=Release source catkin_ws/devel/setup.bash
How to start
To check if all packages are working correctly, you can run the launch files located in the nav2d_tutorials package. This will use a joystick to semi-autonomous control a simulated robot in Stage. A more in-detail description can be found in the Tutorials. To start the tests you need to have the following packages additionally installed:
Then you can start the tests with
roslaunch nav2d_tutorials tutorial1.launch
If you have a Question concerning any of the nav2d-packages, please post your question at ROS-Answers and add the tag "nav2d".