Nomenclature
- b
-
wing span, m
- c
-
mean aerodynamic chord length, m
-
${C_D}$
,
${C_Y}$
,
${C_L}$
-
aerodynamic drag, side and lift force coefficients
-
${C_{\bar L}}$
,
${C_{\bar M}}$
,
${C_{\bar N}}$
-
aerodynamic roll, pitch and yaw moment coefficients
- D
-
drag force, N
- h
-
altitude, m
-
${J_x}$
,
${J_y}$
,
${J_z}$
-
roll, pitch and yaw moment of inertia, kg
$ \cdot {{\rm{m}}^2}$
-
${l_1}$
,
${l_2}$
,
${l_3}$
-
moment arms for the rotors, m
- L
-
lift force, N
-
$\bar L$
,
$\bar M$
,
$\bar N$
-
rolling, pitching and yawing moments, N
$ \cdot $
m - p, q, r
-
body-axis roll, pitch and yaw rates, rad/s
-
${p_x}$
,
${p_y}$
,
${p_z}$
-
UAV position in the inertial frame coordinates, m
- Q
-
dynamic pressure, kg/(m
$ \cdot {{\rm{s}}^2}$
) - S
-
reference area of the UAV wing,
${{\rm{m}}^2}$
- T
-
thrust force, N
-
${T_{fl}}$
,
${T_{fr}}$
-
front left and front right rotor thrusts, N
-
${T_{rl}}$
,
${T_{rr}}$
-
rear left and rear right rotor thrusts, N
-
${V_T}$
-
true airspeed, m/s
- Y
-
side force, N
Greek symbol
-
$\alpha $
-
angle-of-attack, rad
-
$\beta $
-
sideslip angle, rad
-
$\gamma $
-
flight path angle, rad
-
${\delta _l}$
,
${\delta _r}$
-
left and right elevon deflection, rad
-
$\mu $
-
aerodynamic roll angle, rad
-
$\chi $
-
course angle, rad
1.0 Introduction
Unmanned aerial vehicles (UAVs) have been successfully utilised in various missions due to effectiveness, flexibility and wide range of applications, even in hazardous environments. Especially, object detection on the ground is one of the important missions for UAVs. In this mission, the UAV explores the ground using the equipped sensors. For accurate and efficient exploration, the sensing pattern of the UAV should be maintained during the mission. In particular, the angle of the equipped sensors aimed at the ground should not be changed much to accurately detect the object.
On the other hand, to successfully perform the detection mission for the specified region, the UAV should follow the given trajectory in the mission area without making significant changes in its attitude. Therefore, the attitude of the UAV should be controlled during the mission. Lots of research on the attitude control of fixed-wing UAVs [Reference Totoki, Ochi, Sato and Muraoka1–Reference Sedlmair, Theis and Thielecke4] have been performed. The attitude controllers were designed for quad-tilt-wing UAVs using linear quadratic control [Reference Totoki, Ochi, Sato and Muraoka1] and structured
$\mu $
-synthesis [Reference Panza, Lovera, Sato and Muraoka2]. The roll angle of the UAV was controlled using an incremental backstepping technique [Reference Wang, Chen, Zhang, Zhu and Cao3]. The pitch angle of the UAV was controlled for accurate landing using
${H_\infty }$
control [Reference Sedlmair, Theis and Thielecke4]. However, the attitude controllers severely degrade the manoeuverability of the UAV to maintain the attitude of the UAV because the magnitude of the aerodynamic forces generated by the wings is limited, and therefore a larger control effort is required for the control inputs. The degradation of the manoeuverability reduces the mission performance of the UAV. Therefore, it is desirable for the attitude to remain within a suitable range so that the exploration performance may not be significantly degraded. To address this issue, an attitude control scheme is designed considering the safety of the UAV in this study.
Safety indicates that the system state remains in a safe region during the whole control process [Reference Prajna, Jadbabaie and Pappas5]. Several studies have been conducted on safety. One approach considering safety is to utilise control barrier function (CBF) [Reference Wieland and Allgöwer6, Reference Ames, Xu, Grizzle and Tabuada7], which was inspired by the control Lyapunov function (CLF). Since then, the CBF has been applied to various systems [Reference Xu, Grizzle, Tabuada and Ames8–Reference Cortez, Oetomo, Manzie and Choong12]. One advantage of the CBF is its ability to unify safety and stability by combining the CBF with the CLF [Reference Romdlony and Jayawardhana13, Reference Romdlony and Jayawardhana14]; therefore, the control problem with state constraints can be simultaneously handled. For instance, Ames et al. proposed a quadratic programming (QP)-based controller combined with the CBF and CLF for the automotive control problem with safety constraints [Reference Ames, Xu, Grizzle and Tabuada15].
However, a study that applied the CBF to the attitude control of UAV has not been conducted yet. In this study, motivated by the previous research on the CBF, a terrain and path following control scheme is proposed which makes the attitude, i.e. roll and pitch angle, remain in a desired range using the CBF. The guidance law is designed by combining a terrain-following altitude controller and a horizontal path following controller based on the Lyapunov control theory. Especially, the flight path controller is designed using the CBF to make the attitude of the UAV remain in the desired range. For the airframe, the ARGOS-I UAV model with redundant control surfaces is considered, which is a UAV under development for surveillance, reconnaissance and exploration missions, including marine pollution monitoring.
Note that the mission objective of the UAV considered in this study is to detect a ground object. It is assumed that the UAV follows a predesigned horizontal path while controlling the altitude above the ground to follow the reference signal during the mission. For this purpose, guidance law generates the reference input of flight path angle and course angle using the terrain and path data, which are combined with the reference signal of true airspeed to be used as a command in the control system. Autopilot system controls the true airspeed, flight path angle and course angle to follow the reference signals while ensuring that the roll and pitch angles remain within the desired range.
To design the controller, the dynamics of the fixed-wing UAV are converted to a cascaded system with three loops. State-feedback controllers are designed i) for the true airspeed, flight path angle and course angle control in the outermost-loop, and ii) for angular rate control in the inner-loop using the sliding mode control (SMC) scheme. In the second-outer loop, a QP-based controller is designed to control the sideslip angle while considering the attitude constraint. The constraints for the sideslip angle, roll angle, and pitch angle obtained using the CLF and CBF, respectively. The obtained constraints are used to design the QP to generate the control input commands satisfying the control objective. The thrust, lift and moment commands from the inner-loop controller are converted to actuator commands by control allocation.
The main contributions of this study are summarised as follows: first, the proposed controller allows the attitude change within a desire range, which improves the mission performance of the UAV. If the attitude is controlled to maintain the trim value, the manoeuverability of the UAV is limited because a larger control effort is required to maintain the attitude. However, the proposed controller improves the manoeuverability of the UAV by allowing the attitude change, which leads to the mission performance improvement. Second, the proposed controller guarantees that the attitude of the UAV stays within a desired range. Therefore, the proposed controller prevents the performance for the ground detection from being severely degraded by a large attitude change. In summary, the proposed controller has a wider mission-capable area including slightly more severe elevation changes and maintains the detection performance at an acceptable level compared with other attitude controllers in which the attitude is strictly controlled to follow its reference signal. The performance of the proposed controller is demonstrated by numerical simulation for the area generated by using terrain data. Note that the proposed control scheme can be easily modified to keep any state variable within the desired range, which depends on a given mission.
The paper is organised as follows: UAV model is briefly described in Section 2.0. In Section 3.0, the guidance law for the terrain-following and the path following is described. In Section 4.0, the controller for each control loop and the control allocation are described. Section 5.0 provides the numerical simulation to demonstrate the effectiveness of the proposed controller. A summary of this study is presented in Section 6.0.
2.0 UAV model
The UAV model considered in this study is an ARGOS-I UAV, which was developed at Chungnam National University [Reference Jeaong, Park, Kim and Suk16]. The ARGOS-I UAV is equipped with two front rotors, two rear rotors and a pair of elevons, as shown in Fig. 1. The rotors
${T_{fl}}$
,
${T_{fr}}$
,
${T_{rl}}$
, and
${T_{rr}}$
generate thrust in the direction of the arrow depicted Fig. 1. The elevon
${\delta _l}$
and
${\delta _r}$
move upward and downward, respectively, with the downward direction defined as positive. Each rotor and elevon can be separately controlled.
ARGOS-I UAV.

