Install ROS (Robot operating system)


#1

Hello guys,
Have someone here been able to install and run ROS?
I followed these instructions but is getting very difficult. The main problem is that I can’t install mavros.

Is resin OS based in raspbian? I read in some forums that ROS only works in ubuntu mate (An ubuntu version for raspberry pi). But I still don’t lose hope

Any help would be greatly appreciated!


#2

I am not aware of any internal efforts to work with ROS, but in my opinion it should work with resin. Could you paste the errors you are getting with mavros?


#3

Hey @hecontreraso, resinOS is the underlying system, it is not based on Raspbian, but it should not matter, the application is running in a Docker container, and thus can be any other system (maybe a bit more info in the docs, hope it helps a bit)

There’s this other project that was working on getting ROS running on resin.io devices, you can check out what the status is (it’s a community project by @spmaniato, it seems)

Let us know how your projects goes!


#4

The problem is that I can’t install a ROS library named mavros. Seems like it is not available for debian jessie:

http://answers.ros.org/question/260317/ros-kinetic-mavros-installation-on-rpi-3/

Fortunately, I wrote to ROS people, and they suggested to build mavros from sources, So I’m going to try


#5

@hecontreraso do you know what distro it is available for? It might be as simple as switching to arm32v7/ubuntu .


#6

@shaunmulligan
It is available for Ubuntu armhf. So I guess that in a Raspberry Pi, the first line of my Dockerfile should be like this, right?

FROM arm32v7/ubuntu

:slight_smile:


#7

@hecontreraso If you end up building from source, also take a look at this more recent project of mine:

In addition, you can probably work around the fact that there are no mavros binaries for Raspbian by following the hack I’ve used here:

You can ignore the QEMU (cross-build) stuff. The key points of this workaround are (i) using the resin/raspberrypi3-buildpack-deps:jessie base Docker image and (ii) “pretending to be Ubuntu Trusty”:

RUN echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list \
    && apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116 

With these in place, you should be able to install ROS (and mavros) from Debian packages, i.e., using apt-get (see the rest of my Dockerfile in the second project I’ve linked above). Keep in mind that I haven’t tested this workaround recently and that even back then I only tested with Jessie + ROS Indigo. With more recent OS and ROS distros there’s also a higher chance of ABI incompatibility between the actual OS binaries and the Debian packages.