I participated in Natcar with UCLA's IEEE student chapter in the Spring of 2016. The project focuses on PID control loops to make an autonomous car follow a line. The winners of the competition are those who complete the course in the fastest time. My source code for this project may be found here. Regrettably, I did not document most of the electrical work for this project.
The first part of Natcar involved several labs. These labs were the basic units of the car and made sure that each individual understood how the components worked before assembling the competition car. The unit tests included controlling a servo, designing and implementing a full-bridge motor controller, sampling from a line camera, and tuning an inductor to resonate with a 75kHz signal.
The servo control proved quite straight forward as the control signal is well defined and can be done quite easily using the Teensy digital signal generation class.
Designing a full-bridge proved challenging as this was the first time I worked with MOSFETs. With guidance from some officers, I learned how to understand the characteristics from datasheets and assembled an H-Bridge. The catch tot eh system was that the controller could not put out a high enough voltage for the n-MOS to switch so, instead, a BJT was used to pass the motor voltage for switching.
The line camera was an interesting experiment in exposure times and understanding how CCDs work.