1 Introduction

Due to their unique flight capabilities such as vertical take-off and landing, hovering and strong maneuverability, unmanned helicopters have received continuous attention and research from scholars in the past decades, and have shown wide application prospects in military and civil fields. A stable and reliable flight control system is an important prerequisite for the application of various unmanned helicopters. With the rapid expansion of the application field, the demand for autonomous flight technology of unmanned helicopter is higher. For example, customers not only need stable and reliable flight control system, but also need unmanned helicopters with higher response speed and stronger anti-interference ability to perform specific missions in harsher environment. Therefore, it is of great academic significance and application value to explore autonomous flight control system of unmanned helicopter with stronger control performance.

In recent years, researchers have devoted a lot of efforts to the autonomous flight control technology of unmanned helicopter, which has provided a great deal of valuable experience. Because small unmanned helicopter is a nonlinear, high-order and highly coupled complex model, it is very difficult to obtain its accurate nonlinear model, lots of researchers use PID control method to design the flight control system. Researchers from Applied Nonlinear Controls Lab (ANCL) of University of Alberta have designed an attitude controller for unmanned helicopter by combining PID control and feedforward control, and verified it in real flight [12]. Then, the researchers further add position control in [29] and conduct detailed stability analysis by using Lyapunov theory. Finally, the effectiveness is verified by actual flight experiment. However, the traditional PID control method has poor robustness to model uncertainties and external disturbances. Therefore, one of the aims of this paper is to improve the robustness of the closed-loop system by combining sliding mode control with optimal control theory [40].

Linear control method plays an important role in the design of flight control system and is widely used in various aircrafts [8, 9, 20]. One of the unavoidable problems in the design of unmanned helicopter control system using \(H\infty \) control technology is the high order of controller, which leads to the difficulty in engineering application. A hierarchical control structure is designed for a small unmanned helicopter in [35]. The inner loop adopts \(H\infty \) control to stabilize the attitude, and the outer loop uses PI controller to track the reference position, reducing the order of the whole system. Of all \(H\infty \) methods, loop shaping is widely favored due to its simple design process. A hover controller is designed using extended loop shaping in [31, 32] and good simulation results are achieved, but the unmanned helicopter can only fly autonomously under flight modes of hovering and low forward speed. In addition, linear control methods such as LQR [19, 27], LQG [25, 36] and LPV [4, 17] are also widely used in autonomous flight of unmanned helicopters. However, linear control method must rely on the model linearized at the equilibrium point, only the autonomous flight near the equilibrium point can be guaranteed theoretically, which limits the large envelope flight of the unmanned helicopter, leading to relatively conservative control performance. On the contrary, the proposed method makes full use of the high maneuverability of the unmanned helicopter, resulting in a larger flight envelope of the control system, which breaks away from the limit of the equilibrium point.

Because of the advantages of simple structure and small amount of calculation, backstepping control is widely used in autonomous flight of unmanned helicopter, and can be combined with other nonlinear control methods [1, 3, 6, 7, 21, 28, 37, 43, 44]. In [37], the attitude control system is designed by combining backstepping control and adaptive technology with unknown system parameters, which is proved to be asymptotically stable by Lyapunov stability theory, and the effectiveness is verified by simulation and actual flight experiments.The authors of [14, 21] regard model uncertainty and external disturbance as lumped unknown disturbance, and design an autonomous flight controller combining backstepping control and nonlinear disturbance observer. The adaptive backstepping controller of unmanned helicopter is also designed by combining backstepping control with adaptive radial basis function neural network (RBFNN) using online parameter updating law with the least parameters in [41]. Although this method significantly reduces the computational burden of the control system, the cost is the loss of partial robustness.

In order to obtain faster dynamic response and more robust control performance, many researchers turn their attention to finite time and sliding mode control methods [5, 13, 16, 26, 30]. In [18], the finite-time stability of the trajectory tracking control system of unmanned helicopter is studied, and the finite-time convergence of the system is guaranteed by combining sliding mode observer and hybrid active disturbance rejection technology. In [34], adaptive finite time control and radial basis function neural network are combined to study the formation reconstruction of unmanned helicopters. The authors of [5] provide a novel second-order sliding mode control strategy worth learning, which can avoid overestimation of sliding mode gain and does not need the boundedness of the derivatives of uncertainties. In the case of constrained state, the application of robust fractional sliding mode control in autonomous flight of unmanned helicopter in uncertain environment is studied in [15]. In [38], a combination of continuous terminal sliding mode control and disturbance observer is adopted to focus on the autonomous landing of an unmanned helicopter on a moving ship. High-order sliding mode observer is used to estimate the concentrated interference in [39], and then a composite controller is designed by combining hybrid dynamic inverse and non-singular terminal sliding mode control. Finally, the asymptotic convergence of tracking error is obtained even in the presence of time-varying interference. Although the above researches can achieve finite time convergence, they cannot constrain or control the convergence speed of the system, and the problem of overestimation of adaptive sliding mode gain has not been effectively solved. In view of these shortcomings, a new solution is proposed in this paper and verified by simulation and practical experiment.

In order to improve the robustness of unmanned helicopter in autonomous flight to parametric and external uncertainties without knowing the boundedness of uncertainties and avoid overestimation of adaptive gain, a multi-variable adaptive high-order sliding mode quasi-optimal control (AHOSMQC) is proposed in this paper. First of all, the main rotor flapping motion of unmanned helicopter is analyzed and simplified, then the position and attitude dynamics are expressed as multi-variable integral chain with additive and multiplicative uncertainties, and the proposed method is applied, respectively. Finally, the feasibility and robustness of the proposed method is verified by digital simulation and actual flight experiments. The main highlights of this paper are summarized as follows.

Firstly, a multi-variable adaptive high-order sliding mode controller is proposed based on redesigned quadratic performance index and multi-variable finite-time control law. Different from previous literature, it is quasi-optimal and the convergence speed can be adjusted by control parameter, resulting in a faster convergence rate. Moreover, the chattering phenomenon can be effectively eliminated by the proposed high-order sliding mode algorithm, which is more conducive to the engineering implementation of the control algorithm.

Secondly, the boundary of uncertainty is not needed in the design process of the proposed adaptive high-order sliding mode controller. At the same time, the possible additive and multiplicative uncertainties of the system are considered, and the problem of overestimation of adaptive sliding mode gain is solved.

Finally, the whole closed-loop system is proved to converge in finite time by Lyapunov stability theory. What’s more, the effectiveness and robustness of the whole unmanned helicopter control system are verified and compared with the method in [41] by challenging and high maneuvering flight experiments. The simulation and practical experimental results show the superiority of the proposed method.

The organization structure of the remaining text is as follows. Section 2 presents the modeling process. The process of model simplification and analysis is described in Sect. 3. Detailed control design and stability analysis are given in Sect. 4. Section 5 presents the actual flight experiment results and some discussion. Section 6 concludes the paper.

2 Problem formulation

The definition of relevant coordinate system is shown in Fig. 1, where \(O-xyz\) and \(O_b-x_by_bz_b\) represent inertial coordinate system and body coordinate system, respectively. \([u, v, w]^T\) and \([p, q, r]^T\) are, respectively, linear velocity and angular rate vector of the unmanned helicopter in the body coordinate system. a and b are flapping angles of the main rotor in the longitudinal and lateral direction.

Fig. 1
figure 1

Schematic diagram of inertial coordinate system and body coordinate system

According to the Newton–Euler equation [28], the rigid body kinematics and dynamics of a small unmanned helicopter system can be expressed by the following equations

$$\begin{aligned}&\dot{\varvec{P}} = \varvec{V} \end{aligned}$$
(1)
$$\begin{aligned}&m\dot{\varvec{V}} = \varvec{R}(\varvec{\varTheta } )\varvec{F} + mg \varvec{E}_z \end{aligned}$$
(2)
$$\begin{aligned}&\dot{\varvec{\varTheta }} = \varvec{T}(\varvec{\varTheta }) \varvec{\omega } \end{aligned}$$
(3)
$$\begin{aligned}&\varvec{J}\dot{\varvec{\omega }} = - \varvec{\omega } \times \varvec{J\omega } + \varvec{M} \end{aligned}$$
(4)

where \(\varvec{P}=[x, y, z]^T\) is the position vector in the inertial coordinate system, \(\varvec{V} = [v_x ,v_y ,v_z ]^T\) represents the linear velocity vector of the center of gravity \(O_b\) in the inertial coordinate system, m is the mass of the whole system, attitude is represented by \(\varvec{\varTheta } = [\phi ,\theta ,\psi ]^T\). \(\varvec{R}(\varvec{\varTheta } )\) is the transformation matrix from body coordinate system to inertial coordinate system, defined as

$$\begin{aligned} \begin{array}{l} \varvec{R}(\varvec{\varTheta } ) \\ =\left[ \!\! {\begin{array}{*{20}c} {c(\theta \psi ) } &{} {s (\phi \theta ) c(\psi ) - c(\phi ) s(\psi ) } &{} {c(\phi \psi ) s(\theta ) + s(\phi \psi ) } \\ {c(\theta ) s(\psi ) } &{} {s (\phi \theta \psi ) + c(\phi \psi ) } &{} {c(\phi ) s(\theta \psi ) \! - \!s(\phi ) c(\psi ) } \\ { - s(\theta ) } &{} {s( \phi ) c(\theta ) } &{} {c( \phi \theta ) } \\ \end{array}} \!\!\right] \end{array} \end{aligned}$$

Abbreviation \(\mathrm {c}(\cdot )\) and \(\mathrm {s}(\cdot )\) represents trigonometric functions \(\cos (\cdot )\) and \(\sin (\cdot )\). \(\mathrm {c}(\phi \theta \psi )=\mathrm {c}(\phi )\mathrm {c}(\theta )\mathrm {c}(\psi )\), \(\mathrm {s}(\phi \theta \psi )=\mathrm {s}(\phi )\mathrm {s}(\theta )\mathrm {s}(\psi )\), and so on. \(\varvec{\omega } =[p,q,r]^T\) is the angular rate vector, \(\varvec{E}_z\) is a unit vector and \(\varvec{E}_z=[0,0,1]^T\), \(\varvec{T}(\varvec{\varTheta })\) is a 3\(\times \)3 matrix, defined as

$$\begin{aligned} \varvec{T}(\varvec{\varTheta }) = \left[ {\begin{array}{*{20}c} 1 &{} \mathrm {s}(\phi )\mathrm {t}(\theta ) &{} \mathrm {c}(\phi )\mathrm {t}(\theta ) \\ 0 &{} \mathrm {c}(\phi ) &{} -\mathrm {s}(\phi ) \\ 0 &{} \mathrm {s}(\phi )/\mathrm {c}(\theta ) &{} \mathrm {c}(\phi )/\mathrm {c}(\theta ) \\ \end{array}} \right] \end{aligned}$$
(5)

Besides, \(\varvec{J}=\mathrm {diag}\{ I_{x} ,I_{y} ,I_{z} \}\) is the matrix of rotational inertia.

All external forces except gravity \(\varvec{F}\) and all external torques \(\varvec{M}\) can be expressed in the body coordinate system as follows

$$\begin{aligned} \varvec{F}= & {} \left[ \begin{array}{c}{F_{x}} \\ {F_{y}} \\ {F_{z}}\end{array}\right] =\left[ \begin{array}{c}{X_{\mathrm {mr}}+X_{\mathrm {fd}}} \\ {Y_{\mathrm {mr}}+Y_{\mathrm {fd}}+Y_{\mathrm {vt}}+Y_{\mathrm {tr}}} \\ {Z_{\mathrm {mr}}+Z_{\mathrm {fd}}+Z_{\mathrm {ht}}}\end{array}\right] \end{aligned}$$
(6)
$$\begin{aligned} \varvec{M}= & {} \left[ \begin{array}{l}{M_{x}} \\ {M_{y}} \\ {M_{z}}\end{array}\right] =\left[ \begin{array}{c}{L_{\mathrm {mr}}+L_{\mathrm {vt}}+L_{\mathrm {tr}}} \\ {M_{\mathrm {mr}}+M_{\mathrm {ht}}} \\ {N_{\mathrm {mr}}+N_{\mathrm {vt}}+N_{\mathrm {tr}}}\end{array}\right] \end{aligned}$$
(7)

where \(X_{\mathrm {mr}}\), \(Y_{\mathrm {mr}}\) and \(Z_{\mathrm {mr}}\) are the components on the \(x_\mathrm {b}\), \(y_\mathrm {b}\) and \(z_\mathrm {b}\) axes of the body coordinate system, respectively, \(X_{\mathrm {fd}}\), \(Y_{\mathrm {fd}}\) and \(Z_{\mathrm {fd}}\) are the components of the airframe resistance on the \(x_\mathrm {b}\), \(y_\mathrm {b}\) and \(z_\mathrm {b}\) axes of the body coordinate system, respectively, \(Z_{\mathrm {ht}}\) and \(M_{\mathrm {ht}}\) are the forces and moments generated by the horizontal tail, respectively, \(Y_{\mathrm {vt}}\), \(L_{\mathrm {vt}}\) and \(N_{\mathrm {vt}}\) are the forces and moments generated by the vertical tail, respectively, \(Y_{\mathrm {tr}}\), \(L_{\mathrm {tr}}\) and \(N{\mathrm {tr}}\) are the forces and moments generated by the tail rotor, \(L_{\mathrm {mr}}\), \(M_{\mathrm {mr}}\) and \(N_{\mathrm {mr}}\) are the components of the main rotor torques on the \(x_\mathrm {b}\), \(y_\mathrm {b}\) and \(z_\mathrm {b}\) axes of the body coordinate system, respectively.

Main rotor flapping dynamics is a unique and important feature of unmanned helicopters, which must be considered, and modeled as follows

$$\begin{aligned} \left[ \begin{array}{l} {\dot{a}} \\ {\dot{b}} \\ \end{array} \right]= & {} \dfrac{{\gamma _\mathrm {m} \varOmega }}{{\gamma _\mathrm {m} ^2 + 64}} \left[ {\begin{array}{*{20}c} { - \dfrac{{4k_\beta }}{{I_\beta \varOmega ^2 }} - 8} &{} {\gamma _\mathrm {m} - \dfrac{{32k_\beta }}{{\gamma _\mathrm {m} I_\beta \varOmega ^2 }}}\\ { \dfrac{{32k_\beta }}{{\gamma _\mathrm {m} I_\beta \varOmega ^2 }}- \gamma _\mathrm {m}}&{}{ - \dfrac{{4k_\beta }}{{I_\beta \varOmega ^2 }} - 8}\\ \end{array}} \right] \left[ {\begin{array}{l} a\\ b\\ \end{array}} \right] \nonumber \\&- \left[ \begin{array}{l} q \\ p \\ \end{array} \right] + \dfrac{{\gamma _\mathrm {m} \varOmega }}{{\gamma _\mathrm {m} ^2 + 64} } \left[ {\begin{array}{*{20}c} { - \gamma _\mathrm {m} } &{} 8 \\ 8 &{} {\gamma _\mathrm {m} } \\ \end{array}} \right] \left[ \begin{array}{l} \theta _{\mathrm {lat}} \\ \theta _{\mathrm {lon}} \\ \end{array} \right] \end{aligned}$$
(8)

where \(\theta _{\mathrm {lon}}\), \(\theta _{\mathrm {lat}}\) indicate the cyclic pitch angles of the main blade in the longitudinal and lateral direction, which are determined by the servos of the pitch and roll channel. \(\gamma _\mathrm {m}\) is the total locke number of two main rotor blades, \(\varOmega \) is the main rotor rotation speed, \(I_\beta \) is the moment of inertia of the main blades.

Interested readers may refer to [42] for more detailed modeling and parameter determination details.

3 Model preprocessing and analysis

Since the dominant force on the helicopter airframe is the component of the main rotor lift along the body frame \(z_\mathrm {b}\) axis, for convenience, \(X_{\mathrm {Mr}}\) and \(Y_{\mathrm {Mr}}\) are ignored here and are regarded as part of the lumped interference in the design process. Generally, both the longitudinal and lateral flapping angles are very small, so it is reasonable to assume \(c(a) \approx 1\) and \(c(b) \approx 1\). Thus, the external force can be written in a form consisting of the following two parts

$$\begin{aligned} \varvec{F}=\underbrace{\left[ \begin{array}{c} {0} \\ {0}\\ {-T_\mathrm {mr}} \end{array}\right] }_{\varvec{F}_{n}}+\underbrace{\left[ \begin{array}{c} {d_{x}} \\ {d_{y}} \\ {d_{z}}\end{array}\right] }_{\varvec{d}_{\mathrm {F}}} \end{aligned}$$
(9)

where \({\varvec{d}_{\mathrm {F}}}\) is lumped interference composed of ignored forces and other external uncertainties, such as ignored fuselage drag, vertical and horizontal tail aerodynamics. Similarly, the torque of the unmanned helicopter mainly comes from the lift force of the main rotor and the pull force of the tail rotor, so other smaller torque components can be treated as interference. According to the hypothetical conditions \(s(a) \approx a\) and \(s(b) \approx b\), the external torque acting on the unmanned helicopter can be expressed as

