Kaarthic P.Portfolio

Garbage Collector and Sorter Robot

The objective of this design project was to design an autonomous robot using Lego NXT Mindstorms that was capable of detecting garbage in its vicinity and sorting it after grabbing it with its claw. As this was a complex problem, it had to be broken into smaller functions: claw design, searching method, and lifting and sorting method.

Claw Design and Lifting Mechanism

The claw had to serve two purposes: grabbing the garbage in its claws and lifting the garbage to a certain height so that it can be sorted. The challenge was to accomplish this using one motor. Several claw designs were considered such as horizontal and vertical clasping claws and vertical crane type claws. Horizontal clasping claws meant that any vertical motion would be difficult, and the crane claw would be hard to control motion, so the vertical clasping claw design was chosen and an appropriate lifting mechanism was designed.

The lifting mechanism would be connected to the claw by using a 3D printed rack and pinion system that had some resistance to it. The mechanism was designed such that if a quick, large force were applied, the claw would close, but any small and steady force would cause the arm to rotate backwards, lifting the garbage.

Sorting Mechanism

Two different methods to sort garbage were explored. In both cases, the colour of the garbage is detected using a colour sensor. The first method was to drive the robot to a garbage station at a predetermined location, deposit the garbage in the correct bin, then continue looking for more garbage. The second method was for the robot to carry the garbage station behind itself and the arm to rotate around and drop the trash into the right colour coded bin. The advantage of the second method was that it would be more time efficient, since the robot would not have to drive to the bin each time. However, a mechanism to rotate the arm had to be designed to make this method possible.


A gear system was used to rotate the arm backwards to the bin. The amount of rotation was determined by the detected colour of the garbage so that it could be sorted into the appropriate bin. A challenge with this mechanism was that the weight of the arm caused the structure to bend forward, causing the gear teeth to disengage unexpectedly. This issue was resolved by making the gears thicker and reinforcing the platform with more Lego so that it would be more rigid.

Searching Method

This robot was programmed in RobotC and a method was written to detect garbage using a sonar sensor. Upon starting the program, the robot would turn slowly, making one revolution, while trying to detect an object around it. If an object is detected, the robot will travel to it, and pick up and sort the garbage. If an object is not detected, the robot will travel forward for a few seconds then search again until it finds garbage. As this experiment was conducted on a white board with a black border, a light intensity sensor was used to turn the robot around if it was headed off the board.

The final challenge of this project was to ensure the lifting and sorting mechanisms worked in unison with the searching method.

The robot detects the object in front of it, causing it to travel to the object slowly, then lift it and drop it in the bin designated for red. Finally, it brings the claw back to its original position so that more garbage can be collected.