[wpimath] Replace Speeds with Velocities (#8479)

I left "free speed" alone since that's the technical term for it. In
general, velocity is a vector quantity, and speed is a magnitude (i.e.,
a strictly positive value).

This PR also replaces the speed verbiage in MotorController with duty
cycle.

Fixes #8423.
This commit is contained in:
Tyler Veness
2026-03-06 14:19:15 -08:00
committed by GitHub
parent 1e39f39128
commit 9bd9656871
594 changed files with 8073 additions and 7875 deletions

View File

@@ -77,23 +77,23 @@ class Shooter(Subsystem):
self.shooter_encoder.getRate()
)
def runShooter(self, shooterSpeed: Callable[[], float]) -> Command:
def runShooter(self, shooterVelocity: Callable[[], float]) -> Command:
"""Returns a command that runs the shooter at a specifc velocity.
:param shooterSpeed: The commanded shooter wheel speed in rotations per second
:param shooterVelocity: The commanded shooter wheel velocity in rotations per second
"""
# Run shooter wheel at the desired speed using a PID controller and feedforward.
# Run shooter wheel at the desired velocity using a PID controller and feedforward.
def _run_shooter() -> None:
target_speed = shooterSpeed()
target_speed_radians = wpimath.units.rotationsToRadians(target_speed)
target_velocity = shooterVelocity()
target_velocity_radians = wpimath.units.rotationsToRadians(target_velocity)
self.shooter_motor.setVoltage(
self.shooter_feedback.calculate(
self.shooter_encoder.getRate(), target_speed
self.shooter_encoder.getRate(), target_velocity
)
+ self.shooter_feedforward.calculate(target_speed_radians)
+ self.shooter_feedforward.calculate(target_velocity_radians)
)
self.feeder_motor.set(ShooterConstants.kFeederSpeed)
self.feeder_motor.set(ShooterConstants.kFeederVelocity)
def _stop_motors(interrupted: bool) -> None:
self.shooter_motor.stopMotor()