drone positioning - hkustqianzh/msbd6000f/notes/3-1... · correcting n via particle filters ......

92
Drone Positioning Qian Zhang

Upload: others

Post on 21-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Drone Positioning

Qian Zhang

Page 2: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

A brief review of GPS literature (300 km to 15 cm)

Page 3: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

• Basic satellite trilateration: 300km error • GPS Localization (phones): 1-3m error • Differential GPS (airplanes): 15cm error

Some Background on GPS

Page 4: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Basic GPS Localization

Page 5: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Range(R) (tr t s)*c

However, 3D location needs 3 equations … hence, use 3 satellites

Basic GPS Localization

Page 6: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Range(R) (tr t s)*c

However, 3D location needs 3 equations … hence, use 3 satellites

Basic GPS Localization

Page 7: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Range(R) (tr t s)*c

⋯⋮ ⋱ ⋮⋯

𝑋𝑌𝑍

=

𝑅1𝑅2𝑅3

Satellite

Geometry

Matrix

However, 3D location needs 3 equations … hence, use 3 satellites

300 Km of error due to unsynchronized clocks

Basic GPS Localization

Page 8: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Range(R) (tr t s)*c clk *c

⋯⋮ ⋱ ⋮⋯

𝑋𝑌𝑍𝛿𝑐𝑙𝑘

=

𝑅1𝑅2𝑅3𝑅4

𝑐𝑐𝑐𝑐

Satellite

Geometry

Matrix

1-3m error

New unknown … use 4th satellite and estimate both location and

Basic GPS Localization

Page 9: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

1-3m error acceptable to smartphones, car GPS

Differential GPS using phase of the signals

Drone orientation warrants cm level accuracy

Page 10: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Agenda

01

02

Localization for Drones

Indoor Follow-Me Drone

Page 11: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Tremendous excitement with drones

Page 12: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Despite the excitement …

Page 13: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Drones still not ready for public places

Page 14: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Several Instances of Crashes and Failure …

Page 15: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Why do drones crash?

Page 16: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Drone Stabilization

Inertial Measurement Unit (IMU) crucial for tracking 3D orientation stabilization, control

Accelerometer Gyroscope Magnetometer IMU

Page 17: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

IMU can fail

Inertial Measurement Unit (IMU) crucial for tracking 3D orientation stabilization, control

Accelerometer Gyroscope Magnetometer IMU

However, rotor vibration and magnetic interference derails the sensors … causing correlated failures

Page 18: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

45% of drone crashes due to IMU failures [DJI Drone Survey 2015]

We ask: can we design a Plan-B for IMU failure?

Drones already use GPS for localization … recent drones using multiple GPS for reliability

Can we leverage multiple GPS receivers to compute 3D orientation (i.e., a backup for IMU sensor failure)

Page 19: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

SafetyNet:

Basic Idea: Use multiple GPS to compute 3D orientation

Tracking Drone Orientation with Multiple GPS Receivers

A failsafe mechanism for IMU failures

Page 20: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Use multiple GPS to compute 3D orientation

Page 21: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Use multiple GPS to compute 3D orientation

Page 22: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Use multiple GPS to compute 3D orientation

Page 23: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Use multiple GPS to compute 3D orientation

Page 24: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Use multiple GPS to compute 3D orientation

Page 25: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

25

Translate Relative Positions into 3D Orientation

To match IMU accuracy (~2 deg.)

Relative vector estimates have to be ~2cm

Use multiple GPS to compute 3D orientation

Page 26: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

To match IMU, we require <2cm error for each 3D vector

Basic GPS 3m absolute position error

Opportunity: We do not care about absolute location …

we only need relative

Differential GPS relative 15cm error

We bring additional spatio-temporal information fusion techniques … for these small sized drones

Parkinson et al, GPS 96, Cohen et al, Journal of Satellite Communication 96 Hedgecock et al, Mobisys 13, Sensys 14

Page 27: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Temporal Differentials

Kalman Filter

Spatial Differentials

Carrier Phases

Particle Filter

Des

ign

of

Differential GPS (15 cm)

Co

ntrib

utio

ns

Backgro

un

d

SafetyNet 2∘(2 𝑐𝑚)

Page 28: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

• Basic satellite trilateration: 300km error • GPS Localization (phones): 1-3m error • Differential GPS (airplanes): 15cm error • For drone orientation (< 2∘ ): ~2cm error

Some background on GPS

Page 29: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Differential GPS (using carrier phase)

Page 30: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

GPS Carrier Phase

PhaseNTrueRange

NTrueRangePhase )(

Possible to measure precisely (2-5 mm error)

However, difficult to estimate N

GPS Receiver

GPS Satellite

Page 31: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

atmRx

Tx DelayClkClkNTrueRangePhase )(

Real systems more difficult:

However, since we only care about relative distances … Possible to eliminate some errors by subtracting phase equations

across receivers, satellites, time, etc.

For example …

GPS Receiver

GPS Satellite

GPS Carrier Phase

Page 32: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

(I) Single Differential Across Receivers – Cancelling Satellite Errors

Range = 𝑅1𝑠

Range = 𝑅2𝑠

1 Relative Position (Baseline)

𝜙1𝑠 = 𝑅1

𝑠 + 𝜆𝑁1𝑠 + 𝐶𝑙𝑘𝑠 + 𝐶𝑙𝑘1 + 𝐷𝑒𝑙𝑎𝑡𝑚

𝜙2𝑠 = 𝑅2

𝑠 + 𝜆𝑁2𝑠 + 𝐶𝑙𝑘𝑠 + 𝐶𝑙𝑘2 + 𝐷𝑒𝑙𝑎𝑡𝑚

Δ𝜙12𝑠 = Δ𝑅12

𝑠 + 𝜆𝑁12𝑠 + ΔClk12

S

2 Clock Errors can be eliminated further

Δ𝜙12𝑠 = 𝑅12𝑙𝑠 + 𝜆𝑁12

𝑠 + ΔClk12

Page 33: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Differential GPS community has exploited such techniques to achieve orientation estimation on big planes, ships

For a small drone we need very high accuracy

Need to handle dynamic errors

Page 34: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

(II) Satellite Double Differential: Cancel Receiver Errors

S K

R12 = Relative vector (BaseLine) between two GPSs

However, integer ambiguity remains

𝑹𝟏𝟐

1

2

Can be translated into Orientation

Δ𝜙12𝑠 = 𝑅12𝑙𝑠 + 𝜆𝑁12

𝑠 + ΔClk12

Δ𝜙12𝑘 = 𝑅12𝑙𝑘 + 𝜆𝑁12

𝑘 + ΔClk12

Δ𝜙12𝑠 − Δ𝜙12

𝑘 = 𝑅12. ( 𝑙𝑠 − 𝑙𝑘 ) + 𝜆(𝑁12𝑠 − 𝑁12

𝑘 )

Δ𝜙12𝑠𝑘 = 𝑅12(𝑙𝑠 − 𝑙𝑘 ) + 𝜆(𝑁12

𝑠𝑘)

Page 35: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

(III) Time Double Differentials

No Integer Ambiguity

Δ𝜙12𝑠 𝑡12 = 𝑓(𝑅12 𝑡1 − 𝑅12 𝑡2 , 𝐶𝑙𝑘12(𝑡12))

Change in orientation

S Δ𝜙12𝑠 (𝑡1) = Δ𝑅12

𝑠 𝑡1 + 𝜆𝑁12𝑠 + ΔClk12(𝑡1)

Δ𝜙12𝑠 (𝑡2) = Δ𝑅12

𝑠 𝑡2 + 𝜆𝑁12𝑠 + ΔClk12(𝑡2)

Page 36: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Change in Orientation, but unpolluted by Integer Ambiguity

Δ

Two Observations on Orientation

Satellite Double Differentials Time Double Differential

Drone Absolute Orientation, but polluted by Integer Ambiguity

Analogous to compass and gyroscopes, but highly noisy

We take a filtering approach to handle the dynamic errors

Page 37: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Bayesian Filtering Approach

q q q

Transition

Measurement

Orientation Orientation Orientation

Temporal Differentials

Spatial Differentials

Page 38: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

q q q

Trans.

Meas.

Δ𝜙12𝑠 Δ𝑡 = 𝑓(Δ𝑞, 𝐶𝑙𝑘12)

Δ𝑞

𝜙𝑖𝑗𝑠𝑘 = 𝑓(𝑞, 𝑁𝑖𝑗

𝑠𝑘)

Integer Ambiguity ?

Temporal Differentials

Spatial Differentials

Δ𝑞

Bayesian Filtering Approach

Page 39: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Integer Ambiguity Resolution depends on Flight Aggressiveness

Two regimes of aggressiveness

Low Dynamic Flights

Highly Aggressive flights

Kalman Filter

Particle Filter

Page 40: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Orientation

[𝑞2] Orientation

[𝑞1] Orientation

[𝑞3]

𝜙𝑖𝑗𝑠𝑘 = 𝑓(𝑞, 𝑁𝑖𝑗

𝑠𝑘)

Δq

Orientation Estimation - Low Dynamic flights

Static Drone

q2 = 𝑞1 + Δ𝑞

𝑁𝑖𝑗𝑠𝑘 = ⌊𝑓 , 𝜙𝑖𝑗

𝑠𝑘 ⌋

𝑞2 = 𝑓 𝜙𝑖𝑗𝑠𝑘 , 𝑁𝑖𝑗

𝑠𝑘

Trans.

Meas.

Kalman Filter

𝑞2

𝑞1 known

Page 41: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Pitch, Roll, Yaw [𝑞2]

Pitch, Roll, Yaw [𝑞1]

Pitch, Roll, Yaw [𝑞3]

𝜙𝑖𝑗𝑠𝑘 = 𝑓(𝑞, 𝑁𝑖𝑗

𝑠𝑘)

Δq

Highly Aggressive Flights: Cycle Slips

q2 = 𝑞1 + Δ𝑞

𝑞2 = 𝑓 𝜙𝑖𝑗𝑠𝑘 , 𝑁𝑖𝑗

𝑠𝑘

Trans.

Kalman Filter

Cycle Slips

Kalman filter derailed

Meas.

𝑞1 known

𝑁𝑖𝑗𝑠𝑘 = ⌊𝑓 , 𝜙𝑖𝑗

𝑠𝑘 ⌋ 𝑞2

Static Drone

Page 42: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Divergence due to cycle slips

Cycle Slips trigger divergence Several Cycle Slips during flight

Page 43: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Handling Aggressive Flights and Cycle Slips

Page 44: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

• Kalman Filters are optimal under Gaussian error

– When estimates of N incorrect, error no longer Gaussian

We need 2 solutions: 1. Identify when estimates of N are poor

2. Correct estimates in real time to prevent divergence

Main Question

Page 45: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

𝑁𝑖𝑗𝑠𝑘 = 𝑓(𝑞, 𝜙𝑖𝑗

𝑠𝑘)

cos (2𝜋𝑁𝑖𝑗𝑠𝑘) = cos (2𝜋𝑓 𝑞, 𝜙𝑖𝑗

𝑠𝑘 )

𝑐𝑜𝑠𝑚𝑒𝑡𝑟𝑖𝑐(𝑞) = Σ*ij,sk+cos (2𝜋𝑓 𝑞, 𝜙𝑖𝑗𝑠𝑘 )

Correct Orientation 𝑐𝑜𝑠𝑚𝑒𝑡𝑟𝑖𝑐 ≈ 1

𝜙𝑖𝑗𝑠𝑘 = 𝑓(𝑞, 𝑁12

𝑠𝑘)

Measurement Model

1. Identifying Poor Estimates of N

Page 46: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

2. Correcting N via Particle Filters

)( ijNCos ~ ~ 1 High Conf.

q

f (thisN ij )

< 1 Low Conf.

v v

)max(arg1

ijCosNq

)(2maxarg2

ijCosNq

. .

.

v

Keep doing Kalman

v v v v

Trigger Particle Filter

v v v

~ ~ 1

v v

~ ~ 1 ~ ~ 1

Back to Kalman

Page 47: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Simple Particle Converges slowly

Page 48: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Δ𝑞

Measurement (q) Initial

Particles

𝑡𝑖𝑚𝑒0 𝑡𝑖𝑚𝑒1

Simple Particle Filter

Weigh and Propagate

Page 49: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Combine Trans. And Meas. like Kalman Filter

Initial Particles

𝑡𝑖𝑚𝑒0 𝑡𝑖𝑚𝑒1 𝑡𝑖𝑚𝑒2

Adjusted Particle Filter

Provides near optimal combining for correct particles

Accelerates convergence with few particles

Propagate the Adjusted State

Δ𝑞

Measurement (q)

Page 50: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Adjusted Particle Tracks Well

Page 51: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Adjusted Particle Tracks Well

Page 52: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

GPS

GoPro

IMU

Pi

Evaluation Platform

Page 53: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Performance

Vision Ground Truth

GPS vs IMU

Page 54: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Sharp Angles

(Truth)

Tilt

Ori

enta

tio

n (

de

gree

) SafetyNet can track aggressive turns

Page 55: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Sharp Angles

SafetyNet can track aggressive turns

Page 56: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Comparison with IMU

Only 30% worse than IMU

Page 57: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Comparison with IMU

4x better than IMU

Page 58: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Conclusion

Despite Excitement, poor reliability is the show stopper for disruptive drone applications

We propose an orthogonal approach for drone state estimation using carrier phase GPS

We developed a Particle filter do systematically combine carrier phase data for orientation

Real Extensive flight tests achieve an accuracy comparable to IMU

Page 59: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Agenda

01

02

Localization for Drones

Indoor Follow-Me Drone

Page 60: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Indoor Follow-Me Drone

Wenguang Mao, Zaiwei Zhang, Lili Qiu, Jian He, Yuchen Cui, and Sangki Yun

The University of Texas at Austin

MobiSys 2017

Page 61: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in
Page 62: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in
Page 63: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in
Page 64: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Awkward postures

Burnout

Heavy Equipment

Page 65: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Goals • Maintain a constant following distance

• Maintain a favorable following orientation

Undesired Desired

Undesired Desired

Page 66: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Challenges

User

Drone Control ?

Indoor environments

Tracking ?

Page 67: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Existing Approaches

• GPS

– Only available for outdoor

• Computer Vision

– Color-filter based: not accurate or robust

– Image-descriptor based: computationally heavy

• Proportional Integral Derivative (PID) Controller

– Simplicity

– No system knowledge: may affect control performance

Page 68: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Robust Acoustic-Based Indoor Tracking (RABBIT)

User

Drone

Mobile

Mic

Audio for tracking

RABBIT MPC

RF for comm.

WiFi

DroneTrack

Page 69: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

FMCW

FFT 𝑓1

Time

Frequency

Transmitted chirp

Received chirp (direct path)

𝑓1

𝑡𝑑 cos (2𝜋𝑓1) Mixing

Scaling

𝒕𝒅

Page 70: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

? ?

? ?

Multipath Impact

cos (2𝜋𝑓1)

Received chirp (reflected path)

𝑓2

Time

Frequency

Transmitted chirp

Received chirp (direct path)

𝑓1

𝑡𝑑 Mixing FFT

Scaling

+cos (2𝜋𝑓2)

What if there is a reflected path close to the direct one?

Page 71: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in
Page 72: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

MUSIC

• Super-resolution parameter estimation algorithm

• Widely used for estimating AoA

𝑥 𝑛 = cos (2𝜋𝑓𝑖𝑛)

𝐾

𝑖=1

𝑓1

𝑓2 𝑓3

Page 73: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

𝑓1 𝑓2

MUSIC

RABBIT

cos (2𝜋𝑓1)

Received chirp (reflected path)

𝑓2

Time

Frequency

Transmitted chirp

Received chirp (direct path)

𝑓1

𝑡𝑑 Mixing

Scaling

𝒕𝒅

+cos (2𝜋𝑓2)

The same model as that used for MUSIC

Significantly enhance the capability of resolving multipath

Page 74: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

RABBIT

Problem Solution

Multipath interference • Apply MUSIC to FMCW • Compensate speaker distortion

Propeller noise • Remove false peaks in the spectrum • Apply Kalman filter

Computation efficiency • Sub-sampling based approach

Page 75: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

RABBIT

Problem Solution

Multipath interference • Apply MUSIC to FMCW • Compensate speaker distortion

Propeller noise • Remove false peaks in the spectrum • Apply Kalman filter

Computation efficiency • Sub-sampling based approach

Page 76: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Compensate Speaker Distortion Peak in simulation

Filter

Transmitted chirps

Speaker Mic

Acoustic channel Pro-

cessing

Peak after compensation Peak in real systems

Page 77: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

RABBIT

Problem Solution

Multipath interference • Apply MUSIC to FMCW • Compensate speaker distortion

Propeller noise • Remove false peaks in the spectrum • Apply Kalman filter

Computation efficiency • Sub-sampling based approach

Page 78: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Remove Noise Impact

• Remove false peaks

– Temporal continuity

– Properties of MUSIC peaks

• Apply Kalman filter to remove noise in distance estimation

– Combine distance and velocity measurement

– Leverage the redundancy

Peak for the direct path

False peak

Page 79: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

RABBIT

Problem Solution

Multipath interference • Apply MUSIC to FMCW • Compensate speaker distortion

Propeller noise • Remove false peaks in the spectrum • Apply Kalman filter

Computation efficiency • Sub-sampling based approach

Page 80: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Improve Efficiency

• Eigenvalue decomposition on the autocorrelation matrix

• 1400 effective samples 700 × 700 autocorrelation matrix

Matrix Size

20 × 20 30 × 30 40 × 40 60 × 60 90 × 90 120 × 120

Time (ms)

1.6 2.9 4.5 11 22 39

MUSIC Running Time on Samsung Galaxy S7

Page 81: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Improve Efficiency

𝒙𝟏 Mixed signals: 𝒙𝟐 𝒙𝒌 …… …… …… 𝒙𝒍𝒌+𝟏 𝒙𝒍𝒌+𝟐 𝒙(𝒍+𝟏)𝒌 …… 𝒙𝒌+𝟏 𝒙𝒌+𝟐 𝒙𝟐𝒌

Sub Sampling: ……

……

……

𝑹𝟐

𝑹𝟏

𝑹𝒌

𝑹𝒔𝒖𝒃

Combing

Page 82: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Model Predictive Control (MPC)

User

Drone

Mobile

Mic

Audio for tracking

RABBIT MPC

RF for comm.

WiFi

DroneTrack

Page 83: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in
Page 84: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

MPC

Maintain desired distance 𝒅𝟎

• Measure the current distance 𝑑𝑐 using RABBIT

• Predict the user movement 𝑑𝑢

• Model the relation 𝒎 between the drone input and the displacement, and determine the next input u, s.t. , 𝑚 𝑢 = 𝑑𝑐 + 𝑑𝑢 − 𝑑0

User

Drone

𝒅𝒄

𝒅𝒖 𝒅𝟎

Page 85: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Implementation

• A.R.Drone 2.0

– Speakers

– Audio amplifier

– Audio player

– Battery

• Samsung Galaxy S7

– Android NDK (tracking)

– Android SDK (others)

Page 86: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Tracking Performance

0.7cm

Robust to multipath and propeller noise

Page 87: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Tracking Performance

0.7 – 0.8 cm

Robust to environment noise

Page 88: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Computation Cost

Tracking delay Overall delay

9 ms 13 ms

Low computation cost

Page 89: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Overall Performance

Compare various schemes

• DroneTrack with mobile in hand

• DroneTrack with mobile in bag

• FMCW with mobile in hand

Page 90: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Overall Performance

Videos taken by DroneTrack are smooth

Page 91: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

Conclusion

• A new acoustic-based tracking system

• A holistic design of an indoor follow-me drone

• A prototype system and extensive evaluation

• Future work: combining with vision-based approaches

Page 92: Drone Positioning - HKUSTqianzh/MSBD6000F/notes/3-1... · Correcting N via Particle Filters ... Mixed signals: ... • DroneTrack with mobile in hand • DroneTrack with mobile in

End of This Chapter