ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Best ARM board for ROS

ODROID XU-4 is pretty awesome. It has a USB3 host, and if you have a USB3 peripheral that you need to talk to, I don’t think there are many (any?) similarly-sized and similarly-priced options at the moment.

5 Likes

+1 for the XU-4. It can run a surprisingly serious ROS setup (motion planning, depth image processing). I’ve just bought a C2 as well; haven’t had a chance to try it out yet though.

3 Likes

spmaniato

You can use the BBB but for me using MoveIt it the CPU ran around 80-90 percent during planning. Which is not good. Using the DB410C or RPI3 it runs around 60-70 percent.

I have not used an Odroid, but have used SolidRun cubox and Radxa rock and TK1.

1 Like

Since you mentioned depth image processing: did you try connecting an Asus Xtion to the XU-4? Does it work?

Nice discussion with interesting answers.

Just to mention my experience:

I also used ROS in rpi2 rpi3, bbb and Odroid XU4 successfuly in several
projects.
I did not used MoveIt but I can tell that it is enough to support some SLAM
systems if the algorithms parameters are well tuned for efficiency.
Specifically odroid is quite powerful and it is able to execute this kind
of heavy applications fluently.

Kind Regards.

1 Like

we have used xu4 with turtlebot with asus camera

2 Likes

@Pablo_Inigo_Blasco, have you ever tried running the navigation stack (i.e., amcl + move_base) on a BBB by any chance? I’ve found that, even with relaxed parameters, it cannot handle it. But I may be doing something wrong. (It can definitely handle amcl plus the laser scan publisher and other drivers. It’s move_base that takes it over the edge in my experience.)

I also like the ODROID XU-4 for using USB 3.0. On the one hand ‘Intel® RealSense™ Robotic Development Kit’ is now available. It is fantastic for the user using RealSense or other USB 3.0 device (but a little bit expensive than other SBC). How about it?


http://www.up-board.org/specifications/

  • Intel® Atom™ x5-Z8350 Processor (2M Cache, 1.44 GHz up to 1.92 GHz) CPU with 64 bit architecture; Quad Core
  • Intel® HD 400 Graphics
  • 1~4G DDR3L
  • USB 2.0 and USB 3.0
1 Like

Yeah, we also used it with an asus xtion. We set the depth resolution very low (QVGA or QQVGA) mainly because we didn’t need the extra pixels. Overall It worked quite well though.

1 Like

i tried Pine64+ and installed Ros from source on it ros indigo with ubuntu 16.04
it is very good
you can download image from

1 Like

@eslamnet10 It’s great to know that it works for you with Indigo on the Pine64.

Thanks for taking the effort to share however I have to not recommend people grab it. Binary images of unknown provenance are potential security risks.

If you wouldn’t mind it would be great if you could share your experience bringing up Indigo on the Pine64 with as much info as you can remember in a new thread in this category. Also did you try using the Debian Jessie builds with Kinetic from debian packages?

2 Likes

i tried Ubuntu 16.04 LTS with indigo and i will make it for Kinetic also
i tried Kinetic with it but i stopped to make meta-ros yocto core-image-minimal for raspberry pi 2 and it works now i will upload it soon also and i will build Kinetic with Ubuntu16.04 LTS

I have Kinetic running on Pine64 under debian. works great. Kinetic is still missing some packages that should be synced in two weeks.

All of the ARM A53 boards perform similarly to me. I do like the 96Boards form factor the best

2 Likes

Hi!
I work with ROS on hybryde set of Asus Tinker Board (https://www.asus.com/us/Single-Board-Computer/Tinker-Board/) and Husarion CORE2 (https://husarion.com/core2/). I tried also Pi3 instead Asus, BBB and few other devices and sets but all of them was little a bit slow. Now i can use any packages that I want without any problem. You realy should check this out.

1 Like

The question depends on what you mean with “best”. If you mean “best to learn ROS on ARM” the BeagleBone Blue (BB for robotics) or the BeagleBone Black with Robotics Cape could be good choices (affordable board, hardware support for applications out-of-the-box, software libraries for low level functionality let you focus on application level functionality, software libraries easy to install).

A nice course also for absolute beginners which uses the BBB with Robotics Cape is e.g. EDUMIP ROS course.

I have to agree with @fkromer about this course, but if you want something on really basic level i recomend you tutorial created by Husarion https://husarion.com/core2/tutorials/. It’s based on CORE2-ROS. You can use another device of course but like I said before CORE2-ROS is very easy and nice to use controller :slight_smile:

We’ve tried many of these boards and several in between. We wound up coming back to RPi3 again and again. The fact that RPi has such a strong community tended to mean that problems with their software stack usually get ironed out quickly. There is also a lot of support for image processing on the RPi3. For example here: http://www.pyimagesearch.com/
I think adrian, from pyimagesearch has conclusively shown that the RPi 3 does have enough horsepower to do some rather interesting visual processing applications.

We actually have an RPi3 image here which includes ROS as well as all the projects we are working on:
https://downloads.ubiquityrobotics.com/

Quick summary of our experience

*BBB - not enough horsepower

*nVidia boards - good in theory, but when we tried it the OS stack was kind of problematic, with lots of bugs that needed nVidia’s attention and them not really dealing with them. Things may have improved since we tried more than a year ago.

*Rockboard - good in theory but the community support from RPi was just better and RPis were more powerful and cheaper

*Cubieboard - ditto the rockboard comment

*oDroid - perhaps we could have gone harder on this one, but a lot of the peripherals we wanted weren’t possible on this one.

2 Likes

I have two 3D cams on the XU4 simultaneously and no problem at all (Orbbec astra mini s)

1 Like

I really recommend testing the Odroid XU4 (or better the XU4Q with passive heating).
The raspberry Pi3 is by far no match, especially considering the XU4 price (59 USD). What peripherals were not possible on the odroid? I mean it runs normal ubuntu so what would be the difference to the Pi?

Depends on if you want to use the Odroid XU4(Q) in the industrial domain. As far as I know it is EMC and RoHS certified but I’ve never recognized an Odroid in any commercially available product. In contrast the Raspberry Pi 3 Model B+ and the Raspberry Pi Compute Module 3+ are less powerful w.r.t. CPU and RAM but used in many commercially available industrial gateways nowadays. In my opinion the Raspberry Pis are quite a good fit for educational purposes as well. Quad core CPU enables to learn system level CPU management with/without container runtimes/orchestration systems running on the SoC. Model B+ has a CSI port to begin working with cameras. Compute Module 3+ has an builtin eMMC essential to learn things related to system level memory layouting. Unfortunatelly Model B+ provides Gigabit Ethernet over USB 2.0 which is limited to a throughput of 300 Mpbs.

In case you need a board for high performance vision and AI use cases with huge CPU, GPU and RAM requirements there is no way around the NVIDIA Jetson Boards I guess.