Edit on GitHub

Only ROS1 Noetic and ROS2 Humble are officially supported by ROBOTIS at this time. However, development of TurtleBot features for other ROS distributions is ongoing. The following chart provides an overview of the features supported by each ROS Distribution

✓ : Available
? : Unverified
X : Unavailable

Features Kinetic Melodic Noetic Dashing Foxy Galactic Humble
Teleop
SLAM
Navigation
Simulation
Manipulation ?
Home Service Challenge X X X X
Autonomous Driving X X X X X
Machine Learning X X X X
Examples Kinetic Melodic Noetic Dashing Foxy Galactic Humble
Interactive Markers X X X X X X
Obstacle Detection X X X X X
Position Control X X X X X
Point Operation X X X X X
Patrol X X X X X
Follower X X X X X X
Panorama X X X X X X
Auto Parking X X X X X
Auto Parking (Vision) X X X X X X
Multi TurtleBot3 X X X X X X

Quick Start Guide

PC Setup

WARNING: The content in this chapter is for the initialization of the Remote PC (your desktop or laptop PC) which will be used to control the TurtleBot3. Do not complete these instructions on the TurtleBot3 platform itself.

Compatibility WARNING

  • The Jetson Nano does not support native Ubuntu 20.04. Please refer to the NVIDIA developer forum for more details.

NOTE: This instruction was tested on the Ubuntu 20.04 linux distribution running ROS1 Noetic Ninjemys.

Download and Install Ubuntu on Remote PC

  1. Download the Ubuntu 20.04 LTS Desktop image for your PC from the link below.
  2. Follow the instructions below to install Ubuntu.

Install ROS on Remote PC

Open the terminal with Ctrl+Alt+T and enter the below commands one at a time.
If you would like to inspect the content of the installation script, please refer to the script file.
[Remote PC]

$ sudo apt update
$ sudo apt upgrade
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_noetic.sh
$ chmod 755 ./install_ros_noetic.sh 
$ bash ./install_ros_noetic.sh

If the above installation fails, please refer to the official ROS1 Noetic installation guide.

Install Dependent ROS Packages

[Remote PC]

$ sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy \
  ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc \
  ros-noetic-rgbd-launch ros-noetic-rosserial-arduino \
  ros-noetic-rosserial-python ros-noetic-rosserial-client \
  ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server \
  ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro \
  ros-noetic-compressed-image-transport ros-noetic-rqt* ros-noetic-rviz \
  ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers

Install TurtleBot3 Packages

Install required TurtleBot3 Debian packages.
[Remote PC]

$ sudo apt install ros-noetic-dynamixel-sdk
$ sudo apt install ros-noetic-turtlebot3-msgs
$ sudo apt install ros-noetic-turtlebot3

Click here for details about building TurtleBot3 packages from source.

Make sure to remove any identical pre-compiled packages to avoid redundancy.

[Remote PC]

$ sudo apt remove ros-noetic-dynamixel-sdk
$ sudo apt remove ros-noetic-turtlebot3-msgs
$ sudo apt remove ros-noetic-turtlebot3

In case you need to download the source code and build the packages yourself, use the commands below.
[Remote PC]

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src/
$ git clone -b noetic https://github.com/ROBOTIS-GIT/DynamixelSDK.git
$ git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ~/catkin_ws && catkin_make
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

Network Configuration

  1. Connect your PC to a WiFi network and find the assigned IP address with the command below.
    [Remote PC]
    $ ifconfig
    

  2. Open the file and update the ROS IP settings with the command below.
    [Remote PC]
    $ nano ~/.bashrc
    
  3. Press Ctrl+END or Alt+/ to move the cursor to the end of the line.
    Modify the address of localhost in the ROS_MASTER_URI and ROS_HOSTNAME with the IP address acquired from the previous terminal window.

  4. Source the updated bashrc with the following command.
    [Remote PC]
    $ source ~/.bashrc
    

Quick Start Guide

PC Setup

WARNING: The content in this chapter is for the initialization of the Remote PC (your desktop or laptop PC) which will be used to control the TurtleBot3. Do not complete these instructions on the TurtleBot3 platform itself.

Compatibility WARNING

  • The Jetson Nano does not support native Ubuntu 20.04. Please refer to the NVIDIA developer forum for more details.

NOTE: This instruction was tested on the Ubuntu 22.04 linux distribution running ROS2 Humble Hawksbill.

Download and Install Ubuntu on Remote PC

  1. Download the Ubuntu 22.04 LTS Desktop image for your PC from the link below.
  2. Follow the instructions below to install Ubuntu.

Install ROS 2 on Remote PC

Please follow the official ROS2 documentation to install ROS2 Humble.

For most Linux users, the Debian package installation method is strongly recommended.

Click here to expand more details about How to install ROS2.

  1. Visit the Debian package installation page.

  2. Copy the CLI commands located in the green box and paste into your terminal with ctrl + shift + v

  3. Generally, ros-humble-desktop is recommended for the Remote PC

  4. Add a line sourcing your environment to your bashrc.
    [Remote PC]

    echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc  
    source ~/.bashrc  
    

Install Dependent ROS 2 Packages

  1. Open the terminal with Ctrl+Alt+T on the Remote PC.
  2. Install Gazebo
    [Remote PC]
    $ sudo apt install ros-humble-gazebo-*
    
  3. Install Cartographer
    [Remote PC]
    $ sudo apt install ros-humble-cartographer
    $ sudo apt install ros-humble-cartographer-ros
    
  4. Install Navigation2
    [Remote PC]
    $ sudo apt install ros-humble-navigation2
    $ sudo apt install ros-humble-nav2-bringup
    

Install TurtleBot3 Packages

Install the required TurtleBot3 Packages.

[Remote PC]

$ mkdir -p ~/turtlebot3_ws/src
$ cd ~/turtlebot3_ws/src/
$ git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git
$ git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3.git
$ sudo apt install python3-colcon-common-extensions
$ cd ~/turtlebot3_ws
$ colcon build --symlink-install
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
$ source ~/.bashrc

Environment Configuration

  1. Setup your ROS environment for the Remote PC.
    [Remote PC]
    $ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
    $ echo 'source /usr/share/gazebo/setup.sh' >> ~/.bashrc
    $ source ~/.bashrc