Ask Your Question

Getting Started with ROS

asked 2015-07-17 17:55:14 -0500

d7x gravatar image

updated 2015-07-21 06:06:16 -0500

gvdhoorn gravatar image

I've built a couple of small robots using the Arduino for 2 servo control in addition to a distance sensor. I've also gone through the ROS tutorial using VM VirtualBox to get Ubuntu to run ROS. The reason I want to develop using ROS is given the extensive libraries that exist for ROS. However, I've read that in order to run ROS reasonably, the Raspberry PI or BeagleBone may run a bit slow if one is using multiple processor-intensive libraries like machine computer vision. Is there a microcontroller that is able to run intensive libraries or do you really need to use at minimum a laptop for a robot that needs a number of libraries like computer vision, learning, motor control, path planning, etc.?

Also, I'd like to know what level of difficulty exists in trying to run libraries like computer vision, machine learning, etc. Would I be better off 1) first building robots with the Raspberry PI to get more used to interfacing motor controllers and servos with the PI and to also get more experience with Ubuntu (I'm familiar with it enough to follow the tutorial and build an image)? I'm pretty familiar with C++ but not Python. Or, would you recommend 2) diving into ROS and trying to build simple robots with either the Raspberry PI or a VirtualBox?

Edit: The TK1 looks very intriguing - what sounds like very high performance and very low power consumption. Would the TK1 be used only for computer vision or as a standalone microcontroller? Or, would you recommend adding the TK1 to another microcontroller that would handle other processing? If you recommend adding the TK1 to another microcontroller, which one would you recommend and how would you join the 2 together to communicate?

Also, are there any rules of thumb for how much processing and RAM various libraries typically use - like computer vision, path planning, learning, etc.?

edit retag flag offensive close merge delete


@d7x: I've moved your answer (which was more a comment) to your OP. Here on ROS Answers we typically only use answers to answer the question, not to post follow-up questions, or comment on other answers. Not a big deal, but would be nice to keep in mind.

gvdhoorn gravatar image gvdhoorn  ( 2015-07-21 06:07:28 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2015-07-18 03:13:44 -0500


We are using a raspberry pi for our robot for running ROS, but the motor control stuff we are executing externally on a second microcontroller and controlling it as slave over SPI because of the realtime aspects of motor control, otherwise you would need to add realtime kernel patches and control the motor directly from the raspberry pie. When looking at its quite weak performance, I would definitely not recommend this. And as you already guessed the raspberry pie is not really good for machine computer vision.

I guess there are some ARMs of manufacturers like used in mobile phones, but the probability to get them for your project, are quite low, well if you do not offer a perspective for selling a lot of chips with your product.

Doing both, machine vision algorithms together with motor control on the raspberrypi ... well ... even with really optimized software ... I guess it will not work out.

And to your question about recommendation... Getting ROS run on the rasperrypi is also not so nice then just installing it in a VM. Also it takes a long time to startup nodes on the rasperrypi. Some code also does not work on ARM ...

I would recommend starting to use functions of ROS in your VM or better directly on your computer because of RViz, and Gazebo (if you want to simulate robots).



edit flag offensive delete link more


so you think the custom robots like turtle bot or jakal or any others.... do you think they put motor control in a separate mcu than the ros one?

btw, do they use raspberry pi or their own hardware? I didn't see a source for designing custom hardware to run ubuntu and ros on the internet.

VEGETA gravatar image VEGETA  ( 2016-08-10 18:15:30 -0500 )edit

answered 2015-07-19 09:23:18 -0500

Dynamitetalks gravatar image

You can check out the Nvidia Jetson development kit:

edit flag offensive delete link more

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


Asked: 2015-07-17 17:55:14 -0500

Seen: 225 times

Last updated: Jul 21 '15