Blank Slate Localization: Active Global Localization from Arbitrary Locations using Semantic Floor Plans
Floor plan based active global localization refers to the problem of localizing an agent in the floor plan while giving it control commands so as to efficiently minimize the localization error and time. It is generally formulated as an optimization problem where the agent's real-time sensor data is matched against the map to minimize a cost function.
However, most existing methods either assume some {\em a priori} knowledge of the starting position of the agent or consider floor plans that are created using sensors the same as the ones on the agent. In this work, we propose Blank Slate Localization (BSL): a novel methodology for architectural floor plan based active localization for indoor navigation starting from completely unknown initial locations. Semantically aware {\em a priori} map based real-time goals are created for the agent to intelligently explore the local environment while simultaneously constructing a 2D semantic point cloud to globally localize the agent. To account for the time-varying odometry drift, a method is proposed to dynamically correct it based on the floor plan without knowing the global pose of the agent. Furthermore, a novel methodology for real-time bi-directional loop closure has been used. The efficacy of the proposed pipeline has been shown by conducting several experiments on indoor environments.
Method | Candidate creation (Mean) | Candidate creation (Std) | Candidate confirmation (Mean) | Candidate confirmation (Std) |
---|---|---|---|---|
Left wall follower | 13.25 | 10.55 | 15.64 | 11.63 |
Random coin toss | 15.03 | 13.96 | 17.62 | 15.66 |
Our method | 11.27 | 9.31 | 13.25 | 10.36 |
Method | Distance travelled (Mean) | Distance travelled (Std) |
---|---|---|
Min. possible distance | 32.92 | 18.29 |
Left wall follower | 52.03 | 20.88 |
Random coin toss | 51.19 | 21.78 |
Our method | 44.97 | 20.20 |
Avg. | ||||||
---|---|---|---|---|---|---|
Our method | 4.9 | 4.1 | 18.1 | 16.4 | 9.4 | 10.6 |
No Loop Closure | 5.8 | 4.4 | 22 | 15.5 | 15.2 | 12.6 |
No Drift Correction | 4.1 | 13.5 | 13.6 | 13.2 | 11.1 | 11.1 |
Path to Target | 16 | 3.8 | 40.4 | 9.5 | 20.3 | 18 |
Avg. | ||||||
---|---|---|---|---|---|---|
Our method | 36.6 | 55.3 | 68.7 | 26.4 | 41.8 | 45.7 |
No Loop Closure | 47.2 | 58.5 | 76.4 | 21.5 | 72.8 | 55.3 |
No Drift Correction | 36 | 23.2 | - | - | - | - |
Path to Target | 16.5 | 60.2 | 64.7 | 17.4 | 44.5 | 40.6 |
Figure 1: Environment 1 FloorMap
Index | Starting Point (X) | Starting Point (Y) | End Point (X) | End Point (Y) | Candidate Creation | Candidate Confirmation |
---|---|---|---|---|---|---|
95 | 390 | 10 | 270 | 9.13 | 9.40 | |
250 | 77 | 10 | 270 | 39.58 | 39.69 | |
250 | 250 | 10 | 270 | 17.73 | 24.27 | |
50 | 70 | 10 | 270 | 4.98 | 6.25 | |
26 | 390 | 10 | 270 | 0.21 | 0.78 | |
115 | 320 | 50 | 70 | 9.72 | 12.97 | |
210 | 450 | 50 | 70 | 4.11 | 6.71 | |
195 | 70 | 50 | 70 | 6.68 | 7.16 | |
277 | 70 | 50 | 70 | 1.25 | 1.69 | |
127 | 392 | 50 | 70 | 18.12 | 26.08 | |
275 | 70 | 115 | 330 | 8.83 | 10.63 | |
10 | 385 | 115 | 330 | 16.42 | 22.53 | |
248 | 248 | 115 | 330 | 21.59 | 24.22 | |
70 | 70 | 115 | 330 | 17.44 | 20.26 | |
210 | 450 | 115 | 330 | 8.28 | 11.43 | |
50 | 390 | 250 | 200 | 9.43 | 11.36 | |
230 | 70 | 250 | 200 | 20.82 | 22.84 | |
250 | 250 | 250 | 200 | 18.85 | 22.43 | |
118 | 70 | 250 | 200 | 15.43 | 17.91 | |
10 | 240 | 250 | 200 | 24.90 | 32.53 |
Figure 2: Environment 2 FloorMap
Index | Starting Point (X) | Starting Point (Y) | End Point (X) | End Point (Y) | Candidate Creation | Candidate Confirmation |
---|---|---|---|---|---|---|
198 | 135 | 155 | 470 | 7.24 | 7.67 | |
225 | 465 | 155 | 470 | 6.01 | 6.79 | |
8 | 131 | 155 | 470 | 1.17 | 1.39 | |
220 | 133 | 175 | 75 | 0.99 | 1.27 | |
266 | 382 | 175 | 75 | 12.85 | 14.03 | |
10 | 255 | 175 | 75 | 2.59 | 3.45 | |
219 | 490 | 175 | 75 | 0.01 | 0.01 | |
170 | 135 | 219 | 490 | 5.82 | 6.26 | |
268 | 219 | 219 | 490 | 11.95 | 12.71 | |
8 | 415 | 219 | 490 | 11.80 | 12.47 |