Skip to content

This repository is to practice writing different types of filters

License

Notifications You must be signed in to change notification settings

bgill92/filtering_sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

filtering_sandbox

This repository is to practice writing different types of filters

The code in this directory is heavily inspired/ripped from https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python. It is a great resource for learning more about filters.

The kalman_* files implement the base Kalman filter in different ways.

The UKF_one_file.py file takes the UKF code from the rlabbe repository above, and writes it all in one file so it can be easier to see what is happening. The plot generated by UKF_one_file.py can be directly compared with the plot generated from UKF_rlabbe.py. UKF_one_file.py and UKF_rlabbe.py is the direct implementation from the Robot Localization - A Fully Worked Example section of https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/10-Unscented-Kalman-Filter.ipynb.

UKF.py contains my own implementation of the UKF and sigma point functions. sim.py contains the code to simulate a diff-drive robot in an environment with landmarks while also running a UKF to perform state estimation.

To run

To run the simulation, simply execute the following from the filtering_sandbox/filtering_sandbox directory:

python3 sim.py

Click on the animation window to make sure it is active. You can control the robot by pressing the up, left, and right keys. The gray ellipse is the covariance after the predict stage of the UKF, and the green ellipse is the covariance after the update stage of the UKF.

About

This repository is to practice writing different types of filters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages