[wpimath] Report error on negative PID gains (#6055)

Defaults PID gains to zero if any are invalid.
This commit is contained in:
Tyler Veness
2023-12-23 12:15:29 -08:00
committed by GitHub
parent 1dba26c937
commit 22a322c9f3
9 changed files with 92 additions and 48 deletions

View File

@@ -31,9 +31,7 @@ class Robot : public frc::TimedRobot {
private:
// proportional speed constant
// negative because applying positive voltage will bring us closer to the
// target
static constexpr double kP = -0.001;
static constexpr double kP = 0.001;
// integral speed constant
static constexpr double kI = 0.0;
// derivative speed constant

View File

@@ -57,7 +57,7 @@ class UltrasonicPIDTest : public testing::TestWithParam<double> {
m_driveSim.Update(20_ms);
auto startingDistance = units::meter_t{GetParam()};
m_distance = startingDistance - m_driveSim.GetLeftPosition();
m_distance = m_driveSim.GetLeftPosition() - startingDistance;
m_ultrasonicSim.SetRange(m_distance);
}
@@ -99,8 +99,7 @@ TEST_P(UltrasonicPIDTest, Auto) {
}
{
// advance 100 timesteps
frc::sim::StepTiming(2_s);
frc::sim::StepTiming(5_s);
EXPECT_NEAR(Robot::kHoldDistance.value(), m_distance.value(), 10.0);
}