MaverickPeter / MR_SLAM

[IEEE T-RO 2023] A modularized multi-robot SLAM system with elevation mapping and a costmap converter for easy navigation. Different odometry and loop closure algorithms can be easily integrated into the system.
MIT License
266 stars 20 forks source link

Failed loop closure for full usage demo in Docker - wrong parameters settings? #7

Closed WilliamWoo45 closed 1 year ago

WilliamWoo45 commented 1 year ago

Hi @MaverickPeter,

Thanks for your update and release of the full usage demo!

I've tried to run the full usage bags in Docker. However, I found that if the parameter icp_fitness_score is set at 0.1 by default, most of the loop candidates would be rejected and the point cloud maps are only partially shown (please see figures below).

Reject the loop

point clouds

point cloud with routes

If I increase the value of icp_fitness_score to 0.35, more loops would be accepted and I would be able to see more point clouds (please see figures below). But the 3 maps were still not fused and I'm not able to obtain a loop closed global map.

Accept the loop

point cloud without routes

So is there any possible reason for this? I'm guessing is the default parameters setting in the Docker fit for the full usage demo? What are the other important parameters that I need to fine-tune to obtain the good loop closure results for the full usage demo?

Cheers.

Best Regards, William

MaverickPeter commented 1 year ago

Hi @WilliamWoo45, it's weird that the loops are added (black lines in the third image), but the optimization is not working. There might be some outliers in the graph that cause this problem. I'll try to reproduce this issue and fix it next week. Currently, the icp_fitness_score is set to a strict level, which ensures the correctness of the icp. In the next version, I'll fix the outlier removal module so the parameters of icp_fitness_score can be adjusted.

diamonazreal commented 11 months ago

Hi @MaverickPeter,

Thanks for your update and release of the full usage demo!

I've tried to run the full usage bags in Docker. However, I found that if the parameter icp_fitness_score is set at 0.1 by default, most of the loop candidates would be rejected and the point cloud maps are only partially shown (please see figures below).

Reject the loop

point clouds

point cloud with routes

If I increase the value of icp_fitness_score to 0.35, more loops would be accepted and I would be able to see more point clouds (please see figures below). But the 3 maps were still not fused and I'm not able to obtain a loop closed global map.

Accept the loop

point cloud without routes

So is there any possible reason for this? I'm guessing is the default parameters setting in the Docker fit for the full usage demo? What are the other important parameters that I need to fine-tune to obtain the good loop closure results for the full usage demo?

Cheers.

Best Regards, William

What version of video card driver are you using

DioBakery commented 2 months ago

Have you solved it? I have also encountered this problem