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
qX
The maximum error in the x-position.
qY
The maximum error in the y-position.
qHeading
The maximum error in the heading.
qV
The maximum error in the linear velocity.
qOmega
The maximum error in the angular velocity.
rA
The maximum linear acceleration.
rAlpha
The maximum angular acceleration.
maxVel
The maximum velocity for the controller gain lookup table.
dt
The discrete time step (control loop period) in seconds.