simpleICP
simpleICP copied to clipboard
icp registration with constraint degree of freedom( RX, RY, TX, TY, TZ )
I have 2 sets of pointcloud to be registed, common results of icp is for 6dof, Is it possible to constraint the registration to 5dof(RX, RY, TX, TY, TZ)?
In the CorrPts::EstimateRigidBodyTransformation function, I set alpha3 to 0, the registration results seems to meet my needs. Is it reasonable to change like this? Will this modification result in a loss of accuracy?
double alpha1{x(0)};
double alpha2{x(1)};
double alpha3{x(2)};
double tx{x(3)};
double ty{x(4)};
double tz{x(5)};
H = Eigen::Matrix4d::Identity();
H.topLeftCorner<3, 3>() = EulerAnglesToRotationMatrix(alpha1, alpha2, 0);//alpha3
H.topRightCorner<3, 1>() << tx, ty, tz;
dragon1.xyz(X_fix) and dragon2.xyz(X_mov) are used for testing, The registration result indeed lacks Z-axis rotation.