Publication

Manif: A micro Lie theory library for state estimation in robotics applications

Journal Article (2020)

Journal

Journal of Open Source Software

Pages

1371

Volume

5

Number

46

Doc link

https://doi.org/10.21105/joss.01371

File

Download the digital copy of the doc pdf document

Abstract

There has been a remarkable effort in the last years in the robotics community to formulate estimation problems properly (Eade, 2013)(Barfoot, 2017). This is motivated by an increasing demand for precision, consistency, and stability of the solutions. Indeed, proper modeling of the states and measurements, the functions relating them, and their uncertainties, is crucial to achieve these goals. This has led to problem formulations involving what has been known as ‘manifolds’, which in this context are no less than the smooth topologic surfaces of the Lie groups where the state representations evolve (Chirikjian, 2011).
manif (Deray & Solà, 2019) is a micro Lie theory library targeted at state estimation in robotics applications. With a single dependency on Eigen (Guennebaud, Jacob, & others, 2010) and a requirement on C++11 only, it is developed as a header-only library, making it easy to integrate to existing projects.
The manif library provides simple interfaces to the most common operations on Lie groups in state estimation. Its design is similar to Eigen, in that all Lie group classes inherit from a templated base class using static polymorphism. This allows for writing generic code without paying the price of pointer arithmetic. Thanks to this polymorphism, the library is open to extensions to Lie groups beyond the currently implemented: the Special Orthogonal groups SO(2) and SO(3) and the Special Euclidean groups SE(2) and SE(3).

Categories

control theory, optimisation.

Author keywords

software, c++, Lie theory, state estimation

Scientific reference

J. Deray and J. Solà. Manif: A micro Lie theory library for state estimation in robotics applications. Journal of Open Source Software, 5(46): 1371, 2020.