In this Tutorial we are going to go over setting up a Raspberry Pi with Linux and ROS. As well as getting familiar with some of the basics by running some simple tutorial programs from the "ROS WIKI" . If you are unfamiliar with ROS you can check out the WIKI or one of my previous tutorials "Getting Started with ROS" . Just to give you a Idea of the capabilities of ROS and all the cool things stemming from this Open source project take a look at the video below.

Now just so that you are not confused about the potentials of the Raspberry Pi as a robotic processor/controller, it has great potential for small computation and can run Linux and all the great features that come along with it. But this is a Arm processor and not a typical PC cpu so it is limited by its architecture and power capabilities. Some portions of Linux code have not been completely ported to ARM processors so you will be limited at the moment to what programs you can install. But for most of ROS and the programs I am going to cover in this tutorial, Pi is functional and can be useful depending on the demands of your project. But if you are planning to do any 3d/2d mapping/navigation with a Kinect/laser scanner at the moment I am not sure its possible utilizing just the Raspberry Pi but with time who knows. In the future I will also include another tutorial that connects the Raspberry Pi to a small robot to act as controller. So lets begin.. 

Step 1: Parts list

We are going to need the following items :

Raspberry Pi


Micro USB power supply 

USB keyboard and mouse

HDMI cable

Monitor with HDMI input

SD Card with at least 8GB    (Check this list of compatible cards )

