Buzz

Journal for the Technical Things

Wednesday
Apr242013

AVR's and FreeRTOS

Lessons Learned:

attribue(__interrupt__) and attribute(__noinline__) may appear similar but the former will totally hose your stack pointer.  Like to the point where you're executing out of SRAM. Bad news on a harvard machine.  Only took a day to find that typo... yeesh.

Saturday
Feb252012

Just testing mobile posting.

Hopefully this will encourage more frequent posting.

Sunday
Jul182010

Day 5: The Sunday Surprise Run

We've been granted a final chance, which honestly, for the competition is a pretty awesome thing.  It's drug all the teams (and robots) back to the pool nice and early on the final day of competition.  Traditionally Sunday is pretty sparse, I mean, with no "real" reason to be there it's hard to drag college students out to stand around a pool all day bright and early.

We're currently gearing up for our dunk.  We'll have a 15minute run at 11AM PST, and I'll be reporting back immediately after.  We're hoping to be able to take first in the losers bracket as it stands now.  Gate, Bouys, Hedge and a few Paths are what we're hoping for.  Wish us luck!

Time to have fun, but I'll give you the results:

Our run didn't go so hot.  We didn't make it under the gate, I think we still maintain our place from yesterday, more info coming tomorrow probably.

Saturday
Jul172010

Day 4: Damn it's early...

We arrived at the pool at 6:30 this morning and sadly found ourselves 6th in line to hit the practice side.  This meant the earliest we could hit the water without some help would be 10AM.  A good hour and a half after our slotted qualifying time... At first it looked a little bleak, but thankfully due to an awesome gesture by Cornell we were in the water at 7:30.  We found a bad camera cable was in use, critical knowledge before our qualifying run.  Basically at this point, wish us luck, we need it.

After the vision guys performed some tweaking, we hit the water and prepared to see what all SeaWolf could do.  After a few runs of being sent towards various sides of the gate, the diver finally gave us a good start towards the center. We veered a little to the left while we were covering the distance from the dock to the gate, which required a little gymnastics to align with path, but we managed it.  Seawolf headed for the bouy's, bound directly for the red one.  About 5 feet from the bouy, Seawolf went into a sweeping partern... sadly, something like as if it was looking for the next path marker.  She slowly inched her way forward, sweeping from left to right. We were down to 2 minutes on the clock, no time to reset and were just praying for the bouy bounce.  

With a minute left we saw the divers sign that we had hit red, but there was a little doubt which Seawolf saw fit to correct.  After a few seconds of intermittent contact, Seawolf basically sat down on the bouy.  Clearing up any remaining questions of her contact. 30 seconds left.... time.  Seawolf III completed more of the course than she ever had before. That's enough to keep us pleased and as of the standings last night, it was enough to put us in the top 10.

We also opted to try to grab a few extra points yesterday by implementing JAUS, a DoD driven project that acts as a protocol for communicating with unmanned vehicles.  Chris set to work shortly after we were out of the pool and managed to have us up and running to nearly complete state within 2 hours.  The University of Florida had developed an opensource solution to JAUS called JAUS++ and with a little finagaling Chris managed to get it to compile against our own LibSeawolf making implementing the protocol near painless.  In no time we were able to send data and let a JAUS sever connect with us properly, change states correctly, and most importantly, pass data out to the server.  There was still one little bug preventing us from completing the Interop Challenge completely, but we'll have another shot between 8-10 on Sunday.

While the 9th place announcement was reason enough for excitement, Dave Novak had one last surprise for us.  Sunday would play host not only to the finals which the top 7 teams would be competing in, but also to a wildcard round in the morning consisting on a single 15 minute run.  There's a mystery check waiting for the team who is able to do the best, and with only one teams ranked above us by a thin margin so far, we're hoping for the best.

Friday
Jul162010

Day 3: Lets Compete!

Today marks the true start of the competition!  Last night we were able to choose which qualifying run time we wished to run based on our standings from last year.   By the time it got to us, 12:30 was the latest we were allowed to hit the pool but that gave us plenty of time for an early morning practice run and some debugging time if we needed it.

After a long night for the club 5:30 came early, a necessity after a long nights work if we were going to get everything packed up and make it to TRANSDEC early enough to get a nice early practice run in.  Thankfully everyone is pretty on task and we were making tracks for the pool by 7.  When we arrived we put in for the 8:30 pool test slot and Chris headed right out to start taking some accoustics measurements after some major retooling of how the correlation block was being executed on the blackfin.  Accoustics seems to be growing ever closer to that magical point of actually being able to drive Seawolf!  We're hearing pings loud and clear and are now just working on effectively measuring the delays between when the ping reaches Seawolfs four ears.  These delays will enable us to locate the pinger and hopefully track it down!

The 8:30 pool test wound up being more like a 9:15 pool test due to some delays at the pool and kind of dampened our hopes.  It turns out gatorade bottles don't exactly hold their shape when you fill them with air and submerge them 8 feet under water, meaning our ballasts stopped giving us much flotation.  Seawolfs a bit on the heavy side and losing boyancy was wreaking serious havok on our ability to accurately find and maintain a depth.  While this wasn't much of a problem for the gate mission it proved disastrous for trying to bump the bouy.  Our emergency breach code kept trying attack Micheal 
(our diver for the time) after seawolf would start sinking at depth due to compression and our control code not ramping up quick enough to compensate.  Thanks to Maryland we've now replaced those pesky bottles with some pink foam that seems to be working well (if maybe not a little too well as we've now discovered).

While inspecting Seawolf after the test run, we noticed that one of our Fischer connectors (our class A waterproof connectors) was beginning to corrode.. readers from last year, this might sound a little familiar, and yes, Seawolf was once again performing chemistry experiments.  A solid round of testing by Rabbit found that the aluminum frame that holds Seawolf together was carrying a voltage! After a good deal of debugging we found that one of the connectors had a shield wire touching the outer casing.. we'd found our culprit, the source of our attempts to once again electroplate Seawolf.

After a bit more acoustics testing and some  buoyancy adjustments in the dolphin pool (small pools set up for teams to test in) 12:30 rolled around and it was time to see old Seawolf get into action.   Tetherless Kirk (resident Navy sailor dude for lack of a better description) lowered Seawolf into the water and after explaining our mission start/killswitch system to the diver, the swipe was made, the status light blinked and Seawolf dove.  It quickly became evident that we had overcompensated a bit in the boyancy department, even at when she was at depth you could still see the jets from the struggling thrusters breaching the surface. Due to a cross breeze there appeared to be a current in the Transdec pool, combined with the mistake of leaving her forward speed set a little low and the immense thrust the vertical thrusters were exhibiting Seawolf barely missed making it through the gate deciding to split the right side pole instead.  After two more attempts with various degrees of success and failure we yanked her our of the water, Michael plugged in the tether and corrected our speed issue.  We reset and tried again, this time succeeding in making the gate!  Sadly we never saw the path on the bottom of the pool and got a little hung up looking for it, forcing the restart once again.  We again managed to make the gate but path align failed again.