The equations of motion for the inertial position coordinates of the UAV
${p_x}$
,
${p_y}$
, and
${p_z}$
can be expressed as [Reference Stevens, Lewis and Johnson17]
The equations of motion for the true airspeed
${V_T}$
, flight path angle
$\gamma $
, and course angle
$\chi $
of the UAV can be expressed as [Reference Stevens, Lewis and Johnson17]
The equations of motion for the aerodynamic roll angle
$\mu $
, angle-of-attack
$\alpha $
, and sideslip angle
$\beta $
of the UAV can be expressed as [Reference Stevens, Lewis and Johnson17]
\begin{align}{\dot \mu } & = {}{\frac{1}{{m{V_T}}}\left( {L\left( {{\rm{tan}}\,\beta + {\rm{sin}}\ \mu \,{\rm{tan}}\,\gamma } \right) + Y\, {\rm{cos}}\, \mu \,{\rm{tan}}\,\gamma } \right) + \frac{T}{{m{V_T}}}\, {\rm{sin}}\, \alpha \,{\rm{tan}}\,\beta }\nonumber\\& \quad + { \frac{T}{{m{V_T}}}\left( { {\rm{sin}}\, \alpha \, {\rm{sin}}\, \mu - {\rm{cos}}\, \alpha \, {\rm{sin}}\, \beta \, {\rm{cos}}\, \mu } \right)\,{\rm{tan}}\,\gamma - \frac{g}{{{V_T}}}\, {\rm{cos}}\, \mu \, {\rm{cos}}\, \gamma \,{\rm{tan}}\,\beta } + { \frac{{\, {\rm{cos}}\, \alpha }}{{\, {\rm{cos}}\, \beta }}p + \frac{{\, {\rm{sin}}\, \alpha }}{{\, {\rm{cos}}\, \beta }}r}\end{align}
The equations of motion for the body angular rate of the UAV
$p$
,
$q$
, and
$r$
can be expressed as [Reference Stevens, Lewis and Johnson17]
where
Additionally, the kinematics of the Euler angles are expressed as follows [Reference Stevens, Lewis and Johnson17]:
\begin{align}\left[ {\begin{array}{c}{\dot \phi }\\[2pt]{\dot \theta }\\[2pt]{\dot \psi }\end{array}} \right] = \left[ {\begin{array}{c}{p + \left( {q\, {\rm{sin}}\, \phi + r\, {\rm{cos}}\, \phi } \right)\,{\rm{tan}}\,\theta }\\[2pt]{q\, {\rm{cos}}\, \phi - r\, {\rm{sin}}\, \phi }\\[2pt]{\left( {q\, {\rm{sin}}\, \phi + r\, {\rm{cos}}\, \phi } \right){\rm{sec}}\theta }\end{array}} \right]\end{align}
The thrust, forces and moments are given as follows:
\begin{align}\left[ {\begin{array}{c}D\\[2pt]Y\\[2pt]L\end{array}} \right] = QS\left[ {\begin{array}{c}{{C_D}}\\[2pt]{{C_Y}}\\[2pt]{{C_L}}\end{array}} \right] + {R_{wb}}\left[ {\begin{array}{c}0\\[2pt]0\\[2pt]{{T_{fl}} + {T_{fr}}}\end{array}} \right]\end{align}
\begin{align}\left[ {\begin{array}{*{20}{l}}{\bar L}\\[2pt]{\bar M}\\[2pt]{\bar N}\end{array}} \right] = QS\left[ {\begin{array}{*{20}{l}}{b{C_{\bar L}}}\\[2pt]{c{C_{\bar M}}}\\[2pt]{b{C_{\bar N}}}\end{array}} \right] + \left[ {\begin{array}{*{20}{l}}{{l_1}\left( {{T_{fl}} - {T_{fr}}} \right)}\\[2pt]{{l_2}\left( {{T_{fl}} + {T_{fr}}} \right)}\\[2pt]{{l_3}\left( {{T_{rl}} - {T_{rr}}} \right)}\end{array}} \right]\end{align}
where
${R_{wb}}$
is the coordinate transformation matrix from the body-fixed axis to the wind axis, which is defined as
\begin{align}{R_{wb}} = \left[ {\begin{array}{c@{\quad}c@{\quad}c}{\, {\rm{cos}}\, \alpha \, {\rm{cos}}\, \beta } & {}{ {\rm{sin}}\, \beta } {}&{ {\rm{sin}}\, \alpha \, {\rm{cos}}\, \beta }\\[2pt]{ - {\rm{cos}}\, \alpha \, {\rm{sin}}\, \beta } & {}{ {\rm{cos}}\, \beta } & {}{ - {\rm{sin}}\, \alpha \, {\rm{sin}}\, \beta }\\[2pt]{ - {\rm{sin}}\, \alpha } {}& 0 {}&{ {\rm{cos}}\, \alpha }\end{array}} \right]\end{align}
The aerodynamic force and moment coefficients are expressed as
\begin{align}{{C_D}} {}& = { {C_{{D_0}}} + {C_{{D_\alpha }}}\left( \alpha \right) + {C_{{D_{{\delta _l}}}}}\left( \alpha \right){\delta _l} + {C_{{D_{{\delta _r}}}}}\left( \alpha \right){\delta _r}}\nonumber\\[2pt]{{C_Y}} {}& = { {C_{{Y_\beta }}}\beta + \frac{b}{{2{V_T}}}{C_{{Y_p}}}\left( \alpha \right)p}\nonumber\\[2pt]{{C_L}} {}& = { {C_{{L_0}}} + {C_{{L_\alpha }}}\left( \alpha \right) + \frac{c}{{2{V_T}}}{C_{{L_q}}}q + {C_{{L_{{\delta _l}}}}}\left( {{\delta _l}} \right){\delta _l} + {C_{{L_{{\delta _r}}}}}\left( {{\delta _r}} \right){\delta _r}}\end{align}
\begin{align}{C_{\bar L}} & = {C_{{{\bar L}_\beta }}}\left( \alpha \right)\beta + \frac{b}{{2{V_T}}}{C_{{{\bar L}_p}}}\left( \alpha \right)p + \frac{b}{{2{V_T}}}{C_{{{\bar L}_r}}}\left( \alpha \right)r + {C_{{{\bar L}_{{\delta _l}}}}}\left( {{\delta _l}} \right){\delta _l} + {C_{{{\bar L}_{{\delta _l}}}}}\left( {{\delta _r}} \right){\delta _r}\nonumber\\[2pt]{C_{\bar M}} & = {C_{{{\bar M}_0}}} + {C_{{{\bar M}_\alpha }}}\left( \alpha \right) + {C_{{{\bar M}_{{\delta _l}}}}}\left( {{\delta _l}} \right){\delta _l} + {C_{{{\bar M}_{{\delta _r}}}}}\left( {{\delta _r}} \right){\delta _r}\nonumber\\[2pt]{C_{\bar N}} & = {C_{{{\bar N}_\beta }}}\beta + \frac{b}{{2{V_T}}}{C_{{{\bar N}_p}}}\left( \alpha \right)p + \frac{b}{{2{V_T}}}{C_{{{\bar N}_r}}}\left( \alpha \right)r + {C_{{{\bar N}_{{\delta _l}}}}}\left( {\alpha, {\delta _l}} \right){\delta _l} + {C_{{{\bar N}_{{\delta _r}}}}}\left( {\alpha, {\delta _r}} \right){\delta _r}\end{align}
The aerodynamic data are given in look-up table form and can be obtained from computational aerodynamics or experiments. The thrust of each rotor can be converted to the RPM of each rotor by using the nonlinear thrust model.
3.0 Terrain and path following guidance law
The guidance law is designed using Lyapunov-based approach, which consists of the terrain-following altitude controller and the horizontal path following controller. In the terrain-following controller, the altitude of the UAV is controlled to follow the reference signal with respect to the ground using the flight path angle. The path following controller is designed to stabilise the distance error between the UAV and the give path where the course angle of the UAV is used as a control input. The flight path angle command and the course angle command generated in the guidance law is used as reference signals, as illustrated in Fig. 2.
Guidance and control structure.

