1 Introduction

With the development of the unmanned autonomous vehicles, stratospheric airship as a novel aircraft has attracted increasing attention in recent years. Stratosphere as the peaceful layer in atmosphere has good wind condition on a yearly average [1] for airships. Various platforms [2, 3] are exploited by many scientists to operate in the stratosphere beyond traditional aircraft maneuvers. Compared with traditional aircraft and spacecraft, the stratospheric airship as a lighter-than-air vehicle performs with obvious advantages in high altitude, payload capacity and long-time operation to improve the fields of scientific explorations, remote communications and real-time surveillance. Many typical stratospheric platforms are competing to develop in many countries, such as High-Altitude Airship [4] and Hisentinel Airship [5] of the USA, Stratospheric Platform Airship [6] of Japan, and Stratospheric Airship Program [7] of South Korea.

There are many modeling methods for airships, such as Lagrangian and Hamiltonian reduction theories [8] and Newton–Euler formulation [9, 10]. For the stabilization control of an airship, linear control method has been utilized by [11], and backstepping control approach has been used by [12]. However, these controllers are based on the approximation-linearized model of airships, and they are efficient only around the equilibrium state. Furthermore, dynamic inversion technology [13, 14] and backstepping technology [15, 16] have been applied to the autonomous airship based on its nonlinear model. In addition to stabilization control, the trajectory tracking [17, 18] and path-following control [19] driving the position of airship to a desired time-varying trajectory should be studied, and the airship can be controlled to perform the cruising flight [2022] and station-keeping tasks [2325]. For the cruising flight task, a straight-line trajectory can be designed, and the trajectory tracking controller achieves line tracking to perform the monitoring and transporting applications simultaneously. For the station-keeping task, the ability to remain fixed over a specified geo-location is performed, and thus a circle trajectory tracked by the airship can be selected to achieve the long-time communicating and monitoring applications. To the best of our knowledge, some aforementioned controllers were designed with the exact airship parameters. Therefore, it is necessary to design robust controller to improve the existing methods in trajectory tracking control for stratospheric airships with uncertain parameters.

Motivated by the excellent advantage of the non-certainty equivalence adaptive control method, we consider the trajectory tracking control problem of a stratospheric airship with parametric uncertainty in this work, and the contribution of this research is twofold. First, the trajectory tracking dynamic model for a stratospheric airship with parametric uncertainty is derived, and a trajectory tracking robust controller is developed based on a non-certainty equivalence adaptive method. The main advantage of this novel method is improving transient response performance of the closed-loop system while maintaining stability and robustness by means of controlling the parameter estimation behavior which is not possible in traditional certainty equivalence adaptive control. Second, the new adaptive algorithm is employed to eliminate the effects induced by parametric uncertainty, estimation errors of the unknown parameters are bounded, and tracking errors of the airship flight trajectory asymptotically converge to zero.

Remaining parts of this paper are arranged as follows. The airship trajectory tracking control problem is stated in Sect. 2. A nonlinear adaptive trajectory tracking controller for airships with modeling uncertainties is detailed generalized in Sect. 3. Numerical simulation results are shown in Sect. 4 to demonstrate the effectiveness of the controller. Concluding remarks are given in Sect. 5.

2 Problem statement

The airship has a traditional ellipsoidal ballonet as shown in Fig. 1. The helium is fell upon the ballonet, and buoyancy is provided. The flight control system, power system, and payloads are mounted on a gondola under the ballonet. The aerodynamic control surfaces, including rudders and elevators, are installed on the empennage surfaces. The deflections of the rudders control the yaw movement, and the elevators influence the pitch movement. The vectored thrust propellers are fixed on both sides of the gondola, and they provide the main propulsive force for flight.

Fig. 1
figure 1

Depiction of a stratospheric airship

2.1 Stratospheric airship model

The earth and body reference frames should be defined first for the model of airships. The earth reference frame (ERF) is fixed to the earth with its origin \(O_g\) located at a fixed point on the ground. The \(O_gx_g\)-axis points north, the \(O_gz_g\)-axis points to the earth core, and the \(O_gy_g\)-axis points east. The body reference frame (BRF) is attached to the airship with its origin O coincident with the center of volume (CV), but not the center of gravity (CG), as shown in Fig. 1. The \(O_x\)-axis points to the head of the airship. The \(O_z\)-axis is perpendicular to the \(O_x\)-axis and points downwards. The \(O_y\)-axis is determined by the right-hand rule and points toward the right.

The airship position and attitude of \(O_g\) are described in ERF by \(\varvec{\zeta }=[x,y,z]^\mathrm{{T}}\) and \(\varvec{\gamma }=[\phi ,\theta ,\psi ]^\mathrm{{T}}\). The airship velocity and angular velocity of \(O_g\) are defined in BRF by \(\varvec{\upsilon }=[u,v,w]^\mathrm{{T}}\) and \(\varvec{\omega }=[p,q,r]^\mathrm{{T}}\). The diagonal inertia and products of inertia are described in BRF by \(\{I_x,I_y,I_z\}\) and \(\{I_{xy},I_{yz},I_{xz}\}\), respectively. Because the airframe is symmetric about the lateral plane, the products of inertia \(I_{xy}=I_{yz}=0\).

The six-degree-of-freedom kinematics and dynamics for a stratospheric airship are

$$\begin{aligned} \left\{ \begin{array}{ll} \dot{\varvec{x}}=\varvec{R}\varvec{y}\\ \varvec{M}\dot{\varvec{y}}=\varvec{N}_1+\varvec{N}_2^{*}+\varvec{N}_3+\varvec{B}\varvec{u} \end{array}\right. \end{aligned}$$
(1)

where \(\varvec{x}=[\varvec{\gamma }^\mathrm{{T}},\varvec{\zeta }^\mathrm{{T}}]^\mathrm{{T}}\), \(\varvec{y}=[\varvec{\omega }^\mathrm{{T}},\varvec{\upsilon }^\mathrm{{T}}]^\mathrm{{T}}\), \(\varvec{R}=\mathrm {diag}\{\varvec{R}_\gamma (\varvec{\gamma }),\varvec{R}_g(\varvec{\gamma })\}\),

$$\begin{aligned}&\varvec{R}_\gamma (\varvec{\gamma })=\left[ \begin{array}{c@{\quad }c@{\quad }c} 1 &{} \sin \phi \tan \theta &{} \cos \phi \tan \theta \\ 0 &{} \cos \phi &{} -\sin \phi \\ 0 &{} \displaystyle \frac{\sin \phi }{\cos \theta } &{} \displaystyle \frac{\cos \phi }{\cos \theta } \end{array}\right] ,\\&\varvec{R}_g(\varvec{\gamma })=\left[ \begin{array}{c@{\quad }c@{\quad }c} \cos \theta \cos \psi &{} \sin \theta \cos \psi \sin \phi -\sin \psi \cos \phi &{} \sin \theta \cos \psi \cos \phi +\sin \psi \sin \phi \\ \cos \theta \sin \psi &{} \sin \theta \sin \psi \sin \phi +\cos \psi \cos \phi &{} \sin \theta \sin \psi \cos \phi -\cos \psi \sin \phi \\ -\sin \theta &{} \cos \theta \sin \phi &{} \cos \theta \cos \phi \end{array}\right] ;\\&\varvec{M}=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} I_x &{} 0 &{} -I_{xz} &{} 0 &{} -mz_g &{} 0\\ 0 &{} I_y+\rho \nabla k_3 &{} 0 &{} mz_g &{} 0 &{} -mx_g\\ -I_{xz} &{} 0 &{} I_z+\rho \nabla k_3 &{} 0 &{} mx_g &{} 0\\ 0 &{} mz_g &{} 0 &{} m+\rho \nabla k_1 &{} 0 &{} 0\\ -mz_g &{} 0 &{} mx_g &{} 0 &{} m+\rho \nabla k_2 &{} 0\\ 0 &{} -mx_g &{} 0 &{} 0 &{} 0 &{} m+\rho \nabla k_2 \end{array}\right] ,\\&\varvec{N}_1=\left[ \begin{array}{c} -(I_z-I_y)qr+I_{xz}pq+mz_g(ur-wp)\\ -(I_x-I_z-\rho \nabla k_3)pr-I_{xz}(p^2-r^2)-mz_g(wq-vr)+mx_g(vp-uq)\\ -(I_y+\rho \nabla k_3-I_x)pq-I_{xz}qr-mx_g(ur-wp)\\ -(m+\rho \nabla k_2)(wq-vr)+mx_g(q^2+r^2)-mz_gpr\\ (m+\rho \nabla k_2)wp-(m+\rho \nabla k_1)ur-mx_gpq-mz_gqr\\ (m+\rho \nabla k_1)uq-(m+\rho \nabla k_2)vp-mx_grp+mz_g(q^2+p^2) \end{array}\right] ,\\&\varvec{N}_2^{*}=\left[ \begin{array}{c} -z_gmg\cos \theta \sin \phi \\ -z_gmg\sin \theta -x_gmg\cos \theta \cos \phi \\ x_gmg\cos \theta \sin \phi \\ (B_f-mg)\sin \theta \\ -(B_f-mg)\cos \theta \sin \phi \\ -(B_f-mg)\cos \theta \cos \phi \end{array}\right] ,\nonumber \\&\varvec{N}_3=\left[ \begin{array}{c} L_a\\ M_a\\ N_a\\ X_a\\ Y_a\\ Z_a \end{array}\right] , \quad \varvec{u}=\left[ \begin{array}{c} F_{T,L}\cos \mu _L\\ F_{T,R}\cos \mu _R\\ F_{T,L}\sin \mu _L\\ F_{T,R}\sin \mu _R\\ \delta _R\\ \delta _E \end{array}\right] ,\\&\varvec{B}=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} \cos \xi &{} \cos \xi &{} 0 &{} 0 &{} 0 &{} 0\\ \sin \xi &{}-\sin \xi &{} 0 &{} 0 &{} 0 &{} -2Q_\infty C_{m4}\\ 0 &{} 0 &{} 1 &{} 1 &{} -2Q_\infty C_{n4} &{} 0\\ -z_p\sin \xi &{} -z_p\sin \xi &{} y_p &{} -y_p &{} 0 &{} 0\\ z_p\cos \xi &{} z_p\cos \xi &{} -x_p &{} -x_p &{} 2Q_\infty C_{y4} &{} 0\\ x_p\sin \xi -y_p\cos \xi &{} x_p\sin \xi +y_p\cos \xi &{} 0 &{} 0 &{} 0 &{} -2Q_\infty C_{z4} \end{array}\right] ; \end{aligned}$$
$$\begin{aligned}&\alpha =\text {arctan2}(w,u),\\&\beta = \text {arctan2}(v\cos \alpha ,u);\\&L_a=Q_\infty C_{l1}\sin \beta \sin |\beta |,\\&\begin{aligned} M_a&=-Q_\infty \left( C_{m1}\cos (\alpha /2)\sin (2\alpha )\right. \\&\quad \left. +\,C_{m2}\sin (2\alpha )+C_{m3}\sin \alpha \sin {|\alpha |}\right) ,\\ \end{aligned}\\&\begin{aligned} N_a&=Q_\infty \left( C_{n1}\cos (\beta /2)\sin (2\beta )\right. \\&\quad \left. +\,C_{n2}\sin (2\beta )+C_{n3}\sin \beta \sin {|\beta |}\right) ,\\ \end{aligned}\\&\begin{aligned} X_a&=-Q_\infty \left( C_{x1}\cos ^2\alpha \cos ^2\beta \right. \\&\quad \left. +\,C_{x2}\sin (2\alpha )\sin (\alpha /2)\right) ,\\ \end{aligned}\\&\begin{aligned} Y_a&=-Q_\infty \left( C_{y1}\cos (\beta /2)\sin (2\beta )+C_{y2}\sin (2\beta )\right. \\&\quad \left. +\,C_{y3}\sin \beta \sin {|\beta |}\right) ,\\ \end{aligned}\\&\begin{aligned} Z_a&=-Q_\infty \left( C_{z1}\cos (\alpha /2)\sin (2\alpha )+C_{z2}\sin (2\alpha )\right. \\&\quad \left. +\,C_{z3}\sin \alpha \sin {|\alpha |}\right) ; \end{aligned} \end{aligned}$$

m is the airship mass; \(\nabla \) is the airship volume; \(x_g\) and \(z_g\) are the x- and z-coordinates of the center of gravity; \(\{k_1,k_2,k_3\}\) are the ellipsoid inertia factors for calculating the added mass and inertia matrices; \(Q_\infty =\rho V^2/2\) is the dynamic pressure, \(\rho \) is the atmosphere density of flight altitude and \(V=\sqrt{u^2+v^2+w^2}\) is the airship speed; \(C_{ij}(i=l,m,n,x,y,z;j=1,2,3,4)\) are the aerodynamic coefficients; \(\{X_a,Y_a,Z_a\}\) and \(\{L_a,M_a,N_a\}\) are the aerodynamic forces and torques in BRF; \(B_f\) is the buoyancy that acts on the airship; g is the acceleration of gravity; \(\{x_p,y_p,z_p\}\) are the position coordinates of the right propeller in BRF; \(\delta _R\) and \(\delta _E\) are the deflections of the trailing edge flaps of the rudders and elevators, respectively; \(F_{T,L}\), \(F_{T,R}\) and \(\xi \) are thrusts and the patulous angular of the left and right propellers mounted on both sides of the gondola; \(\mu _L\) and \(\mu _R\) are the rotational angular of the left and right propellers with respect to the Oy-axis of BRF.

Remark 1

The configuration of the vectored thrust propellers on both sides of the gondola results in a fully actuated airship, improves the maneuvering ability of airship and simplifies the designing of control inputs compared with the under-actuated airship.

Assumption 1

The airship is assumed to be a rigid body, so that aeroelastic effects are ignored. The center of volume is assumed to coincide with the gross center of buoyancy, and the airship is always in neutral buoyant state, that is \(B_f=mg\). Therefore, the resultant forces of gravitation and buoyancy have no effect on the dynamics in the horizontal motion.

Assumption 2

The airship mass m, volume \(\nabla \), inertial parameters \(\{I_x,I_y,I_z,I_{xz}\}\), the center of gravity coordinates \(\{x_g,z_g\}\) and ellipsoid inertia factors \(\{k_1,k_2,k_3\}\) are unknown constants. The patulous angular \(\xi \) and the position of the right propeller \(\{x_p,y_p,z_p\}\) are known and constant scalars. The aerodynamic coefficients \(C_{ij}(i=l,m,n,x,y,z;j=1,2,3,4)\) are known scalars, but the atmosphere density of flight altitude \(\rho \) is an unknown scalar.

Assumption 3

The airship states \(\{\varvec{\gamma },\varvec{\zeta },\varvec{\omega },\varvec{\upsilon }\}\) are measurable. The desired position trajectory \(\varvec{\zeta }_c\) is differentiable, and its time derivatives \(\{\dot{\varvec{\zeta }}_c,\ddot{\varvec{\zeta }}_c,\varvec{\zeta }_c^{(3)},\varvec{\zeta }_c^{(4)}\}\) are bounded. The airship attitude \(\varvec{\gamma }\) is always satisfy \(|\phi |<\pi \) and \(|\theta |<\displaystyle {\pi }/{2}\) such that the kinematical matrix \(\varvec{R}_\gamma (\varvec{\gamma })\) in (1) is always invertible.

2.2 Trajectory tracking model

With giving a desired position trajectory \(\varvec{\zeta }_c\), we can define a Frenet frame [26] with the unit vectors of the tangent, lord normal and vice normal for the desired position trajectory \(\varvec{\zeta }_c(t)\) at arbitrary time t as

$$\begin{aligned} \left\{ \begin{aligned} \varvec{e}_t&=\frac{\dot{\varvec{\zeta }}_c}{\Vert \dot{\varvec{\zeta }}_c\Vert }\\ \varvec{e}_b&=\frac{\dot{\varvec{\zeta }}_c\times \ddot{\varvec{\zeta }}_c}{\Vert \dot{\varvec{\zeta }}_c\times \ddot{\varvec{\zeta }}_c\Vert }\\ \varvec{e}_n&=\varvec{e}_b\times \varvec{e}_t \end{aligned}\right. \end{aligned}$$
(2)

Then, we can obtain the desired attitude by using this Frenet frame.

The unit vector \(\varvec{e}_n\) always directs to the concave side of the desired trajectory \(\varvec{\zeta }_c\), but not the right-hand side of the airship body. To overcome this defect, we need to design the desired trajectory \(\varvec{\zeta }_c\) such that the third element of \(\varvec{e}_b\) satisfies \(e_{b3}\ne 0\). Then, the desired airship body frame can be established by unit vectors \(\{\varvec{e}_t,\mathrm {sgn}(e_{b3})\varvec{e}_n,\mathrm {sgn}(e_{b3})\varvec{e}_b\}\), where \(\mathrm {sgn}(e_{b3})\) is the signum function for \(e_{b3}\) without zero. Thus, the rotation matrix from desired airship body frame to ERF is \(\varvec{R}_g^c=[\varvec{e}_t,\text {sgn}(e_{b3})\varvec{e}_n,\text {sgn}(e_{b3})\varvec{e}_b]\). Since the attitude tracking objective is to render the BRF coinciding with the desired airship body frame, comparing \(\varvec{R}_g^c=[r_{ij}](i=j=1,2,3)\) with \(\varvec{R}_g\) yields the desired attitude \(\varvec{\gamma }_c=[\phi _c,\theta _c,\psi _c]^\mathrm{{T}}\) as

$$\begin{aligned} \left\{ \begin{aligned} \phi _c&=\text {arctan}\left( \displaystyle \frac{r_{32}}{r_{33}}\right) \\ \theta _c&=\text {arctan}\left( \displaystyle \frac{-r_{31}}{\sqrt{r_{11}^2+r_{21}^2}}\right) \\ \psi _c&=\text {arctan}\left( \displaystyle \frac{r_{21}}{r_{11}}\right) \\ \end{aligned}\right. \end{aligned}$$
(3)

and then the desired attitude rates \(\{\dot{\varvec{\gamma }}_c,\ddot{\varvec{\gamma }}_c\}\) are also obtained directly by calculating the time derivatives of \(\varvec{\gamma }_c\).

Define the desired velocities and accelerations with \(\varvec{R}^{-1}_g=\varvec{R}^\mathrm{{T}}_g\) and \(\dot{\varvec{R}}_g(\varvec{\gamma }_c)=\varvec{R}_g(\varvec{\gamma }_c)S(\varvec{\varvec{\omega }}_c)\) as

$$\begin{aligned} \left\{ \begin{array}{l} \varvec{\omega }_c=\varvec{R}^{-1}_\gamma (\varvec{\gamma }_c)\dot{\varvec{\gamma }}_c\triangleq [p_c,q_c,r_c]^\mathrm{{T}}\\ \dot{\varvec{\omega }}_c=\varvec{R}^{-1}_\gamma (\varvec{\gamma }_c)[\ddot{\varvec{\gamma }}_c-\dot{\varvec{R}}_\gamma (\varvec{\gamma }_c)\varvec{\omega }_c]\\ \varvec{\upsilon }_c=\varvec{R}^\mathrm{{T}}_g(\varvec{\gamma }_c)\dot{\varvec{\zeta }}_c\\ \dot{\varvec{\upsilon }}_c=\varvec{R}^\mathrm{{T}}_g(\varvec{\gamma }_c)[\ddot{\varvec{\zeta }}_c-\varvec{R}_g(\varvec{\gamma }_c)S(\varvec{\varvec{\omega }}_c)\varvec{\upsilon }_c] \end{array}\right. \end{aligned}$$
(4)

where

$$\begin{aligned}&\varvec{R}^{-1}_\gamma (\varvec{\gamma }_c) = \left[ \begin{array}{c@{\quad }c@{\quad }c} 1&{}0&{}-\sin \theta _c\\ 0&{}\cos \phi _c&{}\sin \phi _c\cos \theta _c\\ 0&{}-\sin \phi _c&{}\cos \phi _c\cos \theta _c \end{array}\right] ,\quad S(\varvec{\varvec{\omega }}_c) = \left[ \begin{array}{c@{\quad }c@{\quad }c} 0&{}-r_c&{}q_c\\ r_c&{}0&{}-p_c\\ -q_c&{}p_c&{}0 \end{array}\right] ,\\&\dot{\varvec{R}}_\gamma (\varvec{\gamma }_c)= \left[ \begin{array}{ccc} 0 &{}\displaystyle \frac{\dot{\theta }_c\sin \phi _c+\dot{\phi }_c\tan \theta _c\cos \phi _c}{\cos ^2\theta _c} &{}\displaystyle \frac{\dot{\theta }_c\sin \phi _c-\dot{\phi }_c\tan \theta _c\sin \phi _c}{\cos ^2\theta _c}\\ 0 &{} -\dot{\phi }_c\sin \phi _c &{} -\dot{\phi }_c\cos \phi _c \\ 0 &{} \displaystyle \frac{\dot{\phi }_c\cos \phi _c\cos \theta _c+\dot{\theta }_c\sin \phi _c\sin \theta _c}{\cos ^2\theta _c} &{} \displaystyle \frac{-\dot{\phi }_c\sin \phi _c\cos \theta _c+\dot{\theta }_c\cos \phi _c\sin \theta _c}{\cos ^2\theta _c} \end{array}\right] . \end{aligned}$$

From \(B_f=mg\) in Assumption 1, we know that the term \(\varvec{N}_2^{*}\) in (1) can be simplified and denoted as

$$\begin{aligned} \varvec{N}_2= & {} [-z_gmg\cos \theta \sin \phi ,-z_gmg\sin \theta \\&-\,x_gmg\cos \theta \cos \phi ,x_gmg\cos \theta \sin \phi ,0,0,0]^\mathrm{{T}} \end{aligned}$$

thus the error kinematics and dynamics can be obtained by

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{x}}_e=(\varvec{R}-\varvec{R}_c)\varvec{y}_c+\varvec{R}\varvec{y}_e\\ \varvec{M}\dot{\varvec{y}}_e=\varvec{N}_1+\varvec{N}_2+\varvec{N}_3+\varvec{B}\varvec{u}-\varvec{M}\dot{\varvec{y}}_c \end{array}\right. \end{aligned}$$
(5)

where \(\varvec{x}_e=\varvec{x}-\varvec{x}_c\), \(\varvec{y}_e=\varvec{y}-\varvec{y}_c\), \(\varvec{x}_c=[\varvec{\gamma }_c^\mathrm{{T}},\varvec{\zeta }_c^\mathrm{{T}}]^\mathrm{{T}}\), \(\varvec{y}_c=[\varvec{\omega }_c^\mathrm{{T}},\varvec{\upsilon }_c^\mathrm{{T}}]^\mathrm{{T}}\), \(\varvec{R}_c=\mathrm {diag}\{\varvec{R}_\gamma (\varvec{\gamma }_c),\varvec{R}_g(\varvec{\gamma }_c)\}\).

Furthermore, since \(\varvec{R}\) is non-singular, defining \(\varvec{z}_1=\varvec{x}_e\), \(\varvec{z}_2=\dot{\varvec{x}}_e\) and \(\varvec{P}=\varvec{R}^{-1}\), then (5) can be formulated as

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{z}}_1=\varvec{z}_2\\ \varvec{H}(\varvec{z}_1)\dot{\varvec{z}}_2+\varvec{C}_1(\varvec{z}_1,\varvec{z}_2)\varvec{z}_2+\varvec{C}_2(\varvec{z}_1,\varvec{z}_2)=\varvec{\tau } \end{array}\right. \end{aligned}$$
(6)

where \(\varvec{H}(\varvec{z}_1)=\varvec{P}^\mathrm{{T}}\varvec{M}\varvec{P}\), \(\varvec{C}_1(\varvec{z}_1,\varvec{z}_2)=-\varvec{P}^\mathrm{{T}}\varvec{M}\varvec{P}\dot{\varvec{R}}\varvec{P}\), \(\varvec{C}_2(\varvec{z}_1,\varvec{z}_2)=\varvec{P}^\mathrm{{T}}\varvec{M}\varvec{P}\dot{\varvec{R}}\varvec{P}(\varvec{R}-\varvec{R}_c)\varvec{y}_c-\varvec{P}^\mathrm{{T}}\varvec{M}\varvec{P}[(\dot{\varvec{R}}-\dot{\varvec{R}}_c)\varvec{y}_c-(\varvec{R}-\varvec{R}_c)\dot{\varvec{y}}_c] -\varvec{P}^\mathrm{{T}}(\varvec{N}_1+\varvec{N}_2-\varvec{M}\dot{\varvec{y}}_c)\), \(\varvec{\tau }=\varvec{P}^\mathrm{{T}}(\varvec{N}_3+\varvec{B}\varvec{u})\).

According to (6), the trajectory tracking control objective in this paper is equivalent to determining the control vector \(\varvec{u}\) under Assumptions 1–3 such that \(\lim _{t\rightarrow \infty }\varvec{z}_1(t)=\varvec{0}\) and \(\lim _{t\rightarrow \infty }\varvec{z}_2(t)=\varvec{0}\).

3 Main results

In this section a novel adaptive controller will be designed such that the airship motion tracks the desired trajectory while unknown parameters are estimated. The system state filters and parameter regressor matrix filter are designed, and then the controllers for position and attitude are developed in a unified non-certainty equivalence principle framework.

We now get ready to develop a non-certainty equivalence adaptive trajectory tracking controller for error dynamics (6) with unknown parameter vector

$$\begin{aligned} \varvec{\vartheta }= & {} \left[ I_x,I_y+\rho \nabla k_3,I_z\right. \\&\left. +\,\rho \nabla k_3,I_{xz},m+\rho \nabla k_1,m+\rho \nabla k_2,mx_g,mz_g\right] ^\mathrm{{T}}, \end{aligned}$$

and the adaptive control input \(\varvec{u}\) is determined through

$$\begin{aligned} \varvec{u}= & {} \varvec{B}^{-1}\left[ -\varvec{N}_3+\varvec{R}^\mathrm{{T}}\left( -\varvec{Y}(\hat{\varvec{\vartheta }}+\varvec{\kappa }) -\delta \varvec{Y}_f\varvec{Y}_f^\mathrm{{T}}\right. \right. \nonumber \\&\left. \left. \times \left[ (k_d-k_z)\varvec{z}_{f_2}+k_p\varvec{z}_{f_1} +\varvec{z}_2\right] \right) \right] \end{aligned}$$
(7)
$$\begin{aligned} \dot{\hat{\varvec{\vartheta }}}= & {} \delta (k_z\varvec{Y}_f-\varvec{Y})^\mathrm{{T}}\varvec{z}_{f_2} +\delta \varvec{Y}_f^\mathrm{{T}}(k_d\varvec{z}_{f_2}+k_p\varvec{z}_{f_1}) \end{aligned}$$
(8)

where \(\varvec{\kappa }=\delta \varvec{Y}_f^\mathrm{{T}}\varvec{z}_{f_2}\); \(\hat{\varvec{\vartheta }}+\varvec{\kappa }\) is the estimation of \(\varvec{\vartheta }\); \(k_z,k_p,k_d>0,\delta \ge \displaystyle {1}/{k_d}\); the signals \(\varvec{z}_{f_1}\), \(\varvec{z}_{f_2}\) and \(\varvec{Y}_f\) are obtained from stable first-order linear filters

$$\begin{aligned}&\left\{ \begin{array}{l} \dot{\varvec{z}}_{f_1}=-k_z\varvec{z}_{f_1}+\varvec{z}_1\\ \dot{\varvec{z}}_{f_2}=-k_z\varvec{z}_{f_2}+\varvec{z}_2 \end{array}\right. \end{aligned}$$
(9)
$$\begin{aligned}&\dot{\varvec{Y}}_f=-k_z\varvec{Y}_f+\varvec{Y} \end{aligned}$$
(10)

and the regressor matrix \(\varvec{Y}\in \mathbb {R}^{6\times 8}\) is constructed in the following manner:

$$\begin{aligned} \varvec{Y}\varvec{\vartheta }= & {} \varvec{H}(\varvec{z}_1)(k_d\varvec{z}_2+k_p\varvec{z}_1)\\&+\,\dot{\varvec{H}}(\varvec{z}_1)[(k_d-k_z)\varvec{z}_{f_2}+k_p\varvec{z}_{f_1}+\varvec{z}_2]\\&-\,\varvec{C}_1(\varvec{z}_1,\varvec{z}_2)\varvec{z}_2-\varvec{C}_2(\varvec{z}_1,\varvec{z}_2) \end{aligned}$$

Remark 2

The regressor matrix \(\varvec{Y}\) can be constructed based on the fact that \(\varvec{N}_1+\varvec{N}_2\triangleq \varvec{T}\varvec{\vartheta }\) and \(\varvec{M}\varvec{a}=\varvec{L}(\varvec{a})\varvec{\vartheta }\) for any vector \(\varvec{a}=[a_1,a_2,a_3,a_4,a_5,a_6]^\mathrm{{T}}\), where

$$\begin{aligned}&\varvec{L}(\varvec{a})=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} a_1&{}0&{}0&{}-a_3&{}0&{}0&{}0&{}-a_5\\ 0&{}a_2&{}0&{}0&{}0&{}0&{}-a_6&{}a_4\\ 0&{}0&{}a_3&{}-a_1&{}0&{}0&{}a_5&{}0\\ 0&{}0&{}0&{}0&{}a_4&{}0&{}0&{}a_2\\ 0&{}0&{}0&{}0&{}0&{}a_5&{}a_3&{}-a_1\\ 0&{}0&{}0&{}0&{}0&{}a_6&{}-a_2&{}0\\ \end{array}\right] \\&\varvec{T}=\left[ \begin{array}{c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c@{\quad }c} 0&{}qr&{}-qr&{}pq&{}0&{}0&{}0&{}ur-wp-g\cos \theta \sin \phi \\ -pr&{}0&{}pr&{}r^2-p^2&{}0&{}0&{}vp-uq-g\cos \theta \cos \phi &{}vr-wq-g\sin \theta \\ pq&{}-pq&{}0&{}-qr&{}0&{}0&{}wp-ur+g\cos \theta \sin \phi &{}0\\ 0&{}0&{}0&{}0&{}0&{}vr-wq&{}r^2+q^2&{}-pr\\ 0&{}0&{}0&{}0&{}-ur&{}wp&{}-pq&{}-qr\\ 0&{}0&{}0&{}0&{}uq&{}-vp&{}-rp&{}p^2+q^2\\ \end{array}\right] \end{aligned}$$

