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.