Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[registration] GICP alternates optimizing trans and rot part #5269

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

keineahnung2345
Copy link
Contributor

Ref: #5180

/// \brief optimization functor structure for translation part
struct OptimizationFunctorWithIndicesTranslation
: public BFGSDummyFunctor<double, 3> {
OptimizationFunctorWithIndicesTranslation(GeneralizedIterativeClosestPoint* gicp)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to update gicp_->current_transformation_ so const from const GeneralizedIterativeClosestPoint* removed.

@@ -329,16 +376,19 @@ GeneralizedIterativeClosestPoint<PointSource, PointTarget>::
}
g.head<3>() *= 2.0 / m;
dCost_dR_T *= 2.0 / m;
gicp_->computeRDerivative(x, dCost_dR_T, g);
// gicp_->computeRDerivative(x, dCost_dR_T, g);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I remove all rotation-related codes from OptimizationFunctorWithIndicesTranslation?

@@ -506,6 +711,7 @@ GeneralizedIterativeClosestPoint<PointSource, PointTarget>::computeTransformatio
break;
}
nr_iterations_++;
is_translation_turn_ = !is_translation_turn_;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If current iteration is optimizing translation part, next iteration will optimize rotation part. There may be a better way.

@keineahnung2345
Copy link
Contributor Author

@mvieth GeneralizedIterativeClosestPoint::estimateRigidTransformationBFGS is revised so GeneralizedIterativeClosestPoint6D is affected. How about adding a bool to turn on/off this alternating algorithm?

@themightyoarfish
Copy link
Contributor

Any chance to get this moved forward?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants