Edit on GitHub

SBC Setup

WARNING

  • This SBC Setup section is specifically written for Raspberry Pi 3B+ which is the current official TurtleBot3 SBC.
  • This process may take long time. Please do not use battery while following this section.
  • An HDMI monitor and input devices such as a keyboard and a mouse will be required to complete this setup.

If you are using Intel Joule, please refer to Intel Joule Setup instruction.

Prepare microSD Card

You need a micro SD card reader to burn the OS image on your PC or laptop.

  1. Download Raspbian with ROBOTIS TurtleBot3 restore image.
  2. Unzip the downloaded image.
  3. Burn the image file(.img) to the microSD card.
    • Use Restore Disk Image option in the Disks utility in Ubuntu.
    • Run the utility and select the restore image, then burn to the selected micro SD card.

Other micro SD card burning methods?

You can also use the Raspberry Pi Imager that supports Windows, Linux, and Mac OSX.

Read More about Raspberry Pi 4B

In case you use Raspberry Pi 4B, you can use the restore image below. However, please note that this image may not compatible with Raspberry Pi 4B with 8GB RAM.

Read More about Intel Joule 570x

In case you use Intel Joule 570x, please follow the instructions below.
Intel Joule is discontinued in 2017, and additional support is unavailable.

  1. Download Ubuntu 16.04 image for Intel® Joule™
  2. Create a bootable USB with the downloaded image.
  3. Install Ubuntu from the USB

Boot Up the Raspberry Pi

  1. Connect the HDMI cable of the monitor to the HDMI port of Raspberry Pi.
  2. Connect input devices to the USB port of Raspberry Pi
  3. Insert the microSD card.
  4. Connect the power (either with USB or OpenCR) to turn on the Raspberry Pi.

Configure the Raspberry Pi

  1. After Raspbian OS is up and running, connect to the WiFi network that is connected with the PC.
  2. Find the assigned IP address for Raspberry Pi with the command below. Usually wireless IP address for Raspberry Pi can be found under the wlan0 section.
    $ ifconfig
    
  3. From your PC, open the terminal and connect to the Raspberry Pi with its IP address.
    The default password is set as turtlebot.
    $ ssh pi@{IP_ADDRESS_OF_RASPBERRY_PI}
    
  4. Once logged in to the Raspberry Pi, execute the commands below to sync time.
    $ sudo apt-get install ntpdate
    $ sudo ntpdate ntp.ubuntu.com
    
  5. Load Raspberry Pi configuration interface.
    $ sudo raspi-config
    
  6. Select Advanced Options > Expand Filesystem and exit.
  7. Network configuration for ROS
    $ nano ~/.bashrc
    
  8. Go to the end of file with Ctrl+END or Alt+/, then modify the IP adddresses of ROS_MASTER_URI and the ROS_HOSTNAME.
    export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311
    export ROS_HOSTNAME={IP_ADDRESS_OF_RASPBERRY_PI_3}
    
  9. Save the file and exit the nano editor.
  10. Apply changes with the command below.
    $ source ~/.bashrc
    

SBC Setup

WARNING

  • This SBC Setup section is specifically written for Raspberry Pi 3B+ which is the current official TurtleBot3 SBC.
  • This process may take long time. Please do not use battery while following this section.
  • An HDMI monitor and input devices such as a keyboard and a mouse will be required to complete this setup.
  • In order to use the webOS Robotics Platform, please refer to webOS Robotics Platform instruction. Packages will be cross-compiled using OpenEmbedded on a higher performance PC and an image file is created.

Prepare microSD Card

You need a micro SD card reader to burn the OS image on your PC or laptop.

  1. Download the ubuntu-18.04.3-preinstalled-server-arm64+raspi3.img.xz image for your SBC from the links below.
  2. Unzip the downloaded image.

  3. Burn the image file(.img) to the microSD card.
    • Use Restore Disk Image option in the Disks utility in Ubuntu.
    • Run the utility and select the restore image, then burn to the selected micro SD card.

Other micro SD card burning methods?

You can also use the Raspberry Pi Imager that supports Windows, Linux, and Mac OSX.

Boot Up the Raspberry Pi

  1. Connect the HDMI cable of the monitor to the HDMI port of Raspberry Pi.
  2. Connect input devices to the USB port of Raspberry Pi
  3. Insert the microSD card.
  4. Connect the power (either with USB or OpenCR) to turn on the Raspberry Pi.

