Skip to content

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

@MZener

Description

@MZener

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions