Abstract
Multicopters are well suited for executing fast maneuvers with high velocity, but they are still affected by the external atmospheric environment because attitude and position cannot be independently controlled. In this paper, we present a novel hexacopter which improves the wind resistance and strong coupling between attitude control and position control. The copter is designed such that the rotor sections can tilt around their respective arm axes. We present the aerodynamic methods to analyze the system dynamics model in windy environments. The entire system is decomposed into six loops based on the model, and the presented flight controller uses the ADRC method to consider both the attitude and the position. The controller introduces the extended state observer to estimate the white noise and wind disturbance. We use the nonlinear state error feedback law to control the output with disturbance compensation. Finally, we linearize the control allocation matrix that the controllers output directly mapped to the rotor velocities and tilting angles. The new theoretical results are thoroughly validated through comparative experiments.
1. Introduction
In recent years, multicopters had proven to execute aggressive maneuvers [1]. The copter is an underactuated system that can move independently in six directions [2]. Because the control inputs are less than the motion directions, the generated driving force is in the same direction as the body frame and the strong coupling between the torque and the force, so the six degree-of-freedom omnidirectional motion cannot be realized [3]. However, to the multicopter controller, only the height and attitude are usually independently controllable, and it is challenging to meet the applications that require independent control of the position and attitude [4] such as a fixed-point hover while doing attitude tracking or maintaining attitude while doing position tracking [5, 6].
In [7, 8], a reconstruction scheme of a six-rotor aircraft was shown; changing the mounting angle of the rotor, the rotors were arranged in pairs in three different planes, constituting a Euclidean space. The rotor installation angle was changed in the two schemes that the rotor thrust had components in the Z-axis and the X-Y plane of body frames. Thus, the copter can generate control and control torque in any direction for the independent position and attitude control [9]. However, since the thrust direction is fixed in the body frame, there is still horizontal thrust cancellation in equilibrium gravity, which reduces flight efficiency [10, 11].
The addition of a tiltable rotor to a multicopter also enabled independent control of the position and attitude, solving the fixed thrust in the body frame and improving the flight performance [12]. In [13], a design scheme for tilting quadrotors was proposed; simulation and actual experiments verify the design effectiveness of the copter [14]. A model-based tilting multirotor nonlinear inverse dynamics control scheme was reported in [15]. In [12], the proportional-integral-derivative (PID) control method implements a linearized control allocation method.
The tilting multicopter is an aircraft with a rotor that can tilt around its arm axis, featuring strong coupling, uncertainty, and nonlinearity [16]. The tilting multicopter has internal disturbances and external disturbances that cannot be ignored, and its controller design is more difficult than conventional multicopters. Control algorithms commonly used in flight control research include model-independent methods and model-based methods. PID is a model-independent method, which is widely used and easy to implement. However, the range of parameters adapting to the object is small, and the set parameters cannot be adapted to the disturbance factors outside the system [17]. For example, when the aircraft is subjected to wind disturbance, the quality of control will deteriorate. Model-based methods include robust control [18], backstepping control [19], and sliding mode control [20]. Meanwhile, graph theory can be used to estimate the observations of multicopters [21–23]. All these kinds of model-based methods can solve some internal and external disturbance problems, but the control performance has a high dependence on the accuracy of the model and is limited by environmental factors. It is difficult to obtain accurate aerodynamic performance parameters of the aircraft. And the model-based control algorithm is difficult to implement and has a poor real-time performance.
Active disturbance rejection control (ADRC) [24] is a method that does not depend on the precise plant model. It can estimate internal disturbances and external disturbances in real time and compensate them [21–23]. ADRC has the characteristics of small calculation, easy implementation, and wide range of controller parameters [25]. Researchers have studied ADRC on conventional quadrotors [17, 26, 27], verifying the immunity and robustness of the controller. In order to improve the adaptability of the copter to external environmental disturbances and uncertain internal factors, we design a flight controller based on the ADRC method. The contributions are summarized as follows.
Firstly, a six degree-of-freedom dynamic model under wind disturbance is established based on the Newton–Eulerian method and rotor slip theory. A six-channel single-loop omnidirectional ADRC controller is designed for the position and attitude control decoupling of the tilting hexacopter. Then, a method for implementing variable substitution and the linearization control distribution matrix by constructing virtual control quantity is given. Finally, the simulation experiments verify the effectiveness of the designed omnidirectional ADRC controller and verify the immunity and robustness of the whole system.
2. Symbols
The symbols used in this article are collected in Table 1. The table includes notation, reference frames, system-wide parameters, and symbols related to the modeling.
3. System Overview
3.1. Kinematic Modeling
We consider a tilting six-rotor copter that is modeled as a rigid body in Figure 1 and making use of a world frame with an orthonormal basis represented in world frames. A body frame with an orthonormal basis is also represented in world frames. Besides six frames , fixed to the rotors defined, the origin of the frame is fixed to the motor, is the tilting axis of the rotor, and is opposite to the thrust of the rotor.

is a rotation matrix representing the body frame to the world frame, and it can be written asand is a rotation matrix representing the rotor frame to the body frame and can be written aswhere is the tilt angle of the rotor around .
is the frame of in the body frame:where is the distance from the rotor center to the center of mass (COM) of the copter.
In this work, we adopt the rigid body kinematics model presented in the following:where and represent the position and the velocity of the aircraft in the world frame, is a vector of Euler angles, is the rotation rate under the body frame, and
3.2. Dynamical Modeling
This aircraft is a six degree-of-freedom (DOF) rigid body, and the dynamics model can be derived from the Newton–Eulerian equation [13]. The translation equation is described in the world frame, and the rotational equation is described in the body frame.where is the total mass, is the inertia matrix, is the zero matrix, and is the unit matrix.
The force analysis of the aircraft is composed of gravity , the thrust generated by the rotor, wind disturbance , and air resistance that can be written aswhere andwhere is the lift generated by the i-th rotor, which is under the i-th rotor frame.
The external torque includes the moment generated by the rotor thrust, the rotor rotation countertorque , the rotor tilting reverse torque , air resistance , and the gyro effect . So, we have
The torque generated by the rotor thrust under the body frame is
Gyro effect terms include two parts caused by attitude changes and motor tilt.
In this paper, as shown in Figure 1, the 2, 4, and 6 rotors rotate clockwise, and the 1, 3, and 5 rotors rotate counterclockwise. Therefore, the vector form of the thrust vector and the antitorque vector generated by the i-th motor in the corresponding rotor frame system iswhere denotes the rotor thrust coefficient and is the antitorque coefficient.
3.3. Wind Disturbance Modeling
The wind field has two main effects on the aircraft. First, it affects the aerodynamic effect of the rotor and then affects the air resistance of each windward surface.
The aerodynamic analysis of the rotor under windy conditions is shown in Figure 2. In the figure, represents the wind velocity, represents the rotor induction velocity, and is the vector sum of the wind velocity and the induced velocity. According to the theory of rotor slip flow [25], the velocity calculation formula is as follows:where is the air density and is the radius of the rotor paddle. The total lift of the rotor [25] can be expressed as

The wind disturbance and torque of i-th rotor are as follows:
So,
The formula for air resistance iswhere is the air resistance coefficient and is the relative velocity of the aircraft and air. For the aircraft, there is . When calculating the air resistance of the copter, consider it as a cylinder and take the average windward area aswhere is the crosswind coefficient and is the height of the body, so that
4. Control
The ADRC [24] does not depend on the accurate model of the controlled object, has strong resistance to internal and external disturbances, and has good robustness. The complete algorithm includes the tracking differentiator (TD) [28], extended state observer (ESO) [27], and nonlinear state error feedback (NLSEF) [29]. The standard ADRC structure is shown in Figure 3.

