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

Templated local parametrization for ceres #305

Merged

Conversation

DmitriyKorchemkin
Copy link
Contributor

  • Added templated local parameterization class
  • Slightly adjusted RxSO2::cast / (Rx)SO3::operator* in order to be compatible with ceres::Jet

In order to work around a corner-case of SO2::Tangent being Scalar (and not Vector<Scalar, 1>), helper trait is_mappable_type_v is introduced (using completeness of Eigen::internal::traits<T>, since just having ::Scalar type is not enough, since ceres::Jet has this type defined, but needs to be considered a scalar). This type trait is only needed for group-agnostic code and end-users do not need to use it.

Added also a simple Lie-group averaging example (on a complete graph in order to simplify test data generation).

@DmitriyKorchemkin DmitriyKorchemkin force-pushed the ceres-local-parameterization-2 branch from 8dacb86 to ef9a3ad Compare May 30, 2021 21:14
@coveralls
Copy link

coveralls commented May 30, 2021

Coverage Status

Coverage increased (+0.03%) to 99.013% when pulling 7366e2d on DmitriyKorchemkin:ceres-local-parameterization-2 into e10eb6e on strasdat:master.

@DmitriyKorchemkin DmitriyKorchemkin force-pushed the ceres-local-parameterization-2 branch 3 times, most recently from 01b5c97 to 9797a01 Compare February 14, 2022 20:24
sophus/ceres_local_parameterization.hpp Outdated Show resolved Hide resolved
sophus/ceres_local_parameterization.hpp Outdated Show resolved Hide resolved
sophus/ceres_local_parameterization.hpp Outdated Show resolved Hide resolved
sophus/ceres_local_parameterization.hpp Outdated Show resolved Hide resolved
@DmitriyKorchemkin DmitriyKorchemkin force-pushed the ceres-local-parameterization-2 branch from 574a7a7 to 2063e5e Compare February 15, 2022 21:02
@DmitriyKorchemkin DmitriyKorchemkin force-pushed the ceres-local-parameterization-2 branch from 2063e5e to 7366e2d Compare February 15, 2022 21:05
@DmitriyKorchemkin
Copy link
Contributor Author

@sergiud , are there any problems left?

I have a ceres::Manifold-based implementation ready; it reuses test-suite and type traits.
Should I add it to current pull-request, or wait till it gets merged in and open a new one?

Thanks

@sergiud
Copy link
Contributor

sergiud commented Mar 10, 2022

Your PR looks good to me. @strasdat needs to review it.

@NikolausDemmel
Copy link
Contributor

I have a ceres::Manifold-based implementation ready; it reuses test-suite and type traits.
Should I add it to current pull-request, or wait till it gets merged in and open a new one?

IMHO a second PR would be best (but I don't have any authority here). You could already open it, if you want, and note that it depends on this PR. Thanks for your contribution! This will be very useful.

@strasdat strasdat merged commit adfb9fc into strasdat:master Mar 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants