[wpimath] Disallow LTV controller max velocities above 15 m/s (#5495)

15 m/s is about 50 ft/s, which is way above what FRC robots should be
able to achieve. This limit lets us catch user errors from bad unit
conversions immediately instead of the LUT generation in the LTV
controllers hanging for a really long time.

Fixes #5027.
This commit is contained in:
Tyler Veness
2023-08-02 23:37:49 -07:00
committed by GitHub
parent 7496e0d208
commit 21439b606c
6 changed files with 24 additions and 8 deletions

View File

@@ -53,7 +53,7 @@ class WPILIB_DLLEXPORT LTVUnicycleController {
* @param dt Discretization timestep.
* @param maxVelocity The maximum velocity for the controller gain lookup
* table.
* @throws std::domain_error if maxVelocity <= 0.
* @throws std::domain_error if maxVelocity <= 0 m/s or >= 15 m/s.
*/
LTVUnicycleController(const wpi::array<double, 3>& Qelems,
const wpi::array<double, 2>& Relems, units::second_t dt,