Class SysIdRoutineConfig
These values control how the SysId quasistatic and dynamic tests run: ramp rate, step voltage, inter-phase delay, and timeouts. When a field is zero or negative, the corresponding default is used so subsystems that do not specify SysId settings still get sensible behavior.
-
Nested Class Summary
Nested classes/interfaces inherited from class frc.robot.shared.config.AbstractConfig
AbstractConfig.ComponentPoseConfig -
Field Summary
FieldsModifier and TypeFieldDescriptiondoubleDelay between SysId phases in seconds, giving the mechanism time to coast to a stop so each phase starts from rest.doubleTimeout for the dynamic (step voltage) portion of SysId in seconds.doubleTimeout for the quasistatic (slow ramp) portion of SysId in seconds.doubleQuasistatic voltage ramp rate for SysId characterization in volts per second.doubleStep voltage applied during SysId dynamic tests in volts. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleReturns the delay between SysId phases in seconds.doubleReturns the dynamic SysId timeout in seconds.doubleReturns the quasistatic SysId timeout in seconds.doubleReturns the quasistatic voltage ramp rate for SysId characterization.doubleReturns the step voltage applied during SysId dynamic tests.Methods inherited from class frc.robot.shared.config.AbstractConfig
getDashboardPrefix, initializeNestedDashboardPrefixes, readTunableBoolean, readTunableDegrees, readTunableDegreesAsRadians, readTunableNumber, readTunableString, setDashboardPrefix
-
Field Details
-
rampRateVoltsPerSecond
public double rampRateVoltsPerSecondQuasistatic voltage ramp rate for SysId characterization in volts per second.Lower values (0.25-0.5) give high-inertia mechanisms more time to reach steady-state at each voltage level, producing more accurate kV fits. The WPILib default is 1.0 V/s. Set to 0 to use the default.
-
stepVoltage
public double stepVoltageStep voltage applied during SysId dynamic tests in volts.The WPILib default is 7.0 V. Set to 0 to use the default.
-
delaySeconds
public double delaySecondsDelay between SysId phases in seconds, giving the mechanism time to coast to a stop so each phase starts from rest.Set to 0 to use the default of 10 seconds.
-
quasistaticTimeoutSeconds
public double quasistaticTimeoutSecondsTimeout for the quasistatic (slow ramp) portion of SysId in seconds.Must be long enough for the configured ramp rate to sweep through the useful voltage range. At 0.25 V/s, 40 seconds reaches 10 V. Set to 0 to use the default of 40 seconds.
-
dynamicTimeoutSeconds
public double dynamicTimeoutSecondsTimeout for the dynamic (step voltage) portion of SysId in seconds.Most mechanisms reach steady-state within 1-2 seconds after a voltage step. Set to 0 to use the default of 4 seconds.
-
-
Constructor Details
-
SysIdRoutineConfig
public SysIdRoutineConfig()
-
-
Method Details
-
getRampRateVoltsPerSecond
public double getRampRateVoltsPerSecond()Returns the quasistatic voltage ramp rate for SysId characterization.When the configured value is zero or negative, the WPILib default of 1.0 V/s is used.
- Returns:
- ramp rate in volts per second
-
getStepVoltage
public double getStepVoltage()Returns the step voltage applied during SysId dynamic tests.When the configured value is zero or negative, the WPILib default of 7.0 V is used.
- Returns:
- step voltage in volts
-
getDelaySeconds
public double getDelaySeconds()Returns the delay between SysId phases in seconds.When the configured value is zero or negative, the default of 10 seconds is used.
- Returns:
- delay in seconds
-
getQuasistaticTimeoutSeconds
public double getQuasistaticTimeoutSeconds()Returns the quasistatic SysId timeout in seconds.When the configured value is zero or negative, the default of 40 seconds is used.
- Returns:
- quasistatic timeout in seconds
-
getDynamicTimeoutSeconds
public double getDynamicTimeoutSeconds()Returns the dynamic SysId timeout in seconds.When the configured value is zero or negative, the default of 4 seconds is used.
- Returns:
- dynamic timeout in seconds
-