22 #include <gtest/gtest.h>
41 0.910f, 0.900f, 0.910f, 0.900f, 0.900f, 0.890f, 0.890f,
42 0.880f, 0.890f, 0.880f, 0.880f, 0.880f, 0.880f, 0.880f,
43 0.880f, 0.870f, 0.880f, 0.870f, 0.870f, 0.870f, 0.880f,
44 0.880f, 0.880f, 0.880f, 0.880f, 0.880f, 0.880f, 0.880f,
45 0.880f, 0.880f, 0.880f, 0.880f, 0.880f, 0.880f, 0.880f,
46 0.880f, 0.890f, 0.880f, 0.880f, 0.880f, 0.890f, 0.880f,
47 0.890f, 0.890f, 0.880f, 0.890f, 0.890f, 0.880f, 0.890f,
48 0.890f, 0.890f, 0.890f, 0.890f, 0.890f, 0.900f, 0.900f,
49 0.900f, 0.900f, 0.900f, 0.910f, 0.910f, 0.910f, 0.910f,
50 0.920f, 0.920f, 0.920f, 0.920f, 0.920f, 0.930f, 0.930f,
51 0.930f, 0.930f, 0.940f, 0.940f, 0.950f, 0.950f, 0.950f,
52 0.950f, 0.960f, 0.960f, 0.970f, 0.970f, 0.970f, 0.980f,
53 0.980f, 0.990f, 1.000f, 1.000f, 1.000f, 1.010f, 1.010f,
54 1.020f, 1.030f, 1.030f, 1.030f, 1.040f, 1.050f, 1.060f,
55 1.050f, 1.060f, 1.070f, 1.070f, 1.080f, 1.080f, 1.090f,
56 1.100f, 1.110f, 1.120f, 1.120f, 1.130f, 1.140f, 1.140f,
57 1.160f, 1.170f, 1.180f, 1.180f, 1.190f, 1.200f, 1.220f,
58 1.220f, 1.230f, 1.230f, 1.240f, 1.250f, 1.270f, 1.280f,
59 1.290f, 1.300f, 1.320f, 1.320f, 1.350f, 1.360f, 1.370f,
60 1.390f, 1.410f, 1.410f, 1.420f, 1.430f, 1.450f, 1.470f,
61 1.490f, 1.500f, 1.520f, 1.530f, 1.560f, 1.580f, 1.600f,
62 1.620f, 1.650f, 1.670f, 1.700f, 1.730f, 1.750f, 1.780f,
63 1.800f, 1.830f, 1.850f, 1.880f, 1.910f, 1.940f, 1.980f,
64 2.010f, 2.060f, 2.090f, 2.130f, 2.180f, 2.220f, 2.250f,
65 2.300f, 2.350f, 2.410f, 2.460f, 2.520f, 2.570f, 2.640f,
66 2.700f, 2.780f, 2.850f, 2.930f, 3.010f, 3.100f, 3.200f,
67 3.300f, 3.390f, 3.500f, 3.620f, 3.770f, 3.920f, 4.070f,
68 4.230f, 4.430f, 4.610f, 4.820f, 5.040f, 5.290f, 5.520f,
69 8.970f, 8.960f, 8.950f, 8.930f, 8.940f, 8.930f, 9.050f,
70 9.970f, 9.960f, 10.110f, 13.960f, 18.870f, 19.290f, 81.910f,
71 20.890f, 48.750f, 48.840f, 48.840f, 19.970f, 19.980f, 19.990f,
72 15.410f, 20.010f, 19.740f, 17.650f, 17.400f, 14.360f, 12.860f,
73 11.260f, 11.230f, 8.550f, 8.630f, 9.120f, 9.120f, 8.670f,
74 8.570f, 7.230f, 7.080f, 7.040f, 6.980f, 6.970f, 5.260f,
75 5.030f, 4.830f, 4.620f, 4.440f, 4.390f, 4.410f, 4.410f,
76 4.410f, 4.430f, 4.440f, 4.460f, 4.460f, 4.490f, 4.510f,
77 4.540f, 3.970f, 3.820f, 3.730f, 3.640f, 3.550f, 3.460f,
78 3.400f, 3.320f, 3.300f, 3.320f, 3.320f, 3.340f, 2.790f,
79 2.640f, 2.600f, 2.570f, 2.540f, 2.530f, 2.510f, 2.490f,
80 2.490f, 2.480f, 2.470f, 2.460f, 2.460f, 2.460f, 2.450f,
81 2.450f, 2.450f, 2.460f, 2.460f, 2.470f, 2.480f, 2.490f,
82 2.490f, 2.520f, 2.510f, 2.550f, 2.570f, 2.610f, 2.640f,
83 2.980f, 3.040f, 3.010f, 2.980f, 2.940f, 2.920f, 2.890f,
84 2.870f, 2.830f, 2.810f, 2.780f, 2.760f, 2.740f, 2.720f,
85 2.690f, 2.670f, 2.650f, 2.630f, 2.620f, 2.610f, 2.590f,
86 2.560f, 2.550f, 2.530f, 2.510f, 2.500f, 2.480f, 2.460f,
87 2.450f, 2.430f, 2.420f, 2.400f, 2.390f, 2.380f, 2.360f,
88 2.350f, 2.340f, 2.330f, 2.310f, 2.300f, 2.290f, 2.280f,
89 2.270f, 2.260f, 2.250f, 2.240f, 2.230f, 2.230f, 2.220f,
90 2.210f, 2.200f, 2.190f, 2.180f, 2.170f, 1.320f, 1.140f,
91 1.130f, 1.130f, 1.120f, 1.120f, 1.110f, 1.110f, 1.110f,
92 1.110f, 1.100f, 1.110f, 1.100f};
94 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
95 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
96 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
97 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
98 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
99 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
100 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
101 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
102 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
103 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
104 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
105 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
106 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
107 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
108 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
109 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
112 0.720f, 0.720f, 0.720f, 0.720f, 0.720f, 0.720f, 0.710f,
113 0.720f, 0.710f, 0.710f, 0.710f, 0.710f, 0.710f, 0.710f,
114 0.710f, 0.710f, 0.710f, 0.710f, 0.710f, 0.710f, 0.720f,
115 0.720f, 0.720f, 0.720f, 0.730f, 0.730f, 0.730f, 0.730f,
116 0.730f, 0.730f, 0.730f, 0.740f, 0.740f, 0.740f, 0.740f,
117 0.740f, 0.740f, 0.750f, 0.750f, 0.750f, 0.750f, 0.750f,
118 0.750f, 0.750f, 0.750f, 0.760f, 0.760f, 0.760f, 0.760f,
119 0.760f, 0.760f, 0.760f, 0.760f, 0.770f, 0.770f, 0.770f,
120 0.770f, 0.780f, 0.780f, 0.780f, 0.790f, 0.790f, 0.800f,
121 0.800f, 0.800f, 0.800f, 0.800f, 0.800f, 0.810f, 0.810f,
122 0.820f, 0.820f, 0.830f, 0.830f, 0.840f, 0.840f, 0.850f,
123 0.850f, 0.860f, 0.860f, 0.860f, 0.870f, 0.870f, 0.880f,
124 0.890f, 0.890f, 0.900f, 0.900f, 0.910f, 0.920f, 0.930f,
125 0.930f, 0.940f, 0.940f, 0.940f, 0.950f, 0.960f, 0.960f,
126 0.970f, 0.980f, 0.990f, 1.000f, 1.010f, 1.020f, 1.030f,
127 1.040f, 1.050f, 1.060f, 1.070f, 1.080f, 1.080f, 1.100f,
128 1.100f, 1.120f, 1.120f, 1.140f, 1.140f, 1.170f, 1.160f,
129 1.180f, 1.190f, 1.210f, 1.220f, 1.240f, 1.250f, 1.280f,
130 1.290f, 1.300f, 1.320f, 1.340f, 1.350f, 1.380f, 1.390f,
131 1.420f, 1.440f, 1.460f, 1.470f, 1.500f, 1.520f, 1.550f,
132 1.570f, 1.600f, 1.630f, 1.670f, 1.690f, 1.730f, 1.760f,
133 1.790f, 1.820f, 1.870f, 1.900f, 1.940f, 1.970f, 2.030f,
134 2.080f, 2.130f, 2.170f, 2.230f, 2.280f, 2.340f, 2.400f,
135 2.490f, 2.550f, 2.630f, 2.700f, 2.810f, 2.880f, 3.010f,
136 3.090f, 3.240f, 3.340f, 3.500f, 3.620f, 3.810f, 3.950f,
137 4.180f, 4.340f, 4.620f, 8.170f, 8.140f, 8.150f, 8.120f,
138 8.110f, 8.100f, 8.100f, 8.300f, 9.040f, 9.130f, 9.130f,
139 13.030f, 18.050f, 19.150f, 81.910f, 20.070f, 47.980f, 48.040f,
140 48.030f, 19.140f, 19.180f, 19.180f, 19.190f, 14.550f, 19.210f,
141 16.850f, 16.840f, 7.800f, 7.770f, 7.770f, 7.750f, 7.770f,
142 7.760f, 7.780f, 7.760f, 8.320f, 8.350f, 8.350f, 8.090f,
143 7.720f, 7.730f, 6.430f, 6.360f, 6.290f, 6.260f, 6.230f,
144 6.220f, 6.160f, 5.800f, 4.510f, 4.410f, 4.240f, 4.140f,
145 4.000f, 3.910f, 3.790f, 3.680f, 3.660f, 3.680f, 3.680f,
146 3.700f, 3.710f, 3.730f, 3.730f, 3.760f, 3.770f, 3.790f,
147 3.820f, 3.850f, 3.900f, 3.940f, 3.980f, 3.250f, 3.180f,
148 3.140f, 3.070f, 3.030f, 2.970f, 2.930f, 2.880f, 2.850f,
149 2.790f, 2.760f, 2.710f, 2.680f, 2.660f, 2.670f, 2.690f,
150 2.710f, 2.720f, 2.740f, 2.760f, 2.770f, 2.780f, 2.800f,
151 2.170f, 2.120f, 2.090f, 2.060f, 2.020f, 2.010f, 1.990f,
152 1.980f, 1.970f, 1.960f, 1.950f, 1.950f, 1.940f, 1.940f,
153 1.950f, 1.940f, 1.940f, 1.950f, 1.930f, 1.940f, 1.940f,
154 1.940f, 1.940f, 1.940f, 1.950f, 1.960f, 1.960f, 1.980f,
155 1.980f, 2.000f, 2.010f, 2.030f, 2.060f, 2.090f, 2.120f,
156 2.190f, 2.560f, 2.540f, 2.530f, 2.520f, 2.500f, 2.490f,
157 2.470f, 2.460f, 2.450f, 2.440f, 2.420f, 2.410f, 2.400f,
158 2.390f, 2.380f, 2.370f, 2.360f, 2.350f, 2.340f, 2.340f,
159 2.330f, 2.320f, 2.310f, 2.300f, 2.290f, 2.290f, 2.290f,
160 2.280f, 2.270f, 2.260f, 2.260f, 2.250f, 2.240f, 2.240f,
161 2.230f, 2.230f, 2.220f, 2.220f, 2.210f, 2.210f, 2.200f,
162 2.200f, 2.190f, 2.190f, 2.190f, 2.180f, 2.180f, 2.170f,
163 2.170f, 2.170f, 2.160f, 2.160f};
165 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
166 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
167 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
168 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
169 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
170 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
171 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
172 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
173 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
174 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
175 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
176 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
177 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
178 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
179 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
180 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
182 #define SCANS_SIZE (sizeof(SCAN_RANGES_1) / sizeof(SCAN_RANGES_1[0]))
218 ICP.
Align(&m1, &m2, initialPose, &runningTime, (
void*)&info);
233 EXPECT_NEAR(good_pose.
distanceTo(pdf->getMeanVal()), 0, 0.02);
238 CSphere::Ptr sph = mrpt::make_aligned_shared<CSphere>(0.5);
239 sph->setLocation(0, 0, 0);
240 sph->setColor(1, 0, 0);
243 CDisk::Ptr pln = mrpt::make_aligned_shared<opengl::CDisk>();
244 pln->setDiskRadius(2);
246 pln->setColor(0.8, 0, 0);
250 CDisk::Ptr pln = mrpt::make_aligned_shared<opengl::CDisk>();
251 pln->setDiskRadius(2);
254 pln->setColor(0.9, 0, 0);
286 mrpt::make_aligned_shared<CGridPlaneXY>(-20, 20, -20, 20, 0, 1);
287 plane1->setColor(0.3, 0.3, 0.3);
288 scene1->insert(plane1);
289 scene2->insert(plane1);
290 scene3->insert(plane1);
294 scene1->insert(world);
298 mrpt::make_aligned_shared<CAngularObservationMesh>();
300 mrpt::make_aligned_shared<CAngularObservationMesh>();
302 CAngularObservationMesh::trace2DSetOfRays(
304 CAngularObservationMesh::TDoubleRange::CreateFromAperture(
306 CAngularObservationMesh::TDoubleRange::CreateFromAperture(
308 CAngularObservationMesh::trace2DSetOfRays(
310 CAngularObservationMesh::TDoubleRange::CreateFromAperture(
312 CAngularObservationMesh::TDoubleRange::CreateFromAperture(
319 origin1->setScale(0.6f);
320 scene1->insert(origin1);
321 scene2->insert(origin1);
326 origin2->setScale(0.6f);
327 scene1->insert(origin2);
328 scene2->insert(origin2);
334 aom1->generatePointCloud(&M1);
335 aom2->generatePointCloud(&M2);
351 scene2->insert(PTNS1);
352 scene2->insert(PTNS2);
368 &run_time, &icp_info);
380 <<
"ICP output: mean= " <<
mean << endl