Green Lemons Robotics
FTC #16468, six seasons, one team built from scratch
FTC #16468 · 2019 – 2025 · founder & technical lead
I started Green Lemons in 2019 and led it for six seasons, growing it to fourteen members and directing recruiting, training, and technical direction. I wrote the autonomous control software in Java: vision-based navigation, odometry, and path planning.
Why this is on a quant’s website
Two reasons. The autonomous period is a control and estimation problem on a hard deadline, and OPR is a statistic.
OPR, Offensive Power Rating, is a least-squares estimate. Alliance scores are observed and individual contributions aren’t, so you solve for the per-team contribution vector that best explains the observed alliance totals across the match schedule. Finishing #1 on it among 8,000+ teams means the model attributed more scoring to this robot than to any other, over a season of matches nobody got to choose.
The autonomous stack was a real software problem. Thirty seconds, no driver input, and a robot that has to localize itself, decide, and act. Vision-based navigation meant turning camera input into a position estimate good enough to act on, and robust enough not to fall apart under a different venue’s lighting. Odometry meant fusing that against wheel and encoder state when vision dropped out. Path planning meant getting from that estimate to motion inside the control loop’s budget.
The same problem came up again at Delaware in summer 2024, while I was still running the team, when I built a SLAM pipeline for a research group there. The FTC version was the hand-rolled one. ROS 2, Cartographer, and Nav2 are what it looks like with real tooling under it.
I still care about the failure modes. Sensor input is noisy, occasionally corrupt, and never quite what you calibrated against. The system has to keep working when a component returns something wrong instead of acting on it confidently. And there’s a gap between the practice field and the competition field that behaves a lot like the gap between a backtest and live execution.
The part that wasn’t software
Six seasons, from nothing to fourteen people. Recruiting, teaching people who had never built anything before, keeping it going through seasons that went badly, and handing it off still working. Running a team for six years is a different skill from writing its code.