Saturday, February 8, 2014

Robotics - The End is Here

Today, my robotics team and its sister team from the same school went to the last qualifier for our area. This one was the big one, the one to which everyone goes no matter what. (Unless they already qualified for all the things in a previous one.)

We arrived just a little before check-in time and proceeded to set ourselves up at the proper table, stretching the longest power cable I've ever seen over to the wall outlet to maintain my laptop's power. Inspection was a breeze, having done all the difficult sizing and software downloading work the previous night. In the time between the completion of our pre-game stuff and the actual first match, we went around looking for people to help. I located a team having strange problems with a servo; even though they used LabView, I tried to help.

That went less well than I anticipated. I inspected the physical connections, the LabView paths, the LabView control maps, the emitted file (using a hex editor, which impressed them a lot), and poked a few other things. None of it helped. By the time I was done - two hours later - their laptop's battery had been fully discharged and their servo still didn't work. I think they figured it out later by totally rewriting their program, but I couldn't do anything: LabView is not nearly as reliable as RobotC.

Then came the real start. As I stated last post, I controlled the ops position for the entire day. However, we soon ran into a terrible problem. We misunderstood the rules; all robots' autonomous programs' starting positions must fit in the 18" cube. We thought that the robot just had to be compressible to that size and could be unpacked to start the autonomous. That was not the case, and we had to switch back to the basic autonomous, packing the hanger bar down by wrapping a string around it once. The autonomous executed fine, but when the endgame came, I thought the hanger bar wouldn't reach the field's bar. Fortunately, it did, and we just barely made a pull-up, winning the first game! Win!

Since we had only five minutes between the end of that match and the next, we had to go into screaming rushing do-it-now repair mode. In just a moment, we had added a segment to our block dumper basket to make it longer and fit inside the hanger bar area. I adjusted the code and finished compiling it just in time for us to run out onto the field before they started it without us. Turns out, we didn't even need to adjust the fancy autonomous right then because our alliance member had one as well. We again executed the basic one, scoring 10 points less than the other alliance in autonomous. Our inability to move blocks well caused problems; our opponents were putting all the block ever manufactured into those baskets. Though we hung and our partner team raised the flag, those blocks made a difference by 6 points. Lose!

In the third match, our other alliance member didn't have a flag raiser, but had a hanger. Therefore, we took that job. We also finally got to try our nice autonomous program, but it failed because the hanger bar didn't move up far enough. That was disappointing, but we at least got 10 points from the somewhat failed ramp climb. The flag raiser also failed due to our inability to correctly lock into it. This match was kind of sad. Lose!

Some poor person was on a team all alone with a minimal robot. We had the misfortune of being placed on an alliance with that "team." It's not that the one person wasn't trying hard; he was actually doing his best to do the jobs of at least three people. His robot could only push blocks. While its autonomous flew over the ramp and actually fully of the other side, our full autonomous again failed to place the block in the basket. Though we again could not raise the flag, we hung on the bar. It just wasn't enough - the other alliance had some amazing engineering skills and did all the things. Lose!

Next up was the most dramatic match: the one against our sister team. With our alliance member, we planned an amazing double hang after raising the flag. They would put a block in the infrared bucket while we would do the simple autonomous. However, as it always goes, things were not so smooth. Before the match, one of their hanging motors burned out. They took a few minutes to work on it, but they were able to come out onto the field. There, not only did one of our drive motors fly out of the connector socket, their entire control system failed, rendering us going in circles and them totally stationary. Our alliance scored zero points. Epic fail!

Thinking we had our problems resolved, we went into our final match a little shaken but ready. We executed our simple autonomous perfectly while our alliance member did the infrared block drop well. It was then that one of the nuts on a drive motor came loose, causing an entire tread to fly off, rendering us again uncontrollable. I don't remember what happened to our partner team, but they also encountered issues and could not finish well. Lose!

It was a pretty disappointing day. In fact, we thought we won the second match, but then results came in that we had in reality lost it by a few points. Nevertheless, it was an excellent day of teamwork, engineering, and gracious professionalism. Though my team failed miserably, our sister team placed first! I await the results of the post-qualifying matches.

From left to right: 2 members of another team, our driver observer, the team captain, me, a scoreboard volunteer, 2 members of our sister team, and a referee. From game 5.

It was a good year. Thanks to team 6723, team 7727, FIRST, the STEM committee, and all volunteers involved for a great season!

No comments:

Post a Comment