$$\begin{aligned} \begin{aligned} \varvec{M}=&\underbrace{ \left[ \begin{array}{c}{\left( k_{\beta }+T H_{\mathrm {m r}}\right) b + L_\mathrm {tr}} \\ {\left( k_{\beta }+T H_{\mathrm {m r}}\right) a} \\ {N_\mathrm {tr}}\end{array}\right] }_{\varvec{M}_{n}} +\underbrace{ \left[ \begin{array}{c} d_{\mathrm {p}} \\ d_{\mathrm {q}} \\ d_{\mathrm {r}}\end{array}\right] }_{\varvec{d}_{\mathrm {M}}} \end{aligned} \end{aligned}$$
(10)

where \({\varvec{d}_{\mathrm {M}}}\) is the disturbance torque composed of other neglected torques and external uncertainties.

In addition, the flapping dynamics model of the main rotor is an important motion characteristic of the unmanned helicopter, and has a strong coupling effect with the rigid body dynamics model of the fuselage, which is directly related to the dynamic response of the whole system, so it must be taken into consideration in the control design procedure. However, the flapping angle of the main propeller cannot be effectively measured by any sensor. If the flapping motion is completely ignored, the performance of the control system may be degraded. Therefore, this section attempts to adopt a compromise static quasi-stable flapping dynamic model to approximately replace the complete flapping dynamic model, and verifies the feasibility of this method in both frequency domain and time domain.

According to the system parameters finally determined in [42], the flapping dynamics model (8) of the main rotor can be written as the following state space

$$\begin{aligned} \left[ \begin{array}{l}{{\dot{a}}} \\ {{\dot{b}}}\end{array}\right]= & {} \left[ \begin{array}{cc}{-37.7214} &{} {3.2200} \\ {-3.2200} &{} {-37.7214}\end{array}\right] \left[ \begin{array}{l}{a} \\ {b}\end{array}\right] \nonumber \\&+\left[ \begin{array}{cc}{0} &{} {-1} \\ {-1} &{} {0}\end{array}\right] \left[ \begin{array}{l}{p} \\ {q}\end{array}\right] \nonumber \\&+\left[ \begin{array}{cc}{-1.8543} &{} {8.5527} \\ {8.5931} &{} {1.8456}\end{array}\right] \left[ \begin{array}{l}{\delta _{\mathrm {lat}}} \\ {\delta _{\mathrm {lon}}}\end{array}\right] \nonumber \\&+ \left[ \begin{array}{cc}{-7.9211} &{} {36.7068} \\ {36.7068} &{} {7.9211}\end{array}\right] \left[ \begin{array}{l}{\theta _{\mathrm {lat0}}} \\ {\theta _{\mathrm {lon0}}}\end{array}\right] \end{aligned}$$
(11)

where \({\delta _{\mathrm {lat}}}\), \({\delta _{\mathrm {lon}}}\) are aileron servo input and elevator servo input.

It can be seen that the two characteristic roots corresponding to the flapping dynamics model of the main rotor are \(-37.7214+3.2200i\) and \(-37.7214-3.2200i \), the undamped natural frequency is 37.8586 rad /s, the corresponding time constant is 0.0264 second, and the damping ratio is 0.9964.

Since the main rotor flapping motion has a much faster response than the rigid body motion of the fuselage, assuming its response speed is fast enough and ignoring its transient response process, the following simplified static flapping motion model can be obtained

$$\begin{aligned} {\varvec{\beta }}_{\mathrm {m}}=\varvec{A}_{\mathrm {m}}^{-1} \varvec{B}_{\mathrm {u_1}} \bar{\varvec{\omega }} -\varvec{A}_{\mathrm {m}}^{-1} \varvec{B}_{\mathrm {u_2}} \varvec{\delta }_{\mathrm {cyc}} -\varvec{A}_{\mathrm {m}}^{-1} \varvec{B}_{\bar{\mathrm {d}}} \varvec{\theta }_{\mathrm {cyc}} \end{aligned}$$
(12)

where

$$\begin{aligned} \varvec{A}_{\mathrm {m}}= & {} \left[ \begin{array}{cc}{-37.7214} &{} {3.2200} \\ {-3.2200} &{} {-37.7214}\end{array}\right] , \varvec{B}_{\mathrm {u_1}} = \left[ \begin{array}{cc}{0} &{} {1} \\ {1} &{} {0}\end{array}\right] ,\\ \varvec{B}_{\mathrm {u_2}}= & {} \left[ \begin{array}{cc}{-1.8543} &{} {8.5527} \\ {8.5931} &{} {1.8456}\end{array}\right] , \varvec{B}_{\bar{\mathrm {d}}} = \left[ \begin{array}{cc}{-7.9211} &{} {36.7068} \\ {36.7068} &{} {7.9211}\end{array}\right] ,\\ {\varvec{\beta }}_{\mathrm {m}}= & {} \left[ \begin{array}{l}{a} \\ {b}\end{array}\right] , \bar{\varvec{\omega }}=\left[ \begin{array}{l}{p} \\ {q}\end{array}\right] , \varvec{\delta }_{\mathrm {cyc}}=\left[ \begin{array}{l}{\delta _{\mathrm {lat}}} \\ {\delta _{\mathrm {lon}}}\end{array}\right] , \varvec{\theta }_{\mathrm {cyc}}=\left[ \begin{array}{l}{\theta _{\mathrm {lat0}}} \\ {\theta _{\mathrm {lon0}}}\end{array}\right] , \end{aligned}$$

According to the body rotation dynamics (4), ignoring the nonlinear cross term and considering only the dominant torque component in the external torque \(\varvec{M}\), the following relation can be obtained

$$\begin{aligned} \left\{ \begin{array}{l} { {\dot{p}} =\left( k_{\beta }+T_{\mathrm {mr}} H_{\mathrm {mr}}\right) b} \\ {{\dot{q}}=\left( k_{\beta }+T_{\mathrm {mr}} H_{\mathrm {mr}}\right) a} \\ \end{array}\right. \end{aligned}$$
(13)

Next, taking roll angular rate as an example, the dynamic responses of the simplified and full flapping dynamics model to the roll angular rate are analyzed in the hovering flight mode. When a helicopter is hovering, the lift of the main rotor is approximately equal to its own weight, i.e., \(T_\mathrm {mr} \approx T_\mathrm {hov}=mg\). By inserting equations (13) into equations (12) and (11), respectively, the transfer function of roll angular rate under the input signal \(\delta _{\mathrm {lat}}\) can be obtained. The open-loop bode graph curve and step response curve are shown in Figs. 2 and 3, respectively.

Fig. 2
figure 2

Bode graph curves of roll angular rate under two flapping models

Fig. 3
figure 3

Step response curves of roll angular rate under two flapping models

The frequency characteristic curves show that the simplified model can accurately reflect the dynamic response of the complete model at low frequencies, although some errors still exist at high frequencies. The rise time and adjustment time of the step response of the simplified model are 0.042 s and 0.21 s, respectively, while the rise time and adjustment time of the complete model are 0.053 s and 0.0893 s, respectively. It can be found that the rise time of the two is very close, and the adjustment time is also close. Both frequency domain and time domain analysis results show that the simplified flapping dynamics can effectively approximate the complete flapping model of unmanned helicopter. Therefore, it is feasible to design the flight control system based on the simplified flapping model, and the approximate errors will be compensated by adaptive sliding mode control in the subsequent design.

4 Control design and stability analysis

Consider the following nonlinear system with uncertainty

$$\begin{aligned} \begin{aligned}&{\dot{\varvec{x}}} = \varvec{F}(\varvec{x},t) + \varvec{G}(\varvec{x},t) \varvec{u} \\&\varvec{y} = \varvec{H}(\varvec{x},t) \end{aligned} \end{aligned}$$
(14)

where \(\varvec{x} \in {\mathbb {R}}^{n}\) is the state vector, and \(\varvec{u} \in {\mathbb {R}}^{m}\) indicates the control input. \(\varvec{F}(\varvec{x},t) \in {\mathbb {R}}^{n}\) and \(\varvec{G}(\varvec{x},t) \in {\mathbb {R}}^{n \times m}\) are smooth and unknown functions.

$$\begin{aligned} \begin{aligned}&\varvec{F}(\varvec{x},t) = \varvec{F}_0(\varvec{x},t) +\varvec{F}_\varDelta (\varvec{x},t) ,\\&\varvec{G}(\varvec{x},t) = \varvec{G}_0(\varvec{x},t) +\varvec{G}_\varDelta (\varvec{x},t) \end{aligned} \end{aligned}$$

where \(\varvec{F}_0(\varvec{x},t)\) and \(\varvec{G}_0(\varvec{x},t)\) are known parts of \(\varvec{F}(\varvec{x},t)\) and \(\varvec{G}_(\varvec{x},t)\), \(\varvec{F}_\varDelta (\varvec{x},t)\) and \(\varvec{G}_\varDelta (\varvec{x},t)\) are unknown parts of \(\varvec{F}(\varvec{x},t)\) and \(\varvec{G}(\varvec{x},t)\), respectively. \(\varvec{y}\) is a smooth output vector function. Define the sliding mode variable as

$$\begin{aligned} \varvec{s}(\varvec{x},t) = \varvec{H}(\varvec{x},t) - \varvec{H}_\mathrm {d}(\varvec{x},t) \end{aligned}$$
(15)

where \( \varvec{H}_\mathrm {d}(\varvec{x},t)\) is a smooth reference trajectory.

For the sake of convenience, the state vector is extended to \( \varvec{x}_\mathrm {ext} = \left[ \varvec{x}^\mathrm {T}, t \right] ^\mathrm {T}\). The extended equation of state can be expressed as

$$\begin{aligned} \dot{\varvec{x}}_\mathrm {ext} = \varvec{F}_\mathrm {ext} + \varvec{G}_\mathrm {ext} \varvec{u} \end{aligned}$$
(16)

where \(\varvec{G}_\mathrm {ext} = \left[ (\varvec{G}_0 +\varvec{G}_\varDelta )^\mathrm {T}, \varvec{G}_\mathrm {ext,0} \right] ^\mathrm {T}\), \( \varvec{G}_\mathrm {ext,0} = \varvec{0} \in {\mathbb {R}}^{m} \), \(\varvec{F}_\mathrm {ext} = \left[ (\varvec{F}_0 +\varvec{F}_\varDelta )^\mathrm {T}, 1 \right] ^\mathrm {T}\). \(\varvec{F}_\mathrm {ext,n} = \left[ \varvec{F}_0^\mathrm {T}, 1 \right] ^\mathrm {T}\) and \(\varvec{G}_\mathrm {ext,n} = \left[ \varvec{G}_0^\mathrm {T}, \varvec{G}_\mathrm {ext,0} \right] ^\mathrm {T}\) are the known nominal parts of \(\varvec{F}_\mathrm {ext}\) and \(\varvec{G}_\mathrm {ext}\), respectively.

Assumption 1

It is assumed that the relative order of the nonlinear system (14) about the sliding mode variable \(\varvec{s}(\varvec{x},t)\) is constant l and the internal dynamics is stable.

Then control signal \( \varvec{u} \) will appear for the first time in the l-th time derivative of the system sliding mode variable, i.e.,

$$\begin{aligned} \varvec{s}^{(l)}(\varvec{x}, t)=\varvec{\varPhi }(\varvec{x}, t)+\varvec{\varUpsilon }(\varvec{x}, t) \varvec{u}-\varvec{H}_\mathrm {d}^{(l)} \end{aligned}$$
(17)

where \(\varvec{\varPhi }={L}_{\varvec{F}_\mathrm {ext}}^{l} \varvec{H}\), \(\varvec{\varUpsilon }={L}_{\varvec{G}_\mathrm {ext}} {L}_{\varvec{F}_\mathrm {ext}}^{l-1} \varvec{H}\). \({L}_{\varvec{G}_\mathrm {ext}}\), \({L}_{\varvec{F}_\mathrm {ext}}^{l}\), and \({L}_{\varvec{F}_\mathrm {ext}}^{l-1}\) are Lie derivatives of \({\varvec{G}_\mathrm {ext}}\) and \({\varvec{F}_\mathrm {ext}}\) with the corresponding orders.

Definition 1

Consider nonlinear system (14) and the sliding mode variable \( \varvec{s}(\varvec{x},t) \), and assume that the time derivatives of \(\varvec{s},\dot{\varvec{s}},...,\varvec{s}^{(l-1)}\) are continuous. Then

$$\begin{aligned} \varXi ^{l}=\left\{ \varvec{x} | \varvec{s}=\dot{\varvec{s}}=\cdots =\varvec{s}^{(l-1)}=\varvec{0}\right\} \end{aligned}$$
(18)

is called the sliding mode set of order l. If it is non-empty and is a local integral set in the sense of Filippov [10], the motion over \(\varXi ^{l} \) is called sliding mode of order l with respect to the sliding mode variable \(\varvec{s} \).

Therefore, the l-order sliding mode control problem of the nonlinear system (14) with respect to the sliding mode variable \( \varvec{s}\) is equivalent to the finite time control problem of the following systems

$$\begin{aligned} \begin{aligned} \dot{\varvec{z}}_{i}&=\varvec{z}_{i+1} \\ \dot{\varvec{z}}_{l}&=\varvec{\varPhi }+\varvec{\varUpsilon } \varvec{u}-\varvec{H}_\mathrm {d}^{(l)} \end{aligned} \end{aligned}$$
(19)

where \(\varvec{z}=\left[ \varvec{z}_{1}, \varvec{z}_{2}, \ldots , \varvec{z}_{l}\right] ^{\mathrm {T}}=\left[ \varvec{s}, \dot{\varvec{s}}, \ldots , \varvec{s}^{(l-1)}\right] ^{\mathrm {T}},\quad i=1,2,...,l-1\).

Assumption 2

Function \( \varvec{\varPhi } \) and \( \varvec{\varUpsilon } \) can be expressed as

$$\begin{aligned} \left\{ \begin{array}{l} \varvec{\varPhi }=\varvec{\varPhi }_\mathrm {n}+\varvec{\varDelta }_\varPhi \\ \varvec{\varUpsilon }=\varvec{\varUpsilon }_\mathrm {n}+ \varvec{\varDelta }_\varUpsilon \end{array} \right. \end{aligned}$$
(20)

where \(\varvec{\varPhi }_\mathrm {n}\) and \(\varvec{\varDelta }_\varPhi \) are the nominal portion and the uncertain one of \(\varvec{\varPhi }\), \(\varvec{\varUpsilon }_\mathrm {n}\) and \(\varvec{\varDelta }_\varUpsilon \) denote the nominal and uncertain parts of \(\varvec{\varUpsilon }\), respectively. \(\varvec{\varPhi }_\mathrm {n}= {L}_{\varvec{F}_\mathrm {ext,n}}^{l} \varvec{H} \), \(\varvec{\varUpsilon }_\mathrm {n}= {L}_{\varvec{G}_\mathrm {ext,n}} {L}_{\varvec{F}_\mathrm {ext,n}}^{l-1} \varvec{H} \), \(\varvec{\varDelta }_{\varPhi }= {L}_{\varvec{F}_\mathrm {ext}}^{l} \varvec{H} -{L}_{\varvec{F}_\mathrm {ext,n}}^{l} \varvec{H} \), \(\varvec{\varDelta }_{\varUpsilon }= {L}_{\varvec{G}_\mathrm {ext}} {L}_{\varvec{F}_\mathrm {ext}}^{l-1} \varvec{H} -{L}_{\varvec{G}_\mathrm {ext,n}} {L}_{\varvec{F}_\mathrm {ext,n}}^{l-1} \varvec{H} \). Suppose the existence of three unknown constants \(\varepsilon _{\varPhi 1} \), \(\varepsilon _{\varPhi 2}\) and \(\varepsilon _{\varUpsilon }\) to make the following constraint relation for the uncertain function valid

$$\begin{aligned} \Vert \varvec{\varDelta }_\varPhi \Vert \le \varepsilon _{\varPhi 1}+\varepsilon _{\varPhi 2}\Vert \varvec{x}\Vert , \quad \dfrac{\Vert \varvec{\varDelta }_\varUpsilon \Vert }{\Vert \varvec{\varUpsilon }_\mathrm {n}\Vert } \le \varepsilon _{\varUpsilon }<1 \end{aligned}$$
(21)

Remark 1

For an unmanned helicopter in a typical non-acrobatic flight envelope, both the uncertain portions of \(\varvec{\varPhi }\) and \(\varvec{\varUpsilon }\) are bounded. In addition, after high-precision model identification and verification, it can be assumed that the norm of the uncertain part \(\varvec{\varDelta }_\varPhi \) is less than the norm of the nominal portion \(\varvec{\varPhi }_\mathrm {n}\).

The control objective is to make \(\varvec{s}, \dot{\varvec{s}}, \ldots , \varvec{s}^{(l-1)} \) converge to the origin in finite time under bounded additive and multiplied uncertainties.

Consider the following integral chain system

$$\begin{aligned} \begin{array}{l} {\dot{\varvec{z}}_{i}=\varvec{z}_{i+1}} \\ {\dot{\varvec{z}}_{l}=\varvec{v}_\mathrm {n}} \end{array} \end{aligned}$$
(22)

where \( i=1,2,...,l-1\), \({\varvec{z}_i} =\left[ z_{i1}, \cdots ,z_{ij}, \cdots , z_{in} \right] ^\mathrm {T} \in {{\mathbb {R}} ^n}\), \( j=1,2,...,n\), \({\varvec{v}_\mathrm {n}} \in {{\mathbb {R}} ^n}\). Lemma 1 proves the existence of continuous finite time feedback control for system (22) by giving an explicit structure with small parameters.

Lemma 1

([2]). Assume that \( \varvec{K}_1,\varvec{K}_2,...,\varvec{K}_l \) are real positive definite diagonal matrices and the polynomial \(\lambda ^l + k_{lj}{\lambda ^{l - 1}} + \cdots + k_{2j}\lambda + k_{1j}\) is Hurwitz stable. There is a parameter \(\varepsilon \in \left( {0,1} \right) \), for any \(\alpha \in \left( {1 - \varepsilon ,1} \right) \), so that feedback control (23) exists, which makes states of system (22) converge to origin in finite time

$$\begin{aligned} {\varvec{v}_\mathrm {n0}}= & {} - {\varvec{K}_1}\varvec{Sgn}({\varvec{z}_1}) - \cdots - {\varvec{K}_i}\varvec{Sgn}({\varvec{z}_i}) - \cdots \nonumber \\&- {\varvec{K}_l}\varvec{Sgn}({\varvec{z}_l}) \end{aligned}$$
(23)

where sign function \(\varvec{Sgn}({\varvec{z}_i})\) and matrix \(\varvec{K}_i\) are defined as

$$\begin{aligned} \begin{array}{*{20}{l}} {\varvec{Sgn}({\varvec{z}_i}) = \left[ \begin{array}{l} \mathrm{{sign}}({z_{i1}}){\left| {{z_{i1}}} \right| ^{{\alpha _{i1}}}}; \cdots ; \mathrm{{sign}}({z_{ij}}){\left| {{z_{ij}}} \right| ^{{\alpha _{ij}}}};\\ \cdots ; \mathrm{{sign}}({z_{in}}){\left| {{z_{in}}} \right| ^{{\alpha _{in}}}} \end{array} \right] }\\ {\varvec{K}_i = \mathrm{{diag}}({k_{i1}}, \cdots ,{k_{ij}}, \cdots ,{k_{in}}),\quad \begin{array}{*{20}{c}} {i = 1,2, \ldots ,l,}\\ {j = 1,2, \ldots ,n} \end{array}\quad } \end{array} \end{aligned}$$

\(\alpha _{ij} \) satisfies the following constraints

$$\begin{aligned} \begin{aligned}&\alpha _{(i-1)j} = \dfrac{\alpha _{ij}\alpha _{(i+1)j}}{2\alpha _{(i+1)j} - \alpha _{ij}} ,\quad \begin{array}{*{20}{c}} {i = 2,3, \ldots ,l,}\\ {j = 1,2, \ldots ,n} \end{array} \\&\alpha _{(l+1)j} = 1, \quad \alpha _{lj} = \alpha ,\qquad j=1,2, \ldots ,n \end{aligned} \end{aligned}$$
(24)

Remark 2

In Lemma 1, the following conclusions can be drawn by induction

$$\begin{aligned} 0<\alpha _{ij}<1,\quad i =1,2, \ldots ,l, \quad j=1,2, \ldots ,n \end{aligned}$$
(25)

When \( i=l \), then

$$\begin{aligned} \alpha _{lj}=\alpha <\alpha _{(l+1)j}=1 \end{aligned}$$
(26)

When \( i=l-k \), suppose the following inequality is true

$$\begin{aligned} \alpha _{(l-k)j}<\alpha _{(l-k+1)j} \end{aligned}$$
(27)

When \( i=l-k-1 \), according to (24), it can be obtained

$$\begin{aligned} \begin{array}{ll} {\alpha _{(l - k - 1)j}} &{}= \dfrac{{{\alpha _{(l - k)j}}{\alpha _{(l - k + 1)j}}}}{{2{\alpha _{(l - k + 1)j}} - {\alpha _{(l - k)j}}}} \\ &{} = \dfrac{{{\alpha _{(l - k)j}}{\alpha _{(l - k + 1)j}}}}{{{\alpha _{(l - k + 1)j}} + \left( {{\alpha _{(l - k + 1)j}} - {\alpha _{(l - k)j}}} \right) }} \end{array} \end{aligned}$$
(28)

By combining the expression (27) and (28), it can be obtained

$$\begin{aligned} \alpha _{(l-k-1)j}<\dfrac{\alpha _{(l-k)j} \alpha _{(l-k+1)j}}{\alpha _{(l-k+1)j}}=\alpha _{(l-k)j} \end{aligned}$$
(29)

So we can generalize

$$\begin{aligned} 0<\alpha _{1j}<\alpha _{2j}<\cdots<\alpha _{lj}<1 , \quad j=1,2,\ldots , n \nonumber \\ \end{aligned}$$
(30)

Since \(0<\alpha _{ij}<1,\ i=1,2,\ldots , l, \ j=1,2,\ldots , n\), even a large value of the state variable will not cause the power function in (23) to grow rapidly. Therefore, when the initial value of the system state is large, the convergence rate of the closed loop system will be slow.

Next, based on Lemma 1, a quasi-optimal finite time control method is proposed to improve the transient process.

Theorem 1

Consider system (22) and linear quadratic performance indicator (31)

$$\begin{aligned} J = \dfrac{1}{2}\int _0^\infty {{e^{2\delta t}}\left( {{\varvec{z}^\mathrm {T}(t)}\varvec{Q} \varvec{z}(t) + \varvec{v}_\mathrm {n}^\mathrm {T}(t)\varvec{R}{\varvec{v}_\mathrm {n}(t)}} \right) } dt \end{aligned}$$
(31)

\(\varvec{z} = {\left( {\varvec{z}_1^\mathrm {T}, \ldots ,\varvec{z}_l^\mathrm {T}} \right) ^\mathrm {T}} \in {{\mathbb {R}}^{ln}}\), \(\varvec{Q} \in {\mathbb {R}}^{ln \times ln}\), \(\varvec{Q}=\varvec{Q}^{\mathrm {T}} =\varvec{D}^{\mathrm {T}}\varvec{D} \ge 0\), \(\varvec{R}\in {\mathbb {R}}^{n \times n}\) is a positive definite matrix, and \(\delta \) is a positive constant. The system state \(\varvec{z}(t)\) will converge to the origin in finite time under feedback control (32), and the convergence rate is not less than \(e^{-\delta t}\).

$$\begin{aligned} {\varvec{v}_\mathrm {n}} = - {\varvec{R}^{ - 1}}{\varvec{B}_\mathrm {n}^\mathrm {T}}\varvec{P}{\left( {\varvec{S}{{({\varvec{z}_1},{\varvec{\alpha } _1})}^\mathrm {T}}, \cdots ,\varvec{S}{{({\varvec{z}_{l}},{\varvec{\alpha } _l})}^\mathrm {T}}} \right) ^\mathrm {T}} \end{aligned}$$
(32)

where

$$\begin{aligned} \varvec{S}({\varvec{z}_i},{\alpha _i}) = \left\{ \begin{aligned}&{\left( {\text {sign}(z_{i1}){{\left| {{z_{i1}}} \right| }^{{\alpha _{i1}}}}, \cdots ,\text {sign}(z _{in}){{\left| {{z_{in}}} \right| }^{{\alpha _{in}}}}} \right) ^\mathrm {T}}, \\&\qquad \qquad \qquad \qquad \text {if} \quad \mathop {\max }\limits _{1 \le i \le l} \left( {\left\| {{\varvec{z}_i}} \right\| } \right) \le 1 \\&{\varvec{z}_i}, \qquad \qquad \qquad \quad \text {if} \quad \mathop {\max }\limits _{1 \le i \le l} \left( {\left\| {{\varvec{z}_i}} \right\| } \right) > 1 \end{aligned} \right. \end{aligned}$$

\(\alpha _{i1}, \alpha _{i2}, \cdots , \alpha _{in}\) are the elements on the main diagonal of diagonal matrix \(\varvec{\alpha }_i\), and \(\varvec{P}\) is the positive definite solution of the Riccati equation (33). \(\square \)

$$\begin{aligned}&\varvec{P} \left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}\right) + \left( \varvec{A}_\mathrm {n} + \delta {{{\varvec{I}}_{ln \times ln}}} \right) ^\mathrm {T} \varvec{P} \nonumber \\&\quad + \varvec{Q}- \varvec{P}\varvec{B}_\mathrm {n}{\varvec{R}^{ - 1}}{\varvec{B}_\mathrm {n}^\mathrm {T}} \varvec{P} = \varvec{0} \end{aligned}$$
(33)

where

$$\begin{aligned} \varvec{A}_\mathrm {n} = \left[ {\begin{array}{*{20}{c}} {{{\varvec{0}}_{(l - 1)n \times n}}}&{}{{{\varvec{I}}_{(l - 1)n \times (l - 1)n}}}\\ {{{\varvec{0}}_{n \times n}}}&{}{{{\varvec{0}}_{n \times (l - 1)n}}} \end{array}} \right] , \varvec{B}_\mathrm {n} = \left[ {\begin{array}{*{20}{c}} {{{\varvec{0}}_{(l - 1)n \times n}}}\\ {{{\varvec{I}}_{n \times n}}} \end{array}} \right] \end{aligned}$$

\( \varvec{0}_{(\bullet )\times (\bullet )} \) and \(\varvec{I}_{(\bullet )\times (\bullet )}\) denote the zero matrix and the identity matrix of corresponding dimension.

Proof

System (22) is re-expressed as follows

$$\begin{aligned} \dot{\varvec{z}}(t)=\varvec{A}_\mathrm {n} \varvec{z}(t)+\varvec{B}_\mathrm {n} \varvec{v}_\mathrm {n}(t) \end{aligned}$$
(34)

By defining the following variable transformation

$$\begin{aligned} \left\{ \begin{array}{l} {\bar{\varvec{z}}}(t) = e^{\delta t} \varvec{z}(t) \\ {\bar{\varvec{v}}}_\mathrm {n}(t) = e^{\delta t} \varvec{v}_\mathrm {n}(t) \end{array} \right. \end{aligned}$$
(35)

State space equation (34) can be re-expressed as

$$\begin{aligned} \dot{\bar{\varvec{z}}}(t)=\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}\right) \bar{\varvec{z}}(t)+\varvec{B}_\mathrm {n} \bar{\varvec{v}}_\mathrm {n}(t) \end{aligned}$$
(36)

