wicenav pres june2020 - aa.washington.edu · 87'2$ srvlwlrqlqj phwkrg %durphwulf suhvvxuh...
TRANSCRIPT
WiCeNav – UAV Position Estimation via WiFi and Cellular Network Signals
Note
This is a survey of the current solution landscape.
This project is ongoing.
3 ‘solutions’ presented, 2 are not viable (this is explored in detail).
Done this way to document problem areas in available solutions.
The Idea
My phone knows where I am, sometimes when I don’t have GPS. How?
If an app can find me without GPS, can I use that same functionality in a payload?
High Level Overview
WiCeNav provides GPS-like data in the absence of a GPS signal.
It utilizes WiFi and cell network data to do that.
It is a stand alone payload that requires no ground station.
The payload uses COTS products and services, managed by a set of C++ applications running at the same time.
It is plug-and-play into your autopilot, feeding in NMEA sentences.
Section 1: Need To Know
NTK – Previous Work
AFSL
Position estimation via ADS-B Transponder and Local Area Multilateration [15]
Relative position measurement of visually distinct objects for UAV guidance [16]
Other - Specific to UAVs
Zak Kassas – Software Defined Radio, Signals of Opportunity [1]
FaceBook, Google – Mobile base stations [2],[3]
Other - More Generally
Android and IOS location services [4],[5]
NTK – 3GPP
Specification writing organization, defines what location services are available in what networks (among many other things).[6]
NTK – Supported Methods
From the latest LCS spec[14]:- cell coverage based positioning method;- OTDOA positioning method;- A-GNSS based positioning methods;- UTDOA positioning method;- Barometric pressure sensor method;- WLAN method;- Bluetooth method;- Terrestrial Beacon System method.
NTK – The Issue With 3GPP
The delta between spec and reality:
No one knows what portion of the spec is implemented.
The available commands are a bridge to firmware that actually interacts with the network.
No way to get the data needed for the listed methods(tower location, transmitter height).
Section 2: Hardware Overview
HO – Hardware and Signal Flow
Section 3: Software Overview
SO – General Structure
WiCe-Nav is a set of C++ applications running at the same time.
They communicate via sockets, use a publish/subscribe type pattern (~15ms latency).
Each application is simple, main loop plus essential functionality.
Multiple instances of each can be run at any time.
SO – Applications
Section 4: Investigated Methods
Algorithm Dev. Strategy
Develop necessary architecture in C++ to gather flight data needed for position estimation (method dependent).
Test algorithm in Matlab post flight.
If results look promising, implement onboard aircraft.
Experimental Data North Seattle Ground Data Route:
Experimental Data South Seattle Ground Data Route:
Experimental Data Ground Install:
Experimental Data Flight Operational Area:
Experimental Data Flight Install:
IM – TelitHE910D, ATMONI
Overview
Built in AT command ATMONI provides the data[11]
RSSI based. Get power readings for neighboring cells and estimate ranges.
Requires a sensor model to estimate distance.
Requires a database of known cell tower locations in the operational area.
Three towers for an estimate (for 3D).
IM – TelitHE910D, ATMONI Hardware/Software
IM – TelitHE910D, ATMONI
IM – TelitHE910D, ATMONI Example Data:
#MONI: Cell BSIC LAC CellId ARFCN Power C1 C2 TA RxQual PLMN
#MONI: S 64 A1AF 11F1 689 -61dbm 46 46 0 0 AT&T
#MONI: N1 34 A1AF 12F5 759 -63dbm 44 44
#MONI: N2 33 A1AF FFFF 756 -68dbm 39 39
#MONI: N3 12 A1AF E20F 760 -84dbm 15 15
#MONI: N4 37 A1AF 11FA 687 -85dbm 22 22
#MONI: N5 FF FFFF 0000 691 -111dbm -1 -1
#MONI: N6 FF FFFF 0000 757 -111dbm -1 -1
IM – TelitHE910D, ATMONI Range Estimation(Sensor Model):
Simplified Friis transmission equation[7]: Where: = Power Received (RSSI) = Power Received at 1 meter = Constant = Distance from transmitter (meters)
Given RSSI and true distance the parameters , can be determined experimentally using weighted linear least squares and the Eqs:
Where: W = I = RSSI = = ,
IM – TelitHE910D, ATMONI Range Estimation Cont., Getting Distance:
Location is known via GPS receiver, Cell Tower location is not.
OpenCellID is a free DB with cell locations. [8]
Running OCD DB towers through GoogleMaps Geolocation API[9] increases accuracy (assumed).
Altitude of cell tower is gained via Elevation API.
Once truth ranges can be calculated, a per tower fit is done to get , for each cell.
IM – TelitHE910D, ATMONI Position Estimation Note:
One non-trivial detail is the difference between tower location and cell location:
IM – TelitHE910D, ATMONI Position Estimation[10]:
Once ranges can be estimated from RSSI, non-linear least squares can be used to estimate location on any reading that had at least 3 towers.
Where:
IM – TelitHE910D, ATMONI Analytic solution for ranging applications[R. Rysdyk, Insitu]:
ATMONI - Flight Data
IM – TelitHE910D, ATMONI Sanity Check, Flight Location w/ Truth, No noise:
IM – TelitHE910D, ATMONI Sanity Check, Flight Location w/ Truth, R = 10:
IM – TelitHE910D, ATMONI Sanity Check, Flight Location w/ Truth, R = 10:
IM – TelitHE910D, ATMONI Solution sensitive to z noise.
Reduce to 2D, use GPS receiver altitude as stand in for altimeter data
Sanity Check, Flight Location w/ Truth, R = 10:
IM – TelitHE910D, ATMONI Results, Flight Location Estimation, 2D analytic solution:
IM – TelitHE910D, ATMONI Range Estimation, Flight Data:
IM – TelitHE910D, ATMONI Flight Data, Towers (5 Total):
ATMONI - Ground Data
IM – TelitHE910D, ATMONI Results, Ground Location Estimation, 2D analytic solution:
IM – TelitHE910D, ATMONI Results, Ground Location Estimation, 2D analytic solution:
IM – TelitHE910D, ATMONI Results, Ground Location Estimation, 2D analytic solution:
IM – TelitHE910D, ATMONI Ground Data, Towers (50 Total):
IM – TelitHE910D, ATMONI Range Estimation, Ground Range MAEs:
9 under 20 meters, 11 over 500
IM – TelitHE910D, ATMONI Range Estimation, Ground Data:
IM – TelitHE910D, ATMONI Range Estimation, Ground Data:
IM – TelitHE910D, ATMONI
Issues/Sources of error:
Ranges are inaccurate, i.e. sensor model does not describe reality.
Cell = tower location assumption
Obstacles, Multi-path effects on signal
Power assumed constant
RSSI is reported as an integer
IM – TelitHE910D, ATMONI
Method Conclusions:
There is usually enough towers for multilateration.
RSSI did not improve significantly while in the air (at the altitudes we flew at).
Gathering data in urban areas where noise and obstacles exist has a large impact on signal quality.
Not a viable GPS degraded/denied solution in its current form.
IM – FONA, ATCIPGSMLOC
Overview
IP Based, Built in command [12]
Returns (Lat, Long, Time(GMT)) or error
Times out at 60s
IM – FONA, ATCIPGSMLOC Hardware/Software
IM – FONA, ATCIPGSMLOC Ground Testing
IM – FONA, ATCIPGSMLOC Ground Testing,
Interpolated GPS via data point system time
IM – FONA, ATCIPGSMLOC Ground Testing,
Interpolated GPS plus towers
IM – FONA, ATCIPGSMLOC Ground Testing,
Interpolated GPS plus towers
IM – FONA, ATCIPGSMLOC Flight Testing
IM – FONA, ATCIPGSMLOC Flight Testing
IM – FONA, ATCIPGSMLOC Flight Testing
IM – FONA, ATCIPGSMLOC Flight Testing
IM – FONA, ATCIPGSMLOC
Flight Testing
IM – FONA, ATCIPGSMLOC
Method Conclusions
This method only returns serving cell location, regardless of number of cells.
Not a viable GPS degraded/denied solution.
Useful for sporadic updates or as a seed estimate for other methods.
IM – WiCe
Overview
Uses a WiFi scraper along with cell modem to get WiFi and cell network data
Sends data to Google Geolocation API.
API returns a position estimate in the form of {lat, long, error}
IM – WiCe
Example Call
IM – WiCe Hardware/Software
IM – WiCe Ground Testing
IM – WiCe Ground Testing
IM – WiCe Ground Testing
IM – WiCe Ground Testing
IM – WiCe Ground Testing
IM – WiCe Method Conclusions
Stable, updating estimate
Latency needs to be addressed immediately
Ideal version is a good candidate for GPS degraded/denied, assuming WiFi and cell data exists.
Section 5: Future Work
FW – Project Level
Immediate
Identify/Fix latency issues with WiCe
Long Term
Software filter module for upsampling/data fusion
GPS bridge
FW – Project Level
FW – Project Level
FW – Project Level
Step 1: Implement the GPS bridge and test latency and performance.
FW – Project Level
Step 2: Implement the filtering algorithm and do the same.
FW – Project Level
Step 3: Add the switch and compare deltas.
Questions? [email protected]
Bibliography [1] http://aspin.eng.uci.edu/research.html
[2] https://www.wired.com/2016/07/facebooks-giant-internet-beaming-drone-finally-takes-flight/
[3] http://mosaic-lab.org/blog-post.aspx?blgp_id=1d4995fc-d2be-4e1a-87ce-53b266974f43
[4] https://developer.android.com/training/location
[5] https://developer.apple.com/documentation/corelocation
[6] https://www.3gpp.org/about-3gpp
[7] https://ieeexplore.ieee.org/document/6184942
[8] https://opencellid.org
[9] https://developers.google.com/maps/documentation/geolocation/intro?hl=en_US
[10] J. L. Crassidis and J. L. Junkins, Optimal estimation of dynamic systems, 2nd ed. Boca Raton, FL: Chapman and Hall/CRC, 2012.
[11] https://www.telit.com/wp-content/uploads/2017/09/Telit_3G_Modules_AT_Commands_Reference_Guide_r11.pdf
[12] https://www.elecrow.com/wiki/images/2/20/SIM800_Series_AT_Command_Manual_V1.09.pdf
[13] https://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf
[14] https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=834
[15] C. W. Lum, H. Rotta, R. Patel, H. Kuni, T. Patana-anake, J. Longhurst, and K. Chen,
“Uas operation and navigation in gps-denied environments using multilateration of avi-
ation transponders,” in Proceedings of the AIAA SciTech 2019 Forum, (San Diego, CA),
January 2019.
Bibliography Cont. [16] R. Svitelskyi, “A gimbal-supported, mono camera, relative position measurement system
of a visually distinct object for uav guidance,” Master’s thesis, University of Washington,
Seattle, WA, June 2019.