Open
Description
Hi,
I simply went through the codes. it's using quaternion and translation to model a rigid transform, and optimize 7 parameters during the icp process.
I think directly updating 4 parameters of quaternion over the optimization process is not correct, although it will still give you a better result in the end (naturally becasue of gradient decedent). In Ceres-Solver, there's a local parameterization for this case (https://github.com/ceres-solver/ceres-solver/blob/master/include/ceres/local_parameterization.h).
Or better way will be using SE(3) to represent the rigid motion and optimizing in se(3) space.
Hope it could help.
Metadata
Metadata
Assignees
Labels
No labels