1 Introduction

Autonomous landing of UAV has been a key and complex process during the whole stages of flight. Accidents appear more frequently due to severe wind and aerodynamic instability caused by ground [13]. To overcome these difficulties and expand the operational envelope of UAV, there have been a lot of research and development in the area of autonomous landing. Traditional PID controller can’t ensure the safety of autonomous landing in unexpected and severe environment [4]. Some modern control methods are also focused on autonomous landing problems. Neural-aided controller was designed for autonomous landing under unknown actuator failures and external wind disturbances [5]. A mixed H2/H controller was designed based on the linearized model of longitudinal mode [6]. Feedback linearization technique was used to design for autonomous landing system [7]. Adaptive back stepping control was used for path tracking [8, 9]. Sliding mode control was also applied on the landing system design [10]. A novel method of adaptive internal model control (AIMC) is proposed, which is an essential robust control strategy based on the model [1114]. In this paper, we discuss the application of AIMC theory in autonomous landing control system.

The sample plane is a fixed-wing UAV, V-tail structure is adopted and piston propeller engine is used as thrust device. Some characteristics of the sample UAV are given by Table 1.

Table 1 Characteristics of the sample UAV

The paper is organized as follows. Section 1 puts forward the importance of autonomous landing, presents some research of autonomous landing, and gives a brief review of the sample UAV. Section 2 elaborates the AIMC theory and control scheme. Section 3 illustrates the longitudinal and lateral control structures and designs the control laws. In Sect. 4, control effects are compared and analyzed between IMC and AIMC through simulations in the condition of different winds. Section 5 proves system robustness by Monte Carlo simulations. Section 6 summarizes the work and conclusion of this paper.

2 AIMC theory

Internal model control usually consists of controlled process, process model, and controller with filter, which is model-based design approach, conventional IMC structure is shown in Fig. 1.

Fig. 1
figure 1

Conventional internal model control structure

The relationship between output and inputs is formulated as follows

$$Y({\text{s}}) = \frac{{G_{\text{IMC}} ({\text{s}})G_{\text{p}} ({\text{s}})}}{{1 + G_{\text{IMC}} ({\text{s}})\left[ {G_{\text{p}} ({\text{s}}) - G_{\text{m}} ({\text{s}})} \right]}}R({\text{s}}) + \frac{{G_{\text{p}} ({\text{s}})\left[ {1 - G_{\text{IMC}} ({\text{s}})G_{\text{m}} ({\text{s}})} \right]}}{{1 + G_{\text{IMC}} ({\text{s}})\left[ {G_{\text{p}} ({\text{s}}) - G({\text{s}})} \right]}}D({\text{s}}).$$
(1)

If process model is accurate, Eq. (1) can be written as

$$Y({\text{s}}) = G_{\text{IMC}} ({\text{s}})G_{\text{p}} ({\text{s}})R({\text{s}}) + G_{\text{p}} ({\text{s}})\left[ {1 - G_{\text{IMC}} ({\text{s}})G_{\text{m}} ({\text{s}})} \right]D({\text{s}}).$$
(2)

The ideal controller is G IMC(s) = G −1m (s), then Y(s) = R(s). Considering the system physical realization, the ideal controller is prohibitive. The design procedure of conventional IMC usually has two steps, decomposing the process model as Eq. (3) and designs the controller with filter as Eqs. (4), (5).

$$G_{\text{m}} ({\text{s}}) = G_{{{\text{m}} + }} ({\text{s}}) \cdot G_{{{\text{m}} - }} ({\text{s}}),$$
(3)
$$G_{\text{IMC}} = G_{{{\text{m}} - }}^{ - 1} ({\text{s}})F({\text{s}}),$$
(4)
$$F({\text{s}}) = \frac{1}{{(\varepsilon {\text{s}} + 1)^{\gamma } }},$$
(5)

where G m+(s) and G m−(s) are the portions of the model not inverted and inverted, respectively. G m+(s) usually contains all the delay time and right half plane zeros of G p(s), while G m−(s) is stable and has the minimum phase. The epsilon denotes time constant and the gamma denotes relative order of the filter.

