Skip to content

Latest commit

 

History

History
74 lines (60 loc) · 2.27 KB

README.md

File metadata and controls

74 lines (60 loc) · 2.27 KB

kalman_variants - a selective set of Nonlinear Kalman Filter Variants

Package Summary

kalman_variants implements several Kalman filter nonlinear variants with state estimation applications for robot and autonomous systems in mind. The package includes detailed line-by-line annotated code for every implementation of the kalman filter variant. You will also have free access to an implementation guide at Kalman_filter_variants/doc/Kalman_Implementation_Guide_For_Dummies.pdf to go along with the code to accelerate your learning.

At the moment, this package implements

  • Extended Kalman Filter (EKF) w/ landmark-localization tutorial
  • Error State Extended Kalman Filter (ESEKF)
  • Unscented Kalman Filter (UKF)

Moreover, it implements the following vehicle motion model in both discrete and continuous formulations

  • Kinematic Bicycle Model
  • Kinematic Differential Drive Model
  • Kinematic Ackermann Model
  • Dynamic Bicycle Model

Status

  • Maintainer Status: Active
  • Maintainer(s): Jingxue Jiang
  • Author(s): Jingxue Jiang

Installation

Download the source via git clone

cd <your directory>
git clone https://github.com/jiangjingxue/kalman_filter_variants.git
python setup.py install

Basic Use

First, import the filters and helper functions.

import numpy as np
from kalman_variants.ekf import EKFLocalization
from kalman_variants.common import AddictdeNoise

Create the filter

my_ekf = EKFLocalization()

Debug

if you encounter following issue when importing the package

ModuleNotFoundError: No module named 'kalman_variants'

Set PYTHONPATH environment variable in root project directory (Unix)

export PYTHONPATH=.

For Windows, use

set PYTHONPATH=.