track 4 session 3 - st dev con 2016 - pedestrian dead reckoning

21
October 4, 2016 Santa Clara Convention Center Mission City Ballroom Pedestrian Dead-Reckoning (PDR) for Indoor Positioning MEMS Sensor Solutions Software Team

Upload: stworld

Post on 06-Jan-2017

770 views

Category:

Devices & Hardware


2 download

TRANSCRIPT

Page 1: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

October 4, 2016

Santa Clara Convention Center

Mission City Ballroom

Pedestrian Dead-Reckoning (PDR)

for Indoor Positioning

MEMS Sensor Solutions Software Team

Page 2: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

ST PDR for indoor positioning

Continuous and accurate indoor positioning

Connectivity* Sensors Processing PDR

ST PDR

Algorithm

* Needed only for

initial absolute

positioning

2

Page 3: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Components of PDRDemonstration

Sensor calibration

parameters

Altitude filter outputCarry position

Activity modeTotal distance

Step count

Rich interface APIs to get additional information

Demo implemented as an Android application

PDR trajectory and uncertainty estimates

displayed in real-time

• Continuous sensor calibration monitoring

• Body placement detection

• User activity mode detection

• Step detection, including false step rejection

• Variable stride length model and calibration

• Attitude Filter

• User walking direction determination

• Position update logic

• Error model

4

Page 4: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

PDR Block DiagramAccelerometer Gyroscope Magnetometer Pressure Sensor

Calibration monitoring Calibration monitoring Calibration monitoring

disturbance rejection

Step Detection

Stride length determination

Attitude estimation filter

Carry Position determination

User Heading determination

Altitude, floor change

estimation

PDR Output Latitude – Longitude - Altitude

User Activity, transport

mode

5

Page 5: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

PDR Mathematical Process

• Velocity and heading are assumed to be constant during the interval when a

step is taken.

• Navigation equation rewritten as a difference equation with piece-wise linear

approximation.

