Abstract
This article proposes a composite path following controller that allows the small fixed-wing unmanned aerial vehicle to follow a predefined path. Assuming that the vehicle is equipped with an autopilot for altitude and airspeed maintained well, the controller design adopts the hierarchical control structure. With the inner-loop controller design based on the notion of active disturbance rejection control which will respond to the desired roll angle command, the core part of the outer-loop controller is designed based on Lyapunov stability theorem to generate the desired course rate for the straight-line paths. The bank to turn maneuver is used to transform the desired course rate to the desired roll angle command. Both the hardware-in-the-loop simulation in the X-Plane simulator and actual experimental flight tests have been successfully achieved, which verified the effectiveness of the proposed method.
Introduction
Unmanned aerial vehicles (UAVs) have been wildly developed in diverse military and civilian application domains in the last decade. The small fixed-wing UAVs have been applied in the polar environment observation, 1,2 monitoring moving objects, 3 testing the new control strategies, 4,5 and many other domains. In terms of advanced control technologies, path planning, 2,3,6 cooperative control, 6,7 and obstacle avoidance 8 have been designed, tested, and applied in fixed-wing UAVs in recent years. It can be seem that it is critical for the vehicles to track or follow the predefined path or trajectory accurately so that they can realize these technologies.
During recent years, the approaches to realize the path following or trajectory tracking control of a small UAV appear on the linear and nonlinear control methods. The linear techniques include the proportion–integration–differentiation (PID) and linear quadratic regulator (LQR), while the nonlinear methods mostly appear on the backstepping technique, the fuzzy logic-based control, the sliding mode control, and the model predictive control (MPC).
In the study of Kohno and Uchiyama, 9 the outer-loop design for translational motion is based on the proportion-differentiation (PD) controller together with the disturbance accommodating control method to estimate the aerodynamic force. Comparing to the traditional PID technique, Luo et al. applied the directional fractional order (PI)α method to the lateral control of a small fixed-wing UAVs based on the decoupled single input single output (SISO) mathematical model. 10 However, the PID controller has little robustness to the disturbance, and it is mostly used in the lateral/longitudinal maneuvers by reducing the lateral deviation from a desired fight path. The genetic algorithm has also been used to optimize the control parameters of the trajectory tracking control law which will improve the tracking performance. 11 However, it needs more calculation, which makes it limited to be applied on the low-cost autopilot. In the study of Ratnoo et al., 12 the LQR with an adaptive running cost was applied to generate the lateral acceleration command to guide the vehicle toward the path. Lee et al. used the LQR technique to reach the path following by finding the optimal state feedback law where its state is the combination of the lateral attitudes, the crosstrack, and heading errors. 13 However, the heading and crosstrack errors should be saturated to make the system stable due to the limitation of the linear region.
In the aspect of nonlinear control of path following, the backstepping technique has been applied to the path following of the fixed-wing aircraft. In the study of Brezoescu et al., 14 the adaptive backstepping was applied to reach the trajectory following considering the influence of the crosswind, and the method was verified in simulation. Jung and Tsiotras used the adaptive backstepping to the path following through roll angle control. 15 Sartori et al. 16 combined backstepping with the PID controller to realize the control of the fixed-wing UAV, where the outer loop for guidance adopted the PID method. The backstepping was used for the control of attitude. While applying the backstepping technique, it will introduce additional control parameters or it needs good knowledge of the nonlinear system.
The fuzzy logic is another technique applied to the guidance of the UAV. Cancemi et al. applied the fuzzy logic to generate the heading reference which will guide the UAV toward the predefined waypoint trajectory. 17 The fuzzy-based method was implemented in the hardware-in-the-loop simulation. In the study of Gomez and Mo, 18 the fuzzy logic was applied to control the UAV with the decentralized model to drive the tracking error to zero. The fuzzy logic method can reach better tracking performance than the traditional PID controller, but it needs more memory to store the rules and values for the fuzzy logic which will result in additional calculation.
In the studies of Lei et al., 2 Beard et al., 19 Nelson et al.,20 and Liang et al., 21 the tangent vector filed concept together with the sliding mode control technique was applied to design the course to achieve the curved path following with given constant wind disturbances. The slide mode controller is interesting and suitable for the actual flight, but it is known to have the chattering problem due to the controller’s inherent discontinuity.
The MPC is an alternative method for path following since it can combine multiple objectives and constraints, which minimize the objective function. Yang et al. presented an adaptive nonlinear MPC controller for the path following of a fixed-wing UAV with the variable control horizon depending upon the path curvature profile, and the adaptive scheme was verified by simulation comparing with a conventional fixed-horizon MPC. 8 Prodan et al. 22 applied the MPC for trajectory tracking of UAV, where the core MPC algorithm was run in MATLAB (Product of the MathWorks, Inc) off-board to generate the guidance law which was sent to the onboard avionic through communication link. The above scenarios indicate that the MPC method is robust for path following, but it needs much more numerical calculation which makes it difficult to be applied in the low-cost onboard flight control system.
Motivated by the above discussion, this article aims to realize the path following of a small fixed-wing UAV in the two-dimensional (2-D) plane with low-cost avionics which can provide altitude- and airspeed-hold functions. In this article, we adopted the hierarchical control architecture for the path following control system design. In our preview works, 23 a Lyapunov stable–based nonlinear control law has been designed to generate the course rate command as the core part of the outer-loop controller. The nonlinear control law has been demonstrated by the Lyapunov stability arguments that it will guide the vehicle to fly along the desired line path with the right direction. The above has been demonstrated via the Aerosonde UAV model in the MATLAB simulation. 23 In this article, we have transformed the commanded course rate into the reference commanded bank angle for the inner controller by using the bank to turn maneuver.
For the inner controller design, in contrast to previous methods, the active disturbance rejection control (ADRC) 24 –26 which has been applied in various areas will be applied. Since it is difficult to model the dynamics of a small fixed-wing UAV with accurate parameters, even the disturbance including the turbulent flow and the actuator installation errors, the ADRC contains an extended state observer (ESO) 24 which can directly estimate the system dynamics and the disturbance, which are extended as a new system state. Together with other two parts of ADRC, a tracking differentiator (TD) and a nonlinear control, the ADRC is used here as the inner loop to realize tracking the reference bank angle.
The contribution of this article is that the proposed path following controller was firstly successfully applied on the actual fixed-wing UAV flight. The organization of this article is as follows. In the next section, a brief description of the UAV is given, and the hierarchical control architecture for the path following control system design is proposed. In “Outer-loop controller” section, the core part of the outer-loop controller is designed based on the Lyapunov stable arguments to generate the desired course rate for straight-line paths, and the desired course rate is transformed into the reference bank angle using the bank to turn maneuver. In “ADRC-based inner-loop control law” section, the ADRC method is applied to realize the bank angle tracking. The hardware-in-the-loop simulations and flight tests of the UAV are presented in “Simulations and experiments” section. Finally, some concluding remarks are summarized in “Conclusion” section.
System description
The Snow Goose UAV (Figure 1(a)) is approximately 2.2 m long with an approximately 3.2 m wingspan. The aircraft has a takeoff weight of approximately 25 kg, including an approximately 3 kg electronic payload. A single-cylinder two-cycle piston value type gasoline engine is installed to provide the thrust. The fuel capacity is approximately 3 L of jet fuel for maximum mission duration of approximately 4 h at cruise flight.

