From 2b2416ac0091678e83d60599c074cd1b0d47028c Mon Sep 17 00:00:00 2001 From: Carl Hauser Date: Wed, 27 Mar 2024 22:53:50 -0700 Subject: [PATCH] Further correction of the comments on PIDController.setIntegratorRange and PIDController::SetIntegratorRange --- .../wpi/first/math/controller/PIDController.java | 14 +++++++++----- .../native/include/frc/controller/PIDController.h | 14 ++++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/wpimath/src/main/java/edu/wpi/first/math/controller/PIDController.java b/wpimath/src/main/java/edu/wpi/first/math/controller/PIDController.java index 32976869b54..5a75e893bf7 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/controller/PIDController.java +++ b/wpimath/src/main/java/edu/wpi/first/math/controller/PIDController.java @@ -337,14 +337,18 @@ public boolean isContinuousInputEnabled() { } /** - * Sets the minimum and maximum values for the integrator. + * Sets the minimum and maximum contributions of the integrator. * - *

If the integrator value is outside the range [minimumIntegral..maximumIntegral] the integral - * gain times the corresponding limit is added to the controller output rather than the integral + *

If the integrator value is outside the range [minimumIntegral/ki..maximumIntegral/ki] either + * minimumIntegral or maximumIntegral is added to the controller output instead of the integral * gain times the integrator value. * - * @param minimumIntegral The minimum value of the integrator. - * @param maximumIntegral The maximum value of the integrator. + *

Additionally, the integrator value is set to minimumIntegral/ki or maximumIntegral/ki + * whenever the integrator value would fall outside the range + * [minimumIntegral/ki..maximumIntegral/ki]. + * + * @param minimumIntegral The minimum contribution of the integral term + * @param maximumIntegral The maximum contribution of the integral term */ public void setIntegratorRange(double minimumIntegral, double maximumIntegral) { m_minimumIntegral = minimumIntegral; diff --git a/wpimath/src/main/native/include/frc/controller/PIDController.h b/wpimath/src/main/native/include/frc/controller/PIDController.h index f1e172f9ef4..40426033af2 100644 --- a/wpimath/src/main/native/include/frc/controller/PIDController.h +++ b/wpimath/src/main/native/include/frc/controller/PIDController.h @@ -179,14 +179,16 @@ class WPILIB_DLLEXPORT PIDController bool IsContinuousInputEnabled() const; /** - * Sets the minimum and maximum values for the integrator. + * Sets the minimum and maximum contributions of the integrator. * - * If the integrator value is outside the range [minimumIntegral..maximumIntegral] - * the integral gain times the corresponding limit is added to the controller output - * rather than the integral gain times the integrator value. + *

If the integrator value is outside the range [minimumIntegral/Ki..maximumIntegral/Ki] + * either minimumIntegral or maximumIntegral is added to the controller output + * instead of the integral gain times the integrator value. + *

Additionally, the integrator value is set to minimumIntegral/Ki or maximumIntegral/Ki whenever + * the integrator value would fall outside the range [minimumIntegral/Ki..maximumIntegral/Ki]. * - * @param minimumIntegral The minimum value of the integrator. - * @param maximumIntegral The maximum value of the integrator. + * @param minimumIntegral The minimum contribution of the integral term + * @param maximumIntegral The maximum contribution of the integral term */ void SetIntegratorRange(double minimumIntegral, double maximumIntegral);