Unmanned autonomous vehicles (UAVs) serve a critical need in a variety
of missions, including reconnaissance and search-and-destroy, as well
as outside the military in agriculture and forestry.
However, because UAVs are designed for specific mission parameters,
it is technically difficult to reconfigure UAV software systems when
other missions take a higher priority.
By focusing first and foremost on data interfaces within and between
software components along with the integration of those interfaces, UAV
system designers can unlock software architectures from a specific
technology. The primary objective is to design systems with an
unprecedented level of flexibility while improving overall system
reliability and sustainability.
Designing and building a UAV is one of the most difficult problems
in engineering, and it is particularly challenging from a software
systems perspective. As mission parameters change, often it is not
possible to adapt software to perform well in changed operating
environments.
By optimizing software performance, scalability, availability,
reliability, security, interoperability and affordability, system
designers can create a UAV that is adaptable to new mission parameters
while remaining robust across the product lifecycle.
UAV architecture consists of a set of systems or
systems-within-systems with potentially dozens of separate computers
and associated subsystems—each processing within its own problem domain
- with the need for real-time data communications and interaction with
ground control.
Connectivity between systems and components is established using
different networking technologies, including spotty wireless links as
well as high-speed local-area networks (LANs).
This complexity, combined with the need for constant real-time data
exchange between components and between the UAV and ground control,
makes adaptation to new missions and roles problematic.
The primary use of a UAV system is to support and enable the mission
payload with the necessary means of functioning and to collect and
distribute the data from the payload to the end users on the ground.
Likely an unmanned system will have complex problems to solve
throughout its lifecycle.
What system designers need to aim for very early on is an
architecture that can accommodate changes to the system and still
retain the basic architecture principles mentioned above.
The key is to leverage existing technologies that abstract design
away from a specific, hard-coded implementation. Such technologies have
the ability to ease the overall design process while enabling the
development of a more robust and flexible architecture. A primary
abstraction involves the data interfaces between the various subsystems
and components throughout the entire UAV system.
Basic UAV System Components
At the highest level, the UAV design can be segregated into three
separate subsystems: the air system, the ground system and the tactical
data link that provides real-time communication between the two.
Each of the three subsystems is technically complex, and combining
them into a complete system increases the complexity exponentially. The
real-time data streams cause rapid and unique interaction events
between those systems that must be analyzed and responded to in a
timely manner, even though the systems are almost always separated by
distance and intermittent connectivity.
The mission-critical nature of UAV systems adds requirements that
further complicate the design. Real-time data availability, processing
and response are additional requirements, as are high-availability and
reliability—all of which typically require complex redundancy
management and careful tuning of all code components.
Further, UAVs are almost always designed for specific mission
parameters and optimized for those missions. It is unlikely that a
ground-imaging or data-collection UAV will be able to readily carry a
weapons payload along with its own.
Because of the small size and limited power supply of a UAV, it is
currently not easy to swap mission parameters and payloads without
difficulty. Too many characteristics tend to be hardwired into the
design and implementation to easily configure for multiple mission
demands.