The UAV platform for the experiments: (a) the Snow Goose UAV and (b) onboard avionics. UAV: unmanned aerial vehicle.
The avionics (Figure 1(b)) used to implement the automatic control contains a navigation system, an embedded flight control system, and a data communication system. The navigation system consists of three axis magnetometers (a single-axis HMC1041, A Product of Honeywell International Inc., USA and a two-axis HMC 1052, A Product of Honeywell International Inc., USA), two pressure sensors (MS5540CM, A Product of TE Connectivity Ltd., USA. and MPXV5004GP, A Product of Freescale Semiconductor, Inc., USA.), a Differential Global Positioning System (DGPS) receiver, and an Inertial Measurement Unit (IMU) unit (ADSL16355, A Product of Analog Devices, Inc., USA.). The extended Kalman filter algorithm is used to fuse the values of above sensors. A Field-Programmable Gate Array (FPGA)-based input/output (I/O) board was integrated in the flight control system to drive the onboard digital servos and to read pilot commands through a standard Futaba transmitter. The avionics systems have an accuracy of 0.2 m root mean square (RMS) for the position, 0.03 m/s RMS for the linear velocity, and 0.017 rad RMS for the attitude. During the experiment, all vehicle state variables were sampled at 50 Hz and recorded in a 4 GB flash memory on the flight control system. 27
To realize the accurate path following of UAV, even in the presence of wind disturbance, we assume that the altitude and the airspeed are maintained well. Figure 2 shows the flowchart of the proposed robust path following controller. The controller is hierarchically divided into two layers: (1) The core task of the inner-loop control layer is to realize the bank angle tracking considering the disturbance including the turbulent flow and the actuator installation errors. (2)The outer-loop control layer is to guarantee the path following performance for the predefined flight tasks. In this layer, the core part of the controller gets the current position and heading information from the navigation system, and then generates the desired course rate command ucmd through the error information between the current position and the predefined path. Finally, the outer-loop controller generates the desired bank angle φc by using the bank to turn maneuver. The update cycle of the controller is 20 ms.

