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
- Download the
Ubuntu 20.04 LTS Desktop
image for your PC from the link below. - 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
- Connect your PC to a WiFi network and find the assigned IP address with the command below.
[Remote PC]$ ifconfig
- Open the file and update the ROS IP settings with the command below.
[Remote PC]$ nano ~/.bashrc
-
Press
Ctrl
+END
orAlt
+/
to move the cursor to the end of the line.
Modify the address oflocalhost
in theROS_MASTER_URI
andROS_HOSTNAME
with the IP address acquired from the previous terminal window.
- 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
- Download the
Ubuntu 22.04 LTS Desktop
image for your PC from the link below. - 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.
-
Visit the Debian package installation page.
-
Copy the CLI commands located in the green box and paste into your terminal with
ctrl
+shift
+v
-
Generally, ros-humble-desktop is recommended for the
Remote PC
-
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
- Open the terminal with
Ctrl
+Alt
+T
on the Remote PC. - Install Gazebo
[Remote PC]$ sudo apt install ros-humble-gazebo-*
- Install Cartographer
[Remote PC]$ sudo apt install ros-humble-cartographer $ sudo apt install ros-humble-cartographer-ros
- 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
- 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