Open gongyue666 opened 3 years ago
Hi @gongyue666 :
The close-loop mainly depends on matching of geometric features. However, if you do not have enough geometric features, the matching may fail and cause wrong optimization process. If you found that problem, you can put some geometric markers such as box in the loop closure point. (do not put a plain walls as loop closure points since there is no geometric feature). That's what I can suggest based on your problem.
This project is mainly developed for mobile device with limited computational efficiency, so that the parameters are tuned based on low-computing platform. However, if you have enough computational resources, you can try to make the map resolution higher by reducing the resolution value in the launch file. And you can also reduce the threshold for loop closure detection decision: https://github.com/wh200720041/ssl_slam2/blob/8eeeba72581c4f073033c1583dff335c62a0ab47/include/mapOptimizationClass.h#L48
Hi I modify the LOOPCLOSURE_THRESHOLD to a largger one,but always get a bad loop closure performance. and I found that laser_odom is always using 99% of a CPU which is Intel® Core™ i7-8550U CPU @ 1.80GHz × 8 . and the udpdate rate of the odom is 100ms per frame. does it give a bad function to the loop closure?
Hi @gongyue666
You should reduce the the threshold to avoid false matching. Or you can disable the loop closure if the performance is still bad.
If you found the laser odom is costing too much computational power, you can change the map resolution to higher value
Thank you for sharing. I tested the l515 hand-held and found that the closed-loop effect was not very good. I guess this faction is hidden in“ bool MapOptimizationClass::optimizeGraph(int matched_id, int current_id)”,Unfortunately, I haven't understood it yet -.- ~ I wonder if there are any ways to improve the effect of Closed-loop Detection by sacrificing computational efficiency? Because my device has extra computing power