Skip to content

Add turret/auto targeting/SOTM#21

Merged
dracco1993 merged 41 commits intomasterfrom
pew-pew
Jan 22, 2026
Merged

Add turret/auto targeting/SOTM#21
dracco1993 merged 41 commits intomasterfrom
pew-pew

Conversation

@dracco1993
Copy link
Member

No description provided.

tricktrap and others added 30 commits January 9, 2026 17:21
Copilot AI review requested due to automatic review settings January 22, 2026 03:33
@dracco1993 dracco1993 changed the title Pew pew Add turret/auto targeting/SOTM Jan 22, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'OUTPOST' to 'OUTPOSTs' and removed 's' after closing tag to fix grammar.

Suggested change
* <h2>Simulates a <strong>OUTPOST</strong>s on the field.</h2>
* <h2>Simulates <strong>OUTPOSTs</strong> on the field.</h2>

Copilot uses AI. Check for mistakes.
* <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.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'Wether' to 'Whether'.

Suggested change
* @param isBlue Wether this is the blue outpost or the red one.
* @param isBlue Whether this is the blue outpost or the red one.

Copilot uses AI. Check for mistakes.
}
}

/** <he>Resets the outposts internal fuel counter too 24.</h2> */
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'too' to 'to'. Also, the opening tag should be 'h2' instead of 'he'.

Copilot uses AI. Check for mistakes.
/**
*
*
* <h2>Attempts too throw a game piece at the specified goal.</h2>
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'too' to 'to'.

Copilot uses AI. Check for mistakes.
Comment on lines +200 to +201
* @param throwYaw The yaw at which too throw the ball.
* @param throwPitch The pitch at which too throw the ball.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'too' to 'to' (appears twice).

Copilot uses AI. Check for mistakes.
* number of game pieces present in
* rebuilt.
*
* @param efficiencyMode Wether efficiency mode should be on or off.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'Wether' to 'Whether'.

Copilot uses AI. Check for mistakes.
/**
*
*
* <h2>Returns wether or not the arena is in Efficiency mode</h2>
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'wether' to 'whether'.

Copilot uses AI. Check for mistakes.
*
* For more information see {@link #setEfficiencyMode(boolean)}
*
* @return Wether or not the Arena is in efficiency mode.
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'Wether' to 'Whether'.

Copilot uses AI. Check for mistakes.
return Commands.run(() -> {
setIntakeDeployed();
smc.setDutyCycle(-INTAKE_SPEED);
// smc.setDutyCycle(-INTAKE_SPEED);
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
// smc.setDutyCycle(-INTAKE_SPEED);
smc.setDutyCycle(-INTAKE_SPEED);

Copilot uses AI. Check for mistakes.
buildNamedAutoCommands();

if (!Robot.isReal()) {
if (!Robot.isReal() || true) {
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
if (!Robot.isReal() || true) {
if (!Robot.isReal()) {

Copilot uses AI. Check for mistakes.
@dracco1993 dracco1993 merged commit 70a866a into master Jan 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants