1 Introduction

The negative imaginary (NI) systems are one type of dynamical systems where systems exhibit negative imaginary frequency response. The concept of NI systems theory was first proposed in [1, 2] as a system modelling and controller synthesis framework for the dynamics of flexible structure, and subsequently, over the past decade, a lot of research works have been found in the literature towards analysis and synthesis for several dynamical systems (see the work of [3,4,5,6,7,8,9,10,11,12,13,14], etc.). The development of NI systems theory is motivated by inertial systems where second Newton’s law of motion is used to describe everything. In such system, actuation is given by a torque or force input, while sensing is acquired by measuring the position or angle output. Therefore, by selecting the suitable input and output, a variety of dynamical systems may be modelled as NI system. For example, NI transfer function can be found in any flexible dynamic structure model with colocated force actuator (input) and position sensor (output) [15]. NI systems theory and positive real (PR) systems theory are closely related. However, the PR systems theory applies to the systems with relative degrees ranging from zero to one, whereas NI systems theory expanded this range to include the systems with relative degrees of zero to two.

For the analysis and control design of nonlinear systems, the classical dissipativity and passivity theories are most widely utilized. These theories characterize the dissipation of energy in the system with respect to a supply energy rate from the environment. However, many systems do not come under this classical theory framework. There are many physical systems where u is the force input (mechanical or electrical) and y is the corresponding displacement output, but the associated energy pair is \((u, {\dot{y}})\) instead of (uy), and in this case, systems are dissipative (passive) from u to \({\dot{y}}\) [16]. For example, dynamical models of flexible structures having force input and position output are passive (or dissipative) from the input to the derivative of the output (instead of the output as in the classical passivity theory). More examples of such systems are discussed in [17]. For such passive (or dissipative) systems, NI systems theory is significant tool for the analysis and design of control systems. In [14], it has been shown that the negative imaginary control of flexible structure dynamic models through position sensors is effective and robust against plant uncertainty and unmodelled dynamics. This motivates us to find a nonlinear negative imaginary mathematical model of a benchmark physical system having force input and position output. In this work, a benchmark model of quadrotor system is investigated for modelling and control of nonlinear NI system.

Quadrotor is one type of unmanned aerial vehicles and there has been a lot of work published in the literature on modelling and control of quadrotor systems (see [18,19,20,21,22,23,24]) and many approaches for obtaining the dynamical model of quadrotor based on Euler–Lagrange equations are available in the literature. The skew symmetry of dynamic equations is an essential property that is frequently used to construct a variety of control methodologies. The typical existing approach for achieving the skew-symmetric property is to obtain the Coriolis matrix using Christoffel symbols of the first kind [25], which is a time-consuming and complex process. In [18, 24], such Coriolis matrix based on Christoffel symbols is directly employed for the dynamic modelling of quadrotor. In this paper, a quite simple method based on Kronecker product is proposed to formulate the Coriolis matrix for quadrotor, which ensures the skew-symmetric property of quadrotor dynamical equations. In [18,19,20,21, 24], the attitude of quadrotor is determined using measurements of angular velocity. However, in quadrotors, velocity measurements can be inaccurate or even unavailable. Moreover, adopting observer-based methodologies to reconstruct angular velocity results in faulty velocity measurement, which affects attitude control performance [23]. This recommends that rather than employing indirect estimations, direct measures of attitude should be used. The proposed control scheme of this paper is based on multi-loop control architecture that directly uses the angular positions (attitude), i.e. Euler angles \(\phi \) (roll), \(\theta \) (pitch) and \(\psi \) (yaw), of the quadrotor instead of angular velocity measurements.

In [26,27,28], nonlinear NI systems theory was recently introduced via the combination of Lyapunov and dissipativity theory techniques. The nonlinear NI property is similar to the dissipativity property with a supply rate \(u{\dot{y}}=W(u,{\dot{y}})\) for a nonlinear system with input u and output y, where y is the only function of state x. The concept of output strictly passive (OSP) systems developed a subclass of NI systems called output strictly negative imaginary (OSNI) systems (see [29, 30]). The OSNI property of a system having minimum realization (ABCD) with input u and output y is identical to the dissipativity property with a supply rate \(\dot{\tilde{y}}^{T}u-\delta \left| \dot{\tilde{y}}\right| ^2=W(u,\dot{\tilde{y}})\) where \(y-Du=\tilde{y}\) [26, 29]. Many existing results of NI linear systems theory were extended for nonlinear systems in [26,27,28]. In [26], an asymptotic stability theorem for closed-loop positive interconnection between a NI nonlinear system and a output strictly NI (OSNI) nonlinear system was also established under some assumptions. Along the same line of the research as discussed in [26,27,28], this work extends nonlinear NI control theory further and applies it to a benchmark unmanned aerial vehicle model. Moreover, in this work, nonlinear NI systems are defined for MIMO (multi-input multi-output) systems rather than SISO (single-input single-output) systems. In [27, 28], a weak strict NI nonlinear system is investigated in positive feedback interconnection with NI nonlinear system, but in this work a OSNI nonlinear system is demonstrated as a controller, and then, asymptotic stability is proved between quadrotor (NI nonlinear) system and controller (OSNI nonlinear). In this article, the primary purpose is to apply NI nonlinear theory to provide control solution for the attitude stability problem of quadrotor while it is hovering. The numerical simulation results of this paper justify the proposed control synthesis method for the quadrotor dynamical model.

The major contribution of this article is to obtain dynamic model of quadrotor using Kronecker product-based Coriolis matrix and then to show that quadrotor dynamical model is nonlinear negative imaginary between force input and position output. The nonlinear NI theory-based multi-loop control scheme for quadrotor is proposed to obtain robust control solution for attitude stability of quadrotor while it is hovering. In particular, the contributions of this article are as follows: (a) formulation of Coriolis matrix using Kronecker product, (b) establishment of nonlinear NI dynamic model for unmanned aerial vehicle, i.e. quadrotor, and (c) nonlinear NI theory-based multi-loop control scheme for quadrotor and its asymptotic stabilization scheme. The remaining article is structured as follows: Sect. 2 illustrates some preliminaries related to vector calculus and basic notions of linear NI systems that enhance better comprehension of the article’s key points. Section 3 discusses some fundamental concepts of nonlinear negative imaginary (NI) systems which are critical to this work. In Sect. 4, a nonlinear negative imaginary model of quadrotor systems is established using Euler–Lagrange equation. In Sect. 5, nonlinear state-space model of the quadrotor is obtained for control synthesis. Section 6 demonstrates the nonlinear NI approach for stabilizing the attitude of quadrotor. The numerical simulation and analysis of the results are shown in Sect. 7. Finally, Sect. 8 concludes the article with few comments.

2 Preliminaries

This section presents some mathematical preliminaries related to Kronecker product, time derivative of matrix and the partial derivatives of two matrices product with respect to vector. These mathematical preliminaries briefs few consistent definitions and theorems, which make article self-explanatory. Furthermore, some basic notions of linear negative imaginary systems are also introduced, which helps to streamline the concepts of this article.

2.1 Mathematical preliminaries

Definition 1

[31] If \(A\in {\mathbb {R}}^{p\times q}\) and \(B\in {\mathbb {R}}^{r\times s}\) are two given matrices, then \(A\otimes B \in {\mathbb {R}}^{pr\times qs}\) is called Kronecker product of A with B, and it is given by

$$\begin{aligned} A\otimes B=\begin{bmatrix} a_{11}B &{} \cdots &{} a_{1q}B\\ \vdots &{} \ddots &{} \vdots \\ a_{p1}B &{} \cdots &{} a_{pq}B \end{bmatrix} \end{aligned}$$
(1)

Definition 2

[31] If matrix \( A({\varvec{y}}) \in {\mathbb {R}}^{p\times q}\) and vector \({\varvec{y}}\in {\mathbb {R}}^r\), the partial derivative of \( A({\varvec{y}})\) with respect to \({\varvec{y}}\) is given by

$$\begin{aligned} \begin{aligned} \frac{\partial A}{\partial {\varvec{y}}}&=\begin{bmatrix} \frac{\partial a_{11}}{\partial \varvec{y_1}} &{} \cdots &{} \frac{\partial a_{11}}{\partial \varvec{y_r}} &{} \frac{\partial a_{12}}{\partial \varvec{y_1}} &{} \cdots &{} \frac{\partial a_{12}}{\partial \varvec{y_r}} &{} \cdots \frac{\partial a_{1q}}{\partial \varvec{y_r}} &{} \cdots &{} \frac{\partial a_{1q}}{\partial \varvec{y_r}}\\ \frac{\partial a_{21}}{\partial \varvec{y_1}} &{} \cdots &{} \frac{\partial a_{21}}{\partial \varvec{y_r}} &{} \frac{\partial a_{22}}{\partial \varvec{y_1}} &{} \cdots &{} \frac{\partial a_{22}}{\partial \varvec{y_r}} &{} \cdots \frac{\partial a_{2q}}{\partial \varvec{y_r}} &{} \cdots &{} \frac{\partial a_{2q}}{\partial \varvec{y_r}}\\ \vdots &{} \cdots &{} \vdots &{} \vdots &{} \cdots &{} \vdots &{} \ddots &{} \ddots &{}\vdots \\ \frac{\partial a_{p1}}{\partial \varvec{y_1}} &{} \cdots &{} \frac{\partial a_{p1}}{\partial \varvec{y_r}} &{} \frac{\partial a_{p2}}{\partial \varvec{y_1}} &{} \cdots &{} \frac{\partial a_{p2}}{\partial \varvec{y_r}} &{} \cdots \frac{\partial a_{pq}}{\partial \varvec{y_r}} &{} \cdots &{} \frac{\partial a_{pq}}{\partial \varvec{y_r}} \end{bmatrix} \end{aligned} \end{aligned}$$
(2)

The following theorems and lemma are used in Sect. 4 to establish the nonlinear dynamical model of quadrotor.

Theorem 1

[31] If \(A({\varvec{y}})\in {\mathbb {R}}^{p\times q}\) and \(B({\varvec{y}})\in {\mathbb {R}}^{q\times s}\) are two matrices and \({\varvec{y}}\in {\mathbb {R}}^r\) be any vector, then the partial derivative of product of \(A({\varvec{y}})\) and \(B({\varvec{y}})\) with respect to \({\varvec{y}}\) is defined as

