Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nikolasent/extended-kalman-filter
Udacity Self-Driving Car Engineer Nanodegree. Project: Extended Kalman Filters
https://github.com/nikolasent/extended-kalman-filter
carnd kalman-filter self-driving-car sensor-fusion
Last synced: 22 days ago
JSON representation
Udacity Self-Driving Car Engineer Nanodegree. Project: Extended Kalman Filters
- Host: GitHub
- URL: https://github.com/nikolasent/extended-kalman-filter
- Owner: NikolasEnt
- Created: 2017-03-30T23:39:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-04-15T23:08:49.000Z (over 7 years ago)
- Last Synced: 2024-10-04T12:45:06.937Z (about 1 month ago)
- Topics: carnd, kalman-filter, self-driving-car, sensor-fusion
- Language: C++
- Homepage:
- Size: 1.17 MB
- Stars: 29
- Watchers: 4
- Forks: 27
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Extended Kalman Filter
This Project is the sixth task (Project 1 of Term 2) of the Udacity Self-Driving Car Nanodegree program. The main goal of the project is to apply Extended Kalman Filter to fuse data from LIDAR and Radar sensors of a self driving car using C++.The project was created with the Udacity [Starter Code](https://github.com/udacity/CarND-Extended-Kalman-Filter-Project).
## Content of this repo
- `scr` a directory with the project code:
- `main.cpp` - reads in data, calls a function to run the Kalman filter, calls a function to calculate RMSE
- `FusionEKF.cpp` - initializes the filter, calls the predict function, calls the update function
- `kalman_filter.cpp`- defines the predict function, the update function for lidar, and the update function for radar
- `tools.cpp` - a function to calculate RMSE and the Jacobian matrix
- `data` a directory with two input files, provided by Udacity
- `results` a directory with output and log files
- `Docs` a directory with files formats description
- [task.md](task.md) the task of the project by Udacity
- `extra` a directory with detailed information used hardware and software (`extra/additional_info.txt` file) and screenshots of the final RMSE.## Result
![input 1 results](readme_img/plot1.png)
Accuracy - RMSE: [0.0651648, 0.0605379, 0.533212, 0.544193]*Threshold*: RMSE <= [0.08, 0.08, 0.60, 0.60]
![input 2 results](readme_img/plot2.png)
Accuracy - RMSE: [0.18566, 0.190271, 0.474522, 0.811142]*Threshold*: RMSE <= [0.20, 0.20, .50, .85]
The results were visualized with [Sensor Fusion utilities](https://github.com/udacity/CarND-Mercedes-SF-Utilities).
## How to run the code
Clone this repo and perform
```
mkdir build && cd build
cmake .. && make
./ExtendedKF ../data/sample-laser-radar-measurement-data-1.txt output1.txt > input1.log
./ExtendedKF ../data/sample-laser-radar-measurement-data-2.txt output2.txt > input2.log
```
For details, see [task.md](task.md)The resulted output files are supplied in the [results](results) directory.