diff --git a/wpimath/src/test/java/edu/wpi/first/math/controller/LinearQuadraticRegulatorTest.java b/wpimath/src/test/java/edu/wpi/first/math/controller/LinearQuadraticRegulatorTest.java index 48278ced6e..abb26dc8da 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/controller/LinearQuadraticRegulatorTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/controller/LinearQuadraticRegulatorTest.java @@ -29,12 +29,12 @@ class LinearQuadraticRegulatorTest { var qElms = VecBuilder.fill(0.02, 0.4); var rElms = VecBuilder.fill(12.0); - var dt = 0.00505; + var dt = 0.005; var K = new LinearQuadraticRegulator<>(plant, qElms, rElms, dt).getK(); - assertEquals(522.153, K.get(0, 0), 0.1); - assertEquals(38.2, K.get(0, 1), 0.1); + assertEquals(522.87006795347486, K.get(0, 0), 1e-6); + assertEquals(38.239878385020411, K.get(0, 1), 1e-6); } @Test @@ -65,12 +65,12 @@ class LinearQuadraticRegulatorTest { var qElms = VecBuilder.fill(0.01745, 0.08726); var rElms = VecBuilder.fill(12.0); - var dt = 0.00505; + var dt = 0.005; var K = new LinearQuadraticRegulator<>(plant, qElms, rElms, dt).getK(); - assertEquals(19.16, K.get(0, 0), 0.1); - assertEquals(3.32, K.get(0, 1), 0.1); + assertEquals(19.339349883583761, K.get(0, 0), 1e-6); + assertEquals(3.3542559517421582, K.get(0, 1), 1e-6); } /** diff --git a/wpimath/src/test/java/edu/wpi/first/math/controller/LinearSystemLoopTest.java b/wpimath/src/test/java/edu/wpi/first/math/controller/LinearSystemLoopTest.java index a34b8b68a8..4baaf2d551 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/controller/LinearSystemLoopTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/controller/LinearSystemLoopTest.java @@ -22,7 +22,7 @@ import java.util.Random; import org.junit.jupiter.api.Test; class LinearSystemLoopTest { - private static final double kDt = 0.00505; + private static final double kDt = 0.005; private static final double kPositionStddev = 0.0001; private static final Random random = new Random(); @@ -45,12 +45,12 @@ class LinearSystemLoopTest { (LinearSystem) m_plant.slice(0), VecBuilder.fill(0.02, 0.4), VecBuilder.fill(12.0), - 0.00505); + 0.005); @SuppressWarnings("unchecked") private final LinearSystemLoop m_loop = new LinearSystemLoop<>( - (LinearSystem) m_plant.slice(0), m_controller, m_observer, 12, 0.00505); + (LinearSystem) m_plant.slice(0), m_controller, m_observer, 12, 0.005); private static void updateTwoState( LinearSystem plant, LinearSystemLoop loop, double noise) { diff --git a/wpimath/src/test/java/edu/wpi/first/math/estimator/ExtendedKalmanFilterTest.java b/wpimath/src/test/java/edu/wpi/first/math/estimator/ExtendedKalmanFilterTest.java index a1b5b3a1cf..7ea9c9ec5a 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/estimator/ExtendedKalmanFilterTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/estimator/ExtendedKalmanFilterTest.java @@ -68,7 +68,7 @@ class ExtendedKalmanFilterTest { @Test void testInit() { - double dtSeconds = 0.00505; + double dtSeconds = 0.005; assertDoesNotThrow( () -> { @@ -98,7 +98,7 @@ class ExtendedKalmanFilterTest { @Test void testConvergence() { - double dtSeconds = 0.00505; + double dtSeconds = 0.005; double rbMeters = 0.8382 / 2.0; // Robot radius ExtendedKalmanFilter observer = diff --git a/wpimath/src/test/java/edu/wpi/first/math/estimator/KalmanFilterTest.java b/wpimath/src/test/java/edu/wpi/first/math/estimator/KalmanFilterTest.java index 42fbd92db0..c3369161cf 100644 --- a/wpimath/src/test/java/edu/wpi/first/math/estimator/KalmanFilterTest.java +++ b/wpimath/src/test/java/edu/wpi/first/math/estimator/KalmanFilterTest.java @@ -29,7 +29,7 @@ import org.junit.jupiter.api.Test; class KalmanFilterTest { private static LinearSystem elevatorPlant; - private static final double kDt = 0.00505; + private static final double kDt = 0.005; static { createElevator(); diff --git a/wpimath/src/test/native/cpp/controller/DifferentialDriveAccelerationLimiterTest.cpp b/wpimath/src/test/native/cpp/controller/DifferentialDriveAccelerationLimiterTest.cpp index 452e017ecc..fe22274228 100644 --- a/wpimath/src/test/native/cpp/controller/DifferentialDriveAccelerationLimiterTest.cpp +++ b/wpimath/src/test/native/cpp/controller/DifferentialDriveAccelerationLimiterTest.cpp @@ -12,7 +12,7 @@ namespace frc { TEST(DifferentialDriveAccelerationLimiterTest, LowLimits) { constexpr auto trackwidth = 0.9_m; - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; constexpr auto maxA = 2_mps_sq; constexpr auto maxAlpha = 2_rad_per_s_sq; @@ -105,7 +105,7 @@ TEST(DifferentialDriveAccelerationLimiterTest, LowLimits) { TEST(DifferentialDriveAccelerationLimiterTest, HighLimits) { constexpr auto trackwidth = 0.9_m; - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; using Kv_t = decltype(1_V / 1_mps); using Ka_t = decltype(1_V / 1_mps_sq); @@ -173,7 +173,7 @@ TEST(DifferentialDriveAccelerationLimiterTest, HighLimits) { TEST(DifferentialDriveAccelerationLimiterTest, SeparateMinMaxLowLimits) { constexpr auto trackwidth = 0.9_m; - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; constexpr auto minA = -1_mps_sq; constexpr auto maxA = 2_mps_sq; constexpr auto maxAlpha = 2_rad_per_s_sq; diff --git a/wpimath/src/test/native/cpp/controller/DifferentialDriveFeedforwardTest.cpp b/wpimath/src/test/native/cpp/controller/DifferentialDriveFeedforwardTest.cpp index 5428d843ca..c0a0cdb02e 100644 --- a/wpimath/src/test/native/cpp/controller/DifferentialDriveFeedforwardTest.cpp +++ b/wpimath/src/test/native/cpp/controller/DifferentialDriveFeedforwardTest.cpp @@ -20,7 +20,7 @@ TEST(DifferentialDriveFeedforwardTest, CalculateWithTrackwidth) { constexpr auto kVAngular = 1_V / 1_rad_per_s; constexpr auto kAAngular = 1_V / 1_rad_per_s_sq; constexpr auto trackwidth = 1_m; - constexpr auto dt = 20_ms; + constexpr units::second_t dt = 20_ms; frc::DifferentialDriveFeedforward differentialDriveFeedforward{ kVLinear, kALinear, kVAngular, kAAngular, trackwidth}; @@ -54,7 +54,7 @@ TEST(DifferentialDriveFeedforwardTest, CalculateWithoutTrackwidth) { constexpr auto kALinear = 1_V / 1_mps_sq; constexpr auto kVAngular = 1_V / 1_mps; constexpr auto kAAngular = 1_V / 1_mps_sq; - constexpr auto dt = 20_ms; + constexpr units::second_t dt = 20_ms; frc::DifferentialDriveFeedforward differentialDriveFeedforward{ kVLinear, kALinear, kVAngular, kAAngular}; diff --git a/wpimath/src/test/native/cpp/controller/ImplicitModelFollowerTest.cpp b/wpimath/src/test/native/cpp/controller/ImplicitModelFollowerTest.cpp index afa491a7b1..7994c84526 100644 --- a/wpimath/src/test/native/cpp/controller/ImplicitModelFollowerTest.cpp +++ b/wpimath/src/test/native/cpp/controller/ImplicitModelFollowerTest.cpp @@ -10,7 +10,7 @@ namespace frc { TEST(ImplicitModelFollowerTest, SameModel) { - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; using Kv_t = decltype(1_V / 1_mps); using Ka_t = decltype(1_V / 1_mps_sq); @@ -54,7 +54,7 @@ TEST(ImplicitModelFollowerTest, SameModel) { } TEST(ImplicitModelFollowerTest, SlowerRefModel) { - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; using Kv_t = decltype(1_V / 1_mps); using Ka_t = decltype(1_V / 1_mps_sq); diff --git a/wpimath/src/test/native/cpp/controller/LinearQuadraticRegulatorTest.cpp b/wpimath/src/test/native/cpp/controller/LinearQuadraticRegulatorTest.cpp index 3efb08d614..7f4a4e049a 100644 --- a/wpimath/src/test/native/cpp/controller/LinearQuadraticRegulatorTest.cpp +++ b/wpimath/src/test/native/cpp/controller/LinearQuadraticRegulatorTest.cpp @@ -31,10 +31,10 @@ TEST(LinearQuadraticRegulatorTest, ElevatorGains) { return frc::LinearSystemId::ElevatorSystem(motors, m, r, G).Slice(0); }(); Matrixd<1, 2> K = - LinearQuadraticRegulator<2, 1>{plant, {0.02, 0.4}, {12.0}, 5.05_ms}.K(); + LinearQuadraticRegulator<2, 1>{plant, {0.02, 0.4}, {12.0}, 5_ms}.K(); - EXPECT_NEAR(522.15314269, K(0, 0), 1e-6); - EXPECT_NEAR(38.20138596, K(0, 1), 1e-6); + EXPECT_NEAR(522.87006795347486, K(0, 0), 1e-6); + EXPECT_NEAR(38.239878385020411, K(0, 1), 1e-6); } TEST(LinearQuadraticRegulatorTest, ArmGains) { @@ -56,11 +56,11 @@ TEST(LinearQuadraticRegulatorTest, ArmGains) { }(); Matrixd<1, 2> K = - LinearQuadraticRegulator<2, 1>{plant, {0.01745, 0.08726}, {12.0}, 5.05_ms} + LinearQuadraticRegulator<2, 1>{plant, {0.01745, 0.08726}, {12.0}, 5_ms} .K(); - EXPECT_NEAR(19.16, K(0, 0), 1e-1); - EXPECT_NEAR(3.32, K(0, 1), 1e-1); + EXPECT_NEAR(19.339349883583761, K(0, 0), 1e-6); + EXPECT_NEAR(3.3542559517421582, K(0, 1), 1e-6); } TEST(LinearQuadraticRegulatorTest, FourMotorElevator) { diff --git a/wpimath/src/test/native/cpp/estimator/ExtendedKalmanFilterTest.cpp b/wpimath/src/test/native/cpp/estimator/ExtendedKalmanFilterTest.cpp index 362de8b699..e54c8bb32c 100644 --- a/wpimath/src/test/native/cpp/estimator/ExtendedKalmanFilterTest.cpp +++ b/wpimath/src/test/native/cpp/estimator/ExtendedKalmanFilterTest.cpp @@ -61,7 +61,7 @@ frc::Vectord<5> GlobalMeasurementModel( } // namespace TEST(ExtendedKalmanFilterTest, Init) { - constexpr auto dt = 0.00505_s; + constexpr units::second_t dt = 5_ms; frc::ExtendedKalmanFilter<5, 2, 3> observer{Dynamics, LocalMeasurementModel, @@ -80,7 +80,7 @@ TEST(ExtendedKalmanFilterTest, Init) { } TEST(ExtendedKalmanFilterTest, Convergence) { - constexpr auto dt = 0.00505_s; + constexpr units::second_t dt = 5_ms; constexpr auto rb = 0.8382_m / 2.0; // Robot radius frc::ExtendedKalmanFilter<5, 2, 3> observer{Dynamics, diff --git a/wpimath/src/test/native/cpp/estimator/UnscentedKalmanFilterTest.cpp b/wpimath/src/test/native/cpp/estimator/UnscentedKalmanFilterTest.cpp index 21d2df98f4..01a4ee8bcc 100644 --- a/wpimath/src/test/native/cpp/estimator/UnscentedKalmanFilterTest.cpp +++ b/wpimath/src/test/native/cpp/estimator/UnscentedKalmanFilterTest.cpp @@ -68,7 +68,7 @@ frc::Vectord<5> DriveGlobalMeasurementModel( } TEST(UnscentedKalmanFilterTest, DriveInit) { - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; frc::UnscentedKalmanFilter<5, 2, 3> observer{DriveDynamics, DriveLocalMeasurementModel, @@ -94,7 +94,7 @@ TEST(UnscentedKalmanFilterTest, DriveInit) { } TEST(UnscentedKalmanFilterTest, DriveConvergence) { - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; constexpr auto rb = 0.8382_m / 2.0; // Robot radius frc::UnscentedKalmanFilter<5, 2, 3> observer{DriveDynamics, @@ -206,7 +206,7 @@ TEST(UnscentedKalmanFilterTest, LinearUKF) { } TEST(UnscentedKalmanFilterTest, RoundTripP) { - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; frc::UnscentedKalmanFilter<2, 2, 2> observer{ [](const frc::Vectord<2>& x, const frc::Vectord<2>& u) { return x; }, diff --git a/wpimath/src/test/native/cpp/system/DiscretizationTest.cpp b/wpimath/src/test/native/cpp/system/DiscretizationTest.cpp index 055ee49736..fec4447531 100644 --- a/wpimath/src/test/native/cpp/system/DiscretizationTest.cpp +++ b/wpimath/src/test/native/cpp/system/DiscretizationTest.cpp @@ -56,7 +56,7 @@ TEST(DiscretizationTest, DiscretizeSlowModelAQ) { frc::Matrixd<2, 2> contA{{0, 1}, {0, 0}}; frc::Matrixd<2, 2> contQ{{1, 0}, {0, 1}}; - constexpr auto dt = 1_s; + constexpr units::second_t dt = 1_s; // T // Q_d ≈ ∫ e^(Aτ) Q e^(Aᵀτ) dτ @@ -88,7 +88,7 @@ TEST(DiscretizationTest, DiscretizeFastModelAQ) { frc::Matrixd<2, 2> contA{{0, 1}, {0, -1406.29}}; frc::Matrixd<2, 2> contQ{{0.0025, 0}, {0, 1}}; - constexpr auto dt = 5_ms; + constexpr units::second_t dt = 5_ms; // T // Q_d = ∫ e^(Aτ) Q e^(Aᵀτ) dτ