All Projects → milsto → robust-kalman

milsto / robust-kalman

Licence: MIT license
Robust Kalman filter with adaptive noise statistics estimation.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to robust-kalman

COVID19
Using Kalman Filter to Predict Corona Virus Spread
Stars: ✭ 78 (-12.36%)
Mutual labels:  kalman-filter, kalman
imusensor
Python library for communication between raspberry pi and MPU9250 imu
Stars: ✭ 47 (-47.19%)
Mutual labels:  kalman-filter, kalman
Kalmanjs
Javascript based Kalman filter for 1D data
Stars: ✭ 298 (+234.83%)
Mutual labels:  noise, kalman-filter
MPU6050
STM32 HAL library for GY-521 (MPU6050) with Kalman filter
Stars: ✭ 114 (+28.09%)
Mutual labels:  kalman-filter, kalman
Face-Detection-and-Tracking
Computer Vision model to detect face in the first frame of a video and to continue tracking it in the rest of the video. This is implemented in OpenCV 3.3.0 and Python 2.7
Stars: ✭ 24 (-73.03%)
Mutual labels:  kalman-filter, kalman
avatar-facial-landmark-detection
A method about optimizing the facial landmark detection based on Kalman Filter, Optical Flow and Dlib
Stars: ✭ 87 (-2.25%)
Mutual labels:  kalman-filter
ZNoise
C++ noise algorithms library
Stars: ✭ 33 (-62.92%)
Mutual labels:  noise
CubicNoise
1D & 2D Random noise with bicubic interpolation
Stars: ✭ 76 (-14.61%)
Mutual labels:  noise
Embedded UKF Library
A compact Unscented Kalman Filter (UKF) library for Teensy4/Arduino system (or any real time embedded system in general)
Stars: ✭ 31 (-65.17%)
Mutual labels:  kalman-filter
RobustGNSS
Robust GNSS Processing With Factor Graphs
Stars: ✭ 98 (+10.11%)
Mutual labels:  robust
lidar radar fusion ekf ukf
Lidar and Radar Fusion with EKF and UKF
Stars: ✭ 19 (-78.65%)
Mutual labels:  kalman-filter
Weather-Forecast
Weather Forecast is a simple app that shows you a weather. It comes with your standard features like your daily and hourly forecast along with access to additional information
Stars: ✭ 59 (-33.71%)
Mutual labels:  robust
STYLER
Official repository of STYLER: Style Factor Modeling with Rapidity and Robustness via Speech Decomposition for Expressive and Controllable Neural Text to Speech, INTERSPEECH 2021
Stars: ✭ 105 (+17.98%)
Mutual labels:  robust
KalmanFlow
A simple Kalman Filter built in TensorFlow
Stars: ✭ 22 (-75.28%)
Mutual labels:  kalman-filter
rogme
Robust Graphical Methods For Group Comparisons
Stars: ✭ 69 (-22.47%)
Mutual labels:  robust
lane-detection
Lane detection MATLAB code for Kalman Filter book chapter: Lane Detection
Stars: ✭ 21 (-76.4%)
Mutual labels:  kalman-filter
WaveGrad2
PyTorch Implementation of Google Brain's WaveGrad 2: Iterative Refinement for Text-to-Speech Synthesis
Stars: ✭ 55 (-38.2%)
Mutual labels:  robust
fusion-ekf
An extended Kalman Filter implementation in C++ for fusing lidar and radar sensor measurements.
Stars: ✭ 113 (+26.97%)
Mutual labels:  kalman-filter
PPG
Code to estimate HR from PPG signals using Subspace Decomposition and Kalman filter for the dataset of 22 PPG recordings provided for the 2015 IEEE Signal Processing Cup (SP Cup) competition. The traces are stored in folder 'DATABASE'. Please cite this publication when referencing this material: "Measuring Heart Rate During Physical Exercise by …
Stars: ✭ 43 (-51.69%)
Mutual labels:  kalman-filter
Noisekun
🎧 Web page made with Next.js and Typescript, for listen combinations of sounds for relaxing or getting more productive on tasks.
Stars: ✭ 17 (-80.9%)
Mutual labels:  noise

Robust Kalman

Alt Text

Python implementation of a robust Kalman estimator using so called M-robust estimation with support for adaptive noise variance estimation. Robust estimation is used to give better estimates when the data is polluted by outliers (see figure above).

Implementation is based on the method presented in the paper Robust Estimation with Unknown Noise Statistics. Main difference is that iterative Nelder-Mead algorithm is used for nonlinear minimization problems instead of approximate linear method proposed by original authors (one may try out other methods if interested by editing the code). Adaptive variance estimation is implemented only for measurement noise.

Usage

Robust Kalman may be easily integrated in the user's code using few intuitive API calls as shown in the sample below.

# Import RobustKalman provided by the package in this repo
from robust_kalman import RobustKalman

# Create the estimator by passing model parameters
kalman = RobustKalman(F, B, H, x0, P0, Q0, R0, use_robust_estimation=True)

# ...

# Do updates on every time step
kalman.time_update()
kalman.measurement_update(measurements)

# ...

# Get the estimations
print('Current state estimates', kalman.current_estimate)

Simple and fully functional example is available in the examples/example_simple.py. This example contains model definition, update loop and result plotting.

The example in the examples/example_advanced.py was intended for the authors coursework in the Stochastic System Theory at Masters program in Signal processing at University of Belgrade, School of Electrical Engineering. That script was used to generate results presented in the image above.

Author: Miloš Stojanović Stojke

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].