rtabmap icon indicating copy to clipboard operation
rtabmap copied to clipboard

Distance since last location (2022-IlluminationInvariant)

Open ThienNguyen15 opened this issue 5 months ago • 3 comments

Dear IntRoLab Team,

I'm using the Docker setup for the 2022-IlluminationInvariant archive branch, but the Distance_since_last_loc statistic is always null after running the processing scripts.

The issue seems to be a lack of successful online loop closures during rtabmap-reprocess, even after tuning key parameters (Vis/MinInliers=8, RGBD/LocalRadius=10, RGBD/SavedLocalizationIgnored=false). The offline rtabmap-detectMoreLoopClosures step does work and generates .g2o files, but this doesn't produce the desired online statistic.

Could you advise if there are other critical parameters to consider for this branch, or could you point me to a sample dataset that is known to work? This would help determine if the issue is with my dataset or the setup.

Thanks for your time and any help you can provide.

Best regards,

ThienNguyen15 avatar Jul 24 '25 06:07 ThienNguyen15

That statistic is always populated, unless Rtabmap/PublishStats=false (default is true).

~$ rtabmap-report --stats rtabmap.db  | grep Distance_since_last
Loop/Distance_since_last_loc/m (288)
~$ rtabmap-report Loop/Distance_since_last_loc/m rtabmap.db 
Database: ~/rtabmap.db
   rtabmap.db (288, 73.4 m): RMSE= 0.000 m (max=NA, odom=0.000 m) ang=0.0 deg, slam: avg=87 ms (max=1037 ms) loops=31
Image

EDIT: which script in this folder are you using? https://github.com/introlab/rtabmap/tree/master/archive/2022-IlluminationInvariant/scripts

matlabbe avatar Aug 03 '25 18:08 matlabbe

Hi @matlabbe,

Thank you for your reply. I am following the multi-step process outlined in the repository, using the scripts from the folder you linked.

First, I run the run_all.sh then the export_stats.sh to generate the plots, which is where I see the null Distance_since_last_loc statistic. This seems to indicate that no online loop closures are being found during the rtabmap-reprocess steps.

---Localization results--- header={loc_map_190321-164651.db; loc_map_190321-172717.db; loc_map_190321-175428.db; loc_map_190321-182709.db; loc_map_190321-185608.db} Loop/Distance_since_last_loc/ nonnull%=[; ; ; ; ] Loop/Map_id/ nonnull%=[3.41 5.24 44.17; 67.62 68.39; 58.03 63.64; 2.27 4.58; 2.92] Exported "/workspace/results/Consecutive0-Loop-Map_id-.txt".

The processing pipeline seems to be working correctly, as all other statistics are being generated as expected. My only remaining issue is with the Loop/Distance_since_last_loc/ statistic, which consistently shows a null value. Could you offer any advice on this specific problem?

Thank you again for your time and guidance.

Best regards,

ThienNguyen15 avatar Aug 04 '25 08:08 ThienNguyen15

I ran the scripts, there was a typo in export_stats.sh script:

-Loop/Distance_since_last_loc/
+Loop/Distance_since_last_loc/m

I updated the script in this commit: https://github.com/introlab/rtabmap/commit/f2b9cc1cddd3cb61d063683b215e3bf70dc29572

matlabbe avatar Aug 07 '25 03:08 matlabbe