Control of a Tilting Hexacopter under Wind Disturbance

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. +e 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. +e 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. +e 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. +e new theoretical results are thoroughly validated through comparative experiments.


Introduction
In recent years, multicopters had proven to execute aggressive maneuvers [1]. e 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. e 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. us, 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]. e 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. e tilting multicopter is an aircraft with a rotor that can tilt around its arm axis, featuring strong coupling, uncertainty, and nonlinearity [16].
e 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][22][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][22][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. e 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.
en, 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.

Symbols
e symbols used in this article are collected in Table 1. e table includes notation, reference frames, system-wide parameters, and symbols related to the modeling.

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 F E with an orthonormal basis . . , 6, fixed to the rotors defined, the origin of the frame O R,i is fixed to the motor, X R,i is the tilting axis of the rotor, and Z R,i is opposite to the thrust of the rotor. E R B ∈ SO(3) is a rotation matrix representing the body frame to the world frame, and it can be written as and B R r,i is a rotation matrix representing the i − th rotor frame to the body frame and can be written as where α i is the tilt angle of the i − th rotor around X r,i .
O B r,i is the frame of O r,i in the body frame: where l 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: 2 Mathematical Problems in Engineering where P E � x y z T and V E � u v w T represent the position and the velocity of the aircraft in the world frame, η � ϕ θ ψ T is a vector of Euler angles, ω B � p q r T is the rotation rate under the body frame, and

Dynamical Modeling.
is aircraft is a six degree-offreedom (DOF) rigid body, and the dynamics model can be derived from the Newton-Eulerian equation [13]. e translation equation is described in the world frame, and the rotational equation is described in the body frame.
where m is the total mass, J b � diag(I xx , I yy , I zz ) is the inertia matrix, O 3×3 is the zero matrix, and I 3×3 is the unit matrix. e force F E analysis of the aircraft is composed of gravity F E m , the thrust F E t generated by the rotor, wind disturbance F E wind , and air resistance F E aero that can be written as  Mathematical Problems in Engineering 3 where F r,i is the lift generated by the i-th rotor, which is under the i-th rotor frame.
e torque generated by the rotor thrust under the body frame is Gyro effect terms include two parts caused by attitude changes and motor tilt. 4 Mathematical Problems in Engineering 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. erefore, the vector form of the thrust vector F r,i and the antitorque vector M r,i generated by the i-th motor in the corresponding rotor frame system is where k t denotes the rotor thrust coefficient and k q is the antitorque coefficient.

Wind Disturbance
Modeling. e 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. e aerodynamic analysis of the rotor under windy conditions is shown in Figure 2. In the figure, V w represents the wind velocity, V t,i represents the rotor induction velocity, and V 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 r is the radius of the rotor paddle. e total lift of the rotor [25] can be expressed as e wind disturbance F w,i and torque of i-th rotor M w,i are as follows: Mathematical Problems in Engineering So, e formula for air resistance is where c is the air resistance coefficient and V air 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 S as where σ ∈ (0, 1) is the crosswind coefficient and h is the height of the body, so that

Control
e 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. e complete algorithm includes the tracking differentiator (TD) [28], extended state observer (ESO) [27], and nonlinear state error feedback (NLSEF) [29]. e standard ADRC structure is shown in Figure 3.

Controller Structure.
e copter is divided into two subsystems, one of which is a full-drive subsystem including a height position z and a yaw angle ψ, and the other is an underactuation subsystem consisting of a horizontal position (x, y), 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. e attitude angle is expected to be the input of the roll and pitch channel controllers to achieve horizontal position control. e 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.
e ADRC can treat the interaction between different channels and the tilt angle effect as the internal disturbance of the system. e 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. erefore, 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 n i and α i 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,  Mathematical Problems in Engineering f i (·) and μ i (t) are uncertain parts, and 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. e details of TD, ESO, and NLSEF in the ADRC controller are given, respectively.

Controller Design. As shown in
(1) In the TD, we use the given signal ψ des as a desired input to arrange the transition process. Figure 4 shows the ADRC structure.
Fast factor r and filter factor h are adjustable parameters. (2) In the ESO, the system's output ψ and input U 6 are tracked in real time to estimate the internal state of the system and internal and external disturbances.
fe � fal(e, 0.5, δ), fe 1 � fal(e, 0.25, δ), where β 01 , β 02 , and β 03 are parameters. (3) And in the NLSEF, ere are 6 tunable parameters in the NLSEF, namely, compensation coefficient b 6 , controller gains k 1 and k 2 , and nonlinear parameters α 1 , α 2 , and δ 0 . e fastest tracking control synthesis function fhan(x 1 , x 2 , r, h) and nonlinear function fal(e, α, δ) are expressed as Mathematical Problems in Engineering 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 r. By adjusting the parameters, the closed-loop bandwidth is greater than the double-loop.

Control Allocation.
e 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-offreedom rigid body dynamics model in equation (7) is rewritten as Define erefore, the relationship between U E F , U B M , the rotor velocity n, and the rotor tilt angle α is defined as   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 n i and tilt angle α i can be directly obtained, namely,

Experiments
e simulation parameters of the tilting hexacopter are shown in Table 2.
e tunable parameters of the TD are r and h. e larger the fast factor r is, the shorter the transition process is. e larger h is, the better the filtering effect is, but the phase loss is also increased. e parameters of the ESO affect the effect of disturbance estimation and compensation. ey 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 α 1 , α 2 , and δ 0 have a common satisfaction value, and the compensation coefficient b 0 is related to the object model and can also be used as a parameter setting when the model is unknown. k 1 and k 2 affect the system response velocity; the larger k 1 , the faster the system response velocity. However, if k 1 is too large, it will easily cause overshoot and oscillation. Increasing k 2 can suppress oscillation and overshoot, but if k 2 is too large, it is easy to brake in advance.
is causes the adjustment time to become longer. In the simulation, the control period T � 0.001 s. After multipleparameter tuning, each channel parameter of the ADRC controller is shown in Table 3. e parameters for ADRC are adjusted by a learning algorithm [32].

Attitude and Position Experiment. Setting the initial position P E
init � 0 0 0 T (m) of the hexacopter, the desired position P E des � 8 7 11 T (m) and the desired attitude η des � 1 0 15 30 T (deg). 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. e figures also show that the attitude of the aircraft can reach the expected value quickly. ere are no overshoot and oscillation during the adjustment process. e stability control effect is good, and it can maintain the fixed-point hover.

Trajectory Tracking Experiment.
In this simulation, the desired position reference involves a circular trajectory. e desired trajectory can be expressed by the following equation: Mathematical Problems in Engineering where r is the radius of the circle formed by the trajectory. e 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.

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. e 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 is where L u , L v , L w and σ u , σ v , σ w 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 as where V h is the wind velocity at height h. e turbulent wind simulation module is built in the MATLAB/Simulink environment. e turbulent flow parameters are shown in Table 4. When the continuous wind is added, the turbulent wind field formed is shown in Figure 8. e immunity of the ADRC controller under the fixedpoint hover is tested under three different wind disturbance conditions and then compared with the PID controller. e      Parameters Value x-axis scale factor, L u 110.5 y-axis scale factor, L v 55.3 z-axis scale factor, L w 7.5 x-axis intensity factor, σ u 0.5 y-axis intensity factor, σ v 0.81 z-axis intensity factor, σ w 1.31      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 P E init � 0 0 0 T (m), the initial attitude η init � 0 0 0 T (deg), the desired position P E des � 3 4 5 T (m), and the desired attitude η des � 10 15 30 T (deg). e simulation results under the three conditions are as follows.
From Figure 9, the dynamic performance and steadystate 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. e 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.
All the above simulation experiments verify the effectiveness of the ADRC controller-based tilting six-rotor aircraft flight control system. e 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.

Conclusion
e focus of this paper is on a tilting hexacopter with an omnidirectional motion. e 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
e figures, tables, and other data used to support this study are included within the article.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.