[wpimath] Remove unit suffixes from variable names (#7529)

* Move units into API docs instead because suffixes make user code verbose and hard to read
* Rename trackWidth to trackwidth
* Make ultrasonic classes use meters instead of a mix of m, cm, mm, ft,
  and inches
This commit is contained in:
Tyler Veness
2025-02-10 07:23:04 -08:00
committed by GitHub
parent 764ada9b66
commit ac1705ae2b
250 changed files with 2953 additions and 3584 deletions

View File

@@ -15,13 +15,13 @@ class SharpIRTest {
try (SharpIR s = SharpIR.GP2Y0A02YK0F(1)) {
SharpIRSim sim = new SharpIRSim(s);
assertEquals(20, s.getRangeCM());
assertEquals(0.2, s.getRange());
sim.setRangeCm(30);
assertEquals(30, s.getRangeCM());
sim.setRange(0.3);
assertEquals(0.3, s.getRange());
sim.setRangeCm(300);
assertEquals(150, s.getRangeCM());
sim.setRange(3);
assertEquals(1.5, s.getRange());
}
}
}

View File

@@ -36,23 +36,23 @@ class DCMotorSimTest {
// ------ SimulationPeriodic() happens after user code -------
RoboRioSim.setVInVoltage(
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDrawAmps()));
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDraw()));
sim.setInputVoltage(motor.get() * RobotController.getBatteryVoltage());
sim.update(0.020);
encoderSim.setRate(sim.getAngularVelocityRadPerSec());
encoderSim.setRate(sim.getAngularVelocity());
}
assertEquals(gearbox.KvRadPerSecPerVolt * 12, encoder.getRate(), 0.1);
assertEquals(gearbox.Kv * 12, encoder.getRate(), 0.1);
for (int i = 0; i < 100; i++) {
motor.setVoltage(0);
// ------ SimulationPeriodic() happens after user code -------
RoboRioSim.setVInVoltage(
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDrawAmps()));
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDraw()));
sim.setInputVoltage(motor.get() * RobotController.getBatteryVoltage());
sim.update(0.020);
encoderSim.setRate(sim.getAngularVelocityRadPerSec());
encoderSim.setRate(sim.getAngularVelocity());
}
assertEquals(0, encoder.getRate(), 0.1);
@@ -78,11 +78,11 @@ class DCMotorSimTest {
// ------ SimulationPeriodic() happens after user code -------
RoboRioSim.setVInVoltage(
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDrawAmps()));
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDraw()));
sim.setInputVoltage(motor.get() * RobotController.getBatteryVoltage());
sim.update(0.020);
encoderSim.setDistance(sim.getAngularPositionRad());
encoderSim.setRate(sim.getAngularVelocityRadPerSec());
encoderSim.setDistance(sim.getAngularPosition());
encoderSim.setRate(sim.getAngularVelocity());
}
assertEquals(750, encoder.getDistance(), 1.0);

View File

@@ -42,7 +42,7 @@ class DifferentialDrivetrainSimTest {
plant,
motor,
1,
kinematics.trackWidthMeters,
kinematics.trackwidth,
Units.inchesToMeters(2),
VecBuilder.fill(0, 0, 0.0001, 0.1, 0.1, 0.005, 0.005));
@@ -61,15 +61,13 @@ class DifferentialDrivetrainSimTest {
new TrajectoryConfig(1, 1)
.addConstraint(new DifferentialDriveKinematicsConstraint(kinematics, 1)));
for (double t = 0; t < traj.getTotalTimeSeconds(); t += 0.020) {
for (double t = 0; t < traj.getTotalTime(); t += 0.020) {
var state = traj.sample(t);
var feedbackOut = feedback.calculate(sim.getPose(), state);
var wheelSpeeds = kinematics.toWheelSpeeds(feedbackOut);
var voltages =
feedforward.calculate(
VecBuilder.fill(wheelSpeeds.leftMetersPerSecond, wheelSpeeds.rightMetersPerSecond));
var voltages = feedforward.calculate(VecBuilder.fill(wheelSpeeds.left, wheelSpeeds.right));
// Sim periodic code
sim.setInputs(voltages.get(0, 0), voltages.get(1, 0));
@@ -104,25 +102,25 @@ class DifferentialDrivetrainSimTest {
var kinematics = new DifferentialDriveKinematics(Units.inchesToMeters(24));
var sim =
new DifferentialDrivetrainSim(
plant, motor, 1, kinematics.trackWidthMeters, Units.inchesToMeters(2), null);
plant, motor, 1, kinematics.trackwidth, Units.inchesToMeters(2), null);
sim.setInputs(-12, -12);
for (int i = 0; i < 10; i++) {
sim.update(0.020);
}
assertTrue(sim.getCurrentDrawAmps() > 0);
assertTrue(sim.getCurrentDraw() > 0);
sim.setInputs(12, 12);
for (int i = 0; i < 20; i++) {
sim.update(0.020);
}
assertTrue(sim.getCurrentDrawAmps() > 0);
assertTrue(sim.getCurrentDraw() > 0);
sim.setInputs(-12, 12);
for (int i = 0; i < 30; i++) {
sim.update(0.020);
}
assertTrue(sim.getCurrentDrawAmps() > 0);
assertTrue(sim.getCurrentDraw() > 0);
}
@Test
@@ -138,7 +136,7 @@ class DifferentialDrivetrainSimTest {
plant,
motor,
5,
kinematics.trackWidthMeters,
kinematics.trackwidth,
Units.inchesToMeters(2),
VecBuilder.fill(0, 0, 0.0001, 0.1, 0.1, 0.005, 0.005));

View File

@@ -59,7 +59,7 @@ class ElevatorSimTest {
encoderSim.setDistance(y.get(0, 0));
}
assertEquals(controller.getSetpoint(), sim.getPositionMeters(), 0.2);
assertEquals(controller.getSetpoint(), sim.getPosition(), 0.2);
}
}
@@ -81,14 +81,14 @@ class ElevatorSimTest {
for (int i = 0; i < 100; i++) {
sim.setInput(VecBuilder.fill(0));
sim.update(0.020);
var height = sim.getPositionMeters();
var height = sim.getPosition();
assertTrue(height >= -0.05);
}
for (int i = 0; i < 100; i++) {
sim.setInput(VecBuilder.fill(12.0));
sim.update(0.020);
var height = sim.getPositionMeters();
var height = sim.getPosition();
assertTrue(height <= 1.05);
}
}
@@ -110,7 +110,7 @@ class ElevatorSimTest {
DCMotor.getVex775Pro(4), 4, Units.inchesToMeters(0.5), 100);
assertEquals(
system.calculateX(VecBuilder.fill(0, 0), VecBuilder.fill(12), 0.02 * 50.0).get(0, 0),
sim.getPositionMeters(),
sim.getPosition(),
0.01);
}
}

View File

@@ -34,6 +34,6 @@ class SingleJointedArmSimTest {
}
// the arm should swing down
assertEquals(-Math.PI / 2.0, m_sim.getAngleRads(), 0.1);
assertEquals(-Math.PI / 2.0, m_sim.getAngle(), 0.1);
}
}