And a computer with either Windows or Linux installed
<p>Hi thanks for this tutorial it is very helpful and save lot of time, i am planing to bay raspberry pi zero, is this image work on raspberry pi zero???</p>
In the ROS wiki instructions Installing ROS Indigo on the Raspberry Pi<br>(http://wiki.ros.org/ROSberryPi/Installing ROS Indigo on Raspberry Pi)<br><br>I kept getting a 'Permission denied' error<br>Something that really helped me was to change this line:<br>wget https://bootstrap.pypa.io/ez_setup.py -O &ndash; | python<br>To this:<br>sudo wget https://bootstrap.pypa.io/ez_setup.py -O &ndash; | sudo python<br>
<p>Does this work on a Pi3 Model B</p>
<p>I had success with the Indigo installation on Raspbian on the Pi 3 following these instructions:</p><p><a href="http://wiki.ros.org/indigo/Installation/UbuntuARM" rel="nofollow">http://wiki.ros.org/indigo/Installation/UbuntuARM</a><br><br>though it didn't install MoveIt successfully, or rViz - which apparently is a bit processor heavy for the Pi anyway<br><br>I have successfully activated OpenGL on the Pi3 though<br><br>And have it networking with some Arduino Chips running sensor inputs and motor outputs<br><br>I would like it to run a simulated real time model of the robot I'm building, but am thinking I may have to write my own lightweight code for that</p>
Thank you for that link! I tried many links and was almost there when a coworker told me about another issue.<br><br>I am now waiting for an external HD so that I am not constantly writing to the SC card. Apparently that causes issues.<br><br>I am completely familiar with interfacing to external sensors but not using the ROS.
<p>Which linux distribution did you install on the pi ?</p>
<p>keyboard not write, what can i do in this case???</p>
<p>wired USB keyboard?</p>
<p>What is user and password?</p>
<p>I tried the install of Raspbian+ROS from Raspbian-ROS-full.img.7z file. Unfortunately the micro-SD card will not boot the Pi B+ with that. Card is OK as reimaging with Raspbian alone is OK for Pi boot. Any solutions or pointers?</p>
<p>Hello</p><p>I am having the same problem have you found a solution for the raspberry pi b++ I can not seem to get the image to boot.</p>
<p>hello friend, I install image but it runs in my raspberry pi, what happens? thanks for your help.</p>
<p>Does it run or not? What is your problem? I installed the image on two RPis. Together with my Ubunutu-ROS that I had earlier I have 3 ROS-nodes at all and everyone works fine!</p>
<p>Hi! There were some problems when downloading the image. Chrome did not manage it. Both attempts failed near 30% of progress. Then I tried it with Opera - only 60% were done. Finally the Firefox got it very quickly from the first attempt. So try different browsers.</p><p>The image worked fine. I'm using Transcend 8Gb card.</p><p>For people who are wondering which versions of RPi and ROS are there:</p><p>RPi: 3.1.9+</p><p>ROS: Fuerte</p><p>Installed packages: </p><p>actionlib, actionlib_msgs, <br>cpp_common, diagnostic_msgs, geometry_msgs, message_filters, mk, nav_msgs, perf_roscpp, <br>rosbag, rosbash, rosboost_cfg, rosbuild, rosclean, rosconsole, roscpp, roscpp_serialization, <br>roscpp_traits, roscpp_tutorials, roscreate, rosgraph, rosgraph_msgs, roslang, roslaunch, <br>roslib, roslisp, rosmake, rosmaster, rosmsg, rosnode, rosout, rospack, rosparam, <br>rospy, rospy_tutorials, rosservice, rostest, rostime, rostopic, rosunit, roswtf, <br>rxbag, rxgraph, rxtools, sensor_msgs, std_msgs, std_srvs, stereo_msgs, test_crosspackage, <br>test_ros, test_rosbag, test_roscpp, test_roscpp_serialization, test_roscpp_serialization_perf, <br>test_roslib_comm, test_rospy, test_rosservice, test_rostime, topic_tools, trajectory_msgs, <br>turtlesim, visualization_msgs, wxPython_swig_interface, xdot, xmlrpcpp</p><p>Many thanks to you guys for the instruction!</p>
<p>keyboard not write the password , what can i do in this case ???????</p>
<p>It might actually be writing the password. It doesn't show the password characters as they are typed. But if you type the right password and then hit enter it should work.</p>
<p>The raspberry pi Image link is not working</p>
<p>I'd been trying to connect a Kinect with the raspi through ROS but I'm not succeeding yet, I use the ROS that you posted here, do you know what libraries do I need and where can I find them? </p><p>Thanks a lot</p>
<p>Use the OpenNI or Freenect stacks</p><p><a href="http://wiki.ros.org/openni_kinect" rel="nofollow">http://wiki.ros.org/openni_kinect</a></p><p><a href="http://wiki.ros.org/freenect_stack" rel="nofollow">http://wiki.ros.org/freenect_stack</a></p>
<p>Hello. I'm trying to install ROS groovy from source into a raspberry pi.</p><p>Could you tell me what kind of ROS is inside the image?</p><p>I'm look for desktop full install.</p><p>Sorry for my bad english.</p>
I can not get your image to boot, although I was able to get raspbian installed...but had problems getting ros setup on it :( <br> <br>I'm using an 8 gb sd card (and as I've said, I have successfully put raspbian on it) on a model b raspberry pi. I wiped the card so it only had one partition, used win-32-imagewriter to write the image to the disk. There are 12 files on the card after writing on the 55.9 MB portion. <br> <br>Could the fact that I have a raspberry pi model b be messing things up?
If you have loaded the Rosberry PI Image from the link in the tutorial it should have installed Raspbian with ROS pre-installed. If you were unsuccessful in getting the image to boot I would try a different SD card that is listed in this tutorial as compatible. The Rosberry Pi Image should work on both model versions of Raspberry Pi. -Atom
Hello <br>Excuse me , I just want to know if dual core video core iv multi media co processor in Rasberry pi can work with ROS or not ??
well done but have to agree with tunaman7787 <br>all the best
Why? It will be about as powerful as a phone-why not get an Android phone or tablet? A tablet can do most things a Pi can, and trying to rig a touch screen with Rasbian Linux would be very difficult. The Pi is a DIY thing-it doesn't come nicely packaged. Also, a battery for the Pi poses some issues. These issues aside, by the time you were to pay for the Pi, the case, the battery, the screen, and the touch screen, you would have a thick, bulky, package that would cost more than a $200 Nexus 7. <a href="http://cnp-keythai.com/logo" rel="nofollow">logo</a>
Well this is just a simple tutorial that is aimed at getting people familiar with Raspberry Pi and Linux for Arm controllers. I was looking for a inexpensive alternative to a pc when using ROS as a brain/master for a autonomous robot base. So ultimately this setup would not need a touch screen as it would be on the robot and controlled via wifi/telenet or running autonomously. I understand there are many options for robot controllers, and many people have various opinions based on there own goals. - Atom
The link for &quot;Rosberry PI Image&quot; seems to be broken. Is the file still available somewhere? I would love to get ROS setup on my Pi. <br>Thanks, <br>-Bob
The link to the &quot;Rosberry Pi Image&quot; has been fixed. Enjoi -Atom

About This Instructable




More by ZRob314:Piano Pi - Play a Duet With Your Pi! Raspberry Pi Touchscreen Setup Times Square in your living room!   Turn your Sense Hat LED into a news ticker. 
Add instructable to: