|
Re: Statistics on top 20 teams?
Programming
What language did they use?
C++
Threaded code or just poll in the teleop loop?
We just did everything sequentially in the TeleopPeriodic calls from WPILib.
Did they do something in autonomous? If so, what worked?
Our auto mode was set up so you could select a "main" and secondary function. Main functions included :
- Far Zone, Kick 3, With Bounce
- Far Zone, Kick 3, No Bounce
- Mid Zone, Kick 2, Straight on'
- Mid Zone, Kick 2, From Angle
- Near Zone, Wait and plow
- Do Nothing
Secondary Functions Included:
- Cross Bump and kick (5 ball mode)
- Cross Bump and wait
- Cross 2 bumps
- Block the tunnel
- Back up and drive to center of field (to steal opponents missed shots)
- Do Nothing
The secondary functions were smart enough to know what to do based on the first function... so 'Block the tunnel' worked from the far zone and the middle zone without having to explicitly tell it to. Everything worked. We kicked 5 balls in auto many times and made 3 from the far zone a few times.
What problems did you encounter, if any, with WPILib?
None. It seemed solid.
Did you download the sources and rebuild WPILib/CanJaguarLib?
No.
CAN or PWM control?
PWM. We only used IFI Victor speed controllers.
Did you use the Classmate for programming your robot or student/school supplied computers?
We did not use the classmate for development.
Robot Design
What sensors were used?
- Encoder on drive for distance measurement/control
- Yaw gyro for angular control and "drive straight" correction
- Pitch gyro for controlling the autonomous bump traversal
- Encoder on kicker to control winch for multi-distance kicks
- Encoder on ball grabber to sense when we had control of a ball
- Multiple limit switches on hanging arm used for controlling deployment and automatically starting/stopping the hanging
Did you use the vision system?
No.
What drive system?
8 wheel drive. 4" cantilevered wheels. 2 speed (w/ neutral) + power take off drive gearbox
How many motors?
4 CIM to drive. These were also used to hang and self right (which was never used)
1 CIM for kicker winch
1 FP + clutch for ball grabber
What material was used for the frame (Aluminum, steel, unobtanium)?
6061 Alum
How did they control the ball?
Pincher roller with high torque clutch on top roller.
Energy storage for kicker (elastic, pneumatic, motor driven, etc.)?
Trampoline springs. Winch driven by CIM with ratchet and pawl. Dog gear + piston release.
How did you cut your parts (water jet, LASER, mill, hand tools,etc.)?
Most plates initially cut on water jet, finished on CNC mill. CNC mill used for most everything else.
Did you hang? If so, what wenching approach did you use?
Vertical bar. Used power take off from drive for lift with ratchet+pawl to keep suspension.
The Driver Station
Did you reprogram your dashboard code?
Yes. We just added a bunch of indicators to push out sensor values for quick debugging. We used the legacy driver station console lines to print out info about and select our auto mode.
Did you use external controls beyond your joysticks?
We used analog joysticks for the driver and 100% custom controls for the operator. Everything ran through the cypress board.
Any problems in getting the USB to behave?
Sometimes the cypress board would not be recognized by the DS software and we would have to restart the computer or restart the CyProgMini (or whatever) windows service to get it to work.
Also, after a restart the cypress board would lose its configuration data. If we did not start the robot AFTER the driver station was up and running, the correct I/O configuration (which was set from the robot) would not get pushed to the board, and everything would default to a floating input. This one was particularly tricky to figure out.
Did you use any unusual controls like WiiMotes, XBox controllers, etc.?
No.
Did you feel that the Classmate was fast enough?
Not at all. Boot up times were terrible. We wasted so much time waiting for things to boot and sync.
|