$$\begin{aligned} \frac{\partial }{\partial {\varvec{y}}}(AB)=\frac{\partial A}{\partial {\varvec{y}}}(B\otimes I_r)+A\frac{\partial B}{\partial {\varvec{y}}}, \end{aligned}$$
(3)

where \(I_{r}\in {\mathbb {R}}^{r\times r}\) denotes the identity matrix.

Theorem 2

If matrix \(A({\varvec{y}})\in {\mathbb {R}}^{p\times q}\) and vector \({\varvec{y}}\in {\mathbb {R}}^{r}\), the time derivative of \(A({\varvec{y}})\) with respect to \({\varvec{y}}\) is obtained as

$$\begin{aligned} {\dot{A}}=\frac{\partial A}{\partial {\varvec{y}}}(I_{r}\otimes \varvec{{\dot{y}}}) \end{aligned}$$
(4)

The proof of the Theorems 1 and 2 can be found in [31].

To verify the existence of skew-symmetric property for Coriolis matrix in quadrotor dynamic equation, the following lemma will be used (see Sect. 4).

Lemma 3

Suppose \(I_{m}\in {\mathbb {R}}^{m\times m}\) is the identity matrix and \({\varvec{y}}\in {\mathbb {R}}^{n}\) is a vector. The two products \(\left( I_{m}\otimes {\varvec{y}}\right) {\varvec{y}}\) and \(\left( {\varvec{y}}\otimes I_{m}\right) {\varvec{y}}\) exist if \(n=m,\) and the following rule has been fulfilled.

$$\begin{aligned} \left( I_{m}\otimes {\varvec{y}}\right) {\varvec{y}}=\left( {\varvec{y}}\otimes I_{m}\right) {\varvec{y}} \end{aligned}$$
(5)

2.2 Linear NI systems

The contents presented here can also be found in [1, 3, 6, 27, 29, 30, 32,33,34,35,36,37]. The definitions of NI system, strictly NI (SNI) system and output strictly NI (OSNI) system are reviewed. In addition, a key theorem from the linear NI framework is stated, which is important in this work.

Definition 3

[34] A proper real rational transfer matrix \(G:{\mathbb {C}}\rightarrow {\mathbb {C}}^{m\times m}\) is called NI system if

  1. 1.

    G(s) has no poles in \({\mathcal {R}}\left[ s\right] >0;\)

  2. 2.

    \(j\left[ G(j\omega )-G(j\omega )^{*}\right] \ge 0 \) in \(0<\omega <\infty \) except the values of \(\omega \) where \(j\omega \) is a pole of G(s);

  3. 3.

    \(s=j\omega ,\ \omega >0\) is a pole of G(s); then, it is simple pole and respective residue matrix given by \(\lim \limits _{s\rightarrow j\omega }\left( s-j\omega \right) jG(s)=\displaystyle K\) is positive semi-definite and Hermitian.

  4. 4.

    \(s=0\) is the pole of G(s); then, \(\displaystyle \lim _{s\rightarrow 0}s^{k}G(s)=0\) for all integer \(k\ge 3\) and \(\displaystyle \lim _{s\rightarrow 0}s^{2}G(s)\) is positive definite and Hermitian.

Definition 4

A proper real rational function matrix \(G:{\mathbb {C}}\rightarrow {\mathbb {C}}^{m\times m}\) is called SNI system if

  1. 1.

    G(s) has no poles in \({\mathcal {R}} \left[ s \right] \ge 0;\)

  2. 2.

    \(j\left[ G(j\omega )-G(j\omega )^{*}\right] > 0\) in \(0<\omega <\infty .\)

Definition 5

[26, 27, 30] A transfer function matrix \(G(s)\in \mathcal{RH}\mathcal{}^{m\times m}_\infty \) is called output SNI (OSNI) system, if there is a scalar value \(\delta > 0\) such that

$$\begin{aligned}&j\omega \left[ G(j\omega )-G(j\omega )^{*}\right] -2\delta \omega ^{2}\tilde{G}(j\omega )^{*}\tilde{G}(j\omega )\ge 0,\ \text {for all}\ \\&\quad \omega \in {\mathbb {R}}\cup \left\{ \infty \right\} , \end{aligned}$$

where \(\tilde{G}(j\omega ) = G(j\omega )-G(\infty ).\)

The scalar \(\delta > 0\) is the index that determines the output strictness level of OSNI system.

Definition 6

[29] A dynamical system G defined by (7) is said to be dissipative with respect to an energy supply rate W(uy) if there exists a differentiable storage function \(V: {\mathbb {R}}^{n}\rightarrow {\mathbb {R}}_{\ge 0}\) such that

$$\begin{aligned} {\dot{V}}(x)&\le W(u,y) \end{aligned}$$
(6)

Theorem 4

[26, 29, 30] Assume that G be the LTI square, causal system with the following state equations

$$\begin{aligned} \begin{aligned} {\dot{x}}&=Ax+Bu;\ \ \ x(0)=0\\ y&=Cx+Du, \end{aligned} \end{aligned}$$
(7)

where \(\left[ \begin{array}{c|c} A &{} B\\ C &{} D \end{array}\right] \) is the minimal realization of the system with \(D^{T}=D\) and matrix A is Hurwitz. Consider \(y-Du=\tilde{y}\) and if G(s) be the associated the transfer function matrix, the followings are equivalent for a given scalar \(\delta >0\):

  1. 1.

    G(s) is output strictly NI (OSNI) with the output strictness level \(\delta \);

  2. 2.

    There is a real matrix \(X=X^{T}> 0\) so that \(AX+XA^{T}+\delta \left( CAX \right) ^{T}\left( CAX \right) \le 0\ \text {and}\ B=-AXC^{T}\);

  3. 3.

    In terms of supply rate \(\dot{\tilde{y}}^{T}u-\delta \left| \dot{\tilde{y}}\right| ^2=W(u,\dot{\tilde{y}})\), G is dissipative.

3 Fundamentals of nonlinear NI systems

This section illustrates some fundamental concepts of nonlinear NI systems along with significant findings, which are critical to this work.

Definition 7

[26, 27] The dynamical systems given by

$$\begin{aligned} \begin{aligned} {\dot{x}}(t)&=f(x(t), u(t))\\ y(t)&=h(x(t)) \end{aligned} \end{aligned}$$
(8)

are called nonlinear NI if there exists a positive definite storage function \(V:{\mathbb {R}}^{p}\rightarrow {\mathbb {R}}\) of class \(C^{1}\) function such that the dissipative inequality given by

$$\begin{aligned} {\dot{V}}(x,t)&\le {\dot{y}}^{T}(t)u(t) \end{aligned}$$
(9)

is valid for all \(t\ge 0,\) where \(f: {\mathbb {R}}^{p}\times {\mathbb {R}}^{m} \rightarrow {\mathbb {R}}^{p}\) and \(h: {\mathbb {R}}^{p} \rightarrow {\mathbb {R}}^{m}\) are continuous Lipschitz and class \(C^{1}\) function, respectively.

Definition 8

[26] The system (8) is called nonlinear OSNI if there exists a positive definite storage function \(V:{\mathbb {R}}^{p}\rightarrow {\mathbb {R}}\) of class \(C^{1}\) function and a scalar \(\delta >0\) such that

$$\begin{aligned} {\dot{V}}(x,t)&\le {\dot{y}}^{T}(t)u(t)-\delta \left| {\dot{y}}(t)\right| ^{2} \end{aligned}$$
(10)

for all \(t\ge 0.\)

The scalar value \(\delta \) is known as output strictness level of the system (8).

3.1 Asymptotic feedback stability for nonlinear NI systems

Consider the positive feedback loop between a nonlinear NI system \(H_1\) and a nonlinear output SNI (OSNI) system \(H_2\) as illustrated in Fig. 1. This positive interconnection determines the asymptotic stability of feedback system under certain assumptions [26, 28].

Fig. 1
figure 1

Positive closed-loop interconnection between NI nonlinear and OSNI nonlinear system

The following equations are assumed to describe the systems \(H_{i} (i=1, 2)\):

$$\begin{aligned} {\dot{x}}_{i}(t)&=f_{i}(x_{i}(t), u_{i}(t)), \end{aligned}$$
(11)
$$\begin{aligned} y_{i}&=h_{i}(x_{i}(t)) \end{aligned}$$
(12)

Consider the following assumptions that satisfy Eqs. (11) and (12) for every \(x_{i}(t), y_{i}(t)\) and \(u_{i}(t).\)

Assumption 1

[26] For any interval of time \(\left[ t_1, \ t_2\right] \) in which \(t_2>t_1\), \(y_{i}(t)\) remains constant if and only if \(x_{i}(t)\) remains constant, i.e. \(\dot{y_i}(t)\equiv 0 \iff \dot{x_i}(t)\equiv 0.\) Moreover, \(y_{i}(t)\equiv 0 \iff x_{i}(t)\equiv 0.\)

Assumption 2

[26] For any interval of time \(\left[ t_1, \ t_2\right] \) in which \(t_2>t_1\), \(x_{i}(t)\) remains constant only if \(u_{i}(t)\) remains constant, i.e. \(x_{i}(t)\equiv {\bar{x}}_{i} \Rightarrow u_{i}(t)\equiv {\bar{u}}_i.\) Moreover, \(x_{i}(t)\equiv 0 \Rightarrow u_{i}(t)\equiv 0.\)

Fig. 2
figure 2

Open-loop interconnection of \(H_1\) and \(H_2\)

Assumption 3

[26] Consider the open-loop interconnection as displayed in Fig. 2. Let \(y_{1}(t)\) be the output of \(H_1\) for any constant input \({\bar{u}}_1\). If \(u_{2}(t)\equiv y_{1}(t)\) is the input of \(H_{2}\) and \(y_{2}(t)\equiv {\bar{y}}_2\) is the corresponding constant output of \(H_2,\) there exists a scalar \(0<\gamma <1\) such that for constant input \({\bar{u}}_1\) and its corresponding constant output \({\bar{y}}_2\), we have

$$\begin{aligned} {\bar{u}}^{T}_{1}{\bar{y}}_{2}\le \gamma \left| {\bar{u}}_1\right| ^{2} \end{aligned}$$
(13)

