Visual interfacing changes, needs more work before an actual implementation is tried with PhotonLib
This commit is contained in:
parent
5e784eb9f6
commit
224d966e3e
@ -0,0 +1,9 @@
|
|||||||
|
package frc.robot.interfaces;
|
||||||
|
|
||||||
|
import java.util.OptionalDouble;
|
||||||
|
|
||||||
|
public interface IAprilTagProvider {
|
||||||
|
|
||||||
|
public OptionalDouble getTagHorizontalOffsetByID(int id);
|
||||||
|
public OptionalDouble getTagDistanceFromCameraByID(int id);
|
||||||
|
}
|
@ -1,8 +1,10 @@
|
|||||||
package frc.robot.utilities;
|
package frc.robot.interfaces;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import edu.wpi.first.math.geometry.Pose2d;
|
import edu.wpi.first.math.geometry.Pose2d;
|
||||||
|
|
||||||
public interface VisualPoseProvider {
|
public interface IVisualPoseProvider {
|
||||||
public record VisualPose(Pose2d visualPose, double timestamp) {}
|
public record VisualPose(Pose2d visualPose, double timestamp) {}
|
||||||
|
|
||||||
public VisualPose getVisualPose();
|
public VisualPose getVisualPose();
|
@ -24,7 +24,7 @@ import frc.robot.constants.AutoConstants;
|
|||||||
import frc.robot.constants.DrivetrainConstants;
|
import frc.robot.constants.DrivetrainConstants;
|
||||||
import frc.robot.utilities.MAXSwerveModule;
|
import frc.robot.utilities.MAXSwerveModule;
|
||||||
import frc.robot.utilities.SwerveUtils;
|
import frc.robot.utilities.SwerveUtils;
|
||||||
import frc.robot.utilities.VisualPoseProvider;
|
import frc.robot.interfaces.IVisualPoseProvider;
|
||||||
import edu.wpi.first.wpilibj2.command.Command;
|
import edu.wpi.first.wpilibj2.command.Command;
|
||||||
import edu.wpi.first.wpilibj2.command.PIDCommand;
|
import edu.wpi.first.wpilibj2.command.PIDCommand;
|
||||||
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
||||||
@ -42,7 +42,7 @@ public class Drivetrain extends SubsystemBase {
|
|||||||
private final SlewRateLimiter m_magLimiter;
|
private final SlewRateLimiter m_magLimiter;
|
||||||
private final SlewRateLimiter m_rotLimiter;
|
private final SlewRateLimiter m_rotLimiter;
|
||||||
|
|
||||||
private final VisualPoseProvider m_visualPoseProvider;
|
private final IVisualPoseProvider m_visualPoseProvider;
|
||||||
|
|
||||||
// Odometry class for tracking robot pose
|
// Odometry class for tracking robot pose
|
||||||
SwerveDrivePoseEstimator m_poseEstimator;
|
SwerveDrivePoseEstimator m_poseEstimator;
|
||||||
@ -55,7 +55,7 @@ public class Drivetrain extends SubsystemBase {
|
|||||||
private double m_prevTime;
|
private double m_prevTime;
|
||||||
|
|
||||||
/** Creates a new DriveSubsystem. */
|
/** Creates a new DriveSubsystem. */
|
||||||
public Drivetrain(Pose2d initialPose, VisualPoseProvider visualPoseProvider) {
|
public Drivetrain(Pose2d initialPose, IVisualPoseProvider visualPoseProvider) {
|
||||||
m_frontLeft = new MAXSwerveModule(
|
m_frontLeft = new MAXSwerveModule(
|
||||||
DrivetrainConstants.kFrontLeftDrivingCanId,
|
DrivetrainConstants.kFrontLeftDrivingCanId,
|
||||||
DrivetrainConstants.kFrontLeftTurningCanId,
|
DrivetrainConstants.kFrontLeftTurningCanId,
|
||||||
|
Loading…
Reference in New Issue
Block a user