Ask Your Question

ROS related very basic question.

asked 2013-12-12 07:31:34 -0600

RB gravatar image

updated 2013-12-15 02:43:33 -0600


1> Why it is called an operating system and what are the characteristics that resemble with traditional operating systems like Windows or Linux?

2> What basic facilities enable ROS to act as a control framework?

3> Drivers present in ROS and how does it help us?

UPDATED WHY ROS is called 'thin' and what is the advantage of CMake?

Thank you for your time.

I follow the fact==**To understand something you need to be clear about basics**
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-12-12 17:48:08 -0600

Chengarda gravatar image

updated 2013-12-12 19:59:15 -0600

tfoote gravatar image
  1. ROS isn't technically a computer operating system, as it requires some other operating system as a base. However, it can be considered analogous to an operating system in that it provides a standardized way of interacting with and developing for a variety of hardware types. This is similar to how Windows and Linux can run on machines with different processors, memory, peripherals etc. It also is designed to be easily extensible, such that new software can be developed to work in conjunction with ROS.

  2. ROS is designed to be an object-based, parallel control system. This means that each node in ROS can be doing its own thing, but can communicate with other nodes where necessary. ROS allows for sensors, actuators, and software components to run (effectively) simultaneously. If you were attempting to program a robot in say, C, (as for a micro controller) you would have to create a control loop which periodically checked sensors, adjusted actuators and performed calculations. Managing the delicate timing required for real time operation in such an environment is complicated to say the least. ROS nodes communicate primarily through Topics and Services. Topics can be thought of as putting up a poster - you don't know when someone has read it, but anyone who wants to read it can find it. Services are more like organizing a meeting - both nodes connect, exchange information and then disconnect. They know for certain that the information has gone through, and can know who knows it.

  3. ROS distributions usually come with an assortment of drivers for some common hardware, but the true capacity of ROS is realized in the drivers and support offered by the User-Community. I'd head to the ROS wiki to start to find out about the range of hardware for which there is development.

edit flag offensive delete link more


Perhaps a more useful way of thinking about ROS is that it's like POSIX for robots. A set of abstractions, communications mechanisms, and a way to interact with the underlying hardware without needing to know the exact details of this hardware. This is an analogy that Brian Gerkey came up with,

Bill Smart gravatar imageBill Smart ( 2013-12-15 06:17:09 -0600 )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


Asked: 2013-12-12 07:31:34 -0600

Seen: 142 times

Last updated: Dec 15 '13