Sunteți pe pagina 1din 6

AVIATION ANALYTICS AND THE INTERNET OF THINGS

Dr. Paul Comitz, Self-Employed


Aaron Kersch, The Boeing Company

Abstract have computational ability


This paper describes a series of short often contain an embedded sensor
experiments collecting and analyzing ADS B data
using IoT (Internet of Things) devices. The collection
is performed using a Raspberry Pi single board Implicit in this definition is the understanding
computer, an RTL-SDR radio, custom software that these devices are often designed for a specific
written for the project, and the open source purpose. The network connectivity and
computational ability support this specific purpose
dump1090 software program. This Raspberry
rather than being the main purpose of the device - as
Pi/RTL-SDR/dump1090 combination is used to
is usually the case with general purpose computing
collect ADS-B data. The data is captured and devices. For example, a refrigerator or household
archived using a software program that reads the appliance connected to a network can provide alerts
ADS-B data in real time as it is received by the RTL- that the door is ajar, or the temperature is too low [1].
SDR radio and subsequently output by the The appliance could be controlled remotely with a
dump1090 program. The captured data is written to mobile device such as a cell phone or a table or a
a series of flat files. Subsequent analytics and central home automation system.
analysis is performed using the R programming
language and the R Studio environment. The paper The use of IoT devices and deployments in
describes a subset of the R code that that was used in aviation is being discussed at conferences and events
the analysis. All of the custom software used in this that are not traditionally focused on aviation. For
project is freely available at GitHub (see References example, Chris OConner, general manager of IBM
section). IoT Offerings [2] described the approach of Airbus
SAS to commercial aircraft manufacturing as an
An exhaustive analysis is not performed as part assembly of 6 million parts, 3000 suppliers located
of this work. The intent of the limited analysis in this all over Europe, with assembly in Toulouse, France.
work is to provide a proof of concept for the kinds of . OConnor goes on to note that the process is
analyses that could be done, if aviation data, such as evolving to one where all parts are digitally
ADS, was widely and freely available. enabled. The entire process is then deployed to a
The analysis that is performed is an initial top large scale engineering map enabling the control
level analysis, designed to assess the feasibility of and monitor of the manufacturing process.
using this low cost combination of hardware, At the unveiling of the IBM Watson IoT world
software, and analysis tools for use in advisory air headquarters in Munich. German, Airbus SAS Senior
traffic applications such as airspace monitoring and Vice President Laurent Martinez states the future of
traffic monitoring. Suggestions and aviation is about data [3] a non-intuitive statement
recommendations for additional work appear in the about an industry that has been historically
Observations and Continuing Work sections of this dominated by large scale manufacturing, focused on
paper. materials science and manufacturing methods.
Martinez emphasizes this point by pointing out that
Introduction and Motivation an A350 flight generates more than 250 GB of data.
The Internet of Things (IoT) refers to the Martinez describes potential IoT applications such as
proliferation and deployment of specialized devices smart baggage (see http://rimowa-
that communicate across a network. IoT devices are electronictag.com/de-DE/start), smart towing, smart
often defined as devices that: fleet management, smart trajectories and 4D
navigation, smart taxi, and gate-to-gate operations.
are connected to a network

978-1-5090-2149-9/16/$31.00 2016 IEEE