The next theorem provides the concept of feedback stability for positive interconnection as shown in Fig. 1. In other words, this theorem illustrates concept of asymptotic stability, i.e. states of the system converge to the origin.

Theorem 5

[26] Consider the positive feedback interconnection of the nonlinear NI system \(H_{1}\) and nonlinear OSNI system \(H_{2}\) as displayed in Fig. 1 such that Assumptions 13 are confirmed. If a storage function \(W\left( x_{1}, x_{2}\right) \) given by

$$\begin{aligned} W\left( x_{1}, x_{2}\right) =V_{1}(x_1) -h^{T}_{1}(x_1)h_{2}(x_2)+V_{2}(x_2) \end{aligned}$$
(14)

is positive definite, where the functions \(V_{1}(x_1)\) and \(V_{2}(x_2)\) are both positive definite that satisfy (9) for \(H_1\) and (10) for \(H_{2}\), respectively, and functions \(h_{1}(x_1)\) and \(h_{2}(x_2)\) are the output of \(H_1\) and \(H_2\), respectively, then the positive feedback system depicted in Fig. 1 is asymptotically stable.

The concept of feedback stability for positive interconnection as shown in Fig. 1 will be further used in outer control loop of multi-loop control architecture (Fig. 4) for quadrotor system (see Sect. 6).

4 Dynamic model of nonlinear NI systems

Consider a quadrotor structure as shown in Fig. 3, where the angular velocities, torque and forces are generated by four rotors. Let \(\left\{ R \right\} \left( O, x, y, z \right) \) represent the inertial reference frame fixed to the earth and \(\left\{ R_{B} \right\} \left( O_B, x_B, y_B, z_B \right) \) denote body reference frame, where \(O_B\) is fixed to the quadrotor’s centre of mass.

Fig. 3
figure 3

Inertial and body frames of a quadrotor

The linear position and the angular position (i.e. attitude) with three Euler angles of the quadrotor are represented by \(\varvec{\xi }\) and \(\varvec{\eta }\), respectively, and \({\varvec{q}}\) is the vector that contains both \({\varvec{\xi }}\) and \({\varvec{\eta }}.\) The rotations of quadrotor around x, y and z axes are determined by the Roll angle \(\phi \), pitch angle \(\theta \) and yaw angle \(\psi \), respectively.

$$\begin{aligned} \varvec{\xi }=\begin{bmatrix} x\\ y\\ z \end{bmatrix}.\ \ \ \ \varvec{\eta }=\begin{bmatrix} \phi \\ \theta \\ \psi \end{bmatrix},\ \ \ \varvec{\Omega }=\begin{bmatrix} p\\ q\\ r \end{bmatrix}, \ \ \ {\varvec{q}}=\begin{bmatrix} \varvec{\xi }\\ \varvec{\eta } \end{bmatrix} \end{aligned}$$
(15)

The Euler angles are also assumed to be constrained as follows [18]:

$$\begin{aligned} -\frac{\pi }{2}\le \phi \le \frac{\pi }{2}, \ \ -\frac{\pi }{2}\le \theta \le \frac{\pi }{2}, \ \ -\pi \le \psi < \pi \end{aligned}$$
(16)

It is possible to transform the vector in body frame to the vector in inertial frame. If the force \({\varvec{F}}_{B}\) is represented in body reference frame coordinates, the force \({\varvec{F}}\) can be described as follows in inertial reference frame coordinates

$$\begin{aligned} {\varvec{F}}={\varvec{R}}_{B\rightarrow E} {\varvec{F}}_{B} \end{aligned}$$
(17)

where \({\varvec{R}}_{B\rightarrow E}\) is called transformation (rotation) matrix from body reference frame to the inertial reference frame and it is given by

$$\begin{aligned} {\varvec{R}}=\begin{bmatrix} C_\theta \ C_\psi , &{} C_\psi \ S_\theta \ S_\phi -C_\phi \ S_\psi , &{} C_\phi \ C_\psi \ S_\theta +S_\phi \ S_\psi \\ C_\theta \ S_\psi , &{} S_\theta \ S_\phi \ S_\psi +C_\phi \ C_\psi , &{} C_\phi \ S_\theta \ S_\psi -C_\psi \ S_\phi \\ -S_\theta , &{} C_\theta \ S_\phi , &{} C_\theta \ C_\phi \end{bmatrix}, \end{aligned}$$
(18)

where C and S denote \(\cos \) and \(\sin \) terms, respectively.

Since the transformation matrix \({\varvec{R}}\) is orthogonal, the transformation matrix from inertial reference frame to the body reference frame is given by \({\varvec{R}}^{-1}={\varvec{R}}^T.\) If \(\varvec{{\mathbb {W}}_\eta }\) is the transformation matrix for angular velocity from inertial reference frame to the body reference frame, then the relationship between the angular velocity vector \([p\ \ q\ \ r]^{T}=\varvec{\Omega }\) in inertial reference frame and angular velocity vector \([{\dot{\phi }}\ \ {\dot{\theta }}\ \ {\dot{\psi }}]^{T}=\varvec{{\dot{\eta }}}\) in the body reference frame can be expressed as:

$$\begin{aligned} \varvec{\Omega }=\varvec{{\mathbb {W}}_\eta } \varvec{{\dot{\eta }}} \ \&\Rightarrow \begin{bmatrix} p\\ q\\ r \end{bmatrix}=\begin{bmatrix} 1 &{} 0 &{} -S_{\theta }\\ 0 &{} C_{\phi }&{} C_{\theta }S_{\phi }\\ 0 &{} -S_{\phi }&{} C_{\theta }C_{\phi } \end{bmatrix}\begin{bmatrix} {\dot{\phi }}\\ {\dot{\theta }}\\ {\dot{\psi }} \end{bmatrix} \end{aligned}$$
(19)

The structure of quadrotor having four arms aligned with x and y axes of the body is assumed to be symmetric, and therefore, corresponding diagonal inertia matrix \({\varvec{I}}\) with \(I_{xx}=I_{yy}\) is given by

$$\begin{aligned} {\varvec{I}}=\begin{bmatrix} I_{xx} &{} 0 &{} 0\\ 0 &{} I_{yy} &{} 0\\ 0 &{} 0 &{} I_{zz} \end{bmatrix} \end{aligned}$$
(20)

Here \(I_{xx}, I_{yy}\) and \(I_{zz}\) denote roll, pitch and yaw moment of inertia. The angular velocity, denoted by \(\omega _i\) of rotor i, generates \(f_i\) force in rotor axis direction. The angular velocity \(\omega _i\) and acceleration \(\dot{\omega _i}\) of the rotor produce torque \(\tau _{Mi}\) around the rotor axis.

$$\begin{aligned} f_{i}&=k\omega ^{2}_{i},\ \ \ \tau _{Mi}=b\omega ^{2}_{i}+I_{M}{\dot{\omega }}^{2} \end{aligned}$$
(21)

Lift and drag constants are denoted by k and b, respectively, whereas \(I_M\) denotes the inertia moment of rotor. In most cases, the impact of \({\dot{\omega }}\) is assumed to be minor, and hence, it is neglected. The total forces of the rotors produce T thrust in z-axis direction of the body. The torques \(\tau _\phi , \tau _\theta \) and \(\tau _\psi \) in the direction of respective body frame angles constitute the \(\varvec{\tau _B}\) torque.

$$\begin{aligned} T&=\sum _{i=1}^{4}f_{i}=k\sum _{i=1}^{4}\omega ^{2}_{i},\ \ \ {\varvec{T}}^{B}=\begin{bmatrix} 0\\ 0\\ T \end{bmatrix} \end{aligned}$$
(22)
$$\begin{aligned} \varvec{\tau }_B&=\begin{bmatrix} \tau _\phi \\ \tau _\theta \\ \tau _\psi \end{bmatrix}=\begin{bmatrix} lk(-\omega ^{2}_{2}+\omega ^{2}_{4})\\ lk(-\omega ^{2}_{1}+\omega ^{2}_{3})\\ \sum \limits _{i=1}^{4}\tau _{Mi}=b(\omega ^{2}_{1}+\omega ^{2}_{3}-\omega ^{2}_{2}-\omega ^{2}_{4}) \end{bmatrix} \end{aligned}$$
(23)

The length between the quadrotor’s centre of mass and rotor is given by l. The roll moment is acquired by reducing the second rotor’s velocity while raising the fourth rotor’s velocity. The pitch moment is achieved by reducing the first rotor’s velocity and raising the third rotor’s velocity. By increasing the two opposite rotor’s angular velocities, and reducing the velocities of other two, yaw moment is achieved .

4.1 Euler–Lagrange equation-based nonlinear NI system

The Euler–Lagrange approach is followed to develop a dynamic model of nonlinear negative imaginary system that explains the quadrotor’s translational and rotational motion. A Lagrangian can be determined by modelling the system’s energy, and therefore, the kinetic and potential energy differences are considered while deriving the Lagrangian. The system’s kinetic energy is modelled for both rotational and translational motion, whereas the system’s potential energy is solely dependent on altitude of quadrotor. If \(E_{trans}\) and \(E_{rot}\) denote the kinetic energy for translational and rotational motion and the potential energy is denoted by \(E_{pot}\), then Lagrangian \({\mathcal {L}}\) for the quadrotor can be obtained as

$$\begin{aligned} \begin{aligned}&{\mathcal {L}}({\varvec{q}},\varvec{{\dot{q}}})=E_{trans}+E_{rot}-E_{pot}\\&\quad =\frac{1}{2}m\varvec{{\dot{\xi }}}^{T}\varvec{{\dot{\xi }}}+\frac{1}{2}\varvec{\Omega }^{T} {\varvec{I}} \varvec{\Omega }-mgz \end{aligned} \end{aligned}$$
(24)

If \({\varvec{J}}(\varvec{\eta })\) denotes the positive definite Jacobian matrix from \(\varvec{\Omega }\) to \(\varvec{{\dot{\eta }}}\),

$$\begin{aligned} {\varvec{J}}&={\varvec{J}}(\varvec{\eta })=\varvec{{\mathbb {W}}}^{T}{\varvec{I}}\varvec{{\mathbb {W}}} \end{aligned}$$
(25)

Hence, the rotational energy is represented in the earth frame (inertial frame) as