The flight control structure of the UAV. UAV: unmanned aerial vehicle.
Outer-loop controller
Problem description
The outer-loop controller design focuses on the navigation of the UAV. The assumptions that the small fixed-wing UAV equipped with low-level flight controller can provide altitude- and airspeed-hold functions are used for the path following. The kinematics of the UAV in the Earth-fixed horizontal frame considering the wind velocity W = (Wx,Wy) can be modeled as follows
where (x,y) is the inertial position of the UAV, Va is the airspeed, and ψ is the heading. By introducing the ground speed Vg and the course χ shown in Figure 3, 23 equation (1) can be expressed as

Position of the UAV with respect to the desired line and the relationship among the ground speed Vg, airspeed Va, and the wind speed W. UAV: unmanned aerial vehicle.
Following the study of Nelson et al.,
20
by introducing the course rate control
Therefore, the motions of the UAV can be expressed in terms of the ground speed and the course angle. In the following, the command design is based on the model (3). Since the ground speed contains the information of wind velocity, the wind disturbance rejection will be naturally considered. Just as all of the 2-D curve can be approximated by a series of segments, we focus on the UAVs’ line following below. 23
Straight-line path following
In this subsection, the brief description of the straight-line path following control law is based on our preview works. 23 In Figure 3, the desired straight-line path of the UAV can be expressed as
where the parameters of the line path function (4) subject to |a| + |b| > 0.
Let D(x,y) denotes the deviation of the UAV position from the desired line, then
For the system (3), the following control law 23 is introduced that will guarantee its stability
where K1 and K2 are positive constants, and the saturation function fsat(x) is defined as
Here, the function fsat(x) is used to limit the distance D(x,y) so that the control law (6) will always be within a given range, even the initial value of D(x,y) is very large.
In order to analyze the stability of the line tracking control law (6), two new variables d1 and χ1 are introduced as follows
So we have
Equation (8) shows that if the UAV is flying along the desired line with the right direction, then d1 = 0 and χ1 = 0. By taking the derivatives of these two new variables d1 and χ1, we have
In the study of Chen et al.,
23
it has been demonstrated that if K1 is a positive constant, Vg ≥ Vgp and
Proof
Rewrite the system (10) as
Let
The Lyapunov candidate function is chosen as
Furthermore,
Additionally, it has the fact that
It can be derived that W1(d1,χ1), W2(d1,χ1), and W3(d1,χ1) are continuous positive definite functions on the domain D. Then, the equilibrium point (0, 0) is uniformly asymptotically stable. Similarly, the equilibrium points in the set
Bank to turn maneuver
For 2-D path following, the bank to turn maneuver is used to realize the UAV’s level turn. In this case, the UAV maintains a constant altitude with no sideslip. Figure 4 shows the forces acting on the UAV under the mode of bank to turn maneuver. By applying Newton’s first law of motion, the kinematic and dynamic relationships can be found. The total lift can be broken into two components, where the vertical component of lift opposes the aircraft’s weight FG. Since the UAV maintains at a constant altitude, the amplitude of the vertical component of lift equals the aircraft’s weight. On the other hand, the horizontal component of lift is used to turn the UAV, and it equals the centrifugal force Fc.

