Frame selection#

Written by Marc Budinger (INSA Toulouse), Scott Delbecq (ISAE-SUPAERO) and Félix Pollet (ISAE-SUPAERO), Toulouse, France.

Design graph#

The following diagram represents the design graph of the frame selection.

../../_images/DesignGraphs_airframe.svg

Fig. 25 Airframe design graph#

The design graphs for the overall drone system can be found in here.

Sizing code#

import numpy as np

# Specifications
N_arm = 4.0  # [-] Number of arms
N_pro_arm = 1.0  # [-] Number of propellers per arm (1 or 2)

# Reference parameters for scaling laws
sigma_max = (
    280e6 / 4.0
)  # [Pa] Composite max stress (2 reduction for dynamic, 2 reduction for stress concentration)
rho_s = 1700.0  # [kg/m3] Volumic mass of aluminum

# Assumptions
D_pro = 0.3  # [m] Propeller diameter
F_pro_to = 1.0  # [N] Thrust for one propeller during take off

# Design variables
k_D = 0.99  # [-] aspect ratio D_in/D_out for the beam of the frame
# Equations

# Arms selection with propellers size
alpha_sep = 2 * np.pi / N_arm  # [rad] interior angle separation between propellers
L_arm = D_pro / (2.0 * np.sin(alpha_sep / 2.0))  # [m] length of the arm

# Tube diameter & thickness selection with take-off scenario
D_out_arm = (F_pro_to * N_pro_arm * L_arm * 32 / (np.pi * sigma_max * (1 - k_D**4))) ** (
    1 / 3
)  # [m] outer diameter of the arm (hollow cylinder)
D_in_arm = k_D * D_out_arm  # [m] inner diameter of the arm (hollow cylinder)

# Estimation models
M_arms = (
    np.pi / 4 * (D_out_arm**2 - (k_D * D_out_arm) ** 2) * L_arm * rho_s * N_arm
)  # [kg] mass of the arms
M_body = 1.5 * M_arms  # [kg] mass of the body (40% of total mass is the arms)
M_frame = M_body + M_arms  # [kg] total mass of the frame
%whos
Variable    Type       Data/Info
--------------------------------
D_in_arm    float64    0.009126226336644873
D_out_arm   float64    0.009218410441055428
D_pro       float      0.3
F_pro_to    float      1.0
L_arm       float64    0.21213203435596426
M_arms      float64    0.0019158884043039236
M_body      float64    0.0028738326064558853
M_frame     float64    0.004789721010759809
N_arm       float      4.0
N_pro_arm   float      1.0
alpha_sep   float      1.5707963267948966
k_D         float      0.99
np          module     <module 'numpy' from '/op<...>kages/numpy/__init__.py'>
rho_s       float      1700.0
sigma_max   float      70000000.0