Avionics System For UAV Flight Controls Research
Avionics System For UAV Flight Controls Research
Avionics System For UAV Flight Controls Research
Subodh Bhandari∗, Norali Pernalete†, Ajay Bettadapura‡, Ohanes Dadian§, Luis Andrade¶,
Nigam Patelk, and Richard Lin∗∗
California State Polytechnic University, Pomona, CA 91768
This paper presents the research being done at Cal Poly Pomona on the development
of a wireless avionics system for use on UAVs for flight controls research. The avionics
Downloaded by CARLETON UNIVERSITY LIBRARY on July 30, 2015 | http://arc.aiaa.org | DOI: 10.2514/6.2013-4586
system consists of an onboard flight computer for flight data acquisition and processing,
and a wireless modem for live streaming of telemetry to and from the UAV to a ground
station. The avionics system is being used for the implementation of guidance, navigation,
and control algorithms and for hardware-in-the-loop simulation. It will also be used for the
implementation of neural network based controllers that are under development. Because
of its open architecture, the avionics system can be used for other research topics such
as research on obstacle and collision avoidance systems for UAVs. An integrated modular
avionics (IMA) architecture is being used to reduce the overall weight, size, and power
consumption. A commercially available Real-Time Operating System (RTOS) is used for
increased safety, security, and partitioning.
Nomenclature
AADL Architecture Analysis & Design Language
ANN Artificial Neural Network
ARINC Aeronautical Radio, Incorporated
BELBIC Brain Emotional Learning Based Intelligent Controller
COTS Commercial off-the-shelf
DoD Department of Defense
DURIP Defense University Research Instrumentation Program
ESN Echo State Network
FAA Federal Aviation Administration
GCS Ground Control Station
GIS Geographic Information System
GN&C Guidance Navigation and Control
GNSS Global Navigation Satellite System
GPS/INS Global Positioning System/Inertial Navigation System
GUI Graphical User Interface
HIL Hardware-in-the-Loop
IMA Integrated Modular Avionics
IMU Inertial Measurement Unit
ISR Intelligence, Surveillance, and Reconnaissance
MLP Multi-Layer Perceptron
MVC Model-View-Controller
NAS National Airspace System
∗ Associate Professor, Department of Aerospace Engineering and AIAA Senior Member
† Professor,
Engineering Technology Department
‡ Undergraduate Student, Department of Aerospace Engineering and AIAA Student Member
§ Graudate Student, Department of Computer Science and AIAA Student Member
¶ Undergraduate Student, Department of Aerospace Engineering and AIAA Student Member
k Undergraduate Student, Department of Aerospace Engineering and AIAA Student Member
∗∗ Graduate Student, Department of Electrical & Computer Engineering
1 of 19
I. Introduction
UNMANNED Aerial Vehicles (UAVs) have become indispensable for both military and civilian use.
Their military applications range from targeting drones, battlefield damage assessment and force pro-
tection to intelligence, surveillance and reconnaissance (ISR). UAVs are also used for civilian applications
such as transport, scientific research, rescue missions, surveillance of fire-, flood- and earthquake-affected
areas, synthetic aperture radar (SAR) interferometry, vegetation growth analysis and assessment of topo-
graphical changes. Their role is expected to increase in future years. Today, UAVs are the most dynamic
growth sector of the aerospace industry.1 Despite their potential for replacing manned aircraft, the operating
cost of UAVs must be decreased while increasing autonomy, reliability, and availability. They are limited
to military and restricted airspace due to safety concerns. Unmanned aircraft must be integrated into the
National Airspace System (NAS) in order to realize their full potential.
NAS integration requires that the UAVs have capability to sense and avoid (S&A) obstacles and other
aircraft. These capabilities help reduce the operating cost by reducing the number of crashes. The Depart-
ment of Defense (DoD) has set a target of fully integrating unmanned aerial systems (UAS) into the NAS
within a few years. This will allow UAVs to fly alongside manned aircraft. Due to its significance, the DoD
is collaborating with NASA and the Federal Aviation Administration (FAA) to develop and mature the
S&A technologies. As the role of UAVs and the level of autonomy increases, it is important to design flight
controllers that perform well over the entire flight envelope.2 Traditionally, controllers for flight vehicles are
designed using linearized flight dynamics models. However, controllers based on these models only work at
certain flight conditions around which the aircraft model has been linearized. UAVs are expected to fly over
a wide range of the flight envelope characterized by frequent changes in dynamic pressure. Controllers based
on nonlinear flight dynamic models can replace linearized controllers since they can operate over the entire
flight regime. A popular method for handling parameter variations in flight control is gain scheduling.3 The
flight dynamics model is linearized at several operating points and controllers are designed for each linearized
model. However, gain scheduling has many disadvantages. Frequent and rapid changes of controller gains
may lead to instability, and certain flight conditions may not yield a stable linear model. Some of the disad-
vantages of gain scheduling can be overcome by using nonlinear controllers based on feedback linearization.
One of these techniques is dynamic inversion and has been applied to UAVs and other aircraft. However,
dynamic inversion requires an accurate knowledge of the aircraft flight dynamics and the controller may not
work if the dynamics model is inaccurate or the system is in a non-minimum phase. Additionally, the se-
lected controller must simultaneously handle the presence of disturbance, parameter uncertainties, modeling
error, and unmodeled dynamics. Nonlinear neural-adaptive robust controllers are suitable to address these
issues. Online neural networks can calculate controller parameters that take into account the changing flight
dynamics and nonlinearity of the aircraft.
Today, Cal Poly Pomona is conducting research on neural network based controllers4 and on obstacle and
collision avoidance systems for UAVs.5 For this research, a custom avionics system with an open architecture
is required for the capability to have an open system that will allow modification for the addition of new
hardware and software. Many commercial-off-the-shelf (COTS) avionics systems exist but are proprietary
and very expensive. An open avionics suite is being designed for cost effectiveness, modularity, flight data
acquisition, data processing, data telemetry, and automatic control. Designing an avionics suite is challenging
2 of 19
II. Background
This paper details the conceptualization, research, and development of an open avionics system for
deployment on various aerial platforms at Cal Poly Pomona.
donated by the Northrop Grumman Corporation, a SR-1006 helicopter from Rotomotion, a 12 Foot Tele-
master from Hobby Lobby, and multiple Sig Kadet Seniors from Sig Manufacturing. The R-MAX has a main
rotor diameter of about 123 inches, an overall length of 143 inches, can handle a payload capacity of roughly
60 pounds, and is fitted with a WePilot from Viking Aerospace. The SR-100 has a main rotor diameter of
79 inches, tail rotor diameter of 34 inches and is 58 inches long, 20 inches wide, and 27 inches high. The dry
weight of the helicopter is 35 pounds and the payload capacity is up to 18 pounds. It is equipped with a
basic flight control system from Rotomotion for autonomous operation, telemetry gathering, and video link.
The Twin-Engine is a gasoline-powered airplane with a wing span of 134 inches and is 95 inches long. It
weighs 42 pounds with 25 pounds of payload capacity allowing for a large amount of fuel for long endurance
missions. It utilizes the Piccolo II7 autopilot from CloudCap for autonomous flight. The 12 Foot Telemaster,
displayed in Figure 2 is 90 inches long with a wing span of 144 inches. It weighs 24 pounds with a payload
capacity of roughly 12 pounds. This aircraft has also been equipped with a Piccolo II. A small fleet of Sig
Kadet Seniors have also been used for multiple projects at Cal Poly Pomona. These Sig Kadets feature a
wingspan of 80 inches, are 65 inches long, weigh 10 pounds empty with 6 pounds of payload capacity and
are typically fitted with an ArduPilot Mega for flight controls.
Figure 1: Cal Poly Pomona UAV Fleet Figure 2: Cal Poly Pomona 12 Foot Telemaster
3 of 19
thread scheduling were also required to properly isolate and task applications.
ARINC 66410 defines an extension of Institute of Electrical and Electronics Engineers (IEEE) 802.3
Ethernet suitable for avionics communications, known as Advanced Full-Duplex Switched Ethernet (AFDX).
The AFDX data network serves as the common backplane for the IMA processing modules. Since AFDX
switches may not be widely available for small UAVs and student projects, standard 802.3 Ethernet switches
will be used for communication. In addition to Ethernet, safety-critical applications can use redundant
point-to-point RS-232, RS-429, MIL-STD 1553, or CAN bus to ensure that possible IP packet collisions and
malfunctions do not affect the operation of the aircraft.
4 of 19
5 of 19
be purchased off-the-shelf, and are typically available in PC-104 and Pico-ITX form factors.
For development of the adaptive controllers, a reference implementation is shown in Figure 6. This
architecture was chosen in order to implement the core flight control, vehicle management, and ground
control station applications for the avionics system.
6 of 19
The Pololu CHR-UM6 Orientation Sensor shown in Figure 7 was used as an attitude heading and reference
system (AHRS) that provides Kalman filtering via an integrated 32-bit ARM processor. A u-Blox NEO-7N
anti-jamming Global Navigation Satellite System (GNSS) module shown in Figure 8 provides time, position
and velocity (TPV) reports to the AHRS for Kalman filtering. These filtered outputs are unpacked by the
data concentrator, and sent over the Ethernet bus in time-stamped quaternion format. Flight controls can
be implemented on both the data concentrator and common processor for testing of adaptive flight control.
Figure 7: Pololu CH6-UMR Orientation Sensor Figure 8: u-Blox NEO-7N Anti-Jam GNSS Module
The transmitter is a standard radio controller (R/C) that the pilot can use to manually override the
autopilot in an emergency. The FPGA on the data concentrator will be used to implement a failsafe to switch
between the PWM outputs of the autopilot and the pulse position modulation (PPM) of the radio receiver
on the aircraft for manual override. The mission control/ground station communicates with the common
processor on the avionics system using a 900 MHz XBee over a common messaging protocol. The common
processor acts as the adaptive controller by running computationally intensive neural network algorithms.
7 of 19
This narrowed the selection to Micrium µC/OS-III, QNX Neutrino, FreeRTOS, embedded configurable
operating system (eCos), Real-Time Executive For Multiprocessor Systems (RTEMS), and MarteOS.
Level 0 Hardware
8 of 19
. Start built-in-self-test
bist()
III.E.2. Blackboards
The ARINC 653 standard defines a blackboard sampling port similar to the operation of the User Data-
gram Protocol (UDP) that can be written to and read by multiple publishers and subscribers. The access
methodology is shown in Figure 10. In order to provide multiple readers and writers access to a shared sec-
tion, a blackboard thread is used with blocking QNX IPC MsgSend() and MsgReceive() primitives for data
requests, data pushes, and client registration. The publisher threads initialize a typed named shared memory
section that is passed to the blackboard thread to open. Clients register with the blackboard thread, and are
given a new instance of shared memory for access. Whenever the publishers push data to the blackboard,
the data is copied to an internal buffer and logged. When the client requests data from the blackboard, the
client blocks, and the blackboard thread copies the internal buffer to the client’s shared memory instance
after the client’s request message and replies after modification is finished. This ensures that access to the
shared memory is synchronized and free of race conditions. Accessing the blackboard is lock-free in order
to avoid deadlock, livelocks, and priority inversion. The blackboard thread blocks when idle to save CPU
time. The blackboards provide typed data structures with sensor data, image processing data, system status
updates and other sampled information.
9 of 19
create
blackboard push
buffer message
Downloaded by CARLETON UNIVERSITY LIBRARY on July 30, 2015 | http://arc.aiaa.org | DOI: 10.2514/6.2013-4586
subscriber pull
get message
10 of 19
III.E.7. Scheduling
The avionics system requires scheduling at both the partition and thread levels. QNX Neutrino provides
an adaptive partition scheduler17 that specifies the allocated processing bounds, criticality and free CPU time
in the event of under-utilized partitions. The health monitor adjusts the partition bounds and properties
based on the hosted applications and criticality levels. For example, if a flight controller is started, it will
reside in a safety-critical partition and alloted CPU regardless of whether other partitions are started, in order
to keep the aircraft operational. The POSIX interface provides pthread calls for managing thread scheduling.
The pthreads are housed by applications that run on the adaptive partitions of Neutrino. The middleware
abstracts the pthread function calls into tasks by defining configuration structures with the desired priorities,
scheduling algorithms, and scheduling properties of the task. Task start and worker function pointers are
used to pass functions to the threads without altering the underlying scheduling implementation defined by
the middleware. This architecture allows for multiple scheduling algorithms to run on separate partitions.
Three scheduling algorithms were implemented: Earliest Deadline First (EDF), Rate Monotonic18 (RM),
and Time Triggered19 (TT). The EDF algorithm prioritizes threads with the closest deadlines to ensure that
jobs are completed and outputs are produced. The EDF can schedule threads up to 100 percent processor
utilization, since the period of the thread matches the deadline and will always be scheduled to complete
before the deadline. A disadvantage of the EDF algorithm is that it must accurately calculate task deadlines
and store the current state of executing threads to properly schedule tasks. An extension of the time
triggered scheduler known as timed multitasking was also developed and uses monitor and worker threads
to trigger and produce outputs. Tasks were triggered by input conditions and outputs produced when the
monitor requested the output from the worker. Between the execution of the task and outputs, other tasks
could also be scheduled. This reduced the input output jitter and ensured that output is produced before
requested. This allowed for deadline monitoring and task overrun handling. However, the algorithm was
computationally intensive due to the use of multiple condition variables and mutex locks for triggering and
signaling. A rate monotonic scheduler was then developed, due its simplicity using preemptive fixed priority
assignments. Since the flight controller required multiple rate groups for sensor acquisition, algorithms and
control outputs, the rate monotonic scheduler provided the most optimal scheduling priorities based on
11 of 19
III.F.1. Communications
The GCS communicates with the avionics system using the variant of the STANAG 4586 protocol defined
in the middleware protocol library. Messages are sent between vehicles and ground stations using XBee
transceivers based on the 802.15.4 ZigBee specification. The GCS features an asynchronous server that
marshals messages from attached clients and unmanned systems, and routes the packets to their destination.
The server allows clients with adequate vehicle connection permissions to access the command, monitoring,
and configuration services of unmanned vehicles connected to the GCS. Since the XBee transceivers are
connected through point-to-point serial interfaces, the server handles requests from multiple clients that
may require data from a single physical transceiver. This allows for a consistent representation of data on all
client programs, as well as sanity checks by monitoring programs or the server itself on commands sent to the
unmanned systems. The server provides data consistency through the Structured Query Language (SQL)
by using a PostgreSQL database with a PostGIS database extender for the storage of spatial and geographic
objects and other Geographic Information Systems (GIS) related data. The database stores unmanned
vehicle parameters, flight plans, telemetry logs, payload data, and configuration data for the server, clients,
and avionic systems.
12 of 19
0 being the least desirable to 10 being the most desirable. The candidates were C++/Qt, C++/GTK,
C++/wxWidgets, C++/fltk, and C#/WinForms. The trade study displayed in Table 1 shows that Nokia’s
QT GUI toolkit paired with C++ is the best choice, due to its easy-to-use GUI design tool, native look-and-
feel, and human-readable configuration among other benefits.
The mapping feature will leverage Qt’s WebKit framework paired with Google Maps to provide a dynamic
3D map. The connection to Google’s API will be handled by QNetworkAccessManager, while the map GUI
will be handled by QWebView. Since features like panning and zooming are already built-in to the API,
development time will be reduced. Data will be presented using QWidgets overlayed on the map. The MVC
will be implemented using Qt’s model/view architecture and utilize the following classes: QAbstractItem-
Model for the object model, QAbstractItemView for the presentation, and QAbstractItemDelegate for the
controller. Custom classes are being written to extend these abstract classes in order to provide the necessary
functionality for the GCS. Communication will be handled by C++’s built-in socket library (socket.h). The
application will support the Linux, Windows, and Macintosh operating systems.
13 of 19
Each classification is geared toward solving certain problems such as prediction, pattern recognition, image
analysis, and adaptive control.
IV.A.1. Feed-Forward
The most popular class of ANNs is the feed-forward model, whose connections do not form a directed
cycle. A popular model of this class is the Multi-Layer Perceptron (MLP). This approach generally includes
an input layer, single to multiple hidden layers, and an output layer.24 In the application of adaptive learning,
MLPs are coupled with an error propagation technique for online learning.
IV.A.2. Recurrent
Another class of ANNs is the recurrent neural network (RNN), which differs from feed-forward networks
in that its connections form a directed cycle.25 This correlates with the behavior of the mammalian brain.
There has been much interest in using RNNs for technical applications where it is necessary to map sequences
of input and output pairs, with or without a teacher. It is especially prevalent in the field of adaptive control
of aerial robotics.26 Many research efforts are averse to using RNNs due to their complex behavior, difficult
implementation, and high computational requirements. However, they can have large dynamical memory
and highly adaptable computational capabilities. One of the supervised learning architectures for an RNN
is known as an Echo State Network (ESN), shown in Figure 12.
14 of 19
. Calculate RMSE
mseVal = mse(y - yTarget);
rmse = sqrt(mseVal);
end while
15 of 19
16 of 19
Figure 14: SIL Simulation of the Twin-Engine Recovering from 20◦ Left Bank
The simulated Twin-Engine was sent a 20 degree left bank command. After stabilizing at 20 degrees, the
roll PID channel was engaged, and the response from 20 degrees to level flight was recorded and normalized.
The results are shown in Figure 15. The tuned controller demonstrated a rise time of 0.428 seconds, settling
time of 1.57 seconds, and max overshoot of 5.19%. This basic PID controller is the first simulated flight
control demonstration of the IMA system, and will be expanded to provide altitude hold, coordinated turn,
heading hold, and velocity hold modes.
17 of 19
V. Conclusion
An open avionics system based on the IMA architecture was conceptualized and designed in order to
Downloaded by CARLETON UNIVERSITY LIBRARY on July 30, 2015 | http://arc.aiaa.org | DOI: 10.2514/6.2013-4586
provide the flexibility to support the needs of the various UAV projects at Cal Poly Pomona. The nascent
IMA system has demonstrated initial operating capability (IOC) of health monitoring, basic flight control,
blackboard ports, interface API, protocol library, data marshaling, adaptive partition scheduling, prototype
neural networks in C++ and MATLAB, and the beginnings of a nonlinear dynamic inversion controller.
Although much of the reference architecture has been completed, there is still work to be done. Focus has
shifted toward integration of all components with the reference hardware, controller development, hardware-
in-the-loop testing, and flight testing. The GUI for operator control unit is still under development and
will be integrated with the GCS server. More messages and behaviors will be also added to the system.
The AI techniques for the brain application need to be trained and matured in order to avoid undefined
system behaviors. HIL testing will be performed to verify and validate any additions. The IMA system will
eventually support a myriad of controller techniques, payloads, and missions.
References
1 Luley M., “UAVs around the world...an analysis of where the growth is,” GE Aviation, June 13, 2012. [online], URL:
http://www.theskywardblog.com/2012/06/uavs-world-%E2%80%A6-analysis-growth-3/ [cited 29, July, 2013].
2 Holzapfel, F. and Sachs, G., “Dynamic Inversion Based Control Concept with Application to an Unmanned Aerial Vehicle,”
AIAA Guidance, Navigation, and Control Conference and Exhibit, Providence, Rhode Island, August 16-19, 2004.
3 Shamma, J.S. and Clutier, J.R., “Gain-Scheduled Missile Autopilot Design using a Linear Parameter-Varying Transfor-
mations,” AIAA Journal of Guidance, Control and Dynamics, Vol. 16., No. 2, pp. 256-263, 1993.
4 Bhandari, S., Raheja, A., et. al., “Modeling and Control of UAVs using Neural Networks,” AIAA Modeling and Simulation
2013]
7 CloudCap Technology, ”Cloud Cap Technology – Piccolo II highly integrated UAS Autopilot,” [online],
http://www.cloudcaptech.com/piccolo II.shtm [cited 29, July, 2013]
8 Alena, R. L., et. al.“Communications for Integrated Modular Avionics”, NASA Ames Research Center, 2006.
9 Aeronautical Radio, Inc., “Avionics Application Software Standard Interface : ARINC Specification 653P1-3,” November
15, 2010.
10 Aeronautical Radio, Inc., “Aircraft Data Network, Part 7, Avionics Full-Duplex Switched Ethernet Network: ARINC
1, 2001.
17 QNX Software Systems Limited, “QNX Neutrino RTOS Adaptive Partition Scheduler for 6.5.0,” 2002-2012
18 of 19
Proceeding of the 6 International Conference on the Simulation of Adaptive Behavior, Cambridge, Mass. 2000.
22 Ito, H. and Mazenc, F., “Lyapunov Technique and Backstepping for Nonlinear Neutral Systems,” IEEE Transaction on
Automatic Control, IEEE Control Systems Society. Vol. 58, 2012, pp 512-517.
23 Nelson, R., Flight Stability and Automatic Control, McGraw Hill, 1998.
24 Bhandari, S., Raheja, A., “Nonlinear Control of UAVs using Neural Networks,” California State Polytechnic University,
approach,” Franhofer Institute for Autonomous Intelligent Systems (AIS), Bremen, Germany, April 2008.
19 of 19