An open API service indexing awesome lists of open source software.

https://github.com/madhurjain/carnd-pid-controller-term2-project4

Use PID Controller to control the steering angle of car on track
https://github.com/madhurjain/carnd-pid-controller-term2-project4

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

## PID Controller Project
[![Udacity - Self-Driving Car NanoDegree](https://s3.amazonaws.com/udacity-sdc/github/shield-carnd.svg)](http://www.udacity.com/drive)

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.

[image1]: ./vimeo_link.png "Link to Vimeo"

---

[![Vimeo Link][image1]](https://vimeo.com/295058303)

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

* cmake >= 3.5
* All OSes: [click here for installation instructions](https://cmake.org/install/)
* make >= 4.1(mac, linux), 3.81(Windows)
* Linux: make is installed by default on most Linux distros
* Mac: [install Xcode command line tools to get make](https://developer.apple.com/xcode/features/)
* Windows: [Click here for installation instructions](http://gnuwin32.sourceforge.net/packages/make.htm)
* gcc/g++ >= 5.4
* Linux: gcc / g++ is installed by default on most Linux distros
* Mac: same deal as make - [install Xcode command line tools]((https://developer.apple.com/xcode/features/)
* Windows: recommend using [MinGW](http://www.mingw.org/)
* [uWebSockets](https://github.com/uWebSockets/uWebSockets)
* Run either `./install-mac.sh` or `./install-ubuntu.sh`.
* If you install from source, checkout to commit `e94b6e1`, i.e.
```
git clone https://github.com/uWebSockets/uWebSockets
cd uWebSockets
git checkout e94b6e1
```
Some function signatures have changed in v0.14.x. See [this PR](https://github.com/udacity/CarND-MPC-Project/pull/3) for more details.
* Simulator. You can download these from the [project intro page](https://github.com/udacity/self-driving-car-sim/releases) in the classroom.

There's an experimental patch for windows in this [PR](https://github.com/udacity/CarND-PID-Control-Project/pull/3)

## Basic Build Instructions

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