Machine Intelligence Laboratory
  • Monday, 3 August 2009: Unfortunately, we did not do well in the 2009 competition. But be assured, in 2010 we WILL be in the game! Congratulations to Cornell, the 2009 champion. We will add more pictures when we get back to Gainesville. See www.auvsi.org/competitions/water.cfm for some video of the event. Below are the rest of the pictures from the event.

    Lowering sub.

    Patrick & sub (Harris).

    Checking batteries.

    On crane (LM, Fischer, GatorEng).

    Tom.

    Subrat.

    Patrick.

    Cedric.

    Nic.

    Jose.

    Gautam.

    Owen.

    Brian.

    Dana.

    Dr. Schwartz.

    Tom sleeping. Done!


  • Saturday, 1 August 2009: A little after 7pm yesterday, we found out the results of static judging (which include a research paper, the website, and our presentation to the judges). We earned seventh place out of 30 teams. The static judging results were used to select competition run times for today. We got the exact time we wanted, 5pm.
  • Friday, 31 July 2009: We qualified to continue in the competition late yesterday. Our competition run today will be at 10:30am.


    In dolphin pool.

    On crane (Harris).

    On crane LM & Fischer.


    Removing from crane.

    Hanging.

    Reattaching to crane.
  • Thursday, 30 July 2009: Last night we tuned the PID in the hotel pool, but we are still having problems with controller that takes over when the DVL returns bad data. We use the accelerometers when the DVL data is bad, but can not get this controller to behave properly. This morning we will go into the competition pond and get some test images. We will also be working on the controllers and mission planners today.

  • Wednesday, 29 July 2009: Subrat and Gautam worked through the night at the hotel pool. Several others got less than two hours of sleep. We have been having some problems with the Kalman filter.

    The sub was in the dolphin pool at the competition site (with Owen) for most of the day. Owen got a little too much sun and today is not feeling well (stomach problems).

  • Tuesday, 28 July 2009: All the teams had a joint meeting today. There will be live internet video of the finals on Sunday from 4-7pm EST. A link will be posted at http://www.auvsi.org/competitions/water.cfm. There will also be a video update posted on Saturday and Sunday morning at this same site.

    We signed up to arrive at the competition site at 7am for each day of the competition.

  • Monday, 27 July 2009: We have arrived in San Diego! None of our bags were lost by the airlines (a change from the last two years). Our submarine and equipment were waiting for us when we arrived at the hotel. One of the camera mounts was broken in transport. We glued it back together and hope it will hold.

  • Saturday, 18 July 2009 (10:16pm): It rained until about 11:30a. We didn't get over to the pool until 3:30p. The HPS (Human Powered Sub team's) tent was a really good investment (that they did and we benefited from). We should definitely get one of our own for next year.

    Threw the sub in the pool, and it's negatively buoyant :( . This is even with the new larger battery pods. The reason is the new batteries (which replace the batteries that were destroyed) are significantly heavier. So for now, we will again use the 2 pieces of foam underneath the front. It's good until it gets to about 10 feet, at which point it's not positively buoyant. We need to make a variety of those foam blocks and seal them like HPS did. The new depth sensor works great. We spend most the time trying to tune the depth and pitch again, then some time with the heading and strafers.

    We were able to capture images of the buoy, path, machine gun nest, briefcase, and some girls, all from different angles. Can Nic or Jose put those images on the shuttle SHAREME under Team Multimedia\mvBlueFox\?

    Tom's going to spend all tomorrow working on the hydrophones. He started at the beginning, porting the Quartus 7.2 project to Quartus 9.2. This way he can create a well-defined specification for the packet it is outputing, using the Active-HDL simulation. Then Tom will examine our C# serial capture code, determine if it is working in all conditions, and handling exceptions correctly. Then he will ensure the matlab code is being passed the right parameters and outputting the right information, with more error handling and status messages than we have now. We put it in the water today, and all we got were messages of "thread has exploded". This is not a description of angles and distance to the pinger.

    We'll be getting Brian's updated relay boards on Wednesday. We'll re-use a few of the components and the relays, but it should be a pretty quick job to get the new ones in, replacing the hot glued and non-solder masked ones. We get Tom's new motor driver cards on Wednesday. We hope to have those soldered up and be testing them by the end of the day. They are backwards compatible with our current board. We will also be getting our backup SuperSerial board Wednesday, but we don't plan to solder that up until we need it or get out to San Diego.

    Thursday we'll be getting the new motor driver baseboard. This will require moving around all the pins on the 36-pin slide and lock, and couple on one of the vertical connectors. To prevent us from losing our current working 36-pin slide and lock, in case we have to go back to the old baseboard, we would like to make a new 36-pin for the backplane side. This would entail creating cables of 2 USB, 1 ethernet, 16V power, 3 pins for the ball droppers and 3 pins for the shooters, and 3 pins for the motor controller RS-232. We know it's a lot more work and material, but if Tom's motor driver baseboard doesn't work, we want to be able to go back the the old design immediately. We'll only have Friday to test in the pool with it, to try to break it.

    As for the pool tomorrow, unless we have the accelerations working, or something new to test with vision, controls, or sensors, we won't be going. The Graham pool is open 11am to 7pm.

  • Saturday, 18 July 2009 (11:46am): The Graham pool is open at 11am. They'll close if it lightning occurs again. Check http://www.weather.com/weather/map/interactive/USFL0163?from=36hr_topnav_undeclared Does anyone have a canopy they can bring in case it does start to drizzle on us?

    We fixed all the blown up buffer chips on the motor driver baseboard and motor cards. So the motors spin again and the kill switch works.

    The DVL is outputting data again. Tom wants to do some serial code fixing for our sensors, so they are more fault tolerant. This entails resending all of the initialization information, so we are sure that the sensor is set up correctly. This kind of problem happened last week, and cost Gautam several hours of working time. It turns out that the IMU got put into polling mode instead of push mode. Polling requires CPU1 to send a request for every packet, while push (like push mode for email and text messaging) lets the sensor be put into continuous mode, and it will output packets as fast as it can (approx 80 Hz for the IMU). So this initialization will be set up for the DVL, IMU, and compass. Tom might also try to do the same for the camera settings, because it screws things up if the image output format on the camera randomly gets set to something than RGB888Packed (which Tom recalls happened in past years for no reason).

    At the pool today, we'll try to zero the depth sensor, so that 1 meter deep = 1 meter deep.

    Nic sent us the attached picture from his phone last night. Jose and Nic worked on vision for a while last night.


    Screen shot with target recognition.
    The shooter still isn't implemented in VHDL. Greg said he might be able to come in and work on the motor VHDL, since we designed it all last year. The situation is, Greg says that the code we have on the server (VHDL, Quartus projects, and Active-HDL projects), is the most up to date. When we compile this code and program it to the FPGA/Serial EEPROM, the FPGA still sends RS-232 packets, but the C# code fails checksum. We fortunately have the previous compiled binary backed up, but we need to figure out how to make the current code act exactly like the backup binary. After that, we can add for the shooter.

    When we were making wires for the battery pods the other night, we snipped 2 balancing taps wires at the same time and caused a short that vaporized the 2 balancing taps wires. Subrat cut the wires back to the pack circuit board and soldered 2 new wires on, but Tom wants to ask Carlo if it's safe to continue to use before that pack toes back in the sub.

    Tom will be placing a big Digi-Key order by Sunday night for all of the boards that are coming in the next week, and to restock all of our needs for the next week. We've gone through quite a bit of connectors. So Subrat, Tom, and Brian, can you look at the boards that are coming in, and email me what parts you need that we currently don't have in stock? Same goes for Patrick/mechanical if there's any Digi-Key parts you want (like plastic standoffs).

  • Tuesday, 14 July 2009: The batteries from Hong Kong were delivered yesterday at 9:30a to UF Mail, and they're currently trying to find them, somewhere on campus. We should be getting them soon. We'll be getting the balancing taps for monitoring the individual battery packs tomorrow (we increased shipping of those from 2 day to overnight). When we get them, we'll need to cut the 2mm bullet connectors off, and crimp Anderson PowerPoles on them. Whoever does this, talk to Tom first so you don't blow yourself up. Then mechanicals will need to package them in the trays and mount with the relay system.

    We can go to the pool this afternoon for vision testing with the old pods and remaining 10Ahr + 4Ahr Maxamp lipos for battery power, or we can wait until new pods + balancing taps come in tomorrow. We will probably wait until tomorrow unless Software is stable enough to get good testing done today. Either way, I think we're back in business.

    A buffer chip blew up on one of the motor driver cards last night. We knew one blew because the on-card LEDs (one for each driver IC) indicating the status of the kill switch is permanently on. This is because all of the LEDs are active low and all of the buffer chips are open-drain outputs, thus, when a buffer chip blows, it pulls the common kill switch line for everything low. We still don't know why they blow, but the conditions under which this happened this time were: the 32V was on, but the 16V was not. THEREFORE, LET IT BE DECREED:
    1) NEVER have the 32V power supply or batteries connected to the rear tray if the 16V power supply or batteries are not connected. Connect the 16V first. It is preferable to mate all of the connectors and turn on the supply/battery, but if one computer is on and we don't want to shut it down, you can hot plug 16V through Mini-Fit connectors (backplane plug type).
    2) NEVER hot plug the rear tray with both the 16V and 32V on at the same time. This means, do not plug in extender cables if the 32V is on. Do not pull out the rear tray if the 32V is on. Do not push in the rear tray if the 32V is on. If it appears the tray is not seated correctly, do not attempt to reseat the tray while the 32V is on. If we need to reseat the rear tray, we must either turn off the 32V power supply OR turn off both batteries with the relay pods. The latter option will turn off the 16V power, so have the computers shut down before turning off the battery power.

    Subrat helped Tom design a new circuit that utilized individual transistors and protection diodes for the new motor driver card. The new motor driver cards are backwards compatible with the current motor driver cards, so it will work with our current motor driver baseboard or the next revision, if we can get the new baseboard design out by tomorrow. We'll be sending the left and right motor driver cards out today. The current motor driver baseboard still has these buffer chips, and we have blown only one of them.

    MECHANICALS (if you've read this far): This gives you a new task. Discover why the rear and front trays do not seat perfectly each time we insert them and design a solution. The problem may be that:
    1) The Mini-Fit pins are worn from arcing or bent from misalignment OR
    2) The plugs with male pins are not perfectly aligned with the receptacles with female pins due to the circuit board being too high or too low OR
    3) The aluminum sheet comprising the backplanes is bent or warped OR
    4) There is too much slop in the floating plug housings that the pins are misaligned by a full pin position OR
    5) The tray is not strong enough, and flexes unevenly when pushed in.

    Tom has a suggestion (from his four years experiences with SubjuGator backplanes, doing backplane design while at Lockheed Martin, and having designed this backplane system). If you can take this on, let Tom know. Backplane datasheets are on the shuttle SHARME at Parts\Electrical\Connectors\Mini-Fit\.

  • Monday, 13 July 2009: The paper is almost completed. We will send it out tonight before midnight (as required). We will test the new depth sensor today at the Graham (dormitory) pool. The pod relay system is complete and waiting for the new batteries to be integrated on the tray.

    The new motor driver boards should be sent out by tomorrow. They are backwards compatible with the existing baseboard. If we can get the new baseboard design by Wednesday, we will send it out; if not, we will live with our present baseboard.

  • Monday-Sunday, 6-12 July 2009: The week started badly when we destroyed several LiPo batteries by leaving them on overnight. But this forced us to reevaluate our battery situation, which was fortuitous since we would have required 6-10 hours to get back in the water after running the batteries low. We found a source for much cheaper batteries at the cost of about half the total power capacity. The new batteries should be in by Tuesday (July 14).

    Our new battery pods and several small parts were sent out for annodization. We will pick them up Monday or Tuesday (July 13 or 14).

    We are still battling software problems, in the realm of image processing, memory leaks, and DLL handling. We still need to figure out how to handle all the different light conditions we can experience in the pool, otherwise our new algorithms might not work.

  • Friday-Sunday, 3-5 July 2009: We are going out to the pool today (Sunday). We'll be gathering hydrophone data (or determining why it isn't working), capturing images of the briefcase at different angles and depths, experimenting with buoyancy and balance with the new pods and ensuring the controller doesn't mind the changes, capturing images with the imaging sonar (maybe, see below), and splashing around in the water on this beautiful day.

    The only thing that's not working is the serial communication for the Imaging Sonar. It's a half-duplex, RS-485 serial device powered off it's own 24V switching regulator. The trouble appears to be with the MAX3079E driver chip, and getting the control signals (RTS, CTS, TXEN, RXEN) to operate properly. The FT4232H USB Serial chip works fine, we can see it transmitting out the TX, but the line transceivers never seem to operate. We know it works with the Sealevel SeaCOM RS-485 hub, so we are going to try to sniff all of the signals on that hub and try to recreate them on the MAX3079E. The MAX3079E is also used to drive the full duplex RS-422 DVL, and that works fine. We believe it's just the control signals that's the problem.

    The external relay board is not ready for integration due to a footprint problem, but we'll be getting the new board on Tuesday. We should be able to have the microcontroller fully functional by then, and have it integrated in the pod this week.

    The major problem is going to be to the new motor driver boards and new motor driver baseboard. We don't believe we can reliably implement the new motor drivers (Allegro A3941 + external MOSFETs) to safely ensure a fully functional motor control system in time for the competition. The good news is, we haven't blown up motor drivers (the ST VNH3SP30-E integrated switch driver) in a long time, and as far as we can remember, not during actual usage. What has been blowing up, all over the place, are buffer/driver chips (TI SN74LVC07A). We're not quite sure why, and every time we can recall, the sub was on the bench. What we am going to do, is reroute the motor driver baseboard and motor controller cards. We will make sure we have the same mechanical layout and the same pinouts to the FPGA, so the FPGA card won't even need to be reprogrammed. We are going to 1) change the single 32V to 5V switching regulator with a switching regulator + linear regulator, 2) change the PCB middle layers to ground and power planes, 3) change the USB and network cable headers to incorporate differential routing with continuous ground planes underneath and use shielded Mini B USB headers, 3) place capacitors close to each chip, 4) utilize a power star topology and remove ground loops to the best of my ability, and 5) investigate using Analog Device's digital isolators instead of optoisolators, and more rugged open-drain buffer/drivers. This will probably slip the Monday night new board cutoff (Dr. Schwartz deadline for no new design purchases), but we feel it is extremely important to continue not blowing driver chips at random. We will endeavor to KISS and get it out as soon as possible.
  • Friday-Saturday, 3-4 July 2009: The re-wiring and reintegration of the front tray is complete. We were able to pull out nearly a dozen unused cables. Replacing the 100 Mbit network switch with a Gigabit network switch appears to have greatly decreased our latency, specifically with regard to the motor controller communication.
  • Thursday, 2 July 2009: The external relay boards should arrive tomorrow. Since there is no school tomorrow, we are going to arrange with FedEx to pick it up from their depot, since we don't think the school shipping office will be open. We will put in a DigiKey order today and overnight it for the components on the board. If these work, we can greatly simplify the wiring in the front of the sub. We'd like to get in the pool tomorrow or Saturday. We will send out the parts to Orlando for anodization on Tuesday. We hope to be able to get these new switch designs working in the battery pods before the metal goes out for anodiation. We won't get the metals back before Monday the 13th. We believe we blew up the USB hub chip on my superserial board yesterday, but we'll be getting a new hub chip in today. If it works, the board is fully functional.
  • Wednesday, 1 July 2009: Our new battery pods were completed last week and water tested in the last few days. Our new battery pod straps were fabricated and installed today.

    New battery pod/strap on sub.

    New battery pod/strap.

    Pod with aluminum Gator head.
  • Tuesday, 30 June 2009: Our T-shirt design was just finalized.

    2009 T-shirt Design.
  • Monday, 22 June 2009: Working SubjuGator system diagram.

    System Diagram as of 22 June 2009.
  • Sunday, 21 June 2009: Several of our team members left today for Washington, D.C. for the 10th International Submarine Races that start on Monday and run through Friday, June 26th. Our team members will return late Saturday night at which time we will have about four weeks remaining before our Autonomous Underwater Vehicle Competition.

  • Thurday, 18 June 2009: Working SubjuGator system diagram was updated. See Monday, 22 June 2009, for a more recent version.

  • Tuesday, 16 June 2009: We spent several hours at the pool tuning our controllers.

    Tinkering.

    Tom and Brian.

    Nic tuning. Jose
    and Dan watching.

    Jose and Dana smiling.

    Dana and Tom adding
    disturbances to tune
    the controller.


  • Thursday, 14 May 2009: Newest sub CAD drawings. Transparent so that many of the internal features are visible.

    Port side.

    Bow. With
    cameras detacted.

    Starboard side.

    Starboard side.


  • 11-18 Apr 2009: After having problems running sub in the pool, we traced the issue to corrosion on and inside our Fischer connectors. See the pictures below. We have seens fixed the cause of this corrosion.

    External corrosion.

    External corrosion.

    Internal corrosion.

    Internal corrosion.


    We also found a problem with a crushed o-ring in our DVL.

    Crushed o-ring.


  • Wed, 15 Apr 2009: This is our first day at the pool in quite a long time.

    SubjuGator with
    Hunter and Subrat.

    Open SubjuGator.
    Tom testing batteries.

    First pool dunk of 2009.
    (Hunter and Tom)

    SubjuGator lookin' good!
  • 2008 Blog
  • 2007 Blog