The goal of this project was to design and build an autonomous robot capable of completing a pick-and-place object sorting task on a T-junction course. The robot was required to navigate the course, identify specific parts using visual barcodes, and correctly place each object into designated zones, all within a strict two-minute timeframe. The robot operated using a Pixy2 camera for visual input, an Arduino UNO for control, and minimal actuators to ensure simplicity and efficiency.
To overcome the project constraints, the team implemented a streamlined yet effective solution centered around barcode-based navigation and modular programming.
The Pixy2 camera was utilized in both line-tracking and barcode-scanning modes, enabling the robot to interpret visual cues placed throughout the course. Each barcode triggered specific actions such as turning, gripping, or releasing, allowing the robot to operate fully autonomously without complex decision-making algorithms. The robot's behavior was controlled by a set of modular functions in Arduino code, simplifying development and debugging. A lightweight, 3D-printed gripper was designed using SolidWorks and actuated by a single servo motor, keeping the design compact and memory usage minimal.
To address power reliability issues encountered during testing, the team replaced the battery power with a continuous USB connection to ensure consistent performance. These combined strategies allowed the robot to complete its sorting task reliably within the two-minute time frame.
The final robot met all of its design goals and performed the sorting task with consistent reliability. It successfully
completed the entire operation in under two minutes without any delivery errors, demonstrating both speed and precision.
The barcode recognition and response system functioned accurately throughout the course, enabling smooth navigation and
correct identification of pick-and-place commands. The custom-designed gripper securely held each block and released them at
the correct drop-off points with minimal margin for error. Additionally, switching from battery power to a wired USB connection
significantly enhanced the robot's operational stability, ensuring consistent behavior over multiple runs.
A demonstration of the final robot in action can be viewed in the video included below.