$$\begin{aligned} E_{rot}=\frac{1}{2}\varvec{\Omega }^{T}{\varvec{I}}\varvec{\Omega }=\frac{1}{2}\varvec{{\dot{\eta }}}^{T}{\varvec{J}}\varvec{{\dot{\eta }}} \end{aligned}$$
(26)

Thus, Lagrangian \({\mathcal {L}}\) is given by

$$\begin{aligned} {\mathcal {L}}({\varvec{q}},\varvec{{\dot{q}}})&=\frac{1}{2}m\varvec{{\dot{\xi }}}^{T}\varvec{{\dot{\xi }}}+\frac{1}{2}\varvec{{\dot{\eta }}}^{T}{\varvec{J}}\varvec{{\dot{\eta }}}-mgz=\frac{1}{2}\dot{{\varvec{q}}}^{T}{\varvec{N}}\dot{{\varvec{q}}}-P({\varvec{q}}) \end{aligned}$$
(27)

where

$$\begin{aligned} {\varvec{N}}=\begin{bmatrix} mI_{3\times 3} &{} 0_{3\times 3}\\ 0_{3\times 3} &{} {\varvec{J}} \end{bmatrix}\ \ \ P({\varvec{q}})=\begin{bmatrix} 0&0&mgz&0&0&0 \end{bmatrix}^{T} \end{aligned}$$
(28)

Here \({\varvec{N}}\) is positive definite matrix. The Euler–Lagrange equation with torques and external forces of the quadrotor are given by

$$\begin{aligned} {\varvec{F}}=\begin{bmatrix} {\varvec{f}}\\ \varvec{\tau } \end{bmatrix} =\frac{\mathrm{d}}{\mathrm{d}t}\left( \frac{\partial {\mathcal {L}}}{\partial \dot{{\varvec{q}}}}\right) ^{T}-\left( \frac{\partial {\mathcal {L}}}{\partial {\varvec{q}}}\right) ^{T} \end{aligned}$$
(29)

If we assume \({\varvec{h}}=\varvec{N{\dot{q}}}\), then Eq. (27) is written as

$$\begin{aligned} {\mathcal {L}}({\varvec{q}},\varvec{{\dot{q}}})=\frac{1}{2}\dot{{\varvec{q}}}^{T}{\varvec{h}}-P({\varvec{q}}) \end{aligned}$$
(30)

Using Theorem 1 including Definition 1 and Definition 2, we can obtain \(\frac{\partial {\mathcal {L}}}{\partial \dot{{\varvec{q}}}}\) from Eq. (30) as

$$\begin{aligned} \frac{\partial {\mathcal {L}}}{\partial \varvec{{\dot{q}}}}=\frac{1}{2}(\varvec{{\dot{q}}}^{T}{\varvec{h}})=\frac{1}{2}\left( \frac{\partial \varvec{{\dot{q}}}^{T}}{\partial \varvec{{\dot{q}}}}({\varvec{h}}\otimes I_{n})+\varvec{{\dot{q}}}^{T}\frac{\partial {\varvec{h}}}{\partial \varvec{{\dot{q}}}}\right) \end{aligned}$$
(31)

where \(I_{n}\in {\mathbb {R}}^{n\times n}\) denotes the identity matrix.

If

$$\begin{aligned} \begin{aligned} \frac{\partial \varvec{{\dot{q}}}^{T}}{\partial \varvec{{\dot{q}}}}({\varvec{h}}\otimes I_{n})&=\begin{bmatrix} e^{T}_1&\cdots&e^{T}_n\end{bmatrix} \begin{bmatrix} h_{1}I_{n}\\ \vdots \\ h_{n}I_{n} \end{bmatrix}\\&=\begin{bmatrix} h_{1}e^{T}_{1}I_{n}&\cdots&h_{n}e^{T}_{n}I_{n} \end{bmatrix}\\&=\begin{bmatrix} h_{1}&\cdots&h_{n}\end{bmatrix}={\varvec{h}}^{T}=\varvec{{\dot{q}}}^{T}{\varvec{N}}, \end{aligned} \end{aligned}$$
(32)

where \(e_{i}\) is the ith column vector of \(I_{n}\), and

$$\begin{aligned} \begin{aligned} \varvec{{\dot{q}}}^{T}\frac{\partial {\varvec{h}}}{\partial \varvec{{\dot{q}}}}&=\varvec{{\dot{q}}}^{T}\frac{\partial }{\partial \varvec{{\dot{q}}}}\left( {\varvec{N}}\varvec{{\dot{q}}}\right) =\varvec{{\dot{q}}}^{T} \left( \frac{\partial {\varvec{N}}}{\partial \varvec{{\dot{q}}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) +{\varvec{N}}\frac{\partial \varvec{{\dot{q}}}}{\partial \varvec{{\dot{q}}}}\right) \\&=\varvec{{\dot{q}}}^{T}{\varvec{N}} \end{aligned} \end{aligned}$$
(33)

then, using Eqs. (32) and (33) in Eq. (31, we obtain

$$\begin{aligned} \frac{\partial {\mathcal {L}}}{\partial \varvec{{\dot{q}}}}=\frac{1}{2}\left( \varvec{{\dot{q}}}^{T}{\varvec{N}}+\varvec{{\dot{q}}}^{T}{\varvec{N}}\right) =\varvec{{\dot{q}}}^{T}{\varvec{N}} \end{aligned}$$
(34)

Transposing and taking the time derivative of Eq. (34), we obtain

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t}\left( \frac{\partial {\mathcal {L}}}{\partial \varvec{{\dot{q}}}}\right) ^{T}=\varvec{N\ddot{q}}+\varvec{{\dot{N}}{\dot{q}}} \end{aligned}$$
(35)

Applying Theorem 2 in Eq. (35) and substituting the expression for time derivative of \({\varvec{N}}\), we have

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}t}\left( \frac{\partial {\mathcal {L}}}{\partial \varvec{{\dot{q}}}}\right) ^{T}=\varvec{N\ddot{q}}+\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) \varvec{{\dot{q}}} \end{aligned}$$
(36)

Similarly, we can find \(\frac{\partial {\mathcal {L}}}{\partial {\varvec{q}}}\) from Eq. (30) as

$$\begin{aligned} \frac{\partial {\mathcal {L}}}{\partial {\varvec{q}}}=\frac{1}{2}\frac{\partial }{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}^{T}h}\right) -\frac{\partial P}{\partial {\varvec{q}}} \end{aligned}$$
(37)

If

$$\begin{aligned} \begin{aligned}&\frac{\partial }{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}^{T}h}\right) =\left( \frac{\partial \dot{{\varvec{q}}}^{T}}{\partial {\varvec{q}}}\left( {\varvec{h}}\otimes I_{n}\right) +\varvec{{\dot{q}}}^{T}\frac{\partial {\varvec{h}}}{\partial {\varvec{q}}}\right) \\&\quad =\left( 0+ \varvec{{\dot{q}}}^{T}\frac{\partial (\varvec{N{\dot{q}}})}{\partial {\varvec{q}}}\right) \\&\quad =\varvec{{\dot{q}}}^{T}\left( \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) +{\varvec{N}}\frac{\partial \varvec{{\dot{q}}}}{\partial {\varvec{q}}}\right) \\&\quad = \varvec{{\dot{q}}}^{T} \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) , \end{aligned} \end{aligned}$$
(38)

On substituting Eq. (38) into Eq. (37) and transposing both sides of Eq. (37), we can obtain

$$\begin{aligned} \left( \frac{\partial {\mathcal {L}}}{\partial {\varvec{q}}}\right) ^{T} =\frac{1}{2}\left( \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) \right) ^{T} \varvec{{\dot{q}}} -\left( \frac{\partial P}{\partial {\varvec{q}}} \right) ^{T} \end{aligned}$$
(39)

Finally, on substituting Eqs. (36) and (39) into the Euler–Lagrange Eq. (29), we can obtain dynamic model of quadrotor

$$\begin{aligned} \begin{aligned} {\varvec{F}}&=\varvec{N\ddot{q}}+\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) \varvec{{\dot{q}}}-\frac{1}{2}\left( \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) \right) ^{T} \varvec{{\dot{q}}}+\left( \frac{\partial P}{\partial {\varvec{q}}} \right) ^{T} \\&=\varvec{N\ddot{q}}+{\varvec{C}}\left( {\varvec{q}}, \varvec{{\dot{q}}}\right) {\varvec{{\dot{q}}}}+\varvec{G(q)} \end{aligned} \end{aligned}$$
(40)

where gravity and Coriolis/centrifugal terms are as follows:

$$\begin{aligned} \varvec{G(q)}&=\left( \frac{\partial P}{\partial {\varvec{q}}} \right) ^{T} \end{aligned}$$
(41)
$$\begin{aligned} {\varvec{C}}\left( {\varvec{q}}, \varvec{{\dot{q}}}\right) {\varvec{{\dot{q}}}}&=\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) \varvec{{\dot{q}}}-\frac{1}{2}\left( \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) \right) ^{T} \varvec{{\dot{q}}} \end{aligned}$$
(42)

To extract the Coriolis matrix \({\varvec{C}}\) from Eq. (42), we need to show that matrix \(\varvec{{\dot{N}}}-2{\varvec{C}}\) is having skew-symmetric property. For this, we use Lemma 3 for the identity matrix \(I_{n}\in {\mathbb {R}}^{n\times n}\) and the vector \({\varvec{{\dot{q}}}}\in {\mathbb {R}}^{n},\) and obtain

$$\begin{aligned} \left( I_{n}\otimes {\varvec{{\dot{q}}}}\right) {\varvec{{\dot{q}}}}=\left( {\varvec{{\dot{q}}}}\otimes I_{n}\right) {\varvec{{\dot{q}}}} \end{aligned}$$
(43)

By dividing the first term of right-hand side of Eq. (42) into two equal parts and substituting Eq. (43) into one of them, we get

$$\begin{aligned} \begin{aligned}&{\varvec{C}}\left( {\varvec{q}}, \varvec{{\dot{q}}}\right) {\varvec{{\dot{q}}}}\\&\quad =\frac{1}{2}\left[ \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) \varvec{{\dot{q}}}+\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}} \otimes I_{n}\right) \varvec{{\dot{q}}}\right. \\&\quad \left. -\left( \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) \right) ^{T} \varvec{{\dot{q}}}\right] \end{aligned} \end{aligned}$$
(44)

The proposed Coriolis matrix formulation is constructed as

