The generalized development of UAS complex applications are still limited by the absence of systems that support the implementation of the actual mission. UAS design faces the development of specific systems to control their desired flight-profile, sensor activation/configuration along the flight, data storage and eventually its transmission to the ground control. All this elements may delay and increase the risk and cost of the project.
This paper introduces a flexible and reusable hardware/software architecture designed to facilitate the development of UAS-based complex applications. This flexibility is organized into a user-parameterizable UAS service abstraction layer (USAL). The USAL defines a collection of standard services are their interrelations as a basic starting point for further development by users. Functionalities like enhanced flight-plans, a mission control engine, data storage, communications management, etc. are offered. Additional services can be included according to requirements but all existing services and inter-service communication infrastructure can be exploited and tailored to specific needs. This approach reduces development times and risks, but at the same time gives the user higher levels of flexibility and permits the development of more ambitious applications.Postprint (published version