simpleICP icon indicating copy to clipboard operation
simpleICP copied to clipboard

icp registration with constraint degree of freedom( RX, RY, TX, TY, TZ )

Open MZener opened this issue 1 year ago • 0 comments

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;

微信图片_2024-12-04_172604_770 dragon1.xyz(X_fix) and dragon2.xyz(X_mov) are used for testing, The registration result indeed lacks Z-axis rotation.

MZener avatar Dec 04 '24 09:12 MZener