thus from (6), we have \(\varvec{Y}=\varvec{P}^\mathrm{{T}}\varvec{L}(\varvec{P}(k_d\varvec{z}_2+k_p\varvec{z}_1)) -2\varvec{P}^\mathrm{{T}}\varvec{L}(\varvec{P}\dot{\varvec{R}}\varvec{P}[(k_d-k_z)\varvec{z}_{f_2}+k_p\varvec{z}_{f_1}+\varvec{z}_2]) +\varvec{P}^\mathrm{{T}}\varvec{L}(\varvec{P}\dot{\varvec{R}}\varvec{P}\varvec{z}_2) -\varvec{P}^\mathrm{{T}}\varvec{L}(\varvec{P}\dot{\varvec{R}}\varvec{P}(\varvec{R}-\varvec{R}_c)\varvec{y}_c) +\varvec{P}^\mathrm{{T}}\varvec{L}(\varvec{P}[(\dot{\varvec{R}}-\dot{\varvec{R}}_c)\varvec{y}_c-(\varvec{R}-\varvec{R}_c)\dot{\varvec{y}}_c]) -\varvec{P}^\mathrm{{T}}\varvec{L}(\dot{\varvec{y}}_c)+\varvec{P}^\mathrm{{T}}\varvec{T}\).

Remark 3

After designing the controller in (7) and denoting \(\varvec{u}=[u_1,u_2,u_3,u_4,u_5,u_6]^\mathrm{{T}}\), we know from (1) that \(F_{T,L}=\sqrt{u_1^2+u_3^2}\), \(F_{T,R}=\sqrt{u_2^2+u_4^2}\), \(\mu _L=\hbox {arctan}\left( \displaystyle \frac{u_3}{u_1}\right) \), \(\mu _R=\hbox {arctan}\left( \displaystyle \frac{u_4}{u_2}\right) \), \(\delta _R=u_5\), \(\delta _E=u_6\).

Theorem 1

Consider the trajectory tracking system model (6) under Assumptions 1–3, for any initial states and desired reference trajectories, the proposed adaptive trajectory tracking controller (7)–(10) under condition (16) can guarantee \(\lim _{t\rightarrow \infty }\varvec{z}_1(t)=\lim _{t\rightarrow \infty }\varvec{z}_2(t)=\varvec{0}\) in the closed-loop system.

Proof

Firstly, define the parameter estimation error

$$\begin{aligned} \varvec{z}_y=\hat{\varvec{\vartheta }}+\varvec{\kappa }-\varvec{\vartheta } \end{aligned}$$
(11)

and introduce a linear filter for the control signal as

$$\begin{aligned} \dot{\varvec{\tau }}_f=-k_z\varvec{\tau }_f+\varvec{\tau } \end{aligned}$$
(12)

Then adding and subtracting the terms

$$\begin{aligned}&\varvec{H}(\varvec{z}_1)(k_d\varvec{z}_2+k_p\varvec{z}_1)\nonumber \\&\quad +\,\dot{\varvec{H}}(\varvec{z}_1)[(k_d-k_z)\varvec{z}_{f_2}+k_p\varvec{z}_{f_1}+\varvec{z}_2] \end{aligned}$$

to right-hand side of the second sub-equation of (6) give rise to

$$\begin{aligned} \varvec{H}(\varvec{z}_1)\dot{\varvec{z}}_2= & {} \varvec{Y}\varvec{\vartheta }+\varvec{\tau }-\varvec{H}(\varvec{z}_1)(k_d\varvec{z}_2+k_p\varvec{z}_1)\nonumber \\&-\,\dot{\varvec{H}}(\varvec{z}_1)[(k_d-k_z)\varvec{z}_{f_2}+k_p\varvec{z}_{f_1}+\varvec{z}_2] \end{aligned}$$
(13)

Substituting (9), (10) and (12) into the first sub-equation of (6) and (13) yields the filtered-state error model

$$\begin{aligned} \left\{ \begin{array}{l} \displaystyle \frac{\mathrm {d}}{\mathrm {d}t}(\dot{\varvec{z}}_{f_1}-\varvec{z}_{f_2})=-k_z(\dot{\varvec{z}}_{f_1}-\varvec{z}_{f_2})\\ \displaystyle \frac{\mathrm {d}}{\mathrm {d}t}[\varvec{H}(\varvec{z}_1)(\dot{\varvec{z}}_{f_2}+k_p\varvec{z}_{f_1}+k_d\varvec{z}_{f_2})-\varvec{Y}_f\varvec{\vartheta }-\varvec{\tau }_f]\\ \quad =-k_z[\varvec{H}(\varvec{z}_1)(\dot{\varvec{z}}_{f_2} +k_p\varvec{z}_{f_1}+k_d\varvec{z}_{f_2}) -\varvec{Y}_f\varvec{\vartheta }-\varvec{\tau }_f] \end{array}\right. \nonumber \\ \end{aligned}$$
(14)

As can be seen, Eq. 14 contains two linear differential equations, so the solution of (14) can be immediately obtained by

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{z}}_{f_1}=\varvec{z}_{f_2}+\varvec{\eta }_1(t)\\ \dot{\varvec{z}}_{f_2}=-k_p\varvec{z}_{f_1}-k_d\varvec{z}_{f_2}\\ \qquad +\,\varvec{H}^{-1}(\varvec{z}_1)(\varvec{Y}_f\varvec{\vartheta }+\varvec{\tau }_f)+\varvec{H}^{-1}(\varvec{z}_1)\varvec{\eta }_2(t) \end{array}\right. \nonumber \\ \end{aligned}$$
(15)

where

$$\begin{aligned} \left\{ \begin{array}{l} \varvec{\eta }_1(t)=[\dot{\varvec{z}}_{f_1}(0)-\varvec{z}_{f_2}(0)]\hbox {e}^{-k_zt}\\ \varvec{\eta }_2(t)=[\varvec{H}(\varvec{z}_1(0))[\dot{\varvec{z}}_{f_2}(0)+k_p\varvec{z}_{f_1}(0)+k_d\varvec{z}_{f_2}(0)]\\ \quad \qquad -\,\varvec{Y}_f(0)\varvec{\vartheta }-\varvec{\tau }_f(0)]\hbox {e}^{-k_zt} \end{array}\right. \end{aligned}$$

It is easily known that \(\varvec{\eta }_1(t)\) and \(\varvec{\eta }_2(t)\) are exponentially decaying terms and their initial values directly depend on \(\varvec{z}_{f_1}(0)\), \(\varvec{z}_{f_2}(0)\), \(\varvec{Y}_f(0)\), \(\varvec{\tau }_f(0)\), \(\varvec{z}_1(0)\) and \(\varvec{z}_2(0)\). Actually, \(\varvec{\eta }_1(t)\equiv \varvec{0}\) and \(\varvec{\eta }_2(t)\equiv \varvec{0}\) for all \(t\ge 0\) are equivalent to following conditions

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{z}}_{f_1}(0)-\varvec{z}_{f_2}(0)=\varvec{0}\\ \dot{\varvec{z}}_{f_2}(0)+k_p\varvec{z}_{f_1}(0)+k_d\varvec{z}_{f_2}(0)=\varvec{0}\\ \varvec{Y}_f(0)=\varvec{0}, ~~\varvec{\tau }_f(0)=\varvec{0} \end{array}\right. \end{aligned}$$

