mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[wpimath] Fix ElevatorSim::GetCurrentDraw() in C++ (#8370)
The Kv calculation in C++ was missing a negative sign compared to the Java implementation.
This commit is contained in:
@@ -92,3 +92,15 @@ TEST(ElevatorSimTest, Stability) {
|
||||
frc::Vectord<1>{12.0}, 20_ms * 50)(0)},
|
||||
sim.GetPosition(), 1_cm);
|
||||
}
|
||||
|
||||
TEST(ElevatorSimTest, CurrentDraw) {
|
||||
auto const motor = frc::DCMotor::KrakenX60(2);
|
||||
frc::sim::ElevatorSim sim(motor, 20, 8_kg, 0.1_m, 0_m, 1_m, true, 0_m,
|
||||
{0.01, 0.0});
|
||||
|
||||
EXPECT_DOUBLE_EQ(0.0, sim.GetCurrentDraw().value());
|
||||
sim.SetInputVoltage(motor.Voltage(motor.Torque(60_A), 0_rad_per_s));
|
||||
sim.Update(100_ms);
|
||||
// current draw should start at 60 A and decrease as the back emf catches up
|
||||
EXPECT_TRUE(0_A < sim.GetCurrentDraw() && sim.GetCurrentDraw() < 60_A);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user