Skip to content

Commit 442e728

Browse files
committed
Goated changes sim
1 parent d936f1a commit 442e728

21 files changed

+733
-73
lines changed

choreo.chor

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104945,6 +104945,41 @@
104945104945
"circleObstacles": [],
104946104946
"eventMarkers": [],
104947104947
"isTrajectoryStale": false
104948+
},
104949+
"New Path": {
104950+
"waypoints": [
104951+
{
104952+
"x": 8.274157524108887,
104953+
"y": 7.469854831695557,
104954+
"heading": 0,
104955+
"isInitialGuess": false,
104956+
"translationConstrained": true,
104957+
"headingConstrained": true,
104958+
"controlIntervalCount": 40
104959+
}
104960+
],
104961+
"trajectory": [],
104962+
"trajectoryWaypoints": [],
104963+
"constraints": [
104964+
{
104965+
"scope": [
104966+
"first"
104967+
],
104968+
"type": "StopPoint"
104969+
},
104970+
{
104971+
"scope": [
104972+
"last"
104973+
],
104974+
"type": "StopPoint"
104975+
}
104976+
],
104977+
"usesControlIntervalGuessing": true,
104978+
"defaultControlIntervalCount": 40,
104979+
"usesDefaultFieldObstacles": true,
104980+
"circleObstacles": [],
104981+
"eventMarkers": [],
104982+
"isTrajectoryStale": true
104948104983
}
104949104984
},
104950104985
"splitTrajectoriesAtStopPoints": true,

src/main/java/frc/robot/Robot.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package frc.robot;
22

33
import com.ctre.phoenix6.SignalLogger;
4-
import edu.wpi.first.math.geometry.Pose2d;
5-
import edu.wpi.first.math.geometry.Rotation2d;
64
import edu.wpi.first.wpilibj.DriverStation;
75
import edu.wpi.first.wpilibj.GenericHID;
86
import edu.wpi.first.wpilibj.PowerDistribution;
@@ -13,7 +11,6 @@
1311
import edu.wpi.first.wpilibj2.command.Commands;
1412
import edu.wpi.first.wpilibj2.command.button.CommandXboxController;
1513
import edu.wpi.first.wpilibj2.command.button.Trigger;
16-
import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine;
1714
import frc.robot.auto.AutoChooser;
1815
import frc.robot.auto.AutoOption;
1916
import frc.robot.auto.Autos;

src/main/java/frc/robot/auto/Autos.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import edu.wpi.first.math.MathUtil;
66
import edu.wpi.first.math.geometry.Pose2d;
77
import edu.wpi.first.math.geometry.Rotation2d;
8-
import edu.wpi.first.math.geometry.Rotation3d;
98
import edu.wpi.first.math.geometry.Translation2d;
109
import edu.wpi.first.wpilibj.DriverStation;
1110
import edu.wpi.first.wpilibj.Timer;
@@ -21,7 +20,6 @@
2120
import frc.robot.subsystems.superstructure.ShotParameters;
2221
import frc.robot.subsystems.superstructure.Superstructure;
2322
import frc.robot.subsystems.vision.PhotonVision;
24-
import org.littletonrobotics.junction.Logger;
2523

2624
import java.util.List;
2725
import java.util.Set;

src/main/java/frc/robot/constants/Constants.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.photonvision.PhotonPoseEstimator;
1111

