SystemController

Marker interface that represents a control algorithm (PID, feedforward, etc).

This interface may not always represent the same behaviour in different contexts, such as open-loop and closed loop control. Therefore, it is important to validate which controllers are being used within a control system as the protection of type-safety may cause an invalid controller to be used against one that expects a certain type of response the controller is not able to provide.

Author

Lucas Bubner, 2024

Since

4.0.0

Inheritors

Functions

Link copied to clipboard
abstract fun calculate(process: Double, setpoint: Double): Double
Calculate the next output of this control algorithm.
Link copied to clipboard
abstract fun getCoefficients(): Array<Double>
Gets the current coefficients for this controller.
Link copied to clipboard
abstract fun reset()
Reset this controller back to an un-accumulated state, if applicable.
Link copied to clipboard
abstract fun setCoefficients(coeffs: Array<Double>)
Sets the coefficients for this controller.