Upload
patrickrobertson
View
7.366
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Collaborative Pedestrian Mapping of Buildings Using Inertial Sensors and FootSLAM
Patrick RobertsonGerman Aerospace Center (DLR)
María García PuyolDLR and University of Malaga
Michael AngermannDLR
Slide 2
Challenges for Indoor Navigation
Outdoor Outdoor positioning for pedestrians and automobiles uses Global Navigation Satellite Systems (GNSS)
Maps readily available
IndoorGNSS signals strongly disturbed
Combination of pedestrian dead reckoning with maps is advantageous
Existing maps are often imprecise, unavailable, obsolete, proprietary, and limited
Approaches:
Sensor Fusion, Map Aiding,FootSLAM
Slide 3
FootSLAM - Simultaneous Localization and Mapping (SLAM) for pedestrians
FootSLAM converts raw human odometry (left) to maps of walkable areas (right)
Slide 4
FootSLAM Map Representation
Regular 2D hexagon grid
Each edge of the hexagons is associated with a transition count that represents an estimate of the probability with which it was crossed
Resulting maps:
Map Posterior Distribution
“Maximum a posteriori” Map
Slide 5
Collaborative Mapping ScenarioUse map for inertial based map assisted pedestrian navigation
CollaborativeFootSLAMprocessing
Anonymized odometry data collected byvolunteers and / or users
Data may be used to refine the maps
Map
Slide 6
Motivation for Iterative “Turbo” FeetSLAM
Optimal multiple data set estimator is a trivial extension of FootSLAM, but would suffer from severe depletion (too many particles required)
Heuristic approach borrowed from Turbo Coding from comunications theory:
Decompose the problem into smaller ones
Iterative processing
Each processing stage feeds the other with “prior” information
For FootSLAM, the “prior” can be shown to be the maps from all other data sets correctly added together
Iterative processing: we can pre-process the prior maps during iterations (cooling, filtering …)
Similarities to simulated annealing
Slide 7
How do we Combine Different Maps?
Different walks start in different locations and with different starting headings
Even when we run FootSLAM many times for the same data set and same starting conditions, the resulting map is never the same, and may be shifted, rotated or slightly scaled
An example with two data sets showing the need for transformation:
As humans, we would be very good at combining these two maps: we would rotate one until they both fit, then we would add them!
Slide 8
Combining Two Maps
1. Transformation of one map so that they both “fit”• Transforming the map counts• Projection of the counts to match the hexagon grids• Correlate the transformed and fixed maps
2. Find the transformation that gives the best “fit” (correlation) between the two maps
3. Combination of the two maps by simply adding the counts
Slide 9
Transformation and Projection: Example
Transformation and projection is performed on an edge by edge basis
Transformation
Slide 10
Projection of one edge: Finding the Target Hexagons
TARGET GRID
Slide 11
Distance factor Angular factor
How to Share the Counts among the Edges of the Target Hexagons
22 )()( htghtrhtghtr yyxxdist
2/
0
2
8)(
Rr
r AB
B
A
RrdrdOvlpArea
Distance weight Angular weight
Slide 12
Two Examples of Transformation and Projection
Rotation=0.5804 radX shift= -0.2mY shift= 1.2mScale factor=1.0
Rotation=0.0radX shift= 0.0mY shift= 0.0mScale factor=1.15
Slide 13
Finding the best Transformation
To combine two individual maps, we need to find the best transformation for one of them to match the other
Try all different combinations of x and y shifts, rotation and scale factor values, and compute the resulting log-likelihood value of the transformation (see paper for details)
The maximum log-likelihood value best transformation
Slide 14
Combining Two Maps
The combination of two maps after transformation and projection is achieved by simply adding the counts of their edges:
Slide 15
Processing more that Two Maps
Take all the maps pairwise and correlate themChoose the pair that has the highest correlation
Obtain the combined map, add it to the pool and remove the two individual maps
Also correlate the new combined map with the existing ones and proceed the same way
Slide 16
Prior Map Generation: Weakening and Filtering
For each data set, a prior map is generated by adding the other maps (after being combined as shown before)
We process maps iteratively
A prior map can be weakened and filtered to control its influence on the FootSLAM map estimation process:
We want FeetSLAM to converge gradually to the “correct” total map
Weakening: dividing the counts by a prior map weakening factor >1
Spatial Filtering: spreading the counts over more hexagons
Start with a weak and strongly filtered map for early iterations
Make the map stronger and less filtered as iterations proceed
Slide 17
Used at thenext iteration
Algorithm at each Iteration
FootSLAM (Di)
Data sets (walks)
Combination (M1…Mn)
Transform(Mi)
Add counts
Starting Conditions
SC1…SCn
Transform-ations T1…Tn
Total Map
Individual Maps M1…Mn
Transformations T1…Tn from
previous iteration
Prior maps P1…Pn
Prior maps P1…Pn
Transform(SCi)
Starting Conditions SC1…SCn from previous
iteration
Starting Conditions of FS maps SC1…
SCn
M1T…Mn
T
Data Sets D1…Dn
Cooling &Filtering
Manually written SC (or GPS anchors)
Starting Conditions are applied to the Data before FootSLAM. Over iterations, Data is correctly aligned before FootSLAM. See video!
Slide 18
Two scenarios
DLR
90000 particles
5 walks
37 hours for 10 iterations
Video
MIT
90000 particles
4 walks
42 hours for 10 iterations
Video
Slide 19
Start
Finish
MIT Track 3 Raw Odometry
Slide 20
DLR Data: Comparison with the true ground floor
In the original plan this wall was…
… here
The floor plan we originally usedas a ground truth was wrong!
Slide 21
Result of the MIT Experiment
Slide 22
Comparison with the true ground floor
Total mapOne of the maps
Slide 23
Achievements and further work
Achievements
Presented a fully automated FeetSLAM implementation
Evaluated with two data sets
Total map is more complete than the individual ones
The maps become more precise and accurate over iterations
Individual maps that do not converge without a prior converge when using the information provided by other maps
Further work
Online and real-time map merging
GPS anchors
Improve mathematical basis for correlation function
Performance enhancements, computational requirements
Address 3D
Slide 24
Collaborative Indoor Mapping
Slide 25
Thanks for your Attention!
Slide 26
Characteristics of FootSLAM
Foot-mounted IMU sensor measures pedestrian odometry
Optionally GPS (for absolute reference)
Human motion modeled as a first order Markov process
Each particle estimates the pose + odometry errors + individual map
Hence: each particle tries a certain pose history – and estimates a “walkability” map based on this
Dynamic Bayesian Network for FootSLAM
Slide 27
Collaborative Mapping
Collaborative FootSLAM FeetSLAM
Data sets that arise from different walks and that may or may not start and finish at the same point and that can overlap more or less
Current status: Non-real time approach (offline processing)
Collaborative mapping of airports,
museums and other public buildings
Goals
Complete map of the “walkable areas”
Accurate individual maps
Adapt to changes in the environment (walls, furniture, etc)
The map is then used to let(other) pedestrians navigate using these maps
Slide 28
Projection of the Counts
The transformation is performed to make one map match another
When comparing or adding two maps, we need them to be within the same coordinate system, that is, grid of hexagons
When we transform a map, its hexagons are usually not aligned with the hexagons of the target hexagon grid
We need to project the transformed map onto the target grid
x
y
Slide 29
3. Comparison of two mapsAugmented Log-Likelihood value
Accounted for map: the map that
is transformed
Underneath map: the map that is
fixed
Log FootSLAM weight Heuristic hexagoncorrelation term
Slide 30
Example of the log-likelihood function α=0.8β=0.04