Autonomous Product Retriever

The team was assigned to develop an Autonomous Product Retrieval System for a hypothetical company, Buy More. The system was designed to navigate the warehouse, accurately identify packages using barcodes, and utilize the extracted information to efficiently relocate items to their designated locations.

Individual Contribution: The design, implementation, and testing of mobility an retrieval mechanisms

Mobility

In this project, mobility presented several challenges. The team considered three potential mechanisms for movement: treads, four wheels, and a two-wheel system with a front ball bearing. Ultimately, we decided on the two-wheel, ball-bearing configuration, which enabled the robot to execute 90-degree turns and optimize its path.

While we had settled on the mobility design, we faced a significant issue with straight-line movement. The motors provided with our kit, which had been reused from previous projects, had experienced performance degradation. As a result, each motor required different RPM inputs to maintain a straight trajectory. This proved challenging, as the motors continued to degrade during testing, requiring us to frequently adjust the input values throughout the project. Through extensive testing, the team identified patterns in the motors' degradation and their impact on RPM adjustments. This allowed us to fine-tune the inputs and ensure the robot moved as intended.

Barcdode Scanning

In order to accurately identify the package and its desired destination, the robot needed to be able to read the barcode on the side of the package. The barcode scanner worked by identifying the colors as it passed over the package, following this the robot would turn 90 degrees and proceed to pass the barcode storing each color in an array. This array was then cross-referenced with a database of possible locations and their respective barcodes to accurately determine the package’s destination. The team spent considerable time deliberating the placement of the barcode scanner, debating whether to position it at the front or back of the robot. We ultimately decided on the side as real estate on the front of the robot was limited.

The main challenge was ensuring accurate barcode readings given the sensor's height. To address this, we implemented an initial barcode detection followed by a secondary scan at a slower speed than the robot’s nominal movement. This approach enhanced the accuracy and reliability of the barcode scanning process.

Retreival

Retrieval was one of the simpler aspects of the project, as it required designing an arm to slide into the handles of the packages while bearing their weight. This component was relatively straightforward because our initial concept proved effective. We employed a rack and pinion mechanism to move the arm up and down, refining its default height to ensure it slid perfectly into the handle.

Succeeding in all of the assigned tasks and even taking a few bonus points.

Final Deliverable

Next
Next

3D Printer Architecture: From Physical to Digital