LinearSystem_2_1_2
- class wpimath.LinearSystem_2_1_2(A: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 2]'], B: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]'], C: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 2]'], D: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]'])
Bases:
pybind11_objectA plant defined using state-space notation.
A plant is a mathematical model of a system’s dynamics.
For more on the underlying math, read https://file.tavsys.net/control/controls-engineering-in-frc.pdf.
@tparam States Number of states. @tparam Inputs Number of inputs. @tparam Outputs Number of outputs.
Constructs a discrete plant with the given continuous system coefficients.
- Parameters:
A – System matrix.
B – Input matrix.
C – Output matrix.
D – Feedthrough matrix. @throws std::domain_error if any matrix element isn’t finite.
- A(*args, **kwargs)
Overloaded function.
A(self: wpimath._wpimath.LinearSystem_2_1_2) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[2, 2]”]
Returns the system matrix A.
A(self: wpimath._wpimath.LinearSystem_2_1_2, i: typing.SupportsInt | typing.SupportsIndex, j: typing.SupportsInt | typing.SupportsIndex) -> float
Returns an element of the system matrix A.
- Parameters:
i – Row of A.
j – Column of A.
- B(*args, **kwargs)
Overloaded function.
B(self: wpimath._wpimath.LinearSystem_2_1_2) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[2, 1]”]
Returns the input matrix B.
B(self: wpimath._wpimath.LinearSystem_2_1_2, i: typing.SupportsInt | typing.SupportsIndex, j: typing.SupportsInt | typing.SupportsIndex) -> float
Returns an element of the input matrix B.
- Parameters:
i – Row of B.
j – Column of B.
- C(*args, **kwargs)
Overloaded function.
C(self: wpimath._wpimath.LinearSystem_2_1_2) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[2, 2]”]
Returns the output matrix C.
C(self: wpimath._wpimath.LinearSystem_2_1_2, i: typing.SupportsInt | typing.SupportsIndex, j: typing.SupportsInt | typing.SupportsIndex) -> float
Returns an element of the output matrix C.
- Parameters:
i – Row of C.
j – Column of C.
- D(*args, **kwargs)
Overloaded function.
D(self: wpimath._wpimath.LinearSystem_2_1_2) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[2, 1]”]
Returns the feedthrough matrix D.
D(self: wpimath._wpimath.LinearSystem_2_1_2, i: typing.SupportsInt | typing.SupportsIndex, j: typing.SupportsInt | typing.SupportsIndex) -> float
Returns an element of the feedthrough matrix D.
- Parameters:
i – Row of D.
j – Column of D.
- calculateX(x: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]'], clampedU: Annotated[numpy.typing.ArrayLike, numpy.float64, '[1, 1]'], dt: wpimath.units.seconds) Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']
Computes the new x given the old x and the control input.
This is used by state observers directly to run updates based on state estimate.
- Parameters:
x – The current state.
clampedU – The control input.
dt – Timestep for model update.
- calculateY(x: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]'], clampedU: Annotated[numpy.typing.ArrayLike, numpy.float64, '[1, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[2, 1]']
Computes the new y given the control input.
This is used by state observers directly to run updates based on state estimate.
- Parameters:
x – The current state.
clampedU – The control input.
- slice(*args, **kwargs)
Overloaded function.
slice(self: wpimath._wpimath.LinearSystem_2_1_2, outputIndex: typing.SupportsInt | typing.SupportsIndex) -> wpimath._wpimath.LinearSystem_2_1_1
Returns the LinearSystem with the outputs listed in outputIndices.
slice(self: wpimath._wpimath.LinearSystem_2_1_2, outputIndex0: typing.SupportsInt | typing.SupportsIndex, outputIndex1: typing.SupportsInt | typing.SupportsIndex) -> wpimath._wpimath.LinearSystem_2_1_2
Returns the LinearSystem with the outputs listed in outputIndices.