2020-12-26 14:12:05 -08:00
|
|
|
// Copyright (c) FIRST and other WPILib contributors.
|
|
|
|
|
// Open Source Software; you can modify and/or share it under the terms of
|
|
|
|
|
// the WPILib BSD license file in the root directory of this project.
|
2020-08-14 23:40:33 -07:00
|
|
|
|
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
|
|
|
|
|
|
#include <cmath>
|
|
|
|
|
|
2022-04-29 22:29:20 -07:00
|
|
|
#include "frc/EigenCore.h"
|
2020-08-14 23:40:33 -07:00
|
|
|
#include "frc/controller/LinearPlantInversionFeedforward.h"
|
|
|
|
|
#include "units/time.h"
|
|
|
|
|
|
|
|
|
|
namespace frc {
|
|
|
|
|
|
|
|
|
|
TEST(LinearPlantInversionFeedforwardTest, Calculate) {
|
2022-04-29 22:29:20 -07:00
|
|
|
Matrixd<2, 2> A{{1, 0}, {0, 1}};
|
|
|
|
|
Matrixd<2, 1> B{0, 1};
|
2020-08-14 23:40:33 -07:00
|
|
|
|
|
|
|
|
frc::LinearPlantInversionFeedforward<2, 1> feedforward{A, B,
|
|
|
|
|
units::second_t(0.02)};
|
|
|
|
|
|
2022-04-29 22:29:20 -07:00
|
|
|
Vectord<2> r{2, 2};
|
|
|
|
|
Vectord<2> nextR{3, 3};
|
2020-08-14 23:40:33 -07:00
|
|
|
|
|
|
|
|
EXPECT_NEAR(47.502599, feedforward.Calculate(r, nextR)(0, 0), 0.002);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace frc
|