The ROS framework is compatible with a short list of Linux distributions. Neither the hardware side is not better. There are just few hardware architectures compatible with ROS. Raspberry Pi is one of the development boards compatible in terms of hardware with ROS.

So, I thought to install ROS Kinetic on the Raspberry Pi 3 running Ubuntu Mate. But only a certain version of Ubuntu Mate is compatible with ROS and Raspberry Pi 3, it is about the Ubuntu MATE for Raspberry Pi 3. This is an OS version released last year and include support for the WiFi and Bluetooth modules integrated into the Pi 3.

The OS version used by me on Raspberry Pi 3 is Ubuntu MATE 16.04.2.

The ROS version that I have installed is Kinetic Kame. Kinetic was released early last year and is compatible with Ubuntu Mate 16.04. I chose this version for two reasons:

it will be officially supported for the next five years; it is the most complete version after Indigo;

The first step in installing ROS on Raspberry Pi 3 is called Mate. Ubuntu Mate. The operating system is simple to install. I followed the steps on the download page, and within minutes I managed to have a Pi 3 running Ubuntu Mate.



What you find below are the steps to install ROS Kinetic on the Raspberry Pi 3.

Step 1: Go to System -> Administration -> Software & Updates

Step 2: Check the checkboxes to repositories to allow “restricted,” “universe,” and “multiverse.”

Step 3: Setup your sources.list

sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’

Step 4: Setup your keys

wget http://packages.ros.org/ros.key -O – | sudo apt-key add –

Step 5: To be sure that your Ubuntu Mate package index is up to date, type the following command

sudo apt-get update

Step 6: Install ros-kinetic-desktop-full

sudo apt-get install ros-kinetic-desktop-full

Step 7: Initialize rosdep

sudo rosdep init

rosdep update

Step 8: Setting up the ROS environment variables

echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc

source ~/.bashrc

Step 9: Create and initialize the catkin workspace

mkdir -p ~/catkin_workspace/src

cd catkin_workspace/src

catkin_init_workspace

cd ~/catkin_workspace/

catkin_make

Step 10: Add the catkin_workspace to your ROS environment

source ~/catkin_workspace/devel/setup.bash

echo “source ~/catkin_workspace/devel/setup.bash” >> ~/.bashrc

Step 11: Check the ROS environment variables

export | grep ROS

Check the ROS installation

Open a new terminal and type: roscore Open a new terminal and type: rosrun turtlesim turtlesim_node

The error that you see in the last picture (libEGL warning: DRI2: failed to authenticate) is generally caused by the graphics memory allocation on the Raspberry Pi being too low.