Hi Rasmus ,
just some hints to implement it. Think about the unitary circle
in the 2D plane:
- Ambient size = 2
- Tangent size = 1
The Plus and PlusJacobian would be:
virtual bool Plus(const double* _x, const double*
_delta, double* _x_plus_delta) const
{
double angle = atan2(_x[1],_x[0]);
_x_plus_delta[0] = cos( angle + _delta[0] );
_x_plus_delta[1] = sin( angle + _delta[0] );
return true;
}
virtual bool PlusJacobian(const double* _x, double*
_jacobian) const
{
double angle = atan2(_x[1],_x[0]);
_jacobian[0] = -sin( angle );
_jacobian[1] = cos( angle );
return true;
}
best regards,
-- ------------------------------------ Andreu Corominas Murtra PhD Engineer Business Director & Co-founder and...@beta-robots.com +34 635 575 864 www.beta-robots.com ------------------------------------
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/cd696a9f-9813-49ab-a354-8542c4691c9en%40googlegroups.com.
Hi,
thanks Dimitry for the comment, probably it may be better as you
suggest.
Regarding Rasmus' question, I would say that "Euclidean-like
Euler angle approach with special handling at 0" has continuity
problems which should be avoided in an optimization NLLS problem.
This is one of the reasons to implement such cases with manifolds.
best ,
andreu
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/2fb563b4-6805-4631-a197-b941bca9b6e2n%40googlegroups.com.