[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

@@ -32,7 +32,7 @@ class DriveConstants:
kp = 1.0
kMaxSpeed = 3.0 # m/s
kMaxVelocity = 3.0 # m/s
kMaxAcceleration = 3.0 # m/s²

View File

@@ -25,7 +25,7 @@ class ExampleSmartMotorController(wpilib.MotorController):
port: The port for the controller.
"""
super().__init__()
self._speed = 0.0
self._velocity = 0.0
self._inverted = False
self._leader = None
@@ -79,11 +79,11 @@ class ExampleSmartMotorController(wpilib.MotorController):
"""Resets the encoder to zero distance."""
pass
def set(self, speed: float) -> None:
self._speed = -speed if self._inverted else speed
def set(self, velocity: float) -> None:
self._velocity = -velocity if self._inverted else velocity
def get(self) -> float:
return self._speed
return self._velocity
def setInverted(self, isInverted: bool) -> None:
self._inverted = isInverted
@@ -92,7 +92,7 @@ class ExampleSmartMotorController(wpilib.MotorController):
return self._inverted
def disable(self) -> None:
self._speed = 0.0
self._velocity = 0.0
def stopMotor(self) -> None:
self._speed = 0.0
self._velocity = 0.0

View File

@@ -25,10 +25,10 @@ class RobotContainer:
self.robotDrive = subsystems.drivesubsystem.DriveSubsystem()
# Retained command references
self.driveFullSpeed = commands2.cmd.runOnce(
self.driveFullVelocity = commands2.cmd.runOnce(
lambda: self.robotDrive.setMaxOutput(1), self.robotDrive
)
self.driveHalfSpeed = commands2.cmd.runOnce(
self.driveHalfVelocity = commands2.cmd.runOnce(
lambda: self.robotDrive.setMaxOutput(0.5), self.robotDrive
)
@@ -65,9 +65,9 @@ class RobotContainer:
# We can bind commands while retaining references to them in RobotContainer
# Drive at half speed when the bumper is held
self.driverController.rightBumper().onTrue(self.driveHalfSpeed).onFalse(
self.driveFullSpeed
# Drive at half velocity when the bumper is held
self.driverController.rightBumper().onTrue(self.driveHalfVelocity).onFalse(
self.driveFullVelocity
)
# Drive forward by 3 meters when the 'A' button is pressed, with a timeout of 10 seconds

View File

@@ -63,7 +63,7 @@ class DriveSubsystem(commands2.Subsystem):
self.profile = wpimath.TrapezoidProfile(
wpimath.TrapezoidProfile.Constraints(
constants.DriveConstants.kMaxSpeed,
constants.DriveConstants.kMaxVelocity,
constants.DriveConstants.kMaxAcceleration,
)
)