ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How is ROS made?

asked 2016-06-30 12:20:57 -0600

Rahul gravatar image

updated 2016-06-30 14:29:16 -0600

Hi Everyone,

I have just completed Beginner Level Core ROS Tutorials. I wants to know that how ROS is able to do multiple Process (as many nodes run) at a time, even if the number of core processors in computer is less then the number of nodes.

As i am trying to make AR.Drone autonomous. I chose AR.Drone ROS driver instead of AR.Drone SDK (software development kit) because we can do many different operations in form of Nodes with ROS Driver but it can't be done in a C++ program with AR.Drone SDK libraries.

I am a student and new to ROS, linux. It may be a silly question but if possible, please help me to understand this.


edit retag flag offensive close merge delete


The keyword here is multitasking.

gvdhoorn gravatar image gvdhoorn  ( 2016-06-30 14:44:24 -0600 )edit

Thanks gvdhoorn

Rahul gravatar image Rahul  ( 2016-07-01 03:21:37 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-06-30 14:37:30 -0600

billy gravatar image

ROS isn't responsible for the the ability to run multiple nodes. That ability is inherent to the operating system (Linux, iOS, Windows, Android, etc). On the linux machine you can have firefox, gtkterm, gedit, and ROS nodes all running at the same time, even with a single core. The operating system controls which program (thread, process) has access to the processor so that all programs get at least some time processing. Many times a second, Linux will start and stop different programs and each of them appear to us to be running continuously (but they're not). I'm sure google will provide you with many sources of info on how operating systems schedule the processors.

The magic in ROS is the framework that allows communication between the different nodes (programs) that are running. That communication is explained on the ROS wiki page. Maybe be "RCS" (Robot Communication System) acronym was taken so they called it "ROS" (Robot Operating System)? But don't be confused, it's not really an operating system. It requires the computer have its own operating system and ROS runs on top of that operating system, just like firefox does.

edit flag offensive delete link more


Thanks, billy

Rahul gravatar image Rahul  ( 2016-07-01 03:22:00 -0600 )edit

Question Tools

1 follower


Asked: 2016-06-30 12:16:12 -0600

Seen: 1,070 times

Last updated: Jun 30 '16