Skip to content

Unscented Kalman Filter C++ implementation to estimate the state of a moving object of interest with noisy lidar and radar measurements.

License

Notifications You must be signed in to change notification settings

Veilkrand/Unscented-Kalman-Filter-Sensor-Fusion

Repository files navigation

Unscented Kalman Filter

Unscented Kalman Filter C++ implementation to estimate the state of a moving object of interest with noisy lidar and radar measurements.

We calculate the root mean squared error of each measurement prediction with the real state position(Px,Py) and velocity(Vx,Vy) of the object.

The NIS "Normalized Innovation Squared" is calculated as well and displayed using a Ipython Jupyter Notebook.


INPUT:

Lidar or radar measurement from sensors on-board:
["sensor_measurement"]

OUTPUT:

UKF estimated positions:
["estimate_x"]
["estimate_y"]

Root mean square errors for positions and velocities using real pose values:
["rmse_x"]
["rmse_y"]
["rmse_vx"]
["rmse_vy"]

Dependencies

Build

  1. Make a build directory: mkdir build && cd build
  2. Compile: cmake .. && make
  3. Run: ./UnscentedKF path/to/input.txt path/to/output.txt.

XCode project generator

mkdir build
cd build
cmake -G Xcode ..

References

[1] "A New Extension of the Kalman Filter to Nonlinear Systems:, S. J. Julier and J. K. Uhlmann, https://www.cs.unc.edu/~welch/kalman/media/pdf/Julier1997_SPIE_KF.pdf

[2] "Unscented Filtering for Spacecraft Attitude Estimation", John L. Crassidis and F. Landis Markley, http://www.acsu.buffalo.edu/~johnc/uf_att.pdf

[3] "The Square-Root Unscented Kalman Filter for State and Parameter-Estimation", Rudolph van der Merwe and Eric A. Wan, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.80.1421&rep=rep1&type=pdf

MIT License Copyright (c) 2017 Alberto Naranjo

About

Unscented Kalman Filter C++ implementation to estimate the state of a moving object of interest with noisy lidar and radar measurements.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published