The question is are you willing to get this data from any team that is still reading Chief Delphi now that crunch time has slowed down, because I could answer all these questions on our team.
I see your just looking for the top teams, whoever they are, but I know I'd be interested to see what worked and didn't work for those that fought tooth and nail to just compete. It might even bring to light some issues that held the non-top teams back and help us make things better for all involved?
Now that I said that, I am gonna answer these questions anyway. :-) But to keep this post from taking the whole board up, I am putting the answers in CODE tags.
Programming:
Code:
What language did they use?
C++
Threaded code or just poll in the teleop loop?
I am assuming what we did would be considered poll in the loop. I know we used the Iterative Robot example and treated the teleop section like one continously running do loop.
Did they do something in autonomous? If so, what worked?
We had 8 modes for autonomous depending on starting location and number of balls kicked. We used encoders to keep our robot traveling straight and to determine travel distance. The programmers couldn't get a PID loop going so our travel distance was based on an if-then statement. Next year we intend to do PID because it meant we didn't kick like we wanted one match because the power wasn't enough while we were tweaking the distances traveled. Overall we were successful, just had variable tweaking issues.
What problems did you encounter, if any, with WPILib?
Lack of functional examples and better detailing of what does what in the User's Guide. Better documentation is a must I feel. Sure there was the DOXYGEN file or whatever but plain straightforward text in the user manuals with copious examples would help tremendously for new and young learning teams.
Also better beta testing or something since we got burned several times throughout the update process and the installer cost us a week while we were trying to get our compressor code running because some setting wasn't correct in an example that survived from last year.
Overall, once we got the stuff setup right and got through the no robot code errors, the basic methods and classes seemed to function if you could figure out what they did and what variables they wanted.
Did you download the sources and rebuild WPILib/CanJaguarLib?
We did not rebuild or change anything from the WPILib or do anything with the Jaguars.
CAN or PWM control?
PWM
Did you use the Classmate for programming your robot or student/school supplied computers?
We used personal laptops for our programming and only used the Classmate as a golden goose driver station, never to be messed with. We were having so many troubles with just getting the Classmate to talk with Cypress chips and getting the updates to take the first time that when we had a functional driver station we would take no chances on messing it up.
Robot Design:
Code:
What sensors were used?
We started with just encoders and limit switches, but eliminated all but the encoders on the drive wheels. Our limit switches died during our regional and we couldn't get their logic to line up properly with our kick system so we put it on a time based algorithm. We have a design approach to limit the numbers of sensors to as few as possible because we have been burned in the past with them when they fail at the worst possible moment. We always have a back up plan to work if all our sensors die.
Did you use the vision system?
We tried to get it to work a little but between the time limitation of build season and the fact that we kept hearing on Chief Delphi that it was seriosly lagging the system, we decided the reward vs resources for the vision system wasn't worth it this year. We also had last year's vision experience as a bad taste in our mouth, where we spent significant resources to get it to work good and the lighting on the field totally torpedoed all that work. We'll use the camera only when we have to.
If so, what modifications did you have to make to the code? N/A
What drive system?
Because our design was looper based and our CG was going to be high, we stuck to a tank drive 4 wheel system, with the wheels as far apart as possible with a custom frame. Keeping the wheels as far apart as possible allowed our unusually tall robot (considering all the little tunnel bots) to cross the bumps.
Wheels?
Plaction wheels on the front for traction with Lunacy slick wheels on the back for maneuvaribility. Because we had a point designed possession mechanism we needed good front control.
How many motors?
4 on the drive train. 1 on the vacuum
What material was used for the frame (Aluminum, steel, unobtanium)?
Custom designed aluminum frame welded in our mentor's garage.
How did they control the ball?
1hp Shop Vac with a Fisher Price motor tied to a Home Depot yellow funnel. It worked great, but had limitation of exact ball placement required.
Energy storage for kicker (elastic, pneumatic, motor driven, etc.)?
All pneumatic system. We used a pre-charged pneumatic cylinder that was fed from one of 3 pressure regulators to control kick power/ ball distance. We used another cylinder turning a small holder pin to hold the kick cylinder until commanded. We thought our little system was the ultimate power/versatility versus complexity system. It was simple to build and tweak and the only downside was making sure you had enough valves and the pneumatic system didn't leak. We ran the entire Championship with zero issues from our kick system.
How did you cut your parts (water jet, LASER, mill, hand tools,etc.)?
Our mentor has a mill, lathe, and various hand tools in his garage where we build our robot. All student cut.
Did you hang?
We had a design for hang but had to remove those parts for weight before ship day. No
If so, what wenching approach did you use?
Were going to use a Dewalt Transimission with the 5th CIM motor to climb.
The Driver Station
Code:
Did you reprogram your dashboard code?
Nope, used as is. No student interest in programming this year so mentor did minimum coding to make robot 100% functional. Nice to haves and play withs like Dashboard not even attempted.
Did you use external controls beyond your joysticks?
Cypress chip with toggle switches, push button switches and potentiometers.
Any problems in getting the USB to behave?
YES. Cypress chip would cut out at weird moments and sometimes wouldn't be recognized on boot up. Finally had a procedure that we shut down computer except when tinkering on robot in pit or right before matches. Only way to ensure functionality was to come up from complete shutoff right before matches.
Did you use any unusual controls like WiiMotes, XBox controllers, etc.?
No
Did you feel that the Classmate was fast enough?
Adequate, though growing pains with USB stuff and programming was painful.
Anything else?
Code:
Overall we had a positive experience and learned quite a bit from looking at the older, "powerhouse" teams while at Championships. Most of our lessons tended towards game strategy and best type of robot to build, best type of possessor to make, etc...
Overall only had one design lesson we learned this year since we've been keeping track of our past issues. Each year our team's robots gets more and more bullet proof and Champs caliber.
Would have liked to be in other division so had chance to get picked for Saturday afternoon. :-) With awesome 469 in division, other loopers were pretty much out of running.
Loved the game this year since it rewarded teamwork and building robots for different positions. Didn't like Coopertition as it stands, though with a little tweaking to make it so you qualify like you eliminate it could be good.
Any techniques that you feel might be beneficial to others in the future?
Code:
After looking at some of the other kick systems, I thought ours was more robust, versatile and elegant than most with no sensor requirements and maximum use of existing components. If you are going to have a pneumatic system at all you should maximize the use of it from a rewards vs resources factor.
Looking at ball possession, ball magnet pinch rollers look awesome and is something we'll put more study into.
I like this topic and am looking forward to how some of the other teams did their Breakway robots this year.