2A1-1
This paper embraces these admittedly grand Software Defined Radio
ideas for aviation and the IoT by exploring the The sensor that receives the ADS B signals is a
possibilities of very low cost data collection and software defined radio (SDR). In a traditional radio,
subsequent analytics analysis of an aviation related fundamental components such as amplifiers and
sensor, namely an ADS-B receiver. The penetration modulators are built using hardware. In an SDR, this
and availability of these low cost devices may functionality is realized in software. The SDR that is
provide an ideal environment for new applications used in this work is known as an R820T RTL2832U.
and efficiencies that have been historically closed to The device, with two antennas, is available for $21.
all but insiders in the aviation industry Although the This device was original designed for the DVB-T
prices of an ADS-B receiver have been dropping for (digital video broadcast-terrestrial), a European
some time, the prototype systems shown here can be standard for television broadcast. The device has a
assembled and run by almost anyone, with a minimal frequency range of 24 MHz to 1766 MHz, which
cash investment and just a little aviation know easily allows the receipt of the 1090 MHz ADS-B
how. signal. The device connects to the Raspberry Pi as a
USB dongle (see Figure 1). The antenna is connected
Organization and Components via a female SMA port. Although the device ships
with two inexpensive antennas, this work uses a 75
The remainder of this paper is organized as
ohm digital indoor TV antenna, connected to the
described here. The Components section briefly
radio via an SMA connector.
describes each of the hardware and software
components that were used. The Analysis section
describes the collected data and provides an initial
short analysis of the data. This paper concludes with
a section on Observations which contains
recommendations for future work. A brief references
section is also included. Figure 1. RTL-SDR Radio Dongle
SDR provides the capability for dynamic radio
Components configuration and software signal processing, thus
The following components have been used in enabling an inexpensive wideband scanning
this work: capability. The RTL2832U device is also capable of
listening to air traffic control radio conversations and
1. Raspberry Pi 2 Single Board Computer
decoding VHF Aircraft Communications Addressing
2. RTL-SDR radio and Reporting System (ACARS) messages.
3. Open source software: dump1090 Dump 1090 Open Source Software
4. Data Archive and Analytics Analysis Dump1090 [4] is an open source Mode S
software decoder. It was written to be used with RTL SDR
radios. Dump1090 decodes the mode S downlink
A brief description of each component follows: format (DF) 11 and DF 17 messages. The DF 17
Raspberry Pi extended squitter messages contain information such
The Raspberry PI is an increasingly popular low as aircraft position, squitter status, identity, and
cost, single board computer. The heart of the device airborne velocity. Dump1090 also contains an
is a Broadcom ARM-based system on a chip (SOC). embedded web server and the ability to view received
The SOC contains an ARM processor, and support ADS reports on a Google map (See Figure 2). There
for I/O peripherals, graphics, and memory access. is also a capability to view recorded data. All source
The single board has USB, HDMI, and Ethernet code for dump1090 is available from github [4].
interfaces. This system used in this work is connected Figure 2 shows ADS reports, received in the
to a network via an inexpensive (less than $10) 150 Charleston, South Carolina area in March 2016. The
mbps USB Wi-Fi adapter. The operating system, an data is from a single RTL-SDR based ADS receiver.
open source Linux variant, resides on a 16 GB SD
card.

2A1-2
that provided by the java URLConnection class. The
data is captured by listening on the following URL:

http://xxx.xxx.xxx.xxx::8080/dump1090/data.json

where xxx.xxx.xxx.xxx is the IP address of the


Raspberry PI. The initial data archive is described in
the Analysis section
Analytics Software
The collected ADS-B data is analyzed using the
R programming language. R is a programming
language designed for use in statistical and analytic
applications. R grew out of the S programming
language, originally developed by AT&T. For this
work, the R Studio development environment was
used. Both R and R Studio are free to download and
Figure 2. ADS Data Display use.

Data Capture Software Analysis


