Conversation
There was a problem hiding this comment.
Pull request overview
This PR implements a simulation environment and shooting mechanism for a 2026 FRC game called "Rebuilt", featuring fuel game pieces, outposts, and hubs. The changes enable shooting-on-the-move functionality with turret and shooter subsystems, along with corresponding field simulation and aiming logic.
Changes:
- Added simulation infrastructure for the 2026 Rebuilt game with fuel game pieces, outposts, and hubs
- Implemented turret and shooter subsystems with dynamic aiming and shooting-on-the-move command
- Updated robot configuration to integrate new subsystems and simulation environment
Reviewed changes
Copilot reviewed 20 out of 22 changed files in this pull request and generated 27 comments.
Show a summary per file
| File | Description |
|---|---|
| RebuiltOutpost.java | New class simulating outpost goals where fuel can be scored and launched |
| RebuiltHub.java | New class simulating hub goals for scoring fuel with active/inactive states |
| RebuiltFuelOnFly.java | New class representing fuel game pieces launched into the air |
| RebuiltFuelOnField.java | New class representing fuel game pieces on the field |
| Arena2026Rebuilt.java | New arena simulation class with field obstacles, game piece management, and phase timing |
| CommandsLogging.java | Added bounds checking for sequence command index |
| TurretSubsystem.java | Switched from ThriftyNova to SparkMax motor controller and added angle adjustment methods |
| SwerveSubsystem.java | Added getPose3d method and updated starting poses |
| Superstructure.java | Added dynamic aiming, shooter pose calculation, and removed commented/unused methods |
| ShooterSubsystem.java | Switched from ThriftyNova to SparkMax and implemented full flywheel control |
| IntakeSubsystem.java | Commented out intake motor control in backfeed command |
| HoodSubsystem.java | Temporarily disabled hood subsystem (commented out implementation) |
| OperatorControls.java | Added shoot-on-the-move controls and fuel firing simulation commands |
| DriverControls.java | Updated controls for fuel firing and removed algae-related references |
| ShootOnTheMoveCommand.java | New command for dynamic aiming that compensates for robot movement |
| RobotContainer.java | Integrated new subsystems and updated simulation initialization |
| Robot.java | Switched from Reefscape to Rebuilt arena simulation |
| simgui-ds.json | Removed duplicate joystick configuration entry |
| config.json | Added robot configuration for 2026 CA26 model |
| AdvantageScopeSwerve.json | Updated visualization configuration with new telemetry and field layout |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| /** | ||
| * | ||
| * | ||
| * <h2>Simulates a <strong>OUTPOST</strong>s on the field.</h2> |
There was a problem hiding this comment.
Corrected spelling of 'OUTPOST' to 'OUTPOSTs' and removed 's' after closing tag to fix grammar.
| * <h2>Simulates a <strong>OUTPOST</strong>s on the field.</h2> | |
| * <h2>Simulates <strong>OUTPOSTs</strong> on the field.</h2> |
| * <h2>Creates an outpost of the specified color.</h2> | ||
| * | ||
| * @param arena The host arena of this outpost. | ||
| * @param isBlue Wether this is the blue outpost or the red one. |
There was a problem hiding this comment.
Corrected spelling of 'Wether' to 'Whether'.
| * @param isBlue Wether this is the blue outpost or the red one. | |
| * @param isBlue Whether this is the blue outpost or the red one. |
| } | ||
| } | ||
|
|
||
| /** <he>Resets the outposts internal fuel counter too 24.</h2> */ |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to'. Also, the opening tag should be 'h2' instead of 'he'.
| /** | ||
| * | ||
| * | ||
| * <h2>Attempts too throw a game piece at the specified goal.</h2> |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to'.
| * @param throwYaw The yaw at which too throw the ball. | ||
| * @param throwPitch The pitch at which too throw the ball. |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to' (appears twice).
| * number of game pieces present in | ||
| * rebuilt. | ||
| * | ||
| * @param efficiencyMode Wether efficiency mode should be on or off. |
There was a problem hiding this comment.
Corrected spelling of 'Wether' to 'Whether'.
| /** | ||
| * | ||
| * | ||
| * <h2>Returns wether or not the arena is in Efficiency mode</h2> |
There was a problem hiding this comment.
Corrected spelling of 'wether' to 'whether'.
| * | ||
| * For more information see {@link #setEfficiencyMode(boolean)} | ||
| * | ||
| * @return Wether or not the Arena is in efficiency mode. |
There was a problem hiding this comment.
Corrected spelling of 'Wether' to 'Whether'.
| return Commands.run(() -> { | ||
| setIntakeDeployed(); | ||
| smc.setDutyCycle(-INTAKE_SPEED); | ||
| // smc.setDutyCycle(-INTAKE_SPEED); |
There was a problem hiding this comment.
The backfeed functionality is disabled by commenting out the motor control line. This means the backFeedAndRollCommand will deploy the intake but not actually run the motor in reverse, making the command non-functional.
| // smc.setDutyCycle(-INTAKE_SPEED); | |
| smc.setDutyCycle(-INTAKE_SPEED); |
| buildNamedAutoCommands(); | ||
|
|
||
| if (!Robot.isReal()) { | ||
| if (!Robot.isReal() || true) { |
There was a problem hiding this comment.
The condition || true makes this always evaluate to true, meaning joystick connection warnings will be silenced even on real robots. This appears to be debug code that should be removed.
| if (!Robot.isReal() || true) { | |
| if (!Robot.isReal()) { |
No description provided.