Edit on GitHub

Raspberry Pi 3 Setup

Note : There are two ways to install Linux and ROS to Raspberry Pi 3.

Install Ubuntu MATE

Warning : The SDcard should have at least 8 GB of empty space in order to install Linux on Raspberry Pi 3.

[Remote PC] Download Ubuntu MATE 16.04 on the Raspberry Pi 3 from the link below.

[Remote PC] In order to install Ubuntu MATE from an image file, it is recommended using GNOME Disks with Restore Disk Image... option, which natively supports XZ compressed image.

$ sudo apt-get install gnome-disk-utility

Tip : It is recommended using GNOME Disks, but other applications such as ddrescue on Linux can be used.

$ sudo apt-get install gddrescue xz-utils
$ unxz ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz
$ sudo ddrescue -D --force ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img /dev/sdx

Tip : It is recommended using GNOME Disks, but other applications such as Win32 Disk Imager on Windows can be used. Win32 Disk Imager

Install ROS

Warning : The contents in this chapter corresponds to the Raspberry Pi 3 which will be the main computer of TurtleBot3 Burger and Waffle Pi. Do NOT apply this instruction to your Remote PC (your desktop PC or laptop).

Note : This instruction takes about 1 hours to install ROS and related packages for TurtleBot3. Elapsed time may vary depending on network environment.

Tip : The terminal application can be found with the Ubuntu search icon on the top left corner of the screen. Shortcut key for terminal is Ctrl-Alt-T.

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

Note : In order to check which packages are installed, please check this link out. install_ros_kinetic_rp3

Note : After install ROS, please reboot Raspberry Pi 3.

If you prefer manual installation, please following the link below.

Install Dependent Packages

The next step is to install dependent packages for TurtleBot3 control.

Download packages from github

$ cd ~/catkin_ws/src
$ git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git

Note : If you want to use Raspberry Pi Camera, please check related appendix for Raspberry Pi Camera

Delete some packages that are only used in Remote PC

$ cd ~/catkin_ws/src/turtlebot3
$ sudo rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/

Install dependent packages

$ sudo apt-get install ros-kinetic-rosserial-python ros-kinetic-tf

Note : After install packages, please reboot Raspberry Pi 3.

Build packages

$ cd ~/catkin_ws && catkin_make

If catkin_make command is completed without any errors, the preparation for TurtleBot3 is done.

USB Settings

[TurtleBot] The following commands allow to use USB port for OpenCR1.0 without acquiring root permission.

$ rosrun turtlebot3_bringup create_udev_rules

Network Configuration

ROS requires IP addresses in order to communicate between TurtleBot3 and remote PC.

Enter the below command on the terminal window of the SBC in TurtleBot3 to find out the IP address of TurtleBot3.

$ ifconfig

Texts in the rectangle is the IP address of the TurtleBot.

Enter the following command.

$ nano ~/.bashrc

Press ‘ alt+/ ‘ to end line of the file.

Replace the localhost in the ROS_MASTER_URI address with the IP address acquired from Remote PC Network Configuration. Also replace the localhost in the ROS_HOSTNAME address with the IP address acquired from the above terminal window, which is the IP address of TurtleBot3.

Then, source the bashrc with below command.

$ source ~/.bashrc

Install Linux based on Raspbian

Warning : The SDcard should have at least 16 GB of empty space in order to install Linux on Raspberry Pi 3.

Linux distro based on Raspbian for ROS Users

We provide the Linux distro based on Raspbian. They are pre-installed with ROS and ROS-packages related TurtleBot3. It supports the TurtleBot3 Burger and Waffle Pi model. In this distro image, non-free software like Wolfram, Mathematica, Minecraft Pi and Oracle Java SE are removed.

Differences from the official Raspbian Stretch