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

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

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.

### 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 ```

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.

### 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 button, then open the analysis function file `calculateEndurance.m`. Select `Bottom-up` for Iteration Order. Click Instantiate.

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.

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

`$endurance=\frac{\left(\frac{batteryCapacity}{1000}\right)}{\left(\frac{totalPower}{voltage}\right)}*60$`

You can change the variant configuration and run the analysis function again to calculate `Endurance` and compare different proposed designs.