Class IntakeSubsystem

All Implemented Interfaces:
edu.wpi.first.util.sendable.Sendable, edu.wpi.first.wpilibj2.command.Subsystem

public class IntakeSubsystem extends AbstractVelocitySubsystem<IntakeSubsystemConfig>
Intake subsystem that spins rollers to pull Fuel from the field into the feeder.

The intake is the first mechanism a game piece touches after leaving the field. Its rollers spin forward (positive RPM) to grab Fuel off the carpet and push it into the feeder, or reverse (negative RPM) to eject unwanted pieces back onto the field.

All RPM values in the public API represent roller (mechanism) speed after gear reduction, not motor shaft speed. The subsystem extends AbstractVelocitySubsystem which provides bidirectional velocity control with feedforward and PID.

  • Constructor Details

    • IntakeSubsystem

      public IntakeSubsystem(IntakeSubsystemConfig config)
      Builds the intake subsystem with a single motor-driven roller.
      Parameters:
      config - intake configuration bundle loaded from JSON; velocities are expressed in RPM
  • Method Details

    • setForwardVelocity

      public void setForwardVelocity()
      Convenience method that sets the rollers to the configured forward intake velocity.

      Use this to pull Fuel from the field into the feeder.

    • setReverseVelocity

      public void setReverseVelocity()
      Convenience method that sets the rollers to reverse at the configured eject velocity.

      The configured reverse RPM is stored as a positive value; this method negates it so the rollers spin backward to push Fuel out.