The corresponding quadratic performance indicator (31) can be rewritten as

$$\begin{aligned} J = \dfrac{1}{2}\int _0^\infty \left( \bar{\varvec{z}}^\mathrm {T}(t)\varvec{Q} \bar{\varvec{z}}(t) + \bar{\varvec{v}}_\mathrm {n}^\mathrm {T}(t) \varvec{R} \bar{\varvec{v}}_\mathrm {n}(t) \right) dt \end{aligned}$$
(37)

In this way, the problem is transformed into a common linear time-invariant infinite time LQR problem, whose optimal control is

$$\begin{aligned} \bar{\varvec{v}}_\mathrm {n}(t)=-\varvec{R}^{-1} \varvec{B}_\mathrm {n}^{\mathrm {T}} \varvec{P} \bar{\varvec{z}}(t) \end{aligned}$$
(38)

Corresponding to the original system equation (34), the optimal control is

$$\begin{aligned} {\varvec{v}}_\mathrm {n,opt}(t)=-\varvec{R}^{-1} \varvec{B}_\mathrm {n}^{\mathrm {T}} \varvec{P} {\varvec{z}}(t) \end{aligned}$$
(39)

Lemma 2

([40]). Assuming that \(\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}, \varvec{B}_\mathrm {n}\right) \) can be stabilized and \(\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}, \varvec{D} \right) \) can be detected, for system (34) and performance index (31), under the action of optimal control (39), the state convergence rate of the closed-loop system is not less than \(e^{-\delta t}\).

Proof

The proof is shown in Appendix. \(\square \)

Remark 3

According to the modal criterion, the controllability of matrix \(\left( \varvec{A}_\mathrm {n}, \varvec{B}_\mathrm {n}\right) \) is equivalent to that of \(\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}, \varvec{B}_\mathrm {n}\right) \), while the observability of matrix \(\left( \varvec{A}_\mathrm {n}, \varvec{D}\right) \) is equivalent to that of \(\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}, \varvec{D}\right) \). Thus, when matrices \(\left( \varvec{A}_\mathrm {n}, \varvec{B}_\mathrm {n}\right) \) and \(\left( \varvec{A}_\mathrm {n}, \varvec{D}\right) \) are controllable and observable, \(\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}, \varvec{B}_\mathrm {n}\right) \) is stabilized and \(\left( \varvec{A}_\mathrm {n}+ \delta {{{\varvec{I}}_{ln \times ln}}}, \varvec{D}\right) \) is detectable.

Assume that the states of system (22) are far from the origin, i.e., \( \mathop {\max }\limits _{1 \le i \le l} \left( {\left\| {{\varvec{z}_i}} \right\| } \right) > 1 \). According to the definition of equation \( \varvec{S}({\varvec{z}_i},{\alpha _i}) \), the control input of system (22) becomes equation (39).

Since matrix \(\varvec{A}_\mathrm {n}\) and matrix \(\varvec{B}_\mathrm {n}\) are the state matrix and input matrix of system (22), respectively, according to their definitions, the rank of controllability discriminant matrix is \( \mathrm {rank}(\left[ \varvec{B}_\mathrm {n},\varvec{A}_\mathrm {n}\varvec{B}_\mathrm {n},\cdots ,\varvec{A}_\mathrm {n}^{ln-1}\varvec{B}_\mathrm {n}\right] ) =ln\), system (22) is completely controllable, and the system states can be completely observable by choosing the appropriate \(\varvec{Q}\) matrix. In addition, since the \(\varvec{P}\) is a positive definite solution of the algebraic Riccati equation (33), the control input (39) is optimal with respect to the performance index (31), and the system state \( \varvec{z}_i\) will converge asymptotically to the origin in an optimal way. It also means that the states of the system (22) will converge to the following region in finite time with a speed of no less than \(e^{-\delta t}\).

$$\begin{aligned} O_\mathrm {nei}=\left\{ \varvec{z}| \mathop {\max }\limits _{1 \le i \le l}\left\| \varvec{z}_{i}\right\| \le 1\right\} \end{aligned}$$
(40)

When \( \varvec{z} \in O_\mathrm {nei} \), according to \( \varvec{S}({\varvec{z}_i},{\alpha _i}) \), the control input for system (22) takes the following form

$$\begin{aligned} {\varvec{v}}_\mathrm {n,qpt}(t)=-\varvec{R}^{-1} \varvec{B}_\mathrm {n}^{\mathrm {T}} \varvec{P} {\left( {\varvec{S}{{({\varvec{z}_1},{\varvec{\alpha } _1})}^\mathrm {T}}, \cdots ,\varvec{S}{{({\varvec{z}_{l}},{\varvec{\alpha } _l})}^\mathrm {T}}} \right) ^\mathrm {T}}\nonumber \\ \end{aligned}$$
(41)

By expanding equation (41) using matrix multiplication, we can get

$$\begin{aligned} {\varvec{v}}_\mathrm {n,qpt}(t)= & {} -\varvec{K}_1 \varvec{S}(\varvec{z}_1,\varvec{\alpha }_1)-\cdots -\varvec{K}_i \varvec{S}(\varvec{z}_i,\varvec{\alpha }_i) \nonumber \\&-\cdots -\varvec{K}_l \varvec{S}(\varvec{z}_l,\varvec{\alpha }_l) \end{aligned}$$
(42)

Since the matrix \(\varvec{P}\) is a positive definite solution of the algebraic Riccati equation (33), the polynomial \(\lambda ^l + k_{lj}{\lambda ^{l - 1}} + \cdots + k_{2j}\lambda + k_{1j}\) is Hurwitz stable. According to Lemma 1, the control input (42) can ensure that the system state converges to zero in finite time. Therefore, the closed-loop system formed by equations (22) and (32) is globally finite time stable, that is, the states of system (22) will converge to zero in finite time under the control (32). \(\square \)

4.1 Attitude control

In order to apply the control method proposed in Theorem 1, the attitude kinematics and dynamics of the unmanned helicopter are transformed into the following forms based on equations (3), (4) and (10)