3.1 Terrain-following altitude control
The state variable for the altitude control is the altitude
$h$
, and the available control variable is
$\gamma $
. As
$h = - {p_z}$
, the equation of motion is obtained using Equation (1) as
To design the terrain-following altitude controller, the altitude error
${e_h}$
is defined as follows:
where
${h_{terr}}$
is the terrain elevation at the UAV position, and
${h_{cmd}}$
is the altitude command relative to the ground. Let us consider the Lyapunov candidate function
${V_{alt}} = \frac{1}{2}e_h^2$
. The derivative of
${V_{alt}}$
is given by
Note that
${\dot h_{terr}} = 0$
because the terrain elevation is not time-varying. Considering Equation (14), the guidance law for the flight path angle
${\gamma _{ref}}$
is chosen as
where
${k_h}$
is a positive control gain. Substituting Equation (15) into Equation (14) yields
Thus, the altitude error
${e_h} = h - \left( {{h_{terr}} + {h_{cmd}}} \right)$
reaches and stays on zero.
3.2 Horizontal path tracking control
The control objective of the horizontal path tracking control is to regulate the distance error between the UAV and the given path. The available control variable is the course angle of the UAV
$\chi $
. The equations of motion can be expressed as follows:
where
${\chi _r} = {\chi _p} - \chi $
,
${V_h} = {V_T}\, {\rm{cos}}\, \gamma $
,
${\chi _p}$
is the angle of the tangent vector at the nearest point on the path with respect to the UAV, and
$d$
is the distance between the UAV and the path as shown in Fig. 3. Note that
$d$
is defined to be positive if the UAV is located on the right-hand side of the path, and negative if the UAV is located on the left-hand side of the path.
Horizontal path and the UAV.

