1. Introduction
Coaxial quadrotor (coaxial quadcopter, octoquad) is usually defined as a multidimensional control plant, strongly non-linear, highly dynamic (because of the use of eight independent drive units located in pairs on the common cross-frame) and in general with parameters which are non-stationary. In some works, it is called octarotor, though it may be confusing since octarotors have in general a planar mechanical structure. Literature studies in the field of modeling coaxial quadrotors allow one to extract a number of key concepts. The first of them is accompanied by practical (constructional) terms, where the representation of a mathematical model of unmanned aerial vehicle (UAV) is intended to reflect the behaviour of a real quadrotor at the maximum simplification of its physical structure [
1], neglect of certain aspects of aerodynamics—for instance: viscous friction [
2] or drag-like effects [
3]. In many cases, even basic laws of physics are sufficient for control purposes.
On the other side of available modeling concepts appears an approach, where one wishes to obtain a complete model—with possibly complete description of all physical laws that affect the quadrotor [
4]. Thus object can be described using a wide range of mathematical techniques and benefits (e.g., quaternion notation [
5]). This approach is justified and practically necessary, since it permits in a major way in simulation conditions to check aspects difficult to verify on the real UAV (e.g., aggressive maneuvers [
6]) and those that are expensive. It may be noted that in order to seek for a “complete model” one can fall into the endless search for the sources and effects of physical laws that may still be relevant and have not been considered so far in already existing models of multirotor UAVs and coaxial units (analysis of the aerodynamic complexities [
7], ground effect issues [
8], hover/low-speed bare airframe dynamics [
9], blade element momentum theory selected issues [
10]). The passage of time provides new aspects for modeling (hitherto unknown phenomena, analyzed incorrectly or insufficiently precise). The technology development (measurements in wind tunnels [
11], the use of Finite Element Method [
12], new vision systems [
13], parallelization of calculations, etc.) and software development [
14] open new doors and opportunities for further research. Unfortunately, very complex models generate a high demand for computing power, which greatly limits their application in terms of time corresponding to a real coaxial quadrotor flight.
There are naturally also more consensual ways in modeling than the relationship: simple model vs. complex, and developed mathematical models are characterized more by their focused use (e.g., estimation and rejection of dynamic disturbances [
15,
16], payload improvement [
17], multi-layered drift-stabilization [
18]). A distinct center of gravity is placed for example in models developed for the purposes of control algorithms design (e.g., cascaded PD control [
19], gain scheduling-based PID control [
20], adaptive [
21] and hierarchical integrating backstepping control [
22], fault tolerant control [
23], self-tuning fuzzy PID control [
24], LQR control [
25], multi-model control using fuzzy techniques [
26]). Their complexity is lower than of the models used for simulation analysis only. Here the aim is to provide the highest control quality in a coaxial quadrotor, while modeling is limited only to the aspects needed for a potentially applied control algorithm [
27]. Position and attitude control approaches from the last 10 years of UAV research may be found in [
28].
Model simplification entails certain consequences, which however can be minimized through the use of estimation algorithms [
29] to estimate neglected or unmeasurable values and state variables. Therefore, in accordance with the authors’ proposal, it is advantageous to adopt reasoning based on the search for balance between modeling, estimation and the used type of control. To make it easier, a new and relatively complex model is proposed. It is predefined in the designing of control algorithms and can be simplified or expanded with a more comprehensive analysis of the dynamics and electrical aspects [
30].
To articulate contribution of the paper, to the authors’ best knowledge, this is the first journal paper about coaxial quadrotor UAVs that summarizes all necessary details of model (with the proposed important physical aspects) for control purposes in one place. The work presents a step-by-step method for modeling a quadrotor equipped with rotors whose number and location are nonstandard (rotors are in coaxial configuration and displaced in relation to the UAV’s center of gravity). From the idea, through the physical effects to mathematical conventions and formulas, the authors explain the model, tune it and validate it on real data from a coaxial quadrotor. This dynamical model takes into consideration the gyroscopic effect, influence of the Coriolis force, viscous friction and a several drag-like effects (blade flapping, rotor drag, translational drag and profile drag). In contrast to multirotor models available in the literature, this one is characterized by complementarity in relation to the available control techniques. Depending on selection of these techniques, the model can be narrowed (simplified) to meet the needs without the loss of behaviour adequacy to a real UAV.
The article is organized as follows:
Section 2 presents principles of UAV control and the ways of defining quadrotor position and orientation in the 3D space.
Section 3 contains the proposed coaxial quadrotor model. A brief description of the physical phenomena affecting the UAV, is given.
Section 4 presents validation tests with the use of a proposed model of the Falcon V5 robot. Conclusions are provided in
Section 5.
2. Coaxial Quadrotor Control Basics
2.1. Physical Construction of Coaxial Quadrotor
Each coaxial quadrotor is a multirotor UAV equipped with eight propellers. They are placed coaxially on the robot’s frame [
31] (see
Figure 1). This results in an increased payload at the similar mechanical structure compared to classical quadrotor. Thrust and torque are generated by the rotational movement and appropriate geometrical construction of propellers mounted directly on the Brushless Direct Current (BLDC) motor.
The propeller rotates in one direction, which is due to a constant pitch of the blade. Changes of voltages transmitted to the BLDC motor, i.e., Pulse-Width Modulation (PWM) duty cycles from the Electronic Speed Controller (ESC), result in corresponding changes of the rotational speed of the propeller.
Avionics of the UAV is based first and foremost on measurements from the available inertial measurement unit (IMU) containing three gyroscopes and triaxial accelerometer and magnetometer, which are used for the stabilization of the UAV’s position and orientation. More precisely, gyroscopes are used to determine the orientation relative to the base, and accelerometers with magnetometers are used to reset the gyro drift. Gyroscopes provide measurements of the angular velocity in the local coordinate system of the quadrotor, while accelerometers and magnetometers provide measurements of linear acceleration and magnetic induction, with respect to the global coordinate system (—Earth Frame), projected onto the axes of the local coordinate system (—Body Frame).
2.2. Change of the UAV’s Position and Orientation
The coaxial quadrotor can be considered as a flying robot with six degrees of freedom (DOFs). Three degrees are used to describe position, and the next three, orientation (via Euler or so-called Tait–Bryan angles). These angles allow the mathematical description to be converted from
to the
coordinate system. In the modeling process presented in the next chapters, the North–East–Down (NED) configuration of the reference system is used (
Figure 2).
Every change of the UAV’s position
expressed in relation to the beginning of the global coordinate system
, and every change of its orientation (rotations about
Roll,
Pitch and
Yaw angles) measured in the local coordinate system and implemented in relation to the axis of the global coordinate system from
Figure 2, is possible only by changing the rotational speed of appropriate propulsion units (and thus by the change of thrust and torque).
Figure 3 shows how this is accomplished. From the perspective of control, the preferred solution is the architecture from
Figure 4 which is based on a cascade control loop realization of movement and orientation of the UAV.
Thanks to this solution (cascade control structure), the problem of control of a plant with six DOFs becomes simplified to the problem of X, Y, Z position control with automatic conversion of proper orientation and adjustment of rotational speed that will ensure this. Six controllers are used for this purpose.
Note, that an interesting approach to the problem of UAV attitude control in cascade control structure, when there are discrepancies in the characteristics of the 4 actuators (electrical motors and propellers) with the use of cascade control strategy with a PD controller in the inner loop (to achieve stabilization), and PI controller in the outer loop (to ensure disturbance rejection), one may find in [
32]. In [
33], a model of constrained control scheme to steer an UAV to the desired position while ensuring constraints satisfaction at all times (based on the Explicit Reference Governor framework), is presented.
In order to facilitate the tuning of real UAV controllers, mathematical modeling based on physical phenomena affecting the coaxial quadrotor and physical modeling of the robot itself is used. In following sections key aspects necessary to build the models of coaxial quadrotor are shown.
3. The Coaxial Quadrotor Model
The mathematical model of coaxial quadrotor proposed by the authors describes the orientation and position of a robot in the 3D space. The basic formulas are as follows:
where left sides of (
1) and (
2) are angular and linear accelerations respectively. The components of (
1) are input torque (from propellers), gyroscope torque due to the robot’s frame and propulsion units system, as well as aerodynamical effects and friction (
and
). In case of Equation (
2), the elements are similar to the torques (those with the same subscripts), extended with projected gravitational force and Coriolis force (
and
, respectively). The presented model is explained in the further part of the section. It is divided into two basic parts: the position model (relates to positions, linear velocities and accelerations in reference and local Cartesian coordinate systems) and the orientation model (describes angular velocities and angles in
X,
Y and
Z axis).
3.1. Euler Angles
The Formulas (
1) and (
2) describe the relation between the quadrotor state and input forces/torques. These equations are expressed in the local coordinate system. It means that all state variables are directly linked with the UAV. However, in case of control tasks, inertial coordinate systems are used. Thus, one needs to transfer the quadrotor state to the reference system chosen based upon the purposes. Basically, two methods are used: quaternions and Euler angles (or Tait–Bryan angles). A rotation matrix transferring an arbitrary vector from
to
is needed [
34]. In this work, the authors have chosen the flight notation (“3–2–1”), which assumes that the final rotation matrix
is a result of multiplication of three basic rotation matrices, in the following order:
Note that the basic rotation matrix in a given axis transfers a vector from an old coordinate system
to a new one,
(see Remark no. 1 in
Appendix A):
This rule enforces the following rotations matrices forms:
The “3–2–1” assumes that during the rotations, the following steps are performed (
Figure 5):
Rotation Yaw about angle in the z axis of the (global coordinate system),
Rotation Pitch about angle in the y axis of the (new coordinate system),
Rotation Roll about angle in the x axis of the (new local coordinate system), yielding as a product.
Under this assumption, the transformation matrix given in (
3) may be written as:
where
s and
c stands for
and
, respectively.
In case of control tasks, the reverse transformation is needed. The required matrix
transforms any given vector
from
to
, yielding
. Since the
is an orthonormal matrix, it can be written that:
In the notation, Euler (or Tait–Bryan) angles vector
is as follows:
Euler angle vector
from Equation (
16) is used in the paper (in angular velocities derivation) for the definition of the transformation matrices.
3.2. Angular Velocities
Euler’s notation presented in the previous subsections is the base for the mathematical formulas for angular velocities of a coaxial quadrotor. The vector (Euler rates) expresses the projections of the UAV’s angular velocities (written in the ) onto the axes of the . It is an alternative notation to (from gyroscopes one may directly measure the angular velocity ), but to obtain the Euler rates, one must project on axes of the .
The algorithm for the Euler rates calculation has been described in [
35] (for more information see also Remark no. 2 in
Appendix A). The first step is the calculation of the angular velocity
in a local coordinate system
:
A convenient representation of (
11) may be given in a matrix form:
where:
Since an inverse transformation (
) is needed, the
matrix must be derived:
The matrix
is used directly to determine the Euler rates:
Note that in case of multirotor sensory system, the value of is provided from measurements.
3.3. Angular Acceleration
In the derivation it is assumed that the UAV is considered as a perfectly stiff object in the 3D space. That allows the description of the angular acceleration of the UAV to use the basic Euler equation for the motion of a rigid body ([
34], p. 168), and in general form one can write that:
where angular momentum
for a rigid body is
Based on the constancy of the inertia moments and by substituting (
17) to (
16), one obtain the torque equation:
Using (
18), the angular acceleration is written as:
Equation (
29), however, due to the gyroscopic effect, viscous friction and several drag-like effects, must be extended (described in the following subsections) to the complete form presented in subsection Equation (
1).
3.3.1. Input Torques
The forces generated by the propellers can be written as
where
and
are the force and thrust factor of the
i-th propulsion unit, respectively.
The input torque vector
is a sum of torques (
) due to subsequent propellers. A particular
i-th torque defined as a cross-product of the
i-th propeller position (
) in respect to the
(
22) and the
i-th force (
20) can be calculated as
where
=
and
l-arm’s length in the UAV cross-frame,
h-distance between the arm and propeller’s plane in respect to the
Z axis of
.
Equation (
21) covers the torques generated in the
X and
Y axes in
, while the
Z axis will also suffer from the reaction torques, given in (
23):
In Equation (
23), the parameters
refer to the reaction torque gains. Two of them are introduced, which stems from the opposite type of propellers system. Propellers 1, 4, 5, 8 rotate clockwise (CW) and propellers 2, 3, 6, 7 rotate counterclockwise (CCW) (
Figure 6). Note that CW rotation contributes to counterwise reaction torque.
3.3.2. Gyroscopic Effect
The gyroscopic effect is described by the basic equation of the gyroscope:
where:
—rotors–propellers angular momentum vector,
—angular velocity precession vector.
Each object with a spinning mass is subjected to a gyroscopic precession motion effect, so it can be written that
Similarly to the angular momentum of the robot frame, given in Equation (
17) the angular momentum of the propulsion unit can be expressed as follows:
In Equation (
27),
scalar denotes simplified motor–propeller inertia, while
refers to the sum of the rotors’ angular velocities (in the
Z-axis). The angular momentum vector (
27) is obtained by multiplying the moment of inertia (
) by the rotor’s angular velocity about the axis where the rotation occurs (
):
The rotor angular velocity vector (
) contains zeros for the components in the axes
X,
Y and the sum of the rotors angular velocities
(where
i varies in the range of
) in the
Z axis. Knowing
and
, Equation (
25) can be rewritten as follows:
3.3.3. Viscous Friction
According to [
36], friction model for air flows has to include viscous friction. In a standard form, with respect to the UAV’s angular velocity, viscous friction can be expressed as (
30):
3.3.4. Drag-Like Effects
As it may be found in [
37], there are a number of drag-like effects: blade flapping, rotor drag, translational drag, profile drag and parasitic drag (which may be ignored for speeds up to 10
[
37]).
The blade flapping effect is especially noticeable on multirotor UAVs, when its rotors undergoes translational motion. This effect is seen on the rotor’s tip path plane which deviates by an angle called as flapping angle
. More information about the flapping effect can be found, among others in [
38], and further in the article, the final form of the equation for the
i-th rotor is introduced:
where
is horizontal velocity in
, and
,
are lumped parameter matrices defined as:
where
r—rotor radius,
and
are positive scalar constants that depend on the geometry of the rotor blades (see Equation (4.45) and Equation (4.47) in [
39]). In practice agile coaxial quadrotors require stiff rotors in order that rotation in the airframe is directly translated into rotation in the thrust vector. That is to reduce the magnitude of
[
40]. Note that parameters:
,
,
,
needs to be identified from flight tests [
38]. In the paper [
29], the authors provided example of the identification of matrix parameters using the Particle Swarm Optimization method for a typical quadrotor attached on a special testbed that allows to record measurement data for the used propulsion units with propellers, on which drag-like effects were analyzed.
The second important drag-like effect is so-called rotor drag, which usually occurs in small multirotor UAV, where its rigid or semirigid rotor blades causes an inbalance in flapping forces. Mathematically it is modeled as:
where
is a scalar parameter and
-planar velocity.
Another effect depends on speed in the air and is called translational drag. It is observed when the air is redirected from any translational movement to the downward of
. During slow movements (according with [
37]), this effect can be modelled via following equation:
Considering fast maneuvers, one needs to add the air velocity
induced by the
i-th rotor:
where
,
are scalar parameters, and
is translational the speed in
z axis.
There are two more important drag-like effects: parasitic drag and profile drag (
37). The first one comes from nonlifting surfaces of the multirotor UAV only for high speeds (>10
). Therefore one can ignore it in the case considered in this paper [
37] and applied in to the model just the profile drag. This drag effect is gained with the transverse velocity of the rotor blades in the air and can be formalized as:
where
is a lumped parameter.
After considering all of the above-mentioned drag effects, the total drag effect force acting on the
i-th rotor is:
and the torques corresponding to them, for the
i-th rotor are:
The net torque is the sum of all , where and .
3.3.5. Orientation Model—Angular Acceleration
The final form of upgraded Euler’s equation given as (
1) is:
In (
40), the resulting quantity is the angular acceleration, so after simple algebra it may be written that:
Analysis of previous and present sections sugests that using measurements of angular accelerations from gyroscopes (to retrieve the UAV’s orientation in
), one needs to integrate angular acceleration and after that, transform obtained result into the Euler rates (
15). Note that Euler (or Tait–Bryan) angles are given by the second integration of the Euler rates.
3.4. Linear Acceleration
The basic equation for linear acceleration includes the sum of forces acting on a body with a certain mass, which stems from Newton’s law. Since the UAV can rotate and translate in 3D, the dynamics of both of these types of motion has to be captured. There are several types of forces explained below. All of them act directly on the UAV in .
3.4.1. Thrust Force
Thrust force or simply input force is the sum of all forces generated by the propulsion units. If the force of the
i-th rotor is given as
:
then the total thrust force vector
is as follows:
Note that is the thrust coefficient of the i-th propeller. These parameters may change according to the spatial location of the propellers (especially in coaxial multirotors), and what is more, they can differentiate the type of flight, for example the ground effect can be reflected in a proper change of .
3.4.2. Gravitational Force
The force of gravity is normally provided in
. Since the NED is chosen as the configuration of
, the gravity force is as follows:
In
, a projection of
is used:
3.4.3. Coriolis Force
The Coriolis force is a pseudo force, which occurs only in the local coordinate system:
3.4.4. Drag Forces
Drag forces are due to aerodynamic effects, explained in the previous subsection. The
is a sum of all drag-like effects of all propulsion units:
3.4.5. Friction in Linear Motion
The friction force
is results from the viscous drag:
3.4.6. Linear Motion Model—Linear Acceleration
The overall model of linear motion is given by (
49). Note that the left side of the equation is a linear acceleration in the local coordinate system, i.e.,
.
It is important to mention that the presented mathematical model is still just a simplification, which means that in general, the main sources of potential uncertainties and disturbances need to be considered, analyzed and remembered in its application for control purposes. The main source of disturbances is the flapping effect, while the key role in the model uncertainty is played by thrust coefficients which change in time, and dynamic states due to air stream coupling between coaxial propellers. The impact and scale of uncertainty, as well as unmeasured (stochastic) disturbances have been assessed in experiments on data from a real robot (
Section 5, Experiment no. 3).
5. Summary
It is said that modeling is the key to a better understanding of the world around us. The more difficult and more complex behavioral aspect is analyzed, the more complex mathematical-physical formulas accompan its description.
From the perspective of efficient control algorithms design, it is necessary to build models that are flexible enough to be compared to one another and to be simplified according to predefined requirements. The model of coaxial quadrotor proposed in this paper fulfills this task as it can be used effectively both to analyze the orientation of the robot in the 3D space and to verify the quality of the estimation algorithms [
31], as well as for control design.
The obtained results allowed the authors to plan further research—specifically, on increase of the universality of coaxial quadrotor model. These studies include modeling of the dynamics of drive units mounted in pairs (so far approximated in tests by simple, linear, inertial mathematical models) and research on the effects of aerodynamic behaviour of UAVs during the flight by use of such a solution. Initial trials and results are presented in [
41].
The second equally interesting, priority direction of research already begun by the authors is a quantitative investigation the role of small aerodynamic effects (usually neglected are known to be small) on controllers (especially relying only on basic inertial measurements).