Configure the Raspberry Pi

  1. Log in with default username(ubuntu) and password(ubuntu). After logged in, system will ask you to change the password.

  2. Open automatic update setting file.
    $ sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    
  3. Change the update settings as below.
    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Unattended-Upgrade "0";
    

    Save the file with Ctrl+S and exit with Ctrl+X.

  4. Enter below command to configure the WiFi network setting.
    $ sudo nano /etc/netplan/50-cloud-init.yaml
    
  5. When the editor is opened, append below contents at the end of the file.
    Replace the WIFI_SSID and WIFI_PASSWORD with your wifi SSID and password.

    Save the file with Ctrl+S and exit with Ctrl+X.

  6. Reboot the Raspberry Pi.
    $ sudo reboot
    
  7. Set the systemd to prevent boot-up delay even if there is no network at startup. Run the command below to set mask the systemd process using the following command.
    $ systemctl mask systemd-networkd-wait-online.service
    
  8. Disable Suspend and Hibernation
    $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    
  9. Install and enable the SSH
    $ sudo apt install ssh
    $ sudo systemctl enable --now ssh
    $ reboot
    
  10. After rebooting the Raspberry Pi, if you wish to work from the Remote PC using SSH, use below command from the remote PC terminal. The default password is ubuntu.
    $ ssh ubuntu@{IP Address of Raspberry PI}
    

Install ROS Melodic Morenia

Enter below commands to the terminal one at a time.
In order to check the details of the easy installation script, please refer to the script file.

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

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

Install ROS Packages

  1. Install and build TurtleBot3 packages.
    $ sudo apt install ros-melodic-rosserial-python ros-melodic-tf
    $ mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src
    $ sudo apt install ros-melodic-hls-lfcd-lds-driver
    $ sudo apt install ros-melodic-turtlebot3-msgs
    $ sudo apt install ros-melodic-dynamixel-sdk
    $ git clone -b melodic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
    $ cd ~/catkin_ws/src/turtlebot3
    $ rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/
    $ cd ~/catkin_ws/
    $ echo 'source /opt/ros/melodic/setup.bash' >> ~/.bashrc
    $ source ~/.bashrc
    $ cd ~/catkin_ws && catkin_make -j1
    $ echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc
    $ source ~/.bashrc
    
  2. USB Port Setting
    $ rosrun turtlebot3_bringup create_udev_rules
    

Network Configuration

  1. Network configuration for ROS.
    $ nano ~/.bashrc
    
  2. Go to the end of file with Ctrl+END or Alt+/, then modify the IP adddresses of ROS_MASTER_URI and the ROS_HOSTNAME.
    export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311
    export ROS_HOSTNAME={IP_ADDRESS_OF_RASPBERRY_PI_3}
    
  3. Save the file and exit the nano editor.
  4. Apply changes with the command below.
    $ source ~/.bashrc
    

SBC Setup

WARNING

  • This SBC Setup section is specifically written for Raspberry Pi 3B+ which is the current official TurtleBot3 SBC.
  • This process may take long time. Please do not use battery while following this section.
  • An HDMI monitor and input devices such as a keyboard and a mouse will be required to complete this setup.

Prepare microSD Card

You need a micro SD card reader to burn the OS image on your PC or laptop.

  1. Download the proper Ubuntu 20.04.1 Preinstalled Server image for your SBC from the links below.
  2. Unzip the downloaded image.

  3. Burn the image file(.img) to the microSD card.
    • Use Restore Disk Image option in the Disks utility in Ubuntu.
    • Run the utility and select the restore image, then burn to the selected micro SD card.

Other micro SD card burning methods?

You can also use the Raspberry Pi Imager that supports Windows, Linux, and Mac OSX.

Boot Up the Raspberry Pi

  1. Connect the HDMI cable of the monitor to the HDMI port of Raspberry Pi.
  2. Connect input devices to the USB port of Raspberry Pi
  3. Insert the microSD card.
  4. Connect the power (either with USB or OpenCR) to turn on the Raspberry Pi.

Configure the Raspberry Pi

  1. Log in with default username(ubuntu) and password(ubuntu). After logged in, system will ask you to change the password.

  2. Open automatic update setting file.
    $ sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    
  3. Edit to disable automatic update settings as below.
    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Unattended-Upgrade "0";
    

    Save the file with Ctrl+S and exit with Ctrl+X.

  4. Enter below command to configure the WiFi network setting.
    $ sudo nano /etc/netplan/50-cloud-init.yaml
    
  5. When the editor is opened, append below contents at the end of the file.
    Replace the WIFI_SSID and WIFI_PASSWORD with your wifi SSID and password.

    Save the file with Ctrl+S and exit with Ctrl+X.

  6. Reboot the Raspberry Pi.
    $ sudo reboot
    
  7. Set the systemd to prevent boot-up delay even if there is no network at startup. Run the command below to set mask the systemd process using the following command.
    $ systemctl mask systemd-networkd-wait-online.service
    
  8. Disable Suspend and Hibernation
    $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    
  9. Install and enable the SSH
    $ sudo apt install ssh
    $ sudo systemctl enable --now ssh
    $ reboot
    
  10. After rebooting the Raspberry Pi, if you wish to work from the Remote PC using SSH, use below command from the remote PC terminal. The default password is ubuntu.
    $ ssh ubuntu@{IP Address of Raspberry PI}
    