As the control objective is to control
$d$
to stay on zero, let us consider the Lyapunov candidate function
${V_{path}} = \frac{1}{2}{d^2}$
. The derivative of
${V_{path}}$
is given by
From Equation (18) and the definition of
${\chi _r}$
, the guidance law for the course angle
${\chi _{ref}}$
is chosen as
where
and
${k_p}$
is a positive control gain. Note that
${\chi _{r,ref}}$
is chosen to be within
$\left[ { - \frac{\pi }{2},\frac{\pi }{2}} \right]$
. By substituting Equation (19) into Equation (18), we have
Thus,
$d$
reaches and stays on zero.
4.0 Control design
In this section, a flight path controller is designed using SMC approach and CBF approach. The control objective is to control
${V_T}$
,
$\gamma $
, and
$\chi $
to track their reference signals while maintaining the roll and pitch angles in the desired specific range. To achieve this objective, a control structure is proposed considering the attitude constraint, which consists of three loops: a flight path control loop, an attitude control loop and an angular rate control loop. A block diagram of the control structure is shown in Fig. 2.
In the flight path control loop,
${V_T}$
,
$\gamma $
and
$\chi $
are chosen as the state variables. The UAV considered in this study has a pair of front rotors and rear rotors that produce a vertical thrust and a horizontal thrust, respectively, and therefore
$T$
and
$L$
are used as virtual control inputs to be determined in the flight path control loop. Moreover,
$\beta $
is used as a virtual control input. Note that
$\alpha $
is not used as a virtual control input because the range of
$\alpha $
is limited due to the attitude constraint. In the attitude control loop,
$\beta $
is controlled to follow the desired value while keeping
$\phi $
and
$\theta $
in the desired range. The angular rates
$\left( {p,q,r} \right)$
serve as virtual control inputs to be determined, which are the states of the angular rate control loop. The moments
$\left( {\bar L,\bar M,\bar N} \right)$
are used as control inputs to be determined in the angular rate control loop. The moment commands are combined with the thrust and lift commands to generate the real actuator commands
$\left( {{T_{fl}},{T_{fr}},{T_{rl}},{T_{rr}},{\delta _l},{\delta _r}} \right)$
via control allocation. The controller is designed for each control loop using the SMC approach for the flight path control loop and angular rate control loop and the CBF approach for the attitude control loop. Details of the proposed controller design are explained in the following sections.
4.1 Sliding mode control design for flight path control and angular rate control
4.1.1 Flight path control
In the flight path control loop, the state vector for the flight path control loop is
${x_1} = {\left[ {\begin{array}{*{20}{l}}{{V_T}} {}\gamma {}\chi \end{array}} \right]^T}$
, and the available (virtual) control variables are the thrust
$T$
, lift
$L$
, and sideslip angle
$\beta $
. Equation (2) is the relevant equation of motion. Note that the control variables
$T$
and
$\beta $
are not affine in (2). Therefore, a new control vector
$v$
is defined as follows:
\begin{align}v = \left[ {\begin{array}{c}{{v_1}}\\{{v_2}}\\{{v_3}}\end{array}} \right] = \left[ {\begin{array}{c}{T\, {\rm{cos}}\, \alpha \, {\rm{cos}}\, \beta }\\[2pt]{T\left( { {\rm{sin}}\, \alpha \, {\rm{cos}}\, \mu + \, {\rm{cos}}\, \alpha \, {\rm{sin}}\, \beta \, {\rm{sin}}\, \mu } \right) + L\, {\rm{cos}}\, \mu - Y\, {\rm{sin}}\, \mu }\\[2pt]{T\left( { {\rm{sin}}\, \alpha \, {\rm{sin}}\, \mu - {\rm{cos}}\, \alpha \, {\rm{sin}}\, \beta \, {\rm{cos}}\, \mu } \right) + L\, {\rm{sin}}\, \mu + Y\, {\rm{cos}}\, \mu }\end{array}} \right]\end{align}
Then, Equation (2) is rewritten using
$v$
as
where
\begin{align} f_{1}\left( x_{1} \right) = \left[\begin{array}{c} -\dfrac{D}{m} - g\sin{\gamma} \\[9pt] -\dfrac{g\cos{\gamma}}{V_{T}} \\[9pt] 0 \end{array}\right], \quad G_{1}\left( x_{1} \right) = \dfrac{1}{m} \left[\begin{array}{c@{\quad}c@{\quad}c} 1 & 0 & 0 \\[6pt] 0 & \dfrac{1}{V_{T}} & 0 \\[9pt] 0 & 0 & \dfrac{1}{V_{T}\cos{\gamma}} \end{array}\right]\end{align}
To design the sliding mode controller, the appropriate sliding variable should be defined. The control objective is to make
${x_1}$
follow the reference signals
${x_{1,ref}} = {\left[ {\begin{array}{c}{{V_{T,ref}}}\quad {}{{\gamma _{ref}}}\quad {}{{\chi _{ref}}}\end{array}} \right]^T}$
, and therefore the sliding variable is defined as
${s_1} = {x_1} - {x_{1,ref}}$
. Let us consider the Lyapunov candidate function
${V_1} = \frac{1}{2}s_1^T{s_1}$
. The derivative of
${V_1}$
is given by
Considering Equation (25), the control law
${v_{des}}$
is chosen as follows:
where
${K_1} = {\rm{diag}}\left( {K_{11}^1,K_{22}^1,K_{33}^1} \right)$
is a positive definite gain matrix. Note that the flight path angle
$\gamma $
is maintained within a small value, and the matrix
${G_1}$
is always nonsingular. By substituting Equation (26) into Equation (25), we have
where
$\parallel {s_1}\parallel $
is the one-norm of the vector
${s_1}$
, and
${k_1} = {\rm{min}}\left( {{K_{11}},{K_{12}},{K_{13}}} \right)$
. Thus, the state trajectory reaches and stays on the sliding surface
${s_1} = 0$
, and therefore the error
${x_1} - {x_{1,ref}}$
tends to zero; that is,
${x_1}$
follows the reference signals.
The desired control variables
${T_{des}}$
,
${L_{des}}$
, and
${\beta _{des}}$
, which are employed in the attitude control loop and control allocation as in Fig. 2, should be determined by
$v$
, Equation (26). From Equation (22), the following relations are obtained.
The angle-of-attack
$\alpha $
and the sideslip angle
$\beta $
are maintained at small values, and therefore
${T_{des}}$
can be obtained without any singular problems. From Equations (7) and (10), we have
Finally,
${\beta _{des}}$
is obtained using Equation (31) as
Note that
${C_{{Y_\beta }}}$
, Q, and
${V_T}$
are not zero. Among the control variables,
${T_{des}}$
and
${L_{des}}$
are combined with the desired moment signals to obtain the actuator commands by control allocation, and
${\beta _{des}}$
is used as a reference signal in the attitude control loop.
Remark 1. Note that the manoeuverability of the UAV is ensured even when
$\alpha $
and
$\beta $
are maintained at small values. For the vertical manoeuverability, the front rotors of the UAV generate a vertical thrust regardless of
$\alpha $
. Therefore,
${L_{des}}$
can be generated using the front rotors under the small angle-of-attack condition. For the horizontal manoeuverability, the elevons of the UAV generate aerodynamic side force. Because the UAV considered in this study does not perform agile maneuvers due to the attitude constraint, the aerodynamic side force generated by the elevons is enough for
${Y_{des}}$
under the small sideslip angle condition.
4.1.2 Angular rate control
In the angular rate control loop, the body-axis angular rate
${x_3} = {\left[ {\begin{array}{c}p\quad {}q\quad {}r\end{array}} \right]^T}$
is controlled to follow the desired angular rate
${\left[ {\begin{array}{c}{{p_{des}}}\quad {}{{q_{des}}}\quad {}{{r_{des}}}\end{array}} \right]^T}$
from the attitude control loop. The control vector to be designed in this loop is the body-axis moment
${u_m} = {\left[ {\begin{array}{c}{\bar L}\quad {}{\bar M}\quad {}{\bar N}\end{array}} \right]^T}$
. Using Equation (4), the equations of motion in this loop can be written as
where
\begin{align}{f_3}\left( {{x_3}} \right) = \left[ {\begin{array}{c}{\left( {{c_1}r + {c_2}p} \right)q}\\[2pt]{{c_5}pr - {c_6}\left( {{p^2} - {r^2}} \right)}\\[2pt]{\left( {{c_8}p - {c_2}r} \right)q}\end{array}} \right],{\rm{\;\;\;\;}}{G_3} = \left[ {\begin{array}{c@{\quad}c@{\quad}c}{{c_3}} & {}0 & {}{{c_4}}\\[2pt]0 & {}{{c_7}} & {}0\\[2pt]{{c_4}} & {}0 & {}{{c_9}}\end{array}} \right]\end{align}
Note that
${G_3}$
is nonsingular because
and
${J_y}$
and
${J_x}{J_z} - J_{xz}^2$
are not zero.
To design the sliding mode controller, the sliding variable is defined as
${s_3} = {x_3} - {x_{3,ref}}$
, where
${x_{3,ref}} = {\left[ {\begin{array}{c}{{p_{ref}}}\quad {}{{q_{ref}}}\quad {}{{r_{ref}}}\end{array}} \right]^T}$
is the reference signal obtained in the attitude control loop, which will be explained in the subsequent section. Let us consider the Lyapunov candidate function
${V_2} = \frac{1}{2}s_3^T{s_3}$
. The derivative of
${V_3}$
is given by
Considering (36), the control input
${u_m}$
is chosen as follows:
where
${K_3} = {\rm{diag}}\left( {K_{11}^3,K_{22}^3,K_{33}^3} \right)$
is a positive definite gain matrix. Substituting Equation (37) into Equation (36) yields
where
${k_3} = {\rm{min}}\left( {{K_{31}},{K_{32}},{K_{33}}} \right)$
. Note that
${\dot x_3}$
is difficult to obtain analytically, and therefore it is considered an uncertainty in this study. To address
${\dot x_3}$
, it is assumed that there exists a positive constant
$\eta $
such that
To compensate for the effect of
${\dot x_{3,ref}}$
, the gain matrix
${K_3}$
is chosen as
${k_3} \geq \eta + k$
, where
$k$
is a positive constant. Then, the following inequality holds.
Thus, the state trajectory reaches and stays on the sliding surface
${s_3} = 0$
, which means that the error
${x_3} - {x_{3,ref}}$
tends to zero. As previously mentioned, the desired moment signals,
${u_m} = {\left[ {\begin{array}{*{20}{l}}{{{\bar L}_{des}}}\quad {}{{{\bar M}_{des}}}\quad {}{{{\bar N}_{des}}}\end{array}} \right]^T}$
, which are obtained from the angular rate control law in (37), are combined with
${T_{des}}$
and
${L_{des}}$
to generate the actuator commands using control allocation, as shown in Fig. 2.
Remark 2. Due to the attitude constraint, the UAV considered in this study does not perform manoeuvers such as large or agile manoeuvers. Thus,
$\parallel {\dot x_{3,ref}}{\parallel _\infty }$
is sufficiently small during flight.
4.2 CBF-Based control design for attitude control
4.2.1 Control barrier functions
In this section, the fundamentals of the control barrier function are briefly explained. The control barrier function was developed to ensure safety by constraining the control input so that the system state remains within a safe region [Reference Wieland and Allgöwer6]. Therefore, the control barrier function can be used to design a controller that guarantees the safety of the closed-loop system with respect to a given set. First, let us consider the following nonlinear system.
where
$f$
and
$g$
are locally Lipschitz,
$x \in X \subset {\mathbb{R}^n}$
, and
$u \in U \subset {\mathbb{R}^m}$
. A superlevel set
$C$
of a continuously differentiable function
$h\,:\,X \to \mathbb{R}$
is defined as
Then,
$h$
is a control barrier function if there exists an extended class
${K_\infty }$
function
${\alpha _h}$
such that for the system in Equation (41),
for all
$x \in X$
[Reference Ames, Xu, Grizzle and Tabuada15], where
Let us consider the set consisting of all the controls satisfying Equation (43),
By the main result of Ref. (Reference Ames, Xu, Grizzle and Tabuada15), if
$\frac{{\partial h}}{{\partial x}}\left( x \right) \ne 0$
for all
$x \in \partial {\mathcal{C}}$
, any Lipschitz continuous controller
$u\left( x \right) \in {U_{cbf}}\left( x \right)$
renders the set
$C$
forward invariant, i.e. for every
${x_0} \in {\mathcal{C}}$
,
$x\left( t \right) \in {\mathcal{C}}$
for
$x\left( 0 \right) = {x_0}$
and all
$t \in \left[ {0,{t_{max}}} \right)$
.
Remark 3. Note that the controller
$u\left( x \right)$
can be arbitrarily chosen to render the set
${\mathcal{C}}$
forward invariant as long as
$u \in {U_{cbf}}$
. For instance, a control input that satisfies the CBF constraint was analytically obtained [Reference Wieland and Allgöwer6], and an optimisation-based controller with the CBF constraint was designed [Reference Cortez, Oetomo, Manzie and Choong12]. Moreover, the CBF was combined with the CLF to design a stabilising controller while satisfying the CBF constraint [Reference Romdlony and Jayawardhana13, Reference Romdlony and Jayawardhana14].
4.2.2 Attitude control design
The attitude controller is designed using the CBF approach. The appropriate barrier functions considering the control objective should first be defined, and a QP-based controller with a barrier function constraint should be designed. The control objective of the attitude control loop is to make
$\beta $
track its reference signal while maintaining
$\phi $
and
$\theta $
within the desired ranges. Thus, the state vector for the attitude control loop is defined as
${x_2} = {\left[ {\begin{array}{*{20}{l}}\beta\quad {}\phi\quad {}\theta \end{array}} \right]^T}$
, and the available virtual control input is the body-axis angular rate
${x_3}$
. The equations of motion of this loop are obtained from Equations (3) and (5) as
where
$${f_2}\left( {{x_1},{x_2}} \right) = \left[ {\matrix{ {{{Y - T\,{\mkern 1mu} {\rm{cos}}\,{\mkern 1mu} \alpha \,{\mkern 1mu} {\rm{sin}}\,{\mkern 1mu} \beta } \over {m{V_T}}} + {{g{\mkern 1mu} \,{\rm{sin}}\,{\mkern 1mu} \mu \,{\mkern 1mu} {\rm{cos}}{\mkern 1mu} \,\gamma } \over {{V_T}}}} \cr 0 \cr 0 \cr } } \right]$$
$${G_2}\left( {{x_2}} \right) = \left[ {\matrix{ {{\mkern 1mu} {\rm{sin}}{\mkern 1mu} \,\alpha } & 0 & { - {\rm{cos}}{\mkern 1mu} \,\alpha } \cr 1 & {{\rm{tan}}\,{\mkern 1mu} \theta {\mkern 1mu}\,{\rm{sin}}\,{\mkern 1mu} \phi } & {{\rm{tan}}\,{\mkern 1mu} \theta {\mkern 1mu}\,{\rm{cos}}\,{\mkern 1mu} \phi } \cr 0 & {{\rm{cos}}\,{\mkern 1mu} \phi } & { - {\rm{sin}}{\mkern 1mu} \,\phi } \cr } } \right]$$
To design the controller using the CBF, the barrier functions corresponding to the attitude constraint should be defined. Note that the constraints for
$\phi $
and
$\theta $
considered in this study are described as
Considering the above constraints, let us define the barrier candidate functions as follows:
where
\begin{align}{\phi _r} & = \frac{{{\phi _{max}} - {\phi _{min}}}}{2}, {}{{\rm{\;\;\;\;\;\;\;\;}}{\phi _m} = \frac{{{\phi _{max}} + {\phi _{{\rm{min}}}}}}{2}}\nonumber\\[5pt]{\theta _r} & = \frac{{{\theta _{max}} - {\theta _{min}}}}{2}, {}{{\rm{\;\;\;\;\;\;\;\;}}{\theta _m} = \frac{{{\theta _{max}} + {\theta _{{\rm{min}}}}}}{2}}\end{align}
Note that the attitude constraints, Equations (48) and (49), are satisfied if
${h_\phi } \geq 0$
and
${h_\theta } \geq 0$
are maintained [Reference Ames, Coogan, Egerstedt, Notomista, Sreenath and Tabuada18].
The superlevel sets
${{\mathcal{C}}_\phi }$
of
${h_\phi }$
and
${{\mathcal{C}}_\theta }$
of
${h_\theta }$
are defined as
\begin{align}{{\mathcal{C}}_\phi } & = \left\{ {x \in \left( { - \pi, \pi } \right]\,:\,{h_\phi }\left( x \right) \geq 0} \right\}, {}{{\rm{\;\;\;\;}}{{\mathcal{C}}_\theta } = \left\{ {x \in \left( { - \pi, \pi } \right]\,:\,{h_\theta }\left( x \right) \geq 0} \right\}}\nonumber\\[5pt]\partial {{\mathcal{C}}_\phi } & = \left\{ {x \in \left( { - \pi, \pi } \right]\,:\,{h_\phi }\left( x \right) = 0} \right\}, {}{{\rm{\;\;\;\;}}\partial {{\mathcal{C}}_\theta } = \left\{ {x \in \left( { - \pi, \pi } \right]\,:\,{h_\theta }\left( x \right) = 0} \right\}}\end{align}
Note that
${h_\phi }\left( \phi \right) \geq 0$
for all
$\phi \in \partial {{\mathcal{C}}_\phi }$
and
${h_\theta }\left( \theta \right) \geq 0$
for all
$\theta \in \partial {{\mathcal{C}}_\theta }$
. Any Lipschitz continuous controller
${x_3}$
satisfying the following conditions renders the sets
${{\mathcal{C}}_\phi }$
and
${{\mathcal{C}}_\theta }$
safe, i.e., for every
${x_0} \in {\mathcal{C}}$
,
$x\left( t \right) \in {\mathcal{C}}$
for
$x\left( 0 \right) = {x_0}$
, where
${\alpha _\phi }$
and
${\alpha _\theta }$
are the extended class
${K_\infty }$
functions [Reference Ames, Xu, Grizzle and Tabuada15].
The derivative of each barrier candidate function is expressed using Equation (5) as follows:
Therefore, a control law
${x_{3,ref}}$
that satisfies the following constraints is obtained.
In addition to
$\phi $
and
$\theta $
, the sideslip angle
$\beta $
should be controlled to follow its reference signal. In this study, the CLF approach is utilised to control
$\beta $
. A constraint for the control law to make
$\beta $
follow its reference signal is defined using the CLF, which is combined with the barrier function constraint to design the controller. Let us consider the Lyapunov candidate function
${V_\beta } = \frac{1}{2}{\left( {\beta - {\beta _{ref}}} \right)^2}$
. The derivative of
${V_\beta }$
is obtained using Equation (46) as
Note that
${\dot \beta _{ref}}$
is assumed as zero because the UAV considered in this study does not perform large or agile manoeuvers. Then, any Lipschitz continuous controller
${x_3}$
that satisfies
${\dot V_\beta } \le - {\gamma _\beta }\left( {{V_2}} \right)$
asymptotically stabilises the system, (54), to
$\beta = {\beta _{ref}}$
, where
${\gamma _\beta }$
is the class
${K_\infty }$
function [Reference Ames, Galloway, Sreenath and Grizzle19]. Therefore, the CLF constraints for the control law
${x_{3,ref}}$
are described as follows:
To realise the CBF and CLF constraints, an optimisation problem is defined. First, the performance index
$J$
is defined as
where
${w_1}$
,
${w_2}$
and
${w_3}$
are positive constants, and
$\xi \geq 0$
is a relaxation variable that ensures the solvability of the problem. Using Equation (61), the following optimisation problem is derived.
subject to
The performance index Equation (61) can be modified using Equation (5) as
where
\begin{align}H = \left[ {\begin{array}{c@{\quad}c}1 & {}0\\{\,{\rm{tan}}\,\theta \, {\rm{sin}}\, \phi } & {}{ {\rm{cos}}\, \phi }\\{\,{\rm{tan}}\,\theta \, {\rm{cos}}\, \phi } & {}{ - {\rm{sin}}\, \phi }\end{array}} \right]\left[ {\begin{array}{c@{\quad}c}{{w_1}} & {}0\\0 & {}{{w_2}}\end{array}} \right]\left[ {\begin{array}{c@{\quad}c@{\quad}c}1 & {}{{\rm{tan}}\,\theta \, {\rm{sin}}\, \phi } & {}{{\rm{tan}}\,\theta \, {\rm{cos}}\, \phi }\\0 & {}{ {\rm{cos}}\, \phi } & {}{ - {\rm{sin}}\, \phi }\end{array}} \right]\end{align}
Note that the optimisation problem (62) with the performance index (64) and constraints (63) is the QP. The control law
${x_{3,ref}}$
can be calculated by solving the QP, which serves as the reference signal in the angular rate control loop.
4.3 Control allocation
In this section, the control allocation scheme is described to obtain the real actuator command
${u_{act}} = {\left[ {{T_{fl}}{\rm{\;\;}}{T_{fr}}{\rm{\;\;}}{T_{rl}}{\rm{\;\;}}{T_{rr}}{\rm{\;\;}}{\delta _l}{\rm{\;\;}}{\delta _r}} \right]^T}$
. The objective of the control allocation is to determine
${u_{act}}$
which generates the desired thrust
${T_{des}}$
, lift
${L_{des}}$
, and moments
$\left( {{{\bar L}_{des}},{{\bar M}_{des}},{{\bar M}_{des}}} \right)$
. Let us define the following vector.
\begin{align}{u_{fm}} = \left[ {\begin{array}{c}{{T_\delta }}\\[4pt]{{L_\delta }}\\[4pt]{{{\bar L}_\delta }}\\[4pt]{{{\bar M}_\delta }}\\[4pt]{{{\bar N}_\delta }}\end{array}} \right] = \left[ {\begin{array}{c}{{T_{des}}}\\[4pt]{{L_{des}}}\\[4pt]{{{\bar L}_{des}}}\\[4pt]{{{\bar M}_{des}}}\\[4pt]{{{\bar N}_{des}}}\end{array}} \right]-QS\left[ {\begin{array}{c}0\\[4pt]{{C_{{L_0}}} + {C_{{L_\alpha }}} + \dfrac{c}{{2{V_T}}}{C_{{L_q}}}q}\\[9pt]{b\left( {{C_{{{\bar L}_\beta }}}\beta + \dfrac{b}{{2{V_T}}}\left( {{C_{{{\bar L}_p}}}p + {C_{{{\bar L}_r}}}r} \right)} \right)}\\[12pt]{c\left( {{C_{{{\bar M}_0}}} + {C_{{{\bar M}_\alpha }}}} \right)}\\[8pt]{b\left( {{C_{{{\bar N}_\beta }}} + \dfrac{b}{{2{V_T}}}\left( {{C_{{{\bar N}_p}}}p + {C_{{{\bar N}_r}}}r} \right)} \right)}\end{array}} \right]\end{align}
From Equations (6) to (11), the following equation holds:
\begin{align}{u_{fm}} = B{u_{act}} = \left[ {\begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c@{\quad}c}0 & {}0 & {}1 & {}1 & {}0 & {}0\\[3pt]{\, {\rm{cos}}\, \alpha } & {} {}{\, {\rm{cos}}\, \alpha } & {} {}0 & {} {}0 & {} {}{{L_{{\delta _l}}}} & {} {}{{L_{{\delta _r}}}}\\[3pt]{{l_1}} & {} {}{ - {l_1}} & {} {}0 {} & {}0 & {} {}{{{\bar L}_{{\delta _l}}}} & {} {}{{{\bar L}_{{\delta _r}}}}\\[3pt]{{l_2}} & {} {}{{l_2}} & {} {}0 & {} {}0 & {} {}{{{\bar M}_{{\delta _l}}}} & {} {}{{{\bar M}_{{\delta _r}}}}\\[3pt]0 & {} {}0 & {} {}{{l_3}} & {} {}{ - {l_3}} & {} {}{{{\bar N}_{{\delta _l}}}} & {} {}{{{\bar N}_{{\delta _r}}}}\end{array}} \right]{u_{act}}\end{align}
with
${L_{{\delta _l}}} = QS{C_{{L_{{\delta _l}}}}}$
,
${\bar L_{{\delta _l}}} = QSb{C_{{{\bar L}_{{\delta _l}}}}}$
,
${\bar M_{{\delta _l}}} = QSc{C_{{{\bar M}_{{\delta _l}}}}}$
,
${\bar N_{{\delta _l}}} = QSb{C_{{{\bar N}_{{\delta _l}}}}}$
,
${L_{{\delta _r}}} = QS{C_{{L_{{\delta _r}}}}}$
,
${\bar L_{{\delta _r}}} = QSb{C_{{{\bar L}_{{\delta _r}}}}}$
,
${\bar M_{{\delta _r}}} = QSc{C_{{{\bar M}_{{\delta _r}}}}}$
, and
${\bar N_{{\delta _r}}} = QSb{C_{{{\bar N}_{{\delta _r}}}}}$
. The actuator commands
${u_{act}}$
are calculated using the weighted pseudoinverse of
$B$
as
where
$W$
is a positive diagonal matrix. The calculated rotor thrust commands
$\left( {{T_{fl}},{T_{fr}},{T_{rl}},{T_{rr}}} \right)$
are converted to RPM commands using the nonlinear thrust model of each rotor.
5.0 Numerical simulation
Numerical simulation is performed to demonstrate the effectiveness of the designed altitude tracking controller. In the simulation, it is assumed that the UAV performs a mission for ground explosive detection, which requires the UAV to maintain the altitude relative to the ground to a fixed value. The initial flight condition of the UAV is set as a trim condition with a true airspeed of 25m/s, an altitude of 30m above the ground and a zero flight path angle. The attitude change limit is set to 1 degree. That is, it is assumed that the exploration performance is severely degraded if the roll or pitch angle change are over 1 degree with respect to their trim value. Two different scenarios are considered. In the first scenario, the UAV is controlled to follow a circular path with a sinusoidal terrain. In the second scenario, the UAV is controlled to follow a linear path with the terrain which is constructed based on the digital elevation model. Each path starts at the initial position of the UAV. In both scenarios, the desired roll and pitch angles are set to remain within 1 degree of the trim values. The control gains, the class
${K_\infty }$
function
${\gamma _\beta }$
, the extended class
${K_\infty }$
functions
${\alpha _\phi }$
and
${\alpha _\theta }$
, and other parameters used in the simulations are summarised in Table 1.
Control gains and various functions and coefficients

