Installation

Installation is straightforward in either language.

Installation of library in C++ requires manually building from source using CMake. The only dependency is Eigen, and if you want to build the python binding, pybind11 as well. If not found on the system, both of these will be pulled from their respective git repos, and built locally.

A simple build will look like:

mkdir build
cd build
cmake ..
make
sudo make install

Tests, examples, and the python binding can all be enabled with the following options when running cmake. Note all are disabled by default.

cmake .. -DTESTS=ON -DPYTHON=ON -DEXAMPLES=ON

Note

By default, cmake is set to debug mode which can significantly slow things down, it can be set to release mode by passing -DCMAKE_BUILD_TYPE=Release to cmake.

After installation, the library can be linked against using the following lines in cmake

find_package(Eigen3 CONFIG REQUIRED)
find_package(InEKF CONFIG REQUIRED)
target_link_libraries(mytarget PUBLIC InEKF::Core InEKF::Inertial InEKF::SE2Models)

Alternatively, cmake can be configured to pull InEKF directly from git

FetchContent_Declare(
  InEKF
  GIT_REPOSITORY git@bitbucket.org:frostlab/inekf.git
  GIT_TAG        v0.1.0
  )
FetchContent_MakeAvailable(InEKF)

The above options can be added into this line as well, for example option(PYTHON ON) right above the FetchContent_MakeAvailable(InEKF) line. When installed from source, the package can be removed using sudo make remove.