Class SysIdRoutineConfig

java.lang.Object
frc.robot.shared.config.AbstractConfig
frc.robot.shared.config.SysIdRoutineConfig

public class SysIdRoutineConfig extends AbstractConfig
Configuration bundle for WPILib SysId characterization routine parameters.

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.

  • Field Details

    • rampRateVoltsPerSecond

      public double rampRateVoltsPerSecond
      Quasistatic 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 stepVoltage
      Step 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 delaySeconds
      Delay 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 quasistaticTimeoutSeconds
      Timeout 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 dynamicTimeoutSeconds
      Timeout 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