LTVUController
constructor(qX: Double, qY: Double, qHeading: Double, qV: Double, qOmega: Double, rA: Double, rAlpha: Double, maxVel: Double, dt: Double = 0.0303)
Constructs an LTV Unicycle controller for a differential/tank drive robot.
This constructor assumes a kinematic acceleration model where the state error x is [xError, yError, headingError, vError, omegaError] and the control input u is the desired robot acceleration [a, alpha].
Parameters
q X
The maximum error in the x-position.
q Y
The maximum error in the y-position.
q Heading
The maximum error in the heading.
q V
The maximum error in the linear velocity.
q Omega
The maximum error in the angular velocity.
r A
The maximum linear acceleration.
r Alpha
The maximum angular acceleration.
max Vel
The maximum velocity for the controller gain lookup table.
dt
The discrete time step (control loop period) in seconds.