An Arduino-based vehicle using ultrasonic ranging and closed-loop PID control to sense its surroundings and regulate its own speed — the same sensor-fusion and control-loop architecture behind real automotive driver-assistance systems.
Can an Arduino-based control system, using ultrasonic distance sensing and closed-loop PID feedback, autonomously detect obstacles and regulate a vehicle's motor speed to avoid collision?
Modern automotive Advanced Driver Assistance Systems (ADAS) — autonomous emergency braking, adaptive cruise control — are built on exactly this architecture: a ranging sensor feeds a closed-loop controller that continuously adjusts actuation in real time. Building a simplified version from scratch, at the level of individual sensor calibration and controller tuning, is a direct, hands-on route into how those production systems actually work under the hood.
The simulated vehicle successfully detected obstacles via ultrasonic ranging and responded in real time. Full closed-loop PID control was validated separately on the motor speed-control exercise, but had to be disabled in the browser-based Tinkercad simulation itself — its physics engine couldn't run the control loop fast enough in real time, a practical lesson in simulation-platform limitations rather than the control theory.
The core loop practiced here — measure, compute an error signal, actuate, repeat — is the same closed-loop control principle used throughout engineering, including the PID-controlled heater surface temperature system built for the DPhil's experimental wind tunnel. It also gave an early, practical grounding in sensor calibration and multi-system serial communication that carried directly into later instrumentation work.