This project involved designing and building an autonomous robot to compete in the RoboCup competition. The robot was tasked with navigating an arena, locating and collecting weighted objects, determining whether each weight was metal or plastic using an inductive proximity sensor, and returning accepted weights to a home zone identified by colour detection — all without any human input during a match. Each team used Teensy 4.0 microcontroller, and an array of actuators and sensors. This produced many different designs and strategies for the final competition.
With six ToF sensors running simultaneously, a key challenge was scheduling each sensor to avoid crosstalk. Multiple ToF sensors operating in close proximity can interfere with each other's infrared pulses, producing false readings. Careful timing and sequencing was required, alongside individual calibration of each sensor to account for manufacturing variance and mounting position, ensuring navigation, object detection, and weight detection remained reliable throughout a match. Integrating the inductive proximity sensor into the sorting pipeline required tight coordination between detection and the physical gate mechanism, consistently distinguishing metal from plastic weights under competition conditions. Beyond individual subsystems, tying navigation, object detection, pickup, sorting, and drop-off into a coherent autonomous loop on the Teensy 4.0 was a significant firmware challenge. The state machine had to be robust enough to handle edge cases like missed detections or unexpected object positions without the robot getting stuck. Finishing 6th overall, the competition validated the core architecture while highlighting areas for refinement, particularly around sensor scheduling and state management robustness under real-world conditions.