Contains the controller coefficients and logic for an implicit model follower.
More...
|
template<int Outputs> |
| ImplicitModelFollower (const LinearSystem< States, Inputs, Outputs > &plant, const LinearSystem< States, Inputs, Outputs > &plantRef) |
| Constructs a controller with the given coefficients and plant. More...
|
|
| ImplicitModelFollower (const Matrixd< States, States > &A, const Matrixd< States, Inputs > &B, const Matrixd< States, States > &Aref, const Matrixd< States, Inputs > &Bref) |
| Constructs a controller with the given coefficients and plant. More...
|
|
const InputVector & | U () const |
| Returns the control input vector u. More...
|
|
double | U (int i) const |
| Returns an element of the control input vector u. More...
|
|
void | Reset () |
| Resets the controller. More...
|
|
InputVector | Calculate (const StateVector &x, const InputVector &u) |
| Returns the next output of the controller. More...
|
|
template<int States, int Inputs>
class frc::ImplicitModelFollower< States, Inputs >
Contains the controller coefficients and logic for an implicit model follower.
Implicit model following lets us design a feedback controller that erases the dynamics of our system and makes it behave like some other system. This can be used to make a drivetrain more controllable during teleop driving by making it behave like a slower or more benign drivetrain.
For more on the underlying math, read appendix B.3 in https://file.tavsys.net/control/controls-engineering-in-frc.pdf.