Skip to content

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 build passes.
  • Confirm ./gradlew test passes.
  • 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.json when 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.processInputs for IO input structs.
  • Use Logger.recordOutput for selected auto, navigation state, setpoints, and dashboard aliases.
  • Use LoggedDashboardChooser for 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:

  1. Battery voltage and brownout state.
  2. Enabled/disabled timeline.
  3. Command scheduler timeline.
  4. Current selected auto or navigation goal.
  5. Robot pose and measured chassis speeds.
  6. Module measured states and setpoints.
  7. Gyro yaw and angular velocity.
  8. Vision accepted/rejected observations.
  9. Mechanism inputs and setpoints.

Do not tune around a low battery, wrong module offset, or bad gyro direction. Fix the root cause first.