/CarND-PID-Controller-Term2-Project4

Use PID Controller to control the steering angle of car on track

Primary LanguageC++MIT LicenseMIT

PID Controller Project

Udacity - Self-Driving Car NanoDegree

Overview

The purpose of this project is to build a PID controller which will control the steering of the car. Input to this PID controller will be the Cross-Track Error (CTE), based on the CTE value, we will update the PID parameters (Kp, Ki, Kd) which will help keep the car on track. Udacity Simulator will be used to evaluate the working of this PID Controller.


Vimeo Link

Discussion

The PID parameters were tuned with the help of Twiddle and some manual adjustments. After several trial-and-errors, the Kp, Ki, Kd values which would give the best performance were choosen. The project can be further improved by applying PID not just to steering but also for the throttling.

Dependencies

There's an experimental patch for windows in this PR

Basic Build Instructions

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