UAV in a level turn. UAV: unmanned aerial vehicle.
So it gets the fact that
where m is the mass of the UAV, g is the acceleration of gravity, and φ is the bank (roll) angle. For a given course rate command
Since the inertial speed can be measured by the present avionics system, with the description of the straight line following course rate command, the relative bank angle command can be naturally achieved.
ADRC-based inner-loop control law
Modeling of the bank to turn dynamics
In this article, for designing an inner-loop control law to track the roll angle command, it is necessary to know the basic relationship between the control inputs and the roll angle output. The model with reduced set of first-order differential equations can be described as 28
where θ and φ represent the pitch and bank angles, respectively. α and β denote the angles of attack and sideslip, respectively. p, q, and r are the rigid body angular rates, respectively. δe, δa, and δr are elevator, aileron, and rudder deflections, respectively. Ixx, Iyy, and Izz are the moments of inertia with respect to the rigid body coordinates, respectively. zα,
Taking the derivatives of the both sides of the second part of equation (14) with respect to time, one can derive the relationship between the aileron deflection δa and the roll angle φ as
where k3 is a constant, f is the function with respect to θ, φ, α, β, p, q, r, δe, and δr. By combining like terms, we can get the function f with the expression (15). φ, α, β, p, q, r, and δe are all contained in the coefficients of the terms with respect to
ADRC for bank angle tracking
Equation (15) describes the relationship between the control input δa and the bank angle φ. The goal of the following aims at tuning δa so that the UAV will track the desired bank angle φc. Since the function
Let x1 = φ,
where y is the output measured and to be controlled.
where e is the observer error, and the function fal(e,α,δ) is defined as 24
in which (·) denotes a standard sign function. δ > 0 is the control parameter which will influence the noise suppression, and it can be chosen from the range of [0.0001, 1]. 25,26 β01, β02, and β03 are positive observer gains.
Figure 5 shows the schematic diagram of the ADRC for tracking the bank angle command. Besides the nonlinear observer, the ADRC contains two other parts, that is, a TD in the feedforward path and a nonlinear proportional derivative (NPD) control synthesizer in the feedback path. The TD is used to solve the difficulties posed by low-order reference trajectories. In practice, the discrete time system (19) can be used as a high-performance TD to provide two signals v1(t) and v2(t), such that v1(t) → φc(t) and

The ADRC for tracking the bank angle command φc. ADRC: active disturbance rejection control.
where h is the sampling period, k denotes the kth sampling instant, and r0 and h0 are control parameters which determine the tracking speed and the effect of noise suppression, respectively. The details of function fhan can be found in the study of Han. 24
Therefore, with the output singles v1 and v2 generated from TD and the estimation of the state from ESO, the differential signals e1 and e2 can be obtained. Then, with these two signals as inputs, the NPD control synthesizer is defined as 25,26
where k1, k2, α1, and α2 are control parameters and 0 < α1 < 1 < α2. With appropriate parameters and the estimation of
Simulations and experiments
In this section, both the simulation and actual implementation results based on the proposed control method are presented. Table 1 lists the control parameters of the nonlinear control law and the ADRC.
Control parameters.
Hardware-in-the-loop simulation
The simulation is taken in the X-Plane platform 29 with the hardware in the loop. Figure 6 shows the configuration of the simulation system, which consists of the flight control module, ground station, and a special computer used for running the X-Plane software Product of Laminar Research. The flight control module is connected to the ground station via a serial cable using the standard RS-232 serial protocol. The ground station sends the control parameters and predefined path to the flight control module and monitors its running. The X-Plane simulator is connected to the flight control module via a serial cable, and their data communication protocol is User Datagram Protocol. The X-Plane simulator receives the control commands from the flight control module and sends the responding states back to it via FlightSim framework middleware.