Install ROS Noetic Ninjemys

Enter below commands to the terminal one at a time.
In order to check the details of the easy installation script, please refer to the script file.

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

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

Install ROS Packages

  1. Install and build TurtleBot3 packages.
    $ sudo apt install ros-noetic-rosserial-python ros-noetic-tf
    $ mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src
    $ sudo apt install ros-noetic-hls-lfcd-lds-driver
    $ sudo apt install ros-noetic-turtlebot3-msgs
    $ sudo apt install ros-noetic-dynamixel-sdk
    $ git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
    $ cd ~/catkin_ws/src/turtlebot3
    $ rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/
    $ cd ~/catkin_ws/
    $ cd ~/catkin_ws && catkin_make -j1
    $ source ~/.bashrc
    
  2. Install dependencies using rosdep.
    $ sudo apt install python3-rosdep2
    $ cd ~/catkin_ws && rosdep update && rosdep install --from-paths src --ignore-src -r -y
    
  3. USB Port Setting
    $ rosrun turtlebot3_bringup create_udev_rules
    

Network Configuration

  1. Network configuration for ROS.
    $ nano ~/.bashrc
    
  2. Go to the end of file with Ctrl+END or Alt+/, then modify the IP adddresses of ROS_MASTER_URI and the ROS_HOSTNAME.
    export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311
    export ROS_HOSTNAME={IP_ADDRESS_OF_RASPBERRY_PI_3}
    
  3. Save the file and exit the nano editor.
  4. Apply changes with the command below.
    $ source ~/.bashrc
    

SBC Setup

WARNING

  • This SBC Setup section is specifically written for Raspberry Pi 3B+ which is the current official TurtleBot3 SBC.
  • This process may take long time. Please do not use battery while following this section.
  • An HDMI monitor and input devices such as a keyboard and a mouse will be required to complete this setup.
  • In order to use the webOS Robotics Platform, please refer to webOS Robotics Platform instruction. Packages will be cross-compiled using OpenEmbedded on a higher performance PC and an image file is created.

Prepare microSD Card

You need a micro SD card reader to burn the OS image on your PC or laptop.

  1. Download the ubuntu-18.04.3-preinstalled-server-arm64+raspi3.img.xz image on your PC.
  2. Unzip the downloaded image.

  3. Burn the image file(.img) to the microSD card.
    • Use Restore Disk Image option in the Disks utility in Ubuntu.
    • Run the utility and select the restore image, then burn to the selected micro SD card.

Other micro SD card burning methods?

You can also use the Raspberry Pi Imager that supports Windows, Linux, and Mac OSX.

Boot Up the Raspberry Pi

  1. Connect the HDMI cable of the monitor to the HDMI port of Raspberry Pi.
  2. Connect input devices to the USB port of Raspberry Pi
  3. Insert the microSD card.
  4. Connect the power (either with USB or OpenCR) to turn on the Raspberry Pi.

Configure the Raspberry Pi

  1. Log in with default username(ubuntu) and password(ubuntu). After logged in, system will ask you to change the password.

  2. Open automatic update setting file.
    $ sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    
  3. Edit to disable automatic update settings as below.
    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Unattended-Upgrade "0";
    

    Save the file with Ctrl+S and exit with Ctrl+X.

  4. Enter below command to configure the WiFi network setting.
    $ sudo nano /etc/netplan/50-cloud-init.yaml
    
  5. When the editor is opened, append below contents at the end of the file.
    Replace the WIFI_SSID and WIFI_PASSWORD with your wifi SSID and password.

    Save the file with Ctrl+S and exit with Ctrl+X.

  6. Apply all configuration for the renderers, and then reboot the Raspberry Pi.
    $ sudo netplan apply
    $ reboot
    
  7. Set the systemd to prevent boot-up delay even if there is no network at startup. Run the command below to set mask the systemd process using the following command.
    $ systemctl mask systemd-networkd-wait-online.service
    
  8. Disable Suspend and Hibernation
    $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    
  9. Install and enable the SSH
    $ sudo apt install ssh
    $ sudo systemctl enable --now ssh
    $ reboot
    
  10. After rebooting the Raspberry Pi, if you wish to work from the Remote PC using SSH, use below command from the remote PC terminal. The default password is ubuntu.
    $ ssh ubuntu@{IP Address of Raspberry PI}
    

