glim icon indicating copy to clipboard operation
glim copied to clipboard

Limiting Pitch/Roll Changes Between Scans

Open Alexasandrovich opened this issue 11 months ago • 1 comments

First of all, I want to thank you for the amazing work on glim—it's a really impressive and well-structured project!

I'm using glim for LiDAR-based mapping, where the robot moves in a straight line on a flat surface (tiles). However, I’ve noticed that when submaps are aligned, they sometimes shift in pitch and roll, even though such deviations are physically impossible in my setup. This leads to distortions in the mapping process.

Is there a way to restrict the maximum allowed pitch/roll changes between scans? Ideally, I’d like to set a threshold so that the algorithm remains stable in environments where such rotations should not occur.

Thanks in advance for your help!

Image - ok Image - ok Image - broken

Image - ok Image - broken Image - broken

Alexasandrovich avatar Mar 11 '25 10:03 Alexasandrovich

Follow-up question - as far as I understand, if we build a map without IMU in flat conditions, it can diverge and change in pitch/roll. Solution to force the use of plane constraints https://github.com/koide3/glim/issues/108

What about if I don't have a plane and need to do loop closure in complex conditions (first down, then flat, then up)? My example:

Image

Image

Image

Thanks in advance for the answer

Alexasandrovich avatar Mar 11 '25 11:03 Alexasandrovich