Overview
A custom autonomous differential-drive racecar that won 1st place against 12 teams. The system runs on a preemptive RTOS kernel built from scratch and navigates the track using multi-rate sensor fusion of LiDAR, IR, and IMU data.
The Problem
The race is a head-to-head autonomous sprint: stay on the track, hold speed and heading, and never crash, all under hard real-time deadlines. Rather than run the driving logic on a bare-metal superloop, I built a real operating system underneath it, so perception, control, and communication could each run as independent, priority-scheduled tasks with predictable timing.
What We Did
Preemptive RTOS kernel
Built from scratch: 8-level priority scheduling with PendSV context switching, blocking semaphores, and an SVC process loader. A FAT file system logs diagnostic data, and threads run with <1 碌s jitter.
Autonomous navigation
Multi-rate sensor fusion combines LiDAR, IR, and IMU as concurrent RTOS threads to track the course. A PD motor controller holds precise speed and heading through the turns.
Dual-board CAN communication
A CAN bus links the two microcontrollers, splitting perception and control across boards so neither loop starves the other.
Wi-Fi telemetry & control
A Wi-Fi server handles remote data logging and start/stop status acquisition, so runs can be triggered and reviewed without touching the car.
Demo
In the heat of the race we forgot to hit record, but trust me: Tweinstein was all overtakes and inside-lane hugging. This clip runs an earlier controller that we improved a lot for the final.
Gallery




Results
- 馃弳 1st place out of 12 teams.
- A from-scratch preemptive RTOS running the full autonomous stack (perception, control, and networking) as concurrent tasks.
- Honest limitation: tuning the multi-rate fusion and PD gains was heavily empirical, and the control loop is calibrated to this specific track.
