Installation

Installation#

Added in version Jazzy: This section.

Warning

This topic is under construction and this might not even be its final form. Please feel free to open an issue if you spot any typos or other problems.

See also

Official documentation: https://docs.nav2.org/getting_started/index.html

We will install nav2, a few example packages, and the slam-toolbox with the following command.

The package ros-jazzy-navigation2 contains most of nav2. However, we have to install ros-jazzy-nav2-bringup separately owing to “recursive dependencies”. See below all the packages that are installed with ros-jazzy-navigation2.

Contents of ros-jazzy-navigation2
  <!-- nav2_bringup doesn't belong for recursive dependencies -->
  <exec_depend>nav2_amcl</exec_depend>
  <exec_depend>nav2_behavior_tree</exec_depend>
  <exec_depend>nav2_bt_navigator</exec_depend>
  <exec_depend>nav2_collision_monitor</exec_depend>
  <exec_depend>nav2_constrained_smoother</exec_depend>
  <exec_depend>nav2_controller</exec_depend>
  <exec_depend>nav2_core</exec_depend>
  <exec_depend>nav2_costmap_2d</exec_depend>
  <exec_depend>nav2_dwb_controller</exec_depend>
  <exec_depend>nav2_graceful_controller</exec_depend>
  <exec_depend>nav2_lifecycle_manager</exec_depend>
  <exec_depend>nav2_map_server</exec_depend>
  <exec_depend>nav2_msgs</exec_depend>
  <exec_depend>nav2_mppi_controller</exec_depend>
  <exec_depend>nav2_navfn_planner</exec_depend>
  <exec_depend>nav2_planner</exec_depend>
  <exec_depend>nav2_behaviors</exec_depend>
  <exec_depend>nav2_smoother</exec_depend>
  <exec_depend>nav2_regulated_pure_pursuit_controller</exec_depend>
  <exec_depend>nav2_route</exec_depend>
  <exec_depend>nav2_rotation_shim_controller</exec_depend>
  <exec_depend>nav2_rviz_plugins</exec_depend>
  <exec_depend>nav2_simple_commander</exec_depend>
  <exec_depend>nav2_smac_planner</exec_depend>
  <exec_depend>nav2_smoother</exec_depend>
  <exec_depend>nav2_theta_star_planner</exec_depend>
  <exec_depend>nav2_util</exec_depend>
  <exec_depend>nav2_velocity_smoother</exec_depend>
  <exec_depend>nav2_voxel_grid</exec_depend>
  <exec_depend>nav2_waypoint_follower</exec_depend>
  <exec_depend>opennav_docking</exec_depend>
  <exec_depend>opennav_docking_bt</exec_depend>
  <exec_depend>opennav_docking_core</exec_depend>

The last package related to nav2, ros-jazzy-nav2-minimal-tb* has a wildcard that will expand, currently, to install the following packages. These are optional packages that will give us some infrastructure to work on the tutorial.

  • ros-jazzy-nav2-minimal-tb3-sim - Nav2 Minimum TurtleBot3 Simulation

  • ros-jazzy-nav2-minimal-tb4-description - Nav2’s minimum Turtlebot4 Description package

  • ros-jazzy-nav2-minimal-tb4-sim - Nav2 Minimum TurtleBot4 Simulation

For illustrative purposes, we also add ros-jazzy-slam-toolbox. Please note that navigation is complementary to localisation and mapping. Both can be done in isolation too.