The configuration of the hardware-in-the-loop simulation.
The predefined path was a pentagon as shown in Figure 7. For simulation, the initial horizontal ground speed of the UAV was set as 20 m/s. In order to test the performance of the proposed controller, additionally, the external wind disturbance was added while simulating.

Predefined path following with the proposed method in the X-Plane simulator.
The sharp changes of D(x,y) with about 120 m in Figure 8(a) are caused by the predefined behavior that the UAV will switch course if the distance between the position of the UAV and the next waypoint is smaller than 120 m, which can also be seen in Figure 7. The inertial velocity Vg shown in Figure 8(b) indicates the influence of the external disturbance. Especially when the UAV was following the path from point E to point A, the inertial velocity Vg reached 28 m/s. However, the steady-state error D(x,y) when the UAV followed the segments CD and EA was within 3 m and 2 m, respectively, as shown in Figure 8(a).

The hardware-in-the-loop simulation results while following the predefined path in the X-Plane simulator: (a) the offset distance D(x,y), (b) the inertial velocity Vg, and (c) the comparison of the bank angle command φc and the simulated bank angle φ.
Figure 8(c) shows that the inner-loop controller ADRC can tracked the bank angle command φc well while following the predefined path. The above discussion demonstrated the effectiveness of the proposed path following controller even in the presence of the wind disturbance.
Actual flight test result
Figure 9(a) shows an actual outdoor flight test of the Snow Goose UAV with the proposed path following controller. The flight area was performed in a 600 × 1500 m region with constant height of 200 m. The normal flight speed was set as 20 m/s, and the inertial velocity Vg shown in Figure 9(b) indicates the influence of the external disturbance. In the actual flight, the UAV switched course in advance with 60 m. The zoom area in Figure 9(c) shows that the largest offset distance was about 10.3 m when the UAV was switching from segment DE → EA at time 117 s. Compared with following segments AB–BC, there is some larger amplitude while following the segments CD–DE–EA. Since the segments CD and DE are both shorter than AB and BC, the vehicle will switch course faster before it has realized the precise path following. It indicates that the predefined path should be planned well to make the vehicle get better path following performance.

Actual path following with the proposed method: (a) predefined and actual flight path; (b) the inertial velocity Vg; and (c) the offset distance D(x,y).
All of the above has verified that the UAV can realize good path following motion with the proposed method.
Conclusion
With the combination of Lyapunov stability theory and ADRC technique, a line-style path following controller has been designed and implemented for a small fixed-wing UAV using the bank to turn maneuver. For the inner loop, the ADRC method was applied for the attitude control. The core part of the outer-loop design is based on the concept of Lyapunov stability theory. The generated desired course rate command is used to derive the bank angle command to realize the UAV’s level turn which will guide the UAV toward the desired path. The hardware-in-the-loop simulations on following the convex polygon planar path in the X-Plane simulator had verified the validity of the proposed method. Finally, the experiments for tracking the desired polygon path have been successfully implemented on the Snow Goose UAV with the proposed method.
From the simulations in the study Chen et al., 23 we have found that the control parameter K2 in equation (6) will influence the process that the UAV follows the predefined path. In the future, the adaptive strategy will be used to adjust it so that the UAV can follow a series of smooth paths better. Additionally, since the ground velocity in the horizontal plane Vg can vary among its positive range with [Vgmin,Vgmax], another control law to adjust the velocity Vg considering the convergence rate of different kind of path will also be investigated.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship and/or publication of this article: The research is supported by the National Natural Science Foundation of China (No.61503172), the National High Technology Research and Development Program of China (No. 2011AA040202), the 2016 Provincial Program to Fostering Distinguished Young Scholars of Scientific Research in Universities of Fujian Province and the research program of Longyan University (No. LB2014008 and No.LG2014002).
