LinearSystem_3_2_3

class wpimath.LinearSystem_3_2_3(A: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 3]'], B: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 2]'], C: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 3]'], D: Annotated[numpy.typing.ArrayLike, numpy.float64, '[3, 2]'])

Bases: pybind11_object

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

  1. A(self: wpimath._wpimath.LinearSystem_3_2_3) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[3, 3]”]

Returns the system matrix A.

  1. A(self: wpimath._wpimath.LinearSystem_3_2_3, 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.

  1. B(self: wpimath._wpimath.LinearSystem_3_2_3) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[3, 2]”]

Returns the input matrix B.

  1. B(self: wpimath._wpimath.LinearSystem_3_2_3, 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.

  1. C(self: wpimath._wpimath.LinearSystem_3_2_3) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[3, 3]”]

Returns the output matrix C.

  1. C(self: wpimath._wpimath.LinearSystem_3_2_3, 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.

  1. D(self: wpimath._wpimath.LinearSystem_3_2_3) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], “[3, 2]”]

Returns the feedthrough matrix D.

  1. D(self: wpimath._wpimath.LinearSystem_3_2_3, 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, '[3, 1]'], clampedU: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]'], dt: wpimath.units.seconds) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 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, '[3, 1]'], clampedU: Annotated[numpy.typing.ArrayLike, numpy.float64, '[2, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[3, 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.

  1. slice(self: wpimath._wpimath.LinearSystem_3_2_3, outputIndex: typing.SupportsInt | typing.SupportsIndex) -> wpimath._wpimath.LinearSystem_3_2_1

Returns the LinearSystem with the outputs listed in outputIndices.

  1. slice(self: wpimath._wpimath.LinearSystem_3_2_3, outputIndex0: typing.SupportsInt | typing.SupportsIndex, outputIndex1: typing.SupportsInt | typing.SupportsIndex) -> wpimath._wpimath.LinearSystem_3_2_2

Returns the LinearSystem with the outputs listed in outputIndices.

  1. slice(self: wpimath._wpimath.LinearSystem_3_2_3, outputIndex0: typing.SupportsInt | typing.SupportsIndex, outputIndex1: typing.SupportsInt | typing.SupportsIndex, outputIndex2: typing.SupportsInt | typing.SupportsIndex) -> wpimath._wpimath.LinearSystem_3_2_3

Returns the LinearSystem with the outputs listed in outputIndices.