[wpimath] Link to docs on LQR and KF tolerances (#5486)

Fixes #4151.
This commit is contained in:
Tyler Veness
2023-07-31 19:17:44 -07:00
committed by GitHub
parent d814f1d123
commit a01b6467d3
12 changed files with 76 additions and 0 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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