$$\begin{aligned} \ddot{\varvec{\varTheta }}= & {} \dot{\varvec{T}}(\varvec{\varTheta } )\varvec{\omega } - \varvec{T}(\varvec{\varTheta } )\varvec{J}^{-1} \varvec{Sk}(\varvec{\omega }) \varvec{J}\varvec{\omega } \nonumber \\&+ \varvec{T}(\varvec{\varTheta } ) \varvec{J}^{-1} \varvec{d}_\mathrm {M}+ {\varvec{T}(\varvec{\varTheta }) \varvec{J}^{-1} } \varvec{M}_\mathrm {n} \end{aligned}$$
(43)

By using the simplified flapping dynamics model (12) and the follow feedback control

$$\begin{aligned} T_\mathrm {tr,ctr} = k_\mathrm {ped,ctr} \delta _\mathrm {ped} - k_\mathrm {r,ctr} r \end{aligned}$$
(44)

where \(\delta _\mathrm {ped}\) is the rudder servo input, and \(k_\mathrm {ped}\), \(k_\mathrm {r}\) are constants, equation (43) can be transformed into

$$\begin{aligned} \ddot{\varvec{\varTheta }}= & {} \left( \dot{\varvec{T}}(\varvec{\varTheta }) - {\varvec{T}}(\varvec{\varTheta }) \varvec{J}^{-1}{\varvec{Sk}(\varvec{\omega })}\varvec{J}\right) \varvec{\omega } \nonumber \\&+\left( \varvec{T}(\varvec{\varTheta } ){\varvec{J}^{ - 1}} \left( {{{\varvec{M}}_1}{\varvec{A}} - {k_\mathrm {r,ctr}}{{\varvec{M}}_2}} \right) \right) \varvec{\omega } \nonumber \\&+ {\varvec{T}}(\varvec{\varTheta }) \varvec{J}^{-1} \left( {{k_\mathrm {ped,ctr}}{{\varvec{M}}_2} - {{\varvec{M}}_1}{\varvec{B}}} \right) \varvec{\delta }_\mathrm {aer} \nonumber \\&+ {\varvec{T}}(\varvec{\varTheta }) \varvec{J}^{-1} {\varvec{M} _\varDelta } \end{aligned}$$
(45)

where \(\varvec{\delta }_\mathrm {aer} = [\varvec{\delta }_\mathrm {cyc}^T, {\delta }_\mathrm {ped}]^T\),

$$\begin{aligned} \varvec{M} _\varDelta = \left[ \begin{array}{c} {M} _{\varDelta 1}\\ {M} _{\varDelta 2}\\ {N_\mathrm {mr}} + {N_\mathrm {vt}} + N_\mathrm {tr}- {D_\mathrm {tr}}{T_\mathrm {tr,ctr}} \end{array} \right] + \varvec{d}_\mathrm {M} \end{aligned}$$

\({M} _{\varDelta 1}= \left( {{k_\beta } + {T_\mathrm {mr}}{H_\mathrm {mr}}} \right) \sin (b) - \left( {{k_\beta } + {T_\mathrm {hov}}{H_\mathrm {mr}}} \right) b + {L_\mathrm {vt}} + {L_\mathrm {tr}} - {H_\mathrm {tr}}{T_\mathrm {tr,ctr}}\) and \({M} _{\varDelta 2} =\left( {{k_\beta } + {T_\mathrm {mr}}{H_\mathrm {mr}}} \right) \sin (a) - \left( {{k_\beta } + {T_\mathrm {hov}}{H_\mathrm {mr}}} \right) a + {M_\mathrm {ht}} \). Redefine the state vector of the attitude subsystem as \( \varvec{x}_1 \buildrel \varDelta \over = \left[ \varvec{\varTheta }^\mathrm {T}, \varvec{\omega }^\mathrm {T}\right] ^\mathrm {T}\), and let the known part and the unknown part of the system be

$$\begin{aligned} \begin{array}{l} \varvec{\varUpsilon }_\mathrm {1n}={\varvec{T}}(\varvec{\varTheta }) \varvec{J}_\mathrm {n}^{-1} \left( {{k_\mathrm {ped,ctr}}{{\varvec{M}}_2} - {{\varvec{M}}_1}{\varvec{B}}} \right) \\ \varvec{\varPhi }_\mathrm {1n}=\left( \dot{\varvec{T}}(\varvec{\varTheta }) - {\varvec{T}}(\varvec{\varTheta }) \varvec{J}_\mathrm {n}^{-1}{\varvec{Sk}(\varvec{\omega })}\varvec{J}_\mathrm {n} \right) \varvec{\omega } \\ \qquad \qquad +\; \varvec{T}(\varvec{\varTheta } ){\varvec{J}_\mathrm {n}^{ - 1}} \left( {{{\varvec{M}}_1}{\varvec{A}} - {k_\mathrm {r,ctr}}{{\varvec{M}}_2}} \right) \varvec{\omega } \end{array} \end{aligned}$$
(46)

and

$$\begin{aligned} \begin{aligned} \varvec{\varDelta }_{\varUpsilon _1} =&- {\varvec{T}}(\varvec{\varTheta }) \varvec{J}_\mathrm {n}^{-1} \left( {{k_\mathrm {ped,ctr}}{{\varvec{M}}_2} - {{\varvec{M}}_1}{\varvec{B}}} \right) \\ \varvec{\varDelta }_{\varPhi _1} =&\ {\varvec{T}}(\varvec{\varTheta }) \left( -\varvec{J}^{-1}{\varvec{Sk}(\varvec{\omega })}\varvec{J} + \varvec{J}_\mathrm {n}^{-1}{\varvec{Sk}(\varvec{\omega })}\varvec{J}_\mathrm {n}\right) \varvec{\omega } \\&+ {\varvec{T}}(\varvec{\varTheta }) (\varvec{J}^{-1} - \varvec{J}_\mathrm {n}^{-1}) \left( {{{\varvec{M}}_1}{\varvec{A}} - {k_\mathrm {r,ctr}}{{\varvec{M}}_2}} \right) \varvec{\omega } \\&+{\varvec{T}}(\varvec{\varTheta }) \varvec{J}^{-1} {\varvec{M} _\varDelta } \end{aligned} \end{aligned}$$
(47)

where \( \varvec{J} = \varvec{J}_\mathrm {n} +\varvec{J}_\varDelta \), \( \varvec{J}_\mathrm {n}\) is the measured nominal moment of inertia matrix, and \( \varvec{J}_\varDelta \) is the measurement error of moment of inertia. The sliding mode variable is designed as \( \varvec{z}_\mathrm {att,1} = \varvec{s}_\mathrm {att} = \varvec{\varTheta } -\varvec{\varTheta }_\mathrm {d} \), and \( \varvec{z}_\mathrm {att,2} = \dot{\varvec{s}}_\mathrm {att} \), where \( \varvec{\varTheta }_\mathrm {d} \) is the expected attitude angle vector. Then equation (45) can be rewritten as

$$\begin{aligned} \begin{aligned}&\dot{\varvec{z}}_\mathrm {att,1} = \varvec{z}_\mathrm {att,2} \\&\dot{\varvec{z}}_\mathrm {att,2} = \varvec{\varPhi }_\mathrm {1n} + \varvec{\varDelta }_{\varPhi _1} + (\varvec{\varUpsilon }_\mathrm {1n} + \varvec{\varDelta }_{\varUpsilon _1}) \varvec{\delta }_{\mathrm {aer}} -\ddot{\varvec{\varTheta }}_\mathrm {d} \end{aligned} \end{aligned}$$
(48)

Assumption 3

The roll and pitch angle of small unmanned helicopter in the whole autonomous flight process always meet the following constraints

$$\begin{aligned} -\dfrac{\pi }{2}<\phi<\dfrac{\pi }{2},\quad -\dfrac{\pi }{2}< \theta < \dfrac{\pi }{2} \end{aligned}$$
(49)

Remark 4

Since the Euler angle is used to represent the attitude of the unmanned helicopter in this paper, the pitch angle needs to be limited to \((-90^{\circ },90^{\circ })\) to avoid suffering from gimbal lock. In addition, in order to limit the maneuvering range of the unmanned helicopter to the typical flight envelope so that Assumption 2 can be reasonably established, the roll angle is also limited to \((-90^{\circ },90^{\circ })\).

On the basis of Assumption 2 and 3, assume that there are three positive real numbers \(\varepsilon _\mathrm {\varPhi 1} \), \(\varepsilon _\mathrm {\varPhi 2}\) and \(\varepsilon _\mathrm {\varUpsilon 1}\), such that the following inequality holds

$$\begin{aligned} \left\{ \begin{aligned}&\Vert \varvec{\varDelta }_{\varPhi _1}\Vert \le \varepsilon _\mathrm {\varPhi 1}+\varepsilon _\mathrm {\varPhi 2}\Vert \varvec{\chi }_1\Vert , \Vert \varvec{\chi }_1\Vert = \max \left( \Vert \varvec{x}_1\Vert ,\Vert \varvec{x}_1\Vert ^2\right) \\&\dfrac{\Vert \varvec{\varDelta }_{\varUpsilon _1}\Vert }{\Vert \varvec{\varUpsilon }_\mathrm {1n}\Vert } \le \varepsilon _\mathrm {\varUpsilon 1}<1 , \Vert \varvec{\varUpsilon }_\mathrm {1n}\Vert \ne 0 \\ \end{aligned} \right. \end{aligned}$$
(50)

Let’s define \(\varvec{\alpha }_1 \buildrel \varDelta \over = \text {diag}(\alpha _{11},\alpha _{12},\alpha _{13})\), and \(\varvec{\alpha }_2 \buildrel \varDelta \over = \text {diag}(\alpha _{21},\alpha _{22},\alpha _{23})\), and design functions \(\varvec{S}(\varvec{z}_\mathrm {att,1},\varvec{\alpha }_1)\) and \(\varvec{S}(\varvec{z}_\mathrm {att,2},\varvec{\alpha }_2)\) as follows

$$\begin{aligned}&\varvec{S}(\varvec{z}_\mathrm {att,1},\varvec{\alpha }_1) \nonumber \\&\quad =\left\{ \begin{aligned}&\left[ \text {sign}(\phi _\mathrm {e})\left| \phi _\mathrm {e} \right| ^{\alpha _{11}}, \text {sign}(\theta _\mathrm {e})\left| \theta _\mathrm {e} \right| ^{\alpha _{12}}, \text {sign}(\psi _\mathrm {e})\left| \psi _\mathrm {e} \right| ^{\alpha _{13}} \right] ^\mathrm {T} ,\\&\qquad \qquad \qquad \qquad \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {att,1} \right\| ,\left\| \varvec{z}_\mathrm {att,2} \right\| \right) \leqslant 1 \\&\varvec{z}_\mathrm {att,1} , \qquad \qquad \quad \; \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {att,1} \right\| ,\left\| \varvec{z}_\mathrm {att,2} \right\| \right) > 1 \end{aligned} \right. \end{aligned}$$
(51)
$$\begin{aligned}&\varvec{S}(\varvec{z}_\mathrm {att,2}, \varvec{\alpha }_2) \nonumber \\&\quad =\left\{ \begin{aligned}&\left[ \text {sign}({\dot{\phi }} _\mathrm {e})\left| {{\dot{\phi }}}_\mathrm {e}\right| ^{\alpha _{21}}, \text {sign}({\dot{\theta }} _\mathrm {e})\left| {\dot{\theta }}_\mathrm {e} \right| ^{\alpha _{22}},\text {sign}({\dot{\psi }} _\mathrm {e})\left| {{{\dot{\psi }}} }_\mathrm {e} \right| ^{\alpha _{23}} \right] ^\mathrm {T} , \\&\qquad \qquad \qquad \qquad \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {att,1} \right\| ,\left\| \varvec{z}_\mathrm {att,2} \right\| \right) \leqslant 1 \\&\varvec{z}_\mathrm {att,2} , \qquad \qquad \quad \; \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {att,1} \right\| ,\left\| \varvec{z}_\mathrm {att,2} \right\| \right) > 1 \end{aligned} \right. \end{aligned}$$
(52)

where \( \phi _\mathrm {e} = \phi -\phi _\mathrm {d}\), \(\theta _\mathrm {e} =\theta -\theta _\mathrm {d}\), \(\psi _\mathrm {e} = \psi -\psi _\mathrm {d}\), \( \phi _\mathrm {d} \), \( \theta _\mathrm {d}\) and \( \psi _{\mathrm {d}} \) are the desired roll, pitch and yaw angle, respectively. According to equation (32), the virtual control is designed as follows

$$\begin{aligned} \begin{aligned} \varvec{\nu }_\mathrm {n}&= \left[ \nu _\mathrm {n,1},\nu _\mathrm {n,2},\nu _\mathrm {n,3} \right] ^\mathrm {T} \\&= -\varvec{R}_1^{-1} \varvec{B}_\mathrm {n1}^\mathrm {T} \varvec{P}_1 \left[ \varvec{S}(\varvec{z}_\mathrm {att,1},\varvec{\alpha }_1)^\mathrm {T}, \varvec{S}(\varvec{z}_\mathrm {att,2},\varvec{\alpha }_2)^\mathrm {T}\right] ^\mathrm {T} \end{aligned} \end{aligned}$$
(53)

where \(\varvec{R}_1 \in {\mathbb {R}}^{3\times 3}\) is a positive definite matrix, \( \varvec{P}_1\) is the positive definite solution of the Riccati equation of the following algebraic matrix

$$\begin{aligned} \begin{aligned}&\varvec{P}_1 \left( \varvec{A}_\mathrm {n1}+ \delta _1 \varvec{I}_{6 \times 6}\right) + \left( \varvec{A}_\mathrm {n1} + \delta _1{{{\varvec{I}}_{6 \times 6}}} \right) ^\mathrm {T} \varvec{P}_1 \\&\quad + \varvec{Q}_1 - \varvec{P}_1\varvec{B}_\mathrm {n1}{\varvec{R}_1^{ - 1}}{\varvec{B}_\mathrm {n1}^\mathrm {T}} \varvec{P}_1 = \varvec{0} \end{aligned} \end{aligned}$$
(54)

where \(\delta _1\) is a positive real number by design, \(\varvec{A}_\mathrm {n1}=\left[ \begin{array}{cc} \varvec{0}_{3\times 3} &{} \varvec{I}_{3\times 3} \\ \varvec{0}_{3\times 3} &{} \varvec{0}_{3\times 3} \end{array} \right] \), \(\varvec{B}_\mathrm {n1}=\left[ \begin{array}{c} \varvec{0}_{3\times 3} \\ \varvec{I}_{3\times 3} \end{array} \right] \), and \(\varvec{Q}_\mathrm {1}=\left[ \begin{array}{cc} \varvec{I}_{3\times 3} &{} \varvec{0}_{3\times 3} \\ \varvec{0}_{3\times 3} &{} \varvec{0}_{3\times 3} \end{array} \right] \).

The first integral sliding mode surface is designed as

$$\begin{aligned} \varvec{\sigma }_1 = \left[ \sigma _{11},\sigma _{12},\sigma _{13} \right] ^\mathrm {T} = \varvec{z}_\mathrm {att,2}- \varvec{\nu }_\mathrm {ns} \end{aligned}$$
(55)

where

$$\begin{aligned} \begin{aligned} \varvec{\nu }_\mathrm {ns}&=\left[ \nu _\mathrm {ns,1},\nu _\mathrm {ns,2},\nu _\mathrm {ns,3}\right] ^\mathrm {T} \\&=\left[ \int _0^t {\nu _\mathrm {n,1}} d\tau ,\int _0^t \nu _\mathrm {n,2} d\tau ,\int _0^t \nu _\mathrm {n,3} d\tau \right] ^\mathrm {T} \end{aligned} \end{aligned}$$
(56)

It is assumed that the final input signal consists of nominal control and adaptive control, i.e.,

$$\begin{aligned} \varvec{\delta }_\mathrm {aer} = \varvec{u}_\mathrm {att,n} + \varvec{u}_\mathrm {att,a} \end{aligned}$$
(57)

Since matrix \( \left( {{k_\mathrm {ped,ctr}}{{\varvec{M}}_2} - {{\varvec{M}}_1}{\varvec{B}}} \right) \) is invertible, \( \varvec{\varUpsilon }_\mathrm {1n} \) is also invertible under Assumption 3, then the nominal control \( \varvec{u}_\mathrm {att,n}\) can be designed as

$$\begin{aligned} \varvec{u}_\mathrm {att,n} = -\varvec{\varUpsilon }_\mathrm {1n}^{-1}\left( \varvec{\varPhi }_\mathrm {1n} -\ddot{\varvec{\varTheta }}_\mathrm {d} -\varvec{\nu }_\mathrm {n} +\varvec{K}_\mathrm {\tau 1} \varvec{\sigma }_1 +\varvec{K}_\mathrm {\eta 1} \varvec{S}(\varvec{\sigma }_1) \right) \nonumber \\ \end{aligned}$$
(58)

