# Clustered scans with urg_node and Hokuyo UST-10LX

I'm working with the urg_node package and the Hokuyo UST-10LX lidar. And I've noticed that although the frequency of the /scan topic is indeed 40 Hz (which is in line with the nominal 2,400rpm of the lidar), when I measure the time diffs between callback calls, this is what I see: ...

0.258792
0.0479169
0.000181913
0.049917
0.000186205
0.0502079
0.000151396
0.0496333
0.000199556
0.0493841
0.050199
0.043467
0.0440154
0.000242233
...


That is, the callback calls are separated by ~50 or ~2 ms (which effectively yields an average of 40 Hz), but they are not evenly distributed in time. Output from tostopic hz /scan is the following:

....
average rate: 40.042
min: 0.000s max: 0.057s std dev: 0.02226s window: 326
...


and the fact that "std dev" is so high is due to the observed clustering of messages.

I've checked the parameters passed to the urg_node, and made sure that skip is set to 0, and that cluster is set to 1 (meaning that messages should not beclustered). I've also compiled the node with catkin_make -DCMAKE_BUILD_TYPE=Release --pkg urg_node but to no avail.

I've also tried to limit the amount of information transmitted from the node, and set the angle_min and angle_max to [-0.5, 0.5] but that also had no effect.

What am I missing? What other cause can there be of the messages being sent in this manner?

Any help would be very appreciated.

edit retag close merge delete

Sort by » oldest newest most voted

Have you made sure to make the subscriber disable Nagle (ie: specify "tcpNoDelay()" as a transport hint)?

rostopic cannot do this afaik, so that is not a usable measurement tool.

more

It worked! :D Thank you VERY much!

( 2018-09-16 13:04:21 -0500 )edit