4.1. Controller Structure
The copter is divided into two subsystems, one of which is a full-drive subsystem including a height position and a yaw angle , and the other is an underactuation subsystem consisting of a horizontal position , a roll angle , and a pitch angle . Conventional multicopters can only achieve six degree-of-freedom motion in a nonholonomic sense, and they need to change the roll and pitch angles while performing horizontal motion. When designing a controller based on a model-free control technology (such as PID), it is usually only possible to design a controller for the height channel and the yaw channel separately and then design a cascade controller for the underdrive subsystem to output the horizontal channel controller. The attitude angle is expected to be the input of the roll and pitch channel controllers to achieve horizontal position control. The tilting hexacopter in this paper is an overdrive system that can achieve six-degree-of-freedom independent motion, and its ADRC controller can achieve position and attitude control through a six-channel single-loop structure.
From equation (1), coupling and tilting angles exist in the three attitude channels of roll, pitch, and yaw, respectively. The ADRC can treat the interaction between different channels and the tilt angle effect as the internal disturbance of the system. The ESO of each channel independently estimates the real-time internal disturbance of the system and the external environmental disturbance such as wind disturbance and air resistance as the control compensation items. Therefore, decoupling independent control of each channel can be realized. And through the control allocation, the desired force and the desired torque in any direction can be directly mapped to the rotor velocities and so that the controller can be designed as a decoupled six-channel single-loop structure.
Rewriting the dynamic model in equation (7) to the form corresponding to the ADRC theory,
and are uncertain parts, and
4.2. Controller Design
As shown in Figure 4, the controller designed in this paper has six single-loop structures and is decoupled from each other.

We choose the yaw channel as an example. The details of TD, ESO, and NLSEF in the ADRC controller are given, respectively.(1)In the TD, we use the given signal as a desired input to arrange the transition process. Figure 4 shows the ADRC structure. Fast factor and filter factor are adjustable parameters.(2)In the ESO, the system’s output and input are tracked in real time to estimate the internal state of the system and internal and external disturbances. where are parameters.(3)And in the NLSEF,
There are 6 tunable parameters in the NLSEF, namely, compensation coefficient , controller gains , and nonlinear parameters .
The fastest tracking control synthesis function and nonlinear function are expressed as
In the actual system, the state of the feedback back-end will contain high-frequency noise, so low-pass filtering is generally done to remove noise. In general, the multirotor dual-loop control strategy requires two low-pass filters to increase the system phase angle lag and reduce the system bandwidth. In our work, the tracking differentiator maintains a phase angle of 90° ahead of the cutoff frequency, reducing the phase angle lag of the controller, and the system bandwidth is strongly correlated with parameter . By adjusting the parameters, the closed-loop bandwidth is greater than the double-loop.
4.3. Control Allocation
The forces and torques that control the movement of the aircraft are mainly the thrust and antitorsion moment generated by the rotor. Combined with equations (2)–(15), the six degree-of-freedom rigid body dynamics model in equation (7) is rewritten as
Define and . Therefore, the relationship between , , the rotor velocity , and the rotor tilt angle is defined as , .whereand A is the control allocation matrix and is constant, independent of the tilt angle αi. Define N as the control quantity, so we have
By calculating the generalized inverse of equation (32) to calculate the control value, the Moore–Penrose method [30, 31] is selected in this paper to solve. Furthermore, the real control variable rotor speed and tilt angle can be directly obtained, namely,
5. Experiments
The simulation parameters of the tilting hexacopter are shown in Table 2.
The tunable parameters of the TD are and . The larger the fast factor is, the shorter the transition process is. The larger is, the better the filtering effect is, but the phase loss is also increased. The parameters of the ESO affect the effect of disturbance estimation and compensation. They can be adjusted according to the empirical formula. When the sampling frequency is the same, the ESO of the six channels of the omnidirectional controller can adopt the same set of parameters. In the NLSEF, the nonlinear parameters have a common satisfaction value, and the compensation coefficient is related to the object model and can also be used as a parameter setting when the model is unknown. and affect the system response velocity; the larger , the faster the system response velocity. However, if is too large, it will easily cause overshoot and oscillation. Increasing can suppress oscillation and overshoot, but if is too large, it is easy to brake in advance. This causes the adjustment time to become longer. In the simulation, the control period . After multiple-parameter tuning, each channel parameter of the ADRC controller is shown in Table 3. The parameters for ADRC are adjusted by a learning algorithm [32].
5.1. Attitude and Position Experiment
Setting the initial position of the hexacopter, the desired position and the desired attitude . After reaching the desired position, keep hovering in the desired attitude. Figure 5 shows the flight trajectory, and Figure 6 shows the synchronized attitude curve.


