REBUILT 2026 is the competition robot codebase for Team Robototes (2412), written in WPILib command-based Java for the 2026 FRC game REBUILT. The project targets the RoboRIO 2 running Java 17 and is built with GradleRIO 2026.2.1. It drives a fully swerve-based drivetrain (CTRE Phoenix 6 TalonFX + CANcoder), an articulated launcher with a hood, a rotating turret, a game-piece intake and indexer, an LED strip, and a three-camera Limelight vision system — all coordinated through WPILib’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/robototes/REBUILT2026/llms.txt
Use this file to discover all available pages before exploring further.
CommandScheduler.
High-level architecture
The entry point isMain.java, which calls RobotBase.startRobot(Robot::new). Robot extends TimedRobot and owns the top-level object graph.
Robot.robotPeriodic() is the heartbeat of the system. It runs the CommandScheduler, updates vision pose estimates from the drivetrain’s SwerveDriveState, logs garbage-collection count to SmartDashboard, and resumes the DataLog every second.
Controls is instantiated after Subsystems. It receives the Subsystems object and a SimWrapper and registers all CommandXboxController trigger bindings there. No robot logic lives in the periodic callbacks beyond calling CommandScheduler.run().Package structure
| Package | Contents |
|---|---|
frc.robot | Main, Robot, Subsystems, Controls, Hardware constants |
frc.robot.subsystems.drivebase | CommandSwerveDrivetrain (Phoenix 6 swerve) |
frc.robot.subsystems.launcher | LauncherSubsystem, TurretSubsystem, Flywheels, Hood |
frc.robot.subsystems.intake | IntakeSubsystem, IntakePivot, IntakeRollers |
frc.robot.subsystems.index | IndexerSubsystem, Feeder, Spindexer |
frc.robot.subsystems.auto | AutoLogic, AutoBuilderConfig, AutonomousField, AutoDriveRotate |
frc.robot.sensors | LEDSubsystem |
frc.robot.subsystems | VisionSubsystem |
frc.robot.sim | SimWrapper, ShowVisionOnField (simulation wrappers) |
frc.robot.util | Utilities: RobotType, GCMonitor, AllianceUtils, LimelightHelpers, BuildInfo, etc. |
frc.robot.util.simulation | RobotSim, FuelSim (robot physics simulation helpers) |
frc.robot.generated | CompTunerConstants, AlphaTunerConstants (Tuner X generated swerve configs) |
Enabled subsystems
Every subsystem is gated by aboolean flag in Subsystems.SubsystemConstants. The table below shows all flags as they appear in the current codebase.
| Constant | Default | Subsystem |
|---|---|---|
DRIVEBASE_ENABLED | true | Swerve drivetrain (CommandSwerveDrivetrain) |
INTAKE_ROLLERS_ENABLED | true | IntakeRollers |
INTAKE_ARM_ENABLED | true | IntakePivot |
INTAKE_ENABLED | derived | IntakeSubsystem (arm AND rollers) |
SPINDEXER_ENABLED | true | Spindexer |
FEEDER_ENABLED | true | Feeder |
INDEXER_ENABLED | derived | IndexerSubsystem (spindexer AND feeder) |
FLYWHEELS_ENABLED | true | Flywheels |
HOOD_ENABLED | true | Hood |
TURRET_ENABLED | true | TurretSubsystem |
LAUNCHER_ENABLED | derived | LauncherSubsystem (hood AND flywheels AND turret) |
VISION_ENABLED | true | VisionSubsystem (requires DRIVEBASE_ENABLED) |
LEDS_ENABLED | true | LEDSubsystem |
Dual hardware configurations
The codebase runs on two physical robots — an Alpha prototype and a Competition bot. The correct configuration is selected automatically at startup by reading the RoboRIO’s serial number inRobotType.java. In simulation the type is always SIM.
RobotType.isAlpha() or RobotType.isComp(). See Robot Types for the full comparison.
Explore further
Quickstart
Clone the repo, build, simulate, and deploy to a RoboRIO in six steps.
Robot Types
Alpha vs Competition bot configuration — serial numbers, PID gains, gear ratios, and more.
Subsystems
Deep-dive into each subsystem: drivebase, launcher, intake, indexer, and vision.
Configuration
Hardware IDs, launcher constants, and live NT tuning.