Rosanswers logo

Hi everybody, if in this link https://www.hardkernel.com/shop/odroi..., it says that Ubuntu 20.04 is supported so, it means that can I install ROS noetic?

We want to buy this SBC but we want to know if we can install ROS noetic.

Originally posted by Esteban Castaño on ROS Answers with karma: 13 on 2021-07-04

Post score: 1


1 Answer 1


Rosanswers logo

Your link leads to the Odroid-HC2. ROS definitely works on the Odroid-HC2, because it's basically identical to the Odroid XU4, and I have personal experience running ROS on it.

Your question title says Odroid N2+. I don't have personal experience with it, but I'm 95% certain it will work with ROS, too - if it runs Ubuntu, it's very easy to install ROS as well.

One consideration is that these boards (like most SBCs) have ARM processors. For 99% of ROS packages this is not a problem, because almost everything runs on ARM as well. The only situation where it can become a problem is when you're running a hardware driver that depends on a proprietary binary library, and the hardware vendor only ships x64 binaries, not ARM. So if you want to use a specific sensor or so, better check beforehand if it supports ARM.

The other little quirk with the Odroid XU4 that I've noticed is that it has the "big.Little" architecture (4 fast CPU cores and 4 slow CPU cores); the Odroid N2+ has the same architecture. This sometimes leads to situations where a ROS node gets scheduled on a slow CPU core (because to Ubuntu, all cores are the same) and suddenly runs much slower. This can be avoided by using taskset to explicitly schedule a node on the fast CPUs (4,5,6,7).

  <!-- Switch on to specify specific CPUs which the driver may use -->
  <arg name="use_cpu_affinity" default="false"/>

  <!-- The CPUs to use, specified by their id, separated by commas and
       with no whitespace in between -->
  <arg name="cpu_affinity"         if="$(arg use_cpu_affinity)" default="4,5,6,7" />
  <arg name="cpu_affinity_set"     if="$(arg use_cpu_affinity)" value="taskset -c $(arg cpu_affinity)" />
  <arg name="cpu_affinity_set" unless="$(arg use_cpu_affinity)" value="" />

  <!-- Load driver -->
  <node machine="$(arg machine)" pkg="openni2_camera" type="openni2_camera_node" name="driver"
        launch-prefix="$(arg cpu_affinity_set)" output="screen">


Originally posted by Martin Günther with karma: 11816 on 2021-07-05

This answer was ACCEPTED on the original site

Post score: 0

Original comments

Comment by Esteban Castaño on 2021-07-05:
Thank u for your answer Martin. You're right, my question is about N2+, I was wrong about link.

Thanks again.

Comment by Esteban Castaño on 2021-07-05:
I wanted to send this link: https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram-2/

I have another question: If with N2+ we could use ubuntu 20.04, Could we use ubuntu 18.04 and ROS melodic?

Comment by Martin Günther on 2021-07-06:
It looks like that's possible: https://wiki.odroid.com/odroid-n2/os_images/ubuntu

Comment by Esteban Castaño on 2021-07-06:
Thank u!!!


Your Answer

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