Skip to main content

BYU Invariant Extended Kalman Filter Library

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

inekf-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

inekf-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

inekf-0.1.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

inekf-0.1.0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file inekf-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for inekf-0.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 09358071fb9bb6754bf2f2aaad648a4e74384fdc3112ce26c89cfd7fa33202a9
MD5 090be22e86d6d07b4e937cf54b4519e3
BLAKE2b-256 b0685c174cd4c23b0640698a8af7bf86d034cc79553dab405de9c7b6aea43a36

See more details on using hashes here.

File details

Details for the file inekf-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for inekf-0.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9216ae1095f4bb6ec3ef6cfd715f55525296bb80dcb4ba0888dd644c0ff50603
MD5 7ef1e809c3d8f599ae95f105d212184e
BLAKE2b-256 237ac37b8c465e8d86a3c225c514bf231d7cc8b77ede8978780ea239b16d6109

See more details on using hashes here.

File details

Details for the file inekf-0.1.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for inekf-0.1.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f1e237ea691a302331a1d9e9452c86c685a796d7d0347f4bd8bde5ba6c2a2f2e
MD5 b607bb81e123b397b26a77dfeda5101e
BLAKE2b-256 ebf55494421498aebc1aa23790e9a6192f2353cd77a58511af60d8c874cc8be3

See more details on using hashes here.

File details

Details for the file inekf-0.1.0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for inekf-0.1.0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 be43d8f042d347a117b58b119385f48fdf79100e509f1e11b3e213586a826732
MD5 d7081f9e3145f9be9463956a0fe05724
BLAKE2b-256 4451cfe4f7450308d278e34418d2a200b8e441d0c3f64d9b1eb8321d321b7a58

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page