Ask Your Question
1

Install ROS in Odroid N2+

asked 2021-07-04 15:25:29 -0500

Esteban Castaño gravatar image

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.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2021-07-05 09:57:54 -0500

updated 2021-07-05 09:59:45 -0500

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).

<launch>
  <!-- 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">

[...]
edit flag offensive delete link more

Comments

Thank u for your answer Martin. You're right, my question is about N2+, I was wrong about link.

Thanks again.

Esteban Castaño gravatar image Esteban Castaño  ( 2021-07-05 21:06:49 -0500 )edit

I wanted to send this link: https://www.hardkernel.com/shop/odroi...

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

Esteban Castaño gravatar image Esteban Castaño  ( 2021-07-05 22:28:08 -0500 )edit
1

It looks like that's possible: https://wiki.odroid.com/odroid-n2/os_...

Martin Günther gravatar image Martin Günther  ( 2021-07-06 02:35:13 -0500 )edit

Thank u!!!

Esteban Castaño gravatar image Esteban Castaño  ( 2021-07-06 16:50:07 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2021-07-04 15:25:29 -0500

Seen: 70 times

Last updated: Jul 05