/CarND-MPC-Project

CarND Term 2 Model Predictive Control (MPC) Project

Primary LanguageC++MIT LicenseMIT

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.

Rubic Points

  1. describes their model in detail. This includes the state, actuators and update equations.

The state consists of 6 components: x- and y-coordinates, car's orientation(psi), velocity, cross tracker error, and orientaton error. Actuators include the accelerate a and steering angle delta. The update rule is as following: update

  1. discusses the reasoning behind the chosen N (timestep length) and dt (elapsed duration between timesteps) values.

N = 10 and dt = 0.1. This indicates the MPC take 1 secound updating into consideration. I read this in the slack discussion channel.

  1. The preprocessing of waypoints, the vehicle state, and/or actuators prior to the MPC procedure.

The waypoints must be transformed to the cars persperctive. That means, it must be computed into car's coordinate system.

  1. details on how to deal with latency.

In the MPC there will be a variable defined as delay. 100ms latency means exactly 1 step delay in the N and dt setting. In this manner, the actuator will be used 1 step before to for the update equation.