Our project, inspired by the UMass Makerspace, is an AI-powered hardware sorter designed to relieve users from the tedious task of sorting screws. This device uses a belt feed, vibrating channel, and artificial intelligence to quickly and accurately identify and organize screws, streamlining the process.

A mix of fasteners is poured into the channel that houses the first conveyor belt. A DC gear motor powers a turning spool that drives the 3D-printed, TPU belt. The first conveyor belt is inclined, allowing fasteners to drop off into the vibrating part-alignment channel. This V-shaped channel, equipped with two vibrating motors, uses side vibrations against a steel sheet to orient and separate the fasteners. To enable free vibration, we designed a suspension system consisting of two posts connected to two wires by eye bolts.

A second conveyor belt runs under a camera with a fine tuned object detection model and delivers the fasteners to the parts-library turntable. This turntable is a rotating cylinder divided into twelve sections, each housing parts ranging from M2 to M8, along with an extra bin for unidentifiable parts. After each part is scanned, the AI model categorizes it based on thread pitch. Then the cylinder rotates the required amount, depositing each part into its designated bin.

Our system is controlled by an Arduino Uno. It consists of 2 vibratory motors, two geared steppers and a continuous rotation servo. We have a motor driver coupled with H bridges for motor control. Motors are powered using 2 channels, one 5V and one 12V.

The main issue we faced was training a AI model. Since we did not opt to use an existing model for classifying screws and there was no pre-existing dataset for it, we had to create one ourselves. This ended up taking quite a considerable amount of time, and we had to choose an amount to cut off our collection at because we had to hand label everything. Even though we were using a depth camera, we ran into an issue with driver support. On Mac, which was running all of the code it could only get the IR camera feed, on Windows it could only get the RGB camera feed, on Linux you could get all feeds but it would lock up the camera and you could not get any of the other feeds unless you unplug the camera from the computer. While we were able to train a model, it was unable to detect screws. Additionally, the alignment of sorting components was challenging as the designs for each portion of the sorter were changing rapidly throughout the hackathon. And as an attempt to lessen the required amount of training we wanted the data to be specific to the exact setup of the machine.

We are proud that we were able to create a functional library system and sorter. We initially anticipated that the most challenging task would be dispensing fasteners one at a time; however, our machine does this with fairly high accuracy, and we have implemented a failsafe which will dump unrecognized hardware into a bin for resorting.

Our team struggled from a lack of communication, which impacted our workflow and overall efficiency. To begin training the model as quickly as possible, we tried to CAD as little as possible to reduce print times (i.e. waiting for printers to become available and waiting for the parts to print). In hindsight, more initial planning in CAD could have provided a clearer, more structured blueprint, potentially helping us avoid some of the obstacles we encountered.

Built With

Share this project:

Updates