where \( \begin{aligned} \varvec{S}(\varvec{\sigma }_1) =\left[ \begin{array}{c} {\text {sign}(\sigma _{11})|\sigma _{11}|^{\frac{1}{2}}} \\ {\text {sign}(\sigma _{12})|\sigma _{12}|^{\frac{1}{2}}}\\ {\text {sign}(\sigma _{13})|\sigma _{13}|^{\frac{1}{2}}} \end{array}\right] \end{aligned} \), \(\varvec{K}_\mathrm {\tau 1}\) and \(\varvec{K}_\mathrm {\eta 1}\) are positive definite diagonal matrices.

The adaptive control \( \varvec{u}_\mathrm {att,a}\) is designed as

$$\begin{aligned}&\varvec{u}_\mathrm {att,a} \nonumber \\&\quad = \left\{ \begin{aligned}&-\varvec{\varUpsilon }_\mathrm {1n}^{-1}\left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) \dfrac{\varvec{\sigma }_1}{\Vert \varvec{\sigma }_1\Vert }, \\&\quad \text {if} \ \Vert \varvec{\sigma }_1\Vert \left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) > k_\mathrm {a1} \\&-\varvec{\varUpsilon }_\mathrm {1n}^{-1}\left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) ^2 \dfrac{\varvec{\sigma }_1}{k_\mathrm {a1}}, \\&\quad \text {if} \ \Vert \varvec{\sigma }_1\Vert \left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) \le k_\mathrm {a1} \end{aligned} \right. \end{aligned}$$
(59)

where \(k_\mathrm {a1}\) is a constant to be designed, and control parameters \({\hat{c}}_1\), \({\hat{c}}_2\) and \({\hat{c}}_3\) are estimated values of the unknown parameters \({c}_1\), \({c}_2\) and \({c}_3\), respectively. \({c}_1\), \({c}_2\) and \({c}_3\) are defined as follows

$$\begin{aligned} c_1 = \dfrac{\varepsilon _\mathrm {\varPhi 1}}{1-\varepsilon _\mathrm {\varUpsilon 1}},\quad c_2 = \dfrac{\varepsilon _\mathrm {\varPhi 2}}{1-\varepsilon _\mathrm {\varUpsilon 1}}, \quad c_3 = \dfrac{\varepsilon _\mathrm {\varUpsilon 1}}{1-\varepsilon _\mathrm {\varUpsilon 1}} \end{aligned}$$
(60)

Next, the adaptive laws are designed as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{{\hat{c}}}_1 = -o_1 {\hat{c}}_1 + p_1 \Vert \varvec{\sigma }_1\Vert \\ \dot{{\hat{c}}}_2 = -o_2 {\hat{c}}_2 + p_2 \Vert \varvec{\sigma }_1\Vert \Vert \varvec{\chi }_1\Vert \\ \dot{{\hat{c}}}_3 = -o_3 {\hat{c}}_3 + p_3 \Vert \varvec{\sigma }_1\Vert \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \end{array} \right. \end{aligned}$$
(61)

where \( o_i>0\) and \(p_i>0\), \( i=1,2,3 \) are control parameters to be designed.

4.2 Vertical position control

Using a similar method to the tail rotor force, the main rotor lift \(T_\mathrm {mr}\) in equation (9) can be rewritten as follows

$$\begin{aligned} T_\mathrm {mr}={k_\mathrm {int1} w+k_\mathrm {int1} k_\mathrm {int2} k_\mathrm {col} \delta _\mathrm {col}-k_\mathrm {int1} v_\mathrm {im,hov}}+{\overline{d}}_\mathrm {T}\nonumber \\ \end{aligned}$$
(62)

where \(k_\mathrm {int1}\) and \( k_\mathrm {int2} \) are model parameters, \( {\overline{d}}_\mathrm {T} ={d}_\mathrm {T} -k_\mathrm {int1}(v_\mathrm {im}-v_\mathrm {im,hov})\), \({d}_\mathrm {T}\) is the approximation error in the calculation model of the main rotor force. \(\delta _\mathrm {col}\) is the collective pitch servo input of the unmanned helicopter. \(v_\mathrm {im}\) indicates the induced velocity of the main rotor, while \(v_\mathrm {im,hov}\) denotes the induced velocity in hover.

Define the sliding mode variable about the altitude as \( {z}_\mathrm {ver,1} ={s}_\mathrm {ver} = {z} -{z}_\mathrm {d}\), \( {z}_\mathrm {ver,2} = \dot{{s}}_\mathrm {ver} \). Combining equations (62), (1) and (2), the vertical position dynamics of the small unmanned helicopter can be described as

$$\begin{aligned} \begin{aligned}&\dot{{z}}_\mathrm {ver,1} = {z}_\mathrm {ver,2} \\&\dot{{z}}_\mathrm {ver,2} = {\varPhi }_\mathrm {2n} + {\varDelta }_{\varPhi _2} + ({\varUpsilon }_\mathrm {2n} + {\varDelta }_{\varUpsilon _2}) {\delta }_{\mathrm {col}} -\ddot{z}_\mathrm {d} \end{aligned} \end{aligned}$$
(63)

where \( {\varUpsilon }_\mathrm {2n}= \dfrac{k_\mathrm {int1} k_\mathrm {int2} k_\mathrm {col} \mathrm {c}(\phi ) \mathrm {c}(\theta )}{m_\mathrm {n}} \), \({\varPhi }_\mathrm {2n} = \dfrac{k_\mathrm {int1} (w-v_\mathrm {im,hov}) \mathrm {c}(\phi ) \mathrm {c}(\theta )}{m_\mathrm {n}} +g \), \({\varDelta }_{\varUpsilon _2} = \dfrac{k_\mathrm {int1} k_\mathrm {int2} k_\mathrm {col} \mathrm {c}(\phi )\mathrm {c}(\theta )(m_\mathrm {n}-m)}{mm_\mathrm {n}}\), \( {\varDelta }_{\varPhi _2} = ({\bar{d}}_\mathrm {T} + {d}_\mathrm {F})\mathrm {c}(\phi ) \mathrm {c}(\theta )\), \( \ddot{z}_\mathrm {d} \) is the desired acceleration in the vertical direction of the inertial coordinate system, and \( m_\mathrm {n} \) is the measured mass of the aircraft.

Define \(\varvec{x}_2 \buildrel \varDelta \over = \left[ z , v_z \right] ^\mathrm {T}\), and suppose that positive real numbers \(\varepsilon _\mathrm {\varPhi 3} \), \(\varepsilon _\mathrm {\varPhi 4}\) and \(\varepsilon _\mathrm {\varUpsilon 2}\) exist so that the following inequality holds

