{"id":21204527,"url":"https://github.com/maudzung/extended-kalman-filter-cpp","last_synced_at":"2025-12-30T11:37:40.187Z","repository":{"id":108977799,"uuid":"262784650","full_name":"maudzung/Extended-Kalman-Filter-CPP","owner":"maudzung","description":"Extended Kalman Filter Project using C++","archived":false,"fork":false,"pushed_at":"2020-05-12T07:47:26.000Z","size":6637,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T15:22:05.590Z","etag":null,"topics":["cpp","kalman-estimator","kalman-filter","kalman-tracking"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maudzung.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-10T12:42:43.000Z","updated_at":"2024-01-30T03:59:31.000Z","dependencies_parsed_at":"2023-03-20T10:34:03.256Z","dependency_job_id":null,"html_url":"https://github.com/maudzung/Extended-Kalman-Filter-CPP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maudzung%2FExtended-Kalman-Filter-CPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maudzung%2FExtended-Kalman-Filter-CPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maudzung%2FExtended-Kalman-Filter-CPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maudzung%2FExtended-Kalman-Filter-CPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maudzung","download_url":"https://codeload.github.com/maudzung/Extended-Kalman-Filter-CPP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658185,"owners_count":20326465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","kalman-estimator","kalman-filter","kalman-tracking"],"created_at":"2024-11-20T20:36:13.885Z","updated_at":"2025-12-30T11:37:40.145Z","avatar_url":"https://github.com/maudzung.png","language":"C++","readme":"# Extended Kalman Filter Project using C++\n\nIn this project I utilized a kalman filter to estimate the state of a moving object of interest with noisy lidar and radar measurements. \n\nA great note could be found [here](https://medium.com/intro-to-artificial-intelligence/extended-kalman-filter-simplified-udacitys-self-driving-car-nanodegree-46d952fce7a3)\n## High level architecture of Extended Kalman Filter\n\n![high level architecture](./Docs/High_level_architecture.png)\n\n## Important Dependencies\n* cmake \u003e= 3.5\n  * All OSes: [click here for installation instructions](https://cmake.org/install/)\n* make \u003e= 4.1 (Linux, Mac), 3.81 (Windows)\n  * Linux: make is installed by default on most Linux distros\n  * Mac: [install Xcode command line tools to get make](https://developer.apple.com/xcode/features/)\n  * Windows: [Click here for installation instructions](http://gnuwin32.sourceforge.net/packages/make.htm)\n* gcc/g++ \u003e= 5.4\n  * Linux: gcc / g++ is installed by default on most Linux distros\n  * Mac: same deal as make - [install Xcode command line tools](https://developer.apple.com/xcode/features/)\n  * Windows: recommend using [MinGW](http://www.mingw.org/)\n\n## How to compile and run\n1. Download the Term 2 Simulator [here](https://github.com/udacity/self-driving-car-sim/releases).\n2. Install `uWebSocketIO`: \u003cbr\u003e\nThis repository includes two files that can be used to set up and install [uWebSocketIO](https://github.com/uWebSockets/uWebSockets) \nfor either Linux or Mac systems. For windows you can use either Docker, VMware, \nor even [Windows 10 Bash on Ubuntu](https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/)\u003cbr\u003e\nYou can execute the `install-ubuntu.sh` to install uWebSocketIO.\n\n3. Once the install for uWebSocketIO is complete, the main program can be built and run by doing the following from the project top directory.\n    ```shell script\n    mkdir build\n    cd build\n    cmake ..\n    make\n    ./ExtendedKF\n    ```\n\n## Results\nThe simulation is tracking the blue car, the initial position of the car, the RADAR and LIDAR sensors are ar the origin of the coordinates system.\n- Red circles are lidar measurements.\n- Blue circles are radar measurements (an arrow pointing in the direction of the observed angle).\n- Green markers are the car's position as estimated by the Kalman filter. \u003cbr\u003e\n\n![Demo](./demo/dataset1.gif)\n\nObviously, the Kalman filter works well on tracking the car's position with significantly reduced noise.\nThe Root Mean Square Error:\n- X: 0.0973\n- Y: 0.0855\n- Vx: 0.4513\n- Vy: 0.4399\n\nThe full demostrations are available at:\n- [Dataset 1](https://youtu.be/HbxQKSifevc)\n- [Dataset 2](https://youtu.be/W-Kf2NG4tMw)\n\n## Generating Additional Data\nSee the [utilities repo](https://github.com/udacity/CarND-Mercedes-SF-Utilities) for Matlab scripts that can generate additional data.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaudzung%2Fextended-kalman-filter-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaudzung%2Fextended-kalman-filter-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaudzung%2Fextended-kalman-filter-cpp/lists"}