mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[wpimath] Add typedefs for common types
This makes complex code significantly easier to read. frc::Vectord<Size> = Eigen::Vector<double, Size> frc::Matrixd<Rows, Cols> = Eigen::Matrix<double, Rows, Cols>
This commit is contained in:
@@ -34,8 +34,7 @@ TEST(ElevatorSimTest, StateSpaceSim) {
|
||||
auto nextVoltage = controller.Calculate(encoderSim.GetDistance());
|
||||
motor.Set(nextVoltage / frc::RobotController::GetInputVoltage());
|
||||
|
||||
Eigen::Vector<double, 1> u{motor.Get() *
|
||||
frc::RobotController::GetInputVoltage()};
|
||||
frc::Vectord<1> u{motor.Get() * frc::RobotController::GetInputVoltage()};
|
||||
sim.SetInput(u);
|
||||
sim.Update(20_ms);
|
||||
|
||||
@@ -51,7 +50,7 @@ TEST(ElevatorSimTest, MinMax) {
|
||||
units::meter_t(0.75 * 25.4 / 1000.0), 0_m, 1_m,
|
||||
true, {0.01});
|
||||
for (size_t i = 0; i < 100; ++i) {
|
||||
sim.SetInput(Eigen::Vector<double, 1>{0.0});
|
||||
sim.SetInput(frc::Vectord<1>{0.0});
|
||||
sim.Update(20_ms);
|
||||
|
||||
auto height = sim.GetPosition();
|
||||
@@ -59,7 +58,7 @@ TEST(ElevatorSimTest, MinMax) {
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < 100; ++i) {
|
||||
sim.SetInput(Eigen::Vector<double, 1>{12.0});
|
||||
sim.SetInput(frc::Vectord<1>{12.0});
|
||||
sim.Update(20_ms);
|
||||
|
||||
auto height = sim.GetPosition();
|
||||
@@ -71,16 +70,16 @@ TEST(ElevatorSimTest, Stability) {
|
||||
frc::sim::ElevatorSim sim{
|
||||
frc::DCMotor::Vex775Pro(4), 100, 4_kg, 0.5_in, 0_m, 10_m, true};
|
||||
|
||||
sim.SetState(Eigen::Vector<double, 2>{0.0, 0.0});
|
||||
sim.SetInput(Eigen::Vector<double, 1>{12.0});
|
||||
sim.SetState(frc::Vectord<2>{0.0, 0.0});
|
||||
sim.SetInput(frc::Vectord<1>{12.0});
|
||||
for (int i = 0; i < 50; ++i) {
|
||||
sim.Update(20_ms);
|
||||
}
|
||||
|
||||
frc::LinearSystem<2, 1, 1> system = frc::LinearSystemId::ElevatorSystem(
|
||||
frc::DCMotor::Vex775Pro(4), 4_kg, 0.5_in, 100);
|
||||
EXPECT_NEAR_UNITS(units::meter_t{system.CalculateX(
|
||||
Eigen::Vector<double, 2>{0.0, 0.0},
|
||||
Eigen::Vector<double, 1>{12.0}, 20_ms * 50)(0)},
|
||||
sim.GetPosition(), 1_cm);
|
||||
EXPECT_NEAR_UNITS(
|
||||
units::meter_t{system.CalculateX(frc::Vectord<2>{0.0, 0.0},
|
||||
frc::Vectord<1>{12.0}, 20_ms * 50)(0)},
|
||||
sim.GetPosition(), 1_cm);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user