$$\begin{aligned} \left\{ \begin{aligned}&|{\varDelta }_{\varPhi _2}| \le \varepsilon _\mathrm {\varPhi 3}+\varepsilon _\mathrm {\varPhi 4}\Vert \varvec{\chi }_2\Vert ,&\Vert \varvec{\chi }_2\Vert = \max \left( \Vert \varvec{x}_2\Vert ,\Vert \varvec{x}_2\Vert ^2\right) \\&\dfrac{|{\varDelta }_{\varUpsilon _2}|}{|{\varUpsilon }_\mathrm {2n}|} \le \varepsilon _\mathrm {\varUpsilon 2}<1 ,&|{\varUpsilon }_\mathrm {2n}| \ne 0 \\ \end{aligned} \right. \end{aligned}$$
(64)

Select functions \({S}({z}_\mathrm {ver,1},\bar{{\alpha }}_1)\) and \({S}({z}_\mathrm {ver,2},\bar{{\alpha }}_2)\) as

$$\begin{aligned}&{S}({z}_\mathrm {ver,1},\bar{{\alpha }}_1) \nonumber \\&\quad = \left\{ \begin{aligned}&\text {sign}(z _\mathrm {e})\left| z _\mathrm {e} \right| ^{{\bar{\alpha }}_{1}},&\text {if} \; \max \left( \left| {z}_\mathrm {ver,1} \right| ,\left| {z}_\mathrm {ver,2} \right| \right) \leqslant 1 \\&{z}_\mathrm {ver,1} ,&\text {if} \; \max \left( \left| {z}_\mathrm {ver,1} \right| ,\left| {z}_\mathrm {ver,2} \right| \right) > 1 \end{aligned} \right. \end{aligned}$$
(65)
$$\begin{aligned}&{S}({z}_\mathrm {ver,2}, \bar{{\alpha }}_2) \nonumber \\&\quad = \left\{ \begin{aligned}&\text {sign}({\dot{z}} _\mathrm {e})\left| {\dot{z} }_\mathrm {e} \right| ^{{\bar{\alpha }}_{2}} ,&\text {if} \; \max \left( \left| {z}_\mathrm {ver,1} \right| ,\left| {z}_\mathrm {ver,2} \right| \right) \leqslant 1 \\&{z}_\mathrm {ver,2} ,&\text {if} \; \max \left( \left| {z}_\mathrm {ver,1} \right| ,\left| {z}_\mathrm {ver,2} \right| \right) > 1 \end{aligned} \right. \end{aligned}$$
(66)

where \(z_\mathrm {e} =z -z_\mathrm {d}\), \(z_{\mathrm {d}} \) is the expected altitude in inertial coordinates. Similar to equation (53), the designed vertical position virtual control is

$$\begin{aligned} {\mu }_\mathrm {n} = -{R}_2^{-1} \varvec{B}_\mathrm {n2}^\mathrm {T} \varvec{P}_2 \left[ {S}(\varvec{z}_\mathrm {ver,1},\bar{{\alpha }}_1)^\mathrm {T}, {S}(\varvec{z}_\mathrm {ver,2},\bar{{\alpha }}_2)^\mathrm {T}\right] ^\mathrm {T} \end{aligned}$$
(67)

where \({R}_2 \in {\mathbb {R}}\) is a real number greater than zero, \( \varvec{P}_2\) is the positive definite solution of the following algebraic matrix Riccati equation

$$\begin{aligned}&\varvec{P}_2 \left( \varvec{A}_\mathrm {n2}+ \delta _2 \varvec{I}_{2 \times 2}\right) + \left( \varvec{A}_\mathrm {n2} + \delta _2{{{\varvec{I}}_{2 \times 2}}} \right) ^\mathrm {T} \varvec{P}_2\nonumber \\&\quad + \varvec{Q}_2 - \varvec{P}_2\varvec{B}_\mathrm {n2}{{R}_2^{ - 1}}{\varvec{B}_\mathrm {n2}^\mathrm {T}} \varvec{P}_2 = \varvec{0} \end{aligned}$$
(68)

where \(\delta _2\) a positive control parameter, \(\varvec{A}_\mathrm {n2}=\left[ \begin{array}{cc} {0} &{} 1 \\ {0} &{} 0 \end{array} \right] \), \(\varvec{B}_\mathrm {n2}=\left[ \begin{array}{c} 0 \\ 1 \end{array} \right] \), and \(\varvec{Q}_\mathrm {2}=\left[ \begin{array}{cc} 1 &{} 0 \\ 0 &{} 0 \end{array} \right] \).

Select the second integral sliding mode surface as

$$\begin{aligned} {\sigma }_2 = {z}_\mathrm {ver,2}- {\mu }_\mathrm {ns} \end{aligned}$$
(69)

where \({\mu }_\mathrm {ns} = \int _0^t {\mu _\mathrm {n}} d\tau \). The control input of the altitude servo is divided into nominal control and adaptive control, as follows

$$\begin{aligned} {\delta }_\mathrm {col} = {u}_\mathrm {ver,n} + {u}_\mathrm {ver,a} \end{aligned}$$
(70)

obviously, \({\varUpsilon }_\mathrm {2n} \ne 0\). Design the nominal control as

$$\begin{aligned} {u}_\mathrm {ver,n} = -{\varUpsilon }_\mathrm {2n}^{-1}\left( {\varPhi }_\mathrm {2n} -\ddot{z}_\mathrm {d} -{\mu }_\mathrm {n} +{K}_\mathrm {\tau 2} {\sigma }_2 +{K}_\mathrm {\eta 2} {S}({\sigma }_2) \right) \nonumber \\ \end{aligned}$$
(71)

where \({S}({\sigma }_2)= \text {sign}(\sigma _{2})|\sigma _{2}|^{\frac{1}{2}}\), \({K}_\mathrm {\tau 2}\) and \({K}_\mathrm {\eta 2}\) are positive design parameters.

Then design the adaptive control \({u}_\mathrm {ver,a}\) as

$$\begin{aligned}&{u}_\mathrm {ver,a} \nonumber \\&\quad = \left\{ \begin{aligned}&-{\varUpsilon }_\mathrm {2n}^{-1}\left( {\hat{c}}_4 +{\hat{c}}_5 \Vert {\varvec{\chi }}_2\Vert +{\hat{c}}_6 |{\varPhi }_\mathrm {2n} -{\mu }_\mathrm {n} -\ddot{z}_\mathrm {d}| \right) \dfrac{{\sigma }_2}{|{\sigma }_2|}, \\&\qquad \text {if}\quad |{\sigma }_2| \left( {\hat{c}}_4 +{\hat{c}}_5 \Vert \varvec{\chi }_2\Vert +{\hat{c}}_6 |{\varPhi }_\mathrm {2n} -{\mu }_\mathrm {n} -\ddot{z}_\mathrm {d}| \right) > k_\mathrm {a2} \\&-{\varUpsilon }_\mathrm {2n}^{-1}\left( {\hat{c}}_4 +{\hat{c}}_5 \Vert \varvec{\chi }_2\Vert +{\hat{c}}_6 |{\varPhi }_\mathrm {2n} -{\mu }_\mathrm {n} -\ddot{z}_\mathrm {d}| \right) ^2 \dfrac{{\sigma }_2}{k_\mathrm {a2}}, \\&\qquad \text {if}\quad |{\sigma }_2| \left( {\hat{c}}_4 +{\hat{c}}_5 \Vert \varvec{\chi }_2\Vert +{\hat{c}}_6 |{\varPhi }_\mathrm {2n} -{\mu }_\mathrm {n} -\ddot{z}_\mathrm {d}| \right) \le k_\mathrm {a2} \end{aligned}\right. \nonumber \\ \end{aligned}$$
(72)

where \(k_\mathrm {a2}\) is a constant, \({c}_4\), \({c}_5\) and \({c}_6\) are unknown parameters, whose estimated values are \({\hat{c}}_4\), \({\hat{c}}_5\) and \({\hat{c}}_6\), defined as follows

$$\begin{aligned} c_4 = \dfrac{\varepsilon _\mathrm {\varPhi 3}}{1-\varepsilon _\mathrm {\varUpsilon 2}},\quad c_5 = \dfrac{\varepsilon _\mathrm {\varPhi 4}}{1-\varepsilon _\mathrm {\varUpsilon 2}}, \quad c_6 = \dfrac{\varepsilon _\mathrm {\varUpsilon 2}}{1-\varepsilon _\mathrm {\varUpsilon 2}} \end{aligned}$$
(73)

In order to obtain the estimated values, the three adaptive laws are designed as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{{\hat{c}}}_4 = -o_4 {\hat{c}}_4 + p_4 |{\sigma }_2| \\ \dot{{\hat{c}}}_5 = -o_5 {\hat{c}}_5 + p_5 |{\sigma }_2| \Vert {\chi }_2\Vert \\ \dot{{\hat{c}}}_6 = -o_6 {\hat{c}}_6 + p_6 |{\sigma }_2| |{\varPhi }_\mathrm {2n} -{\mu }_\mathrm {n} -\ddot{z}_\mathrm {d}| \end{array} \right. \end{aligned}$$
(74)

where \( o_i>0\), \(p_i>0\), \( i=4,5,6 \).

4.3 Horizontal position control

Compared with attitude, the dynamic response of position of small unmanned helicopters is slower. They can be divided into inner and outer loops to carry out the control design. The dynamic model of the horizontal position can be approximately equivalent to a typical second order integral chain model, which is especially suitable for the control method proposed in this paper.

To facilitate the design, the horizontal position model is extracted from equations (1) and (2), and rewritten as follows

$$\begin{aligned} \left\{ \begin{array}{l} {\dot{\varvec{P}}_{\mathrm {h}}=\varvec{V}_{\mathrm {h}}} \\ {\dot{\varvec{V}}_{\mathrm {h}}=\varvec{a}_{\mathrm {hd}}} \end{array} \right. \end{aligned}$$
(75)

where \({\varvec{P}}_{\mathrm {h}}=[x,y]^\mathrm {T}\) and \({\varvec{V}}_{\mathrm {h}}=[v_x,v_y]^\mathrm {T}\) are the horizontal position and velocity vector in the inertial coordinate system, respectively, \({\varvec{a}}_{\mathrm {hd}}=[a_\mathrm {hd,x},a_\mathrm {hd,y}]^\mathrm {T}\) is the horizontal position virtual control. Similar to 4.1 and 4.2, let \( \varvec{z}_\mathrm {hon,1} = \varvec{s}_\mathrm {hon} = \varvec{P}_\mathrm {h} -\varvec{P}_\mathrm {hd} \) be the sliding mode variable, and \( \varvec{z}_\mathrm {hon,2} = \dot{\varvec{s}}_\mathrm {hon} \). \( \varvec{P}_\mathrm {hd} \) is the expected horizontal position vector. Then equation (75) can be rewritten as

$$\begin{aligned} \begin{aligned}&\dot{\varvec{z}}_\mathrm {hon,1} = \varvec{z}_\mathrm {hon,2} \\&\dot{\varvec{z}}_\mathrm {hon,2} = \varvec{\varPhi }_\mathrm {3n} + \varvec{\varDelta }_{\varPhi _3} + (\varvec{\varUpsilon }_\mathrm {3n} + \varvec{\varDelta }_{\varUpsilon _3}) \varvec{a}_{\mathrm {hd}} -\ddot{\varvec{P}}_\mathrm {hd} \end{aligned} \end{aligned}$$
(76)

where \(\varvec{\varUpsilon }_\mathrm {3n}= \left[ \begin{array}{cc} 1 &{} 0 \\ 0 &{} 1 \end{array} \right] \), \(\varvec{\varPhi }_\mathrm {3n}= \left[ \begin{array}{c} 0 \\ 0 \end{array} \right] \), \(\varvec{\varDelta }_{\varPhi _3}\) and \(\varvec{\varDelta }_{\varUpsilon _3}\) can be obtained from equation (2). Based on Assumptions 2 and 3, assume that there exist three positive real numbers \(\varepsilon _\mathrm {\varPhi 5} \) \(\varepsilon _\mathrm {\varPhi 6}\) and \(\varepsilon _\mathrm {\varUpsilon 3}\) such that the following inequality is always true

$$\begin{aligned} \left\{ \begin{aligned}&\Vert \varvec{\varDelta }_{\varPhi _3}\Vert \le \varepsilon _\mathrm {\varPhi 5}+\varepsilon _\mathrm {\varPhi 6}\Vert \varvec{\chi }_3\Vert ,&\Vert \varvec{\chi }_3\Vert = \max \left( \Vert \varvec{x}_3\Vert ,\Vert \varvec{x}_3\Vert ^2\right) \\&\dfrac{\Vert \varvec{\varDelta }_{\varUpsilon _3}\Vert }{\Vert \varvec{\varUpsilon }_\mathrm {3n}\Vert } \le \varepsilon _\mathrm {\varUpsilon 3}<1 ,&\Vert \varvec{\varUpsilon }_\mathrm {3n}\Vert \ne 0 \\ \end{aligned} \right. \nonumber \\ \end{aligned}$$
(77)

where \( \varvec{x}_3\) is defined as \( \varvec{x}_3 \buildrel \varDelta \over = \left[ \varvec{P}_\mathrm {h}^\mathrm {T}, \varvec{V}_\mathrm {h}^\mathrm {T}\right] ^\mathrm {T}\).

Define \(\underline{\varvec{\alpha }}_1=\text {diag}({\underline{\alpha }}_{11},{\underline{\alpha }}_{12})\), \(\underline{\varvec{\alpha }}_2=\text {diag}({\underline{\alpha }}_{21},{\underline{\alpha }}_{22})\), and design functions \(\varvec{S}(\varvec{z}_\mathrm {hon,1},\underline{\varvec{\alpha }}_1)\), \(\varvec{S}(\varvec{z}_\mathrm {hon,2},\underline{\varvec{\alpha }}_2)\) as

$$\begin{aligned}&\varvec{S}(\varvec{z}_\mathrm {hon,1},\underline{\varvec{\alpha }}_1) \nonumber \\&\quad = \left\{ \begin{aligned}&\left[ \text {sign}(x _\mathrm {e})\left| x _\mathrm {e} \right| ^{{\underline{\alpha }}_{11}}, \text {sign}(y_\mathrm {e})\left| y_\mathrm {e} \right| ^{{\underline{\alpha }}_{12}} \right] ^\mathrm {T} ,\\&\qquad \qquad \qquad \quad \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {hon,1} \right\| ,\left\| \varvec{z}_\mathrm {hon,2} \right\| \right) \leqslant 1 \\&\varvec{z}_\mathrm {hon,1} , \quad \qquad \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {hon,1} \right\| ,\left\| \varvec{z}_\mathrm {hon,2} \right\| \right) > 1 \end{aligned} \right. \nonumber \\ \end{aligned}$$
(78)
$$\begin{aligned}&\varvec{S}(\varvec{z}_\mathrm {hon,2}, \underline{\varvec{\alpha }}_2) \nonumber \\&\quad = \left\{ \begin{aligned}&\left[ \text {sign}({\dot{x}} _\mathrm {e})\left| {\dot{x}}_\mathrm {e}\right| ^{{\underline{\alpha }}_{21}}, \text {sign}({\dot{y}} _\mathrm {e})\left| {\dot{y}}_\mathrm {e} \right| ^{{\underline{\alpha }}_{22}} \right] ^\mathrm {T} , \\&\qquad \qquad \qquad \quad \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {hon,1} \right\| ,\left\| \varvec{z}_\mathrm {hon,2} \right\| \right) \leqslant 1 \\&\varvec{z}_\mathrm {hon,2} , \qquad \quad \text {if} \quad \max \left( \left\| \varvec{z}_\mathrm {hon,1} \right\| ,\left\| \varvec{z}_\mathrm {hon,2} \right\| \right) > 1 \end{aligned} \right. \nonumber \\ \end{aligned}$$
(79)

where \(x_\mathrm {e} = x -x_\mathrm {d}\), \(y_\mathrm {e} =y -y_\mathrm {d}\), \( x_\mathrm {d} \) and \( y_\mathrm {d}\) are the desired longitudinal and lateral horizontal positions, respectively. According to (32), design virtual control

$$\begin{aligned} \begin{aligned} \varvec{\nu }_\mathrm {hon}&=\left[ \nu _\mathrm {hon,1},\nu _\mathrm {hon,2} \right] ^\mathrm {T} \\&= -\varvec{R}_3^{-1} \varvec{B}_\mathrm {n3}^\mathrm {T} \varvec{P}_3 \left[ \varvec{S}(\varvec{z}_\mathrm {hon,1},\underline{\varvec{\alpha }}_1)^\mathrm {T}, \varvec{S}(\varvec{z}_\mathrm {hon,2},\underline{\varvec{\alpha }}_2)^\mathrm {T}\right] ^\mathrm {T} \end{aligned} \end{aligned}$$
(80)

where \(\varvec{R}_3 \in {\mathbb {R}}^{2\times 2}\) is a positive definite matrix, \( \varvec{P}_3\) is the positive definite solution of the following algebraic Riccati equation

$$\begin{aligned} \begin{aligned}&\varvec{P}_3 \left( \varvec{A}_\mathrm {n3}+ \delta _3 \varvec{I}_{4 \times 4}\right) + \left( \varvec{A}_\mathrm {n3} + \delta _3{{{\varvec{I}}_{4 \times 4}}} \right) ^\mathrm {T} \varvec{P}_3 \\&\quad + \varvec{Q}_3 - \varvec{P}_3\varvec{B}_\mathrm {n3}{\varvec{R}_3^{ - 1}}{\varvec{B}_\mathrm {n3}^\mathrm {T}} \varvec{P}_3 = \varvec{0} \end{aligned} \end{aligned}$$
(81)

where \(\delta _3\) is a designed constant greater than zero, \(\varvec{A}_\mathrm {n3}=\left[ \begin{array}{cc} \varvec{0}_{2\times 2} &{} \varvec{I}_{2\times 2} \\ \varvec{0}_{2\times 2} &{} \varvec{0}_{2\times 2} \end{array} \right] \), \(\varvec{B}_\mathrm {n3}=\left[ \begin{array}{c} \varvec{0}_{2\times 2} \\ \varvec{I}_{2\times 2} \end{array} \right] \), and \(\varvec{Q}_\mathrm {3}=\left[ \begin{array}{cc} \varvec{I}_{2\times 2} &{} \varvec{0}_{2\times 2} \\ \varvec{0}_{2\times 2} &{} \varvec{0}_{2\times 2} \end{array} \right] \).

The third integral sliding surface \( \varvec{\sigma }_3\) is designed as

$$\begin{aligned} \varvec{\sigma }_3 = \left[ \sigma _{31},\sigma _{32} \right] ^\mathrm {T} = \varvec{z}_\mathrm {hon,2}- \varvec{\nu }_\mathrm {hons} \end{aligned}$$
(82)

where \(\varvec{\nu }_\mathrm {hons} =\left[ \int _0^t {\nu _\mathrm {hon,1}} d\tau ,\int _0^t \nu _\mathrm {hon,2} d\tau \right] ^\mathrm {T} \). Similarly, the virtual control of horizontal position consists of nominal control and adaptive control

$$\begin{aligned} \varvec{a}_\mathrm {hd} = \varvec{u}_\mathrm {hon,n} + \varvec{u}_\mathrm {hon,a} \end{aligned}$$
(83)

Design the nominal control \( \varvec{u}_\mathrm {hon,n}\) as follows

$$\begin{aligned}&\varvec{u}_\mathrm {hon,n} \nonumber \\&\quad = -\varvec{\varUpsilon }_\mathrm {3n}^{-1}\left( \varvec{\varPhi }_\mathrm {3n} -\ddot{\varvec{P}}_\mathrm {hd} -\varvec{\nu }_\mathrm {hon} +\varvec{K}_\mathrm {\tau 3} \varvec{\sigma }_3 +\varvec{K}_\mathrm {\eta 3} \varvec{S}(\varvec{\sigma }_3) \right) \nonumber \\ \end{aligned}$$
(84)

where \(\varvec{S}(\varvec{\sigma }_3)=\left[ \text {sign}(\sigma _{31})|\sigma _{31}|^{\frac{1}{2}}, \text {sign}(\sigma _{32})|\sigma _{32}|^{\frac{1}{2}} \right] ^\mathrm {T}\), \(\varvec{K}_\mathrm {\tau 3}\) and \(\varvec{K}_\mathrm {\eta 3}\) are positive definite diagonal matrices.

In addition, the adaptive control \(\varvec{u}_\mathrm {hon,a}\) is designed as follows

$$\begin{aligned}&\varvec{u}_\mathrm {hon,a} \nonumber \\&\quad = \left\{ \begin{aligned}&-\varvec{\varUpsilon }_\mathrm {3n}^{-1}\left( {\hat{c}}_7 +{\hat{c}}_8 \Vert \varvec{\chi }_3\Vert +{\hat{c}}_9 \Vert \varvec{\varPhi }_\mathrm {3n} -\varvec{\nu }_\mathrm {hon} -\ddot{\varvec{P}}_\mathrm {hd}\Vert \right) \dfrac{\varvec{\sigma }_3}{\Vert \varvec{\sigma }_3\Vert }, \\&\text {if} \ \Vert \varvec{\sigma }_3\Vert \left( {\hat{c}}_7 +{\hat{c}}_8 \Vert \varvec{\chi }_3\Vert +{\hat{c}}_9 \Vert \varvec{\varPhi }_\mathrm {3n} -\varvec{\nu }_\mathrm {hon} -\ddot{\varvec{P}}_\mathrm {hd}\Vert \right) > k_\mathrm {a3} \\&-\varvec{\varUpsilon }_\mathrm {3n}^{-1}\left( {\hat{c}}_7 +{\hat{c}}_8 \Vert \varvec{\chi }_3\Vert +{\hat{c}}_9 \Vert \varvec{\varPhi }_\mathrm {3n} -\varvec{\nu }_\mathrm {hon} -\ddot{\varvec{P}}_\mathrm {hd}\Vert \right) ^2 \dfrac{\varvec{\sigma }_3}{k_\mathrm {a3}}, \\&\text {if} \ \Vert \varvec{\sigma }_3\Vert \left( {\hat{c}}_7 +{\hat{c}}_8 \Vert \varvec{\chi }_3\Vert +{\hat{c}}_9 \Vert \varvec{\varPhi }_\mathrm {3n} -\varvec{\nu }_\mathrm {hon} -\ddot{\varvec{P}}_\mathrm {hd}\Vert \right) \le k_\mathrm {a3} \end{aligned} \right. \nonumber \\ \end{aligned}$$
(85)

where \(k_\mathrm {a3}\) is a design parameter that needs to be selected appropriately, \({\hat{c}}_7\), \({\hat{c}}_8\) and \({\hat{c}}_9\) are, respectively, estimated values of unknown parameters \({c}_7\), \({c}_8\) and \({c}_9\), which are defined as

$$\begin{aligned} c_7 = \dfrac{\varepsilon _\mathrm {\varPhi 5}}{1-\varepsilon _\mathrm {\varUpsilon 3}},\quad c_8 = \dfrac{\varepsilon _\mathrm {\varPhi 6}}{1-\varepsilon _\mathrm {\varUpsilon 3}}, \quad c_9 = \dfrac{\varepsilon _\mathrm {\varUpsilon 3}}{1-\varepsilon _\mathrm {\varUpsilon 3}} \end{aligned}$$
(86)

In order to stabilize the closed-loop system, the three adaptive laws are designed as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{{\hat{c}}}_7 = -o_7 {\hat{c}}_7 + p_7 \Vert \varvec{\sigma }_3\Vert \\ \dot{{\hat{c}}}_8 = -o_8 {\hat{c}}_8 + p_8 \Vert \varvec{\sigma }_3\Vert \Vert \varvec{\chi }_3\Vert \\ \dot{{\hat{c}}}_9 = -o_9 {\hat{c}}_9 + p_9 \Vert \varvec{\sigma }_3\Vert \Vert \varvec{\varPhi }_\mathrm {3n} -\varvec{\nu }_\mathrm {hon} -\ddot{\varvec{P}}_\mathrm {hd}\Vert \end{array} \right. \end{aligned}$$
(87)

where \( o_i>0\), \(p_i>0\), \( i=7,8,9 \).

Next, the desired longitudinal and lateral acceleration in the inertial coordinate system needs to be converted into the desired pitch Angle and roll Angle in the body coordinate system. Taking the expected longitudinal acceleration and the desired pitch angle as an example, the conversion relationship between them is shown in Fig. 4.

Fig. 4
figure 4

Conversion between expected longitudinal acceleration and pitch angle

where \(x_\mathrm {b0}\) and \(z_\mathrm {b0}\) are the \(x-\) and \(z-\)axis of the initial body coordinate system of the small unmanned helicopter. For the convenience of description, it is assumed that they are recombined with the \(x-\) and \(z-\)-axis of the inertial coordinate system, respectively. \(O_\mathrm {b}-x_\mathrm {b1}y_\mathrm {b1}z_\mathrm {b1}\) is the desired body coordinate system, where the \(y_\mathrm {b1}\)-axis is recombined with its \(y_\mathrm {b0}\) axis in \(O_\mathrm {b}-x_\mathrm {b0}y_\mathrm {b0}z_\mathrm {b0}\), both represented by the black solid points in Fig. 4, and their direction is vertical to paper and pointing outward.

Firstly, it is assumed that the unmanned helicopter is stable on the \(z-\)axis of the inertial coordinate system and the yaw angle is zero. According to the definition of the coordinate system in Fig. 1, the desired pitch \(\theta _\mathrm {d}\) is opposite to the expected longitudinal acceleration \(a_{\mathrm {hd},x}\), then

$$\begin{aligned} \theta _\mathrm {d} = \arctan \left( -\dfrac{a_{\mathrm {hd},x}}{g}\right) \end{aligned}$$
(88)

So similarly,

$$\begin{aligned} \phi _\mathrm {d} = \arctan \left( \dfrac{a_{\mathrm {hd},y} \cos (\theta _\mathrm {d})}{g} \right) \end{aligned}$$
(89)

Assuming that the force of the unmanned helicopter is balanced on \( z-\)axis in the inertial coordinate system, but the yaw angle is not zero, the following equation is established

$$\begin{aligned} m\left[ \begin{gathered} {a_{\mathrm {hd},x}} \\ {a_{\mathrm {hd},y}} \\ 0 \\ \end{gathered} \right] = \varvec{R}(\varvec{\theta })\left[ \begin{gathered} 0 \\ 0 \\ - T_\mathrm {mr} \\ \end{gathered} \right] + m \left[ \begin{gathered} 0 \\ 0 \\ g \\ \end{gathered} \right] \end{aligned}$$
(90)

which indicates that

$$\begin{aligned}&a_{\mathrm {hd},x} = - \dfrac{ T_\mathrm {mr} }{m} \left( \cos (\phi )\sin (\theta )\cos (\psi )+ \sin (\phi )\sin (\psi ) \right) \nonumber \\&a_{\mathrm {hd},y} = - \dfrac{ T_\mathrm {mr} }{m} \left( \cos (\phi )\sin (\theta )\sin (\psi )- \sin (\phi )\cos (\psi ) \right) \nonumber \\&T_\mathrm {mr} = \dfrac{mg}{\cos (\phi )\cos (\theta )} \end{aligned}$$
(91)

Combining the three equations of (91), one can get

$$\begin{aligned}&\theta _\mathrm {d} = \arctan \left( -\dfrac{\cos (\psi )a_{\mathrm {hd},x} + \sin (\psi )a_{\mathrm {hd},y}}{g}\right) \nonumber \\&\phi _\mathrm {d} = \arctan \left( -\dfrac{\left( \sin (\psi )a_{\mathrm {hd},x} - \cos (\psi )a_{\mathrm {hd},y}\right) \cos (\theta _\mathrm {d})}{g}\right) \end{aligned}$$
(92)

4.4 Stability analysis

Lemma 3

According to the adaptive laws given in equations (61), (74) and (87), the adaptive parameters \({\hat{c}}_i \ (i=1,2,\ldots ,9)\) have upper bounds. That is, there ar positive real numbers \({\bar{c}}_i\), such that the inequalities \( 0<{\hat{c}}_i \le {\bar{c}}_i \) and \(0<c_i \le {\bar{c}}_i \) are always true for all \(t>0\).

Theorem 2

Under Assumptions 1, 2 and 3, the nonlinear dynamics model of the small unmanned helicopter described in equation (1), (2), (3), (4) and (8) is considered. By defining the integral sliding mode surface as shown in formulas (55), (69) and (82), and the virtual control as shown in formulas (53), (67) and (80), and then designing an adaptive high-order continuous sliding mode quasi-optimal controller composed of equations (57), (58), (59), (61), (70), (71), (72), (74), (83), (84), (85) and (87), the attitude and position tracking errors of the system can converge to the vicinity of the origin in finite time. Moreover, the convergence rate of attitude, vertical position and horizontal position tracking errors can be guaranteed to be no less than \(e^{-\delta _1 t}\), \(e^{-\delta _2 t}\) and \(e^{-\delta _3 t}\), respectively. \(\square \)

Proof

Design the first Lyapunov function as

$$\begin{aligned} V_1 = \dfrac{1}{2} \varvec{\sigma }_1^\mathrm {T} \varvec{\sigma }_1 + \dfrac{1 -\varepsilon _\mathrm {\varUpsilon 1}}{2}\sum \limits _{i = 1}^3 \dfrac{\left( c_i - {\hat{c}}_i \right) ^2}{p_i} \end{aligned}$$
(93)

The following two cases are analyzed.

Case 1: when

$$\begin{aligned} \Vert \varvec{\sigma }_1\Vert \left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) > k_\mathrm {a1} \end{aligned}$$

Let \( {{\bar{c}}} = {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \). By substituting equation (57), (58) and (59) into the time derivative of equation (93), and considering equation (50), it can be obtained

$$\begin{aligned} {\dot{V}}_1= & {} -\varvec{\sigma }_1^\mathrm {T} \dot{\varvec{\sigma }}_1 +\left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \sum \limits _{i = 1}^3 \dfrac{\left( {\hat{c}}_i -c_i \right) \dot{{\hat{c}}}_i }{p_i}\nonumber \\\le & {} - \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2}\nonumber \\&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\eta 1})\varvec{\sigma }_1^\mathrm {T}\varvec{S}(\varvec{\sigma }_1) + \varepsilon _\mathrm {\varPhi 1}\Vert \varvec{\sigma }_1\Vert \nonumber \\&+\varepsilon _\mathrm {\varPhi 2}\Vert \varvec{\chi }_1\Vert \Vert \varvec{\sigma }_1\Vert +\varepsilon _\mathrm {\varUpsilon 1}\Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \Vert \varvec{\sigma }_1\Vert \nonumber \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) {\bar{c}}\Vert \varvec{\sigma }_1\Vert \nonumber \\&+(1 -\varepsilon _\mathrm {\varUpsilon 1}) \left( \sum \limits _{i = 1}^3 \dfrac{ \left( {\hat{c}}_i -c_i \right) \dot{{\hat{c}}}_i}{p_i} \right) \end{aligned}$$
(94)

According to (61) and using the definition of \(c_1\), \(c_2\) and \(c_3\), one can obtain

$$\begin{aligned}&\left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \sum \limits _{i = 1}^3 {\frac{{\left( {{{{{\hat{c}}}}_i} - {c_i}} \right) {{\dot{{\hat{c}}}}_i}}}{{{p_i}}}} \nonumber \\&\quad = - \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \sum \limits _{i = 1}^3 {\frac{{{o_i}\left( {{{{{\hat{c}}}}_i} - {c_i}} \right) {{{{\hat{c}}}}_i}}}{{{p_i}}}} \nonumber \\&\qquad + \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \left( {{{{{\hat{c}}}}_1} - {c_1}} \right) \left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\&\qquad + \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \left( {{{{{\hat{c}}}}_2} - {c_2}} \right) \left\| {{\varvec{\chi } _1}} \right\| \left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\&\qquad + \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \left( {{{{{\hat{c}}}}_3} - {c_3}} \right) \left\| {{\varvec{\varPhi } _{\mathrm{{1n}}}} - {\varvec{\nu } _{\mathrm{{n}}}} - {{\ddot{\varvec{\varTheta }} }_{\mathrm{{d}}}}} \right\| \left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\&\quad = - \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \sum \limits _{i = 1}^3 \frac{{{o_i}\left( {{{{{\hat{c}}}}_i} - {c_i}} \right) {{{{\hat{c}}}}_i}}}{{{p_i}}} \nonumber \\&\qquad + \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) {{\bar{c}}}\left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\&\qquad - \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \left( {c_1} + {c_2}\left\| {{\varvec{\chi } _1}} \right\| \right. \nonumber \\&\qquad \left. + {c_3}\left\| {{\varvec{\varPhi } _{\mathrm{{1n}}}} - {\varvec{\nu } _{\mathrm{{n}}}} - {{\ddot{\varvec{\varTheta }} }_{\mathrm{{d}}}}} \right\| \right) \left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\&\quad = - \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) \sum \limits _{i = 1}^3 \frac{{{o_i}\left( {{{{{\hat{c}}}}_i} - {c_i}} \right) {{{{\hat{c}}}}_i}}}{{{p_i}}} \nonumber \\&\qquad + \left( {1 - {\varepsilon _{\varUpsilon \mathrm{{1}}}}} \right) {{\bar{c}}}\left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\&\qquad - \left( {{\varepsilon _{\varPhi \mathrm{{1}}}} + {\varepsilon _{\varPhi \mathrm{{2}}}}\left\| {{\varvec{\chi } _1}} \right\| + {\varepsilon _{\varUpsilon \mathrm{{1}}}}\left\| {{\varvec{\varPhi } _{\mathrm{{1n}}}} - {\varvec{\nu } _{\mathrm{{n}}}} - {{\ddot{\varvec{\varTheta }} }_{\mathrm{{d}}}}} \right\| } \right) \left\| {{\varvec{\sigma } _1}} \right\| \nonumber \\ \end{aligned}$$
(95)

