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

roscore reduce network bandwidth

asked 2013-02-07 12:00:58 -0600

ebbeowulf gravatar image

I just got warned about overloading my local network if I placed a bandwidth heavy sensor on one machine and the roscore on a different computer. What I don't understand is exactly how roscore coordinates data transfer.

For example, the roscore node is on machine A, and the sensor is on machine B. If all of the processes that need access to the data rich sensor remain on machine B, will that still require heavy network bandwidth? In other words, does all data get passed through the roscore on machine A, thereby overloading the network? or does it actually coordinate direct tcp sockets between processes so that I could intelligently separate my processes to prevent network overload?

Thank You!

edit retag flag offensive close merge delete



I warned you about running two bandwidth heavy nodes on different computers. The roscore itself is not the problem. :)

Ben_S gravatar image Ben_S  ( 2013-02-08 01:18:23 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2013-02-07 14:22:33 -0600

Thomas gravatar image

Only subscribing to a topic is consuming bandwidth. The communication from/to roscore are negligible. So yes, if you run your two nodes on the same computer while having roscore on a second one you will be fine.

See ROS technical aspects page, section 6.1 for a diagram explaining this.

edit flag offensive delete link more

answered 2013-04-02 21:36:27 -0600

mhallak gravatar image

Well, that's theoretically correct but since a node is forced to connect to rosout and to clock topics:

  • topic: /rosout
    • to: /rosout
    • direction: outbound
    • transport: TCPROS
    • topic: /clock
    • to: /gazebo (http://darpaws5:45435/)
    • direction: inbound
    • transport: TCPROS

Generally those topics run where roscore runs.

edit flag offensive delete link more


clock topic is only used in simulation and rosout logging can be totally disabled by defining the appropriate macros at compile-time (not recommended unless you really have little bandwidth).

Thomas gravatar image Thomas  ( 2013-04-03 23:29:50 -0600 )edit

Question Tools


Asked: 2013-02-07 12:00:58 -0600

Seen: 756 times

Last updated: Apr 02 '13