Advances in rapid prototyping technology have enabled the idea of agile development in unmanned aircraft design. This means that the traditional design cycles of the aerospace industry, with lengths typically stretching over years, could be slashed significantly, provided that the design process could be accelerated too, from its earliest phases. ADRpy (Aircraft Design Recipes in Python) was born out of the need for rapid trade-off analyses at the beginning of the conceptual design phase.
The ADRpy philosophy is to view conceptual design as a mapping of the constraints that define the feasible chunk of the design space. In other words, we aim to chart the feasible design space boundaries defined by the design requirements, from take-off performance to service ceiling. Each design requirement takes a bite out of the design space – defined in terms of key variables, such as wing area and propulsive power – and what remains, will be the search space of an optimization algorithm, driven, typically, by objectives related to weight and cost.
There are two key ingredients for effective conceptual design, which have driven the development of ADRpy.
First, these earliest phases of the design process carry the largest uncertainties. In addition to environmental uncertainties (more on which shortly), we have to consider at this stage the large error margins typical of the phase of a project when we are yet to acquire a firm handle on the aerodynamic performance of the airframe and the propulsion system; in fact, in many cases, we can only go on the known performance of similar legacy designs. To account for such potential error sources, ADRpy offers the tools required for rapid uncertainty quantification through Monte-Carlo or pseudo-Monte-Carlo methods, yielding distributions of values instead of hard borders around the constraint space. Thus, it also helps highlight those constraints that carry the largest uncertainties and therefore warrant further investigation.
Another key feature of ADRpy is its ability to model the environment rapidly and in a manner far more representative of the real operational environment than a simple standard atmosphere calculation that is customary at this stage. The inherent uncertainties (for example, due to seasonally or geographically varying conditions) can be incorporated into the same Monte-Carlo framework as the impact of the engineering uncertainties.
ADRpy is available here to the community for free, under a GPL-3.0 license, with contributions always welcome! The documentation is available here.