How To install ROS Kinetic on Raspberry Pi 3 (Ubuntu Mate)

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:

  1. it will be officially supported for the next five years;
  2. 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.”

Software and Updates

Software and Updates

Step 3: Setup your sources.list

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

Step 4: Setup your keys

wget -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


cd ~/catkin_workspace/


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

The setup looks like in the picture

The setup looks like in the picture

Check the ROS installation

  1. Open a new terminal and type: roscore
  2. 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.

25 comments » Write a comment

  1. Thank you very much, again, for a 🙂 ‘most excellent’ (: set of ROS/RPi install instructions and, as always, fantastic site. ~ very best2u’n’urs, curtis

  2. I have installed ROS Kinetic in Ubuntu Mate but in the end it gives me source command not found
    Can you help me thank you

    Your comment is awaiting moderation.

      • after executing the command ‘source ~/.bashrc’
        the result is ‘source: command not found’
        bash: /home/aroid/ros_catkin_ws/devel/setup.bash: No such file or directory
        thats it…..
        what i should do

        • Probably the quotation marks (“”) are the problem — use an editor like nano and check the last line of ~/.bashrc, remove any extra quotes. The last two lines in my bashrc are:

          source /opt/ros/kinetic/setup.bash
          source /home/pi/catkin_workspace/devel/setup.bash

  3. i want to connect my kinect xbox with ros kinetic(ubuntu 16.04) in raspberry pi 3 to get a skeletal image.But it asks for OPENNI, when i enter this command ” sudo apt-get install ros-electric-openni-kinect ” it gives an error like unable to locate the package. would you give me a solution for this or any alternate for OPENNI to get a skeletal image using kinect+ubuntu 16.04+ ros+ raspberry pi

  4. very nice tutorial just some minor comments.
    1) change catkin_make to catkin_make -j2 to avoid the pi freezing.
    2) change echo “source ~/catkin_workspace/devel/setup.bash” >> ~/.bashrc to echo “source ~/catkin_workspace/devel/setup.bash” >> ~/.bashrcD

  5. Sadly, this command doesn’t work for my RPi3 running Raspbian Stretch:
    sudo apt-get install ros-kinetic-desktop-full

    It said ‘unable to locate package ros-kinetic-desktop-full’. 🙁

  6. everything seems fine until I typed: roscore
    The program roscore is currently not installed. You can install it by typing : sudo apt install python-roslaunch

  7. Sorry to bother while installing ros an error message appears on 1 bad entry specified on list /etc/apt/sources.list.d/ros-latest.list (Component)

Leave a Reply to Nithin Sandilya Cancel reply