Pingu

data class Pingu(var p: Double = 0.0, var i: Double = 0.0, var d: Double = 0.0, var v: Double = 0.0, var s: Double = 0.0, var g: Double = 0.0)

Data class representing a Pingu with PID controller parameters.

Note: PID gains (p, i, d) are unitless/dimensionless. Feedforward terms depend on the controlled variable:

  • For linear systems: v is in volts/(meter/second), s is in volts

  • For rotational systems: v is in volts/(radian/second), s is in volts

  • g is in volts for gravity compensation

Constructors

Link copied to clipboard
constructor(p: Double = 0.0, i: Double = 0.0, d: Double = 0.0, v: Double = 0.0, s: Double = 0.0, g: Double = 0.0)

Properties

Link copied to clipboard
var d: Double

Derivative gain (unitless).

Link copied to clipboard
var g: Double

Gravity feedforward term (volts).

Link copied to clipboard
var i: Double

Integral gain (unitless).

Link copied to clipboard
var p: Double

Proportional gain (unitless).

Link copied to clipboard
val pidController: PIDController

Gets the PIDController instance with the current PID parameters.

Link copied to clipboard
var s: Double

Static feedforward term (volts).

Link copied to clipboard
var v: Double

Velocity feedforward term (units depend on system - see class docs).

Functions

Link copied to clipboard
fun setD(d: LoggedNetworkNumber)

Sets the derivative gain from a LoggedNetworkNumber.

Link copied to clipboard
fun setG(g: LoggedNetworkNumber)

Sets the gravity feedforward term from a LoggedNetworkNumber.

Link copied to clipboard
fun setI(i: LoggedNetworkNumber)

Sets the integral gain from a LoggedNetworkNumber.

Link copied to clipboard
fun setP(p: LoggedNetworkNumber)

Sets the proportional gain from a LoggedNetworkNumber.

Link copied to clipboard
fun setPID(pidController: PIDController)

Sets the PID parameters from the given PIDController instance.

Link copied to clipboard
fun setS(s: LoggedNetworkNumber)

Sets the static feedforward term from a LoggedNetworkNumber.

Link copied to clipboard
fun setV(v: LoggedNetworkNumber)

Sets the velocity feedforward term from a LoggedNetworkNumber.