Templated, header-only library implementing the SO(3) and SE(3) manifolds, along with their 2D corollaries. Operationally very similar to variations on Eigen's Quaternion<T>
class, but with added chart maps and rules for addition and subtraction on tangent spaces. Meant to be used with nonlinear least-squares solvers like Ceres Solver which take advantage of templating to implement auto-differentiation on arbitrary mathematical formulations in code.
The SO3 math is based on my notes on 3D rotation representations.
View the library documentation HERE.
This library is built with CMake. The following dependencies are required:
- Eigen 3.4.0
- Boost 1.79.0 (for unit test framework)
mkdir build
cd build
cmake ..
make # or make install
By default, building will build and run the unit tests, but this can be turned off with the CMake option BUILD_TESTS
.
Generate updated docs in the docs/
directory with
doxygen Doxyfile