Skip to content

Major undistortion refactoring

Nicolas Cadart requested to merge RefactorUndistortion into master

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 into ONCE and REFINED
  • 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.

@nick.laurenson @julia.sanchez PTAL

Edited by Nicolas Cadart

Merge request reports