11 Eigen::VectorXd state(10);
12 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
13 Eigen::VectorXd observations(10);
14 observations << 4.5, 13.2, 34.2, -7.2, 3.1, 5.65, 6.86, 9.2, 1.7, 0.5;
15 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(5);
16 Eigen::MatrixXd covariance(10, 10);
17 covariance.setIdentity();
21 std::vector<int> expected_associations = {-1, 0, 4, 6, 8};
23 Eigen::VectorXi associations =
24 ml.
associate(state, observations, covariance, observation_confidences);
26 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
27 EXPECT_EQ(associations[i], expected_associations[i]);
37 Eigen::VectorXd state(10);
38 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
39 Eigen::VectorXd observations(10);
40 observations << 4.499999722610841, 13.199999626032849, 34.19999913867148, -7.200000784733975,
41 3.0999999999972934, 5.649999999996787, 6.859999998027547, 9.200000001049675,
42 1.699999998811323, 0.49999999845647614;
43 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(5);
44 Eigen::MatrixXd covariance(10, 10);
45 covariance.setIdentity();
49 std::vector<int> expected_associations = {-1, 0, 4, 6, 8};
51 Eigen::VectorXi associations =
52 ml.
associate(state, observations, covariance, observation_confidences);
54 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
55 EXPECT_EQ(associations[i], expected_associations[i]);
65 Eigen::VectorXd state(10);
66 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
67 Eigen::VectorXd observations(10);
68 observations << 4.499999823221495, 13.199999786278871, 34.19999419521099, -7.1999951106971025,
69 3.1000000000117893, 5.649999999968996, 6.859999985817916, 9.200000011828031,
70 1.6999999970212407, 0.49999999653619254;
71 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(5);
72 Eigen::MatrixXd covariance(10, 10);
73 covariance.setIdentity();
77 std::vector<int> expected_associations = {-1, 0, 4, 6, 8};
79 Eigen::VectorXi associations =
80 ml.
associate(state, observations, covariance, observation_confidences);
82 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
83 EXPECT_EQ(associations[i], expected_associations[i]);
93 Eigen::VectorXd state(10);
94 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
95 Eigen::VectorXd observations(8);
96 observations << -1.9010818621517096, 13.361719473329373, 12.460973577144308, -1.9640632387881682,
97 1.033044730121015, 10.00589092620211, 8.066244986285891, -4.8905987333937615;
98 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(4);
99 Eigen::MatrixXd covariance(10, 10);
100 covariance.setIdentity();
104 std::vector<int> expected_associations = {-1, -1, -1, -1};
106 Eigen::VectorXi associations =
107 ml.
associate(state, observations, covariance, observation_confidences);
109 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
110 EXPECT_EQ(associations[i], expected_associations[i]);
120 Eigen::VectorXd state(10);
121 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
122 Eigen::VectorXd observations(8);
123 observations << -1.9010818621517096, 13.361719473329373, 12.460973577144308, -1.9640632387881682,
124 1.033044730121015, 10.00589092620211, 8.066244986285891, -4.8905987333937615;
125 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Zero(4);
126 Eigen::MatrixXd covariance(10, 10);
127 covariance.setIdentity();
131 std::vector<int> expected_associations = {-2, -2, -2, -2};
133 Eigen::VectorXi associations =
134 ml.
associate(state, observations, covariance, observation_confidences);
136 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
137 EXPECT_EQ(associations[i], expected_associations[i]);
147 Eigen::VectorXd state(0);
148 Eigen::VectorXd observations(8);
149 observations << -6.59954619, 7.988805, 14.25830, 5.5192899677, -2.193518284, 7.3123420012,
150 12.7823521, 0.449790270;
151 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(4);
152 Eigen::MatrixXd covariance(0, 0);
155 std::vector<int> expected_associations = {-1, -1, -1, -1};
157 Eigen::VectorXi associations =
158 ml.
associate(state, observations, covariance, observation_confidences);
160 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
161 EXPECT_EQ(associations[i], expected_associations[i]);
171 Eigen::VectorXd state(0);
172 Eigen::VectorXd observations(0);
173 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(0);
174 Eigen::MatrixXd covariance(0, 0);
178 Eigen::VectorXi associations =
179 ml.
associate(state, observations, covariance, observation_confidences);
181 EXPECT_EQ(associations.size(), 0);
190 Eigen::VectorXd state(10);
191 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
192 Eigen::VectorXd observations(10);
193 observations << 4.499999823221495, 13.199999786278871, 34.19999419521099, -7.1999951106971025,
194 3.1000000000117893, 5.649999999968996, 6.859999985817916, 9.200000011828031,
195 1.6999999970212407, 0.49999999653619254;
196 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(5);
197 Eigen::MatrixXd covariance(10, 10);
198 covariance.setIdentity();
200 covariance(2, 2) = 1000;
201 covariance(3, 3) = 1000;
204 std::vector<int> expected_associations = {2, 0, 4, 6, 8};
206 Eigen::VectorXi associations =
207 ml.
associate(state, observations, covariance, observation_confidences);
209 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
210 EXPECT_EQ(associations[i], expected_associations[i]);
220 Eigen::VectorXd state(10);
221 state << 34.5, -7, 12.3, 4.5, 3.2, 5.6, 6.8, 9.1, 1.8, 0.4;
222 Eigen::VectorXd observations(10);
223 observations << 4.499999823221495, 13.199999786278871, 34.19999419521099, -7.1999951106971025,
224 3.1000000000117893, 5.649999999968996, 6.859999985817916, 9.200000011828031,
225 1.6999999970212407, 0.49999999653619254;
226 Eigen::VectorXd observation_confidences = Eigen::VectorXd::Ones(5);
227 Eigen::MatrixXd covariance(10, 10);
228 covariance.setIdentity();
230 covariance(0, 0) = 0;
231 covariance(1, 1) = 0;
234 std::vector<int> expected_associations = {-1, -1, 4, 6, 8};
236 Eigen::VectorXi associations =
237 ml.
associate(state, observations, covariance, observation_confidences);
239 for (
int i = 0; i < static_cast<int>(associations.size()); ++i) {
240 EXPECT_EQ(associations[i], expected_associations[i]);
Eigen::VectorXi associate(const Eigen::VectorXd &landmarks, const Eigen::VectorXd &observations, const Eigen::MatrixXd &covariance, const Eigen::VectorXd &observation_confidences) const override
This function associates the landmarks with the observations.