then after algebraic calculations with (9), we know the initial values of filters should be chosen as

$$\begin{aligned} \left\{ \begin{array}{l} \varvec{z}_{f_1}(0)=\displaystyle \frac{(k_z-k_d)\varvec{z}_1(0)-\varvec{z}_2(0)}{k_z(k_z-k_d)+k_p}\\ \varvec{z}_{f_2}(0)=\displaystyle \frac{k_p\varvec{z}_1(0)+k_z\varvec{z}_2(0)}{k_z(k_z-k_d)+k_p}\\ \varvec{Y}_f(0)=\varvec{0}, ~~\varvec{\tau }_f(0)=\varvec{0}\\ k_z^2-k_zk_d+k_p\ne 0 \end{array}\right. \end{aligned}$$
(16)

Thus, \(\varvec{\eta }_1(t)\equiv \varvec{0}\) and \(\varvec{\eta }_2(t)\equiv \varvec{0}\) result in the filtered-state error dynamics

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{z}}_{f_1}=\varvec{z}_{f_2}\\ \dot{\varvec{z}}_{f_2}=-k_p\varvec{z}_{f_1}-k_d\varvec{z}_{f_2}+\varvec{H}^{-1}(\varvec{z}_1)(\varvec{Y}_f\varvec{\vartheta }+\varvec{\tau }_f) \end{array}\right. \end{aligned}$$
(17)

Consider the filtered control signal \(\varvec{\tau }_f\) can be specified as [27]

$$\begin{aligned} \varvec{\tau }_f=-\varvec{Y}_f(\hat{\varvec{\vartheta }}+\varvec{\kappa }) \end{aligned}$$
(18)

then from Eqs. (11) and (18), (17) becomes

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{z}}_{f_1}=\varvec{z}_{f_2}\\ \dot{\varvec{z}}_{f_2}=-k_p\varvec{z}_{f_1}-k_d\varvec{z}_{f_2}-\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y \end{array}\right. \end{aligned}$$
(19)

and the dynamics of the parameter estimation error can be derived by using (8) and (19) to yield the following:

$$\begin{aligned} \dot{\varvec{z}}_y=\dot{\hat{\varvec{\vartheta }}}+\dot{\varvec{\kappa }}=-\delta \varvec{Y}_f^\mathrm{{T}}\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y \end{aligned}$$
(20)

Choose a function

$$\begin{aligned} V=\frac{1}{2}k_p\varvec{z}_{f_1}^\mathrm{{T}}\varvec{z}_{f_1}+\frac{1}{2}\varvec{z}_{f_2}^\mathrm{{T}}\varvec{z}_{f_2}+\frac{1}{2\lambda _m}\varvec{z}_y^\mathrm{{T}}\varvec{z}_y\ge 0 \end{aligned}$$
(21)

where \(\lambda _m\) is the minimum eigenvalue of \(\varvec{H}(\varvec{z}_1)\). Taking the time derivative of (21) along trajectories generated from (19), (20) and using \(\delta \ge \displaystyle {1}/{k_d}\) give rise to

