Skip to content

In this project I implemented the Unscented Kalman Filter to estimate the state of multiple cars on a highway using noisy lidar and radar measurements.

Notifications You must be signed in to change notification settings

ahmedmoawad124/Tracking-multiple-cars-on-the-highway-using-UKF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Tracking-multiple-cars-on-the-highway-using-UKF

In this project I implemented the Unscented Kalman Filter to estimate the state of multiple cars on a highway using noisy lidar and radar measurements.

The Kalman Filter algorithm will go through the following steps:

    1. first measurement - the filter will receive initial measurements of the car's position relative to our car. These measurements will come from a radar or lidar sensor.
    1. initialize state and covariance matrices - the filter will initialize the car's position based on the first measurement.
    1. then the car will receive another sensor measurement after a time period Δt.
    1. predict - the algorithm will predict where the cars will be after time Δt using Unscented Kalman filter.
    1. Measurement update – the measurement update step depends on sensor type. If the current measurements are generated by a Laser sensor, then we just apply a standard Kalman filter to update the car’s state. However, Radar measurements involve a non-linear measurement function. So, when we receive Radar measurements, we may use Unscented Kalman filter.
    1. then the car will receive another sensor measurement after a time period Δt. The algorithm then does another predict and update step.

image

Motion Models

there are many models including:

  • constant velocity model (CV).
  • constant turn rate and velocity magnitude model (CTRV).
  • constant turn rate and acceleration (CTRA).
  • constant steering angle and velocity (CSAV).
  • constant curvature and acceleration (CCA).

Each model makes different assumptions about an object's motion. In our project, we will work with the CTRV model. With the assumption that the velocity is constant, you’re simplifying the way vehicles actually move because most roads have turns. But this is a problem because a process model with the assumption of constant velocity and directions (assumes objects can move straight) will predict turning vehicles incorrectly.

image

The state vector:

image

image

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./ukf_highway

About

In this project I implemented the Unscented Kalman Filter to estimate the state of multiple cars on a highway using noisy lidar and radar measurements.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published