$$\begin{aligned}&{\varvec{C}}\left( {\varvec{q}}, \varvec{{\dot{q}}}\right) =\frac{1}{2}\left[ \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) \right. \nonumber \\&\quad \left. +\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}} \otimes I_{n}\right) -\left( \frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}}\otimes I_{n}\right) \right) ^{T} \right] \end{aligned}$$
(45)

The skew-symmetric property of matrix \({\varvec{{\dot{N}}}}-2{\varvec{C}}\) is strongly guaranteed by the Coriolis matrix \({\varvec{C}}\) as given in (45). This can be proved, if we assume

$$\begin{aligned}&{\varvec{\alpha }}=\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) ,\ \ \ {\varvec{\beta }}=\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( \varvec{{\dot{q}}} \otimes I_{n}\right) , \\&\Rightarrow {\varvec{C(q, {\dot{q}})}}=\frac{1}{2}\left( {\varvec{\alpha }}+{\varvec{\beta }}-{\varvec{\beta }}^{T}\right) \end{aligned}$$

According to Theorem 2, we can write \( {\varvec{{\dot{N}}}}=\frac{\partial {\varvec{N}}}{\partial {\varvec{q}}}\left( I_{n}\otimes \varvec{{\dot{q}}}\right) ={\varvec{\alpha }} \)

$$\begin{aligned} \therefore {\varvec{C(q, {\dot{q}})}}&=\frac{1}{2}\left( {\varvec{{\dot{N}}}}+{\varvec{\beta }}-{\varvec{\beta }}^{T}\right) \Rightarrow \nonumber \\&{\varvec{{\dot{N}}}}-2{\varvec{C(q, {\dot{q}})}}={\varvec{\beta }}^{T}-{\varvec{\beta }} \end{aligned}$$
(46)

Since \({\varvec{\beta }}^{T}-{\varvec{\beta }}\) is skew-symmetric with an arbitrary square matrix \({\varvec{\beta }}\), \({\varvec{{\dot{N}}}}-2{\varvec{C(q, {\dot{q}})}}\) skew-symmetric matrix.

Remark 1

The matrix \({\varvec{{\dot{N}}}}-2{\varvec{C(q, {\dot{q}})}}\) is skew-symmetric; this is equivalent to the fact that the fictitious internal forces do no work on the system.

Now it remains to show that the dynamic model of quadrotor given by Eq. (40) is nonlinear negative imaginary system. The following lemma is used for this purpose.

Lemma 6

Consider the quadrotor dynamical model described by Eq. (40) having the \({\varvec{F}}\) input and \({\varvec{q}}\) output. The dynamical model given by Eq. (40) is then nonlinear NI system under a positive definite storage function V defined by

$$\begin{aligned} V({\varvec{q}},{\varvec{{\dot{q}}}})=\frac{1}{2}{\varvec{{\dot{q}}}}^{T}{\varvec{N}}{\varvec{{\dot{q}}}}+P({\varvec{q}}) \end{aligned}$$
(47)

Proof

Since \(P({\varvec{q}})\) nonnegative scalar quantity and matrix \({\varvec{N(q)}}\) is positive definite, V is positive definite.

By taking time derivative V, we have

$$\begin{aligned} \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{q}}, {\varvec{{\dot{q}}}}\right)&={\varvec{{\dot{q}}}}^{T}{\varvec{N}}{\varvec{\ddot{q}}}+\frac{1}{2}{\varvec{{\dot{q}}}}^{T}{\varvec{{\dot{N}}}}{\varvec{{\dot{q}}}}+\frac{\mathrm{d}P}{\mathrm{d}q}{\varvec{{\dot{q}}}} \end{aligned}$$

From Eq. (40), we have

$$\begin{aligned} {\varvec{N}}{\varvec{\ddot{q}}}&={\varvec{F}}-{\varvec{C(q,{\dot{q}}){\dot{q}}}}-{\varvec{G(q)}} \end{aligned}$$
$$\begin{aligned}&\Rightarrow \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{q}}, {\varvec{{\dot{q}}}}\right) ={\varvec{{\dot{q}}}}^{T}\left[ {\varvec{F}}-{\varvec{C(q,{\dot{q}}){\dot{q}}}}-{\varvec{G(q)}} \right] \\&\quad +\frac{1}{2}{\varvec{{\dot{q}}}}^{T}{\varvec{{\dot{N}}}}{\varvec{{\dot{q}}}}+{\varvec{G(q){\dot{q}}}}\\&\quad ={\varvec{{\dot{q}}}}^{T}{\varvec{F}}+\frac{1}{2}{\varvec{{\dot{q}}}}^{T}\\&\quad \left[ {\varvec{{\dot{N}}}}{\varvec{{\dot{q}}}}-2{\varvec{C(q,{\dot{q}}){\dot{q}}}}\right] -{\varvec{{\dot{q}}}}^{T}{\varvec{G(q)}}+{\varvec{G(q){\dot{q}}}} \end{aligned}$$

Since \({\varvec{G(q)}}\) is the scalar quantity,

$$\begin{aligned} {\varvec{{\dot{q}}}}^{T}{\varvec{G(q)}}={\varvec{G(q){\dot{q}}}} \end{aligned}$$
$$\begin{aligned} \therefore \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{q}}, {\varvec{{\dot{q}}}}\right)&={\varvec{{\dot{q}}}}^{T}{\varvec{F}}+\frac{1}{2}{\varvec{{\dot{q}}}}^{T}\left[ {\varvec{{\dot{N}}}}-2{\varvec{C(q,{\dot{q}})}}\right] {\varvec{{\dot{q}}}} \end{aligned}$$

\({\varvec{{\dot{q}}}}^{T}\left( {\varvec{{\dot{N}}}}-2{\varvec{C}}\right) {\varvec{{\dot{q}}}}=0\) . It is well established in [25]. This means that the so-called fictitious forces, defined by \({\varvec{C(q,{\dot{q}}){\dot{q}}}}\), do not work on the system.

$$\begin{aligned} \Rightarrow \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{q}}, {\varvec{{\dot{q}}}}\right)&={\varvec{{\dot{q}}}}^{T}{\varvec{F}} \end{aligned}$$

According to Definition 7, this demonstrates that the quadrotor dynamical model is nonlinear NI system from force input \({\varvec{F}}=[{\varvec{f}},\ \ {\varvec{\tau }}]^{T}\) to position output \({\varvec{q}}=[{\varvec{\xi }},\ \ {\varvec{\eta }}]^{T}\). \(\square \)

5 Nonlinear state-space model of quadrotor

The angular and linear components are independent of one another, and they may be analysed individually. The external linear force is the total thrust of the rotors. As a result, we may formulate the following equation via Euler–Lagrange Eq. (29)

$$\begin{aligned}&f={{\varvec{R}}}{{\varvec{T}}}^{B}=m\ddot{\varvec{\xi }}+mg\begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix} \\&\quad \Rightarrow \begin{bmatrix} C_\theta C_\psi &{} C_\psi S_\theta S_\phi -C_\phi S_\psi &{} C_\phi C_\psi S_\theta +S_\phi S_\psi \\ C_\theta S_\psi &{} S_\theta S_\phi S_\psi +C_\phi C_\psi &{} C_\phi S_\theta S_\psi -C_\psi S_\phi \\ -S_\theta &{} C_\theta S_\phi &{} C_\theta C_\phi \end{bmatrix}\begin{bmatrix} 0\\ 0\\ T \end{bmatrix}\\&\quad =m\begin{bmatrix} \ddot{x}\\ \ddot{y} \\ \ddot{z} \end{bmatrix}+mg\begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix}\\&\Rightarrow \begin{bmatrix} C_\theta C_\psi &{} C_\psi S_\theta S_\phi -C_\phi S_\psi &{} C_\phi C_\psi S_\theta +S_\phi S_\psi \\ C_\theta S_\psi &{} S_\theta S_\phi S_\psi +C_\phi C_\psi &{} C_\phi S_\theta S_\psi -C_\psi S_\phi \\ -S_\theta &{} C_\theta S_\phi &{} C_\theta C_\phi \end{bmatrix} \\&\quad \begin{bmatrix} 0\\ 0\\ k\sum \limits _{i=1}^{4}\omega ^{2}_{i} \end{bmatrix} =m\begin{bmatrix} \ddot{x}\\ \ddot{y} \\ \ddot{z} \end{bmatrix}+mg\begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix} \end{aligned}$$
$$\begin{aligned} \begin{aligned}&\therefore \begin{bmatrix} \ddot{x}\\ \ddot{y} \\ \ddot{z} \end{bmatrix}=\begin{bmatrix} \left( C_\phi C_\psi S_\theta +S_\phi S_\psi \right) \frac{k}{m}\sum \limits _{i=1}^{4}\omega ^{2}_{i}\\ \left( C_\phi S_\theta S_\psi -C_\psi S_\phi \right) \frac{k}{m}\sum \limits _{i=1}^{4}\omega ^{2}_{i} \\ \left( C_\theta C_\phi \right) \frac{k}{m}\sum \limits _{i=1}^{4}\omega ^{2}_{i} \end{bmatrix}-\begin{bmatrix} 0\\ 0\\ g \end{bmatrix}\\&\Rightarrow \begin{bmatrix} \ddot{x}\\ \ddot{y} \\ \ddot{z} \end{bmatrix}=\begin{bmatrix} \left( C_\phi C_\psi S_\theta +S_\phi S_\psi \right) \frac{u_1}{m}\\ \left( C_\phi S_\theta S_\psi -C_\psi S_\phi \right) \frac{u_1}{m} \\ \left( C_\theta C_\phi \right) \frac{u_1}{m} \end{bmatrix}-\begin{bmatrix} 0\\ 0\\ g \end{bmatrix} \end{aligned} \nonumber \\ \end{aligned}$$
(48)

Here the translational force is applied to the quadroter because of the main control input \(u_{1}=k\sum \nolimits _{i=1}^{4}\omega ^{2}_{i}\) in z axis direction. Equation (48) represents the translational subsystem model of quadroter.

To obtain the rotational subsystem model, at first, we apply Eq. (25) to calculate the rotational inertia Jacobian matrix \({\varvec{J}}(\varvec{\eta })\) from \(\varvec{\Omega }\) to \(\varvec{{\dot{\eta }}}\) and obtain

