Major undistortion refactoring
Major refactoring of undistortion process.
- Remove
OPTIMIZED
undistortion mode : rarely used because it is slower and unstable - Perform undistortion outside from
KeypointsRegistration
to greatly simplify code organization - Split
APPROXIMATED
undistortion mode intoONCE
andREFINED
- Add/fix undistortion support in pose graph optimization
This also removes the prior that the Tworld
transform which was being optimized in KeypointsRegistration
had to correspond to the frame end pose time.
Now, Tworld
always correspond to the transform at input lidar frame header timestamp, which could correspond to the timestamp of any point (even no point) of the frame.
WithinFrameMotion
is now expressed in BASE coordinates system, and is really used only for undistortion in BASE. It obeys WithinFrameMotion(0) = Identity
, to respect the fact that Tworld
is the transform at the frame header timestamp.
Edited by Nicolas Cadart