Main Content

Calculate Endurance Using Quadcopter Architectural Design

This example shows you how to create the physical architecture 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.

1. Load Simulink® customizations.

sl_refresh_customizations

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

systemcomposer.loadModel("QuadArchPhysical");

3. Open the requirement sets.

  • Concept of operations

  • Functional requirements

  • Logical requirements

  • Physical requirements

slreq.open("conops");
slreq.open("FunctionalReqs_Quad");
slreq.open("LogicalReqs_Quad");
slreq.open("PhysicalReqs_Quad");

4. 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.

requirementsets.png

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

systemcomposer.openModel("QuadArchPhysical");

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.

quad.png

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

QuadcopterProfile.png

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.

stereotypeoncomponent.png

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.png

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.

endur.png

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 and run the analysis function again to calculate Endurance and compare different proposed designs.

See Also

| (Requirements Toolbox) |

Related Topics