Adaptive Cruise Control

As the final project for my “EECS 461: Embedded Control Systems” course at University of Michigan, I worked with a partner to develop auto steering and adaptive cruise control capabilities for a virtual automobile. Using Matlab, Stateflow, Simulink, and auto-generated c-code, we developed control programs to enable the vehicle to automatically stay on track of a winding virtual road, and maintain a constant speed. The virtual vehicle also used a CAN bus to broadcast and receive the coordinates of the other lab groups allowing it to maintain a safe following distance from other vehicles. Finally, the system was controllable with a motorized “haptic wheel”, which we coded to replicate the forces felt when using a real car’s steering wheel.

The system was primarily running on the SK32 development board, a common microprocessor for automobile development. Though the visual simulation and road map were pre-existing, we were responsible for implementing basic physics (a “bicycle model”) for the virtual vehicle which would enable it to steer realistically and using PID control for the haptic wheel to ensure that the physical system was stable.

Previous
Previous

Digital Reverb Pedal

Next
Next

Audio Deconvolution Tool