From f473599b99b7e87b8f4c75ae951ae156b1381e61 Mon Sep 17 00:00:00 2001 From: London-Grant Date: Sat, 20 Jan 2024 11:07:25 -0500 Subject: [PATCH 01/12] Created baseline auto --- .../drive/commands/auto/DriveTimeCommand.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java new file mode 100644 index 00000000..dc67f179 --- /dev/null +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -0,0 +1,46 @@ +package frc.robot.commands.drivetrain; + +import edu.wpi.first.wpilibj.Timer; +import edu.wpi.first.wpilibj2.command.CommandBase; +import frc.robot.subsystems.DriveSubsystem; + +public class DriveTime +{ + private final DriveSubsystem drive; + + private double driveSeconds; + private double drivePower; + + private Timer timer = new Timer(); + + public DriveTime(double seconds, double power, DriveSubsystem subsystem) { + + driveSeconds = seconds; + drivePower = power; + + drive = subsystem; + + } + + public void initialize() { + + timer.start(); + timer.reset(); + + } + + @Override + public void execute() { + + drive.drive(drivePower, 0, 0, false); + + } + + @Override + public boolean isFinished() { + + return timer.get() >= driveSeconds; + + } + +} \ No newline at end of file From 0e66e1c1c93a797f08c70b1f46a3c04361fcc056 Mon Sep 17 00:00:00 2001 From: Luhan Wang <117863446+Lu-han-wang@users.noreply.github.com> Date: Sat, 20 Jan 2024 11:14:05 -0500 Subject: [PATCH 02/12] fixed something --- .../drive/commands/auto/DriveTimeCommand.java | 55 ++++++++++--------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java index dc67f179..fe687ea0 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -1,46 +1,47 @@ -package frc.robot.commands.drivetrain; +package org.jmhsrobotics.frc2024.subsystems.drive.commands.auto; + +import org.jmhsrobotics.frc2024.subsystems.drive.DriveSubsystem; import edu.wpi.first.wpilibj.Timer; -import edu.wpi.first.wpilibj2.command.CommandBase; -import frc.robot.subsystems.DriveSubsystem; +import edu.wpi.first.wpilibj2.command.Command; -public class DriveTime -{ - private final DriveSubsystem drive; +public class DriveTimeCommand extends Command { + + private DriveSubsystem drive; - private double driveSeconds; - private double drivePower; + private double driveSeconds; + private double drivePower; - private Timer timer = new Timer(); + private Timer timer = new Timer(); - public DriveTime(double seconds, double power, DriveSubsystem subsystem) { + public DriveTimeCommand(double seconds, double power, DriveSubsystem subsystem) { - driveSeconds = seconds; - drivePower = power; + driveSeconds = seconds; + drivePower = power; - drive = subsystem; + drive = subsystem; - } + } - public void initialize() { + public void initialize() { - timer.start(); - timer.reset(); + timer.start(); + timer.reset(); - } + } - @Override - public void execute() { + @Override + public void execute() { - drive.drive(drivePower, 0, 0, false); + this.drive.drive(drivePower, 0, 0, false); - } + } - @Override - public boolean isFinished() { + @Override + public boolean isFinished() { - return timer.get() >= driveSeconds; + return timer.get() >= driveSeconds; - } + } -} \ No newline at end of file +} From 4b701313572bd73cbaf5568f8d5d87ee64bed804 Mon Sep 17 00:00:00 2001 From: London-Grant Date: Sat, 20 Jan 2024 11:25:39 -0500 Subject: [PATCH 03/12] Updated the auto baseline --- src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index f587c41d..bdd23f9f 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -73,7 +73,7 @@ private void configureBindings() { public Command getAutonomousCommand() { Command picked = autoChooser.getSelected(); if (picked == null) { - return Commands.print("No autonomous command configured"); + return new DriveTimeCommand(10.0, 0.3, driveSubsystem); } else { return picked; } From b76a7419093a5a4cbaac3c14519a176994568e73 Mon Sep 17 00:00:00 2001 From: Luhan Wang <117863446+Lu-han-wang@users.noreply.github.com> Date: Sat, 20 Jan 2024 11:28:33 -0500 Subject: [PATCH 04/12] small fix --- src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java | 1 + .../subsystems/drive/commands/auto/DriveTimeCommand.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index bdd23f9f..1bd01f38 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -10,6 +10,7 @@ import org.jmhsrobotics.frc2024.subsystems.drive.DriveSubsystem; import org.jmhsrobotics.frc2024.subsystems.drive.commands.DriveCommand; import org.jmhsrobotics.frc2024.subsystems.drive.commands.IntakeCommand; +import org.jmhsrobotics.frc2024.subsystems.drive.commands.auto.DriveTimeCommand; import org.jmhsrobotics.frc2024.subsystems.vision.VisionSubsystem; import com.pathplanner.lib.auto.AutoBuilder; diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java index fe687ea0..fa269734 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -33,7 +33,7 @@ public void initialize() { @Override public void execute() { - this.drive.drive(drivePower, 0, 0, false); + this.drive.drive(drivePower, 0, 0, true, false); } From 6b23086e16d70b872b5a7032d174cce0e48b7944 Mon Sep 17 00:00:00 2001 From: London-Grant Date: Sat, 20 Jan 2024 11:31:38 -0500 Subject: [PATCH 05/12] Update DriveTimeCommand.java --- .../subsystems/drive/commands/auto/DriveTimeCommand.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java index fa269734..15677b36 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -44,4 +44,13 @@ public boolean isFinished() { } + public void end() + { + if (!isFinsihed()) + { + drivePower = 0; + } + + } + } From f37f710eda6575a88793845f67f11375209655d6 Mon Sep 17 00:00:00 2001 From: London-Grant Date: Sat, 20 Jan 2024 11:37:54 -0500 Subject: [PATCH 06/12] Fixed end command in auto drive --- .../subsystems/drive/commands/auto/DriveTimeCommand.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java index 15677b36..f02fc584 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -46,10 +46,7 @@ public boolean isFinished() { public void end() { - if (!isFinsihed()) - { - drivePower = 0; - } + this.drive.drive(0, 0, 0, true, false); } From 5fb15fc96b4be66192e52132b7901963a87de9e8 Mon Sep 17 00:00:00 2001 From: Luhan Wang <117863446+Lu-han-wang@users.noreply.github.com> Date: Sat, 20 Jan 2024 11:41:36 -0500 Subject: [PATCH 07/12] fixed driving time --- src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index 1bd01f38..d9c84a6b 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -74,7 +74,7 @@ private void configureBindings() { public Command getAutonomousCommand() { Command picked = autoChooser.getSelected(); if (picked == null) { - return new DriveTimeCommand(10.0, 0.3, driveSubsystem); + return new DriveTimeCommand(1.535, 0.3, driveSubsystem); } else { return picked; } From a3298064205e4165560b0bd561d454cb694388a3 Mon Sep 17 00:00:00 2001 From: Luhan Wang <117863446+Lu-han-wang@users.noreply.github.com> Date: Sat, 20 Jan 2024 11:46:22 -0500 Subject: [PATCH 08/12] fixed formatting --- .../java/org/jmhsrobotics/frc2024/RobotContainer.java | 1 - .../subsystems/drive/commands/auto/DriveTimeCommand.java | 9 ++++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index d9c84a6b..62497470 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -25,7 +25,6 @@ import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.CommandScheduler; -import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.WaitCommand; public class RobotContainer { diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java index f02fc584..ca659885 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -6,7 +6,7 @@ import edu.wpi.first.wpilibj2.command.Command; public class DriveTimeCommand extends Command { - + private DriveSubsystem drive; private double driveSeconds; @@ -44,10 +44,9 @@ public boolean isFinished() { } - public void end() - { - this.drive.drive(0, 0, 0, true, false); + public void end() { + this.drive.drive(0, 0, 0, true, false); - } + } } From cba812c0b9bf57144faaa8ee34a7334019e6cd78 Mon Sep 17 00:00:00 2001 From: Luhan Wang <117863446+Lu-han-wang@users.noreply.github.com> Date: Mon, 22 Jan 2024 18:59:24 -0500 Subject: [PATCH 09/12] added sim support --- simgui.json | 11 +++++++++++ .../java/org/jmhsrobotics/frc2024/RobotContainer.java | 1 + 2 files changed, 12 insertions(+) diff --git a/simgui.json b/simgui.json index 705623b4..7ed0d1fa 100644 --- a/simgui.json +++ b/simgui.json @@ -17,6 +17,7 @@ "types": { "/FMSInfo": "FMSInfo", "/SmartDashboard/Auto Chooser": "String Chooser", + "/SmartDashboard/BaseLineAuto": "Command", "/SmartDashboard/Field": "Field2d", "/SmartDashboard/IntakeCommand": "Command", "/SmartDashboard/PIDController[2]": "PIDController", @@ -30,6 +31,11 @@ "visible": true } }, + "/SmartDashboard/BaseLineAuto": { + "window": { + "visible": true + } + }, "/SmartDashboard/Field": { "window": { "visible": true @@ -44,6 +50,11 @@ "window": { "visible": true } + }, + "/SmartDashboard/VisionSystemSim-main/Sim Field": { + "window": { + "visible": true + } } } }, diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index e0d821c0..e97d55f1 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -45,6 +45,7 @@ public RobotContainer() { this.driveSubsystem.setDefaultCommand(new DriveCommand(this.driveSubsystem, this.control)); this.ledSubsystem.setDefaultCommand(new RainbowLEDCommand(this.ledSubsystem)); SmartDashboard.putData("Schedular", CommandScheduler.getInstance()); + SmartDashboard.putData("BaseLineAuto", new DriveTimeCommand(19, 0.2, this.driveSubsystem)); configureBindings(); // Named commands must be added before building the chooser. From 0d4a721a7294b5ab6bc884a26253940b298e6411 Mon Sep 17 00:00:00 2001 From: London-Grant Date: Mon, 22 Jan 2024 19:18:12 -0500 Subject: [PATCH 10/12] Fixed implimentation --- src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index e97d55f1..157185df 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -45,7 +45,7 @@ public RobotContainer() { this.driveSubsystem.setDefaultCommand(new DriveCommand(this.driveSubsystem, this.control)); this.ledSubsystem.setDefaultCommand(new RainbowLEDCommand(this.ledSubsystem)); SmartDashboard.putData("Schedular", CommandScheduler.getInstance()); - SmartDashboard.putData("BaseLineAuto", new DriveTimeCommand(19, 0.2, this.driveSubsystem)); + SmartDashboard.putData("BaseLineAuto", new DriveTimeCommand(1.535, 0.3, driveSubsystem)); configureBindings(); // Named commands must be added before building the chooser. From 12bbc4bb6c8be68720d596e26a401b66eeac5dc5 Mon Sep 17 00:00:00 2001 From: m10653 Date: Mon, 29 Jan 2024 13:46:06 +0000 Subject: [PATCH 11/12] Add default option for baseline auto. --- src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java index dd9ee0a2..4a11b489 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java +++ b/src/main/java/org/jmhsrobotics/frc2024/RobotContainer.java @@ -45,13 +45,13 @@ public RobotContainer() { this.driveSubsystem.setDefaultCommand(new DriveCommand(this.driveSubsystem, this.control)); this.ledSubsystem.setDefaultCommand(new RainbowLEDCommand(this.ledSubsystem)); - SmartDashboard.putData("Schedular", CommandScheduler.getInstance()); - SmartDashboard.putData("BaseLineAuto", new DriveTimeCommand(1.535, 0.3, driveSubsystem)); + SmartDashboard.putData("Scheduler", CommandScheduler.getInstance()); configureBindings(); // Named commands must be added before building the chooser. configurePathPlanner(); autoChooser = AutoBuilder.buildAutoChooser(); + autoChooser.setDefaultOption("BaseLineAuto", new DriveTimeCommand(1.535, 0.3, driveSubsystem)); SmartDashboard.putData("Auto Chooser", autoChooser); } @@ -79,6 +79,7 @@ private void configureBindings() { public Command getAutonomousCommand() { Command picked = autoChooser.getSelected(); if (picked == null) { + DriverStation.reportError("WARNING: No auto command detected, defaulting to baseline auto.", false); return new DriveTimeCommand(1.535, 0.3, driveSubsystem); } else { return picked; From 106148c88b16bded65d479719954f015d282ee38 Mon Sep 17 00:00:00 2001 From: m10653 Date: Mon, 29 Jan 2024 13:52:31 +0000 Subject: [PATCH 12/12] Switch to fieldRelative false --- .../subsystems/drive/commands/auto/DriveTimeCommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java index ca659885..dc1affba 100644 --- a/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java +++ b/src/main/java/org/jmhsrobotics/frc2024/subsystems/drive/commands/auto/DriveTimeCommand.java @@ -33,7 +33,7 @@ public void initialize() { @Override public void execute() { - this.drive.drive(drivePower, 0, 0, true, false); + this.drive.drive(drivePower, 0, 0, false, false); } @@ -45,7 +45,7 @@ public boolean isFinished() { } public void end() { - this.drive.drive(0, 0, 0, true, false); + this.drive.drive(0, 0, 0, false, false); }