The goal of this project is to design and build a Big Autonomous Recycling-Garbage Extractor (BARGE), which is able to collect and properly dispose of Gunk and Refuse which is Randomly Bobbing and Getting Everywhere (GARBAGEs). The GARBAGE's are represented by colored foam balls, and the BARGE will explore the field shown below to collect and dispose them in Recycle Centers A and B as well as Landfill Centers C and D.
Game Strategy & Robot Overview
Since balls deposited into the recycling centers are worth significantly more than balls in the landfills, it was decided to only deposit recycle items while jettisoning any landfill items that the robot collected. And to increase the number of recyclable items collected, it was decided to spend a significant portion of the game waiting at one of the 2 catch points (CP) on the field, where recyclable objects are periodically dropped onto the field. In addition, there are fans placed on the field to constantly blow the balls around. So while the robot was waiting at the catch point, it was oriented in the direction of one of the fans, so that balls would also be blown into the robot's ball collector mechanism. The limited movement of the robot also aided in avoiding unexpected collisions with another robot on the field.
In terms of mechanical design, it was decided to create a simple yet robust platform to mount all components. The drivetrain and ball collecting/dispensing mechanisms were also designed to be as simple as possible. This was so that we could focus more on electrical design and the various sensing modalities.
The team decided to heavily invest in the sensing and control for line-following, since that is how the robot would travel between the catch points and recycle centers. The line was detected using 2 inductive sensors which sensed the AC current from the wire placed directly underneath the line. A proportional control loop was implemented in software to help the robot smoothly follow the line. Effort was also placed on detecting robot collisions in various situations: limit switches in the front and rear were used to detect physical collisions and an IR reflector-emitter pair was used to distinguish between the wall and another robot by detecting the reflective tape around the robot. When it was noticed that off-center collisions were not always noticed by the robot, it was decided to implement a software loop to post collision events whenever the PI control loop for one of the motors requested 100% duty cycle for more than 200ms. This covered the remaining edge cases, and the robot was able to detect a collision in almost any instance. Lastly, and IR detector circuit was used to detect the IR beacons on top of the recycle and landfill centers. This aided the robot in finding the line as well as aligning with the recycle centers.