Main Content

Calculate Endurance Using Quadcopter Architectural Design

This example shows you how to create the physical architecture [1] of a quadcopter following a target green ball using System Composer™ and Requirements Toolbox™ and following a model-based systems engineering (MBSE) workflow. Start by defining requirements, then extend architectural data using stereotypes and custom property values for model elements, and finally use analysis to iteratively improve on the design.

Define Functional Requirements for Quadcopter Design

The first step in the MBSE methodology is to define requirements. The concept of operations, or conops, define the overall idea of the system. You then derive functional requirements from conops requirements and further define the logical and physical subsystems by linking requirements.

Open the project.

openProject("scExampleQuadcopterEndurance");

Load Simulink® customizations.

sl_refresh_customizations

Load the physical architecture model in memory to view its requirement links.

systemcomposer.loadModel("QuadArchPhysical");

Load the requirement sets.

  • Concept of operations

slreq.load("conops");
  • Functional requirements

slreq.load("FunctionalReqs_Quad");
  • Logical requirements

slreq.load("LogicalReqs_Quad");
  • Physical requirements

slreq.load("PhysicalReqs_Quad");

Open the Requirements Editor (Requirements Toolbox).

slreq.editor

Inspect the conops requirement Target Characteristics. The requirements under the Decomposed by list represent the requirements contained in the top-level requirement. The requirement Target Identification under the Derived from list represents requirements derived from the conops requirement.

Requirement sets in the Requirement Editor including con ops, functional requirements, logical requirements, and physical requirements.

To open the quadcopter physical architecture model, run this code.

systemcomposer.openModel("QuadArchPhysical");

Add mask icons to your components by selecting a component and then navigating on the tooltrip to Format > Add Image to Block. Browse for a mask icon from the Tools folder. Click OK.

Manage requirements and architecture together in the Requirements Manager from Requirements Toolbox. Navigate to Apps > Requirements Manager. You are now in the Requirements Perspective in System Composer. In this perspective, you can see which requirements are associated with specific components in the physical architecture.

Quadcopter architecture model with GCS, Comms, Quadcopter, and Green Ball components.

Specify Functional Design Using Stereotypes and Properties

Stereotypes, defined on a profile, include properties to specify metadata on model elements to which stereotypes are applied.

To open the Profile Editor tool, on the System Composer toolstrip, navigate to Modeling > Profile Editor. Alternatively, run this command.

systemcomposer.profile.editor

Profile Editor with quadcopter comms profile and quadcopter physical properties profile. The air vehicle stereotype is highlighted showing many of its properties.

The AirVehicle stereotype applies to components and inherits from the base stereotype HW_Implementation. Each property under the AirVehicle stereotype is specified by a data type defined by Type, and some properties include an engineering unit defined by Unit. You can apply the AirVehicle stereotype to components in the quadcopter physical architecture to elaborate on these components with specific property values. Define these property values for the RPiCam_RadioComms component in the Property Inspector.

The comms component is selected, and the Property Inspector is open and shows the assigned AirVehicle stereotype with property values defined.

Perform Roll-Up Analysis to Calculate Endurance for Quadcopter Design

To open the Instantiate Architecture Model tool, on the System Composer toolstrip, navigate to Modeling > Analysis Model. Select all the stereotypes under the QuadcopterPhysicalProperties profile. Click the open open.png button, then open the analysis function file calculateEndurance.m. Select Bottom-up for Iteration Order. Click Instantiate.

Instantiate architecture model tool showing the selected stereotypes to analyze over, the analysis function, and the instance model name.

In the Analysis Viewer tool, you can use an analysis function to calculate roll-up property values such as BatteryCapacity, PayloadBatteryCapacity, PowerDraw, and TotalMass. The analysis function also calculates the performance characteristics PowerDraw and Endurance. For more information, see Analysis Function Constructs. Click Analyze to view the analysis results highlighted in yellow.

Calculated properties in the Analysis Viewer include battery capacity at 650 and endurance at around 3.82 which is a calculated value.

The Endurance property for this particular configuration is calculated as approximately 3.825 using this equation.

endurance=(batteryCapacity1000)(totalPowervoltage)*60

You can change the variant configuration on the Variant Component blocks, GCS and Quadcopter, then run the analysis function again to calculate Endurance and compare different proposed designs.

References

[1] Faisandier, Alan, and Rick Adcock. “Physical Architecture.” Guide to the Systems Engineering Body of Knowledge (SEBoK) v. 2.7, released October 31, 2022. https://sebokwiki.org/wiki/Physical_Architecture.

See Also

Blocks

Tools

Functions

Related Topics