$$\begin{aligned} {\varvec{J}}&=\begin{bmatrix} I_{xx} &{} 0 &{} -I_{xx}S_\theta \\ 0 &{} I_{yy}C^{2}_\phi +I_{zz}S^{2}_\phi &{} \left( I_{yy}-I_{zz}\right) C_\phi S_\phi C_\theta \\ -I_{xx}S_\theta &{} \left( I_{yy}-I_{zz}\right) C_\phi S_\phi C_\theta &{} I_{xx}S^{2}_\theta +I_{yy}S^{2}_\phi C^{2}_\theta +I_{zz}C^{2}_\phi C^{2}_\theta \end{bmatrix} \end{aligned}$$
(49)

The angular external force of the quadrotor is the torques of the rotors. Therefore, using Euler–Lagrange Eq. (29), we can get the following equation.

$$\begin{aligned} \varvec{\tau }&=\varvec{\tau }_{B}={\varvec{J}}\ddot{\varvec{\eta }}+\frac{\mathrm{d}}{\mathrm{d}t}\left( {\varvec{J}}\right) \varvec{{\dot{\eta }}}-\frac{1}{2}\frac{\partial }{\partial \varvec{\eta }}\left( \dot{\varvec{\eta }}^{T}{\varvec{J}}\varvec{{\dot{\eta }}}\right) \end{aligned}$$

This can be expressed as

$$\begin{aligned} {\varvec{\tau }}_{B}&={\varvec{J}}\ddot{\varvec{\eta }}+\frac{\partial {\varvec{J}}}{\partial {\varvec{\eta }}}\left( I_{3}\otimes {\varvec{{\dot{\eta }}}}\right) {\varvec{{\dot{\eta }}}}-\frac{1}{2}\left( \frac{\partial {\varvec{J}}}{\partial {\varvec{\eta }}}\left( {\varvec{{\dot{\eta }}}}\otimes I_{3} \right) \right) ^{T}{\varvec{{\dot{\eta }}}} \end{aligned}$$
(50)

According to Eq. (42), we can rewrite Eq. (50) as

$$\begin{aligned} {\varvec{\tau }}_{B}&={\varvec{J\ddot{\eta }}}+{\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})\dot{\varvec{\eta }}, \end{aligned}$$
(51)

where

$$\begin{aligned} {\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})=\frac{\partial {\varvec{J}}}{\partial {\varvec{\eta }}}\left( I_{3}\otimes {\varvec{{\dot{\eta }}}}\right) -\frac{1}{2}\left( \frac{\partial {\varvec{J}}}{\partial {\varvec{\eta }}}\left( {\varvec{{\dot{\eta }}}}\otimes I_{3} \right) \right) ^{T} \end{aligned}$$
(52)

represents the Coriolis matrix, containing the gyroscopic and centripetal terms.

On evaluating Eq. (52) using MATLAB Symbolic Math Toolbox, we can obtain the Coriolis matrix \({\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})\) in the following form:

$$\begin{aligned} {\varvec{C}}= \begin{bmatrix} 0 &{} \frac{{\dot{\theta }}\sigma _4}{2}-\frac{{\dot{\psi }}\sigma _1 }{2}-\sigma _6 &{} -\frac{{\dot{\theta }}\sigma _1 }{2}-\frac{{\dot{\psi }}\sigma _3 }{2}-\sigma _5 \\ \frac{{\dot{\psi }}\sigma _1 }{2}-\frac{{\dot{\theta }}\sigma _4 }{2}+\sigma _6 &{} -\frac{{\dot{\phi }}\sigma _4 }{2} &{} \frac{{\dot{\phi }}\sigma _1 }{2}+\frac{{\dot{\psi }}\sigma _2 }{2}+\sigma _7 \\ \frac{{\dot{\theta }}\sigma _1 }{2}+\frac{{\dot{\psi }}\sigma _3 }{2}-\sigma _5 &{} \frac{{\dot{\phi }}\sigma _1 }{2}-\left( \mathrm {I_{yy}}-\mathrm {I_{zz}}\right) {\dot{\theta }}C_\phi S_\phi S_\theta -\frac{{\dot{\psi }}\sigma _2 }{2}-\sigma _7 &{} \frac{{\dot{\phi }}\sigma _3 }{2}-\frac{{\dot{\theta }}\sigma _2 }{2} \end{bmatrix} \end{aligned}$$
(53)

where

$$\begin{aligned} \sigma _1&=\left( \mathrm {I_{yy}}-\mathrm {I_{zz}}\right) \left( C^2_\phi C_\theta -C_\theta S^2_\phi \right) \\ \sigma _2&=2C_\theta S_\theta \left( \mathrm {I_{zz}}C^2_\phi +\mathrm {I_{yy}}S^2_\phi -\mathrm {I_{xx}}\right) \\ \sigma _3&=2C_\phi C^2_\theta S_\phi \left( \mathrm {I_{yy}}-\mathrm {I_{zz}}\right) \\ \sigma _4&=2C_\phi S_\phi \left( \mathrm {I_{yy}}-\mathrm {I_{zz}}\right) \\ \sigma _5&=\frac{\mathrm {I_{xx}}{\dot{\theta }}C_\theta }{2}\\ \sigma _6&=\frac{\mathrm {I_{xx}}{\dot{\psi }} C_\theta }{2}\\ \sigma _7&=\frac{\mathrm {I_{xx}}{\dot{\phi }}C_\theta }{2}. \end{aligned}$$

Consider torque \({\varvec{\tau }}_{B}\) consists of the torques \(\tau _\phi , \tau _\theta \) and \(\tau _\psi \) is applied to the quadrotor due to control input \(u_2, u_{3}\) and \(u_4\) in direction of the respective body frame angles. Hence, according to Eq. (23), we can write

$$\begin{aligned} \begin{bmatrix} \tau _\phi \\ \tau _\theta \\ \tau _\psi \end{bmatrix}=\begin{bmatrix} lk(-\omega ^{2}_{2}+\omega ^{2}_{4})\\ lk(-\omega ^{2}_{1}+\omega ^{2}_{3})\\ b(\omega ^{2}_{1}+\omega ^{2}_{3}-\omega ^{2}_{2}-\omega ^{2}_{4})\end{bmatrix}=\begin{bmatrix} lu_2\\ lu_3\\ u_4 \end{bmatrix} \end{aligned}$$
(54)

From Eqs. (51) and 54, the rotational subsystem model of quadrotor is obtained in the following form:

$$\begin{aligned} \begin{bmatrix} \ddot{\phi }\\ \ddot{\theta } \\ \ddot{\psi } \end{bmatrix}=-\frac{1}{{\varvec{J}}}{\varvec{\left[ C(\eta , {\dot{\eta }}) \right] }}\begin{bmatrix} {\dot{\phi }}\\ {\dot{\theta }} \\ {\dot{\psi }} \end{bmatrix}+\frac{1}{{\varvec{J}}}\begin{bmatrix} lu_2\\ lu_3 \\ u_4 \end{bmatrix} \end{aligned}$$
(55)

The quadroter system described by Eqs. (48) 55 can easily be written in state-space form

$$\begin{aligned} {\varvec{{\dot{x}}=f(x,u)}} \end{aligned}$$
(56)

with input vector \({\varvec{u}}=\begin{bmatrix}u_1&u_2&u_3&u_4 \end{bmatrix}^T=\begin{bmatrix}f&\tau _\phi&\tau _\theta&\tau _\psi \end{bmatrix}^T.\) and state vector \({\varvec{x}}{=}\left[ \begin{array}{c c c c c c c c c c c c} x_1&x_2&x_3&x_4&x_5&x_6&x_7&x_8&x_9&x_{10}&x_{11}&x_{12} \end{array}\right] ^T = \left[ \begin{array}{c c c c c c c c c c c c} x&{\dot{x}}&y&{\dot{y}}&z&{\dot{z}}&\phi&{\dot{\phi }}&\theta&{\dot{\theta }}&\psi&{\dot{\psi }} \end{array}\right] ^{T}\)

6 Control synthesis method

In this paper, we are interested to find the control solution for the problem of stabilizing the attitude of quadrotor subsystem (55) around specified reference angles by applying a nonlinear NI technique. For this purpose, we consider controller synthesis for the rotational subsystem of quadrotor whose states are given by pitch, roll and yaw angles and its time derivatives. The nonlinear state-space model of rotational system

$$\begin{aligned} {\varvec{{\dot{x}}_{r}=f_{r}(x_{r},\tau _B)}} \end{aligned}$$
(57)

can be obtained from Eq. (55), where

$$\begin{aligned} {\varvec{x_r}}=\begin{bmatrix} x_7 \\ x_8 \\ x_9 \\ x_{10} \\ x_{11} \\ x_{12} \end{bmatrix}= \begin{bmatrix} \phi \\ {\dot{\phi }} \\ \theta \\ {\dot{\theta }} \\ \psi \\ {\dot{\psi }} \end{bmatrix}.\ \ {\varvec{\tau _{B}}}=\begin{bmatrix} \tau _\phi \\ \tau _\theta \\ \tau _\psi \end{bmatrix} \end{aligned}$$

Consider the multi-loop control architecture as shown in Fig. 4. In this section, we investigate the inner–outer loop control method based on nonlinear NI systems theory to stabilize the quadrotor’s attitude, i.e. Euler angles \({\varvec{\eta }}=[x_7,\ x_9, \ x_{11}]^{T}=[\phi ,\ \theta , \ \psi ]^{T}\) around desired reference angles \({\varvec{\eta }}_d=[x^{d}_7,\ x^{d}_9, \ x^{d}_{11}]^{T}=[\phi _d,\ \theta _d, \ \psi _d]^{T}.\)

Fig. 4
figure 4

Multi-loop control architecture

Fig. 5
figure 5

In steady-state case: open-loop connection between quadrotor rotational system and SNI controller

6.1 Inner control loop

The inner control loop is constructed due to the free dynamic nature of quadrotor. Consider the following feedback control law

$$\begin{aligned} {\varvec{\tau }}_B=-{\varvec{K}}\left( {\varvec{\eta }}-{\varvec{\eta }}_d\right) +{\varvec{\nu }} \end{aligned}$$
(58)

where

