Proposal for Bounty for Easy-to-use ROS images for RPI3 [Closed]

Topic:Bounty for Easy-to-use ROS images for RPI3

Proposal type: Software
Planned amount $$ (USD): $500 bounty

Description:

ArduPilot (in particular Copter) supports ROS via mavros but very few developers realise this. The best documentation we have is somewhere on the Erle Robotics site (http://erlerobotics.com/blog/).

To improve ArduPilot’s adoption amongst robotics developers familiar with ROS we should create:

  • a Ready-to-use image for an RPI3 which runs ROS and connects to a Pixhawk. When the RPI3 and Pixhawk are started up, ROS should start and connect to the pixhawk without any need for input from the user.
  • Scripts and/or detailed description on how the image was created (i.e. what packages installed, all changes made)
  • Create single ROS setup page on the wiki (or word document that can be added to the wiki) describing
  1. hardware connection diagram RPi3 <-> Pixhawk (or other common flight controller)
  2. short video showing it in operation
  3. Links to image, setup scripts, relevant ROS tutorials
  4. any other advice to help developers get started with ROS

Estimated time for completion: a few days perhaps

Details / Plan for implementation:
This project should be posted as an issue in the issues list, with a new category “Bounty” with clear indication of $500 bounty. Randy will decide whether it fulfills the requirements. This will be paid upon delivery by paypal.

Status: DRAFT

INFO: For details about Proposals see About the funding proposals category

1 Like

I can do this.
But, the linux distribution an ROS version should be fixed !
Ideally, ubuntu 16.04 and ROS-kinetic as kinetic is ROS LTS for ubuntu 16.04 which is also LTS.

I also believe that have an auto start directly is bad. The solution should provide a simple solution to make it auto start but not directely , otherwise, the rpi will be slow, and use will not understand why they got error when trying ROS stuff (because one instance is already launch)

I take it this post is to discuss the idea of a bounty, rather than posting the bounty itself?

The subject of this proposal already exists published.

@LuisVale, great! can you provide a link? I’d like to test it actually works. The devil is in the details.

same links I posted on chat
http://dev.px4.io/ros-raspberrypi-installation.html

or at the ros wiki
http://wiki.ros.org/Robots/Erle-copter

at the Erle site there are also some guides

http://erlerobotics.com/docs/Robot_Operating_System/ROS/Tutorials/index.html

http://wiki.ros.org/indigo/Installation/UbuntuARM

I just check and it is even simpler… ROS install is just apt-get both in debian and ubuntu . That why I said on gitter that it was like stealing money for doing this bounty.

The main difficulty is the wiring , but it is not complicated at all !

better use kinetic for non oudated package !

@LuisVale have you actually tried those links? Neither of them have ready to go images that you can download, flash and get ROSing.
It’s not that easy for raspberry, there are no binary packages for raspbian which is by far the best supported OS. Compiling ROS from source on a raspberry takes forever and is reasonably complex, not for the faint hearted. It might be possible to use ubuntu mate for raspberry but that’s a large desktop image which you can’t even run headless to start with unlike raspbian.
This is a good bounty proposal.

for curiosity: what can / will ROS do that you cannot do with the actual software available ?

Ros can be install on debian : http://wiki.ros.org/kinetic/Installation/Debian so it should be install on rpi3 with apt (or are them still on armhf ? ) or their must be a ppa somewhere !
For ubuntu on rpi 3 you have https://ubuntu-pi-flavour-maker.org/download/ and you can use their script to rebuild your image as you want !

I’m a little confused. You can already use the RPI3 to interface with the pixhawk very well I thought?

E.g. for me I have it connected to the pixhawk 1 so that when it all starts up the raspbian OS loads, boots the scripts to interface with the pix, gets the data off the pix, and have it connected to also the rpi csi camera and a wireless card so that it can send the HD video feed and rpi data down to a ground control station. From the GCS you can send commands up to the rpi which will instruct the pix what to do.

This is in relation to a drone. So e.g. you can use qgroundcontrol to get an interface looking very much like what DJI has i.e. a real time HD video feed with all the data you could ever want.

Yes you can install following those recipes. It’s good for a rainy saturday afternoon :).

If you want ready to run ROS images for RaspberryPi try here:

and you can get the Erle robotics images, although they even have more than required (they run also ArduPilot)

Jade only supported ubuntu, kinetic only supports debian intel and arm64 - raspberry is arm7 (32bit). Building it from source is extremely painful on a raspberry, it’s certainly not a viable or sensible answer to this proposal nor are third party or commercial offerings. The ubuntu-pi-flavour offers a stripped down headless ubuntu 16.04 which is an excellent start, although it’s torrent only and still needs quite a bit of installing and setting up.

I’m really surprised at the response to this proposal. It’s a really great idea - the new ardupilot organisation has some money from donations/memberships etc and wants to push things forward with bounties. $500 is not a lot of money - 1/2-1 days work for a consultant and there’s a fair bit to do. This isn’t just typing a few commands and uploading a dd somewhere for the lulz, it’s producing a reliable, tested, reproducible solution, documentation and videos - a solution that could introduce countless thousands of potential developers to the power of ardupilot and an onboard/companion computer. At the moment there is pretty much zero collaborative work around onboard/companion computers with this project and it really needs a kickstart. The easiest way to do this is to provide an image that people can download, flash and immediately get going with no further knowledge needed. Nothing I’ve heard here so far comes remotely close to that. But I bet if this bounty went live, there would be several solutions presented within days. Documented solutions that would move this area of use/research/work forward that will otherwise take months or years. My 2c, anyway.
Perhaps the developers could create a ‘wishlist’ of projects like this that the community could tackle, and if they want to prioritise them they could attach a bounty to speed things along.

https://github.com/UbiquityRobotics/ubiquity_main/blob/master/Doc_Downloading_and_Installing_the_Ubiquity_Ubuntu_ROS_Kernel_Image.md

Getting ROS and MavROS running on a companion computer is perhaps less than 1% of the work required to have ROS and ArduPilot working together.

ROS is not easy, and developing for ROS is something that has seen some advances, specially on the University/Research side, which is where you find most of the resources that have “touched” ROS.
I work with a team of extremely bright guys that work all day long on ROS and do lots of integration of ROS and flight stacks (unfortunately ArduPilot is not included).
Also, RPI don’t have “enough” muscle/computing power to do any “serious” work on ROS, and the absolute minimum are the Odroid’s (XU-4)

I have more faith in the ingenuity of this community :slight_smile:

I think this depends on how you define ‘easy to use’ ROS image for Pi 3.

I have a good, working image for Pi 3 using Raspbian that includes ROS and MAVROS, and was built to support the Seek Thermal Camera as a ROS topic. I compiled ROS Indigo from source to build the image on the Pi (it does take forever). I’ll submit it when I get a chance.

As someone else pointed out, ROS can’t do a whole lot on a Pi 3. The Odroid XU4 and NVidia TK1 (aka DJI Manifold) are much better suited for running ROS.