Then, substituting equation (95) into inequality (94), we get

$$\begin{aligned} \begin{aligned} {\dot{V}}_1 \le&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2} \\&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\eta 1}) \varvec{\sigma }_1^\mathrm {T}\varvec{S}(\varvec{\sigma }_1) \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 \dfrac{o_i\left( {\hat{c}}_i -c_i \right) {\hat{c}}_i}{p_i} \end{aligned} \end{aligned}$$
(96)

Based on the \( C_p\) inequality, one knows that

$$\begin{aligned} \begin{aligned} \Vert \varvec{\sigma }_1\Vert ^\frac{3}{2}&= \left( |\sigma _{11}|^{2} +|\sigma _{12}|^{2} +|\sigma _{13}|^{2} \right) ^{\frac{3}{4}} \\&\le |\sigma _{11}|^{\frac{3}{2}} +|\sigma _{12}|^{\frac{3}{2}} +|\sigma _{13}|^{\frac{3}{2}} = \varvec{\sigma }_1^\mathrm {T}\varvec{S}(\varvec{\sigma }_1) \end{aligned} \nonumber \\ \end{aligned}$$
(97)

Therefore, equation (96) can be further deduced as

$$\begin{aligned} {\dot{V}}_1\le & {} - \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2}\nonumber \\&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\eta 1}) \Vert \varvec{\sigma }_1\Vert ^\frac{3}{2}\nonumber \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 \dfrac{o_i\left( {\hat{c}}_i -c_i \right) {\hat{c}}_i}{p_i} \end{aligned}$$
(98)

In addition, it is obvious that the following inequality always holds

$$\begin{aligned} -\left( {\hat{c}}_i - c_i \right) {\hat{c}}_i = -\left( {\hat{c}}_i - \dfrac{c_i}{2}\right) ^2 + \dfrac{c_i^2}{4} \le \dfrac{c_i^2}{4} \end{aligned}$$
(99)

According to the inequality (99), equation (98) can be changed into

$$\begin{aligned} \begin{aligned} {\dot{V}}_1 \le&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \left( \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2} + \sum \limits _{i = 1}^3 ({\hat{c}}_i - c_i)^2 \right) \\&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \left( \lambda _{\min }(\varvec{K}_\mathrm {\eta 1}) \Vert \varvec{\sigma }_1\Vert ^\frac{3}{2} +\sum \limits _{i = 1}^3 ({\hat{c}}_i - c_i)^\frac{3}{2} \right) \\&+ (1 -\varepsilon _\mathrm {\varUpsilon 1}) \left( \sum \limits _{i = 1}^3 \dfrac{o_i {c}_i^2}{4p_i} + \sum \limits _{i = 1}^3 ({\hat{c}}_i - c_i)^2 \right) \\&+ (1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 ({\hat{c}}_i - c_i)^\frac{3}{2} \end{aligned} \end{aligned}$$
(100)

Based on Lemma 3, it can be known that

$$\begin{aligned} |{\hat{c}}_i - c_i| \le {\bar{c}}_i \end{aligned}$$
(101)

By substituting inequality (101) into equation (100), and using the \( C_p \) inequality again, (100) can be further transformed into

$$\begin{aligned} \begin{aligned} {\dot{V}}_1 \le&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \left( \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2} + \sum \limits _{i = 1}^3 ({\hat{c}}_i - c_i)^2 \right) \\&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \left( \lambda _{\min }(\varvec{K}_\mathrm {\eta 1}) \Vert \varvec{\sigma }_1\Vert ^\frac{3}{2} +\sum \limits _{i = 1}^3 ({\hat{c}}_i - c_i)^\frac{3}{2} \right) \\&+ (1 -\varepsilon _\mathrm {\varUpsilon 1}) \left( \sum \limits _{i = 1}^3 \left( \dfrac{o_i}{4p_i} + 1\right) {\bar{c}}_i^2 +\sum \limits _{i = 1}^3 {\bar{c}}_i^\frac{3}{2} \right) \\ \le&-\mu _1 V_1 -\mu _2 V_1^\frac{3}{4} +\eta _1 \end{aligned} \end{aligned}$$
(102)

where

$$\begin{aligned} \begin{array}{l} \mu _1 = \min \left( 2\lambda _{\min }(\varvec{K}_\mathrm {\tau 1})(1 -\varepsilon _\mathrm {\varUpsilon 1}),2p_i \right) ,\quad i=1,2,3 \\ \mu _2 = \min \left( 2^\frac{3}{4}\lambda _{\min }(\varvec{K}_\mathrm {\eta 1})(1 -\varepsilon _\mathrm {\varUpsilon 1}), \left( 8p_i^{3}(1 -\varepsilon _\mathrm {\varUpsilon 1})\right) ^\frac{1}{4} \right) , \\ \eta _1 =(1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 \left( \left( \dfrac{o_i}{4p_i} + 1\right) {\bar{c}}_i^2 + {\bar{c}}_i^\frac{3}{2} \right) \end{array} \end{aligned}$$

Case 2: when

$$\begin{aligned} \Vert \varvec{\sigma }_1\Vert \left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert +{\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) \le k_\mathrm {a1} \end{aligned}$$

the time derivative of equation (93) can be expressed as

$$\begin{aligned} \begin{aligned} {\dot{V}}_1 \le&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2} \\&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \lambda _{\min }(\varvec{K}_\mathrm {\eta 1})\varvec{\sigma }_1^\mathrm {T}\varvec{S}(\varvec{\sigma }_1) + \varepsilon _\mathrm {\varPhi 1}\Vert \varvec{\sigma }_1\Vert \\&+\varepsilon _\mathrm {\varPhi 2}\Vert \varvec{\chi }_1\Vert \Vert \varvec{\sigma }_1\Vert +\varepsilon _\mathrm {\varUpsilon 1}\Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \Vert \varvec{\sigma }_1\Vert \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \left( \sum \limits _{i = 1}^3 \dfrac{o_i\left( {\hat{c}}_i -c_i \right) {\hat{c}}_i}{p_i} +{\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert \right) \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1})\left( {\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \right) ^2\dfrac{\Vert \varvec{\sigma }_1\Vert ^2}{k_{a1}} \\ \le&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \left( \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2} \right) \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \lambda _{\min }(\varvec{K}_\mathrm {\eta 1})\Vert \varvec{\sigma }_1\Vert ^\frac{3}{2} \\&+(1 -\varepsilon _\mathrm {\varUpsilon 1})\left( {\hat{c}}_1 +{\hat{c}}_2 \Vert \varvec{\chi }_1\Vert \right) \Vert \varvec{\sigma }_1\Vert \\&+(1 -\varepsilon _\mathrm {\varUpsilon 1}){\hat{c}}_3 \Vert \varvec{\varPhi }_\mathrm {1n} -\varvec{\nu }_\mathrm {n} -\ddot{\varvec{\varTheta }}_\mathrm {d}\Vert \Vert \varvec{\sigma }_1\Vert \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) {\bar{c}}^2\dfrac{\Vert \varvec{\sigma }_1\Vert ^2}{k_\mathrm {a1}} \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 \dfrac{o_i\left( {\hat{c}}_i -c_i \right) {\hat{c}}_i}{p_i} \end{aligned} \end{aligned}$$
(103)

Considering that the following inequality is always true

$$\begin{aligned} \begin{aligned}&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \bigg ( {\bar{c}}^2\dfrac{\Vert \varvec{\sigma }_1\Vert ^2}{k_\mathrm {a1}} - {\bar{c}}\Vert \varvec{\sigma }_1\Vert + \dfrac{k_\mathrm {a1}}{4} \bigg )\\&\qquad + (1 -\varepsilon _\mathrm {\varUpsilon 1})\dfrac{k_\mathrm {a1}}{4} \\&\quad \le (1 -\varepsilon _\mathrm {\varUpsilon 1})\dfrac{k_\mathrm {a1}}{4} \end{aligned} \end{aligned}$$
(104)

then equation (103) can be further written as