In the numerical simulation, the actuator dynamics for the rotors and the elevon are modeled as first-order dynamics as
where
$\delta $
denotes the actuator deflection,
${\delta _c}$
is the actuator command, and
$\tau $
is the time constant.
To compare the performance of the proposed flight path controller, two nonlinear controllers are designed: i) the sliding mode controller, and ii) the nonlinear dynamic inversion (NDI) controller. The SMC and NDI controller are designed to focus on the attitude control and path following, repectively. In each controller,
$\phi $
and
$\theta $
are controlled to maintain their trim values.
5.1 Scenario 1: circular path
In Scenario 1, the performance of the proposed algorithm for a circular path with a sinusoidal terrain is examined. The path consists of the linear path of 100m heading to the positive
$x$
direction, the counterclockwise half circle path with the radius of 400m, and another linear path of 100m heading to the negative
$x$
direction. The terrain elevation for the Scenario 1 is given as
The terrain and the path are illustrated in Fig. 4.
Terrain and path in the Scenario 1.

Figures 5–7 show the simulation results of Scenario 1, where
${\rm{RP}}{{\rm{M}}_{f,max}}$
and
${\rm{RP}}{{\rm{M}}_{r,max}}$
are the maximum RPM of the front rotors and the rear rotors, respectively. As shown in Fig. 5, all of the three controllers show a similar performance in terrain-following and path following. However, both SMC and NDI controllers show performance degradation in
${V_T}$
control for
$15{\rm{sec}} \le t \le 55{\rm{sec}}$
as shown Fig. 5(a). This is because an excessive control effort was made on the rear rotors to maintain the roll angle at its trim value. As depicted in Fig. 6(b), the SMC and NDI controllers maintain the roll angle at its trim value, which is zero. This prevents the front rotors and wings from contributing to changes in
$\beta $
, and therefore the rear rotors are mainly used to control
$\beta $
. As a result, an excessive control effort was made on the rear rotors, which leads to saturation on rear rotors as shown in Fig. 7(a). On the contrary, the
${V_T}$
control performance was not significantly degraded for the proposed controller. This is because the roll angle was allowed to be slightly changed on the circular path as shown in Fig. 6(b), which allows the front rotors and wings to contribute to changes in
$\beta $
, and makes the rear rotors not be saturated as shown in Fig. 7(a). Therefore, the control effort made by the proposed controller was admissible compared to the SMC and NDI controllers. Moreover, the roll angle constraint was violated at the beginning and at the end of the circular path when the NDI controller was used, which shows that the NDI controller does not guarantee the satisfaction of the attitude constraint unlike the proposed controller. Therefore, it can be expected that the proposed controller has a better tracking and exploration performance on a circular path than the other controllers.
Terrain and path following result in Scenario 1. (a) Time response of the altitude. (b) Horizontal path.

