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 hashes)

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 hashes)

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 hashes)

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 hashes)

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

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