There is only one degree of freedom for conventional IMC, filter parameter selection is only a trade-off between dynamic performance and system robustness. To achieve a good dynamic performance and strong system robustness, the parameter adjustment and model estimation is proposed. We refer to this version of IMC as Adaptive IMC or AIMC. The AIMC structure is shown in Fig. 2.

Fig. 2
figure 2

Structure of adjustment internal model control

The filter parameter should be initialized with a small value to improve system response speed. Filter parameter is then adjusted online when the mode error becomes bigger, filter parameter should be adaptive amplification to ensure system stability. Adaptive law of filter parameter is.

$$\varepsilon = \varepsilon_{0} \left( {1 + \int_{{t_{\text{r}} }}^{{t_{\text{s}} }} {\left| e \right|\left| {\frac{{y - y_{\text{m}} }}{{y_{\text{m}} }}} \right|{\text{d}}t} } \right),$$
(6)

where ɛ 0 denotes initial filter parameter, e denotes system error, y denotes system output, y m denotes output of process model, t r denotes the first time of achieving system setting point, t s denotes system regulation time.

Least squares method is used for process model estimation, considering the following system model

$$\begin{aligned} y(n) = - a_{1} y(n - 1) - a_{2} y(n - 2) - \cdots + b_{0} u(n - m) + b_{1} u(n - m - 1) + \cdots + \omega (n) \hfill \\ {\kern 1pt} {\kern 1pt} = \phi^{T} \theta + \omega (n), \hfill \\ \end{aligned}$$
(7)

where ϕ denotes observation vector of input and output, θ denotes unknown parameter vector, ω denotes white noise.

$$\begin{aligned} \phi^{T} = [ - y(n - 1),y(n - 2), \ldots ,y(n - k),u(n - m), u(n - m - 1), \ldots ,u(n - m - k)] \hfill \\ \theta = [a_{1} ,a_{2} , \ldots ,a_{k} ,b_{0} ,b_{1} , \ldots ,b_{k} ] \hfill \\ \end{aligned}$$
(8)

Recursive algorithm of least squares method is given as follows

