Back to Projects
PRJ/Project

Autonomous Racecar & Real-Time Operating System

Won 1st place — custom RTOS, sensor fusion, and CAN-networked autonomous drive

CFreeRTOSCANRTOSSensor FusionWi-FiCustom differential drive racecarTM4C123 (ARM Cortex-M4)LiDARIR sensorsIMU

Overview

Designed and built a custom autonomous differential-drive racecar that won 1st place against 12 teams. The system runs on a custom preemptive RTOS kernel and navigates using multi-rate sensor fusion of LiDAR, IR, and IMU data.

Real-Time Operating System

Built a preemptive RTOS kernel from scratch featuring:

  • 8-level priority scheduling with PendSV context switching
  • Blocking semaphores and SVC process loader
  • FAT file system for diagnostic data logging
  • Concurrent RTOS threads with <1 µs jitter

Autonomous Navigation

Multi-rate sensor fusion combines LiDAR, IR, and IMU data as concurrent RTOS threads to navigate the racetrack. PD motor control maintains precise speed and heading.

Communication & Logging

Dual-board CAN communication links the two microcontrollers. A Wi-Fi server handles data logging and start/stop status acquisition remotely.