Project Poseidon
Overview
For the Mechatronics class I took in the Fall of 2021, I was placed into a group of three students and tasked with constructing a robot for the Cube Craze robot competition sponsored by ASML. The competition consisted of 50 teams and involved designing a robot that could bring more cubes to their half of the board than the enemy robot in under a minute. I took charge over the electrical design of the robot and made sure that it was wired to be the most efficient in terms of spacing and facilitating the coding. I also assisted in remaking the chassis to optimize weight and increase the speed using Fusion360. Overall, we ended up placing top of our group in the preliminary stages and then 7th overall in the playoffs.
Design
Mechanical
Electrical
Software
Manufacturing
For the project, we were given a budget of $40 along with a starting kit of materials which included QTI sensors, a color sensor, an acrylic sheet, 2 wheels, an Arduino, and various other electronic components. We were also given a 4-pack of AA batteries for the circuit and a 9V battery for the Arduino. Below is a bill of materials of items we ordered that were not included in our initial starting kit of materials.
The first step in our manufacturing process was to laser cut the new chassis from the acrylic sheet. We created a CAD model using Fusion360, which can be downloaded at the bottom of the page under “Files”, to generate a drawing file that we could bring to the Cornell Rapid Prototyping Lab for laser cutting. I created the CAD models for the sensors and the servo motors to allow us to have a full understanding of how our components were going to interact. The drawing file is shown below in Figure 3A along with the laser cutting process (Fig. 3B) and the final cut pieces (Fig. 3C).
After the chassis was glued together, we planned where all of the components would go for our circuit. We had to take special consideration when placing the QTI and color sensors as they need to be towards the front of the robot for optimal reaction time, but also as close to the ground as possible for accurate readings. Once the placement was all worked out, I created a circuit diagram before wiring all of the components together. It can be seen below in Figure 4.
I had the two H-bridges that controlled the wheel motors wired to opposite side of the breadboard to allow for the main sensors and motors to have the shortest, most efficient path to Arduino pins 3/4 and 12/13. Then I had the two QTI sensors connected to middle pins 5 and 6, so that I could pass the wiring up and down the bottom of the chassis to prevent the wiring from interfering with the trident. The color sensor connected to pin 7 as that was the pin that the sample code used and we decided that it was more effective to use the same pin than having to redo all of the masking in the code. Finally, we had the servo motor that controlled the cantilevered trident connected to pin 9 as it was spaced far enough from the other wired pins that we could access it easily in case the servo broke. All of the sensors and motors were connected via a breadboard where they all had a common ground and 5V. The Arduino had a 9V battery connected to power it and the 6V pin. The final product with all the wiring finished can be seen below, it is a picture of the completed robot the day of competition. As I did not directly work on the software of the robot, I will not be discussing it here. For more in-depth information on the software flowchart and code, you can download the full report at the bottom of the page under “Files”.
Competition Analysis
Conclusions
If we were to do this project again with all the same parameters, the big change we would make is uploading the correct code the morning of competition. When we ran our final code the night before competition, our robot did exactly what we described in the software design section of this report. After going through the competition and observing that many of the robots failed to move cubes to their own side even when they went essentially unopposed against our robot, we came to the conclusion that our robot probably would have done very well with our correct code. We are consequently extremely happy with the work that we did on this robot, and proud of ourselves for creating a robot that at least we know can do its intended job.