$$\begin{aligned} \begin{aligned} {\dot{V}}_1 \le&- \left( 1 -\varepsilon _\mathrm {\varUpsilon 1}\right) \left( \lambda _{\min }(\varvec{K}_\mathrm {\tau 1})\Vert \varvec{\sigma }_1\Vert ^\mathrm {2} \right) \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \lambda _{\min }(\varvec{K}_\mathrm {\eta 1})\Vert \varvec{\sigma }_1\Vert ^\frac{3}{2} \\&-(1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 \dfrac{o_i\left( {\hat{c}}_i -c_i \right) {\hat{c}}_i}{p_i} +(1 -\varepsilon _\mathrm {\varUpsilon 1})\dfrac{k_\mathrm {a1}}{4} \end{aligned} \end{aligned}$$
(105)

By comparing equations (105) with (98), it is not difficult to see that

$$\begin{aligned} {\dot{V}}_1 \le -\mu _1 V_1 -\mu _2 V_1^\frac{3}{4} +\eta _2 \end{aligned}$$
(106)

where \(\eta _2 =(1 -\varepsilon _\mathrm {\varUpsilon 1}) \sum \limits _{i = 1}^3 \left( \left( \dfrac{o_i}{4p_i} + 1\right) {\bar{c}}_i^2 + {\bar{c}}_i^\frac{3}{2} \right) +(1 -\varepsilon _\mathrm {\varUpsilon 1})\dfrac{k_\mathrm {a1}}{4} \).

Combining case 1 and case 2, one can get

$$\begin{aligned} {\dot{V}}_1 \le -\mu _1 V_1 -\mu _2 V_1^\frac{3}{4} +\eta _\mathrm {max} \end{aligned}$$
(107)

where \( \eta _\mathrm {max} = \max \left( \eta _1,\eta _2 \right) = \eta _2\).

Similarly, the second and third Lyapunov functions are defined as

$$\begin{aligned} \begin{array}{l} V_2 = \dfrac{1}{2} {\sigma }_2^2 + \dfrac{1 -\varepsilon _\mathrm {\varUpsilon 2}}{2}\sum \limits _{i = 4}^6 \dfrac{\left( c_i - {\hat{c}}_i \right) ^2}{p_i} \\ V_3 = \dfrac{1}{2} \varvec{\sigma }_3^\mathrm {T}\varvec{\sigma }_3 + \dfrac{1 -\varepsilon _\mathrm {\varUpsilon 3}}{2}\sum \limits _{i = 7}^9 \dfrac{\left( c_i - {\hat{c}}_i \right) ^2}{p_i} \end{array} \end{aligned}$$
(108)

By using a proof process similar to \({\dot{V}}_1\), it can be obtained

$$\begin{aligned} \begin{array}{l} {\dot{V}}_2 \le -\mu _3 V_2 -\mu _4 V_2^\frac{3}{4} +{\bar{\eta }}_\mathrm {max} \\ {\dot{V}}_3 \le -\mu _5 V_3 -\mu _6 V_3^\frac{3}{4} +{\underline{\eta }}_\mathrm {max} \end{array} \end{aligned}$$
(109)

where

$$\begin{aligned} \begin{array}{l} \mu _3 = \min \left( 2{K}_\mathrm {\tau 2}(1 -\varepsilon _\mathrm {\varUpsilon 2}),2p_i \right) ,\quad i =4,5,6\\ \mu _4 = \min \left( 2^\frac{3}{4}{K}_\mathrm {\eta 2}(1 -\varepsilon _\mathrm {\varUpsilon 2}), \left( 8p_i^{3}(1 -\varepsilon _\mathrm {\varUpsilon 2})\right) ^\frac{1}{4} \right) , \\ {\bar{\eta }}_\mathrm {max} =(1 -\varepsilon _\mathrm {\varUpsilon 2}) \sum \limits _{i = 4}^6 \left( \left( \dfrac{o_i}{4p_i} + 1\right) {\bar{c}}_i^2 + {\bar{c}}_i^\frac{3}{2} \right) \\ \qquad \quad +(1 -\varepsilon _\mathrm {\varUpsilon 2})\dfrac{k_\mathrm {a2}}{4} \\ \mu _5 = \min \left( 2\lambda _{\min }(\varvec{K}_\mathrm {\tau 3})(1 -\varepsilon _\mathrm {\varUpsilon 3}),2p_i \right) ,\quad i=7,8,9 \\ \mu _6 = \min \left( 2^\frac{3}{4}\lambda _{\min }(\varvec{K}_\mathrm {\eta 3})(1 -\varepsilon _\mathrm {\varUpsilon 3}), \left( 8p_i^{3}(1 -\varepsilon _\mathrm {\varUpsilon 1})\right) ^\frac{1}{4} \right) , \\ {\underline{\eta }}_\mathrm {max} =(1 -\varepsilon _\mathrm {\varUpsilon 3}) \sum \limits _{i = 7}^9 \left( \left( \dfrac{o_i}{4p_i} + 1\right) {\bar{c}}_i^2 + {\bar{c}}_i^\frac{3}{2} \right) \\ \qquad \quad +(1 -\varepsilon _\mathrm {\varUpsilon 3})\dfrac{k_\mathrm {a3}}{4} \end{array} \end{aligned}$$

Now, the Lyapunov function of the whole closed-loop control system can be defined as

$$\begin{aligned} V = V_1 + V_2 + V_3 \end{aligned}$$
(110)

According to equation (107), (109) and the \( C_p \) inequality, the time derivative of equation (110) can be expressed as

$$\begin{aligned} \begin{aligned} {\dot{V}}\le&-\mu _1 V_1 -\mu _2 V_1^\frac{3}{4} +\eta _\mathrm {max}-\mu _3 V_2 -\mu _4 V_2^\frac{3}{4} \\&+{\bar{\eta }}_\mathrm {max} -\mu _5 V_3 -\mu _6 V_3^\frac{3}{4} +{\underline{\eta }}_\mathrm {max} \\ \le&-\min (\mu _1,\mu _3,\mu _5)\left( V_1+V_2+V_3 \right) + \eta _\mathrm {max}+{\bar{\eta }}_\mathrm {max} \\&-\min (\mu _2,\mu _4,\mu _6)\left( V_1^\frac{3}{4}+V_2^\frac{3}{4}+V_3^\frac{3}{4} \right) +{\underline{\eta }}_\mathrm {max}\\ \le&-\min (\mu _1,\mu _3,\mu _5) V - \min (\mu _2,\mu _4,\mu _6)V^\frac{3}{4} \\&+ \eta _\mathrm {max}+{\bar{\eta }}_\mathrm {max}+{\underline{\eta }}_\mathrm {max} \end{aligned} \end{aligned}$$
(111)

Therefore, the attitude and position tracking errors of the closed-loop system are limited in a small set containing the origin in finite time, i.e., the following inequality holds

$$\begin{aligned} \begin{aligned} \Vert \varvec{\sigma }\Vert \le \min \biggl \{ \sqrt{2}\left( \dfrac{\eta _\mathrm {max}+{\bar{\eta }}_\mathrm {max}+{\underline{\eta }}_\mathrm {max}}{\min (\mu _1,\mu _3,\mu _5)}\right) ^\frac{1}{2}, \\ \sqrt{2}\left( \dfrac{\eta _\mathrm {max}+{\bar{\eta }}_\mathrm {max}+{\underline{\eta }}_\mathrm {max}}{\min (\mu _2,\mu _4,\mu _6)}\right) ^\frac{2}{3} \biggr \} \end{aligned} \end{aligned}$$
(112)

where \( \varvec{\sigma } = \left[ \varvec{\sigma }_1^\mathrm {T}, {\sigma }_2, \varvec{\sigma }_3^\mathrm {T} \right] ^\mathrm {T} \). By synthesizing case 1 and case 2, it can be found that the system state trajectory converges to the neighborhood of the integral sliding mode \( \varvec{\sigma }_1=\varvec{0} \), \( {\sigma }_2= {0} \) and \( \varvec{\sigma }_3=\varvec{0} \) in finite time. In addition, when the integral sliding mode is reached, it can be obtained

$$\begin{aligned} \begin{array}{l} \dot{\varvec{z}}_\mathrm {att,2} = \varvec{\nu }_\mathrm {n} + \varvec{\vartheta }_1(t) \\ \dot{{z}}_\mathrm {ver,2} = \mu _\mathrm {n} + {\vartheta }_2(t) \\ \dot{\varvec{z}}_\mathrm {hon,2} = \varvec{\nu }_\mathrm {hon} + \varvec{\vartheta }_3(t) \end{array} \end{aligned}$$
(113)

where \( \varvec{\vartheta }_1(t) \), \({\vartheta }_2(t) \) and \( \varvec{\vartheta }_3(t) \) are time-varying functions generated by \( \dot{\varvec{\sigma }}_1 \), \( \dot{{\sigma }}_2\) and \( \dot{\varvec{\sigma }}_3\), respectively. According to Theorem 1, both the first-order sliding mode variable \({\varvec{z}}_\mathrm {att,1}\), \({{z}}_\mathrm {ver,1}\), \({\varvec{z}}_\mathrm {hon,1}\) and the second-order sliding mode variable \({\varvec{z}}_\mathrm {att,2}\), \({{z}}_\mathrm {ver,2}\), \({\varvec{z}}_\mathrm {hon,2}\) can converge to the origin in finite time, that is, they can reach the second-order sliding mode relative to \(\varvec{s}_\mathrm {att}\), \({s}_\mathrm {ver}\) and \(\varvec{s}_\mathrm {hon}\) in finite time, and the tracking error convergence rate of attitude, vertical position and horizontal position is no less than \(e^{-\delta _1 t}\), \(e^{-\delta _2 t}\) and \(e^{-\delta _3 t}\), respectively. \(\square \)

5 Simulation and practical experiment

5.1 Simulation results

In this section, simulation and physical experiment are, respectively, used to verify the performance of the control system designed in this paper, and it is compared with the adaptive radial basis function neural network control (ARBFNNC) in [41]. In order to show the comparative effect clearly, we separate the simulation results from the actual experiment results. The effectiveness of the proposed control method is tested using a typical flight action that reflects all coupling effects of unmanned helicopter. The reference trajectory is given by

$$\begin{aligned}&\left[ \begin{array}{c}{x_\mathrm {d}} \\ {y_\mathrm {d}} \\ {z_\mathrm {d}}\end{array}\right] =\left\{ \begin{aligned}&{[0,0,0]^\mathrm {T},}&\!\! \text { if } t \le 5 \\&\left[ \begin{array}{c}{5\left( 1-\cos \left( \dfrac{\pi }{10}(t-5)\right) \right) } \\ {-5 \sin \left( \dfrac{\pi }{10}(t-5)\right) } \\ {-20+20 e^{(-0.06(t-5))}}\end{array}\right] ,&\!\! \text { if } t > 5 \end{aligned} \right. \end{aligned}$$
(114)
$$\begin{aligned}&\psi _\mathrm {r} = \left\{ \begin{aligned}&0,&\quad \text { if } t \le 5 \\&\dfrac{\pi }{10}(t-5),&\quad \text { if } t > 5 \end{aligned} \right. \end{aligned}$$
(115)

The above-mentioned reference flight trajectory expects the small unmanned helicopter to maneuver simultaneously in all directions, which requires high dynamic performance of the control system. For the first 5 seconds, the helicopter is hovering at its original position. From the 5th second on, the helicopter makes a horizontal circular maneuver with the nose pointing at the center of the circle. At the same time, the helicopter makes a upward movement in the vertical direction. In the actual flight process, the unmanned helicopter is mainly disturbed by the longitudinal and lateral gusts in the body coordinate system, especially the lateral gusts seriously affects the stability of the yaw control. Therefore, the gust model adopts the cosine form with a period of 20 seconds as suggested in [11]. Gust interference is shown in Fig. 5.

Fig. 5
figure 5

Gust disturbance model in the body coordinate system

The main control parameters are selected as follows. \( \varvec{K}_\mathrm {\tau 1}= diag([15,15,15]),\ k_\mathrm {\tau 2} =10,\ \varvec{K}_\mathrm {\tau 3}= diag([5,3]),\ \varvec{K}_\mathrm {\eta 1}= diag([15,15,15]),\ k_\mathrm {\eta _2}=10,\ \varvec{K}_\mathrm {\eta 3}= diag([5,3]), \ \varvec{R}_\mathrm {1}= diag([3,3,3]),\quad R_2 =1,\quad \varvec{R}_\mathrm {3}= diag([5,5]),\ k_\mathrm {a1} = 80,\ k_\mathrm {a2} =60,\ k_\mathrm {a3} = 80,\ \delta _1 =1.5,\; \delta _2 =0.1,\; \delta _3 =0.1 \).

Under the same reference trajectory and interference environment, the control method (AHOSMQC) designed in this paper is compared with the method (ARBFNNC) in [41], and the simulation results are shown in Fig. 6, 7, 8 and 9. The results show that the controller designed in this paper has better control precision and stronger anti-interference ability, and the overall performance is more satisfactory. Figures 6 and 7 show that AHOSMQC can track the desired trajectory more quickly, showing a faster response speed. In addition, it can be seen from Fig. 9 that the dynamic and static tracking errors of the method designed in this paper are smaller than those of the method in [41] in the same interference environment, which is especially true in horizontal positions.

Fig. 6
figure 6

Tracking trajectory in three-dimensional space in simulation experiment

Fig. 7
figure 7

Horizontal position tracking trajectory in simulation experiment

Fig. 8
figure 8

Position and yaw tracking results in simulation experiment

Fig. 9
figure 9

Position and yaw tracking errors in simulation experiment

5.2 Practical experiment results

This section first introduces the hardware system of the small unmanned helicopter, whose framework is depicted in Fig. 10, and then shows the test results of the autonomous flight experiment.

Fig. 10
figure 10

System framework of the unmanned helicopter

The unmanned helicopter system (Heli800E) is reconstructed based on the TREX 800E F3C electric model helicopter, as shown in Fig. 11 and Fig. 12, whose length is 1.478 m, and the main rotor diameter is 1.74 m. The airborne electronic system is the brain of the unmanned helicopter, responsible for collecting control input signals and necessary state information, performing state estimation, filtering algorithm and control algorithm, which requires strong real-time processing ability. In addition, high reliability and security are required. After comprehensive consideration, this paper adopts the open-source hardware and software scheme based on Pixhawk and APM. Pixhawk is selected as the hardware circuit foundation of the unmanned helicopter system platform, and APM is selected as the software foundation of the platform. Selecting the existing open-source project as the basis of the research can greatly simplify the platform construction process, so that we can focus on the flight control algorithm of unmanned helicopter.

Fig. 11
figure 11

Heli800E system

Fig. 12
figure 12

Heli800E in autonomous flight

The ground station is responsible for the communication between the airborne avionics system and the ground operators. It is mainly used to display and monitor the flight status of the helicopter in real time. At the same time, it is used to adjust the control parameters online, which significantly improves the efficiency of parameter adjustment and makes the flight experiment more convenient. A pair of 915 MHz wireless modems are responsible for real-time information transmission between the ground station and the airborne avionics system. Flight data can be downloaded from the ground station after the flight.

The effectiveness of the proposed control method was tested using a typical flight action that reflects all coupling effects of unmanned helicopter. The unmanned helicopter starts from the hovering state and flies around the circle with a radius of 6 m, always pointing at the center of the circle, while rising at a constant speed of 0.6 meters per second. When \(t \le 5\), the reference trajectory is set as \(x_\mathrm {d}=0, y_\mathrm {d}=0, z_\mathrm {d}=0.8\) and \(\psi _\mathrm {d}=5.24\) rad(300 degree). The initial altitude of the automatic flight is 0.8 meters, and the initial yaw is 300 degree, mainly to ensure the safety of the experiment. For \(t \ge 5\), the reference trajectory is given by

$$\begin{aligned} \left\{ \begin{array}{l} {x_d} = 6\left( {1 - \cos \left( {\dfrac{\pi }{6}(t - 5)} \right) } \right) \\ {y_d} = - 6\sin \left( {\dfrac{\pi }{6}(t - 5)} \right) \\ {z_d} = 0.8+0.6(t - 5) \\ {\psi _d} = 5.24+\dfrac{\pi }{6}(t - 5) \end{array} \right. \end{aligned}$$
(116)

The actual flight experiments are carried out in a windy environment, and the average gust wind speed was about 3.5 m/s.

As with the simulation experiment, the control performance of the method designed in this paper is compared with that designed in [41] under the same environment and input conditions.

The practical experimental results are shown in Fig. 13, 14, 15, 16, 17, 18 and 19. The three dimensional position and horizontal position tracking curves are given in Fig. 13 and Fig. 14, respectively, from which it can be seen that the proposed control method can obtain better control performance even in a windy environment compared with the method in [41].

Fig. 13
figure 13

Tracking trajectory of 3-D positions in practical experiment

Fig. 14
figure 14

Tracking trajectory of horizontal positions in practical experiment

The single tracking curves of the positions and yaw angle are shown in Fig. 15.

Fig. 15
figure 15

Tracking curves of positions and yaw angle in practical experiment

It is obvious from the figure that the unmanned helicopter moves in four channels at the same time. In order to achieve the goal, the proposed control system needs to overcome the inherent coupling effect and uncertainty of the model as well as external gust interference, showing strong maneuverability and robustness. The linear velocity, attitude, angular rate and control input signals in the autonomous flight of the unmanned helicopter are shown in Fig. 16, 17, 18 and 19, respectively. The mean absolute values of the control inputs \(\delta _{lat}\), \(\delta _{lon}\), \(\delta _{col}\) and \(\delta _{ped}\) are 0.0205, 0.0399, 0.5855 and 0.7381, respectively, which are all kept within a reasonable range.

Fig. 16
figure 16

Velocity in the inertial coordinate system during flight

Fig. 17
figure 17

Attitude of the unmanned helicopter during flight

Fig. 18
figure 18

Angular velocity of the unmanned helicopter during flight

Fig. 19
figure 19

Control input of the unmanned helicopter during flight

Remark 5

While the main rotor of the unmanned helicopter rotates to generate lift, it exerts a counter-torque on the fuselage. There are many ways to counteract the anti-torque force in a helicopter, the most common is to use the tail rotor. For example, if the main rotor turns clockwise, it exerts a counterclockwise torque on the fuselage, and the tail rotor must be pushed or pulled to generate a clockwise push to counteract the countertorque of the main rotor. Meanwhile, the tail rotor pushing or pulling force has a side force on the fuselage, and this force is usually offset by the roll angle of helicopter fuselage. Combined with the specific tracking route, the nonzero roll angle is finally generated, as seen in Fig. 17.

6 Conclusion

In this paper, a multi-variable adaptive high-order sliding mode quasi-optimal controller is designed. The control structure is based on a redesigned quadratic performance index, leading a quasi-optimal property with variable convergence rate. It is proved theoretically that the position and yaw tracking errors can converge in finite time and the convergence speed is not lower than the design value. In addition, the uncertainty bound required in general sliding mode control is not needed in this paper. Finally, a challenging high-mobility experiment is used to test the theoretical design method. The simulation and practical experiment results show that the proposed control system has better tracking effect on position and yaw, and better robustness to internal uncertain system parameters and external gust.

The research focus of this paper is the control of a single unmanned helicopter. However, multi-agent systems have shown more and more potential applications in various fields [22,23,24]. Our subsequent research will focus on related control problems of multi-agent systems. In addition, due to structural differences, fixed-wing UAV may land safely even in the case of power loss or sensor faults, while traditional unmanned helicopter or quadrotor is often difficult to do so [33]. Therefore, the safety control of unmanned helicopter is also a research direction we will focus on in the future.