wpilibsuite / allwpilib

Official Repository of WPILibJ and WPILibC
https://wpilib.org/
Other
1.05k stars 612 forks source link

Sysid Limits #7022

Closed bradmongar closed 3 days ago

bradmongar commented 2 weeks ago

Is your feature request related to a problem? Please describe. Controlling a sysid command to stop before a physical range of motion limit is reached can sometimes be a problem Also when characterizing a fly wheel stopping before max motor velocity to get better readings can sometimes be a problem

Describe the solution you'd like Add optional parameters to sysid routine that take the sensor being used in characterization and a min and max values to stop the routine when it reaches limit.

rzblue commented 2 weeks ago

This can be done by the user by adding an end condition to the command - routineCommand.until(()-> sensorPosition > upperLimit || sensorPosition < lowerLimit)

I think the user should be responsible for managing this- there's too much variability in how mechanisms need to be limited, and it's easier for the user to express that logic themselves than to shoehorn it into the sysid command through extra parameters.