ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Indeed, rostopic bw will only see the received bandwidth. My first thought is to run rostopic bw on the same machine that your publisher is on. In this case, you will only be limited by CPU and whatever restrictions there are on the loopback interface (I don't know what, if any, there are).
If this doesn't to it for you, you could basically reimplement rostopic bw within your node. All you would have to do is serialize the message (in python you can do this with msg.serialize(buffer)), and keep an average of the buffer size over some sampling period.
2 | No.2 Revision |
Indeed, rostopic bw will only see the received bandwidth. My first thought is to run rostopic bw on the same machine that your publisher is on. In this case, you will only be limited by CPU and whatever restrictions there are on the loopback interface (I don't know what, if any, there are).
If this doesn't to it for you, you could basically reimplement rostopic bw within your node. All you would have to do is serialize the message (in python you can do this with msg.serialize(buffer)), and keep an average of the buffer size over some sampling period.
EDIT: another tip Another way to figure out of you're having connection issues is to use a tool like wireshark and look at the network traffic. Things like lots of DUP ACKs can indicate that packets are being lost, which could happen if your connection is saturated.
3 | No.3 Revision |
Indeed, rostopic bw will only see the received bandwidth. My first thought is to run rostopic bw on the same machine that your publisher is on. In this case, you will only be limited by CPU and whatever restrictions there are on the loopback interface (I don't know what, if any, there are).
If this doesn't to it for you, you could basically reimplement rostopic bw within your node. All you would have to do is serialize the message (in python you can do this with msg.serialize(buffer)), and keep an average of the buffer size over some sampling period.
EDIT: another tip
tip
Another way to figure out of you're having connection issues is to use a tool like wireshark and look at the network traffic. Things like lots of DUP ACKs can indicate that packets are being lost, which could happen if your connection is saturated.