Add Swap Space

  1. Enter the command below to create 2GB swap space.
    $ sudo swapoff /swapfile
    $ sudo fallocate -l 2G /swapfile
    $ sudo chmod 600 /swapfile
    $ sudo mkswap /swapfile
    $ sudo swapon /swapfile
    $ sudo nano /etc/fstab
    

    You can ignore below error when entering swapoff /swapfile command.

    swapoff: /swapfile: swapoff failed: No such file or directory
    
  2. When the editor opens the fstab file, append below contents at the end of the file.
    /swapfile swap swap defaults 0 0
    
  3. Check if 2GB of swap space is correctly configured.
    $ sudo free -h
                  total        used        free      shared  buff/cache   available
    Mem:           912M         97M        263M        4.4M        550M        795M
    Swap:          2.0G          0B        2.0G
    

Install ROS Dashing Diademata

  1. Open a terminal on SBC

  2. Update and upgrade your software
    $ sudo apt update && sudo apt upgrade
    
  3. Setup locale
    $ sudo locale-gen en_US en_US.UTF-8
    $ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
    $ export LANG=en_US.UTF-8
    
  4. Setup sources
    $ sudo apt update && sudo apt install curl gnupg2 lsb-release
    $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
    $ sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
    
  5. Install ROS 2 packages
    $ sudo apt update
    $ sudo apt install ros-dashing-ros-base
    

Install ROS Packages

$ sudo apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential
$ sudo apt install ros-dashing-hls-lfcd-lds-driver
$ sudo apt install ros-dashing-turtlebot3-msgs
$ sudo apt install ros-dashing-dynamixel-sdk
$ mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src
$ git clone -b dashing-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ~/turtlebot3_ws/src/turtlebot3
$ rm -r turtlebot3_cartographer turtlebot3_navigation2
$ cd ~/turtlebot3_ws/
$ echo 'source /opt/ros/dashing/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
$ colcon build --symlink-install --parallel-workers 1
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
$ source ~/.bashrc

Environment Setup

Domain ID Allocation

In DDS communication, ROS_DOMAIN_ID must be matched between Remote PC and TurtleBot3 for wireless communication under the same network environment. Following commands shows how to assign a ROS_DOMAIN_ID to SBC in TurtleBot3.

  • A default ID of TurtleBot3 is set as 0.
  • To configure the ROS_DOMAIN_ID of Remote PC and SBC in TurtleBot3 to 30 is recommendable.
  1. Open a terminal on SBC
  2. Use the following commands.
    $ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
    $ source ~/.bashrc
    

WARNING : Do not use an identical ROS_DOMAIN_ID with others in the same network. It will cause a conflict of communication between users under the same network environment.

SBC Setup

WARNING

  • This SBC Setup section is specifically written for Raspberry Pi 3B+ which is the current official TurtleBot3 SBC.
  • This process may take long time. Please do not use battery while following this section.
  • An HDMI monitor and input devices such as a keyboard and a mouse will be required to complete this setup.
  • In order to use the webOS Robotics Platform, please refer to webOS Robotics Platform instruction. Packages will be cross-compiled using OpenEmbedded on a higher performance PC and an image file is created.

Prepare microSD Card

You need a micro SD card reader to burn the OS image on your PC or laptop.

  1. Download the proper Ubuntu 20.04.1 Preinstalled Server image on your PC.
  2. Unzip the downloaded image.

  3. Burn the image file(.img) to the microSD card.
    • Use Restore Disk Image option in the Disks utility in Ubuntu.
    • Run the utility and select the restore image, then burn to the selected micro SD card.

Other micro SD card burning methods?

You can also use the Raspberry Pi Imager that supports Windows, Linux, and Mac OSX.

Boot Up the Raspberry Pi

  1. Connect the HDMI cable of the monitor to the HDMI port of Raspberry Pi.
  2. Connect input devices to the USB port of Raspberry Pi
  3. Insert the microSD card.
  4. Connect the power (either with USB or OpenCR) to turn on the Raspberry Pi.

