Saturday, March 7, 2009

Final results

The contest is over, the robot and tools are packed, and many people are now sleeping. Final scores:

Team NameTotal ScoreRounds
Completed
Heat
Auburn University3314A
University of Tennessee Knoxville2654A
University of Central Florida2544B
University of North Florida2014A
Tennessee Tech University1924A
Christian Brothers University1614B
Western Kentucky University1494A
Virginia Military Institute1444B
UNC Charlotte1144B
University of Louisville1054B
Pellissippi State Tech CC874A
University of Miami854A
FAMU FSU CoE764B
Mississippi State University724B
Clemson University604B
University of South Florida534B
Georgia Southern University202B
University of Florida192A
The Citadel182B
Embry Riddle Aeronautical University182A
Jackson State University172A
University of Kentucky172B
Florida A&M University162A
University of Alabama Birmingham102A
Southern Polytechnic State University102B
Murray State University101B
Guliford Tech CC102A
Mercer University92B
University of South Carolina92A
Virginia Tech02B
Virginia Commonwealth University02A
Old Dominion University02B
University of Alabama Huntsville02B
University of Memphis02B
University of Evansville02A
University of Alabama-12B
NC State University-382A
University of Georgia-5331A

Final round

The robot picked up two items (a can and a plastic bottle, I think) but mis-sorted one. It tried and tried to lift a glass bottle, but couldn't. We received 30 points for the round.

Still waiting

At first, the finals format of running one robot at a time was fun, since everyone could see and cheer eat robot. Now, however, it's just getting long. There are a lot of very tired team members here...11 more robots to go...

Final round 1 complete

Round 1 of the finals is complete now; round 2 begins in a minute or so. There haven't been any particularly high scorers this match; Auburn continues to lead. The current scores:

Team NameTotal ScoreRounds
Completed
Heat
Auburn University2173A
University of Central Florida1543B
University of Tennessee Knoxville1353A
Christian Brothers University1323B
University of North Florida1273A
Tennessee Tech University1173A
Western Kentucky University1093A
Virginia Military Institute993B
UNC Charlotte993B
FAMU FSU CoE663B
University of Louisville653B
Clemson University603B
University of Miami603A
Mississippi State University423B
Pellissippi State Tech CC423A
University of South Florida313B
Georgia Southern University202B
University of Florida192A
Embry Riddle Aeronautical University182A
The Citadel182B
Jackson State University172A
University of Kentucky172B
Florida A&M University162A
Southern Polytechnic State University102B
University of Alabama Birmingham102A
Murray State University101B
Guliford Tech CC102A
Mercer University92B
University of South Carolina92A
Virginia Tech02B
Virginia Commonwealth University02A
Old Dominion University02B
University of Alabama Huntsville02B
University of Memphis02B
University of Evansville02A
University of Alabama-12B
NC State University-382A
University of Georgia-5331A

Final round 1 results

The robot moved and tried hard to gather bottles, but kept running into multiple bottles / cans being swept. So, it never lifted them. Finally, after getting stuck on the field, it backed into the wall and the team ended the match.

Up soon

MSU is coming up soon. We hope it works well...

The matches are fun to watch. Everyone applauds when a robot grabs a recyclable and cheers when the match is finished. That's neat to see.

SECON observations, part II

Miscellaneous thoughts:
  • ESOS is a good thing. The control of a real robot is complex enough that something better than straight-line code is essential. However, for code needing that level of complexity, I'm tempted to develop in Python/Java/whatever on a laptop, then run on a Gumstix when attached to the robot, while doing all low-level code on a PIC via USB.
  • We need some langauge that allows easy creation of a GUI for visualization and control. I'm tempted to just use MATLAB, since that plays so easily with my robotics program. I've found an used a decent package for Java, but it was fairly painful to get a plot up and running. I'm not sure about Python. I'd suspect any C/C++ plot utility would likewise be on the complex side.
  • I'd like to increase the bootloader speed by a factor of 10 and add an auto-bootload on file changed option.
  • There needs to be a better, simple way to exchange data between the PIC and PC. The bootloader could use a little debug window: configureDataExchange(dataType, "printf format string") and send(&ptr, numBytes) with some macros to make calling a bit easier. Also, I need to implement a simple trace buffer for ISR debug.
  • SVN is a good thing. Although I'd like to try GIT when the Windows GUI is a bit more mature. Having version control at the competition (hosted on Steven's laptop) is very important.
  • Bluetooth is a good thing. I'd like to see more use made of it, via robot status / health in a GUI, to give insight into robot behavior. I think enabling programming via Bluetooth would be very helpful.
  • Some sort of simulator to allow firmware development to run more in parallel with mechanical modifications would be very helpful. Perhaps an ESOS PC port with virtual peripherals? Especially for the higher-level control code, this would be nice.
  • Write lots of testbenches, which verify functionality: does A/D, PWM, etc. work when the appropriate inputs are provided or outputs are measured?
  • Use real connectors, not a number of random 0.1" center pins with round female posts. Just buy good connectors and use them. A centralized mounting plate where all connectors go would be very good. Disadvantage: swapping around one IR or disconnecting an antenna is harder if everything is placed in a central connector. Instead, a number of per-peripheral connectors would probably work better. We need to learn how to crimp 0.1" connectors and order lots of pins plus plastic housings.
  • Students need access to the shop -- they need to have keys, since that hour of free time doesn't always match up with someone being there in the shop to allow access. This slowed mechanical progress significantly.
  • It would be nice to have some sort of SECON x1 PCB that's pretty generic -- just a large pinout PIC, voltage supplies, buck converters, probably servo and IR headers -- for earlier experimentation. The 28 pin platforms weren't as helpful in terms of code development.
  • Have a social team event -- a party, or whatever -- at some point, so the team can meet in a non-work environment.
  • Use as much Vex as possible. Get the laser cutter to the point that it's easy to use and have supplies ready so it can be rapidly prototyped. Can we use it to engrave cut or drill points on a piece of metal? In any case, need much better rapid proto abilities.