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

How to Start

asked 2013-04-23 12:11:26 -0500

mbelloli gravatar image

Hello guys, I have a question about ROS architecture and how to start up a nee robotic software. I understand how ROS is organized about nodes, msgs, subscribers and so on.

After that my question is, I have a node that is related to a sensor and this sensor publish data. I have another module that will be its subscriber. My doubt is related to the usage of this data and how can I create my program, where can I insert my behavior.

Will this data be used by my custom application that is aware about the message and how to parse it ? or can I use other more complex nodes? in this case how can I customize the software?

I have not found any information about to start up a new software? I mean about the first step and high level point of view of the architecture.

Thanks a lot for your time.


edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-04-23 12:27:16 -0500

SL Remy gravatar image

updated 2013-04-23 12:29:37 -0500

I think that the ROS Tutorials are the best starting point. Specifically number 11/12... but to get to those you should work the preceding ones.

If your application requires the creation of a custom message this would have been covered in tutorial 10.. but you should check the existing "standard" messages to make sure that you're not reinventing the wheel.

edit flag offensive delete link more

answered 2013-04-29 19:51:57 -0500

mbelloli gravatar image

Thanks a lot Trinighost. I read it carefully and it is really interesting. My question is more related to the programming model that I should adopt. In this case I con't have to follow a procedural method or a linear way following a specific flow. In this case I am to create a net of nodes that interact each other performing the desidered behaviour with an event-driven architecture.

Obviously I can insert all the main logic of the robot inside the a single node (maybe not the best architecture) and using the other nodes as triggers for this master node. This solution is clearly raw.

Finally, here I adopt an event-driven approach with nodes that interact each other creating a graph.


edit flag offensive delete link more


Hello, the concept of really reusable robot code is one of the many tenets that exist in ROS (as it did before in other projects). The concept of writing code (nodes) that can effectively be reused is linked to code that does one thing (or at least a very small number of things), and does so well.

SL Remy gravatar image SL Remy  ( 2013-04-30 03:50:33 -0500 )edit

Question Tools


Asked: 2013-04-23 12:11:26 -0500

Seen: 152 times

Last updated: Apr 29 '13