norlab-ulaval / libpointmatcher

An Iterative Closest Point (ICP) library for 2D and 3D mapping in Robotics
BSD 3-Clause "New" or "Revised" License
1.58k stars 542 forks source link

Meaning of maxRotationNorm in BoundTransformationChecker #476

Closed dasisttao closed 2 years ago

dasisttao commented 2 years ago

Hallo, again! In transformationCheckers there's a BoundTransformationChecker. The parameter is listed like below.

transformationCheckers:
  - BoundTransformationChecker:
      maxRotationNorm: 0.80
      maxTranslationNorm: 5.00

I would like to ask what's the meanig of Norm here. And the Metric of these parameters is in radius or meter, is that right?

Thanks!

pomerlef commented 2 years ago

yes, it's in rad for rotation and meter (or whatever unit your point cloud have) for translation.

The implement is here: https://github.com/ethz-asl/libpointmatcher/blob/master/pointmatcher/TransformationCheckersImpl.cpp#L198

The angle computation rely on angularDistance from Eigen implementation: https://eigen.tuxfamily.org/dox/classEigen_1_1QuaternionBase.html#title10

dasisttao commented 2 years ago

Thank you!