$$\left\{ \begin{aligned} \hat{\theta }(n + 1) = \hat{\theta }(n) + K(n + 1)[y(n + 1) - \phi^{\text{T}} (n + 1)\hat{\theta }(n)] \hfill \\ K(n + 1) = \frac{P(n)\phi (n + 1)}{{1 + \phi^{\text{T}} (n + 1)P(n)\phi (n + 1)}} \hfill \\ P(n + 1) = [I - K(n + 1)\phi^{\text{T}} (n + 1)]P(n) \hfill \\ \end{aligned} \right.$$
(9)

3 Controller design

As landing is not a large deviation maneuver from nominal approach flight condition, the controller can be designed based on the decoupled and linearized model. Level flight is chosen as the reference state, hence the motion can be decoupled into longitudinal and lateral-directional modes. The linear model of the longitudinal mode can be obtained by the use of small perturbation technique. The decoupled and linearized longitudinal motion in state space format can be expressed as Eq. (10).

$${{\dot{\varvec{x}}}} = {E^{ - 1}} \varvec{A}{\kern 1pt} \varvec{x + E}^{ - 1} \varvec{B}{\kern 1pt} \varvec{u}$$
(10)

Where state vector \(\varvec{x = }\left[ {\begin{array}{*{20}c} \alpha & q \\ \end{array} } \right]^{T}\), Jacobian matrix \(\varvec{E} = \left[ {\begin{array}{*{20}c} {V + \frac{{L_{{\dot{\alpha }}} }}{m}} & 0 \\ { - c_{7} \overline{M}_{{\dot{\alpha }}} } & 1 \\ \end{array} } \right]\), state matrix \(\varvec{A} = \left[ {\begin{array}{*{20}c} { - \frac{{L_{\alpha } }}{m} - \frac{D}{m}} & {V - \frac{{L_{q} }}{m}} \\ {c_{7} \overline{M}_{\alpha } } & {c_{7} \overline{M}_{q} } \\ \end{array} } \right]\), input matrix \(\varvec{B}{\kern 1pt} = \left[ {\begin{array}{*{20}c} { - \frac{{T_{{\delta_{T} }} \sin (\alpha_{T} + \alpha )}}{m}} & { - \frac{{L_{{\delta_{e} }} }}{m}} \\ {c_{7} \overline{M}_{{\delta_{T} }} } & {c_{7} \overline{M}_{{\delta_{e} }} } \\ \end{array} } \right]\), and input vector \(\varvec{u = }\left[ {\begin{array}{*{20}c} {\delta_{T} } & {\delta_{e} } \\ \end{array} } \right]^{T}\).

To avoid steady tracking error, AIMC is adopted in inner loop. The process model is deduced by Eq. (11).

$$G_{{{\text{m}}0}} = - \frac{q}{{\delta_{\text{e}} }}$$
(11)

The control structure of longitudinal direction is showed as in Fig. 3.

Fig. 3
figure 3

Control structure of longitudinal direction

Pitch rate is the control target of the inner loop, AIMC theory is applied in this loop. Pitch angle and altitude control is adopted as outer loop for longitudinal direction, PID method is chosen for outer loop control and relevant parameters are selected based on system bandwidth and damping ratio.

The lateral motion includes Dutch roll mode, spiral mode, and roll subsidence mode. If ignoring the influence of sideslip motion, ailerons only cause roll motion. The differential equation and corresponding transformation can be expressed as Eqs. (11) and (12).

$${\kern 1pt} \dot{p} = c_{3} \overline{L}^{{({\text{p}})}} p + c_{3} \overline{L}^{{(\delta_{\text{a}} )}} \delta_{\text{a}} ,$$
(12)
$$G_{\text{m1}} = - \frac{p}{{\delta_{\text{a}} }}.$$
(13)

Deviation control structure of lateral direction is shown in Fig. 4.

Fig. 4
figure 4

Lateral deviation control structure

Roll angle rate is control target of inner loop and AIMC is applied in this loop. Roll angle, yaw angle, and lateral position control are adopted as outer loop for lateral direction, PID method is chosen for outer loop control, and relevant parameters are selected based on system bandwidth and damping ratio.

If ignoring lateral roll motion, the lateral motion can be reduced to the two degree freedom of sideslip and heading movement, the state space form is given in Eq. (14).

$${\dot{\bar{\varvec{x}}}} = {\bar{A}}{\kern 1pt} \varvec{\bar{x} + \bar{B}}{\kern 1pt} \bar{\varvec{u}}$$
(14)

Where \({\kern 1pt} \varvec{\bar{x} = }\,\left[ {\begin{array}{*{20}c} \beta & r \\ \end{array} } \right]^{T}\), \({\kern 1pt} \varvec{\bar{u} = \,}\delta_{r}\), \(\bar{\varvec{A}} = \left[ {\begin{array}{*{20}c} {\frac{{Y_{\beta } }}{mV} - \frac{D}{mV}} & { - \cos \alpha + \frac{{Y_{\text{r}} }}{mV}} \\ {c_{9} \overline{N}_{\beta } } & {c_{9} \overline{N}_{\text{r}} } \\ \end{array} } \right]\), \(\bar{\varvec{B}}{\kern 1pt} = \left[ {\begin{array}{*{20}c} {\frac{{Y_{{\delta_{\text{r}} }} }}{mV}} \\ {c_{9} \overline{N}_{{\delta_{\text{e}} }} } \\ \end{array} } \right]\).

The transfer function can be deduced as

$$G_{\text{m1}} = - \frac{r}{{\delta_{\text{r}} }}.$$
(15)

The control structure of rudder is put forward in Fig. 5, the role of rudder is to reduce sideslip angle and stabilize the frame.

Fig. 5
figure 5

Rudder control structure

Where k rz denotes the gain coefficient of yaw angular rate, the value is selected by bode diagram and root locus. k ϕz denotes cross gain coefficient, the specific method is expressed as follows

$$k_{\text{z}}^{\phi } = \frac{g}{V}\left( {k_{\text{z}}^{\text{r}} - \frac{{N_{\text{r}} }}{{N_{{\delta_{\text{r}} }} }}} \right).$$
(16)

4 Simulation analysis

Planned track of autonomous landing is shown in Fig. 6. Autonomous landing process consists of arrival flight, steep descent, shallow descent, and touchdown on the runway. Arrival flight is the process of aligning the aircraft with the runway and ready for the descent. At this stage, mission flight ends and the UAV starts to the initial descending altitude.

Fig. 6
figure 6

Autonomous landing trajectory

Table 2 gives the index of the flight in steady autonomous landing phase.

Table 2 Performances of standard track

Nonlinear simulation is carried out to verify the validity of the control system, comparing the conventional IMC with AIMC simulation results. Simulations start from the beginning of steep descent and end with touching down the ground. Initial position coordinates are set as (−3231, 5100) and initial ground speed as 45 m/s. Simulations run in different conditions, first no wind, then downwind 6 m/s and lateral wind 10 m/s, at last headwind 6 m/s and lateral wind −10 m/s. Comparative results between IMC and AIMC system are shown in Figs. 7, 8, 9, 10, 11, and 12.

Fig. 7
figure 7

Longitudinal states in windless condition

Fig. 8
figure 8

Lateral states in windless condition

Fig. 9
figure 9

Longitudinal states of positive winds

Fig. 10
figure 10

Lateral states of positive winds

Fig. 11
figure 11

Longitudinal states of negative winds

Fig. 12
figure 12

Lateral states of negative winds

State comparison of different conditions is shown in Table 3. Landing position coordinates of AIMC are (0.3, 0.6, 0.6), and (114, 1.1, 0.6) of IMC in windless condition. Landing accuracy of AIMC achieves forward or backward scope of 30 m and lateral scope of 3 m while IMC reaches forward or backward scope of 100 m and lateral scope of 5.5 m in wind conditions.

Table 3 State comparison of different conditions

Ground speed instruction is 45 m/s, steep and shallow sink rate instructions are 2 and 0.5 m/s, respectively, there is smaller fluctuation and shorter regulation time of attitude angle of AIMC when sink rate instruction changes.

The airframe keeps a certain yaw angle to descend when lateral wind exits, head turns toward the coming direction of lateral wind. Touchdown position will change with the variety of wind.

5 System robustness

Monte Carlo simulations are used to claim system robustness to parameter uncertainties. Parameter uncertainty in modeling process mainly includes the uncertainty of quality database, the uncertainty of system input, and the uncertainty of the dynamic database. The detailed parameter uncertainties are shown in Table 4.

Table 4 Parameter uncertainties

Parameter uncertainty comes from the Gauss white noise, the noise form is μ + σξ(t), μ is the mean value, and σ is the variance. Xi is Gauss white noise with mean value 0 and variance 1.

Supposing that a random variable X is distributed as N(μ, σ 2), the probability of the values distributed in (μ−3σ, μ + 3σ) is 0.997. Normal random variable is regarded to be distributed in the range of (μ−3σ, μ + 3σ).

System Monte Carlo simulation results of autonomous landing are shown in Figs. 13, 14, 15, and 16.

Fig. 13
figure 13

Altitude and landing scope

Fig. 14
figure 14

Ground speed during landing

Fig. 15
figure 15

Pitch of touch downing ground

Fig. 16
figure 16

Lateral deviation during landing

According to Monte Carlo simulation results, random variables and random disturbances don’t result in a significant decrease of the system performance. AIMC system can maintain the original expected performance.

6 Conclusion

This paper elaborates a systematic process of controller design using AIMC theory in autonomous landing phase for a fixed-wing UAV. The dynamic model is decoupled and linearized to longitudinal and lateral state spaces, respectively. Controllers based on AIMC are designed for longitudinal and lateral inner loop, respectively. PID controllers are used for outer loops. Control effects are compared and analyzed between IMC and AIMC through simulations in the different wind conditions. Simulation results show that AIMC achieves a better performance in terms of attitude and altitude tracking than IMC. Finally, system robustness is proved by Monte Carlo simulations.