Car-Model_Predictive_Control

View the Project on GitHub

Project 5 report

The following requirements are answered in this document.

Compilation

Your code should compile.

Code must compile without errors with cmake and make

Code compliles succesfully

Implementation

The Model

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

State, actuators and update equation are implemeneted into the code. The followed steps can be summarized as:

Timestep Length and Elapsed Duration (N & dt)

Student discusses the reasoning behind the chosen N (timestep length) and dt (elapsed duration between timesteps) values. Additionally the student details the previous values tried

The chosen N and dt values are 10 and 0.1 respectively. For the choice there are tradeoffs. Large N and small dt are favourable at the expense of increased computanional cost. However, there is no point in increasing N too much as the information in the further future is less important.

Polynomial Fitting and MPC Preprocessing

A polynomial is fitted to waypoints.

A 3rd order polynomial fit is applied. That value for the order is a good compromise between accuracy for the prediction without getting in too much complexity and possibly overfitting.

The points for the fitting function are the transformed track points relative to the car’s currnet position and angle.

Model Predictive Control with Latency

The student implements Model Predictive Control that handles a 100 millisecond latency. Student provides details on how they deal with latency.

Latency is taken into account by using the actuator values that are predicted not for the current moment but for a future moment equal to the latency value. That’s the reason the solution return the values at one time step in the future.

Simulation

The vehicle must successfully drive a lap around the track.

No tire may leave the drivable portion of the track surface. The car may not pop up onto ledges or roll over any surfaces that would otherwise be considered unsafe (if humans were in the vehicle).

The car is driving safely around the track. A reference speed of 80mph is applied.