1],1[1

1],1[1

cosˆ

sinˆ

ttttt

ttttt

sNN

sEE

[Nt, Et] = Current position at time t

[Nt-1, Et-1] = Last position at time t-1

𝑠[t-1, t] = Stride length

ψt-1 = User heading

6

Page 6: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Carry Position Determination

• Detects Carry Positions

In Hand, Near Head, Shirt

Pocket, Trouser Pocket, On

Desk, Arm Swing

• User Accelerometer data and

Gyroscope (for higher accuracy)

• Optimized for low power and

always on experience

• Uses Machine Learning based

models to achieve higher

accuracy

7

Page 7: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Magnetometer Calibration

• Opportunistic magnetometer calibration with following features

• Minimum action requirement from user (< 8 pattern) and less than 2 s time interval.

• Robust against magnetic anomaly.

• Compensate hard iron and soft iron error (9 parameters: 3 offsets, 3-scale factor, 3 – Soft

iron).

8

Page 8: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Accelerometer Calibration

• Algorithm to maintain best estimate

of bias and scale factor error in

accelerometer data.

• Fastest accelerometer calibration

based on change in curvature of a

surface and does not require to

hold the device stationary in

different orientation for 2-3

seconds.

9

Page 9: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Run-time Gyro Bias Calibration

• Driven by accelerometer and gyroscope data.

• Gyro bias is estimated with device stationary condition.

• Fast calibration process. Requires very small amount of data (less than 60

samples) at 50 Hz rate.

[deg.]

-1

0

1

2

3

4

5

6

0.2

40

.49

0.7

40

.99

1.2

41

.49

1.7

41

.99

2.2

42

.49

2.7

42

.99

3.2

43

.49

3.7

43

.99

4.2

44

.49

4.7

44

.99

5.2

45

.49

5.7

45

.99

6.2

46

.49

6.7

46

.99

7.2

47

.49

7.7

47

.99

8.2

48

.49

8.7

48

.99

9.2

49

.49

9.7

49

.99

10.2

41

0.4

91

0.7

41

0.9

91

1.2

41

1.4

91

1.7

41

1.9

91

2.2

41

2.4

91

2.7

41

2.9

91

3.2

41

3.4

9

Gbias estimation library output

Gyro Gbias[sec.]

10

Page 10: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Walking Angle

• Attitude fusion filter outputs heading in

sensor frame.

• However, device orientation can be

arbitrary (shirt pocket, arm swing,

trouser pocket).

• Walk angle needed to obtain user

heading. Mathematically, computing

North and East distance requires

• 𝑁𝑡 = 𝑁𝑡−1 + 𝑠𝑡−1cos 𝜓

• 𝐸𝑡 = 𝐸𝑡−1 + 𝑠𝑡−1s𝑖𝑛 𝜓

where

𝜓 = 𝜃 + 𝛼𝜃 = Device heading from

attitude Kalman filter;

α =walk angle

• Based on the physiological characteristics of pedestrian movement, we use the cyclical

characteristics and statistics of acceleration waveform and features to estimates the

misalignment of device with body motion.

• Most challenging problem for the PDR performance.

α

11

Page 11: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Walking angle (Arm Swing test)

Device flipped 180o

Device in same direction

180o turn

12

Page 12: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Configurability of PDR

• Input data: Raw / or calibrated data with minimum sample rate of [50, 50, 25,10] Hz for Accelerometer, gyroscope, magnetometer, pressure sensor.

• Selection of Raw or Calibrated at time of initialization.

• Modularity: Most of algorithm modules are independent and can run with required inputs (in terms of sensor data and other inputs such as user Heading need attitude filter data).

• PDR library can be used to run only a specific algorithm, such as step detection, sensor calibration, attitude filter. Library can be configured to turn modules ON / off during runtime.

• Scheduling: Each module is responsible for its own scheduling and running condition.

• Individual module can be disabled /enabled at run time. An algorithm / module execution is not blocked by other modules. Independent of sensor data acquisition and platform.

13

Page 13: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

PDR Output

• PDR output

• Displacement in ENU coordinate system

• corresponding confidence/error,

• total distance and number of steps.

• Error is computed by the individual error in different components (step detection,

stride length, user heading) of PDR. Each module outputs results with

corresponding error.

• PDR is able to serve multiple clients (such as integration with other position

technologies, relative harvesting) and doesn’t need to be in sync with PDR

processing cycle.

• PDR will provide the best possible output at the time of request using tag interface.

14

Page 14: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

PDR Walk test:Test based on sensor only without map matching

Arm Swing

DEMO Setting:Phone model: Samsung S6 edge +

Sensor list:

6x LSM6DS3

3x Mag based on GMR

In Hand Trouser Pocket

COEX Mall, Seoul

Performance results: High position accuracy

15

Page 15: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

MIXC Mall-July 2016:

improvement using Map match

PDR Only

PDR + Map matching

DEMO Setting:Phone model: Samsung S6 edge +

Sensor list:

6x LSM6DS3

3x Mag based on GMR

Pressure sensor

16

Page 16: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Absolute Altitude determination,Vertical Context Determination

• Vertical Context

• Detects: elevator, escalator, stairs up/down (uses step detection function), on-floor, small

changes in altitude (up/down)

• Estimates drift free (relative) altitude.

17

Page 17: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Drift Free Altitude determination

Algorithm compensates for pressure sensors drift improving accuracy

18

Page 18: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

3D Positioning using Pressure sensor 19

Page 19: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

PDR Output: APIs

• Rich interface APIs are available to get additional information as per

application requirements

• sensor calibration parameters,

• step count,

• total distance,

• activity mode

• carry position

• attitude filter output

• Integration in Context Hub Runtime Environment (CHRE) Framework.

20

Page 20: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Integration of ST PDR in Android Stack

Sensor Driver GNSS Driver WiFi Driver BT Driver

Sensor HAL GPS HAL

Network

Location

Provider

FLP HAL Activity HAL

ST PDR

Library

Google Play Services

Fused Location Provider FLP

Applications

Sensor Manager

21

Page 21: Track 4   session 3 - st dev con 2016 - pedestrian dead reckoning

Thanks