Robot Design & Strategy

Building of a Hero

We started out wanting to make it faster than others, with a really high gear ratio, but we eventually settled with a ratio of 125. We initially just had one large wheel on each side, with its own gearbox and powered by one motor. We later added a second wheel (attached to first / double thickness) for added support. We were going to add a second motor to each gearbox for added torque and perhaps redesign the gearbox and ratio to get more speed, but we didn't have time. The wheels were out in the open and their axle was only held from one side, so after a while you could see some tilting in the axle / the wheels weren't exactly perpendicular to the ground. However this was a minor thing and we just ignored it.

The structure of Ali Baba was, ironically, wagon-like. The back section contained the two gearboxes on the sides and a third one in the center above them for a motor in the back that would spin the gearbox. The front was basically just two legs for support. Instead of adding castor wheels we went for having smooth round plates at the bottom of each leg. Thus the robot was supported by the two double wheels in the back and two plates in the front. However, because the weight was concentrated in the back, when the robot would jolt forward it would 'jump' or 'wheelie', which was fine, and pretty cool.

We added a wall across the legs, and around the top we attached a horizontal plate/cylinder that was connectrd to a servo on the right side and just attached by a peg on the left side. This would serve as the hand/mechanism that would pull the lever down.

Above all this, we just added a plate and lined it up with walls on the sides. The height was adjusted so that the balls would fall onto them and that the back wouldn't interfere with turning the gearbox. In the back we added another servo on one side and a gate that would raise it.

We also added small hands/legs/praying mantis things at the front so that when going to the ping-pong-dispenser the robot/hand mechanism would stop the right distance from it.

The Completed Ali Baba

Strategy of a Hero

The first thing to be noted is that we relied completely on the VPS for our location and heading. We did not use the gyroscope, even though that would have made it more accurate. Plus, with time the gyroscope loses accuracy, and bumps or crashes could upset it. The VPS, on the other hand, while slightly off (plus there's the time delay), was something we could count on. So we just used it and forgot about the gyroscope. With more time we would definitely have incorporated both (with dependency on gyroscopes for changes in heading and continuous 'fixing' by comparing to VPS info).

We also did not use any sensors. They would have been helpful, but we were able to get the navigation working pretty well without them, so we didn't invest time in implementing them. So at the end of the day, Ali Baba was running on three motors (remember, one for the back spin-the-gearbox horizontal motor), and two servos. And of course the happyboard and two batteries.

For strategy, we had nothing special. First go around, get regions, get balls, and dump every two collections and when the time is about to end (we had access to time since beginning). Timeouts were added a few days before the final so they weren't complete and didnt account for all possible failures - aka getting stuck somewhere or with another robot. We could definitely have added more timeouts and improved them.

Oh - organizers talked about threading, and some used threads. We kind of ignored that. Same thing with pointers and int_8t, as opposed to plain ints. We dont encourage anyone to follow in our path, but we just want to put it out there: It's quite possible to ignore these features. On the other hand, there are differences between C and other languages (like Java) that must be remembered.