The dunp1090 program provides the ADS-B
reports as JavaScript Object Notation (JSON). A The data is captured using the previously
typical JSON report is shown below. The first field, described data capture software. The data is archived
labeled hex is the 24 bit ICAO aircraft identifier. as a series of text files of comma separated values. A
This example report is from American Airlines 722, new file is created every six hours, to avoid any file
from KMCO Orlando to KPHL Philadelphia. from getting too large. A typical file, collected during
the day is approximately 9.5 MB. During overnight
{ and off peak hours the file size is approximately 1.5
"hex": "ad9811", to 2 MB. A typical day file contains over 100,000
"squawk": "0764", observations of 14 variables. For example, the data
"flight": "AAL722", collected on March 18, 2016 starting at 081945
"lat": 33.288712, (EST) contains 111,336 observations of 14 variables.
"lon": -80.404816,
"validposition": 1, The analysis tool is the R Programming
"altitude": 29025, language, described above. The first step in the
"vert_rate": 64, analysis is to read the data. The March 18th data
"track": 26, described above is easily read into the R
"validtrack": 1, environment. If we name the R data frame (an R data
"speed": 509, structure) ads, the data is read with:
"messages": 921, ads<-
"seen": 177, read.csv("20160318_081945.txt")
"mlat": false
} The data is raw and unprocessed at this point.
To make the data easier to work with, it is useful to
These reports, normally designed for display in a add column names to the data frame. This done with:
web browser, as shown in Figure 2 can be captured colnames(ads)<-
and archived using almost any general purpose c("time","icao","squawk","flight","
computing language with network capability. The lat","long","validPos","alt","vert_
program used here was written in the java rate","track","validTrack","speed",
programming language. The JSON data is published "messages", seen,"mlat")
by the dump1090 program on TCP port 8080. The
data can be captured by using a network API such as

2A1-3
Those familiar with ADS will recognize many of northernmost position to the southernmost position,
the parameters from the 1090 MHz ADS report. referenced to the antenna position (Summerville,
South Carolina).
The collected data contains many incomplete
reports. To check the number of reports with a valid It is also possible to assess the quality of the
position in the example data frame, use the following: data. Note Figure 3. Figure 3 is a plot of latitude and
adsValid<- longitude. The cluster in the corner shows that most
which(ads$validPos==1) observations are in the area 32.5 N and 80.5 W (west
shown as a negative number). However, a number of
This returns a vector of 35795 values, where the observations are clearly incorrect. Some of the
each value is the index of the corresponding ADS collected data shows latitude of -57 and longitude of -
report. This indicates that 32% (35795/111,336) of 61 degrees. A closer examination of the data on this
the collected ADS reports contains a valid aircraft day showed that all of the incorrect observations
position. The next step is to isolate all of the ADS where from a single aircraft.
reports with a valid position in a single R data frame:
validFrame<-
ads[ads$validPos==1,]
The above command returns all rows in the
original unprocessed data set where a valid position
is reported. The results of a quick initial look at this
data frame are shown in Table 1.
Table 1. Initial Observations
ADS Data Item Observation
Number of distinct 655 Figure 3. ADS Lat/Long Plot
ICAO Codes
Continuing the data analysis, consider a single
Number of non-zero 30795 flight. For illustration Jet Blue Flight 1099
transponder codes (JBU1099) is shown. JBU1099 departed New York
LGA on March 18th at approximately 630 am and
Number of reported 296
arrived in Florida MCO at approximately 905 am.
call signs
The flight was an Airbus A320. As indicated above,
Minimum Altitude 575 feet the R data frame validFrame contains the ADS
Maximum altitude 45000 feet reports from all aircraft that reported a valid position.
The data frame can be split and subsetted to isolate
Latitude range 31.93533/33.87689 N the data for a single flight. There are many ways to
Longitude range 79.34001/81.5894 W do this in the R environment. Once way to do this is:
byFlight <-split(validFrame,
validFrame$flight)
Table 1 is a quick look at the available data and
jbu1099 <- byFlight$`JBU1099 `
is offered to show how quickly one can get a basic
view of the airspace over the six-hour collection The code above results in an R data frame that
period. The data shows 655 24 bit ICAO contains only the reports from the aircraft with call
identifications in the collected data. Of the 35795 sign JBU1099. The resulting data frame contains 142
reports that show a valid position, there are 655 ADS reports. The reports begin at 081945 EST and
ICAO codes. This suggests 655 aircraft were viewed end at 083135 EST, The initial altitude is 35650 feet
in this the 6 hour time period. Of the 655 aircraft, and the ending altitude is 34000 feet.
296 reported a valid call sign in the transmitted ADS
report. The extent of the geographic area was
approximately 163 nautical miles from the

