Reflections
Time
One
of the biggest restraints with this competition is time. Actually,
that's true for almost any project. The worst feeling is when you hear
yourself saying after a performance "if we only had 2 more hours we
could have done it." We said something along those lines right after
the mock contest, which was really disappointing. Before joining this
contest, make sure both you and your teammate(s) have set aside enough
time to give a good effort into the contest.
Another aspect of
the time limitation is how to allocate different focuses. We felt
that by spending less time making our robot complicated, we had more
time to debug and make it reliable. With more time every team
could have done both, but in the end, reliability proved more important.
Teamwork
Two
minds are better than one only if they're working together. The
greatest thing about a good team is that whenever you lose motivation
to work on a project, all you have to do is look at your teammates, see
how hard they're working, and then pick yourself up. The ability to
collaborate is also important--never discount an idea right off the
bat. Toss the idea around a little and see what the team can make of it
before throwing it away. One thing that made us successful was our
skepticism. With each idea that we threw around we always asked each
other several questions regarding the idea's viability. If any idea
made it through the barrage of questions, then we had something. We
learned that it was important to not make any decisions on our own,
especially when breaking apart creations from a teammate.
Design
We
realized about the time of the mock competition that we needed to plan
more, rather than build blindly. Our first robot was a "cool
idea" but was not very well thought out. For example, we had no
idea where to store the balls in the first model, and deciding to just
figure it out later ended up coming back to haunt us. Our rebuild
was finished in a few days, but only because we knew exactly where
everything would go before building it.
Construction
Legos
can be very confusing and frustrating. Although they allow for rapid
prototyping because they're made to connect with each other, they
sometimes are restricting in terms of creating exactly what you want.
You sometimes have to think of your designs in terms of Legos, and
what's possible or not.
Programming
Keep
it simple. Our robot wasn't very smart, but it did what it was
told. We didn't use any strange complex methods, just really
simple stuff that got it where it needed to be.
Also, we had a
lot of problems with panics and resets. We ended up having to put
a lot of pauses in the code in attempt to avoid burnout. In the
end, our robot only completed its round every once in a while, while
most of the time it stopped near the end. We have no idea why
:(. We realized we could have left more time for testing code,
because it's very frustrating.
Testing and Debugging
Despite what seemed like a realllly simple task of finding a wall,
riding it until it found the second pocket, dumping the balls, backing
to the first pocket, sitting there, and grabbing the skunk ball (if
need be)... we spent a majority of our time just ironing out the bugs
and making the robot run smoothly and reliably everytime. Never
underestimate debugging time :)