ion feet slam 2011 v4

30
Collaborative Pedestrian Mapping of Buildings Using Inertial Sensors and FootSLAM Patrick Robertson German Aerospace Center (DLR) María García Puyol DLR and University of Malaga Michael Angermann DLR

Upload: patrickrobertson

Post on 01-Dec-2014

7.366 views

Category:

Devices & Hardware


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ion feet slam 2011 v4

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

Page 2: Ion feet slam 2011 v4

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

Page 3: Ion feet slam 2011 v4

Slide 3

FootSLAM - Simultaneous Localization and Mapping (SLAM) for pedestrians

FootSLAM converts raw human odometry (left) to maps of walkable areas (right)

Page 4: Ion feet slam 2011 v4

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

Page 5: Ion feet slam 2011 v4

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

Page 6: Ion feet slam 2011 v4

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

Page 7: Ion feet slam 2011 v4

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!

Page 8: Ion feet slam 2011 v4

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

Page 9: Ion feet slam 2011 v4

Slide 9

Transformation and Projection: Example

Transformation and projection is performed on an edge by edge basis

Transformation

Page 10: Ion feet slam 2011 v4

Slide 10

Projection of one edge: Finding the Target Hexagons

TARGET GRID

Page 11: Ion feet slam 2011 v4

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

Page 12: Ion feet slam 2011 v4

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

Page 13: Ion feet slam 2011 v4

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

Page 14: Ion feet slam 2011 v4

Slide 14

Combining Two Maps

The combination of two maps after transformation and projection is achieved by simply adding the counts of their edges:

Page 15: Ion feet slam 2011 v4

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

Page 16: Ion feet slam 2011 v4

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

Page 17: Ion feet slam 2011 v4

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!

Page 18: Ion feet slam 2011 v4

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

Page 19: Ion feet slam 2011 v4

Slide 19

Start

Finish

MIT Track 3 Raw Odometry

Page 20: Ion feet slam 2011 v4

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!

Page 21: Ion feet slam 2011 v4

Slide 21

Result of the MIT Experiment

Page 22: Ion feet slam 2011 v4

Slide 22

Comparison with the true ground floor

Total mapOne of the maps

Page 23: Ion feet slam 2011 v4

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

Page 24: Ion feet slam 2011 v4

Slide 24

Collaborative Indoor Mapping

Page 25: Ion feet slam 2011 v4

Slide 25

Thanks for your Attention!

Page 26: Ion feet slam 2011 v4

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

Page 27: Ion feet slam 2011 v4

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

Page 28: Ion feet slam 2011 v4

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

Page 29: Ion feet slam 2011 v4

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

Page 30: Ion feet slam 2011 v4

Slide 30

Example of the log-likelihood function α=0.8β=0.04