State trajectories of the UAV in Scenario 1. (a) True airspeed, flight path angle and course angle. (b) Roll and pitch angle.

Control input trajectories of the UAV in Scenario 1. (a) Normalised RPM. (b) Elevon deflection.

5.2 Scenario 2: linear path
In Scenario 2, the performance of the proposed algorithm was examined for a linear path with a realistic terrain. The given path in this scenario is a linear path of 1,500m heading to the positive x direction. The terrain is constructed based on the digital elevation model, and the terrain elevation change is adjusted considering the control power of the UAV. The terrain and the path are illustrated in Fig. 8.
Terrain and path in the Scenario 2.

The simulation results are shown in Figs. 9–11. It is shown in Figs. 9 and 10 that the responses of the SMC controller diverge when the UAV descends a steep slope. It is because an excessive control effort was made to maintain the pitch angle at its trim value. As shown in Fig. 10(b), the pitch angle is maintained closer to the trim value before it diverges compared to other controllers. Especially, the pitch angle difference with respect to the trim value is smaller for
$20\,{\rm{sec}} \le t \le 23\,{\rm{sec}}$
, where the elevon input is saturated as shown in Fig. 11(b). Likewise, all of the control inputs are saturated when the UAV descends a steep slope, which makes the response of the SMC controller diverge, because the controller tried to maintain the pitch angle at its trim value. On the other hand, the NDI controller shows a stable performance as shown in Figs 9 and 10(a). However, the pitch angle constraint was violated when the UAV ascends a steep slope, which is shown in Fig. 10(b). This is because the NDI controller does not guarantee the satisfaction of the attitude constraint, which leads to the violation of the attitude constraint for better tracking performance. The proposed controller shows a stable performance. The pitch angle constraint was not violated when the proposed controller was used because the proposed controller guarantees to satisfy the attitude constraint. Therefore, it can be expected that the proposed controller has a satisfactory tracking and exploration performance on a real terrain.
Terrain-following result in Scenario 2.

