Operating checklists¶
This page is the short-form event reference. The deeper explanations live in the other pages; this is what I want open in the pit when we are trying to make a safe decision quickly.
Before first deploy¶
- Confirm team number in
.wpilib/wpilib_preferences.json. - Confirm vendordeps resolve for WPILib 2026.
- Confirm
./gradlew buildpasses. - Confirm
./gradlew testpasses. - Confirm logs are configured and AdvantageScope can open them.
- Confirm CTRE Tuner X constants match the physical robot.
- Confirm deploy assets exist under
src/main/deploy.
Swerve bring-up¶
- Put the robot on blocks.
- Verify Pigeon2 ID and CAN bus name.
- Verify each drive motor ID.
- Verify each steer motor ID.
- Verify each CANcoder ID.
- Verify module order matches code order.
- Calibrate absolute offsets with the AdvantageScope calibration asset.
- Reboot and confirm modules align while disabled.
- Check steer direction.
- Check drive direction.
- Check gyro yaw direction.
- Check current draw at low output.
- Check X-lock.
- Check slow mode.
- Drive slowly on carpet only after block checks pass.
BLine autonomous workflow¶
- Author paths in the BLine GUI.
- Export JSON to
src/main/deploy/autos/paths. - Keep names matched to auto manager routine entries.
- Keep global constraints in
src/main/deploy/autos/config.json. - Register every event key used by JSON.
- Put timeouts on mechanism event commands.
- Run unit tests.
- Run desktop simulation.
- Test selected auto validity while disabled.
- Test on blocks.
- Test on carpet at reduced speed.
Example event patterns:
autoManager.registerEvent("intake", () -> intakeCommand.withTimeout(1.5));
autoManager.registerEvent("prepare", () -> Commands.parallel(armCommand, intakeCommand));
The first BLine path resets odometry. Later paths continue from the current pose estimate. Paths are authored from the blue origin and flipped for red.
Teleop navigation workflow¶
- Define named goals in
FieldTargets. - Keep goals blue-origin and alliance-transform them.
- Regenerate
src/main/deploy/pathplanner/navgrid.jsonwhen static obstacles change. - Tune PathPlanner constraints only after drivetrain odometry is correct.
- Finish navigation with
DriveToPose. - Confirm the cancel/manual fallback binding works every time.
Do not add PathPlanner autos to this template. PathPlanner is only for teleop runtime pathfinding here.
Vision workflow¶
- Match camera names exactly to PhotonVision.
- Measure robot-to-camera transforms from robot center.
- Calibrate each camera at the resolution used on the robot.
- Confirm tag layout is correct.
- Review accepted and rejected pose logs.
- Tune standard deviations conservatively.
- Treat camera disconnects as alerts and diagnostics, not hidden drive-policy changes.
Logging workflow¶
- Use
Logger.processInputsfor IO input structs. - Use
Logger.recordOutputfor selected auto, navigation state, setpoints, and dashboard aliases. - Use
LoggedDashboardChooserfor autonomous selection. - Do not publish normal telemetry through direct NetworkTables publishers.
- Confirm USB WPILOGs are written on the real robot.
- Confirm replay runs without hardware.
Event-day failure triage¶
When the robot does something unexpected, check in this order:
- Battery voltage and brownout state.
- Enabled/disabled timeline.
- Command scheduler timeline.
- Current selected auto or navigation goal.
- Robot pose and measured chassis speeds.
- Module measured states and setpoints.
- Gyro yaw and angular velocity.
- Vision accepted/rejected observations.
- Mechanism inputs and setpoints.
Do not tune around a low battery, wrong module offset, or bad gyro direction. Fix the root cause first.