Facial recognition model is a coding project we had in engineering. It was to create an AI model that can determine who the face in the image is with high accuracy. Each person in the class created it by themselves in google celebratory, and the images we used were taken and labeled by ourselves as well.
Funnel: The skittles' journey starts in the funnel, which is an object with a wide opening on the top that tapers down to a narrow tube. The funnel we made was 3d printed and was designed in an online CAD tool named Onshape.
Grabber: The Grabber was a circular piece of cardboard with 3 similar ones connected to it, so the skittle is safely transported to the sensor. The grabber is also connected to an automatic servo that rotates.
Servo: The servo is connected to the grabber and moves the skittle to the hole. The servo is also connected to the microcomputer called a pico. The microcomputer contains code that tells it what to do. (picture below)
Stopper: The Stopper is an extra functionality that is unique to our Skittle Sorter. It is a servo with a piece of cardboard that stops the skittle. Once the sensor sends its output, it lets the skittle go to the ramp
Sensor: A special part of the machine that can sense colors. The sensor sends its output to the pico and allows us to make predictions about the color of the skittle. It is connected to the pico through jumper wires. The code for the sensor is shown below.
Ramp: The ramp is connected to a servo. Once the servo moves after the skittle color is decided. The ramp moves to the correct bin, and it guides the skittle.
Servo: This servo is connected at the bottom of the ramp. Once the code decides the color of the skittle, this servo moves the ramp towards the correct bin. The code for this is shown below.
Bins: The bins are the final stage, the bins are color coordinated. Once the skittle has gone through the sensor and ramp, it reaches its bin and is done.
The Servo is simply told to move for a specific amount of time so that it doesnt overflow, and then is told to stop.
The Sensor uses these parameters to determine its color. It receives info from the hardware to predict correctly.
This code is also used with the sensor. However, once the sensor determines the color it tells the ramp to move to specific angles. Each angle is coordinated to the right bin
After the other 2 parts of the machine, the skittle goes down the ramp and hits another ramp which is controlled by a servo and sends it to the correct bin.
After being singularized the skittle reaches the sensor and stopper. The stopper keeps it in place for the sensor to send its RGB to the code. the code determines the color and tells the stopper to release it.
After being poured into the funnel it keeps stopped by the singularizer. The singularizer takes each skittle individually and sends it down the rest of the machine. This is so the sensor and ramp and be specific for each skittle.
easy to make cardboard with a hole in the top that drops down to a rotating slide into bins
simple and tiny with a slide that rotates 360 degrees to drop them into cups
Stationary with multiple tubes to sort them into different bowls
CCONSTRAINTS FOR BRIEF
gotta do it as fast as a human
gotta be at least 85% accurate
Using the Onshape online tool I fabricated the pieces of my robot to build it with perfect measurements. In Onshape you use shapes for example elipses, lines, and rectangles to create the desin you want. I added things called finger joints to my nshape designs to make it easier to connect the pieces during the assembly of my robot. Using the laser cutter I can cut out the designs in pieces of wood or cardboard. In Onshape you can also created 3d designs aswell, I used the 3d printer to create a ball bearing holster for greater movement in m robot
Functions that are in my code are the function for color chase for my neo pixels, this would make the neopixels do a pattern in multiple different colors
If statements are used like the If statements for the bluetooth module, if you press a button on the bluetooth application it sends a message to the pico, the code uses if than statements to decide what to do based on what message is received.
My robot went Incredibly straight and fast, only when all servos are functional. Due to having 4 servos and being all wheel drive my robot went straight quite well but having more servos increased complications with wiring allot and often a wheel would stop working because the robot was shaed too much and I would have to trouble shoot it allot for it to work well. When 1 wheel wasnt working it would drift a bit and wouldnt go as fast.
My robot due to 4 wheel drive turned very fast however it did have to move back a little when turning. It also struggled to turn when a wheel wasn't working, just like moving straight. It would urn without a wheel but it would take double the time.
This project was the first time we had to use all of our skills in one project while learning new skills. We had much more wiring and coding than any other project in this class, and we have never had to digitally design as much stuff as this project.
I would stay more on task and most especially care far more about the organization and care of my wiring. It caused more problems than it saved time for. If I had stayed on top of keeping my wires organized it would have been far easier. Other than that maybe the paintjob could have been better.
Troubleshooting, after having so many problems with my wiring and hardware that even the teachers couldn't figure out, I feel like my trouble shooting ability is far better now than it was before. I also had to trouble shoot my code allot because I was behined at some points and had to figure things out on my own.