Closed jcmonteiro closed 3 years ago
Hi
I believe this is a good addition that certainly will not hurt. +1 to merge this.
Just curious. If you have a rosbag, why don't you use the offline map building? It seems like you are using rosbag play
with the online mode of iris_lama.
If I remember correctly, in that mode there is no TCP communication at all, since the data is directly read from the rosbag.
Just curious. If you have a rosbag, why don't you use the offline map building? It seems like you are using
rosbag play
with the online mode of iris_lama.
I am actually using the offline node and not running the online on a rosbag play
.
If I remember correctly, in that mode there is no TCP communication at all, since the data is directly read from the rosbag.
Hmm... As I understood the offline mode will actually read the bag and publish the data over ROS. Have a look here https://github.com/iris-ua/iris_lama_ros/blob/594b91957ff12dcb0c3bf46fbee7023865da9c12/src/offline_replay.cpp#L86-L120 and here https://github.com/iris-ua/iris_lama_ros/blob/594b91957ff12dcb0c3bf46fbee7023865da9c12/src/pf_slam2d_ros.cpp#L500-L512
ok, I didn't remember that correctly.
:+1:
Why
TCP_NODELAY tends to reduce the latency when transmitting large messages at high rates.
Summary
I have noticed a significant improvement in repeatability by enabling
TCP_NODELAY
, especially when reconstructing maps from bag files. I cannot share the bags because they are from a private database, but maybe the following reports can aid the discussion.Report without
TCP_NODELAY
Report with
TCP_NODELAY
Multiple runs slightly change the memory usage and number of updates but have little impact on the execution time statistics.