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

Which board/microprocessor should I use? I want to use ROS Kinetic on Ubuntu 16.04, along with packages like move_base, laser_scan_matcher for indoor autonomous navigation

I am confused as to which board will be able to handle the necessary computation to run autonomous navigation for my turtlebot-like-robot.
I want to run Ubuntu 16.04 OS and ROS Kinetic, and need packages like move_base, laser_scan_matcher.
I’ve heard that Raspberry Pi 3 and its Arm Cortex A53 isn’t enough for the purpose.
What are your views?

That highly depends on your budget, software requirements and space limitations.
The packages alone also don’t say that much about the required computation power.
E.g., what kind of LIDAR are you using (how many data points per second does it produce?), what other kinds of sensor (e.g., cameras) are you using?
For cameras etc. the USB bandwidth might be a limiting factor that has to be kept in mind.

Without more information, I can only suggest some generally viable small form factor options depending on your computation power requirements:
Cheap: You could try the Pi 4 which is a lot faster than the Pi 3. The 4GB RAM might not be enough depending on your use case but I assume it should be able to handle autonomous navigation with the kind of LIDAR you would put on a Turtlebot-like robot.
Comparatively expensive: A mini-PC such as an Intel NUC would surely be enough to handle almost anything you throw at it.

Hey @StefanFabian, I’m using RPLidar A1, and using it at 5Hz with 2000 data points.
NUC seems too bulky, actually. Looking for something much more compact like Pi.
Would you recommend Beaglebone or Odroid XU4?

Hi, if you don’t have budget constraint you can try UP board or jetson nano or Beaglebone. Working with ROS , Lidar and some kind of application that is to be done like turtlebot alike of robot if designed.

I agree with @spriya_mukund on the UP board if budget is not a constraint.
I wouldn’t recommend a Beaglebone for this use case (I assume you want something simple to work with and develop on) because they have very little RAM (unless there’s a model I missed) and that can lead to frustrating issues for inexperienced developers, e.g., you may not be able to compile directly on the board but will have to cross-compile on your host machine and deploy the binaries manually.
A jetson nano really only makes sense if you also have a camera and want to use graphics accelerated algorithms or deep learning otherwise the Pi 4 is faster IIRC.
However, if I were you I would try a Pi 4 since you’re not dealing with a lot of data and if the Pi is not enough, it’s a cheap mistake to make and maybe you can still use it for something else.
Also, the Pi is widely used and has the highest chance of finding someone who can help if you run into issues.
I don’t know how the Odroid compares to a Pi 4.

Later on, you can still switch to something that is smaller / more energy efficient but harder to work with.

Looks like you mised the BeagleBone AI (Cortex A15, 1GB RAM) and the Beagleboard X15 (Cortex A15, 2GB RAM)

I have had great luck using the TX2 with the Connect Tech Oribitty Carrier Board

Thanks for your question. However we ask that you please ask questions on http://answers.ros.org following our support guidelines: http://wiki.ros.org/Support

ROS Discourse is for news and general interest discussions. ROS Answers provides a Q&A site which can be filtered by tags to make sure the relevant people can find and/or answer the question, and not overload everyone with hundreds of posts.

1 Like