|
Resurgence (PY2022)
Codebase for the Husky Robotics 2021-2022 rover Resurgence
|
Collection of utility methods for use with state space applications. More...
Classes | |
| class | NoiseCovMat |
| Represents a square noise covariance matrix. More... | |
| class | NoiseCovMat<-1, -1, -1 > |
| Represents a square noise covariance matrix. | |
Typedefs | |
| using | NoiseCovMatX = NoiseCovMat<-1, -1, -1> |
Functions | |
| template<int size> | |
| Eigen::Matrix< double, size, size > | createCovarianceMatrix (const Eigen::Matrix< double, size, 1 > &stdDevs) |
| Create a covariance matrix modelling independent variables with the given standard deviations. | |
| template<int numStates> | |
| Eigen::Matrix< double, numStates, numStates > | discreteToContinuous (const Eigen::Matrix< double, numStates, numStates > &A, double dt) |
| Convert a discrete time system matrix to continuous time. | |
| template<int numStates, int numInputs> | |
| void | discreteToContinuous (Eigen::Matrix< double, numStates, numStates > &A, Eigen::Matrix< double, numStates, numInputs > &B, double dt) |
| Convert discrete time system and input matrices to continuous time. | |
| template<int numStates, int numInputs> | |
| void | continuousToDiscrete (Eigen::Matrix< double, numStates, numStates > &A, Eigen::Matrix< double, numStates, numInputs > &B, double dt) |
| Convert continuous time system and input matrices to discrete time. | |
| template<int numStates> | |
| Eigen::Matrix< double, numStates, numStates > | discretizeA (const Eigen::Matrix< double, numStates, numStates > &contA, double dt) |
| Convert a continuous time system matrix to discrete time. | |
| template<int numStates> | |
| void | discretizeAQ (const Eigen::Matrix< double, numStates, numStates > &contA, const Eigen::Matrix< double, numStates, numStates > &contQ, Eigen::Matrix< double, numStates, numStates > &discA, Eigen::Matrix< double, numStates, numStates > &discQ, double dt) |
| Convert a continuous time system matrix and additive process noise matrix to discrete time. | |
| template<int numStates> | |
| Eigen::Matrix< double, numStates, numStates > | discretizeQ (const Eigen::Matrix< double, numStates, numStates > &contA, const Eigen::Matrix< double, numStates, numStates > &contQ, double dt) |
| Discretizes a continuous time additive process noise covariance matrix. | |
| template<int numStates> | |
| Eigen::Matrix< double, numStates, numStates > | discretizeR (const Eigen::Matrix< double, numStates, numStates > &contR, double dt) |
| Discretizes a continuous time additive output noise covariance matrix. | |
Collection of utility methods for use with state space applications.
| void filters::statespace::continuousToDiscrete | ( | Eigen::Matrix< double, numStates, numStates > & | A, |
| Eigen::Matrix< double, numStates, numInputs > & | B, | ||
| double | dt ) |
Convert continuous time system and input matrices to discrete time.
| numStates | The number of states in the system. |
| A | A reference to the continuous time system matrix. It will be replaced with the discrete time equivalent. |
| B | A reference to the continuous time input matrix. It will be replaced with the discrete time equivalent. |
| dt | The time in seconds between updates. |
| Eigen::Matrix< double, size, size > filters::statespace::createCovarianceMatrix | ( | const Eigen::Matrix< double, size, 1 > & | stdDevs | ) |
Create a covariance matrix modelling independent variables with the given standard deviations.
| size | The dimension of the noise. |
| stdDevs | The standard deviation of each element. |
| Eigen::Matrix< double, numStates, numStates > filters::statespace::discreteToContinuous | ( | const Eigen::Matrix< double, numStates, numStates > & | A, |
| double | dt ) |
Convert a discrete time system matrix to continuous time.
| numStates | The number of states in the system. |
| A | The discrete time system matrix. |
| dt | The time in seconds between updates. |
| void filters::statespace::discreteToContinuous | ( | Eigen::Matrix< double, numStates, numStates > & | A, |
| Eigen::Matrix< double, numStates, numInputs > & | B, | ||
| double | dt ) |
Convert discrete time system and input matrices to continuous time.
| numStates | The number of states in the system. |
| A | A reference to the discrete time system matrix. It will be replaced with the continuous time equivalent. |
| B | A reference to the discrete time input matrix. It will be replaced with the continuous time equivalent. |
| dt | The time in seconds between updates. |
| Eigen::Matrix< double, numStates, numStates > filters::statespace::discretizeA | ( | const Eigen::Matrix< double, numStates, numStates > & | contA, |
| double | dt ) |
Convert a continuous time system matrix to discrete time.
| numStates | The number of states in the system. |
| contA | The continuous time system matrix. |
| dt | The time in seconds between updates. |
| void filters::statespace::discretizeAQ | ( | const Eigen::Matrix< double, numStates, numStates > & | contA, |
| const Eigen::Matrix< double, numStates, numStates > & | contQ, | ||
| Eigen::Matrix< double, numStates, numStates > & | discA, | ||
| Eigen::Matrix< double, numStates, numStates > & | discQ, | ||
| double | dt ) |
Convert a continuous time system matrix and additive process noise matrix to discrete time.
| numStates | The number of states in the system. |
| contA | A reference to the continuous time system matrix. |
| contQ | A reference to the continuous time additive process noise matrix. |
| discA | A reference to a matrix where the discrete time system matrix will be stored. |
| discQ | A reference to a matrix where the discrete process noise covariance matrix will be stored. |
| dt | The time in seconds between updates. |
| Eigen::Matrix< double, numStates, numStates > filters::statespace::discretizeQ | ( | const Eigen::Matrix< double, numStates, numStates > & | contA, |
| const Eigen::Matrix< double, numStates, numStates > & | contQ, | ||
| double | dt ) |
Discretizes a continuous time additive process noise covariance matrix.
| numStates | The number of states in the system. |
| contA | The continuous time system matrix. |
| contQ | The continuous time process noise covariance matrix. |
| dt | The time in second between updates. |
| Eigen::Matrix< double, numStates, numStates > filters::statespace::discretizeR | ( | const Eigen::Matrix< double, numStates, numStates > & | contR, |
| double | dt ) |
Discretizes a continuous time additive output noise covariance matrix.
| numStates | The number of states in the system. |
| contR | The continuous time output noise covariance matrix. |
| dt | The time in seconds between updates. |