C++ Examples¶
The project provides some self-contained and self-explained executables implementing some real problems.
Their source code is located in examples/
folder.
These demos are:
se2_localization.cpp
: 2D robot localization based on fixed landmarks using SE2 as robot poses. This implements the example V.A in the paper.se2_localization_ukfm.cpp
: 2D robot localization based on fixed landmarks using SE2 as robot poses. This implements the filter described in ‘A Code for Unscented Kalman Filtering on Manifolds (UKF-M)’, M. Brossard, A. Barrau and S. Bonnabel.se3_localization.cpp
: 3D robot localization based on fixed landmarks using SE3 as robot poses. This re-implements the example above but in 3D.se2_sam.cpp
: 2D smoothing and mapping (SAM) with simultaneous estimation of robot poses and landmark locations, based on SE2 robot poses. This implements a the example V.B in the paper.se3_sam.cpp
: 3D smoothing and mapping (SAM) with simultaneous estimation of robot poses and landmark locations, based on SE3 robot poses. This implements a 3D version of the example V.B in the paper.se3_sam_selfcalib.cpp
: 3D smoothing and mapping (SAM) with self-calibration, with simultaneous estimation of robot poses, landmark locations and sensor parameters, based on SE3 robot poses. This implements a 3D version of the example V.C in the paper.se_2_3_localization.cpp
: A strap down IMU model based 3D robot localization, with measurements of fixed landmarks, using SE_2_3 as extended robot poses (translation, rotation and linear velocity).
To build the demos, pass the related flag to CMake,
cmake -DBUILD_EXAMPLES=ON ..
make
cd examples
./se2_localization