GPSDenied2019
GPSDenied2019
2019-1053
7-11 January 2019, San Diego, California
AIAA Scitech 2019 Forum
This paper describes a system for an unmanned aerial system (UAS) to operate and
navigate in an environment devoid of a Global Navigation Satellite System (GNSS) such
as the Global Positioning System (GPS). The system operates by interrogating an avi-
ation transponder (either mode C or S) that is carried by the UAS and measuring the
time elapsed for the response to multiple, ground-based antennas and using triangulation
(multilateration) to locate the transponder and by association, the UAS. The ground-based
system then routes this position information back to the UAS via the UAS’s data teleme-
try link. The autopilot then utilizes this position information for navigation in much the
same way it would utilize a GPS-based position report. This paper focuses on the system
architecture to enable a UAS to operate in a GPS-denied environment. Flight test results
are presented utilizing a customized version of the popular Pixhawk/ArduPlane avionics
platform and demonstrate that the system is capable of guiding a UAS through a series of
waypoints in the absence of GPS signals. Furthermore, the customized controller that was
designed to consume this alternate source of position information performed well in highly
unfavorable environmental conditions. This success illustrates the feasibility of the system
as a practical alternative to GPS.
Nomenclature
ADS-B Automatic Dependent Surveillance - Broadcast
ANPC Advanced Navigation and Positioning Corporation
AFSL Autonomous Flight Systems Laboratory
ESC Electronic Speed Controller
FAA Federal Aviation Administration
GCS Ground Control System
GNSS Global Navigation Satellite System
GPS Global Positioning System
IFR Instrument Flight Rules
ILS Instrument Landing System
IMU Inertial Measurement Unit
KDLS Columbia Gorge Regional/The Dalles Municipal Airport
LAMS Local Area Multilateration System
NAS National Airspace System
∗ Research Assistant Professor, William E. Boeing Department of Aeronautics and Astronautics, University of Washington;
Guggenheim Hall Room 211, Box 352400, Seattle, WA 98195-2400, AIAA member.
† Flight Operations Director, William E. Boeing Department of Aeronautics and Astronautics, University of Washington;
Guggenheim Hall Room 211, Box 352400, Seattle, WA 98195-2400, AIAA member.
‡ Undergraduate Researcher, William E. Boeing Department of Aeronautics and Astronautics, University of Washington;
Guggenheim Hall Room 211, Box 352400, Seattle, WA 98195-2400, AIAA member.
1 of 24
American
Copyright © 2019 by Christopher Lum. Published by the American Institute Institute
of Aeronautics of Aeronautics
and Astronautics, and
Inc., with Astronautics
permission.
PIC Pilot in Command
PWM Pulse Width Modulation
RC Radio Controlled
TCAS Traffic Collision Avoidance System
TLS Transponder Landing System
TMP TRAPIS MAVLink Packager
TRAPIS TRAnsponder-based Positioning Information System (UW developed)
(s)UAS (small) Unmanned Aerial System
UAV Unmanned Aerial Vehicle
UW University of Washington
UWCUTS University of Washington Carnation UAS Test Site
WSMP Washington Simple
WSTR Washington Steer
Downloaded by UNIVERSITY OF WASHINGTON on January 16, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-1053
I. Introduction
A. Problem Statement
Virtually all unmanned aerial systems (UAS) utilize the Global Navigation Satellite System (GNSS) for
navigation and operation. Without access to a GNSS such as the United States’ Global Positioning Sys-
tem (GPS), most UAS are unable to operate. In addition to UAS reliance on GPS, the Federal Aviation
Administration (FAA) Modernization and Reform Act of 20121 outlines steps forward on many aviation
fronts to bring aerospace into the modern era. One major initiative from this act is the mandated safe
integration of UAS into the National Airspace System (NAS).2 Another related initiative is the FAA’s Next
Generation Air Transportation System (NextGen)3 which showcases the Automatic Dependent Surveillance
- Broadcast (ADS-B) system as being a key component for both manned and unmanned traffic.4 How-
ever, a recent investigation by the US Department of Transportation Inspector Generals Office5 specifically
identified these two areas as behind schedule and in need of additional development. This paper focuses
on developing technology that addresses these shortcomings and will therefore be vital to the progress of
the anticipated $13.6 billion civilian UAS market.6 ADS-B relies heavily on availability of GPS and cannot
function properly without reliable GPS. Further, several elements of the US Department of Defense have
repeatedly requested systems and methods which enable UAS operations in GPS-denied situations. This
work considers integration and flight testing of an ADS-B equipped small UAS (sUAS) in a GPS-denied en-
vironment. It will focus on technical issues associated with integrating a small form factor ADS-B unit with
existing UAS avionics. Another major contribution of this paper is the documentation of the operational
issues associated with coordinating GPS-denied UAS operations in conjunction with manned aviation within
the current FAA regulatory environment.
B. Literature Review
1. Previous Work at the University of Washington
Work at the Autonomous Flight Systems Laboratory (AFSL) at the University of Washington (UW) typ-
ically focuses on strategic algorithm development for UAS operation such as search and rescue,7, 8 aerial
mapping9, 10 and surveying.11, 12 The AFSL has also investigated situational awareness13 and human-in-
the-loop architectures for UAS operation.14 Early flight testing work focused on indoor flight testing15 by
collaborating with industry partners, such as Boeing.16
2. Related Works
Although previous work in the area of ADS-B implementation on sUAS aircraft is limited, several major
studies have been conducted in a similar vein as the research presented in this paper. In 2009, researchers
at the University of North Dakota presented software-in-the-loop simulations for an sUAS sense and avoid
algorithm which made use of ADS-B information.17 Another 2009 study involved an ADS-B based collision
avoidance system to be used by sUAS in airspace with other unmanned and manned aircraft operating
simultaneously.18 A 2013 study investigated the possibility of incorporating ADS-B transponders on sUAS
2 of 24
D. ADS-B Payload
The ADS-B transponder used for this project was a Sagetech Corporation model XPS-TR, which is shown
in Figure 3(a). Customization of this payload to integrate into an sUAS was discussed in previous publica-
tions.21, 22
The transponder in the previously described configuration received its position information from the
aircraft’s GPS by connecting into the UAS Pixhawk and GPS unit. For this paper it was desirable to have
the transponder payload act independently of the UAS, so instead, a secondary Pixhawk and GPS unit were
integrated into the payload. This allows the payload to be easily integrated onto multiple UAS, or even
operated without integrating it onto a vehicle at all.
The customized and integrated payload of ADS-B transponder, Radio Control (RC) receiver, and Arduino
comprise the primary hardware described in this paper. These components are part of the TRAPIS system
and are hereafter referred to as the TRAPIS payload.
Two different views of the payload are shown in Figure 4. Figure 4(a) gives an overall view of the
payload and all its connections between components. Figure 4(b) shows one possible configuration of these
components, with the transponder located inside the box that houses the Arduino. This configuration was
used in much of the early testing of the system, but presented a number of issues. During testing, the
3 of 24
4 of 24
Figure 1. TRAPIS block diagram.
(a) Sagetech Corp. XPS-TR ADS-B out transponder. (b) Sagetech Corp. Clarity ADS-B in receiver.
transponder frequently overheated, causing it to shut down and cease transmission. This demanded that it
be removed from the box and placed in a less heavily insulated location. This also provided the flexibility
required to combat the electromagnetic interference between the transponder and other components of the
aircraft. The final configuration that was used in the later stages of flight testing is shown in Figure 5.
This setup features the transponder located on the exterior of the aircraft, on the underside of the right
wing, with the remainder of the components still located within the aircraft payload bay. This allowed the
transponder antenna to reach to a location where it would cause minimal interference, and provided airflow
over the transponder unit for cooling without significantly disrupting the aerodynamics of the UAS.
E. Aircraft
The payload for this experiment was flown on a Finwing Sabre, which is a fixed wing UAS. The aircraft
weighs 3.12 kg, including all internal components and the experimental payload. It has a wingspan of 1.9
m and measures 1.32 m from tip to tail, with the center of gravity located 2 inches behind the leading
edge of the wing. The aircraft is controlled by a Pixhawk autopilot. This is connected to several other
components, including a 2.4 GHz receiver for pilot communication, a 915 MHz Holybro telemetry radio
for communication with the ground station, and a Holybro GPS/Compass Module to provide heading and
GPS navigation capabilities. This aircraft was selected for its stability, reliability, and payload capacity.
Modifications to the airframe were made to accommodate placement of the battery forward of the main
payload bay, and to accommodate the size of the payload. These modifications consisted of removing excess
5 of 24
(a) Payload with all standalone components, designed to (b) Interior of the payload showing the Arduino and transpon-
operate completely independently of the UAS, showing der inside the box. Note that this configuration proved unfeasi-
the transponder outside the box. ble and was not used in the final flight test.
Figure 4. TRAPIS payload with integrated transponder, Arduino, Pixhawk and GPS units.
(a) The transponder’s final location on the underside of (b) The Arduino, payload Pixhawk, and
the wing. payload GPS located in the aircraft pay-
load bay.
material from the airframe to create the necessary space. A full list of the internal components is shown in
Table 1.
6 of 24
7 of 24
The TRAPIS packet data structure follows the same structure as the standard MAVLink COMMAND LONG
message as shown in Table 2. TRAPIS uses command ID 999 for the “command” field. This ID must
be unique to any other MAVLink command. Command ID 999 is not used by any other standard com-
Downloaded by UNIVERSITY OF WASHINGTON on January 16, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-1053
mands, so it is available for TRAPIS to use. This allows the UAV’s firmware to address a TRAPIS
message uniquely. TMP takes the decoded latitude, longitude, and altitude from the TRAPIS applica-
tion and assigns them to parameters 1, 2, and 3 respectively. This message is then packaged by calling
message factory.command long encode() function defined in the DroneKit Python library, which follows the
structure of the COMMAND LONG message in the XML file. The firmware on-board the aircraft is then
able to look for this command ID and record these values by reading the parameters of this MAVLink
message.
Table 2. MAVLink COMMAND LONG structure that the TRAPIS packet follows.
The Dronekit Python library is an open source project developed by 3D Robotics Inc. It provides
functions to communicate and command UAVs that are able to comprehend MAVLINK protocol. TMP
periodically receives JSON packets from the TRAPIS application and sends the custom message to the
UAV. Mavproxy, a command-line ground control system (GCS) that allows connection to the UAV via a
telemetry link, is used to connect the script to the UAV. More importantly, it provides multiple bi-directional
UDP ports, so that both the TMP and other GCS, such as Mission Planner can connect to the UAV at
the same time. Hence, Mavproxy acts like a middleman by passing information from the Python script or
Mission Planner to the UAV. For the TRAPIS project, Mavproxy opens two bi-directional UDP ports: one
for Mission Planner and one for the TMP script. Overall, TMP packages and sends MAVLINK messages.
The sent message is routed to Mavproxy and Mavproxy relays the message up to the UAV.
G. Firmware Modification
The UAV uses custom firmware to navigate using TRAPIS data. The firmware uses ArduPilot version 3.8.0
as the foundation. ArduPilot is an open source autopilot firmware. It comes with several modes that feature
waypoint navigation and orbiting around a point. These built-in modes require GPS to fly properly. Using
8 of 24
field. This command field has an integer that represents an ID that corresponds to a set of instructions.
Therefore, the COMMAND LONG message contains a command. The MAV CMD NAV WAYPOINT
command, represented by command ID 16, is an example of a command that can be contained in the
COMMAND LONG message. The MAV CMD NAV WAYPOINT command is shown in Table 3. Note that
the parameters shown in Table 3 correspond to the parameters that would be sent in the COMMAND LONG
message.
TRAPIS requires a new set of instructions to follow when the plane receives a TRAPIS message. The
specific message structure used for TRAPIS is shown in Table 4. The ArduPilot firmware was customized
so that it saves the most recent latitude, longitude, and altitude from TRAPIS. The TRAPIS messages are
received at approximately 1 Hz, so the firmware is essentially saving the current position of the UAV as seen
by TRAPIS. Now that the UAV knows and understands its position without using GPS, it must be able to
use that position data appropriately.
The custom firmware also includes a custom flight mode: Washington Steer (WSTR). WSTR was designed
to be a simple flight mode that allows the UAV to navigate a flight path using TRAPIS position estimates.
WSTR treats the most recent TRAPIS position received as the current position of the UAV. It then compares
that position estimate to the current waypoint. WSTR then uses a proportional-derivative controller to
adjust its heading towards the desired waypoint heading by only using the UAV’s rudder. WSTR holds a
constant altitude and zero bank angle so that only the rudder is used for steering. WSTR only uses the
rudder because this mode is only designed to prove that a UAV can navigate a flight path using TRAPIS
estimates. This custom flight mode is not designed to efficiently navigate those waypoints.
WSTR consists of three separate controllers: the wing leveler, which commands only the ailerons, the
steering, which commands only the rudder, and the altitude hold, which commands only the elevator.
9 of 24
Throttle is controlled manually by the pilot for simplicity, and to allow the operator to make adjustments
for varying wind conditions, as it was known that the final flight test of this system would likely take place
in strong or extremely variable winds. As the actual control mechanism operating on the aircraft was not
intended to be a major focus of this research, a controller that would take the minimum amount of time to
design and tune was desirable. A block diagram showing the overall control scheme is shown in Figure 6.
Figure 6. Block diagram showing the flow of signals through the WSTR controller.
Each component of WSTR also imposes a limit on the maximum control surface deflection angle it will
command. This served as a safety mechanism to protect the aircraft from abrupt maneuvers in the event of
an erroneous control signal. The ailerons, rudder, and elevator were all limited to deflect by no more than
±30◦ . The PWM value this corresponds to varies from aircraft to aircraft, but by imposing a limit on the
physical deflection angle of the control surface rather than the PWM value, it was ensured that the controller
output would always remain within a safe bounded region, regardless of any differences in how the servos
were calibrated from aircraft to aircraft.
2. Wing Leveler
Figure 7 shows the signal flow through the wing leveler portion of the WSTR controller. It is a Proportional-
Derivative (PD) controller which maps the current bank error and outputs the appropriate aileron deflection
angle. As noted previously, this angle is limited to ±30◦ .
10 of 24
3. Altitude Hold
Figure 8 shows the signal flow through the altitude hold portion of the WSTR controller. The altitude error
is fed into a Proportional controller which computes the pitch error, which is then fed into a PD controller
that outputs an elevator deflection angle. Again, this angle is limited to ±30◦ .
Downloaded by UNIVERSITY OF WASHINGTON on January 16, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-1053
Figure 8. Block diagram showing the flow of signals through the altitude hold component of the WSTR
controller.
4. Steering Control
The steering controller, which is a pure proportional controller, maps heading errors between the current
location of the aircraft and the desired waypoint location to a rudder deflection. In order to prevent large
amounts of overshoot or oscillation in the response of the controller, the gain was intentionally kept very
low. This resulted in very gradual maneuvers compared to the behavior of more complex steering controllers,
such as ArduPilot’s built in Auto mode. Note as well that the steering control does not involve the ailerons
in any way. For simplicity, this controller was designed to steer purely using the rudder, as opposed to Auto
mode which uses the ailerons for coordinated turns. Figure 9 shows how the heading error angle is computed
from a geometrical perspective.
One notable behavior of the steering controller is the fact that when it begins navigating through a
new flight path, it is set to begin at waypoint number 2. This was done for convenience, to facilitate the
large amount of simulation that was done prior to actual flight testing of the controller. In the ArduPilot
simulator, waypoint number 1 must always be designated as a takeoff waypoint, which cannot be taken
in by the controller. Therefore the controller was designed to ignore waypoint number 1, to minimize the
modifications necessary to transition the controller from simulation to flight testing.
11 of 24
deflect 10 degrees in a certain direction if the UAV was carried to one side of an artificial line defined by
GPS coordinates, and deflect the other direction if the UAV was carried to the other side of that line. This
validated the ability of the system to command the UAV based on custom position information.
After this success, a more complex flight mode, WSTR, was created to incorporate the wing leveler,
altitude and steering controllers. WSTR uses rudder to navigate while the ailerons and elevator keep the
wings level and maintain altitude respectively.
It was verified that without using the UAV’s on-board GPS, the complete TRAPIS system (using GPS
from the TRAPIS payload) could command a UAV in WSTR mode to steer to a series of waypoints located
on the ground. To do this, a researcher walked the system to each waypoint and demonstrated that the
rudder commanded it to correctly “steer” to the next waypoint.
All the tests described above relied on the transponder being fed GPS position through its standalone
GPS receiver. However, the purpose of this project is to be able to navigate without GPS reception at any
point in the system. This requires being within the operational range of the LAMS, so to simulate using the
LAMS without actually operating within its operational radius, a scheme was devised to be able to “hijack”
another aircraft’s LAMS position information.
Live aircraft position information was sent from the LAMS, located in Dallesport, Washington, to a
computer in the AFSL via a UDP port. The TRAPIS application in the lab could then process actual
aircraft data from 150 miles to the south in real time. Position information was retrieved from a manned
aircraft in the vicinity of the LAMS. The original goal was to be able to feed a UAS the position from one of
these other manned aircraft, and have the UAS navigate based on the LAMS information during flight. If the
desired waypoint is located at the UW Carnation UAS Test Site (UWCUTS) 150 miles north of the LAMS-
tracked aircraft, regardless of the current position of the UAS, the flight controllers would command the
UAS to fly north, because it would think it needs to fly from Dallesport to the Seattle area. Unfortunately,
the process to send the live LAMS position information wirelessly to UWCUTS proved impractical. Instead,
the test was performed with the aircraft on the ground on the UW campus, where the live LAMS data was
being received. This test was completed by verifying that the rudder deflected in the correct direction based
on the current heading of the UAS on the ground. The rudder always deflected such that the aircraft would
try to fly north.
12 of 24
Figure 10. The aircraft and GCS setup used for flight testing.
Table 5 outlines the complete testing campaign that was used to test and demonstrate these systems both
on the ground and in the air.
The controllers were tested by first feeding them fully functional, normal GPS position information. Each
test was then repeated using the GPS position fed to the GCS via the ADS-B transponder inside the TRAPIS
payload. These tests consisted of commanding the UAS to navigate through a series of waypoints in WSTR
mode. Several different waypoint configurations were tested, as shown in Figure 11. The Single waypoint
(Figure 11(a)) demonstrated the controller could steer in the correct direction. The Simple waypoints (Figure
11(b)) demonstrated that it could handle transitioning from one waypoint to the next without any sharp
turns. The Full, or Demonstration waypoints (Figure 11(d)) were designed to be the same size and shape that
were actually flown during the final flight demonstration in Dallesport. The Full waypoints were rigorously
tested and validated to ensure WSTR functioned well in a variety of conditions, especially with varying wind
velocities. The Circle Path waypoints (Figure 11(c)) were originally intended for the final demonstration,
and were used for much of the early validation of WSTR at UWCUTS. This path was eventually replaced
with grid path shown in Figure 11(d) once it was demonstrated that the controller was robust enough to
support a more complex flight path. A grid pattern was selected due to the high demand for similar flight
paths in many UAS applications, such as aerial mapping, search and rescue, and agriculture.
ArduPilot’s geofence function was also thoroughly tested at UWCUTS. The geofence is a set of prede-
termined geographical boundaries, which include an altitude limit, beyond which the aircraft cannot go. If
the aircraft crosses the geofence for any reason, the autopilot will take over and fly it back to a point near
the middle of the geofence, and cause it to loiter in a circle about that point. Multiple tests were conducted
where the aircraft was deliberately steered across the geofence in various modes (including WSTR) to verify
this functionality. The maximum distance beyond the edge of the geofence the aircraft would reach before
turning around was noted, and used to position the waypoints in relation to the geofence at the final flight
test.
13 of 24
14 of 24
(a) Single waypoint flight path. (b) Simple waypoint flight path.
(c) Circle waypoint flight path. (d) Final demonstration ”Dallesport” flight path.
15 of 24
Figure 13. The test site at KDLS, showing the location and orientation of the Demonstration waypoints.
application and the iPad. After launch, the pilot manually climbed to an altitude of approximately 100
meters. Once the aircraft was within the boundaries of the geofence, the geofence was activated. Then the
aircraft was switched into Auto mode, then WSTR with the source of position data being controlled by the
GCS, located at the LAMS unit. Upon successful completion of the flight path, the geofence was deactivated
to allow landing in the proper location and the aircraft was landed manually.
Throughout testing, a second Remote Pilot in Command (PIC) maintained communications with local
manned aircraft via an air band radio, announcing UAS activity in the area prior to takeoffs and landings,
and instructing the UAS operator to land immediately when manned aircraft were taking off or landing.
This operation was coordinated well in advance with the KDLS management to minimize any possible risk
to manned aircraft activities.29
IV. Results
A. Ground Testing
Figure 14(a) shows the Pulse Width Modulation (PWM) signal being sent to the rudder during the WSTR
ground test that was conducted on March 9, 2018. During this test, a research carried the aircraft through
the waypoints shown in Figure 14(b), changing the orientation of the aircraft so that the rudder was returned
to center after every deflection, manually simulating the behavior of an aircraft steering through waypoints.
These waypoints consisted of a triangle of right-handed turns (note that the controller begins at waypoint
number 2, as discussed previously). For the majority of the test, the aircraft was commanding PWM values
greater than 1500, indicating that the aircraft was attempting to make these right-handed turns. This test
demonstrated that the WSTR controller was functional using GPS position, and suitable for flight testing.
Extensive ground testing of the TRAPIS payload was also conducted. Much of this testing was aimed
at minimizing electromagnetic interference between the transponder and various components of the UAV.
This interference, which was also identified as a problem in previous work on this system, is due to the
large difference in power between the signals sent by the transponder (5 W) and the signals commanding
the control surfaces (0.1 W).21 These issues were directly correlated to the proximity of the transponder
and its antenna to various components, such as the Pixhawk, ESC, and servos. Most notably, the Pixhawk
16 of 24
autopilot computer consistently failed to record data flash logs while the payload was on. Data flash logs are
recorded on-board the Pixhawk and include data such as position information, aircraft system information
and other in-flight data. In certain payload configurations, the control surfaces would sometimes move
unpredictably, commands would lag, or the motor would fail to spin when commanded. Aluminum foil was
initially wrapped around the transponder in an attempt to minimize this interference, but this caused the
transponder to overheat and cease function properly, and was therefore removed. Various positions of the
transponder and its antenna on-board the UAV were tested, and it was found that the interference could be
minimized by fixing the transponder to the underside of the wing, as far away from the body of the aircraft
as was possible without jeopardizing stability, with the antenna on the tail of the aircraft. Unfortunately the
problem of data flash logs failing to record was not able to be resolved before the final flight test at KDLS.
However, telemetry collected by the GCS was able to provide an equivalent set of data.
17 of 24
Figure 15. Trajectory and ADS-B data used for navigation during a test at UWCUTS.
the preliminary tests performed at UWCUTS). These three runs all used the waypoints shown in Figure 13.
The UAS was considered to have reached a waypoint and began targeting the next one when it got within
75 meters of the waypoint. The times at which this occurred are also shown. Note that by default, WSTR
skips waypoint 1, which is why the waypoint numbering begins at 2.
Except for significant deviations from the planned trajectory while the aircraft was targeting waypoints
3 and 7, the amount of crosstrack error during either of the WSTR runs is not significantly greater than the
amount displayed by Auto mode (60-80 meters at the most). These deviations can be traced back to two
major sources. The first is the wind. During all these tests, there was a nearly constant wind of up to 20
kt. WSTR relies entirely on the rudder for steering, while Auto makes use of the ailerons for coordinated
turns. Without the use of the ailerons, the capability of an aircraft to maintain correct heading in severe
winds is significantly degraded. The second major source of error stemmed from the transmission of the
position data itself. During the run using Clarity position estimates (shown in Figure 19(a)), data points
were received sporadically, especially during the parts of the trajectory when the aircraft was furthest from
the ground station. This indicates a possible limitation in the wireless range of the system.
Furthermore, during both the Clarity and LAMS runs, there was a delay in the transmission of data,
so that the position being used to command the rudder deflection lagged several seconds behind the actual
position of the aircraft. This lag was likely due to inherent time delay associated with off-board processing
of navigation data. The impact of this behavior was most noticeable when compounded by the lack of
any transmission at all for large portions of the Clarity run, most notably between waypoints 2 and 3, and
waypoints 6 and 7. During these segments, the aircraft would begin by making a gentle turn, which it would
continue to hold until receiving another position information packet. Until then, it would continue to think
it was at the location where it received the first packet, and so would hold the same rudder deflection it
would need to reach the next waypoint from that location, causing it to continue in a far too gentle turn,
steering it in the wrong direction until the next packet was received. It can be seen from Figure 17 that while
no data was being received, the aircraft maintained a relatively constant turning radius, as it was holding
roughly the same rudder deflection it began commanding when it received its last data point. This can be
verified by examination of Figure 21(a), where periods of constant rudder deflection can be observed during
the portions of the flight path where no ADS-B data was being received. Wind drift likely also contributed
to this phenomenon, carrying the aircraft still further away from where it thought it was, rendering the
18 of 24
Figure 16. The LAMS navigation data used during the final demonstration, along with the actual trajectory
flown by the aircraft using this data.
19 of 24
Figure 17. The ADS-B navigation data from the Clarity Receiver used during the final demonstration, along
with the actual trajectory flown by the aircraft using this data.
20 of 24
Figure 18. Crosstrack error in position for WSTR navigating through the final demonstration waypoints at
KDLS using position information from the LAMS.
(a) Crosstrack error for the ADS-B run. (b) Crosstrack error for the Auto run
Figure 19. Crosstrack error for the two control runs using GPS.
heading being commanded still more inaccurate. As the aircraft neared the next waypoint, the packets it
received began to trigger much more extreme turns, as the aircraft suddenly realized it was much closer to
the waypoint than it had previously thought. This is what caused the circling behavior seen in the vicinity
of waypoints 3, 4, 7, and 8.
Figures 20(a) and 21(a) show the PWM signal commanding the rudder deflection for the WSTR runs
using LAMS and ADS-B position data respectively. A centered, or neutral rudder corresponds to a PWM
of 1500 microseconds. Full leftward deflection of the rudder corresponds to a PWM of 1000 microseconds,
and full rightward deflection corresponds to 2000 microseconds. In order to prevent the firmware from
over-commanding the rudder and potentially inducing an unsafe flight condition, the rudder deflection was
intentionally limited to ±30◦ , which corresponds to a slightly decreased PWM range that varies from aircraft
to aircraft. The lower limit for the aircraft used in the final demonstration was 1167 microseconds, meaning
that the plateaus in the rudder deflection at this value correspond to full leftward deflection of the rudder.
Figures 20(b) and 21(b) show the magnetic heading of the aircraft measured by the primary compass for
the two respective WSTR runs. Note that the sharp spikes on these plots do not necessarily indicate a large
change in heading, merely that the plane was traveling almost exactly due north, causing the heading to
fluctuate between 0◦ and 360◦ .
Examining Figures 20(a) and 21(a), we see that the rudder deflection between waypoints 2 and 3, and
21 of 24
Figure 20. Steering controller behavior during the GPS-denied LAMS run.
Downloaded by UNIVERSITY OF WASHINGTON on January 16, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-1053
(a) The PWM signal being sent to the rudder. (b) The magnetic heading of the aircraft.
between 6 and 7, is not as extreme as would be expected for an aircraft as far off course as the plane actually
was. Ideally, during these portions of the flight path, the aircraft should have maintained a constant heading
of approximately 85◦ . In actuality, as seen in Figures 20(b) and 21(b), the heading changed slowly from
around 200◦ , and was forced to overshoot and circle back around to a heading of around 300◦ to reach the
waypoint. For much of this time, the rudder was receiving a PWM signal of between 1200-1400 microseconds,
which is far too gentle of a turn for an aircraft that far off course. This gentle turn resulted in a slow arc
between waypoints, rather than a crisp turn followed by a straight line. This gentle turn was a direct result
of the lag in the transmission of position data from the ground station, as discussed above.
22 of 24
Acknowledgments
The authors would like to thank Andy von Flotow from Hood Technology for sponsorship of the research,
Downloaded by UNIVERSITY OF WASHINGTON on January 16, 2019 | http://arc.aiaa.org | DOI: 10.2514/6.2019-1053
References
1 United States Superintendent of Documents, “FAA Modernization and Reform Act of 2012,” Tech. rep., Federal Aviation
Administration, 2012.
2 “FAA Makes Progress with UAS Integration,” 2006, http://www.faa.gov/news/updates/?newsId=68004.
3 “FAA’s NextGen Implementation Plan,” Federal Aviation Administration.
4 Federal Aviation Administration, “NextGen UAS Research, Development and Demonstration Roadmap,” Tech. rep.,
gration in the United States,” Tech. rep., Association for Unmanned Vehicle Systems International, 2013.
7 Lum, C. W. and Vagners, J., “A Modular Algorithm for Exhaustive Map Searching Using Occupancy Based Maps,”
Guarantees,” AIAA Journal of Aerospace Computing, Information, and Communication, Vol. 7, January 2010, pp. 1–31.
9 Lum, C. W., Gardner, S., Jordan, C., and Dunbabin, M., “Expanding Diversity in STEM: Developing International
Education and Research Partnerships in a Global Society,” Proceedings of the American Society for Engineering Education
123rd Annual Conference & Exposition, June 2016.
10 Lum, C. W., Mackenzie, M., Shaw-Feather, C., Luker, E., and Dunbabin, M., “Multispectral Imaging and Elevation
Mapping from an Unmanned Aerial System for Precision Agriculture Applications,” Proceedings of the 13th International
Conference on Precision Agriculture, St. Louis, MO, August 2016.
11 Lum, C. W., Summers, A., Carpenter, B., Rodriguez, A., and Dunbabin, M., “Automatic Wildfire Detection and Simu-
lation Using Optical Information from Unmanned Aerial Systems,” Proceedings of the 2015 SAE Aerotec Conference, Seattle,
WA, September 2015.
23 of 24
Identification,” Proceedings of the 2005 Infotech@Aerospace Conference, AIAA, Arlington, VA, September 2005.
13 Ueunten, K. K., Lum, C. W., Creigh, A. A., and Tsujita, K., “Conservative Algorithms for Automated Collision Awareness
for Multiple Unmanned Aerial Systems,” Proceedings of the 2015 IEEE Aerospace Conference, Big Sky, MO, March 2015.
14 Lum, C. W., Rowland, M. L., and Rysdyk, R. T., “Human-in-the-Loop Distributed Simulation and Validation of Strategic
Autonomous Algorithms,” Proceedings of the 2008 Aerodynamic Measurement Technology and Ground Testing Conference,
Seattle, WA, June 2008.
15 Lum, C. W., Vagners, J., Jang, J. S., and Vian, J., “Partitioned Searching and Deconfliction: Analysis and Flight Tests,”
Proceedings of the 2010 American Control Conference, Baltimore, MD, June 2010.
16 Lum, C. W., Vagners, J., Vavrina, M., and Vian, J., “Formation Flight of Swarms of Autonomous Vehicles in Obstructed
Environments Using Vector Field Navigation,” Proceedings of the 2012 International Conference on Unmanned Aircraft Sys-
tems, Philadelphia, PA, June 2012.
17 Martel, F., Shultz, R., W, S., Wang, Z., and Czarnomski, M., “Unmanned Aircraft Systems Sense and Avoid Avionics
GPS-Denied Environments,” Proceedings of the AIAA Flight Testing Conference, Denver, CO, June 2017.
22 Larson, R. S., Winde, J., and Lum, C. W., “UAS Position Estimation in GPS-Degraded and Denied Environments Via
ADS-B and Multilateration Fusion,” Proceedings to the AIAA Information Systems-AIAA Infotech@ Aerospace Conference,
Kissimmee, FL, January 2018.
23 Larson, R. S., sUAS Position Estimation and Fusion in GPS-Degraded and GPS-Denied Environments using an ADS-B
Transponder and Local Area Multilateration, Master’s thesis, University of Washington, Seattle, WA, March 2017.
24 Handley, W., Two NextGen Air Safety Tools: An ADS-B Equipped UAV and a Wake Turbulence Estimator , Master’s
design for autonomous flight using onboard computer vision,” Autonomous Robot, 2012.
27 Lum, C. W. and Tsukada, D. A., “UAS Reliability and Risk Analysis,” Encyclopedia of Aerospace Engineering, July
2016.
28 Lum, C. W. and Waggoner, B., “A Risk Based Paradigm and Model for Unmanned Aerial Vehicles in the National
Airspace,” Proceedings of the 2011 Infotech@Aerospace Conference, St. Louis, MO, March 2011.
29 Lum, C. W., Gauksheim, K., Kosel, T., and McGeer, T., “Assessing and Estimating Risk of Operating Unmanned Aerial
Systems in Populated Areas,” Proceedings of the 2011 AIAA Aviation Technology, Integration, and Operations Conference,
Virginia Beach, VA, September 2011.
24 of 24