You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've tried now with a couple different pointclouds, and the PointToPointWithCovErrorMinimizer seems to reliably calculate singular Hessian matrices. This is problematic because for the covariance estimate the hessian needs to be inverted.
This is the case when applying ICP between libpointmatcher/examples/data/cloud.00000.vtk and libpointmatcher/examples/data/cloud.00001.vtk, between libpointmatcher/examples/data/cloud.00000.vtk and libpointmatcher/examples/data/cloud.00002.vtk, and as well for a monkey.ply I got from blender in the same fashion as the pcl tutorial
See here an example of one Hessian I got from aligning cloud00000.vtk with cloud00002.vtk for 1 iteration:
I've attached my parameter file, but it is relatively basic. I just went for a super simple ICP chain which would successfully find the transformation I applied to monkey.ply:
// Defining a rotation matrix and translation vector
Eigen::Matrix4f transformation_matrix = Eigen::Matrix4f::Identity();
// A rotation matrix (see https://en.wikipedia.org/wiki/Rotation_matrix)
double theta = M_PI / 8; // The angle of rotation in radians
transformation_matrix(0, 0) = std::cos(theta);
transformation_matrix(0, 1) = -sin(theta);
transformation_matrix(1, 0) = sin(theta);
transformation_matrix(1, 1) = std::cos(theta);
// translation on x axis (0.5 meters)
transformation_matrix(0, 3) = 0.5;
// translation on y axis (0.15 meters)
transformation_matrix(1, 3) = 0.15;
I've tried now with a couple different pointclouds, and the PointToPointWithCovErrorMinimizer seems to reliably calculate singular Hessian matrices. This is problematic because for the covariance estimate the hessian needs to be inverted.
This is the case when applying ICP between
libpointmatcher/examples/data/cloud.00000.vtk
andlibpointmatcher/examples/data/cloud.00001.vtk
, betweenlibpointmatcher/examples/data/cloud.00000.vtk
andlibpointmatcher/examples/data/cloud.00002.vtk
, and as well for amonkey.ply
I got from blender in the same fashion as the pcl tutorialSee here an example of one Hessian I got from aligning
cloud00000.vtk
withcloud00002.vtk
for 1 iteration:I've attached my parameter file, but it is relatively basic. I just went for a super simple ICP chain which would successfully find the transformation I applied to
monkey.ply
:Parameter File
The text was updated successfully, but these errors were encountered: