Competition / Aug to Dec 2025
IEEE RAS Robotathon 2025
Lead Programmer for a first-place autonomous robot, building its sensing and navigation pipeline across a cross-disciplinary team.
Gallery

Overview
I was Lead Programmer for our IEEE RAS Robotathon entry in the fall 2025 semester. The robot took first place and also won Most Creative Code.
My work covered the autonomous navigation pipeline, the path from raw sensor readings to motor output, and sensor integration and calibration across the whole platform.
The problem
A competition robot has to complete a course on its own, with sensors that report the world imperfectly and a deadline that does not move. The difficulty is rarely any single component. It is that the components have to agree.
An IR sensor’s threshold depends on ambient light. A color sensor’s reading depends on how far it sits from the surface. A line-array reading is only useful once you know which of its elements correspond to being centered. All of that has to be established before navigation logic can be written against it.
Approach
I built the navigation pipeline around bang-bang control: the robot measures its error relative to where it should be, and responds with a discrete correction rather than a proportional one. Bang-bang is less smooth than a tuned PID loop, but it is far easier to reason about and tune under a deadline, and it degrades predictably when a sensor reading is noisy.
Sensing came from IR sensors, a line array, and color sensors, with motor drivers converting decisions into movement and Bluetooth available for control and debugging. Calibration was treated as part of the system rather than a setup step. The thresholds a sensor uses are as much a part of the robot’s behavior as the code reading them.
Working across disciplines
The team spanned software, mechanical, and electrical work, and the boundaries between them were where most surprises lived. Sensor placement is a mechanical decision that determines what the software can detect. Wiring and power are electrical decisions that determine whether a reading is trustworthy.
A large part of the role was staying in contact across those boundaries: asking what a mechanical change would do to sensor geometry before it was made, rather than discovering it afterward in the readings.
Result
The robot took first place in the competition and won Most Creative Code. The source is public.
What I learned
Calibration is not preparation for the real work; it is the real work. The navigation logic was comparatively short. What made it function was knowing precisely what each sensor reported in the environment the robot actually ran in, and that knowledge had to be re-established every time the hardware changed.