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
Step 8: Setting up the ROS environment variables
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
Step 9: Create and initialize the catkin workspace
mkdir -p ~/catkin_workspace/src
Step 10: Add the catkin_workspace to your ROS environment
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.