$$\begin{aligned} {\varvec{K}}=\begin{bmatrix} k_\phi &{} 0 &{} 0\\ 0 &{} k_\theta &{} 0\\ 0 &{} 0 &{} k_\psi \end{bmatrix} \end{aligned}$$

is the diagonal positive matrix and it’s elements \(k_\phi , k_\theta \) and \(k_\psi \) are treated as tuning control parameters and \({\varvec{\nu }}=[\nu _1,\ \nu _2,\ \nu _3]^{T}\) is new updated input torque for the rotational quadrotor system in the inner control loop. Thus, the torque \({\varvec{\tau }}_B\) is defined as follows:

$$\begin{aligned} {\varvec{t}}_B=\begin{bmatrix} \tau _\phi \\ \tau _\theta \\ \tau _\psi \end{bmatrix}=\begin{bmatrix} -k_{\phi }\left( x_7-x^{d}_7\right) +\nu _1\\ -k_{\theta }\left( x_9-x^{d}_9\right) +\nu _2\\ -k_{\psi }\left( x_{11}-x^{d}_{11}\right) +\nu _3 \end{bmatrix} \end{aligned}$$
(59)

If we consider the desired reference attitude \({\varvec{\eta }}_d{=}[x^{d}_7,\ x^{d}_9, \ x^{d}_{11}]^{T}=[0,\ 0, \ 0]^{T}\), then the nonlinear quadrotor rotational subsystem can be written in the following form:

$$\begin{aligned}&{\varvec{{\dot{x}}_r}}=\left[ \begin{array}{c c c c c c} {\dot{x}}_7&{\dot{x}}_8&{\dot{x}}_9&{\dot{x}}_{10}&{\dot{x}}_{11}&{\dot{x}}_{12} \end{array}\right] ^T\\&\quad = \left[ \begin{array}{c c c c c c} {\dot{\phi }}&\ddot{\phi }&{\dot{\theta }}&\ddot{\theta }&{\dot{\psi }}&\ddot{\psi } \end{array}\right] ^{T}={\varvec{f_{r}(x_{r},\tau _B)}}, \end{aligned}$$

where

$$\begin{aligned} \begin{bmatrix} {\dot{x}}_{7}\\ {\dot{x}}_{9}\\ {\dot{x}}_{11} \end{bmatrix}=\begin{bmatrix} x_{8}\\ x_{10}\\ x_{12} \end{bmatrix}, \end{aligned}$$
$$\begin{aligned} \begin{bmatrix} {\dot{x}}_{8}\\ {\dot{x}}_{10}\\ {\dot{x}}_{12} \end{bmatrix}=-\frac{{\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})}{{\varvec{J}}}\begin{bmatrix} x_{8}\\ x_{10}\\ x_{12} \end{bmatrix} + \frac{1}{{\varvec{J}}}\begin{bmatrix} -k_{\phi } x_7 +\nu _1\\ -k_{\theta }x_9 +\nu _2\\ -k_{\psi }x_{11}+\nu _3 \end{bmatrix} , \end{aligned}$$

and matrix \({\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})\) can be obtained from (53). Equivalently, nonlinear quadrotor rotational system can be expressed as

$$\begin{aligned} {\varvec{J\ddot{\eta }}}+{\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})\dot{\varvec{\eta }}=-{\varvec{K\eta +\nu }} \end{aligned}$$
(60)

The rotational dynamical model of quadrotor described by Eq. (60) is a nonlinear NI system, according to the following lemma:

Lemma 7

Consider the rotational dynamical model of quadrotor (60) with input \({\varvec{\nu }}\) and output \({\varvec{\eta }}\). Then, the rotational dynamical model (60) is the NI nonlinear system under the positive definite storage function defined by

$$\begin{aligned} V\left( {\varvec{\eta ,{\dot{\eta }}}}\right) =\frac{1}{2}\left( {\varvec{{\dot{\eta }}}}^{T}{\varvec{J(\eta ){\dot{\eta }}}}+{\varvec{\eta }}^{T}{\varvec{K\eta }}\right) \end{aligned}$$
(61)

Proof

Since \({\varvec{K}}>0\) and \({\varvec{J}}\) is positive definite inertia matrix, it follows that V is the valid positive definite storage function.

Differentiating Eq. (61) with respect to time, we get

$$\begin{aligned} \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{\eta , {\dot{\eta }}}} \right)&={\varvec{{\dot{\eta }}}}^{T}{\varvec{J(\eta )\ddot{\eta }}}+\frac{1}{2}{\varvec{{\dot{\eta }}}}^{T}{\varvec{{\dot{J}}(\eta ){\dot{\eta }}}}+{\varvec{\eta }}^{T}{\varvec{K{\dot{\eta }}}} \end{aligned}$$

From Eq. (60), we have

$$\begin{aligned} {\varvec{J(\eta )\ddot{\eta }}}=-{\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})\dot{\varvec{\eta }}-{\varvec{K\eta +\nu }} \end{aligned}$$
$$\begin{aligned}&\Rightarrow \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{\eta , {\dot{\eta }}}} \right) ={\varvec{{\dot{\eta }}}}^{T}\left[ -{\varvec{C}}(\varvec{\eta }, \dot{\varvec{\eta }})\dot{\varvec{\eta }}-{\varvec{K\eta +\nu }} \right] \\&\quad +\frac{1}{2}{\varvec{{\dot{\eta }}}}^{T}{\varvec{{\dot{J}}(\eta ){\dot{\eta }}}}+{\varvec{\eta }}^{T}{\varvec{K{\dot{\eta }}}}\\&\quad ={\varvec{{\dot{\eta }}}}^{T}{\varvec{\nu }}+\frac{1}{2}{\varvec{{\dot{\eta }}}}^{T}\left[ {\varvec{{\dot{J}}(\eta )}}-2{\varvec{C(\eta ,{\dot{\eta }})}}\right] {\varvec{{\dot{\eta }}}} \end{aligned}$$

Since it is well established in [25] that \({\varvec{{\dot{\eta }}}}^{T}\left( {\varvec{{\dot{J}}}}-2{\varvec{C}}\right) {\varvec{{\dot{\eta }}}} =0 \),

$$\begin{aligned} \therefore \frac{\mathrm{d}V}{\mathrm{d}t}\left( {\varvec{\eta , {\dot{\eta }}}} \right)&={\varvec{{\dot{\eta }}}}^{T}{\varvec{\nu }} \end{aligned}$$

According to Definition 7, this shows that the quadrotor rotational subsystem is nonlinear NI between force input \({\varvec{\nu }}\) and displacement output \({\varvec{\eta }}\). \(\square \)

6.2 Outer control loop

Consider the outer positive feedback control loop as shown in Fig. 4. The following integral resonant controller (IRC) [1, 38] is selected as a outer control loop controller

$$\begin{aligned} {\varvec{C_{\nu }}}(s)=\left[ s{\varvec{I}}+{\varvec{\Gamma \Phi }}\right] ^{-1}{\varvec{\Gamma }} \end{aligned}$$
(62)

where \({\varvec{\Gamma }}\) and \({\varvec{\Phi }}\) are positive definite matrix given by

$$\begin{aligned} {\varvec{\Phi }}=\begin{bmatrix} \Phi _1 &{} 0 &{} 0\\ 0 &{} \Phi _2 &{} 0\\ 0 &{} 0 &{} \Phi _3 \end{bmatrix} \ \ \ {\varvec{\Gamma }}=\begin{bmatrix} \Gamma _1 &{} 0 &{} 0\\ 0 &{} \Gamma _2 &{} 0\\ 0 &{} 0 &{} \Gamma _3 \end{bmatrix}. \end{aligned}$$

Here \({\varvec{\Gamma }}\) and \({\varvec{\Phi }}\) are considered as the tuning parameters. Integral resonant controller employ position actuator, force sensor and integral feedback to generate integral force feedback. Adding a direct feedthrough to a resonant system with a colocated force actuator and position sensor yields integral resonant controller [1, 38]. The use of integral feedback causes the resonant poles to be dampened. The form of controller (62) is produced by combining the direct feedthrough with the integral feedback. According to the following theorem, the integral resonant controller (62) is strictly negative imaginary.

Theorem 8

[1] The transfer function matrix (62) with positive definite matrices \({\varvec{\Gamma }}\) and \({\varvec{\Phi }}\) is strictly negative imaginary system.

In order to apply Theorem 5 in the positive feedback outer loop as shown in Fig. 4 to achieve asymptotic attitude stability of the quadrotor, we need to verify the followings:

  1. 1.

    SNI controller given by (62) is equivalence of nonlinear OSNI system;

  2. 2.

    Validity of the Assumptions 1 to 3 for the positive feedback outer loop as shown in Fig. 4.

The following proposition from [30] is used to verify that SNI system (62) belongs to the OSNI class.

Proposition 1

The subset of SNI systems that satisfy the condition

$$\begin{aligned} \lim \limits _{\omega \rightarrow 0}J\frac{1}{\omega }\left[ G(j\omega )-G^{*}(j\omega ) \right] \ne 0 \end{aligned}$$
(63)

belong to the OSNI class.

If we evaluate the condition (63) for the SNI controller (62), we get

$$\begin{aligned}&\lim \limits _{\omega \rightarrow 0}J\frac{1}{\omega }\left[ {\varvec{C_{\nu }}}(j\omega )-{\varvec{C_{\nu }}}^{*}(j\omega ) \right] \\&\quad =\lim \limits _{\omega \rightarrow 0}J\frac{1}{\omega }\left[ \frac{{\varvec{\Gamma }}}{{\varvec{\Gamma \Phi }}+j\omega I}-\frac{{\varvec{\Gamma }}}{{\varvec{\Gamma \Phi }}-j\omega I}\right] \\&\quad =\lim \limits _{\omega \rightarrow 0}J\frac{1}{\omega }\left[ -\frac{2{\varvec{\Gamma }} J\omega I}{({\varvec{\Gamma \Phi }})^{2}+\omega ^{2}I^2} \right] \\&\quad =\lim \limits _{\omega \rightarrow 0}\frac{2{\varvec{\Gamma }} I}{({\varvec{\Gamma \Phi }})^{2}+\omega ^{2}I^2}=\frac{2{\varvec{\Gamma }} I}{({\varvec{\Gamma \Phi }})^{2}}>0 \end{aligned}$$

Thus, outer loop controller \({\varvec{C_{\nu }}}\) given by Eq. (62) is OSNI.

