The following requirements are answered in this document.
Code must compile without errors with cmake and make
Code compliles succesfully
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:
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.
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.
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.
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.