Compared with the traditional multirotor, Figures 5 and 6 show that the tilting hexacopter with ADRC can fly to the target quickly and smoothly and hover at the target point, and its flight path is shorter. At the same time, the aircraft can maintain the attitude change within a very small range. The figures also show that the attitude of the aircraft can reach the expected value quickly. There are no overshoot and oscillation during the adjustment process. The stability control effect is good, and it can maintain the fixed-point hover.
5.2. Trajectory Tracking Experiment
In this simulation, the desired position reference involves a circular trajectory. The desired trajectory can be expressed by the following equation:where r is the radius of the circle formed by the trajectory. The aircraft follows a circular trajectory and maintains a height of 3 m on the z-axis.
From the results (see Figure 7), the controller can track a circular trajectory. At the same time, the steady-state error is very small during the whole tracking process.

5.3. Anti-Interference Experiment
In the actual flight process, the aircraft is often subjected to various disturbances in the external environment, such as wind field disturbances. The wind field disturbance models are mainly Dryden model [33]. In this paper, the Dryden turbulence model is used to simulate the atmospheric turbulence by shaping the standard Gaussian white noise to obtain colored noise. According to Jafar et al. [34], the transfer function of the shaping filter iswhere and represent turbulence intensities and turbulence scales. Multicopters are mainly low-altitude flights, and the turbulence intensity and scale calculation formula under the flight conditions are shown aswhere is the wind velocity at height . The turbulent wind simulation module is built in the MATLAB/Simulink environment. The turbulent flow parameters are shown in Table 4. When the continuous wind is added, the turbulent wind field formed is shown in Figure 8.

The immunity of the ADRC controller under the fixed-point hover is tested under three different wind disturbance conditions and then compared with the PID controller. The PID controller parameters used for comparison are tuned based on particle swarm optimization.(i)No turbulent wind and no continuous wind(ii)Turbulent wind and no continuous wind(iii)Turbulent wind and continuous wind,
Set the initial position , the initial attitude , the desired position , and the desired attitude . The simulation results under the three conditions are as follows.
From Figure 9, the dynamic performance and steady-state performance of the PID controller are similar to those of the ADRC controller when there is no wind disturbance. In the presence of turbulent wind and no continuous wind (see Figure 10), the PID controller is unable to stably control the aircraft, and the altitude fluctuates continuously above and below the target value. When there is turbulent wind and continuous wind (see Figure 11), the PID controller cannot control the aircraft. Under the same wind disturbance, the ADRC controller can stably control the copter at the target height, and the control effect is almost the same as that without wind disturbance. From Figure 11 that when there is crosswind action, the lift of the rotor will increase more than when there is no wind. The PID controller cannot effectively suppress external disturbances such as wind disturbance. In contrast, the ESO of the ADRC controller can estimate the total disturbance, including wind disturbance in real time and control compensation.

(a)

(b)

(a)

(b)

(a)

(b)
All the above simulation experiments verify the effectiveness of the ADRC controller-based tilting six-rotor aircraft flight control system. The results show that the aircraft has omnidirectional motion capability and can independently control the position and attitude. At the same time, under the regulation of ADRC, the aircraft can achieve stable control of the position and attitude. It has the characteristics of small overshoot, short adjustment time, strong robustness, and good external disturbance effect such as estimation and compensation of turbulent wind.
6. Conclusion
The focus of this paper is on a tilting hexacopter with an omnidirectional motion. The effects of large-scale uncertainty, parameter perturbation, strong coupling, and external environmental disturbances on the system are analyzed. Based on the aerodynamic influence and linearization control distribution matrix, a flight controller based on ADRC is designed and implemented. Independently controlled by the position and attitude with wind disturbance experiments compared with PID, the auto-disturbance suppression controller designed in this paper improves the antidisturbance capability of the hexacopter aircraft. In future work, we will design and manufacture tilting hexacopter based on open-source hardware, such as Pixhawk. At the same time, we will add more experiments, including control under failure conditions (rotor breakage, motor stalling, etc.).
Data Availability
The figures, tables, and other data used to support this study are included within the article.
Conflicts of Interest
The authors declare that there are no conflicts of interest regarding the publication of this paper.
Acknowledgments
This work was supported by the Guizhou Provincial Science and Technology Projects (Grant no. [2020]2Y044), the Science and Technology Projects of China Southern Power Grid Co., Ltd. (Grant no. 066600KK52170074), the Key Laboratory Projects of Aeronautical Science Foundation of China (Grant no. 201928052006), and the National Natural Science Foundation of China (Grant no. 61473144).