diff --git a/wpimath/src/main/java/edu/wpi/first/math/controller/LTVDifferentialDriveController.java b/wpimath/src/main/java/edu/wpi/first/math/controller/LTVDifferentialDriveController.java index a3f0017ada..866d062388 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/controller/LTVDifferentialDriveController.java +++ b/wpimath/src/main/java/edu/wpi/first/math/controller/LTVDifferentialDriveController.java @@ -55,6 +55,10 @@ public class LTVDifferentialDriveController { /** * Constructs a linear time-varying differential drive controller. * + *

See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param plant The differential drive velocity plant. * @param trackwidth The distance between the differential drive's left and right wheels in * meters. diff --git a/wpimath/src/main/java/edu/wpi/first/math/controller/LTVUnicycleController.java b/wpimath/src/main/java/edu/wpi/first/math/controller/LTVUnicycleController.java index aa248ebd4f..b0a18df6f1 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/controller/LTVUnicycleController.java +++ b/wpimath/src/main/java/edu/wpi/first/math/controller/LTVUnicycleController.java @@ -75,6 +75,10 @@ public class LTVUnicycleController { /** * Constructs a linear time-varying unicycle controller. * + *

See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param qelems The maximum desired error tolerance for each state. * @param relems The maximum desired control effort for each input. * @param dt Discretization timestep in seconds. @@ -86,6 +90,10 @@ public class LTVUnicycleController { /** * Constructs a linear time-varying unicycle controller. * + *

See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param qelems The maximum desired error tolerance for each state. * @param relems The maximum desired control effort for each input. * @param dt Discretization timestep in seconds. diff --git a/wpimath/src/main/java/edu/wpi/first/math/controller/LinearQuadraticRegulator.java b/wpimath/src/main/java/edu/wpi/first/math/controller/LinearQuadraticRegulator.java index 69ef860b32..658be69317 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/controller/LinearQuadraticRegulator.java +++ b/wpimath/src/main/java/edu/wpi/first/math/controller/LinearQuadraticRegulator.java @@ -35,6 +35,10 @@ public class LinearQuadraticRegulatorSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param plant The plant being controlled. * @param qelms The maximum desired error tolerance for each state. * @param relms The maximum desired control effort for each input. @@ -57,6 +61,10 @@ public class LinearQuadraticRegulatorSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param A Continuous system matrix of the plant being controlled. * @param B Continuous input matrix of the plant being controlled. * @param qelms The maximum desired error tolerance for each state. diff --git a/wpimath/src/main/java/edu/wpi/first/math/estimator/ExtendedKalmanFilter.java b/wpimath/src/main/java/edu/wpi/first/math/estimator/ExtendedKalmanFilter.java index 7e5aa6ea55..c69d94b797 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/estimator/ExtendedKalmanFilter.java +++ b/wpimath/src/main/java/edu/wpi/first/math/estimator/ExtendedKalmanFilter.java @@ -59,6 +59,10 @@ public class ExtendedKalmanFilterSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param states a Nat representing the number of states. * @param inputs a Nat representing the number of inputs. * @param outputs a Nat representing the number of outputs. @@ -93,6 +97,10 @@ public class ExtendedKalmanFilterSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param states a Nat representing the number of states. * @param inputs a Nat representing the number of inputs. * @param outputs a Nat representing the number of outputs. diff --git a/wpimath/src/main/java/edu/wpi/first/math/estimator/KalmanFilter.java b/wpimath/src/main/java/edu/wpi/first/math/estimator/KalmanFilter.java index faaacd83f8..08e3270606 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/estimator/KalmanFilter.java +++ b/wpimath/src/main/java/edu/wpi/first/math/estimator/KalmanFilter.java @@ -43,6 +43,10 @@ public class KalmanFilterSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param states A Nat representing the states of the system. * @param outputs A Nat representing the outputs of the system. * @param plant The plant used for the prediction step. diff --git a/wpimath/src/main/java/edu/wpi/first/math/estimator/UnscentedKalmanFilter.java b/wpimath/src/main/java/edu/wpi/first/math/estimator/UnscentedKalmanFilter.java index a07704c5b4..132faf6d2a 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/estimator/UnscentedKalmanFilter.java +++ b/wpimath/src/main/java/edu/wpi/first/math/estimator/UnscentedKalmanFilter.java @@ -64,6 +64,10 @@ public class UnscentedKalmanFilterSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param states A Nat representing the number of states. * @param outputs A Nat representing the number of outputs. * @param f A vector-valued function of x and u that returns the derivative of the state vector. @@ -100,6 +104,10 @@ public class UnscentedKalmanFilterSee + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param states A Nat representing the number of states. * @param outputs A Nat representing the number of outputs. * @param f A vector-valued function of x and u that returns the derivative of the state vector. diff --git a/wpimath/src/main/native/include/frc/controller/LTVDifferentialDriveController.h b/wpimath/src/main/native/include/frc/controller/LTVDifferentialDriveController.h index 4ecc15468a..7c85350608 100644 --- a/wpimath/src/main/native/include/frc/controller/LTVDifferentialDriveController.h +++ b/wpimath/src/main/native/include/frc/controller/LTVDifferentialDriveController.h @@ -35,6 +35,10 @@ class WPILIB_DLLEXPORT LTVDifferentialDriveController { /** * Constructs a linear time-varying differential drive controller. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param plant The differential drive velocity plant. * @param trackwidth The distance between the differential drive's left and * right wheels. diff --git a/wpimath/src/main/native/include/frc/controller/LTVUnicycleController.h b/wpimath/src/main/native/include/frc/controller/LTVUnicycleController.h index 9647399a58..9ea4606b14 100644 --- a/wpimath/src/main/native/include/frc/controller/LTVUnicycleController.h +++ b/wpimath/src/main/native/include/frc/controller/LTVUnicycleController.h @@ -44,6 +44,10 @@ class WPILIB_DLLEXPORT LTVUnicycleController { /** * Constructs a linear time-varying unicycle controller. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param Qelems The maximum desired error tolerance for each state. * @param Relems The maximum desired control effort for each input. * @param dt Discretization timestep. diff --git a/wpimath/src/main/native/include/frc/controller/LinearQuadraticRegulator.h b/wpimath/src/main/native/include/frc/controller/LinearQuadraticRegulator.h index 50d65662b9..979e98a371 100644 --- a/wpimath/src/main/native/include/frc/controller/LinearQuadraticRegulator.h +++ b/wpimath/src/main/native/include/frc/controller/LinearQuadraticRegulator.h @@ -36,6 +36,10 @@ class LinearQuadraticRegulator { /** * Constructs a controller with the given coefficients and plant. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param plant The plant being controlled. * @param Qelems The maximum desired error tolerance for each state. * @param Relems The maximum desired control effort for each input. @@ -50,6 +54,10 @@ class LinearQuadraticRegulator { /** * Constructs a controller with the given coefficients and plant. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-intro.html#lqr-tuning + * for how to select the tolerances. + * * @param A Continuous system matrix of the plant being controlled. * @param B Continuous input matrix of the plant being controlled. * @param Qelems The maximum desired error tolerance for each state. diff --git a/wpimath/src/main/native/include/frc/estimator/ExtendedKalmanFilter.h b/wpimath/src/main/native/include/frc/estimator/ExtendedKalmanFilter.h index b09e8d9d94..0b3450b929 100644 --- a/wpimath/src/main/native/include/frc/estimator/ExtendedKalmanFilter.h +++ b/wpimath/src/main/native/include/frc/estimator/ExtendedKalmanFilter.h @@ -52,6 +52,10 @@ class ExtendedKalmanFilter { /** * Constructs an extended Kalman filter. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param f A vector-valued function of x and u that returns * the derivative of the state vector. * @param h A vector-valued function of x and u that returns @@ -69,6 +73,10 @@ class ExtendedKalmanFilter { /** * Constructs an extended Kalman filter. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param f A vector-valued function of x and u that returns * the derivative of the state vector. * @param h A vector-valued function of x and u that returns diff --git a/wpimath/src/main/native/include/frc/estimator/KalmanFilter.h b/wpimath/src/main/native/include/frc/estimator/KalmanFilter.h index 2121284550..f143493848 100644 --- a/wpimath/src/main/native/include/frc/estimator/KalmanFilter.h +++ b/wpimath/src/main/native/include/frc/estimator/KalmanFilter.h @@ -46,6 +46,10 @@ class KalmanFilter { /** * Constructs a state-space observer with the given plant. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param plant The plant used for the prediction step. * @param stateStdDevs Standard deviations of model states. * @param measurementStdDevs Standard deviations of measurements. diff --git a/wpimath/src/main/native/include/frc/estimator/UnscentedKalmanFilter.h b/wpimath/src/main/native/include/frc/estimator/UnscentedKalmanFilter.h index 39ce6152ca..fe583e79ef 100644 --- a/wpimath/src/main/native/include/frc/estimator/UnscentedKalmanFilter.h +++ b/wpimath/src/main/native/include/frc/estimator/UnscentedKalmanFilter.h @@ -58,6 +58,10 @@ class UnscentedKalmanFilter { /** * Constructs an unscented Kalman filter. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param f A vector-valued function of x and u that returns * the derivative of the state vector. * @param h A vector-valued function of x and u that returns @@ -78,6 +82,10 @@ class UnscentedKalmanFilter { * you have angles in the state or measurements, because they allow you to * correctly account for the modular nature of angle arithmetic. * + * See + * https://docs.wpilib.org/en/stable/docs/software/advanced-controls/state-space/state-space-observers.html#process-and-measurement-noise-covariance-matrices + * for how to select the standard deviations. + * * @param f A vector-valued function of x and u that returns * the derivative of the state vector. * @param h A vector-valued function of x and u that returns