WOLFRAM SYSTEM MODELER
QuadrotorInterface for the complete quadrotor model 
SystemModel["Aircraft.Physical.RotaryWing.MultiRotor.Quadrotor"]
The Quadrotor model represents the complete drone model, consisting of the QuadrotorBody (representing mass and inertia of the drone), sensors and propulsion system (including DC motor, gear and propeller). It takes input commands from the controller, and the outputs of the model are the translational and rotational position/angle and velocities.
The Quadrotor model declares the primary parameters that significantly influence quadrotor design. This declaration is intended to simplify the process of parameter adjustments, making it easier to modify key aspects of the quadrotor's design.
The propulsion system consists of an electric motor that generates the required torques mounted on each propulsion system inside the QuadrotorBody model, and each one is connected to a gearbox that scales the torques to the propellers. The propeller produces lift force for each propulsive body and the DC motor generates angular rotation. Force and torque signals are introduced in QuadrotorBody and mounted on each corresponding propulsion system.
The inputs to the system consist of the voltages for the four DC motors, and these voltages are determined by the controllers.
Two Sensors from the Modelica standard library has been used for this model. An AbsoluteVelocity (named gpsVel) and an AbsolutePosition (gpsPos) sensor are connected to the frame of the center of the QuadrotorBody. They measure the linear velocity and position of the quadrotor in the Earth's reference frame. Note that negative gain (zVel and zPos) are used to change the direction of the position and velocity in the z direction to be in accordance with the world reference frame of the Aircraft library. All measurements pass to the output translationalM which is a vector of [ x, y, z, u, v, w].
An AbsoluteAngularVelocity sensor is connected to the same frame and models a gyroscope. It records angular velocities in the quadrotor's body reference frame, denoted as p, q and r, and corresponding to rotations around the x, y and z axes. By applying an integrator, the quadrotor's rotational angles, roll, pitch and yaw can be derived. Taking into account the small angle assumption, these angles are equivalent to the Euler angles, φ, θ and ψ. All measurements pass to the output rotationalM which is a vector of [roll, pitch, yaw, p, q, r].
This model contains real inputs for the commanded voltage from the control system, and two real outputs from the translational and rotational sensor measurement, which is used as feedback to the control system. The drone features a frame connector located at its center of mass. This connector enables the attachment of loads for package delivery or the connection of mechanical components, as illustrated in the VerticalMotion example.
centralMass 
Value: 0.38 Type: Mass (kg) Description: Mass of rigid body (bodyCenter.m) (quadrotorBody.centralMass) 

propulsionMass 
Value: 0.01 Type: Mass (kg) Description: Mass of each propulsion system (quadrotorBody.propulsionMass) 
IxxP 
Value: 0.001 Type: Inertia (kg⋅m²) Description: Moment of inertia of each propulsion system around x axis (quadrotorBody.IxxP) 
IyyP 
Value: 0.001 Type: Inertia (kg⋅m²) Description: Moment of inertia of each propulsion system around y axis (quadrotorBody.IyyP) 
IzzP 
Value: 0.001 Type: Inertia (kg⋅m²) Description: Moment of inertia of each propulsion system around z axis (quadrotorBody.IzzP) 
IxxC 
Value: 0.01 Type: Inertia (kg⋅m²) Description: Moment of inertia of the central mass of the quadrotor around x axis (quadrotorBody.IxxC) 
IyyC 
Value: 0.01 Type: Inertia (kg⋅m²) Description: Moment of inertia of the central mass of the quadrotor around y axis (quadrotorBody.IyyC) 
IzzC 
Value: 0.01 Type: Inertia (kg⋅m²) Description: Moment of inertia of the central mass of the quadrotor around z axis (quadrotorBody.IzzC) 
armLength 
Value: 0.192 Type: Real Description: Arm length of the quadrotor (quadrotorBody.armLength) 
propellerGain 
Value: 0.00045 Type: Real Description: Relation between lift force of propeller and rpm (propeller2.p) 
gearRatio 
Value: 28000.0 / 3300.0 Type: Real Description: Transmission ratio (flange_a.phi/flange_b.phi) (idealGear2.ratio) 
motorResistance 
Value: 2.25 Type: Resistance (Ω) Description: Resistance at temperature T_ref (resistor.R) (motor1.resistance) 
motorInductance 
Value: 0.01 Type: Inductance (H) Description: Inductance (inductor.L) (motor1.inductance) 
voltage 
Type: RealInput[4] Description: Vector of the voltage input of the electric motors 


center 
Type: Frame_b Description: Coordinate system fixed to the component with one cutforce and cuttorque (nonfilled rectangular icon) 

translationalM 
Type: RealOutput[6] Description: Measured position of the quadrotor 

rotationalM 
Type: RealOutput[6] Description: Measured angles and angular rates of the quadrotor 
quadrotorBody 
Type: QuadrotorBody Description: 6DOF quadrotor base body 


motor3 
Type: Motor Description: Third electric motor 

motor1 
Type: Motor Description: First electric motor 

motor2 
Type: Motor Description: Second electric motor 

propeller3 
Type: Propeller Description: Third propeller generates force and rotor rotation 

propeller2 
Type: Propeller Description: Second propeller generates force and rotor rotation 

propeller1 
Type: Propeller Description: First propeller generates force and rotor rotation 

idealGear2 
Type: IdealGear Description: Second gear 

idealGear3 
Type: IdealGear Description: Third gear 

idealGear1 
Type: IdealGear Description: First gear 

gpsVel 
Type: AbsoluteVelocity Description: Sensor to measure absolute position of the quadrotor 

gyroscope 
Type: AbsoluteAngularVelocity Description: Sensor measures the angular velocity of the quadrotor 

idealGear4 
Type: IdealGear Description: Fourth gear 

motor4 
Type: Motor Description: Fourth electric motor 

propeller4 
Type: Propeller Description: Fourth propeller generates force and rotor rotation 

angles 
Type: Integrator[3] Description: Output the integral of the input signal with optional reset 

gpsPos 
Type: AbsolutePosition Description: Measure absolute position vector of the origin of a frame connector 

zPos 
Type: Gain Description: Gain converts the height measurement direction 

zVel 
Type: Gain Description: Gain converts the height measurement direction 
Aircraft.Examples Vertical motion of quadrotor system in 3DOF, constrained in z axis 

Aircraft.Examples Circular path tracking by a quadrotor 

Aircraft.Examples Compare the impact of two types of controller structures on the motion of the quadrotor 