0
$\begingroup$

Rosanswers logo

I was reading the installation instructions for putting ROS Kinetic on a Raspberry Pi here. It mentions that it is faster to instead use Ubuntu Xenial (16.04) for a Rasp Pi 3. But I am not sure if it means faster as an OS or faster to download. For a Rasp Pi 4 (which is what I have) with 4 Gb of RAM which OS is a better choice efficiency wise (are there any glaring problems with either of these options). I have never used ROS before and am somewhat new to Linux as well. I was looking at this tutorial for installation of Ubuntu. It mentions a later version of Ubuntu, 19.something, would the installation be the same except for a different image to flash on the SD. Would I need to worry about overclocking in this case, is ROS heavy on the processor if your just doing basic stuff. I know this is a lot, but I appreciate any help you can give!

Edit: It looks like for what I'm trying to do an RPi really isn't the best choice. Additionally because the only distro currently supported on an RPi 4 is Ubuntu 19.10, getting ROS on there at all will be difficult (much less getting Kinetic on there) because no version of ROS is officially supported for Ubuntu 19.10 (and especially not Kinetic). Thus I will try to dual boot my laptop because that is a much better choice for what I am trying to do.


Originally posted by tannerlegvold on ROS Answers with karma: 3 on 2020-01-13

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I'll try to work through this step by step :-)

use Ubuntu Xenial (16.04) for a Rasp Pi 3

Just to clarify, using "Ubuntu Mate Xenial"

I am not sure if it means faster as an OS or faster to download

This means "faster to install". I can't judge about the part of "faster as an OS", but definitely faster to just flash the image and install the rest via the package manager than to compile from source.

which OS is a better choice

Given that there is no Ubuntu Mate for the RPi 4 (for now), you'll probably have to use Raspian and the tutorial you link to by compiling from source.

Also, note that the RPi 4 is only officially supported starting from Ubuntu 19.10, i.e. installing Ubuntu 16.04 on the RPi 4 for the use with kinetic might be quite a challenge...

I have never used ROS before and am somewhat new to Linux as well.

Then I'd suggest to familiarize with those (first, Linux/Ubuntu, then ROS) on a system where this is supported without jumping through hoops. I.e. use a desktop or a laptop.

19.something, would the installation be the same except for a different image to flash on the SD

No, the steps would not be the same. Kinetic is not supported for Ubuntu 19.10, nor is any other ROS (ROS1 that is) distro that I'm aware of... (See REP3). You could try to install ROS melodic (the predecessor of kinetic) but there are no guarantees that this works as this is only officially supported for Ubuntu 17.10 and 18.04.

is ROS heavy on the processor if your just doing basic stuff

Please define "basic stuff" and it obviously depends on your way of setting everything up.. :-)


** Edit **

Would you advise trying to dual boot a laptop with Ubuntu 16.04 instead?

Yes, would definitely be better.

If I did use the RPi with Raspbian, would I need to compile everything from source?

Most probably yes, though you could also look around for some of the already provided images containing raspbian and ROS, like this one (just an example). However, I have no idea if this works on an RPi4...

Would I need to deviate from the standard install instructions on Gazebo

For Gazebo, I'll quote the Gazebo system requirements:

Gazebo is currently best used on Ubuntu, a flavor of Linux. You will need a computer that has:

  • A dedicated GPU, Nvidia cards tend to work well in Ubuntu
  • A CPU that is at least an Intel I5, or equivalent,
  • At least 500MB of free disk space,
  • Ubuntu Trusty or later installed.

So for

would Gazebo (version 7 I think) run well on a Pi.

I'd say: No :-)

Does that use case sound plausible on an RPi 4, or am I gonna need something more powerful for the processing alone?

As your use case involves a simulation engine, you need something more powerful, ideally with a proper GPU...


Originally posted by mgruhler with karma: 12390 on 2020-01-14

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by tannerlegvold on 2020-01-15:
Thanks for all your help! I think now I see what the problem is: the versions really aren't working in my favor, the only version of Ubuntu currently supported for a Rasp Pi 4 is 19.10, but ROS Kinetic is only supported on 16.04... so ROS on Ubuntu on Rasp Pi 4 isn't going to work out.

Just to give background, this is for a class I'm taking. We need Kinetic specifically because there are some pre-built robots that we need to be compatible with. I thought it would be cleanest to put ROS on a dedicated machine (even if just an RPi) but I now see it may not be the best choice. Would you advise trying to dual boot a laptop with Ubuntu 16.04 instead?

A few other questions: If I did use the RPi with Raspbian, would I need to compile everything from source? For example, we need to use Gazebo. Would I need to deviate from the standard install instructions on Gazebo, or, is it just the stuff listed in the install instructions for ROS Kinetic that would be different.

Comment by tannerlegvold on 2020-01-15:
Also, would Gazebo (version 7 I think) run well on a Pi. You asked what I meant by "basic stuff", I'll just say that what the class looks like is basic turtle bot programming and simulating in Gazebo (which is what I was thinking of when I said "basic stuff"). Does that use case sound plausible on an RPi 4, or am I gonna need something more powerful for the processing alone?

Sorry this is so long, but thanks for all the help you've already given!!

Comment by mgruhler on 2020-01-15:
@tannerlegvold I've updated my answer.

Please edit your question the next time you add additional information. Makes it easier for other users to grasp the full intent behind a question without having to read through all comments.

If this answer is satisfactory, please don't forget to mark it as resolved by clicking the tick-mark next to the answer.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.