PHINeas began as a simple concept: 4 wheels and a ramp. We had various ideas about the release mechanism from trap doors to flywheels so we began by verifying the ramp itself before moving on to 'dispensing'.
Step 1: gather as many different materials as possible and test how pucks slide
we tried metal, wood, cardboard, acrylic
Step2: figure out optimal length and angle
since metal seemed like the best choice we started testing dimensions, angle, curving etc.
Step3: lock in on ramp design
as soon as we had our selection, we went ahead and made a chassis and ramp holder
We laser cut a chassis and ramp from acrylic and aluminum sheets and immediately added wheels and motors so we could move on to prototyping the next components: power, sensors, and dispensing. We did not try to figure out the whole design at once; instead, we built incrementally.
After wheels, we added an Arduino Uno and a basic circuit that allowed us to control the 4 motors (using L298N motor drivers). We did not have a power system yet, so the robot had to be connected to a power supply, but we could drive it around using the arrow keys on a computer. This allowed us to see potential control/navigation issues early on, as we didn't wait for the whole robot to be ready before putting any code on it. Software, Hardware, and Electronics were developed in parallel.
Next, we worked in parallel on the power supply circuitry and added a dispensing mechanism. Because of the angle of the ramp, we decided it was best to avoid trap doors and have another 'floor' with a conveyor belt. We made quick prototypes using 3d printed cylinder and rubber bands. Once the concept was verified, we went on to laser cut the second floor, 3d print the final structure for the conveyor, and make the belt itself. We also connected another motor to spin the conveyor and a second Arduino, as we realized we would need more pins to allow for sensors.
Finally, we added batteries and a few sensors: ultrasonics on the back and left sides as well as a tape sensor on the bottom front. We moved entirely to working on closed-loop controls. We already had code that could drive and dispense pucks in response to key inputs; it was a matter of making it autonomous.
We checked off! (i.e., showed Tom minimum functionality at 4 am the day of the deadline) We made several successful attempts with two control strategies: one open-loop and one closed-loop. Eventually, we tried a Mulligan, BUT the robot hit the wall. On our next attempt, we succeeded. From there, we had 2 days until the competition to improve the minimum functionality to return and reload, eventually achieving near-perfect shots with all 8 pucks (see pic). (until we lost all code at 6 am of competition day)
We iterated on code until... during the competition. We had no option to test, but kept improving what we had based on each previous match. And... we kept winning. We won against 4 different opponents and reached the final. We were very close to the gold, but the other team made a last-minute change and reset their robot, eventually scoring more than us.
PHINeas mid shot during the competition
The total cost of PHINeas amounted to $192.18, coming well under budget. Not included: cost of lost sleep, sweat, blood and tears.