An autonomous line-following robot built in C on Arduino that secured 1st place at the UofT Robotics Competition with a record 12-second track time.
DEMO VIDEO: https://drive.google.com/file/d/1ctZx75VyBEgTqT8ETy84PnAQ8FNwwCtq/view?usp=sharing
- 1st place — UofT Robotics Competition
- 12-second track time — fastest recorded run
- Microcontroller: Arduino
- Language: C
- Communication: UART debugging
- Design: Fusion360 (chassis)
- Wireless: Bluefruit LE
The robot uses an array of IR sensors along its underside to detect the line on the track. The control algorithm reads sensor values continuously and adjusts left and right motor speeds to keep the robot centered on the line.
The key challenge was tuning the control algorithm to be aggressive enough to handle sharp turns at high speed without overshooting — getting this balance right was what pushed the track time down to 12 seconds.
- Optimized control algorithm in C to process IR sensor data with minimal latency, critical at high speeds where reaction time determines whether the robot stays on track
- Diagnosed and resolved UART communication failures between sensor array and controller under competition pressure
- Iterated on motor speed curves to find the right balance between cornering aggression and stability
UofT Robotics Competition, competed against teams across the university, placing 1st with the fastest recorded track time