iris-ua / iris_lama_ros

LaMa on ROS
BSD 3-Clause "New" or "Revised" License
208 stars 59 forks source link

Add the publishers' queue length as a parameter when replaying offline #21

Closed jcmonteiro closed 3 years ago

jcmonteiro commented 3 years ago

Why

Having a small queue can lead to message drops if the algorithm is not able to process the messages as fast as the publisher publishes them.

Summary

I was having a lot of trouble reproducing a map that I created from its recorded bag. In reality, I could perform a proper loop- closure, but every time I tried to reconstruct the map from the bag it would fail to close. By increasing the queue the problem (almost) went away.

Result with queue size 10 image

Result with queue size 100 image

Both of the above were initialized with the same random seed. But this raises another question (likely a subject for an issue), why do multiple runs with the same seed produce different results?

Comment

This might explain the good-humored comment asking if it matters to use that rate.sleep instruction to get around the tf jumps.

eupedrosa commented 3 years ago

:+1:

eupedrosa commented 3 years ago

Both of the above were initialized with the same random seed. But this raises another question (likely a subject for an issue), why do multiple runs with the same seed produce different results?

They should not be different, unless the scans used for updating the map are not the same, which can happen if they are dropped from the queue.