Getting Started

This document will take you through the process of installing the Navigation 2 binaries and navigating a simulated Turtlebot 3 in the Gazebo simulator.


See the Build and Install for other situations such as building from source or working with other types of robots.


This is a simplified version of the Turtlebot 3 instructions. We highly recommend you follow the official Turtlebot 3 manual if you intend to continue working with this robot beyond the minimal example provided here.


  1. Install the ROS 2 binary packages as described in the official docs

  2. Install the Navigation 2 packages using your operating system’s package manager:

    sudo apt install ros-<ros2-distro>-navigation2
    sudo apt install ros-<ros2-distro>-nav2-bringup
  3. Install the Turtlebot 3 packages:

    sudo apt install ros-<ros2-distro>-turtlebot3*

Running the Example

  1. Start a terminal in your GUI

  2. Set key environment variables:

    source /opt/ros/<ros2-distro>/setup.bash
    export TURTLEBOT3_MODEL=waffle
    export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/<ros2-distro>/share/turtlebot3_gazebo/models
  3. In the same terminal, run

    ros2 launch nav2_bringup


    For ROS 2 Dashing Diademata or earlier, use However, it is recommended to use the most recent ROS 2 LTS distribution for improved stablity and feature completeness.

    This launch file will launch Navigation2 with the AMCL localizer in the turtlebot3_world world. It will also launch a the robot state publisher to provide transforms, a Gazebo instance with the Turtlebot3 URDF, and RVIZ.

    If everything has started correctly, you will see the RViz and Gazebo GUIs like this:

    ../_images/rviz-not-started.png ../_images/gazebo_turtlebot1.png
  4. Click the “Startup” button in the bottom left corner of RViz. This will cause Navigation 2 to change to the Active state. It should change appearance to show the map.

    Initial appearance of RViz transitioning to the Active state