pabloelizalde / CarND-Extended-Kalman-Filter-Project

Self-Driving Car ND @ Udacity - Term 2 Project 1 - Extended Kalman Filter Project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Extended Kalman Filter

Intro

This project consists in the implementation of a extented Kalman filter in C++. Extended Kalman Filter (EKF) is a nonlinear version of the Kalman Filter, which is an algorithm that uses a series of measurements observed over time and help us to track the position of objects.

The process is as follows. We predict the position of the object after a period of time Δt, and then we compare that prediction with what the sensor (Radar or Lidar) measurement provides. The Kalman filter will put more weight on either the predicted location or the measured location depending on the uncertainty of each value. The flow can be seen in this diagram:

image1

Requirements

This project involves the Term 2 Simulator which can be downloaded here

This repository includes two files that can be used to set up and install uWebSocketIO for either Linux or Mac systems. For windows you can use either Docker, VMware, or even Windows 10 Bash on Ubuntu to install uWebSocketIO.

How to run the code

Once requirements are fullfield, you can run the code following the next steps:

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make
  5. ./ExtendedKF

Other Important Dependencies

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory: mkdir build && cd build
  3. Compile: cmake .. && make
    • On windows, you may need to run: cmake .. -G "Unix Makefiles" && make
  4. Run it: ./ExtendedKF

Code Style

This code is intented to follow the Google's C++ style guide.

About

Self-Driving Car ND @ Udacity - Term 2 Project 1 - Extended Kalman Filter Project


Languages

Language:C++ 98.5%Language:C 1.2%Language:CMake 0.2%Language:Shell 0.0%