josancamon19 / model_predictive_controller

Model Predictive Controller Project for the Self-driving Cars Nanodegree.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CarND-Controls-MPC

Self-Driving Car Engineer Nanodegree Program


Dependencies

Basic Build Instructions

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

Build with Docker-Compose

The docker-compose can run the project into a container and exposes the port required by the simulator to run.

  1. Clone this repo.
  2. Build image: docker-compose build
  3. Run Container: docker-compose up
  4. On code changes repeat steps 2 and 3.

Tips

  1. The MPC is recommended to be tested on examples to see if implementation behaves as desired. One possible example is the vehicle offset of a straight line (reference). If the MPC implementation is correct, it tracks the reference line after some timesteps(not too many).
  2. The lake_track_waypoints.csv file has waypoints of the lake track. This could fit polynomials and points and see of how well your model tracks curve. NOTE: This file might be not completely in sync with the simulator so your solution should NOT depend on it.
  3. For visualization this C++ matplotlib wrapper could be helpful.)
  4. Tips for setting up your environment are available here
  5. VM Latency: Some students have reported differences in behavior using VM's ostensibly a result of latency. Please let us know if issues arise as a result of a VM environment.

Code Style

Please (do your best to) stick to Google's C++ style guide.

Project Instructions and Rubric

Note: regardless of the changes you make, your project must be buildable using cmake and make!

More information is only accessible by people who are already enrolled in Term 2 of CarND. If you are enrolled, see the project page for instructions and the project rubric.

About

Model Predictive Controller Project for the Self-driving Cars Nanodegree.

License:MIT License


Languages

Language:C++ 82.5%Language:Fortran 11.4%Language:C 2.2%Language:CMake 2.0%Language:Cuda 1.1%Language:Makefile 0.3%Language:Ruby 0.2%Language:Shell 0.2%Language:Python 0.1%Language:JavaScript 0.1%Language:CSS 0.0%Language:Dockerfile 0.0%