39 #include <gtest/gtest.h>
43 static const size_t STATE_DIM = 6;
44 static const size_t CONTROL_DIM = 2;
46 Eigen::Matrix<double, STATE_DIM, STATE_DIM> A{}, Q{};
47 Eigen::Matrix<double, STATE_DIM, CONTROL_DIM> B{};
48 Eigen::Matrix<double, CONTROL_DIM, CONTROL_DIM> R{};
49 Eigen::Matrix<double, CONTROL_DIM, STATE_DIM> K{};
50 Eigen::Matrix<double, CONTROL_DIM, 1> Nbar{};
52 A << 0, 1, 0, 0, 0, 0, 432.8077, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 73.9215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
55 B << 0, 0, -49.6930, -49.6930, 0, 0, 7.3620, 7.3620, 0, 0, -26.3737, 26.3737;
57 Q << 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1;
61 K << -36.4111581829, -1.5198212494, -2.2360679774, -2.4573417169, -0.7071067811, -0.7258175096, -36.4111581829,
62 -1.5198212494, -2.2360679774, -2.4573417169, 0.7071067811, 0.7258175096;
66 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> average = lqr.
getK();
67 for (uint j = 0; j < CONTROL_DIM; ++j)
69 for (uint i = 0; i < STATE_DIM; ++i)
71 EXPECT_NEAR(K(j, i), average(j, i), 1e-9);