Configure the Raspberry Pi

  1. Log in with default username(ubuntu) and password(ubuntu). After logged in, system will ask you to change the password.

  2. Open automatic update setting file.
    $ sudo nano /etc/apt/apt.conf.d/20auto-upgrades
    
  3. Edit to disable automatic update settings as below.
    APT::Periodic::Update-Package-Lists "0";
    APT::Periodic::Unattended-Upgrade "0";
    

    Save the file with Ctrl+S and exit with Ctrl+X.

  4. Enter below command to configure the WiFi network setting.
    $ sudo nano /etc/netplan/50-cloud-init.yaml
    
  5. When the editor is opened, append below contents at the end of the file.
    Replace the WIFI_SSID and WIFI_PASSWORD with your wifi SSID and password.

    Save the file with Ctrl+S and exit with Ctrl+X.

  6. Apply all configuration for the renderers, and then reboot the Raspberry Pi.
    $ sudo netplan apply
    $ reboot
    
  7. Set the systemd to prevent boot-up delay even if there is no network at startup. Run the command below to set mask the systemd process using the following command.
    $ systemctl mask systemd-networkd-wait-online.service
    
  8. Disable Suspend and Hibernation
    $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
    
  9. Install and enable the SSH
    $ sudo apt install ssh
    $ sudo systemctl enable --now ssh
    $ reboot
    
  10. After rebooting the Raspberry Pi, if you wish to work from the Remote PC using SSH, use below command from the remote PC terminal. The default password is ubuntu.
    $ ssh ubuntu@{IP Address of Raspberry PI}
    

Add Swap Space

  1. Enter the command below to create 2GB swap space.
    $ sudo swapoff /swapfile
    $ sudo fallocate -l 2G /swapfile
    $ sudo chmod 600 /swapfile
    $ sudo mkswap /swapfile
    $ sudo swapon /swapfile
    $ sudo nano /etc/fstab
    

    You can ignore below error when entering swapoff /swapfile command.

    swapoff: /swapfile: swapoff failed: No such file or directory
    
  2. When the editor opens the fstab file, append below contents at the end of the file.
    /swapfile swap swap defaults 0 0
    
  3. Check if 2GB of swap space is correctly configured.
    $ sudo free -h
                  total        used        free      shared  buff/cache   available
    Mem:           912M         97M        263M        4.4M        550M        795M
    Swap:          2.0G          0B        2.0G
    

Install ROS Foxy Fitzroy

  1. Open a terminal on SBC

  2. Update and upgrade your software
    $ sudo apt update && sudo apt upgrade
    
  3. Setup locale
    $ sudo locale-gen en_US en_US.UTF-8
    $ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
    $ export LANG=en_US.UTF-8
    
  4. Setup sources
    $ sudo apt update && sudo apt install curl gnupg2 lsb-release
    $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
    $ sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
    
  5. Install ROS 2 packages
    $ sudo apt update
    $ sudo apt install ros-foxy-ros-base
    

Install ROS Packages

$ sudo apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential
$ sudo apt install ros-foxy-hls-lfcd-lds-driver
$ sudo apt install ros-foxy-turtlebot3-msgs
$ sudo apt install ros-foxy-dynamixel-sdk
$ mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src
$ git clone -b foxy-devel https://github.com/ROBOTIS-GIT/turtlebot3.git
$ cd ~/turtlebot3_ws/src/turtlebot3
$ rm -r turtlebot3_cartographer turtlebot3_navigation2
$ cd ~/turtlebot3_ws/
$ echo 'source /opt/ros/foxy/setup.bash' >> ~/.bashrc
$ source ~/.bashrc
$ colcon build --symlink-install --parallel-workers 1
$ echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
$ source ~/.bashrc

Environment Setup

Domain ID Allocation

In DDS communication, ROS_DOMAIN_ID must be matched between Remote PC and TurtleBot3 for wireless communication under the same network environment. Following commands shows how to assign a ROS_DOMAIN_ID to SBC in TurtleBot3.

  • A default ID of TurtleBot3 is set as 0.
  • To configure the ROS_DOMAIN_ID of Remote PC and SBC in TurtleBot3 to 30 is recommendable.
  1. Open a terminal on SBC
  2. Use the following commands.
    $ echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
    $ source ~/.bashrc
    

WARNING : Do not use an identical ROS_DOMAIN_ID with others in the same network. It will cause a conflict of communication between users under the same network environment.

SBC Setup

WARNING

  • TurtleBot3 on Windows is running on a single PC assembled on TurtleBot3 instead of Raspberry Pi.
  • If you have replaced Raspberry Pi with UP2 or Intel NUC and followed PC setup section on it, you can bypass this section.