[wpilib] Rename MotorController setDutyCycle() to setThrottle() (#8720)

Fixes #8716.
This commit is contained in:
Tyler Veness
2026-04-09 22:28:01 -07:00
committed by GitHub
parent a4e035ba64
commit b6849a8da3
160 changed files with 659 additions and 706 deletions

View File

@@ -253,227 +253,227 @@ class DifferentialDriveTest {
void testArcadeDrive() {
var left = new MockPWMMotorController();
var right = new MockPWMMotorController();
var drive = new DifferentialDrive(left::setDutyCycle, right::setDutyCycle);
var drive = new DifferentialDrive(left::setThrottle, right::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.arcadeDrive(1.0, 0.0, false);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward left turn
drive.arcadeDrive(0.5, 0.5, false);
assertEquals(0.0, left.getDutyCycle(), 1e-9);
assertEquals(0.5, right.getDutyCycle(), 1e-9);
assertEquals(0.0, left.getThrottle(), 1e-9);
assertEquals(0.5, right.getThrottle(), 1e-9);
// Forward right turn
drive.arcadeDrive(0.5, -0.5, false);
assertEquals(0.5, left.getDutyCycle(), 1e-9);
assertEquals(0.0, right.getDutyCycle(), 1e-9);
assertEquals(0.5, left.getThrottle(), 1e-9);
assertEquals(0.0, right.getThrottle(), 1e-9);
// Backward
drive.arcadeDrive(-1.0, 0.0, false);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward left turn
drive.arcadeDrive(-0.5, 0.5, false);
assertEquals(-0.5, left.getDutyCycle(), 1e-9);
assertEquals(0.0, right.getDutyCycle(), 1e-9);
assertEquals(-0.5, left.getThrottle(), 1e-9);
assertEquals(0.0, right.getThrottle(), 1e-9);
// Backward right turn
drive.arcadeDrive(-0.5, -0.5, false);
assertEquals(0.0, left.getDutyCycle(), 1e-9);
assertEquals(-0.5, right.getDutyCycle(), 1e-9);
assertEquals(0.0, left.getThrottle(), 1e-9);
assertEquals(-0.5, right.getThrottle(), 1e-9);
}
@Test
void testArcadeDriveSquared() {
var left = new MockPWMMotorController();
var right = new MockPWMMotorController();
var drive = new DifferentialDrive(left::setDutyCycle, right::setDutyCycle);
var drive = new DifferentialDrive(left::setThrottle, right::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.arcadeDrive(1.0, 0.0, true);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward left turn
drive.arcadeDrive(0.5, 0.5, true);
assertEquals(0.0, left.getDutyCycle(), 1e-9);
assertEquals(0.25, right.getDutyCycle(), 1e-9);
assertEquals(0.0, left.getThrottle(), 1e-9);
assertEquals(0.25, right.getThrottle(), 1e-9);
// Forward right turn
drive.arcadeDrive(0.5, -0.5, true);
assertEquals(0.25, left.getDutyCycle(), 1e-9);
assertEquals(0.0, right.getDutyCycle(), 1e-9);
assertEquals(0.25, left.getThrottle(), 1e-9);
assertEquals(0.0, right.getThrottle(), 1e-9);
// Backward
drive.arcadeDrive(-1.0, 0.0, true);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward left turn
drive.arcadeDrive(-0.5, 0.5, true);
assertEquals(-0.25, left.getDutyCycle(), 1e-9);
assertEquals(0.0, right.getDutyCycle(), 1e-9);
assertEquals(-0.25, left.getThrottle(), 1e-9);
assertEquals(0.0, right.getThrottle(), 1e-9);
// Backward right turn
drive.arcadeDrive(-0.5, -0.5, true);
assertEquals(0.0, left.getDutyCycle(), 1e-9);
assertEquals(-0.25, right.getDutyCycle(), 1e-9);
assertEquals(0.0, left.getThrottle(), 1e-9);
assertEquals(-0.25, right.getThrottle(), 1e-9);
}
@Test
void testCurvatureDrive() {
var left = new MockPWMMotorController();
var right = new MockPWMMotorController();
var drive = new DifferentialDrive(left::setDutyCycle, right::setDutyCycle);
var drive = new DifferentialDrive(left::setThrottle, right::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.curvatureDrive(1.0, 0.0, false);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward left turn
drive.curvatureDrive(0.5, 0.5, false);
assertEquals(0.25, left.getDutyCycle(), 1e-9);
assertEquals(0.75, right.getDutyCycle(), 1e-9);
assertEquals(0.25, left.getThrottle(), 1e-9);
assertEquals(0.75, right.getThrottle(), 1e-9);
// Forward right turn
drive.curvatureDrive(0.5, -0.5, false);
assertEquals(0.75, left.getDutyCycle(), 1e-9);
assertEquals(0.25, right.getDutyCycle(), 1e-9);
assertEquals(0.75, left.getThrottle(), 1e-9);
assertEquals(0.25, right.getThrottle(), 1e-9);
// Backward
drive.curvatureDrive(-1.0, 0.0, false);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward left turn
drive.curvatureDrive(-0.5, 0.5, false);
assertEquals(-0.75, left.getDutyCycle(), 1e-9);
assertEquals(-0.25, right.getDutyCycle(), 1e-9);
assertEquals(-0.75, left.getThrottle(), 1e-9);
assertEquals(-0.25, right.getThrottle(), 1e-9);
// Backward right turn
drive.curvatureDrive(-0.5, -0.5, false);
assertEquals(-0.25, left.getDutyCycle(), 1e-9);
assertEquals(-0.75, right.getDutyCycle(), 1e-9);
assertEquals(-0.25, left.getThrottle(), 1e-9);
assertEquals(-0.75, right.getThrottle(), 1e-9);
}
@Test
void testCurvatureDriveTurnInPlace() {
var left = new MockPWMMotorController();
var right = new MockPWMMotorController();
var drive = new DifferentialDrive(left::setDutyCycle, right::setDutyCycle);
var drive = new DifferentialDrive(left::setThrottle, right::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.curvatureDrive(1.0, 0.0, true);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward left turn
drive.curvatureDrive(0.5, 0.5, true);
assertEquals(0.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(0.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward right turn
drive.curvatureDrive(0.5, -0.5, true);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(0.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(0.0, right.getThrottle(), 1e-9);
// Backward
drive.curvatureDrive(-1.0, 0.0, true);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward left turn
drive.curvatureDrive(-0.5, 0.5, true);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(0.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(0.0, right.getThrottle(), 1e-9);
// Backward right turn
drive.curvatureDrive(-0.5, -0.5, true);
assertEquals(0.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(0.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
}
@Test
void testTankDrive() {
var left = new MockPWMMotorController();
var right = new MockPWMMotorController();
var drive = new DifferentialDrive(left::setDutyCycle, right::setDutyCycle);
var drive = new DifferentialDrive(left::setThrottle, right::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.tankDrive(1.0, 1.0, false);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward left turn
drive.tankDrive(0.5, 1.0, false);
assertEquals(0.5, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(0.5, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward right turn
drive.tankDrive(1.0, 0.5, false);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(0.5, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(0.5, right.getThrottle(), 1e-9);
// Backward
drive.tankDrive(-1.0, -1.0, false);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward left turn
drive.tankDrive(-0.5, -1.0, false);
assertEquals(-0.5, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-0.5, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward right turn
drive.tankDrive(-0.5, 1.0, false);
assertEquals(-0.5, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(-0.5, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
}
@Test
void testTankDriveSquared() {
var left = new MockPWMMotorController();
var right = new MockPWMMotorController();
var drive = new DifferentialDrive(left::setDutyCycle, right::setDutyCycle);
var drive = new DifferentialDrive(left::setThrottle, right::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.tankDrive(1.0, 1.0, true);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward left turn
drive.tankDrive(0.5, 1.0, true);
assertEquals(0.25, left.getDutyCycle(), 1e-9);
assertEquals(1.0, right.getDutyCycle(), 1e-9);
assertEquals(0.25, left.getThrottle(), 1e-9);
assertEquals(1.0, right.getThrottle(), 1e-9);
// Forward right turn
drive.tankDrive(1.0, 0.5, true);
assertEquals(1.0, left.getDutyCycle(), 1e-9);
assertEquals(0.25, right.getDutyCycle(), 1e-9);
assertEquals(1.0, left.getThrottle(), 1e-9);
assertEquals(0.25, right.getThrottle(), 1e-9);
// Backward
drive.tankDrive(-1.0, -1.0, true);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward left turn
drive.tankDrive(-0.5, -1.0, true);
assertEquals(-0.25, left.getDutyCycle(), 1e-9);
assertEquals(-1.0, right.getDutyCycle(), 1e-9);
assertEquals(-0.25, left.getThrottle(), 1e-9);
assertEquals(-1.0, right.getThrottle(), 1e-9);
// Backward right turn
drive.tankDrive(-1.0, -0.5, true);
assertEquals(-1.0, left.getDutyCycle(), 1e-9);
assertEquals(-0.25, right.getDutyCycle(), 1e-9);
assertEquals(-1.0, left.getThrottle(), 1e-9);
assertEquals(-0.25, right.getThrottle(), 1e-9);
}
}

View File

@@ -95,43 +95,43 @@ class MecanumDriveTest {
var fr = new MockPWMMotorController();
var rr = new MockPWMMotorController();
var drive =
new MecanumDrive(fl::setDutyCycle, rl::setDutyCycle, fr::setDutyCycle, rr::setDutyCycle);
new MecanumDrive(fl::setThrottle, rl::setThrottle, fr::setThrottle, rr::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.driveCartesian(1.0, 0.0, 0.0);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Left
drive.driveCartesian(0.0, -1.0, 0.0);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
// Right
drive.driveCartesian(0.0, 1.0, 0.0);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(-1.0, fr.getDutyCycle(), 1e-9);
assertEquals(-1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(-1.0, fr.getThrottle(), 1e-9);
assertEquals(-1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Rotate CCW
drive.driveCartesian(0.0, 0.0, -1.0);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(-1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(-1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Rotate CW
drive.driveCartesian(0.0, 0.0, 1.0);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(-1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(-1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
}
@Test
@@ -141,43 +141,43 @@ class MecanumDriveTest {
var fr = new MockPWMMotorController();
var rr = new MockPWMMotorController();
var drive =
new MecanumDrive(fl::setDutyCycle, rl::setDutyCycle, fr::setDutyCycle, rr::setDutyCycle);
new MecanumDrive(fl::setThrottle, rl::setThrottle, fr::setThrottle, rr::setThrottle);
drive.setDeadband(0.0);
// Forward in global frame; left in robot frame
drive.driveCartesian(1.0, 0.0, 0.0, Rotation2d.kCCW_Pi_2);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
// Left in global frame; backward in robot frame
drive.driveCartesian(0.0, -1.0, 0.0, Rotation2d.kCCW_Pi_2);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(-1.0, fr.getDutyCycle(), 1e-9);
assertEquals(-1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(-1.0, fr.getThrottle(), 1e-9);
assertEquals(-1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
// Right in global frame; forward in robot frame
drive.driveCartesian(0.0, 1.0, 0.0, Rotation2d.kCCW_Pi_2);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Rotate CCW
drive.driveCartesian(0.0, 0.0, -1.0, Rotation2d.kCCW_Pi_2);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(-1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(-1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Rotate CW
drive.driveCartesian(0.0, 0.0, 1.0, Rotation2d.kCCW_Pi_2);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(-1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(-1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
}
@Test
@@ -187,42 +187,42 @@ class MecanumDriveTest {
var fr = new MockPWMMotorController();
var rr = new MockPWMMotorController();
var drive =
new MecanumDrive(fl::setDutyCycle, rl::setDutyCycle, fr::setDutyCycle, rr::setDutyCycle);
new MecanumDrive(fl::setThrottle, rl::setThrottle, fr::setThrottle, rr::setThrottle);
drive.setDeadband(0.0);
// Forward
drive.drivePolar(1.0, Rotation2d.kZero, 0.0);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Left
drive.drivePolar(1.0, Rotation2d.kCW_Pi_2, 0.0);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
// Right
drive.drivePolar(1.0, Rotation2d.kCCW_Pi_2, 0.0);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(-1.0, fr.getDutyCycle(), 1e-9);
assertEquals(-1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(-1.0, fr.getThrottle(), 1e-9);
assertEquals(-1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Rotate CCW
drive.drivePolar(0.0, Rotation2d.kZero, -1.0);
assertEquals(-1.0, fl.getDutyCycle(), 1e-9);
assertEquals(1.0, fr.getDutyCycle(), 1e-9);
assertEquals(-1.0, rl.getDutyCycle(), 1e-9);
assertEquals(1.0, rr.getDutyCycle(), 1e-9);
assertEquals(-1.0, fl.getThrottle(), 1e-9);
assertEquals(1.0, fr.getThrottle(), 1e-9);
assertEquals(-1.0, rl.getThrottle(), 1e-9);
assertEquals(1.0, rr.getThrottle(), 1e-9);
// Rotate CW
drive.drivePolar(0.0, Rotation2d.kZero, 1.0);
assertEquals(1.0, fl.getDutyCycle(), 1e-9);
assertEquals(-1.0, fr.getDutyCycle(), 1e-9);
assertEquals(1.0, rl.getDutyCycle(), 1e-9);
assertEquals(-1.0, rr.getDutyCycle(), 1e-9);
assertEquals(1.0, fl.getThrottle(), 1e-9);
assertEquals(-1.0, fr.getThrottle(), 1e-9);
assertEquals(1.0, rl.getThrottle(), 1e-9);
assertEquals(-1.0, rr.getThrottle(), 1e-9);
}
}

View File

@@ -6,17 +6,17 @@ package org.wpilib.hardware.motor;
@SuppressWarnings("removal")
public class MockMotorController implements MotorController {
private double m_dutyCycle;
private double m_throttle;
private boolean m_isInverted;
@Override
public void setDutyCycle(double dutyCycle) {
m_dutyCycle = m_isInverted ? -dutyCycle : dutyCycle;
public void setThrottle(double throttle) {
m_throttle = m_isInverted ? -throttle : throttle;
}
@Override
public double getDutyCycle() {
return m_dutyCycle;
public double getThrottle() {
return m_throttle;
}
@Override
@@ -31,6 +31,6 @@ public class MockMotorController implements MotorController {
@Override
public void disable() {
m_dutyCycle = 0;
m_throttle = 0;
}
}

View File

@@ -5,15 +5,15 @@
package org.wpilib.hardware.motor;
public class MockPWMMotorController {
private double m_dutyCycle;
private double m_throttle;
private boolean m_isInverted;
public void setDutyCycle(double dutyCycle) {
m_dutyCycle = m_isInverted ? -dutyCycle : dutyCycle;
public void setThrottle(double throttle) {
m_throttle = m_isInverted ? -throttle : throttle;
}
public double getDutyCycle() {
return m_dutyCycle;
public double getThrottle() {
return m_throttle;
}
public void setInverted(boolean isInverted) {
@@ -25,7 +25,7 @@ public class MockPWMMotorController {
}
public void disable() {
m_dutyCycle = 0;
m_throttle = 0;
}
public void stopMotor() {

View File

@@ -38,7 +38,7 @@ class DCMotorSimTest {
// ------ SimulationPeriodic() happens after user code -------
RoboRioSim.setVInVoltage(
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDraw()));
sim.setInputVoltage(motor.getDutyCycle() * RobotController.getBatteryVoltage());
sim.setInputVoltage(motor.getThrottle() * RobotController.getBatteryVoltage());
sim.update(0.020);
encoderSim.setRate(sim.getAngularVelocity());
}
@@ -51,7 +51,7 @@ class DCMotorSimTest {
// ------ SimulationPeriodic() happens after user code -------
RoboRioSim.setVInVoltage(
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDraw()));
sim.setInputVoltage(motor.getDutyCycle() * RobotController.getBatteryVoltage());
sim.setInputVoltage(motor.getThrottle() * RobotController.getBatteryVoltage());
sim.update(0.020);
encoderSim.setRate(sim.getAngularVelocity());
}
@@ -76,12 +76,12 @@ class DCMotorSimTest {
encoderSim.resetData();
for (int i = 0; i < 140; i++) {
motor.setDutyCycle(controller.calculate(encoder.getDistance(), 750));
motor.setThrottle(controller.calculate(encoder.getDistance(), 750));
// ------ SimulationPeriodic() happens after user code -------
RoboRioSim.setVInVoltage(
BatterySim.calculateDefaultBatteryLoadedVoltage(sim.getCurrentDraw()));
sim.setInputVoltage(motor.getDutyCycle() * RobotController.getBatteryVoltage());
sim.setInputVoltage(motor.getThrottle() * RobotController.getBatteryVoltage());
sim.update(0.020);
encoderSim.setDistance(sim.getAngularPosition());
encoderSim.setRate(sim.getAngularVelocity());

View File

@@ -48,11 +48,11 @@ class ElevatorSimTest {
double nextVoltage = controller.calculate(encoderSim.getDistance());
double currentBatteryVoltage = RobotController.getBatteryVoltage();
motor.setDutyCycle(nextVoltage / currentBatteryVoltage);
motor.setThrottle(nextVoltage / currentBatteryVoltage);
// ------ SimulationPeriodic() happens after user code -------
var u = VecBuilder.fill(motor.getDutyCycle() * currentBatteryVoltage);
var u = VecBuilder.fill(motor.getThrottle() * currentBatteryVoltage);
sim.setInput(u);
sim.update(0.020);
var y = sim.getOutput();

View File

@@ -18,14 +18,14 @@ class PWMMotorControllerSimTest {
try (Spark spark = new Spark(0)) {
PWMMotorControllerSim sim = new PWMMotorControllerSim(spark);
spark.setDutyCycle(0);
assertEquals(0, sim.getDutyCycle());
spark.setThrottle(0);
assertEquals(0, sim.getThrottle());
spark.setDutyCycle(0.354);
assertEquals(0.354, sim.getDutyCycle());
spark.setThrottle(0.354);
assertEquals(0.354, sim.getThrottle());
spark.setDutyCycle(-0.785);
assertEquals(-0.785, sim.getDutyCycle());
spark.setThrottle(-0.785);
assertEquals(-0.785, sim.getThrottle());
}
}
}