1111import static edu .wpi .first .units .Units .RotationsPerSecond ;
1212import static wmironpatriots .Constants .SWERVE_SIM_CONFIG ;
1313
14- import choreo .auto .AutoChooser ;
1514import com .ctre .phoenix6 .SignalLogger ;
1615import com .ctre .phoenix6 .swerve .SwerveModule .DriveRequestType ;
1716import com .ctre .phoenix6 .swerve .SwerveRequest ;
1817import edu .wpi .first .math .geometry .Pose2d ;
1918import edu .wpi .first .math .geometry .Rotation2d ;
2019import edu .wpi .first .wpilibj .DriverStation ;
2120import edu .wpi .first .wpilibj .TimedRobot ;
22- import edu .wpi .first .wpilibj .smartdashboard .SmartDashboard ;
2321import edu .wpi .first .wpilibj2 .command .Command ;
2422import edu .wpi .first .wpilibj2 .command .CommandScheduler ;
23+ import edu .wpi .first .wpilibj2 .command .Commands ;
24+ import edu .wpi .first .wpilibj2 .command .WaitCommand ;
2525import edu .wpi .first .wpilibj2 .command .button .CommandXboxController ;
2626import edu .wpi .first .wpilibj2 .command .button .RobotModeTriggers ;
2727import java .util .Optional ;
3131import monologue .Monologue .MonologueConfig ;
3232import org .ironmaple .simulation .SimulatedArena ;
3333import org .ironmaple .simulation .drivesims .SwerveDriveSimulation ;
34- import wmironpatriots .commands .ChoreoFactory ;
3534import wmironpatriots .generated .TunerConstants ;
3635import wmironpatriots .subsystems .CommandSwerveDrivetrain ;
3736import wmironpatriots .subsystems .chute .Chute ;
4241import wmironpatriots .subsystems .tail .Tail ;
4342import wmironpatriots .subsystems .tail .TailIOComp ;
4443import wmironpatriots .subsystems .tail .TailIOSim ;
45- import wmironpatriots .util .deviceUtil .OperatorController ;
4644
4745public class Robot extends TimedRobot implements Logged {
4846 private final CommandScheduler scheduler = CommandScheduler .getInstance ();
4947
5048 private final CommandXboxController joystick ;
5149 private final CommandXboxController operatorController ;
52-
53- private final OperatorController operatorController2 ;
50+ private final CommandXboxController debugController ;
5451
5552 private final Tail tail ;
5653 private final Elevator elevator ;
5754 private final Chute chute ;
58- private final ChoreoFactory factory ;
5955 private final RobotVisualizer visualizer ;
6056
6157 private double MaxSpeed =
@@ -79,8 +75,6 @@ public class Robot extends TimedRobot implements Logged {
7975
8076 public final CommandSwerveDrivetrain drivetrain = TunerConstants .createDrivetrain ();
8177
82- private final AutoChooser chooser ;
83-
8478 public Robot () {
8579 // * MONOLOGUE SETUP
8680 DriverStation .silenceJoystickConnectionWarning (true );
@@ -126,8 +120,7 @@ public Robot() {
126120 // * SUBSYSTEM INIT
127121 joystick = new CommandXboxController (0 );
128122 operatorController = new CommandXboxController (1 );
129-
130- operatorController2 = new OperatorController (3 );
123+ debugController = new CommandXboxController (4 );
131124
132125 Optional <SwerveDriveSimulation > swerveSim =
133126 Robot .isSimulation ()
@@ -155,30 +148,29 @@ public Robot() {
155148 // Set up driver input streams
156149 configureBindings ();
157150
158- // elevator.setDefaultCommand(
159- // Commands.sequence(
160- // elevator.runPoseZeroingCmmd().onlyIf(() -> !elevator.isZeroed()),
161- // elevator
162- // .setTargetPoseCmmd(3.4)
163- // .until(
164- // () ->
165- // elevator.inSetpointRange() || elevator.getSetpoint() >
166- // elevator.getPose()),
167- // elevator.stopMotorInputCmmd()));
168-
169- // tail.setDefaultCommand(
170- // Commands.sequence(
171- // // tail.setRollerSpeedCmmd(0.0),
172- // tail.runPoseZeroingCmmd().onlyIf(() -> !tail.isZeroed()),
173- // tail.setTargetPoseCmmd(Tail.POSE_MOVE_ANGLE)
174- // .until(
175- // () -> elevator.inSetpointRange() || elevator.getSetpoint() >
176- // elevator.getPose())
177- // .andThen(tail.setTargetPoseCmmd(Tail.POSE_IN_ANGLE))));
178-
179- // .until(() -> Superstructure.isTailSafe(elevator, tail)),
180- // tail.setTargetPoseCmmd(Tail.POSE_MIN_REVS).until(() -> tail.inSetpointRange()),
181- // tail.stopMotorInputCmmd()));
151+ debugController .a ().whileTrue (tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE ));
152+ debugController .rightBumper ().whileTrue (tail .setTargetPoseCmmd (Tail .POSE_OUT_ANGLE ));
153+ debugController .leftBumper ().whileTrue (tail .setTargetPoseCmmd (Tail .POSE_IN_ANGLE ));
154+
155+ elevator .setDefaultCommand (
156+ Commands .sequence (
157+ elevator .runPoseZeroingCmmd ().onlyIf (() -> !elevator .isZeroed ()),
158+ elevator
159+ .setTargetPoseCmmd (3.4 )
160+ .until (
161+ () ->
162+ elevator .inSetpointRange () || elevator .getSetpoint () > elevator .getPose ()),
163+ elevator .stopMotorInputCmmd ()));
164+
165+ tail .setDefaultCommand (
166+ Commands .sequence (
167+ // tail.setRollerSpeedCmmd(0.0),
168+ tail .runPoseZeroingCmmd ().onlyIf (() -> !tail .isZeroed ()),
169+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
170+ .until (
171+ () -> elevator .inSetpointRange () || elevator .getSetpoint () > elevator .getPose ())
172+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_IN_ANGLE ))));
173+
182174 /*
183175 driveController
184176 .x()
@@ -204,7 +196,7 @@ public Robot() {
204196 .a ()
205197 .whileTrue (
206198 tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
207- .until (() -> tail . inSetpointRange () && elevator .inSetpointRange ())
199+ .until (() -> elevator .inSetpointRange ())
208200 .andThen (tail .setTargetPoseCmmd (Tail .POSE_IN_ANGLE )))
209201 .whileTrue (this .setElevatorToStowed ().onlyIf (() -> tail .inSetpointRange ()));
210202
@@ -213,7 +205,7 @@ public Robot() {
213205 .x ()
214206 .whileTrue (
215207 tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
216- .until (() -> tail . inSetpointRange () && elevator .inSetpointRange ())
208+ .until (() -> elevator .inSetpointRange ())
217209 .andThen (tail .setTargetPoseCmmd (Tail .POSE_L2 )))
218210 .whileTrue (
219211 elevator .setTargetPoseCmmd (Elevator .POSE_L2 ).onlyIf (() -> tail .inSetpointRange ()));
@@ -223,7 +215,7 @@ public Robot() {
223215 .y ()
224216 .whileTrue (
225217 tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
226- .until (() -> tail . inSetpointRange () && elevator .inSetpointRange ())
218+ .until (() -> elevator .inSetpointRange ())
227219 .andThen (tail .setTargetPoseCmmd (Tail .POSE_L3 )))
228220 .whileTrue (
229221 elevator .setTargetPoseCmmd (Elevator .POSE_L3 ).onlyIf (() -> tail .inSetpointRange ()));
@@ -233,13 +225,16 @@ public Robot() {
233225 .b ()
234226 .whileTrue (
235227 tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
236- .until (() -> tail . inSetpointRange () && elevator .inSetpointRange ())
228+ .until (() -> elevator .inSetpointRange ())
237229 .andThen (
238230 tail .setTargetPoseCmmd (Tail .POSE_L4 )
239231 .until (joystick .leftBumper ())
240232 .andThen (tail .setTargetPoseCmmd (Tail .POSE_IN_ANGLE ))))
241233 .whileTrue (
242- elevator .setTargetPoseCmmd (Elevator .POSE_L4 ).onlyIf (() -> tail .inSetpointRange ()));
234+ elevator
235+ .setTargetPoseCmmd (Elevator .POSE_L4 )
236+ .onlyIf (() -> tail .inSetpointRange ())
237+ .repeatedly ());
243238
244239 // // * INTAKING CORAL COMMAND
245240 operatorController
@@ -252,15 +247,22 @@ public Robot() {
252247 .whileFalse (chute .runChuteSpeedCmmd (0.0 ));
253248
254249 // * AUTO CENTERING COMMAND
255-
256250 operatorController
257251 .povRight ()
258252 .onTrue (
259- tail .setRollerSpeedCmmd (.5 )
260- .alongWith (chute .runChuteSpeedCmmd (-.1 ))
261- .until (() -> tail .beamTripped = true )
262- .andThen (tail .setRollerTimecmmd (.5 , 1 ))
263- .alongWith (chute .runChuteSpeedCmmd (0 )));
253+ tail .setRollerSpeedCmmd (1 )
254+ .alongWith (chute .runChuteSpeedCmmd (-.2 ))
255+ .until (() -> tail .beamTripped == true )
256+ .andThen (tail .setRollerTimecmmd (1 , 1 ).alongWith (chute .runChuteSpeedCmmd (0 ))));
257+
258+ joystick .x ().whileTrue (tail .setRollerSpeedCmmd (-3 )).whileFalse (tail .setRollerSpeedCmmd (0 ));
259+ // operatorController
260+ // .povRight()
261+ // .onTrue(
262+ // tail.setRollerSpeedCmmd(1)
263+ // .alongWith(chute.runChuteSpeedCmmd(-.2))
264+ // .until(() -> tail.beamTripped = true)
265+ // .andThen(tail.setRollerTimecmmd(.5, 1).alongWith(chute.runChuteSpeedCmmd(0))));
264266
265267 // // * OUTTAKING CORAL COMMAND
266268 operatorController
@@ -279,39 +281,76 @@ public Robot() {
279281 .onFalse (tail .setRollerSpeedCmmd (0.0 ));
280282
281283 // * ALGAE DESCORING
284+
285+ /*
282286 operatorController
283287 .povUp()
284288 .whileTrue(
285- tail .setRollerSpeedCmmd (1 )
286- .alongWith (
287- tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
288- .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
289- .andThen (tail .setTargetPoseCmmd (Tail .POSE_ALGAE_HIGH ))))
289+ tail.setTargetPoseCmmd(Tail.POSE_MOVE_ANGLE)
290+ .until(() -> tail.inSetpointRange() && elevator.inSetpointRange())
291+ .andThen(tail.setTargetPoseCmmd(Tail.POSE_ALGAE_HIGH)))
292+ .whileTrue(tail.setRollerSpeedCmmd(1))
290293 .whileTrue(
291294 elevator
292295 .setTargetPoseCmmd(Elevator.POSE_ALGAE_HIGH)
293296 .onlyIf(() -> tail.inSetpointRange()))
294297 .whileFalse(tail.setRollerSpeedCmmd(0));
295-
298+ */
296299 operatorController
297- .povDown ()
300+ .povUp ()
298301 .whileTrue (
299- tail .setRollerSpeedCmmd (1 )
300- .alongWith (
301- tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
302- .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
303- .andThen (tail .setTargetPoseCmmd (Tail .POSE_ALGAE_LOW ))))
302+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
303+ .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
304+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_ALGAE_HIGH )))
304305 .whileTrue (
305306 elevator
306- .setTargetPoseCmmd (Elevator .POSE_ALGAE_LOW )
307- .onlyIf (() -> tail .inSetpointRange ()))
308- .whileFalse (tail .setRollerSpeedCmmd (0 ));
307+ .setTargetPoseCmmd (Elevator .POSE_ALGAE_HIGH )
308+ .onlyIf (() -> tail .inSetpointRange ()));
309309
310310 operatorController
311311 .povDown ()
312312 .whileTrue (
313- tail .setTargetPoseCmmd (Tail .POSE_ALGAE_LOW ).alongWith (tail .setRollerSpeedCmmd (1 )))
314- .whileFalse (tail .setRollerSpeedCmmd (0 ));
313+ tail .setTargetPoseCmmd (Tail .POSE_MOVE_ANGLE )
314+ .until (() -> tail .inSetpointRange () && elevator .inSetpointRange ())
315+ .andThen (tail .setTargetPoseCmmd (Tail .POSE_ALGAE_LOW )))
316+ .whileTrue (
317+ elevator
318+ .setTargetPoseCmmd (Elevator .POSE_ALGAE_LOW )
319+ .onlyIf (() -> tail .inSetpointRange ()));
320+
321+ // operatorController
322+ // .povUp()
323+ // .whileTrue(
324+ // tail.setRollerSpeedCmmd(1)
325+ // .alongWith(
326+ // tail.setTargetPoseCmmd(Tail.POSE_MOVE_ANGLE)
327+ // .until(() -> tail.inSetpointRange() && elevator.inSetpointRange())
328+ // .andThen(tail.setTargetPoseCmmd(Tail.POSE_ALGAE_HIGH))))
329+ // .whileTrue(
330+ // elevator
331+ // .setTargetPoseCmmd(Elevator.POSE_ALGAE_HIGH)
332+ // .onlyIf(() -> tail.inSetpointRange()))
333+ // .whileFalse(tail.setRollerSpeedCmmd(0));
334+
335+ // operatorController
336+ // .povDown()
337+ // .whileTrue(
338+ // tail.setRollerSpeedCmmd(1)
339+ // .alongWith(
340+ // tail.setTargetPoseCmmd(Tail.POSE_MOVE_ANGLE)
341+ // .until(() -> tail.inSetpointRange() && elevator.inSetpointRange())
342+ // .andThen(tail.setTargetPoseCmmd(Tail.POSE_ALGAE_LOW))))
343+ // .whileTrue(
344+ // elevator
345+ // .setTargetPoseCmmd(Elevator.POSE_ALGAE_LOW)
346+ // .onlyIf(() -> tail.inSetpointRange()))
347+ // .whileFalse(tail.setRollerSpeedCmmd(0));
348+
349+ // operatorController
350+ // .povDown()
351+ // .whileTrue(
352+ // tail.setTargetPoseCmmd(Tail.POSE_ALGAE_LOW).alongWith(tail.setRollerSpeedCmmd(1)))
353+ // .whileFalse(tail.setRollerSpeedCmmd(0));
315354
316355 // * SUPERSTRUCTURE INIT
317356 // Map<Requests, Trigger> triggerMap = new HashMap<Superstructure.Requests, Trigger>();
@@ -330,10 +369,18 @@ public Robot() {
330369 operatorController2.getLevelTarget());
331370 */
332371
333- factory = new ChoreoFactory (drivetrain );
334- chooser = factory .getChooser ();
335- SmartDashboard .putData ("sdf" , chooser );
336- RobotModeTriggers .autonomous ().whileTrue (chooser .selectedCommandScheduler ());
372+ // factory = new ChoreoFactory(drivetrain);
373+ // chooser = factory.getChooser();
374+ Command auton =
375+ drivetrain
376+ .runOnce (() -> drivetrain .seedFieldCentric ())
377+ .andThen (
378+ drivetrain
379+ .applyRequest (() -> drive .withVelocityX (MaxSpeed * 0.3 ))
380+ .withDeadline (new WaitCommand (1 )));
381+ RobotModeTriggers .autonomous ().whileTrue (auton );
382+ // SmartDashboard.putData("sdf", chooser);
383+ // RobotModeTriggers.autonomous().whileTrue(chooser.selectedCommandScheduler());
337384 }
338385
339386 private void configureBindings () {
@@ -386,13 +433,7 @@ public void robotPeriodic() {
386433 }
387434
388435 @ Override
389- public void autonomousInit () {
390- Command auton =
391- factory
392- .getMove (); // .withDeadline(Commands.waitUntil(() -> DriverStation.isTeleopEnabled()));
393- // if (auton != null) {
394- auton .schedule ();
395- }
436+ public void autonomousInit () {}
396437
397438 @ Override
398439 public void autonomousPeriodic () {}
0 commit comments