Conversation
There was a problem hiding this comment.
Pull request overview
This PR implements simulation and control capabilities for a rebuilt 2026 FRC game, adding comprehensive shooting mechanics with auto-aiming functionality.
Changes:
- Added complete field simulation with game pieces, hubs, and outposts
- Implemented shoot-on-the-move command with trajectory calculation and velocity compensation
- Enabled turret and shooter subsystems with dynamic aiming capabilities
Reviewed changes
Copilot reviewed 21 out of 23 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/frc/robot/util/maplesim/RebuiltOutpost.java | Implements outpost simulation for storing and launching fuel |
| src/main/java/frc/robot/util/maplesim/RebuiltHub.java | Implements hub goal simulation with collision detection |
| src/main/java/frc/robot/util/maplesim/RebuiltFuelOnFly.java | Defines projectile physics for launched fuel |
| src/main/java/frc/robot/util/maplesim/RebuiltFuelOnField.java | Defines fuel game piece properties and physics |
| src/main/java/frc/robot/util/maplesim/Arena2026Rebuilt.java | Main arena implementation with field obstacles and game piece spawning |
| src/main/java/frc/robot/util/CommandsLogging.java | Adds bounds checking for command sequence indexing |
| src/main/java/frc/robot/subsystems/TurretSubsystem.java | Switches from ThriftyNova to SparkMax motor controller with updated parameters |
| src/main/java/frc/robot/subsystems/SwerveSubsystem.java | Updates starting positions and adds 3D pose getter |
| src/main/java/frc/robot/subsystems/Superstructure.java | Enables shooter readiness triggers and adds aim point management |
| src/main/java/frc/robot/subsystems/ShooterSubsystem.java | Switches from ThriftyNova to SparkMax with flywheel control |
| src/main/java/frc/robot/subsystems/IntakeSubsystem.java | Comments out back-feed motor control |
| src/main/java/frc/robot/subsystems/HoodSubsystem.java | Temporarily disables hood mechanism with placeholder returns |
| src/main/java/frc/robot/controls/OperatorControls.java | Adds turret positioning and auto-aim toggle controls |
| src/main/java/frc/robot/controls/DriverControls.java | Replaces algae firing with fuel projectile system |
| src/main/java/frc/robot/commands/ShootOnTheMoveCommand.java | Implements velocity-compensated auto-aiming for moving shots |
| src/main/java/frc/robot/RobotContainer.java | Integrates turret/hood subsystems and adds alliance-based aim point switching |
| src/main/java/frc/robot/Robot.java | Switches from Reefscape to Rebuilt arena simulation |
| src/main/java/frc/robot/Constants.java | Adds aim point constants for different field positions |
| simgui-ds.json | Removes duplicate controller entry |
| assets/Robot_CA26/config.json | Adds robot component configuration for visualization |
| AdvantageScopeSwerve.json | Configures telemetry visualization for 2026 field and mechanisms |
💡 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.
Remove the extra 's' after the closing tag. Should be 'OUTPOST on the field' or 'OUTPOSTs on the field'.
| * <h2>Simulates a <strong>OUTPOST</strong>s on the field.</h2> | |
| * <h2>Simulates a <strong>OUTPOSTs</strong> on the field.</h2> |
| } | ||
| } | ||
|
|
||
| /** <he>Resets the outposts internal fuel counter too 24.</h2> */ |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to', and fixed malformed HTML tag 'he' to 'h2'.
| /** | ||
| * | ||
| * | ||
| * <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' in both parameter descriptions.
| * @param throwYaw The yaw at which too throw the ball. | |
| * @param throwPitch The pitch at which too throw the ball. | |
| * @param throwYaw The yaw at which to throw the ball. | |
| * @param throwPitch The pitch at which to throw the ball. |
| /** | ||
| * | ||
| * | ||
| * <h2>Simulates a <strong>HUB</strong>s on the field.</h2> |
There was a problem hiding this comment.
Remove the extra 's' after the closing tag. Should be 'HUB on the field' or 'HUBs on the field'.
| * <h2>Simulates a <strong>HUB</strong>s on the field.</h2> | |
| * <h2>Simulates <strong>HUB</strong>s on the field.</h2> |
| /** | ||
| * | ||
| * | ||
| * <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'.
| * {@link #outpostThrow(boolean, | ||
| * Rotation2d, Angle, LinearVelocity)} | ||
| * | ||
| * @param isBlue whether too throw for the blue or red HUB. |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to'.
| * @param isBlue Wether too throw from the blue or red OUTPOST. | ||
| * @param throwYaw The yaw at which too throw the ball. | ||
| * @param throwPitch The pitch at which too throw the ball. | ||
| * @param speed The speed at which too throw the ball. |
There was a problem hiding this comment.
Corrected spelling of 'Wether' to 'Whether' and 'too' to 'to' in all four lines.
| * | ||
| * <h2>Determines wether the arena is in efficiency mode</h2> | ||
| * | ||
| * <h3>For changes too take effect call {@link #resetFieldForAuto()}.</h3> |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to'.
| * <h3>For changes too take effect call {@link #resetFieldForAuto()}.</h3> | |
| * <h3>For changes to take effect call {@link #resetFieldForAuto()}.</h3> |
| * <h3>For changes too take effect call {@link #resetFieldForAuto()}.</h3> | ||
| * | ||
| * <p> | ||
| * Efficiency mode reduces the amount of game pieces on the field too increase |
There was a problem hiding this comment.
Corrected spelling of 'too' to 'to'.
No description provided.