Recently, unmanned aerial vehicle (UAV) garners the attention of many researchers working in different application domains such as search and rescue, delivering, and crowdsourcing [10, 11]. UAVs or drones have been developed in many areas, including robotic research, control, path planning, communication, etc. [14, 16, 6]
. Attention to increasing the usability of drones in many commercial/civil applications inspires researchers to make this dynamic system better controllable. In particular, quadcopters are popular drones due to their performance in terms of vertical take-off and landing, simple and stable structure. However, their instability, unstable dynamics, non-linearity, and cross-coupling make this system an interesting under-actuated system. Generally, a quadcopter has six degrees of freedom, although four rotors should control all directions. This causes the cross-coupling between rotation and translational motions. Therefore, the nonlinear dynamics need to be managed by the controller.
Over recent years, various control algorithms have been developed to deal with the non-linearity of the quadrotor. For example, command-filtered Proportional-Derivative (PD)/ Proportional-Integral-Derivative (PID) control , integral predictive control  and optimal control [18, 24] have been applied. The Sliding Mode Control (SMC) is another common control algorithm that is used to achieve greater performance in terms of stability due to the influence of modeling errors and external disturbances [6, 20, 2]. Note that the chattering effect in the SMC arises in the steady state, where it simulates unmodeled frequencies of the system dynamics.
Of these controllers, PID is preferred due to its simplicity, although it leads to wide overshoot and large settling time . Thus, adding a new derivative term (i.e., zero) can decrease the size of the overshoot . This can support better controllability. In addition, this derivative term improves the response in terms of speed and smoothness where limiting overshoot and settling time in an acceptable bound are considered.
Adapting deep learning-based image understanding techniques and the controller opens advancements in drone applications because it improves the capability for autonomous flight without global positioning. Object and depth detection can provide fast, reliable, and integrated information, which is required to reach a target. In this study, the target is a human face, where object detection techniques such as hybrid RentinaNet ant colony detection [25, 12] are utilized to recognize the target. To reach the target, depth detention techniques, like PSMNet 
are applied to estimate the relative distance to the target.
In this paper, the proposed accelerated PID controller with a derivative filter aims to make an unstable drone/quadcopter track the desired reference with the proper stability. Deep learning and optimization-based image understanding techniques, like object and depth detection, are utilized to make an autonomous drone fly inside buildings and consider uncertainties. The image understanding techniques provide information about a target, such as measuring the relative distance to the recognized target and following a particular threshold. This information is processed to prepare it for the guidance module, which is followed by the control discipline. Thus, the control tracks the desired input, which is generated by the guidance law.
Consequently, the mathematical model of the dynamic system is provided and considers non-linearity, instability, cross-coupling among different modes (i.e., pitch, roll, and yaw), and the uncertain environment. The controller parameters are tuned using the Stochastic Dual Simplex Algorithm (SDSA) optimization algorithm , which improves the trade-off between exploration and exploitation to achieve better optimal parameters for the proposed controller.
This paper is organized as follows. Section II describes the mathematical model of the dynamic system.The proposed controller is explained and introduced in Section III. Stability analysis is presented in Section IV and SDSA is briefly explained in Section V. Guidance law is then introduced in Section VI and deep learning-based image understanding techniques are introduced in Section VII. The numerical results and discussion are presented in Section VIII. Finally, this paper ends with a conclusion.
Ii Dynamic Model
The mathematical model of a system can be used as the first step to study its performance. In this regard, the quadcopter studied in this research is modeled in Fig. 1, considering earth-centered inertia (ECI) and body frame. Thus, and are defined as transformational motions from inertia frame to body frame due to having an accurate dynamic model.
The attitude of the quadcopter is formulated based on the Eular angles roll, pitch, and yaw, which are rotated from the x-axis, y-axis and z-axis, respectively. Thus, the Eular angles are , and the angular velocity in the body frame is . In this sense, the angular velocity in inertia () is formulated as follows:
Total torques are caused by three segments: thrust forces (), body gyroscopic torque () and aerodynamic friction (
). In addition, each component of the torque vector (), corresponding to a rotation in the roll, pitch, and yaw axis, can be determined by Eqs (2)(4):
where l is the distance between the center of motor and the center of mass, and c is the force to torque coefficient. As assumed, the quadcopter is a rigid body and symmetrical dynamics apply, from which the torque can be calculated by following equation:
where l is the distance between the center of motor to center of mass, and c is the force to torque coefficient. As assumed, the quadcopter is a rigid body and symmetrical dynamics, from which the following equation can calculate the torque:
In this system, the main control inputs are correlated to the torque () caused by thrust forces, body gyroscopic effects, propeller gyroscopic effects and aerodynamic friction. Gyroscopic effects and aerodynamic friction are considered external disturbances for the control. Thus, control inputs are determined as Eq (7).
where is the lift force and corresponds to the total thrust acting on the four propellers, where , and represent the roll, pitch, and yaw, respectively. The drone’s altitude can be controlled by lift force (), which is equal to quadcopter weight. The dynamic equations of the quadcopter are formulated based on the Newton-Euler method . The six degree of freedom (6-DOF) motion equations are stated by Eqs (8)(13).
where is the angular acceleration disturbance corresponded to propeller angular speed, and these acceleration disturbances are modeled by Eq (14).
where is the overall residual propeller angular speed, and is the angular velocity of each rotor.
is the rotor moment of inertia around the axis of rotation. Hence, the dynamics equations of the system can be summarized as follows:
where and are the states and measurable outputs, respectively. is the control and is the disturbance. , , , and are the nonlinear functions regarding dynamic equations of the system.
The control design is considered to minimize the error for tracking the desired command (see Eq (16)).
where is the difference between reference inputs and the system’s measurable outputs and is the small positive value.
Iii Proposed PIDA Controller
The PID control is used in many engineering applications because of its simplicity. Note that PID cannot function well when wide overshoot and large settling time occur in the system. This issue can be addressed by a modifying the PID controller by adding an additional zero known as PIDA. It is employed to achieve a faster and smoother response for higher-order systems and retains both overshoot and settling time within an acceptable limit. Additionally, the proposed linear control is able to control the nonlinear system. In this approach, the dynamic airframe is linearized about the equilibrium point. The linearization of the model is given by Eq (17).
where and are the Jacobian transformation of the nonlinear model about the equilibrium point (). Note that the equilibrium point can be calculated by solving . Any solution can be the equilibrium point because of null space if is equal to zero.
In this regard, a Multi-Input Multi-Output (MIMO) control system design follows the desire command in altitude and attitude channels. A MIMO tracking controller can not only stabilize the system, but also make it follow a reference input. Thus, the linear system is given as follows:
where is the outputs that follow the reference inputs and is the angular disturbance. In this approach, the integral state is defined as follows:
According to Eq (19), the new state space of the system is formulated in Eq (20). It is obvious that the system can follow the reference inputs if the designed controller proves the stability of the system.
is a zero matrix.
Regarding the acceleration disturbance in the system, the general form of the proposed controller in the time series is given in Eq (21).
where , , , and are the gain of the proposed controller. Then, the MIMO controller is generated by:
As seen in Eq (22
), the derivative term is not efficient in a high-frequency domain. This term can affect the performance of the whole system in a noisy environment. Adding derivative filter is proposed to address this issue and thus, the proposed control is modeled as follows:
where is the optimal derivative filter which is formulated as follows:
where and are the order of the filter and time constant, respectively. Based on Eq (24), the transfer function of optimal derivative filter can be simplified as follows:
where is the time constant of the optimal derivative filter. Hence, the controller and filter’s parameters can be found by SDSA to minimize the objective function given by Eq (26).
where is the desired maximum overshoot, which is set to percent; , the desired settling time for the system, is . and are the overshoot and settling time for each set of designed controllers. Before the simulation result is presented, the stability analysis of the system is introduced in Section IV.
Iv Stability Analysis of the Proposed PIDA
In this section, the stability of a system considering the proposed controller is investigated. The following definitions are needed.
“Asymptotically stable” is a system around its equilibrium point if it meets the following conditions:
Given any , such that if , then ,
such that if , then as
is a positive definite function if and only if all the eigenvalues of
is a positive definite function if and only if all the eigenvalues ofare positive.
is symmetric, it can be diagonalized by an orthogonal matrix sowith and diagonal. Then, if ,
A matrix is a positive definite if it satisfies .
Therefore, any positive definite matrix follows the inequality in Eq (29).
() is a positive definite function as a candidate Lyapunov function if () has derivative, and it is negative semi-definite function.
If the candidate Lyapunov function (i.e., ) exists for the dynamic system, there is a stable equilibrium point.
According to Theorem 2 and the dynamic system model, the system in the form of Lyapunov function is as follows:
where the new notation (see Eq (31)) is introduced to simplify the calculation. It is noted that is a symmetric matrix. According to Definition 3, is a Lyapunov function if is positive definite (i.e., ). Thus, there is a stable equilibrium point which shows the stability of the system around the equilibrium (see Theorem 2).
The relationship between and shows that the solution of Eq (31), called a Lyapunov equation, proves the stability of the system for picking if is a positive definite solution. Thus, there is a unique positive definite solution if all the eigenvalues of are in the left half-plane. A noisy environment causes the movement of eigenvalues to the right half-plane. Therefore, the system dynamics can intensify instability. This issue raises the cross-coupling among different modes such as roll, pitch, and yaw rate, which are caused by the four rotors. Thus, the derivative term of the proposed controller plays an essential role in maintaining stability. The numerical results show that all eigenvalues of the quadcopter with considering the proposed controller with uncertainties in the environment are in the left half-plane, which proves that the dynamic system is stable with uncertainties.
V Stochastic Dual Simplex Algorithm
The heuristic optimization algorithm (i.e., SDSA) is used to find the best tuned parameters for the proposed controller. SDSA is a new version of the Nelder-Mead simplex algorithm, executing three different operators, such as reflection, expansion, and contraction. These operators reshape the dual simplex and move it toward the maximum-likelihood regions of the promising area. Each simplex follows the standard rules of simplex, from which the transformed vertices of the general simplex approach are formulated, as in Eqs (32)-(34).
where , , and are reflection, expansion, and contraction coefficients, respectively. During these transformations, the centroid of all vertices excluding the worst point () is .
In addition to the movement of dual simplex, a new definition of reflection points is applied to improve the diversity and decrease the probability of a local minimum. Therefore, during thei
-th iteration, the worst vertices of simplexes in the search space are replaced by normal distribution directions, which are modeled in Eq (35).
where is the new reflected point computed by the worst point of each simplex (), and is the normal distribution of the sampled solution in i-th iteration and
-th simplex. The centroid of all simplexes and the probability density function of the normally distributed simplexes are then expressed in Eq (36) and Eq (37).
where and are the number of simplexes and covariance matrix of simplexes, respectively.
Reflection makes an action regarding reflect the worst point, called high, over the centroid . In this approach, simplex operators utilize the expansion operation to expand the simplex in the reflection direction if the reflected point is better than other spots. Nevertheless, the reflection output is at least better than the worst; the algorithm repeats the reflection operation with the new worst point [22, 17]. The contraction is another operation that contracts the simplex, while the worst point has the same value as the reflected point. The SDSA pseudo-code is presented in Algorithm 1, and the tuned parameters of SDSA, chosen based on , are listed in Table I.
Vi Guidance Law
Guidance law is a process to generate commands for a pursuer to track its target. An interesting guidance law is proportional navigation (PN) which considers the rotation rate of line of sight (LOS) . The general concept of PN is to vary the lateral acceleration of the pursuer in proportion with the rotation rate of LOS. In this study, pure proportional navigation (PPN) guidance law is applied to the quadcopter for tracking and reaching the target. In PPN, the desired acceleration command (proportional to LOS turning rate) is applied normal to the velocity vector of the pursuer. Therefore, PPN is modeled as follows:
where is the constant number, named navigation constant (). , , and are the angular velocity of LOS, pursuer velocity (drone velocity), and the target velocity, respectively. The angular velocity of LOS is formulated in Eq (39).
where is the relative distance between the pursuer and the target. is estimated by image depth detection. In this study, the drone is simulated to fly inside the indoor environment of a building, where positioning systems such GPS are unable to operate. In this regard, object tracking and depth detection are employed to estimate the relative distance between the drone and target. The target is set as a building mockett, considering the safe distance from the target. The following section explains the object and depth detection approaches.
Vii Deep Learning Based Image Understanding
This section proposes a framework to adapt deep learning-based image understanding techniques using object and depth detection for generating and translating the target to the drone. Object and depth detection play an important role in autonomous drones without positioning systems. Note that the indoor environment is furnished with many objects and a particular object (a building mockett) is considered a target for the drone to reach.
Object detection is an indispensable aspect of positioning in autonomous drone flight inside a building because it is the target point to obtain the relative distance estimation (). While the relative distance is estimated through depth detection, the guidance law (PPN) is used to issue such a command to the controller to track the target. In this study, RetinaNet ant colony detection  is applied in the detection module of the proposed autonomous system.
Ant Colony Detection (ACD) 
utilizes a novel multi-region feature selection method that defines histogram values of basic areas and random areas (MRH), and is combined with Continuous Ant Colony Filter (CACF) as a heuristic filter[13, 23] detection to represent the original target. In this paper, the ant colony detection is combined with the popular one-stage RetinaNet 
using five modification steps. First, classification and regression are applied for detection. Second, the intersection over union (IoU) loss function is used for regression. Third, reconsideration is augmented regarding data-anchor-sampling for training. Forth, there is a robust classification utilizing the max-out operation and fifth, the multi-scale testing strategy is applied for inference. Consequently, the proposed method achieved efficient performance in the recognition of the target. The RetinaNet ant colony detection’s architecture is presented in Fig.2.
The proposed method uses a RentinaNet  object detector baseline considering the particular focal loss function to address extreme class imbalance encountered during training. The focal loss function is formulated in Eq (40 and 41).
where defines the ground-truth class, is the model’s estimated probability for the class labeled , and and are the balanced and focusing parameters, respectively.
The object detection component includes the classification and regression sub-tasks. For the regression task, the UnitBox  is applied to minimize the differences between the predictions and ground-truth through IoU, rather than using the smooth  as the common loss function for the regression. Thus, the IoU regression loss function is modeled in Eq (42).
where and are the predicted and the ground-truth bounding boxes, respectively. Consequently, IoU calculates the similarity between the truth and predicted bounding boxes. The minimization of this similarity improves algorithm performance in the regression sub-task.
In addition to the regression loss function, two-step classification (STC) and selective two-step regression (STR) are employed in the selective refinement network . In this regard, STC and STR conduct a two-step classification on three low-level detection layers and two-step regression on three high-level detection layers, respectively. These loss functions are formulated in Eq (43)(44).
where , /, and / are the anchor index, first/second step of predicted classification and regression, respectively, and / are the class/location ground-truth. The number of positive anchors is / for first/second step, and and are the collection of classification/regression samples for the first and second steps. is also the sigmoid focal loss function, which is formulated in Eq (40).
To perform the depth detection, information on the object is needed. RetinaNet ant colony detection conducts target recognition. For depth detection, the stereo images are used to determine the distance from the camera, which can be installed in the drone’s center of gravity. In this regard, PSMNet is utilized to provide depth estimation from a stereo pair of images . PSMNet utilizes global information in stereo matching using spatial pyramid pooling [8, 26] and dilated convolution . The architecture of PSMNet is illustrated in Fig. 3.
Several left-right images are utilized by a stereo disparity estimation algorithm, from which they are captured by two cameras with a horizontal offset (i.e., baseline ()). The output of disparity estimation () is the same as either the left or right images. Generally, the depth estimation algorithm uses the left image as a reference and records in Y; thereby, the horizontal disparity is applied to the right image for each pixel. Together with the horizontal focal length of the left camera, the depth map is derived as follows:
Thus, the 3D location of each pixel of the target, which can be used to calculate the relative distance between drone and target, is formulated as below:
where is the pixel location corresponding to the camera center and is the vertical focal length. Thus, the extrinsic parameters of simulated cameras with offset can be visualized in Fig. 4.
The guidance module is needed to utilize object and depth detection. The proposed independent drone uses the image as an input for autonomous flying. In this regard, the image as input passes through the object detection to provide the object information for the depth detection modules. Depth detection estimates the relative distance from the target. Further, the guidance law (PPN) generates the commands for the drone to reach the target by applying the proposed PIDA controller. Finally, the controller takes action on flight dynamics. The general flowchart of the proposed system is presented in Fig. 5.
Viii Numerical Results
The numerical simulation is implemented to evaluate the performance of the proposed architecture in autonomous flight, considering image processing techniques and the controller. The model quadcopter was simulated in MATLAB R2018b in a Simulink environment on Windows 10 with an Intel(R) Core(TM)i7-6700 CPU @ 3.4 Hz. The quadcopter parameters are listed in Table II.
|Force to torque coefficient||kg|
|Body moment of inertia along x-axis||kg|
|Body moment of inertia along y-axis||kg|
|Body moment of inertia along z-axis||kg|
|Motor moment of inertia||kg|
To begin the simulation and tune the hyper-parameters, the initial state is introduced to identify the best optimal parameters. In this study, it is assumed that the initial altitude and velocity are -50 and
, respectively. A disturbance is applied to the quadcopter and is modeled as white noise (mean value (
) is zero and standard deviation () is one) at time in the roll channel. This disturbance destabilizes the system and locates the eigenvalues of in the right half-plane (see Fig. 7 and Fig. 7). Additionally, the quadrotor is highly sensitive to the noisy environment because of instability and cross-coupling. In this regard, PIDA with derivative filter, which obviates the noise from the measurement inputs, is designed to respond to this issue and keep the flight stable. Note that the hyper-parameters of the proposed system are tuned according to the model.
According to the proposed PIDA with a derivative filter, tracking desire inputs, which can be defined as commands to the quadcopter, are another issue that can be addressed by a MIMO controller (i.e., four inputs and four outputs). The proposed controller can be set by four gains and the time constant for each mode/channel. The controllers’ parameters are tuned using SDSA , convergence graph of which is shown in Fig. 8. The SDSA is applied to the objective function introduced in Eq (26). Table III lists the outputs of the heuristic optimization algorithm as the best fit set of parameters for different modes/channels.
The complex commands that enable coupling among different modes of the modeled quadcopter are used to evaluate the performance of the designed controller. New command angles are provided by a step function with delay time in the simulation environment, where , , and with altitude starting from and stabling at . Note that noisy measurements have been considered for this simulation, and are modeled as white noise. As the simulation results demonstrate, the noise cannot affect the performance of the quadcopter. Figures 9–11 show that the proposed controller can properly respond to and track the reference commands in the noisy environment.
Table III shows the optimal parameters that are tuned by SDSA. From the experiments, a scenario is defined to evaluate the workflow of the system: a target is a stationary person located at in an ECI frame that is considered a local frame. The drone is simulated in an indoor environment with the initial position at . A mission is used to instruct the drone to reach the target by maintaining the safe distance (i.e., is considered a suitable threshold from the object). Thus, RetinaNet ant colony detection and PSMNet recognize the relative distance to the target via the camera and the command is readily enacted. For example, the object and depth detection of the target in four different sampling times are shown in Fig. 12.
Simultaneously, the relative distance calculated by the image processing module is utilized by the guidance discipline and followed by control and flight dynamics systems. The simulation results show that the proposed system is adept at tracking the target in consideration of the noisy environment. The control responses and trajectory of the drone are illustrated in Fig. 1316. As shown, the controller is tracking the desire input generated by the guidance law over time. It is noted that the drone arrives at the target point after , at the same height () as that of the target (i.e., ). Further, the drone stays in its position to meet the safe threshold requirement (i.e., safe distance ). Fig. 13 and Fig. 14 demonstrate that the quadcopter moves smoothly to touch the target because angular velocity fluctuates minimally around zero, and the Euler angles converge on zero to maintain both the height and safe distance to stabilize and approach around (see Fig. 15).
This paper has proposed a new workflow to use images as inputs for the controller to achieve autonomous flight while considering the noisy indoor environment and uncertainties. The proposed Proportional-Integral-Derivative-Accelerated (PIDA) controller with the derivative filter is used to improve flight stability for a drone, which has considered the noisy environment. The paper has also proposed a platform to adapt deep learning-based object and depth detection techniques to fly the drone autonomously in the indoor environment surrounded by uncertainties. The mathematical model considering non-linearity, uncertainties, and coupling was derived from an accurate model with a high level of fidelity.The simulation results show that image processing techniques (RetinaNet ant colony detection and PSMNet) and the proposed PIDA controller tuned by tochastic Dual Simplex Algorithm (SDSA) are able to track the desired point in the presence of disturbances.
-  (2005) PID control system analysis, design, and technology. IEEE transactions on control systems technology 13 (4), pp. 559–576. Cited by: §I.
-  (2007) Control of a quadrotor vehicle using sliding mode disturbance observer. In 2007 American Control Conference, pp. 5230–5235. Cited by: §I.
-  (2018) Pyramid stereo matching network. In , pp. 5410–5418. Cited by: §I, §VII.
-  (2017) Deeplab: semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. IEEE transactions on pattern analysis and machine intelligence 40 (4), pp. 834–848. Cited by: §VII.
Selective refinement network for high performance face detection.
Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 33, pp. 8231–8238. Cited by: §VII.
-  (2012) Super twisting control algorithm for the attitude tracking of a four rotors uav. Journal of the Franklin Institute 349 (2), pp. 685–699. Cited by: §I, §I.
-  (2015) Fast r-cnn. In Proceedings of the IEEE international conference on computer vision, pp. 1440–1448. Cited by: §VII.
-  (2015) Spatial pyramid pooling in deep convolutional networks for visual recognition. IEEE transactions on pattern analysis and machine intelligence 37 (9), pp. 1904–1916. Cited by: §VII.
-  (1996) Analytic pida controller design technique for a third order system. In Proceedings of 35th IEEE Conference on Decision and Control, Vol. 3, pp. 2513–2518. Cited by: §I.
-  (2019) Adaptive nonlinear tracking control algorithm for quadcopter applications. IEEE Transactions on Aerospace and Electronic Systems. Cited by: §I.
-  (2012) Dawn of drone ecology: low-cost autonomous aerial vehicles for conservation. Tropical Conservation Science 5 (2), pp. 121–132. Cited by: §I.
-  (2017) Focal loss for dense object detection. In Proceedings of the IEEE international conference on computer vision, pp. 2980–2988. Cited by: §I, §VII, §VII, §VII.
-  (2016) Simplex filter: a novel heuristic filter for nonlinear systems state estimation. Applied Soft Computing 49, pp. 474–484. Cited by: §VII.
Enhanced discrete particle swarm optimization path planning for uav vision-based surface inspection. Automation in Construction 81, pp. 25–33. Cited by: §I.
-  (2010) An integral predictive/nonlinear h∞ control structure for a quadrotor helicopter. Automatica 46 (1), pp. 29–39. Cited by: §I.
-  (2016) Adaptive super twisting controller for a quadrotor uav. In 2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 2971–2977. Cited by: §I.
-  (2009) Engineering optimization: theory and practice. John Wiley & Sons. Cited by: §V, §V.
-  (2011) Quadrocopter performance benchmarking using optimal control. In 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 5179–5186. Cited by: §I.
-  (2004) Missile guidance and control systems. Springer Science & Business Media. Cited by: §VI.
-  (2006) Sliding mode control of a quadrotor helicopter. In Proceedings of the 45th IEEE Conference on Decision and Control, pp. 4957–4962. Cited by: §I.
-  (2016) Unitbox: an advanced object detection network. In Proceedings of the 24th ACM international conference on Multimedia, pp. 516–520. Cited by: §VII.
-  (2019) Stochastic dual simplex algorithm: a novel heuristic optimization algorithm. IEEE Transactions on Cybernetics (), pp. 1–10. External Links: Cited by: §I, §V, §VIII.
State estimation of nonlinear dynamic system using novel heuristic filter based on genetic algorithm. Soft Computing 23 (14), pp. 5559–5570. Cited by: §VII.
-  (2018) Multidisciplinary design of a guided flying vehicle using simplex nondominated sorting genetic algorithm ii. Structural and Multidisciplinary Optimization 57 (2), pp. 705–720. Cited by: §I.
-  (2017) A novel ant colony detection using multi-region histogram for object tracking. In International Conference on Neural Information Processing, pp. 25–33. Cited by: §I, §VII.
-  (2017) Pyramid scene parsing network. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 2881–2890. Cited by: §VII.
-  (2007) Modeling and simulation of aerospace vehicle dynamics. American Institute of Aeronautics and Astronautics. Cited by: §II.
-  (2010) Trajectory tracking control design with command-filtered compensation for a quadrotor. IET control theory & applications 4 (11), pp. 2343–2355. Cited by: §I.