$$\begin{aligned} \dot{V}= & {} k_p\varvec{z}_{f_1}^\mathrm{{T}}\dot{\varvec{z}}_{f_1}+\varvec{z}_{f_2}^\mathrm{{T}}\dot{\varvec{z}}_{f_2} +\frac{1}{\lambda _m}\varvec{z}_y^\mathrm{{T}}\dot{\varvec{z}}_y\nonumber \\= & {} k_p\varvec{z}_{f_1}^\mathrm{{T}}\varvec{z}_{f_2} +\varvec{z}_{f_2}^\mathrm{{T}} [-k_d\varvec{z}_{f_2}-k_p\varvec{z}_{f_1}-\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y]\nonumber \\&+\,\frac{1}{\lambda _m}\varvec{z}_y^\mathrm{{T}}(\dot{\hat{\varvec{\vartheta }}} +\dot{\varvec{\kappa }})\nonumber \\= & {} -k_d\varvec{z}_{f_2}^\mathrm{{T}}\varvec{z}_{f_2} -\varvec{z}_{f_2}^\mathrm{{T}}\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\nonumber \\&-\,\frac{\delta }{\lambda _m}\varvec{z}_y^\mathrm{{T}}\varvec{Y}_f^\mathrm{{T}} \varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\nonumber \\\le & {} -k_d\varvec{z}_{f_2}^\mathrm{{T}}\varvec{z}_{f_2}-\varvec{z}_{f_2}^\mathrm{{T}}\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\nonumber \\&-\,\delta \varvec{z}_y^\mathrm{{T}}\varvec{Y}_f^\mathrm{{T}}\varvec{H}^{-\mathrm {T}} (\varvec{z}_1)\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\nonumber \\\le & {} -\frac{k_d}{2}\Vert \varvec{z}_{f_2}\Vert ^2 -\frac{\delta }{2}\Vert \varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\Vert ^2\nonumber \\&-\,\frac{k_d}{2}\left( \Vert \varvec{z}_{f_2}\Vert ^2 -\frac{2}{k_d}\Vert \varvec{z}_{f_2}\Vert \Vert \varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\Vert \right. \nonumber \\&\left. +\,\frac{\delta }{k_d}\Vert \varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\Vert ^2\right) \nonumber \\\le & {} -\frac{k_d}{2}\Vert \varvec{z}_{f_2}\Vert ^2-\frac{\delta }{2}\Vert \varvec{H}^{-1} (\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\Vert ^2\le 0 \end{aligned}$$
(22)

Since \(V(t)\ge 0\) and \(\dot{V}(t)\le 0\), then V(t) is monotonically decreasing along the closed-loop system trajectory and is bounded by zero. Hence, V(t) has a finite limit \(V(\infty )\) as \(t\rightarrow \infty \) and

$$\begin{aligned} 0\le V(\infty )\le V(t)\le V(0)<\infty , \forall t\ge 0 \end{aligned}$$

According to (22), we also know

$$\begin{aligned}&\int _0^{\infty }\Vert \varvec{z}_{f_2}\Vert ^2\mathrm {d}t\le \frac{-2}{k_d}\int _0^{\infty }\dot{V}(t)\mathrm {d}t\\&\quad \le \frac{2[V(0)-V(\infty )]}{k_d}<\infty \\&\int _0^{\infty }\Vert \varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\Vert ^2\mathrm {d}t\le \frac{-2}{\delta }\int _0^{\infty }\dot{V}(t)\mathrm {d}t\\&\quad \le \frac{2[V(0)-V(\infty )]}{\delta }<\infty \end{aligned}$$

these mean \(\varvec{z}_{f_2}\) and \(\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\) are square integrable.

Then from the definition of V(t), we have

$$\begin{aligned}&0\le \frac{1}{2}k_p\Vert \varvec{z}_{f_1}\Vert ^2+\frac{1}{2}\Vert \varvec{z}_{f_2}\Vert ^2+\frac{1}{2\lambda _m}\Vert \varvec{z}_y\Vert ^2\\&\quad =V(t)<\infty , \forall t\ge 0 \end{aligned}$$

Thus, \(\Vert \varvec{z}_{f_1}\Vert <\infty \), \(\Vert \varvec{z}_{f_2}\Vert <\infty \) and \(\Vert \varvec{z}_y\Vert <\infty \).

From \(\Vert \varvec{z}_{f_1}\Vert <\infty \), \(\Vert \varvec{z}_{f_2}\Vert <\infty \) and (9), we know \(\Vert \varvec{z}_1\Vert <\infty \) and \(\Vert \varvec{z}_2\Vert <\infty \), thus \(\Vert \varvec{Y}\Vert <\infty \), \(\Vert \varvec{Y}_f\Vert <\infty \), \(\Vert \dot{\varvec{Y}}_f\Vert <\infty \), \(\Vert \dot{\varvec{H}}(\varvec{z}_1)\Vert <\infty \), \(\Vert \dot{\varvec{z}}_y\Vert <\infty \) (each signal is merely either bounded signal or signal driven by a stable linear filters with a bounded input). Furthermore, from \(\Vert \varvec{z}_{f_1}\Vert <\infty \), \(\Vert \varvec{z}_{f_2}\Vert <\infty \), \(\Vert \varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\Vert <\infty \) and

$$\begin{aligned} \left\{ \begin{array}{l} \dot{\varvec{z}}_{f_2}=-k_d\varvec{z}_{f_2}-k_p\varvec{z}_{f_1}-\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\\ \frac{\hbox {d}}{\hbox {d}t}[\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y]=\dot{\varvec{H}}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\\ \quad +\varvec{H}^{-1}(\varvec{z}_1)\dot{\varvec{Y}}_f\varvec{z}_y+\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\dot{\varvec{z}}_y \end{array}\right. \end{aligned}$$
(23)

we know \(\Vert \dot{\varvec{z}}_{f_2}\Vert <\infty \) and \(\left\| \frac{\hbox {d}}{\hbox {d}t}[\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y]\right\| <\infty \), it means \(\varvec{z}_{f_2}\) and \(\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y\) are uniformly continuous. Thus, \(\lim _{t\rightarrow \infty }\varvec{z}_{f_2}(t)=\varvec{0}\) and \(\lim _{t\rightarrow \infty }\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f(t)\varvec{z}_y(t)=\varvec{0}\) by virtue of Barbalat’s Lemma [28]. Differentiating \(\dot{\varvec{z}}_{f_2}\) in (23) with respect to time yields

$$\begin{aligned} \ddot{\varvec{z}}_{f_2}=-k_d\dot{\varvec{z}}_{f_2}-k_p\dot{\varvec{z}}_{f_1}-\frac{\hbox {d}}{\hbox {d}t}[\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f\varvec{z}_y] \end{aligned}$$

then we have \(\Vert \ddot{\varvec{z}}_{f_2}\Vert <\infty \), and from \(\lim _{t\rightarrow \infty }\varvec{z}_{f_2}(t)=\varvec{0}\), we also have \(\lim _{t\rightarrow \infty }\dot{\varvec{z}}_{f_2}(t)=\varvec{0}\). It follows from (23) that \(\lim _{t\rightarrow \infty }\varvec{z}_{f_1}(t)=\varvec{0}\). Therefore, from the stability of linear filters in (9), we can guarantee \(\lim _{t\rightarrow \infty }\varvec{z}_1(t)=\lim _{t\rightarrow \infty }\varvec{z}_2(t)=\varvec{0}\).

Finally, the control input \(\varvec{u}\) can be recovered from the filtered control signal \(\varvec{\tau }_f\) defined in (12) and (18) as

$$\begin{aligned} \varvec{u}= & {} \varvec{B}^{-1}\left[ -\varvec{N}_3+\varvec{R}^\mathrm{{T}}(\dot{\varvec{\tau }}_f +k_z\varvec{\tau }_f)\right] \nonumber \\= & {} \varvec{B}^{-1}\left( -\varvec{N}_3+\varvec{R}^\mathrm{{T}} \left[ -\dot{\varvec{Y}}_f(\hat{\varvec{\vartheta }}+\varvec{\kappa })\right. \right. \nonumber \\&\left. \left. -\,\varvec{Y}_f\left( \dot{\hat{\varvec{\vartheta }}}+\dot{\varvec{\kappa }}\right) -k_z\varvec{Y}_f\left( \hat{\varvec{\vartheta }}+\varvec{\kappa }\right) \right] \right) \nonumber \\= & {} \varvec{B}^{-1}\left( -\varvec{N}_3+\varvec{R}^\mathrm{{T}} \left[ -\varvec{Y}(\hat{\varvec{\vartheta }}+\varvec{\kappa }) -\varvec{Y}_f\left( \dot{\hat{\varvec{\vartheta }}} +\dot{\varvec{\kappa }}\right) \right] \right) \end{aligned}$$
(24)

Substituting (8), \(\varvec{\kappa }=\delta \varvec{Y}_f^\mathrm{{T}}\varvec{z}_f\) and (9) into (24) gives

$$\begin{aligned} \varvec{u}= & {} \varvec{B}^{-1}\left( -\varvec{N}_3+\varvec{R}^\mathrm{{T}}\left( -\varvec{Y}(\hat{\varvec{\vartheta }}+\varvec{\kappa })\right. \right. \nonumber \\&-\,\varvec{Y}_f\left[ \delta (k_z\varvec{Y}_f-\varvec{Y})^\mathrm{{T}}\varvec{z}_{f_2}+\delta \varvec{Y}_f^\mathrm{{T}}(k_d\varvec{z}_{f_2}\right. \nonumber \\&+\left. \left. \left. k_p\varvec{z}_{f_1}) +\delta \dot{\varvec{Y}}_f^\mathrm{{T}}\varvec{z}_{f_2} +\delta \varvec{Y}_f^\mathrm{{T}}\dot{\varvec{z}}_{f_2}\right] \right) \right) \nonumber \\= & {} \varvec{B}^{-1}\left( -\varvec{N}_3 +\varvec{R}^\mathrm{{T}}\left( -\varvec{Y}(\hat{\varvec{\vartheta }} +\varvec{\kappa })\right. \right. \nonumber \\&-\,\varvec{Y}_f\left[ \delta (k_z\varvec{Y}_f-\varvec{Y})^\mathrm{{T}}\varvec{z}_{f_2}+\delta \varvec{Y}_f^\mathrm{{T}}(k_d\varvec{z}_{f_2}+k_p\varvec{z}_{f_1})\right. \nonumber \\&+\left. \left. \left. \delta (-k_z\varvec{Y}_f+\varvec{Y})^\mathrm{{T}}\varvec{z}_{f_2} +\delta \varvec{Y}_f^\mathrm{{T}}(-k_z\varvec{z}_{f_2}+\varvec{z}_2)\right] \right) \right) \nonumber \\= & {} \varvec{B}^{-1}\left( -\varvec{N}_3+\varvec{R}^\mathrm{{T}}\left( -\varvec{Y}(\hat{\varvec{\vartheta }}+\varvec{\kappa })\right. \right. \nonumber \\&\left. \left. -\,\delta \varvec{Y}_f\varvec{Y}_f^\mathrm{{T}}\left[ (k_d-k_z)\varvec{z}_{f_2} +k_p\varvec{z}_{f_1}+\varvec{z}_2\right] \right) \right) \end{aligned}$$
(25)

which is the same as (7) thereby completing the proof. \(\square \)

Remark 4

We obtain \(\lim _{t\rightarrow \infty }\varvec{z}_1(t)=\varvec{0}\) and \(\lim _{t\rightarrow \infty }\varvec{H}^{-1}(\varvec{z}_1)\varvec{Y}_f(t)\varvec{z}_y(t)=\varvec{0}\) in the proof of Theorem 1, this means \(\lim _{t\rightarrow \infty }\varvec{H}^{-1}(\varvec{z}_1)=\varvec{M}^{-1}\), and all closed-loop trajectories ultimately end up inside an attracting manifold \({\mathscr {M}}=\{\varvec{z}_y\in \mathbb {R}^8|\varvec{Y}_f\varvec{z}_y=\varvec{0}\}\). Obviously, \(\lim _{t\rightarrow \infty }\varvec{z}_y(t)=\varvec{0}\) implies \(\lim _{t\rightarrow \infty }\varvec{Y}_f(t)\varvec{z}_y(t)=\varvec{0}\), but the converse is not necessarily true. Moreover, convergence to this attracting manifold can be made arbitrarily fast by tuning the adaptive parameter \(\delta \) present within the control law in (7). Actually, the term \(\varvec{Y}_f(t)\varvec{z}_y(t)\) includes the information about the error between the current estimate of the parameter \(\hat{\varvec{\vartheta }}+\varvec{\kappa }\) and its corresponding true value \(\varvec{\vartheta }\).

4 Simulation example

In the following simulation, a typical helix trajectory is selected as the desired trajectories to verify the proposed control method. Values of parameters and coefficients for the stratospheric airship are calculated from [9] and demonstrated in Table 1.

Table 1 Parameters and coefficients of a stratospheric airship

The desired trajectory for ascendant helix tracking simulation is performed as

$$\begin{aligned} \varvec{\zeta }_c= & {} [x_c(t),y_c(t),z_c(t)]^\mathrm{{T}}\\= & {} [500\sin (0.01t),500\cos (0.01t),-2t-20000]^\mathrm{{T}} \mathrm {m} \end{aligned}$$

where the initial position is \(\varvec{\zeta }(0)=[-300,0,-19800]^\mathrm{{T}}\) m, the initial line velocity is \(\varvec{\upsilon }(0)=[5,0, 0]^\mathrm{{T}} \mathrm {m/s}\), the initial attitude is \(\varvec{\gamma }(0)=[0,0,0]^\mathrm{{T}}\,\mathrm {rad}\) and the other states are zero. The controller parameters are chosen as \(k_p=3,k_d=3,k_z=10,\delta =100\). The initial values are \(\varvec{\vartheta }(0)=[5\times 10^7,3\times 10^8,3\times 10^8,-6\times 10^4,6.5\times 10^4,1.1\times 10^5,3\times 10^5,9\times 10^5]^\mathrm{{T}}\) and \(\varvec{Y}_f(0)=\varvec{0}\). \(\varvec{z}_{f_1}(0)\) and \(\varvec{z}_{f_2}(0)\) are determined by (16). The simulation results are demonstrated in Figs. 2, 3, 4, 5, 6 and 7, where the 3-D position tracking result for the helix trajectory is given in Fig. 2, and corresponding tracking errors of the closed-loop system are also shown in Figs. 3 and 4, the estimation of the uncertain parameters are displayed in Figs. 5, 6 and 7.

Fig. 2
figure 2

3-D Position trajectory for helix tracking

Fig. 3
figure 3

Attitude errors and angular velocity errors for helix tracking

Fig. 4
figure 4

Position errors and line velocity errors for helix tracking

Fig. 5
figure 5

Estimations of parameters \(\vartheta _1,\vartheta _2,\vartheta _3\) in helix tracking

Fig. 6
figure 6

Estimations of parameters \(\vartheta _4,\vartheta _5,\vartheta _6\) in helix tracking

Fig. 7
figure 7

Estimations of parameters \(\vartheta _7,\vartheta _8\) in helix tracking

As shown in the Figs. 2, 3, 4, 5, 6 and 7, the asymptotic convergence of the trajectory tracking errors is guaranteed after a transient behavior for helix trajectory. The simulations reveal that the trajectory tracking controller can operate on the entire desired trajectory with proposed controller parameters. The bounded estimations for uncertain parameters also confirm the robustness of proposed trajectory tracking control method. The simulation results verify that the trajectory tracking control method designed in this paper for stratospheric airship is effective. From Figs. 2, 3, 4, 5, 6 and 7, it can be seen that the proposed controller results in a satisfactory tracking performance.

In addition, the closed-loop system is simulated again by using the proposed adaptive controller (7) with smaller parameters \(k_p=1,k_d=1,k_z=3\) and \(\delta =10\). Simulation results of attitude and position tracking are shown in Figs. 8 and 9. By comparing them with Figs. 3 and 4, we can conclude that the transient response performance and robustness of the closed-loop system can be improved by regulating the parameter estimation behavior. In other words, it is also found via the extensive simulation that the tracking performance can be further improved by appropriately increasing the estimator parameters \(k_p,k_d,k_z\) and \(\delta \).

Fig. 8
figure 8

Attitude and angular velocity tracking errors with small parameters of controller (7)

Fig. 9
figure 9

Position and linear velocity tracking errors with small parameters of controller (7)

In order to illustrate the advantage of the proposed controller (7), the helix tracking mission is conducted with widely used proportional–integral–derivative (PID) controller \(\varvec{u}=-K_p\varvec{x}_e-K_i\int _0^t\varvec{x}_e(\tau )\text {d}\tau -K_d\dot{\varvec{x}}_e\). With defining a simple control energy index \(E=\int _0^T\Vert \varvec{u}(t)\Vert ^2\text {d}t\) in T=10 s, it is easy to derive that the control energy of the proposed adaptive controller (7) is about \(E=4.334\times 10^9\). With regulating the feedback gains of PID controller as \(K_p=\text {diag}\{15I_3,2.4I_3\}\), \(K_i=\text {diag}\{7.2I_3,5.6I_3\}\) and \(K_d=\text {diag}\{212I_3,16I_3\}\), where \(I_3\) denotes the \(3\times 3\) identity matrix, we derive that the control energy of PID controller is \(E=4.385\times 10^9\), this is nearly the same as the energy of controller (7). Figures. 10 and 11 show the simulation results of attitude and position tracking with PID controller. As can be seen in Figs. 10 and 11, the tracking errors of attitude and position converge to zero. However, by further comparing them with Figs. 3 and 4, we can conclude that with nearly the same control energy, the proposed adaptive controller provides a better dynamic performance than PID controller, which is mainly due to the shorter transient response time and smaller steady-state errors. Although PID controller is easy to be regulated, it is hard to ensure high control accuracy and good dynamic performance for the closed-loop system.

Fig. 10
figure 10

Attitude and angular velocity tracking errors with PID controller

Fig. 11
figure 11

Position and linear velocity tracking errors with PID controller

5 Conclusion

This paper developed a nonlinear adaptive trajectory tracking controller for a stratospheric airship in the presence of parametric uncertainties. The unknown parameters were estimated online based on a novel non-certainty equivalence adaptive law. The paper includes detailed stability analysis of the closed-loop system. Asymptotical convergence of the trajectory tracking errors is guaranteed with the proposed controller even in the presence of parametric uncertainties. Simulation results demonstrated the performance of the proposed controller. Moreover, although the trajectory tracking controller in this paper is designed for the stratospheric airship, the proposed approach is also applied on the other second-order mechanical systems. Future works include controller design and robust analysis for airships with parametric uncertainties, unknown aerodynamic coefficients and external disturbances.