When we left off last post, my design partner and I had built and programmed a robot that could pick up and store 6 colored golf balls. Now the challenge was getting the robot to be able to deposit each ball into the pocket of corresponding color, and to complete the design in less than a week.
Stage two of the design process begins with a box of Extra Toasty Cheez-Its. As you’ll recall from last post, the robot sorts red balls on one side and blue on the other, so our depositing system must have to involve some sort of selective release system so as to dump only balls of one color at a time. With scissors and some glue, I set to crafting the (now empty… burp) Cheez-It box into an element that our classmate CJ termed the “turkey-tail.”
The turkey-tail concept is simple — after our robot has collected all 6 balls, it will back up to the first, blue pocket. Once the robot is snug against the side of the first pocket the turkey-tail will rotate 90 degrees to the position of the blue balls, thus dropping the blue balls into the blue pocket. Then the robot can proceed to the second, red pocket and rotate the cutout of the turkey-tail 180 degrees to drop the red balls.
Remember those Mountain Dew cans that made such a brilliantly resourceful ball-storage solution? As you can see in the photos above, those cans were nixed from our design pretty quickly. My partner and I discovered that the malleability of the aluminum cans would readily allow any balls traveling at a large enough velocity to slip past the turkey-tail, so we had to devise a new solution. After a few hours of redesign and testing, we settled on a simple ramp design.
We built and programmed early into the mornings, having our work cut short multiple times by the college’s 2:00 AM closing time. Ultimately we finished the project just in time for class-competition day — Our checklist was nothing less than fully checked:
Class-competition day arrived. Nerves were high. Rest was lacking. When our turn came around, my partner placed our robot on the track and ran the calibration program. Then we sent it off to do its robot magic…
So, our robot worked, just not all too well. We managed one perfect trial and a couple of decent trials on the competition day and we came out on top, leading our class!
Here’s the catch — the winner from each individual class competition goes on to compete against all the others in the school-wide competition. My partner and I had won in our own class, but now our robot would be pitted against all the best robots in the school. We knew that to have any chance at the gold we would need to greatly refine our robot. Immediately we began brainstorming, and we pinpointed 3 elements of our design that we would need to refine if we were to have any chance at victory in the school-wide competition:
Asked and answered:
In all honesty, most of our two remaining days were spent fine-tuning code — a tedious process which I will not share here for fear of putting you, dear reader, to sleep. As for our building methods, perhaps they were a bit janky, what with the generous use of tape and popsicle sticks, but we got the job done.
And we did get the job done. On our last late night before the school-wide competition, my partner and I finished fine-tuning our bot it consistently achieved perfect trials.
On the day of the school-wide competition, my partner and I christened the robot Athena after the Greek goddess of wisdom and war strategy. Then she was off to compete!
Athena, unfortunately, experienced performance anxiety at the competition, and for the first 3 of 4 rounds she only deposited 3-5 of the 6 total balls. Athena was still in the running, but we’d need to achieve a perfect trial — successfully deposit all 6 balls — to be able to pull off a victory.
The issue keeping us from that perfect trial was that sometimes Athena would decelerate sharply which would jostle the stored balls and sometime allow them to roll back off the top of the storage track, like so:
Well, in Engineering you’ve gotta be prepared to think on your toes — identify a problem and respond to it with the limited resources you have at hand. I quickly devised a solution:
We did not have time between rounds to test our solution, so we just set Athena off for the 4th and final round and crossed our fingers.
Perfect. Run. Hell yes.
Athena picked up all 6 balls, no problem, aptly dropped the blue balls into the blue pocket, navigated to the red pocket, and deposited the red balls. Athena had performed, and by a mere 20 point lead we beat the competition!
What a validating experience! I feel that my years worth of experience with the LEGO system allowed me to problem solve effectively and helped to think realistically about what is and is not possible with the LEGO parts we were provided.
Of course, this competition was as much a coding as a building challenge, and my partner deserves the lion’s share of the credit for the coding that took Athena to gold. He spent many hours developing an infrastructure to contain our elements of code; problem solving coding issues late into the nights and carrying out the tedious process of fine-tuning the behavior of the robot. I always like to say that he is the definition of a “gentleman and a scholar.”
Also, thanks to Clockworksparrow for all the professional level photographs of the completed robot that have appeared across these two posts!
Ladies and gentlemen, that’s going to do it for today’s post. That’s also going to do it for this blog.
Maybe sometime your favorite LEGO fan blog will return, but for now it’s time for me to focus on Mechanical Engineering, which is kinda like LEGO in its own right.
Thank you for reading and enjoying the Royal Brick Blog for the past 4 years — It’s been a time and a half! Now go! Stop reading this and go have an extraordinary day and a happy New Year!
~ The Royal Brick