ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi,

I did succeed installing ROS indigo Desktop version on my raspberry by following the tutorial, but I didn't followed exactly all the steps because I faced many problems.

First of all, I am not sure if what I did is the perfect way to install it but it works for the moment and I am not facing any major problem with ROS on my raspberry pi.

Secondly, I did it with a raspberry pi 3 with raspbian jessie installed with NOOBS in a 16Gb microSD card.

So first, modify the size of the swap space (you will normally don't need to do it after). So I modified it from 100M to 3,0G. To do so, I opened the dphys-swapfile with a text editor (leafpad for example) and modified it.

$ sudo leafpad /etc/dphys-swapfile

and modified the line CONF_SWAPSIZE=100 with CONF_SWAPSIZE=3000.

I saved, reboot, and kept following the tutorial until the installation of the liburdfom-dev library. After changing the name and pressing enter (as asked in the tutorial), it didn't installed it. I kept following the tutorial and tried to install the libcollada-dev.

After changing the name, it started to compile and put an error (related to liburdfom-dev). So I restarted the tutorial part of liburdfom-dev and after changing the name (again) and pressing enter, it compiled (didn't understand why).

I restarted the libcollada-dev part and it finally compiled.

I then had to patch the collada-urdf, what I did by reading one of theses answers. So I downloaded it, saved as fix.patch in ~/ros_catkin_ws/src/robot_model/collada_urdf/src and lanched the following command line :

$ cd ~/ros_catkin_ws/src/robot_model/collada_urdf/src
$ patch < fix.patch

I then followed the tutorial until the 3.3 Building the catkin workspace section.

I also had a few mysterious errors. I don't know f it's because I didn't do well for the first steps but here is what I have done.

My first error concerned the urdfdom-config.cmake file line 15, it put an error about the urdf_sensor library. So I opened the urdfdom-config.cmake file :

$ sudo leafpad /usr/local/lib/urdfdom/cmake/urdfdom-config.cmake

and changed the line 8 foreach(lib urdfdom_sensor;urdfdom_model_state;urdf_model;urdf_world) by foreach(lib urdfdom_sensor;urdfdom_model_state;urdf_model;urdf_world) (I actually just changed the order of the arguments state_model with sensor). Save and keep going (do not abandon).

Again :

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

You will normally get an error with rviz.

Based on this tutorial, so you will have to open mesh_loader.cpp. to do so :

 $ sudo leafpad ~/ros_catkin_ws/src/rviz/src/rviz/mesh_loader.cpp

copy :

#ifdef __arm__                 // fix for ARM build
#include <strings.h>
bool Assimp::IOSystem::ComparePaths(const char *p1, const char *p2) const
{
    return !::strcasecmp(p1, p2);
}
#endif

at the end of the includes part.

Finally again :

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

It will take some hours.

If you face problems in the last part, (Adding release packages), it could be because the are some missing libraries, for example, if usb.h is missing, type :

$ sudo apt-get install libusb-dev

PS : During the installation, the raspberry pi may seems to freeze but not, it's the RAM and the swap memory wich are beeing used. You can check the memory used by keeping a terminal open and typing (whenever you want):

$ free -h

You will see that when it freezes, the system starts using the swap memory. At the end of the installation, it could be possible to modify the swapfile as before to avoid problems, but I dont know if ROS can work with the default RAM of the raspberry pi 3.

I hope it will help someone. Do not hesitate, I may have forgotten some details.

Good luck.