11
indoo.rs SLAM Crowd Engine Technological overview The best indoor blue dot you can find! INDOOR POSITIONING AND NAVIGATION FOR MOBILE APPS Dr. Thomas Burgess Chief Research Officer indoo.rs GmbH, Austria

indoo.rs SLAM Crowd Engine

Embed Size (px)

Citation preview

indoo.rs SLAM Crowd EngineTechnological overview

The best indoor blue dot you can find!

INDOOR POSITIONING AND NAVIGATION FOR MOBILE APPS

Dr. Thomas BurgessChief Research Officerindoo.rs GmbH, Austria

Radio navigation

Floor plan

Radio map

Building

Navigation works with a radio map (red squares) and observed radio (green circles) data from a mobile device.

The radio map contains fingerprints - lists of visible radio signal strengths at each position. The algorithm finds the most similar references to the observation (green dotted lines) and fuses them to a

position.

Trajectory improvement

Radio navigation

Sensor dataPedestrian

dead reckoning

Radio map

Radio data AdaptiveKalman

FilterTrajectory

indoo.rs

indoo.rs

A radio map and mobile radio data is used to produce positions. Motion sensor data is used for Pedestrian Dead Reckoning to produce steps with length and heading.

An Adaptive Kalman Filter combines PDR and positions to a high quality trajectory. Radio and trajectory data are sent to indoo.rs cloud.

From phone to radio map1 - Record 2 - Navigate

3 - SLAM 4 - Interpolate

Mobile

Cloud

The mobile navigation uses the radio map with radio and sensor data to make a trajectory. In the cloud the trajectory is improved using SLAM.

The new radio data along the trajectory is interpolated into the radio map fingerprints.Many such trajectories are combined to make a single radio map update.

indoo.rs SLAM system

SLAMRecordings

BuildingsSLAM

estimates

Navigating mobile devices upload trajectory recordings to the cloud. SLAM improves the trajectories and produces interpolated estimates.

The estimates are used to update the radio map. The new radio map is shipped to future navigating devices.

indoo.rs SLAM Crowd

Initial SLAM Update SLAM

SLAMRec

Rec

Building

SLAMRecording

Recording

Recording

Building

Update SLAM

SLAMRec

Rec

Building

Rec

Initial SLAM uses recordings with ground truth information.Update SLAM uses trajectories from crowd recordings and the latest iteration of the radio map.

As long as part of the radio infrastructure remain, SLAM updates are possible indefinitely.

SLAM crowd algorithm

Recording

Trajectory

Radio

SLAM

GraphSLAM

SegmentFloors

Interrupts

MapInterpolation

SLAMTrajectory

Estimates

Building

Fingerprints

Building

Fingerprints

Mobile recordings are segmented to segments with a single floor and continuous data.SLAM fits the positions and steps to a high quality trajectory in each segment using

GraphSLAM.

Data for each radio is interpolated to the radio map positions.Results for all radios and segments are combined into a building radio map.

SLAM Parallelisation

SLAM

Beacon

Beacon

Beacon

Beacon

Beacon

BeaconSLAM

SLAM

SLAM

SLAM

SLAM

Slice

Slice

Slice

Slice

Slice

Recording

Recording

Segment SLAM MAP

The SLAM Crowd algorithm is well suited for parallel execution: Recordings can be sliced in parallel, slices can be SLAMed in parallel, the radio map for each beacon can be interpolated in parallel.

Single threaded execution is already faster than real time for recordings, but with large data sets parallelisation is necessary for scaling. We implement this using Apache SPARK in a setup that works over multiple cores on one

or more servers.

System overviewMobile Cloud Web front end

SDKs SLAM

DataStore

Crowdcollector

MobileToolkitViewer

Analytics UI

Data export

Dedicated recordings happen in indoo.rs mobile toolkit. Crowd recordings happen in any application using the indoo.rs navigation SDK. In the cloud our Crowd collector front end receive recordings and commits them to the data store.

The data store contains recordings, slam estimates, buildings as protocol buffers stored on s3. Metadata for the s3 files is stored in a postgres db. SLAM monitors datastore to trigger updates. Analytics web UI provides interactive visual exploration

of SLAM trajectories, proximity events, and dedicated analytics data. From the web UI select data can be exported for external use.

indoo.rs provides excellent indoor navigation

SLAM Engine provides high quality initial radio maps

Crowd sourcing collector continuously collects trajectory and radio data from navigating clients

SLAM Crowd Engine regularly produces radio map updates based on crowd data

Analytics engine leverages high quality SLAM trajectories for visual analytics and data export

Summary

The best indoor blue dot you can find!

INDOOR POSITIONING AND NAVIGATION FOR MOBILE APPS

Dr. Thomas Burgess<[email protected]>

Chief Research Officerindoo.rs GmbH, Austria