Sorry for the extreme delay. It's been a long, long week for us.
The competition for us was a rousing success. After a rough start to the week we put the train back on the tracks and finished out strong (even if we were limping) and scored exactly in the middle of the pack. Considering this was our second year in the competition and the first year with this sub design we were very pleased. Last year we finished 16 out of 18. This year we were 10 out of 19. The final scoring results are located at:
http://www.auvsi.org/competitions/2005 ... ndings.cfm
The week started pretty rough. After tearing the whole submarine down for transport through airport security (and a brief stop at airport security while we explained we were not terrorists) we arrived in San Diego late on Tuesday. We unpacked and inspected the parts on Tuesday night and found everything pretty much ok.
Wednesday we had a meeting and assembled the sub. No problems. Late night.
Thrusday was the first official day of "Practice Runs". All teams are present at the competition site in their assigned area working on what needs to be worked on. Judges and representatives from industry are there watching. We have the main pool and additional smaller test pools available. You spend the day working on your code and tweaking. You explore the actual competition pool with your sub and fine tune your behavior to the actual obsticles as you will see them.
Of course for us this was the worst day. We lost our depth sensor in the first two hours. It was a homebrew creation using an air pressure sensor that depended on the outside water pressure to alter the air pressure inside of a air tight box through a small, small, small hole and a long length of tube. In testing in Marietta we were able to get solid, consistent easy operation in up to 10 feet of water. The 16 feet of water at the competition site ate the sensor. The pressure at that depth was too much and forced water inside of the box through the tube. Scratch the ability to read depth.
Next we lost the compass. The box it was housed in was an underwater camera box. During testing we had zero problems with leakage. We swore by those boxes. We still do. But after the depth sensor debacle - and before the next water test in a small testing pool - the lid to the box was put on backward. It is not obvious and the whole team missed it on inspection. It leaked. Scratch the compass.
The subs have to maintain .1% bouancy. In effect if you loose power to the sub it should slowly float to the top of the water. Our sub weighed right at 60 pounds and we used a combination of fun noodles (those long floats kids use in pools to beat the hell out of each other) and cut up boogie boards. Again, in 10 feet of water it worked perfectly. At 16 feet the fun noodles folded. The pressure at that depth crushed the noodles and the sub sat on the bottom of the pool.
Midway through Thrusday we had lost the ability to navigate and float.
A trip to Home Depot and Kroger fixed the ballast problem. We bought 12 bottles of water. We bought two cans of "Great Stuff" - a filling compound of some indeterminate use. We drank a lot of water. We sprayed the water bottles full of Great Stuff. Attached them all of the sub frame with zip ties. We tested again and the sub floated again.
At the end of Thursday we were down a bit. Despite the ballast comeback the loss of all navigation effectively sealed our fate. Late night planning and testing.
Friday was the second day of practice runs. All work at this point was focused on driving the submarine in as straight of a line as we could manage without any sort of navigation sensor information to correct variation. The competition course begins when the submarine passes through a "gate" in the water. The gate was about thirty feet from the dock and the submarine needs to navigate in a straight line, underwater, and pass through.
The rest of the week was spend in writing the right code to drive the up/down motors the right amount to maintain a controlled depth without a depth sensor and drive the left/right motors in a controlled straight line without a compass.
Friday was also Static Judging in which a group of judges speaks to each team, looks over the documentation and ranks the team in terms of everything except actual water operation. We were hoping for a high mark in this category. We thought our website documentation was very good - if not flashy - and our presentation went well. Or so we believed. At the end of the day we were ranked 16 out of 19 in static. It was a bad hit.
The latest night of all working on the blind run code and testing in the hotel pool.
Saturday was the first day of "qualifying runs". Each team gets two chances to run the course. Our first run was at 9:30 am. University of Florida ran directly before us (the eventual winners of the competition with an impressive, impressive entry). After fifteen grueling minutes of time we limped through the gate on our last attempt. We even got a countdown from the judge (5,4,3,2,1) as our baby headed for the gate. We cleared it at 1 second.
At the end of Saturday we were one of seven teams who managed to get through the date. The worm was turning, so to speak, and even though we were having problems other teams were having much worse problems. To have our basic sub intact (and watertight) and excellent basic motor operation combined with a guy who could fabricate java code on the fly put us in an excellent position. I described our situation as being the leper with all of his fingers to someone on Saturday night.
We got brave. The first objective in the obsticle course was to hit a "docking station". This station, located at the bottom of the 16 foot pool, is seen by the sub by displaying a group of bright red LEDs. In testing our docking station code (effectively color tracking camera control over motors) was excellent. We could follow a box of red LEDs around a pool and it was, by far, the function we were most happy with. If we could limp to the area in which the docking station was we were sure we could hit it. It was just a matter of getting there. From what we could tell it was located another thirty or so feet from the gate - at the bottom of the pool.
Nothing ventured, nothing gained. We had already cleared the gate (and had a run on the score board that assured an ok finish). Why bother to come if you aren't going to push the limits, right?
On Sunday we got our second chance. The sub cleared the gate (after a couple of efforts) much earlier in our fifteen minute time. Just after it cleared the gate though it radically changed course and attempted to run over the "random order" light. No - that isn't right. It attempted to obliterate the random order light. It was mad the random order light was in its pool and it wanted some random order light ass. The divers had to scramble to stop it before we look the random order light out.
The random order light was a signal for advanced teams. You could run the competition in an alternate order (changed daily) for serious, serious bonus points. In the first three days of practice runs this light was green. Guess what color it was on Sunday. Yup.
If we had managed to get the docking station we might have made it to the finals. Alas, we did not. Duke managed to get into the finals with nothing but getting through the gate and hitting the docking station. On the other hand Duke scored much higher than us on static judging so most likely not. Either way, no big deal. We were proud of our recovery and understood, much more clearly, what we have to do this year.
The finals were great. MIT, University of Florida, ETS (a Canadian school) and Duke went at it. The winning series involved clearing the gate and surfacing in the "surface area" - reaching by using Sonar. MIT, Florida and ETS did this and only this. Duke just cleared the gate in their final run. Florida took the competition because their sub weighed in at an impressive 28 or so pounds. The bonus points for being under 70 pounds pushed them way over the top. Check out their website. THAT is a submarine. Those guys did one hell of a job.
Puppy did excellent. In the two days when we were scrambling back from the depths of failure we had to classify everything in terms of what we had and what we didn't. Focus of your strength and compensate for your failure. The PC104 stack hardware, the Puppy OS, the java code and our engines were our pillars on which we managed to stage our comeback. From the first minute of radical redesign and on the fly engineering Puppy always landed in the "works" column.
I'm at heart a hardware guy and as such the endless bickering among the "software" guys always amazes me. I've never understood two intelligent people arguing about something as silly as two working OS's or pieces of code. If it works, it works. Leave it the hell alone and move on. Puppy impressed me - in a big way - because it was as solid as any of our hardware. As the new team captain (big shout out to our outgoing team captain Emmauel Clay) you can rest assured that Puppy will be making a return trip to San Diego next year. At this point it is proven technology under fire and I don't care how many new team members I get who want to turn their nose up at the "unknown" distro. They will learn it or get gone. Puppy has proven itself to me - they haven't.
Our deepest thanks to you guys for making and working on this distro. When the going got rough last week we were able to heavily lean on Puppy and the stability we saw last year in testing reaffirmed itself under heavy fire.
It worked. At this point - after the last week - that is the highest compliment I give anything and Puppy earned it in a big way.