HERE | This google doc is where I recorded the entire process of this project. Inside I've written down a day-to-day account of all of our classes, including my sketches and code.
This idea combines a funnel with a spinning wheel to seperate the individual skittles. You will pour a bag of skittles on the top of the funnel. At the bottom of the funnel, a spinning disk with a small hole will continuously spin and drop skittles one at a time. It then goes over a sensor, which identifies the skittles and moves the ramp using the servo at the bottom. Finally, it drops the skittle into one of the sorted boxes. HERE
Initially, the colored skittles which are held in the charger drop into the platform attached on the top servo motor.
Then the servo motor rotates and brings the skittle to the color sensor which detects its color.
After that the bottom servo motor rotates to the particular position and then the top servo motor rotates again till the skittle drops into the guide rail.
The skittles are dropped into a funnel which goes into a continuous rotation servo. The servo is rotating a feed wheel. They are predefined spots in this feed wheel which fits one skittle.
The skittle is then scanned using a color scanner, and a light will show to display what color the machine has identified with the skittle.
The feeding tube then rotates itself to the correct position, and the skittle is dropping in its appropriate position.
3 Main Functions:
Isolate the skittle from the funnel.
Analyze and detect the color using the RGB color sensor.
Move the chute into the appropriate bin.
Today we finished our prototype on the first function of our skittle sorter. Our skittle sorter uses a funnel to load the individual skittles. Then a circular disk with a hole moves one skittle out of the funnel, separating it from the rest. The platform for the skittle to lay on is elevated, and it moves onto the area where the skittle is going to be analyzed.
Today we finished our prototype on the second function of the skittle sorter. Our skittle sorter now isolates each skittle and uses an RGB sensor to identify the correct color of the sensor before dropping it onto the slide. Inside the code, it tells me whether it correctly identifies the skittles color or not.
Today we completely finished our prototype by having the skittle be transported into the slide, and the slide moving so the skittle goes into the correct bin. The slide has a wide back to catch the skittle, and slowly funnels out onto the bins.
The funnel is the first step in the journey of the skittle sorter. I 3D printed our funnel using a 3D model I made inside Onshape. There were several versions of the funnel, all to try to reduce the amount of clogging the skittle experience. The skittles stack one by one into the long shaft, waiting to be seperated by our singularizer.
The grabber is the second step in the journey of the skittle sorter. The grabber's main purpose is to take one skittle from the funnel at a time, and move them to be sensed by the sensor. The grabber is moved by an angle servo placed adjacent to the runway of the skittle. It uses four angles to move the skittle to the sensor and then to the slide.
The sensor is the third step in the journey of the skittle sorter. It works closely with the grabber, as the grabber moves the skittle over the sensor so the sensor can identify its color. The sensor does this by recongizing the RGB colors through its camera, and determines what color the skittle is depending on the values of the RGB.
The ramp is the fourth step in the journey of the skittle sorter. After the grabber has moved the skittle pass the sensor, the skittle then drops onto the ramp, which turns to a certain angle depending on the color that the sensor identified earlier. The ramp is able to do this because of an angle servo placed at the bottom of it. The angles of the servo are nested inside of if statements and will only run if the sensor identifies a color.
The bins are the final step of the journey of the skittle sorter. After the skittle lands in the slide, the slides transport the skittle into its appropiate bin. Penny and I made the bins deep enough to minimize the skittles bouncing out of the bins. Also, some bins require backboards in order for the skittle to successfully land in the bins.
This project was undeniably the most techinal and stressful project this year. This project required the most precise construction and coding to ensure that everything could run smoothly. Each part of the sorter had to work well in order for the entire sorter to overall function. This project required the most debuggging, coding, use of Onshape, and 3D printing. Other projects like the Rolling Lantern Bot only had code for the movement of the robot (mine also had code for the lights), where as this project need the code to move two servos, and the massive groups of if/else statements to direct the skittle. We also had to calibrate the sensor, which we had to figure out almost entirely on our own. This project also required us to laser cut more smaller, intricriate pieces. Shapes like the slide, the bins, and the runway for the skittles are all examples of this.
One major challenge that we had to overcome in order to complete the project was skittles clogging in the funnel. In the early stages of prototyping, the entrance of the funnel would clog because 2 or more skittles would try to enter at the same time, and subsequently block the entrance of the funnel. In order to resolve this, I had to change the diameter of the funnel, and add a circular descent in order to reduce the likeliness of clogging. In total, there was around 3 to 4 different prototypes made to find the perfect funnel.
I am most proud about the compact design of our skittle sorter, the shape and structure of our bins, and the ablilty to accurately sense colors. Our skittle sorter is able to complete all of the required tasks while being one of the most smallest designs in the class. I also love the color and artisitc choice done by my partner, Penny. Our bins are made into a pentagonal shape due to the shape's sturdiness, and the ablity to connect them seemlessly and still give a curved shape. Finally, I am most proud of our sensor, as I was the one who mainly worked on it. Its ability to sense the distinct colors works really well.
HERE | This google doc is where I recorded the entire process of this project. Inside I've written down a day-to-day account of all of our classes, including my sketches and code.
Onshape is an online digital platform that allows the user to create 2D or 3D objects. I used Onshape to digitaly fabricate all of the exterior walls of my robot. I implemented finger joints on all 90 degree angles, to ensure the structure of the robot and to improve its overall design.
The use of fabrication tools was a major part in the development of my robot. The main two tools I used was the laser cutter and the 3D printer. The laser cutter allows precise and intricate 2D models to be made with wood or cardboard. I used this to cut my wheels(which were wood) and the walls of my robot(which were cardboard). The 3D printer allows creative 3D constructs to be made out of plastic. I used this to make the holders of my servos and bell bearing caster wheels.
HERE <------ Contains my final code for my robot
I used several components to properly build my code, including functions and if/else statements. I had several functions that allowed me to make my code more efficient and understandable. The functions color chase and rainbow cycle were both input functions that allowed for special light shows on my robot. I used the if/else statements to efficiently control my robot through buttons. For each button on the controller, I had an if statement stating that if this button was pressed, the robot would do this action. I had 4 if/else statements going forward, backward, left and right. I also had an if/else statement if no button was pressed. For my lights, I had additional buttons and statements that allowed me to activate them on command.
In this video, I am racing one of my classmates, Timothy Whitaker, using my robot. The video shows me racing in a tight course. In the end, I beat Timothy in a fair 1v1 contest(I didn't get a 3 second head start).
My robot tends to be inconsistent when I want it to move directly straight. I believe this is largely due to the weight of my robot and the wheels not getting enough power. In the future, I would reduce the size of my robot, to ensure more consistent patterns. This change could also affect the speed of my robot, causing it to move faster. Overall, I would give my robots ability to go straight a 6/10
My robot is very reliable when referring to turning. It turns relativity fast given its size, and has a fast respone time. I opted to use a tank turn, rather than a normal car turn because of my robot's size. It's downside is that it has a hard time turning in tight spaces. To improve this, I would make the robot smaller overall, so I would be able to add a normal car turn, making tight corners easier to navigate. Overall, I would give my robot's turning ability a 8/10
How has this project compared to other projects that you have done in your other classes? Be descriptive and insightful.
This project has been, by far, the most challenging engineering project over the course of my elective. This project tested my listening skills, troubleshooting, improvisation, and creativity. I needed to quickly learn how to use platforms like Onshape and perform skilled tasks like sautering. There were many times throughout this project where something went wrong, and I had to quickly find the problem and either solve it, or find an alternative, or I would get left behind. Not everything went according to plan throughout this project, so I had to come up with quick solutions on the fly in order to make the deadline assigned for us. Lastly, we neeeded to be creative in the design and functionality of our robot. We each needed new and creative builds, with vibrant colors and lights, that showcased each of our own individuality.
What would you change about your robot if you were to do this project again? Be very descriptive. How could you improve it moving forward.
The main issue/regret I had while making my robot was the size. The large size of the robot restricted a lot of movements and made a lot more things more difficult. If I had this information going back into the project I would have greatly reduced the size, and changed the design to something similar of a speed boat.
What is the top skill that you think you know well enough that you could teach others and why?
My most valuable skill, or the skill I believe I excelled the most at was my Onshape capablilities. I believe I adjusted and adapted very quickly to the platform and can now teach it to a begineer/intermediate level.