2A1-4
analysis techniques are now widely available and
accessible to anyone with the a little aviation
knowledge.
The hardware and software used here was
designed and configured for rapid prototyping.
Reliability, fault tolerance, and automatic failover
were not part of the design criteria. Given the low
cost of the equipment, setup and deployment of
redundant systems is a reasonable idea.
Example applications might be a low cost
airspace monitoring system or an advisory traffic
analysis system. The addition of weather is a
Figure 4. JBU1099 plausible next step
A map with several of the positions plotted
appears in Figure 4. A quick look at the JUB1099 Continuing Work
data is shown in Table 2. This paper is submitted to the ICNS conference
Table 2 . JBU1099 on April 18th, 2016. At the time of this submission,
the paper and the analysis are not complete. The
Data Observation analysis will continue and further analysis will be
Number of ADS reports 143 reported in the future.
Minimum Altitude 34000 feet The following are potential candidates for
investigation and experimentation.
Maximum Altitude 35650 feet
1. Deployment of a network of privately
Latitude range 32.13162/32.64369 N owned, low cost ADS receivers. The
Longitude range 80.22262/80.59702 W receiver could be similar to the receiver used
and described in this paper. Each receiver
would archive the collected data and store
Observations the data to a future, publically accessible
The hardware, software, and analysis described cloud repository. This kind of approach is
in this paper can be done with a very low monetary already being done by private companies,
investment. The hardware cost is less than $100.. but the data is not being shared. In order to
The software is combination of custom developed provide a public network of archived data, a
software and open source software. The major way to modestly monetize the costs
investment is the labor of the individuals assembling associated with the deployment and
and maintaining the system and doing the work. maintenance of an ADS B receiver must be
provided. There is currently no motivation,
The intent of this ongoing work is to assess the other that of the hobbyist/tinkerer, to deploy
viability of low cost open source hardware and and share the data.
software for use in aviation applications. The use of
technologies like ADS-B and ACARS has been 2. Design a capability for fault tolerance and
traditionally limited to individuals with detailed failover of low cost ADS receivers.
knowledge of aviation operations and information Although the receiver described in this paper
that is not generally available. This work shows that was surprisingly reliable, (it ran for months
IoT technology starts to break down this barrier. with almost no maintenance, and is still
Only a few years ago work like this would not have running as this paper is written) , the
been possible because the general public did not have receiver would go offline occasionally. The
wide access to ADS data. The basic work presented majority of these observations were a simple
here shows that historically closed data sets and loss of network connectivity.

2A1-5
[2] OConnor, Chris, 2016, Cognitive IoT: Linking
3. Analysis and analytics tools for aviation the Physical and Digital Worlds to Transform
data. The Comprehensive R Archive Business, InterConnect February 21, 2016, Las
Network (CRAN) is the home site of tools Vegas, Nevada. Retrieved from
and resources available for use with the R https://www.youtube.com/watch?v=9Xd7NAREwG
Programming language. An R package is a Y&list=TL5zg0QUb9HxgxOTAzMjAxNg
collection of functionality for use with the R
[3] Martinez, Laurent, 2015, Airbus: Managing
programming language and environment. R
Aviation Complexity with the Internet of Things.
packages are available as a directory of files
Munich, Germany. Retrieved from
that extend the R programming language
https://www.youtube.com/watch?v=2JO-gvXf-kI
and the environment. R packages are
available for finance, business and customer [4] Sanfilippo, Salvator, Dump1090 Mode S Decoder
analytics, economics and other domain Open Source Software, retrieved from
specific applied pursuits. At the time this https://github.com/antirez/dump1090
paper is written there are over 8000
packages available for R at the CRAN site.
An R package for use with aviation data Email Addresses
would have significant potential utility if The email addresses of the authors of this paper
aviation data such as the ADS data appear below.
described in this paper was widely available. pcomitz@live.com

References aaron.kersch@boeing.com
[1] Harris, Ian 2016, Introduction to the Internet of
Things and Embedded Systems. Retrieved from 2016 Integrated Communications Navigation
http://www.coursera.org/ and Surveillance (ICNS) Conference
April 19-21, 2016

2A1-6

S-ar putea să vă placă și