Nav2 - Navigation 2

  • Nav2 is the successor of ROS Navigation Stack, aiming to enable safe and versatile mobile robot navigation for complex tasks in various environments.

  • It supports tasks beyond simple point-to-point movement, such as intermediary poses and object following, and is trusted by over 50 companies as a high-quality navigation framework.

  • It provides perception, planning, control, localization, visualization, and much more to build highly reliable autonomous systems.

  • Nav2 uses behavior trees to create customized and intelligent navigation behavior via orchestrating many independent modular servers.

  • The diagram below will give you a good first-look at the structure of Nav2.

  1. Map Management: It allows for the loading, serving, recording and storing of maps using the Map Server with slam-toolbox.

  2. Localization: The AMCL (Adaptive Monte Carlo Localization) module helps the robot accurately determine its position on the map with EKF (Extended Kalman Filter).

  3. Costmap Generation: The Nav2 Costmap 2D converts sensor data into costmap representations of the environment.

  4. Path Planning: Nav2 Planner assists in planning collision-free paths from one point to another while avoiding obstacles.

  5. Robot Control: The Nav2 Controller guides the robot along the planned path, ensuring it follows the desired trajectory.

  6. Python3 API: Nav2 offers a Python3 API for interacting with the framework in a pythonic manner, called Simple Commander.

Detailed content for installation

1. Installations


Reading Assignment