1212
public interface Constants {
13-
RobotMode CURRENT_MODE = RobotMode.REAL;
13+
RobotMode CURRENT_MODE = RobotMode.SIM;
1414
CompetitionType CURRENT_COMPETITION_TYPE = CompetitionType.TESTING;
1515
double LOOP_PERIOD_SECONDS = 0.02;
1616

@@ -40,22 +40,21 @@ interface Vision {
4040
new Translation3d(Units.inchesToMeters(11.862), Units.inchesToMeters(12.681), Units.inchesToMeters(8.947)),
4141
new Rotation3d(0, Units.degreesToRadians(-25), Units.degreesToRadians(20))
4242
);
43-
4443
Transform3d ROBOT_TO_FC_APRILTAG = new Transform3d(
4544
new Translation3d(Units.inchesToMeters(13.36613), Units.inchesToMeters(8.5202), Units.inchesToMeters(6.759)),
4645
new Rotation3d(0, Units.degreesToRadians(-30), 0)
4746
);
48-
4947
Transform3d ROBOT_TO_FR_APRILTAG = new Transform3d(
5048
new Translation3d(Units.inchesToMeters(11.838), Units.inchesToMeters(-12.861), Units.inchesToMeters(8.947)),
5149
new Rotation3d(0, Units.degreesToRadians(-25), Units.degreesToRadians(-20))
5250
);
53-
54-
Transform3d ROBOT_TO_REAR_NOTED = new Transform3d(
51+
Transform3d ROBOT_TO_REAR_NOTE = new Transform3d(
5552
new Translation3d(Units.inchesToMeters(-16), Units.inchesToMeters(0), Units.inchesToMeters(14)),
5653
new Rotation3d(0, Units.degreesToRadians(21), Units.degreesToRadians(180))
5754
);
5855

56+
double NOTE_HEIGHT_Z = Units.inchesToMeters(2);
57+
5958
/**
6059
* Standard deviations of the supplied pose estimate (before vision, likely to be solely wheel odometry)
6160
*/

src/main/java/frc/robot/constants/FieldConstants.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ public class FieldConstants {
3636
public static final Pose2d RED_AMP_POSE = PoseUtils.flip(BLUE_AMP_POSE);
3737
public static final Pose2d RED_AMP_SCORING_POSE = PoseUtils.flip(BLUE_AMP_SCORING_POSE);
3838

39+
public static final Pose2d[] CENTER_LINE_NOTE_POSES = new Pose2d[] {
40+
new Pose2d(FIELD_LENGTH_X_METERS/2, 7.47, Rotation2d.fromDegrees(0)),
41+
new Pose2d(FIELD_LENGTH_X_METERS/2, 5.79, Rotation2d.fromDegrees(0)),
42+
new Pose2d(FIELD_LENGTH_X_METERS/2, FIELD_WIDTH_Y_METERS / 2.0, Rotation2d.fromDegrees(0)),
43+
new Pose2d(FIELD_LENGTH_X_METERS/2, FIELD_WIDTH_Y_METERS - 5.79, Rotation2d.fromDegrees(0)),
44+
new Pose2d(FIELD_LENGTH_X_METERS/2, FIELD_WIDTH_Y_METERS - 7.47, Rotation2d.fromDegrees(0)),
45+
};
46+
3947
private static Pose2d getAllianceFlippedPose(final Pose2d blueAlliancePose, final Pose2d redAlliancePose) {
4048
final Optional<DriverStation.Alliance> alliance = DriverStation.getAlliance();
4149
if (alliance.isPresent()) {

src/main/java/frc/robot/constants/SimConstants.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import edu.wpi.first.math.geometry.Translation3d;
66
import edu.wpi.first.math.util.Units;
77
import frc.robot.subsystems.drive.constants.SwerveConstants;
8+
import org.photonvision.estimation.TargetModel;
89

910
public interface SimConstants {
1011
// Assume 2mOhm resistance for voltage drop calculation
@@ -41,4 +42,9 @@ interface SwerveModules {
4142
/** Simulated steer voltage required to overcome friction. */
4243
double STEER_KS_VOLTS = 0.25;
4344
}
45+
46+
interface Vision {
47+
TargetModel NOTE_TARGET_MODEL =
48+
new TargetModel(Units.inchesToMeters(14), Units.inchesToMeters(14), Units.inchesToMeters(2));
49+
}
4450
}

src/main/java/frc/robot/subsystems/drive/Swerve.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import edu.wpi.first.math.VecBuilder;
1414
import edu.wpi.first.math.controller.PIDController;
1515
import edu.wpi.first.math.controller.ProfiledPIDController;
16-
import edu.wpi.first.math.estimator.SwerveDrivePoseEstimator;
1716
import edu.wpi.first.math.geometry.*;
1817
import edu.wpi.first.math.kinematics.ChassisSpeeds;
1918
import edu.wpi.first.math.kinematics.SwerveDriveKinematics;
@@ -34,6 +33,7 @@
3433
import frc.robot.constants.Constants;
3534
import frc.robot.constants.HardwareConstants;
3635
import frc.robot.subsystems.drive.constants.SwerveConstants;
36+
import frc.robot.subsystems.drive.estimator.SwerveDrivePoseEstimator;
3737
import frc.robot.subsystems.drive.trajectory.HolonomicChoreoController;
3838
import frc.robot.subsystems.drive.trajectory.HolonomicDriveWithPIDController;
3939
import frc.robot.subsystems.gyro.Gyro;
@@ -360,6 +360,10 @@ public Pose2d getPose() {
360360
return poseEstimator.getEstimatedPosition();
361361
}
362362

363+
public Optional<Pose2d> getPose(final double atTimestamp) {
364+
return poseEstimator.sampleAt(atTimestamp);
365+
}
366+
363367
public Gyro getGyro() {
364368
return gyro;
365369
}

0 commit comments

Comments
 (0)