artivis/manif
A small C++11 header-only library for Lie theory.
What it solves
manif는 로봇 상태 추정을 위해 설계된 Lie 이론 라이브러리입니다. 2D 및 3D 공간에서 회전, 변위, 속도를 다루는 수학적으로 엄밀한 방법을 제공하며, 이는 로봇의 자세와 움직임을 계산하는 데 필수적입니다.
How it works
이 라이브러리는 다양한 종류의 움직임과 공간을 표현하기 위해 여러 Lie 그룹을 구현합니다:
- Euclidean space (ℝ(n)): n 차원 공간에서의 기본 덧셈.
- SO(2) and SO(3): 2D 및 3D 공간에서의 회전.
- SE(2) and SE(3): 2D 및 3D에서의 강체 운동(회전과 변위).
- SE_2(3): 회전, 변위, 속도를 포함하는 확장 자세(3D).
- SGal(3): 특수 갈릴레오 군(회전, 변위, 속도, 시간) – 3D용.
- Bundle<>: 매니폴드 번들을 단일 Lie 그룹으로 취급하는 방법.
접공간은 데카르트 표현을 사용하므로, 접 요소는 $ mathbb{R}^n$ 의 일반 벡터로 취급됩니다. 또한 로컬 접공간에서의 섭동에 대한 오른쪽 야코비안을 분석적으로 계산합니다.
Who it’s for
상태 추정, 제어 및 학습 알고리즘을 개발하는 로봇공학자와 개발자를 위한 것으로, 3D 움직임과 기하학을 정확히 수학적으로 표현해야 하는 경우에 적합합니다.
Highlights
- Header-only C++11 library with Python 3 wrappers.
- Comprehensive Lie group support: Covers everything from simple rotations to complex Galilean groups.
- Analytical Jacobians: Provides built-in computation of Jacobians for all core operations.
- Auto-diff compatible: Works with
ceres::Jet,autodiff::Dual, andautodiff::Realfor non-linear solvers. - Rigorous mathematical foundation: Based on a specific academic paper tailored for roboticists.