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

Publisher Subscriber Teleoperation -- High Latency?

asked 2011-05-24 04:54:21 -0500

drewd4v15 gravatar image

updated 2014-01-28 17:09:43 -0500

ngrennan gravatar image


I've build a simple packet reflector to test the roundTrip delay time of packets. I'm using the udp protocol (I've tested the others too) and am publishing at a rate of 1 kHz. The average round trip time I'm seeing is ~0.25 ms, but sometimes (even with UDP) the roundtrip time is above 1ms (even up to 9 ms!)

The system I'm exploring using ROS with is a telesurgical system, so low latency is critical!

Is anyone currently using ROS for teleoperation? What is your latency?


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-05-24 09:20:30 -0500

updated 2011-05-24 09:23:41 -0500

Is this latency on the same machine? If not, I'd check your network latency first with pings. ROS can't do anything to reduce network latency.

If it's all on the same machine. The next step would be to profile the code to see where the slow down is using either valgrind's callgrind or perhaps sysprof

Also, if you need to make sure that the ROS processes are guaranteed CPU time, and not affected by other process you should probably look into a realtime processing library like Xenomi along with rosrt. ROSRT can also slightly improve performance by avoiding memory allocations by preallocating. Those speed-ups should probably be helpful even if not running a real time system if small margins are important.

edit flag offensive delete link more

Question Tools


Asked: 2011-05-24 04:54:21 -0500

Seen: 1,318 times

Last updated: May 24 '11