Skip to main content

Invariant Extended Kalman Filter

Build Status Documentation Status

InEKF is a C++ library with python bindings that implements the Invariant Extend Kalman Filter (InEKF) in a modular to enable easy application to any system.

Features

  • Support for Right & Left filters.
  • Base classes provide easy extension via inheritance.
  • Coded using static Eigen types for efficient structure.
  • Fully featured python interface for use in classroom, prototyping, etc.
  • C++14 and above supported.
  • Fullly templated Lie Groups SO2, SO3, SE2, SE3 to enable additional tracking of Euclidean states and multiple extra columns in SE2/SE3.
  • Dynamic Lie Groups types to add columns to SE2/SE3 on the fly (for InEKF SLAM and others).
  • Various examples to get started.

Documentation

To get started, please read the docs. We have attempted to thoroughly document everything, and it should be fairly straightforward to get up and running. They have information on all of the following (and more!)

Structure

InEKF is split into a couple different libraries

Core

This library includes all the Lie Groups and InEKF classes along with the base classes MeasureModel and ProcessModel.

Inertial

This is the implementation of the Lie Group SE_2(3) along with an augmented bias state. Along with it are various process/measurement models defined on this group including as of now DVLSensor, DepthSensor, and InertialProcess.

SE2Models

Exactly what it sounds like, is used for SLAM in SE2. Includes dynamic models that adjust as more landmarks are seen, including a GPSSensor and LandmarkSensor.

Contributing

This is an open-source project and contributions are more then welcome. If any there are any features or bugs you'd like to report, please add then to the issue tracker. If you would like to contribute code, please feel free to fork, modify, and create a pull request.

Metadata

Release files for inekf 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for inekf 0.1.0
File
inekf-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
inekf-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
inekf-0.1.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
inekf-0.1.0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 13.4 MB

Release files / inekf-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL inekf-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
09358071fb9bb6754bf2f2aaad648a4e74384fdc3112ce26c89cfd7fa33202a9
BLAKE2b-256 checksum
How to use checksums
b0685c174cd4c23b0640698a8af7bf86d034cc79553dab405de9c7b6aea43a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Release files / inekf-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL inekf-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9216ae1095f4bb6ec3ef6cfd715f55525296bb80dcb4ba0888dd644c0ff50603
BLAKE2b-256 checksum
How to use checksums
237ac37b8c465e8d86a3c225c514bf231d7cc8b77ede8978780ea239b16d6109
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Release files / inekf-0.1.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL inekf-0.1.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f1e237ea691a302331a1d9e9452c86c685a796d7d0347f4bd8bde5ba6c2a2f2e
BLAKE2b-256 checksum
How to use checksums
ebf55494421498aebc1aa23790e9a6192f2353cd77a58511af60d8c874cc8be3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Release files / inekf-0.1.0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL inekf-0.1.0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 3.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
be43d8f042d347a117b58b119385f48fdf79100e509f1e11b3e213586a826732
BLAKE2b-256 checksum
How to use checksums
4451cfe4f7450308d278e34418d2a200b8e441d0c3f64d9b1eb8321d321b7a58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page