Again, it follows from Theorem 4 that the minimal realization of \({\varvec{C_{\nu }}}(s)\), i.e. \(\left[ \begin{array}{c|c} a &{} b\\ \hline c &{} d \end{array}\right] \) (say) or equivalently

$$\begin{aligned} \begin{aligned} {\dot{x}}&=-{\varvec{\Gamma \Phi }} x+{\varvec{\Gamma }} u\\ y&=x \\ \end{aligned} \end{aligned}$$
(64)

is dissipative with respect to the supply rate given by \( \dot{\tilde{y}}^{T}u-\delta \left| \dot{\tilde{y}}\right| ^{2}=W(u,\dot{\tilde{y}})\). Therefore, there exists a positive definite storage function V(x) and scalar \(\delta >0\) which satisfies \({\dot{V}}(x)\le {\dot{y}}^{T}u-\delta \left| {\dot{y}}\right| ^{2}.\)

Fig. 6
figure 6

Attitude response of quadrotor

Therefore, by considering the storage function

$$\begin{aligned} V(x)&=\frac{1}{2}x^{T}\left( \frac{{\varvec{\Gamma \Phi }}}{{\varvec{\Gamma }}}\right) x=\frac{1}{2}x^{T}{\varvec{\Phi }} x\\ \therefore \frac{\mathrm{d}V}{\mathrm{d}t}&={\dot{x}}^{T}{\varvec{\Phi }}x={\dot{x}}^{T}{\varvec{\Phi }}\left( \frac{-{\dot{x}}+{\varvec{\Gamma }} u}{{\varvec{\Gamma \Phi }}} \right) \\ \Rightarrow {\dot{V}}&=- \frac{1}{{\varvec{\Gamma }}}\left| {\dot{x}}^{T}\right| ^{2}+{\dot{x}}^{T}u ={\dot{x}}^{T}u-\delta \left| {\dot{x}}^{T}\right| ^{2};\ \ \text {for}\ \delta =\frac{1}{{\varvec{\Gamma }}} \end{aligned}$$

Since \(y=x\), so we get

$$\begin{aligned} {\dot{V}}={\dot{y}}^{T}u-\delta \left| {\dot{y}}^{T}\right| ^{2} \end{aligned}$$

For \(\delta >0\), the storage function \(V=\frac{1}{2}x^{T}{\varvec{\Phi }} x\) satisfies the dissipative inequality. Hence, outer loop controller (62) is equivalent to nonlinear OSNI system.

Now it remains to show that the validity of Assumptions 1to 3 for the positive feedback outer loop as shown in Fig. 4. In steady-state case, we have \({\varvec{f_{r}({\bar{x}}_{r}, {\bar{\tau }}_B)}}=0\); this implies that \({\bar{x}}_8={\bar{x}}_{10}={\bar{x}}_{12}=0\) and

$$\begin{aligned} \begin{aligned} {\bar{x}}_7&=\frac{{\bar{\nu }}_1}{k_\phi }\\ {\bar{x}}_9&=\frac{{\bar{\nu }}_2}{k_\theta }\\ {\bar{x}}_{11}&=\frac{{\bar{\nu }}_3}{k_\psi } \end{aligned} \end{aligned}$$
(65)

So, for every constant value of input \({\varvec{\nu }}\), we can get the corresponding constant value of \({\varvec{x_r}}\). As a result, Assumption 2 is valid. Because controller (62) is a linear system and in steady-state case \({\varvec{{\bar{y}}={\bar{x}}_{r}}}\), Assumption 1 is also trivially true.

To verify the Assumption 3, consider an open-loop connection as illustrated in Fig. 5. At steady state, DC gain of the controller (62) is given by

$$\begin{aligned} {\varvec{C_{\nu }}}=\frac{1}{{\varvec{\Phi }}}, \ \ \text {for}\ {\varvec{\Phi }}>0 \end{aligned}$$

From Fig. 5, we can write

$$\begin{aligned}&{\varvec{{\bar{y}}_c}}=\frac{1}{{\varvec{\Phi }}}{\varvec{{\bar{u}}_c}}=\frac{1}{{\varvec{\Phi }}}{\varvec{{\bar{y}}}}\\&\quad {\varvec{{\bar{\nu }}}}^{T}{\varvec{{\bar{y}}_c}}=\frac{1}{{\varvec{\Phi }}}{\varvec{{\bar{\nu }}}}^{T}{\varvec{{\bar{y}}}}\\&\quad =\frac{1}{{\varvec{\Phi }}}\begin{bmatrix} \nu _1&\nu _2&\nu _3 \end{bmatrix} \begin{bmatrix} x_7\\ x_9 \\ x_{11} \end{bmatrix}\\&\quad \text {Using Eqs. }(65), \text {we can write}\\&\quad {\varvec{{\bar{\nu }}}}^{T}{\varvec{{\bar{y}}_c}}=\frac{1}{{\varvec{\Phi }}}\left[ \frac{{\bar{\nu }}^2_1}{k_\phi }+\frac{{\bar{\nu }}^2_2}{k_\theta }+\frac{{\bar{\nu }}^2_3}{k_\psi }\right] \\&\quad \Rightarrow {\varvec{{\bar{\nu }}}}^{T}{\varvec{{\bar{y}}_c}}\le \frac{1}{{\varvec{\Phi }}}\max _{i=\phi , \theta , \psi }\left( \frac{1}{k_i} \right) \left| {\varvec{{\bar{\nu }}}}\right| ^{2}=\gamma \left| {\varvec{{\bar{\nu }}}}\right| ^{2}\\&\text {where}\ \ \gamma =\frac{1}{{\varvec{\Phi }}}\max _{i=\phi , \theta , \psi }\left( \frac{1}{k_i} \right) \end{aligned}$$

Therefore, to guarantee that Assumption 3 is true such that \(0<\gamma < 1\), we select the controller tuning parameter \({\varvec{\Phi }}\) so that

$$\begin{aligned} {\varvec{\Phi }}>\max _{i=\phi , \theta , \psi }\left( \frac{1}{k_i} \right) \end{aligned}$$
(66)

According to inequality (66), we have obtained a lower bound on \({\varvec{\Phi }}\) which is required to attain asymptotic attitude stability of the quadrotor by applying Theorem 5.

Remark 2

If the parameters of controller (62) are chosen in such a way that \({\varvec{\Gamma>0,\ \Phi >}}0\) and condition (66) are satisfied, then Theorem 5 assures the robust stability of quadrotor rotational system (57) in a multi-loop control architecture as demonstrated in Fig. 4.

Fig. 7
figure 7

Disturbance rejection for roll angle during attitude control

Fig. 8
figure 8

Disturbance rejection for pitch angle during attitude control

Fig. 9
figure 9

Disturbance rejection for yaw angle during attitude control

7 Numerical simulations and results analysis

In order to show the effectiveness of investigated control synthesis method for the stability of nonlinear quadrotor rotational model, the numerical simulation results are presented. The aim of the simulation is to show the attitude stability of quadrotor while it is hovering. Therefore, the desired reference attitude \(\eta _d\) is set to zero, i.e. \(\phi _d=\theta _{d}=\psi _{d}=0^{\circ }\). The values of the quadrotor model parameters used in the simulation are given as follows [19]:

$$\begin{aligned} m&=2.3535\ \text {kg},\ l=0.5\ \text {m},\\ g&=9.8\ \text {m\,s}^{2},\ I_{xx}=0.1676\ \text {kg\,m}^{2},\\ I_{yy}&=0.1676\ \text {kg\,m}^{2},\ I_{zz}=0.2974\ \text {kg\,m}^{2} \end{aligned}$$

The parameters of the inner loop controller are selected as \(k_\phi =k_\theta =k_\psi =15\); therefore, the inner loop controller is given by

$$\begin{aligned} {\varvec{K}}=\begin{bmatrix} 15 &{} 0 &{} 0\\ 0 &{} 15 &{} 0\\ 0 &{} 0 &{} 15 \end{bmatrix} \end{aligned}$$

According to condition (66) and Remark 2, the following gains are selected for the outer loop controller (62):

$$\begin{aligned} {\varvec{\Phi }}=\begin{bmatrix} 0.1 &{} 0 &{} 0\\ 0 &{} 0.1 &{} 0\\ 0 &{} 0 &{} 0.1 \end{bmatrix} \ \ \ {\varvec{\Gamma }}=\begin{bmatrix} 50 &{} 0 &{} 0\\ 0 &{} 50 &{} 0\\ 0 &{} 0 &{} 50 \end{bmatrix}. \end{aligned}$$

The initial state of the attitude vector is selected as \(\phi =30^{\circ },\ \theta =-20^{\circ },\ \psi =10^{\circ }\), and the control objective is to maintain stability of the quadrotor at a hovering position, i.e. \(\phi _d=\theta _{d}=\psi _{d}=0^{\circ }\).

The mathematical model of the quadrotor with multi-loop control architecture is implemented for simulation in MATLAB/Simulink using S-function programming, and the roll (\(\phi \)), pitch (\(\theta \)) and yaw (\(\psi \)) angles responses are obtained. The angles responses are represented in radians rather than degrees. The simulations results in Fig. 6 demonstrates that the proposed synthesis method stabilizes the quadrotor’s attitude to the desired hovering position.

To test the robustness of attitude control, we added the step disturbance to the quadrotor’s attitude system and executed simulations. The simulation results shown in Figs. 7, 8 and 9 demonstrate that the controller rejects disturbances in minimum time. There is an overshoot in responses that is due to fast response of the system.

8 Conclusion

In this article, modelling and control of nonlinear negative imaginary system are investigated using an illustrative physical example of quadrotor model. The article first describes the complete generalized method via Euler–Lagrange equation to obtain a nonlinear NI dynamic model for the quadrotor. Moreover, using the Kronecker product, the Coriolis matrix formulation for quadrotors is also proposed. This article further illustrates the nonlinear NI theory-based multi-loop control scheme for the attitude stability of quadrotor while it is hovering. This control scheme directly employs the Euler angles (angular positions) instead of angular velocity measurements. The numerical simulation results of this paper justify the control synthesis method for the quadrotor system. Since the nonlinear NI structure of the quadrotor model is illustrated by underlying analysis of this paper, we can accomplish a variety of control goals (e.g. trajectory tracking, altitude control and so on) for the quadrotor in future.