We wrote these on day one of the season, at kickoff, before a single part was CADed. Here's every goal we set and how it held up against reality.
General
- As low a CG as we can manage
- Reliable: fully functional in at least 9 of 10 matches
Mobility
- Effortlessly enter the neutral zone
- No getting beached
- Deal with defense
- Fast and agile
Software
- Localized
- Track the Hub
- Pre-programmed teleop actions
- Object detection
- Drive team feedback
- Keep the driver stupid simple
Object detection turned out not to be needed, and that time was better spent on the rest of the robot's code.
Auton
- Intake the depot
- Load from the human player
- Hang
- Shoot 90% effective
We dropped human player loading once we realized a good human player shoots 80%+ on their own. The robot's auto time is better spent racing to floor fuel and holding onto it. Hang died with the climb.
Intake
- 25″ acquisition area
- No jams, 100% of the time, at full robot speed
- Touch it, own it
- Robust
- Ground pickup
Touch it, own it was about denial as much as speed: if a graze is as good as a grab, we win every contested ball and the other alliance never gets it.
Storage
- Maximize fuel capacity
- No jams
The Swapper holds ~100 tall and ~60 in trench config.
Transfer
- Shoot with one ball or many
- 8 balls per second minimum
Four independent lanes ended up doubling the goal at 16 bps.
Shooter
- 80% effective anywhere in the alliance zone
- Angle adjust
- Shoot while defended
- Shuttle from the neutral zone
Angle adjust lost to simplicity: adjusting flywheel speed at a fixed angle turned out to reach almost anywhere, so the extra mechanism was never worth it.
Climb
- Level 3
- De-climb in under 1 second
- Center or side
Cut early, and on purpose. Traversal RP can't be soloed, so a climber only pays off if a partner climbs too, and that's a bet you can't make at alliance selection time. A Level 3 mechanism would have eaten weight, hopper volume, and build hours, and the endgame seconds it buys score less than just shooting fuel until the buzzer. No regrets.