State trajectories of the UAV in Scenario 2. (a) True airspeed, flight path angle and course angle. (b) Roll and pitch angle.

Control input trajectories of the UAV in Scenario 2. (a) Normalised RPM. (b) Elevon deflection.

The errors for each controller and each scenario are summarised in Tables 2 and 3. Table 2 shows the root-mean-square errors (RMSEs) of altitude, horizontal path and
${V_T}$
. In Scenario 1, the RMSEs of altitude and horizontal path for each controller are similar. However, the RMSE of
${V_T}$
is more than 5 times larger for SMC and more than 8 times larger for NDI compared to the proposed controller. In Scenario 2, the NDI controller and the proposed controller show similar RMSE values, whereas the SMC controller became unstable.
RMSE for terrain and path following

Cumulative attitude error

Table 3 shows the cumulative errors of
$\phi $
and
$\theta $
for each controller which are obtained by integrating the errors, where Trim means the errors with respect to the trim value and Constraint means the amount of constraint violation. The proposed error shows the largest error of
$\phi $
with respect to the trim value in Scenario 1 because
$\phi $
was changed slightly within an acceptable range in Scenario 1, but
$\theta $
error with respect to the trim is the smallest among the controllers. The constraint is not violated when the proposed controller was used, whereas the SMC controller became unstable in Scenario 2 and the NDI controller violated the attitude constraint in both scenarios.
6.0 Conclusion
A terrain and path following algorithm considering an attitude constraint was designed for a fixed-wing UAV. The proposed algorithm consists of a guidance law and a flight path controller. For the guidance law, a terrain-following altitude controller and a horizontal path following controller were designed using Lyapunov-based control scheme. In the flight path controller, cascaded subsystems were considered to address the attitude constraint. A sliding mode control scheme was applied for flight path control and angular rate control. For attitude control, the control barrier function approach was combined with the CLF so that the roll and pitch angles vary within the desired range, while the other state follows its reference signal. A QP-based controller with CBF and CLF constraints was designed, and the control law was obtained by solving the QP. As the UAV with redundant control surfaces was considered to deal with the attitude hold constraint, weighted pseudoinverse-based control allocation was employed. Numerical simulation was performed to demonstrate the effectiveness of the proposed controller. SMC and NDI controllers were also designed to compare the performance with the proposed controller. The SMC controller showed performance degradation because of the saturation in the control input. When the NDI controller was used, the control input was saturated and the attitude constraint was violated. On the contrary, the simulation results of the proposed controller were satisfactory without violating the attitude constraint and without control input saturation. Numerical simulation results show that the proposed controller has a proper performance with respect to the terrain following while satisfying the attitude constraint.
Acknowledgements
This research was supported by the Defense Challengeable Future Technology Program of the Agency for Defense Development, Republic of Korea.



