*Proceeding Paper* **Opportunistic Load Balancing for Virtual Machines Scheduling in a Cloud Environment †**

**Younes Khair 1,\* and Haouari Benlabbes <sup>2</sup>**


**Abstract:** One of the Internet's fastest-growing technologies is cloud computing, which needs each user to share various resources and virtual computers to access the services they demand. The difficulty is in allocating the user's tasks among the many resources at hand while maintaining a balanced workload. In this work, we present the design of a new scheduling approach for cloud virtual machines in order to process events (related to resource overuse or underuse). This reduces the amount of effort consumed while maintaining the required performance levels in the cloud data center. To evaluate the effectiveness of the approach with real load paths, we conducted an experiment using the open-source cloud computing platform OpenNebula.

**Keywords:** cloud computing; virtual machine scheduling; opportunistic load balancing

#### **1. Introduction**

Cloud computing has emerged in recent years as a new area of information technology. According to the National Institute of Standards and Technology, cloud computing is a model that allows users to access on demand and from anywhere on the Internet, to a shared pool of computing resources that can be provisioned quickly and flexibly, with minimal administrative effort and interaction with the service provider [1].

Virtualization technology is used in data centers to enable the existence of several virtual machines on the same physical machine. This capacity to personalize allows the service provider to maximize the investment of available physical resources, resulting in greater profits [2].

Cloud resource management activities involve examining the resources accessible in the cloud environment, offering access to end users, monitoring security, managing resource reservations, and monitoring all cloud layers. Because resource allocation management has a significant impact on the performance and efficiency of the cloud, as well as the cost of its users, it has become a difficult challenge to manage the various cloud resources, particularly to ensure cloud computing performance through strategic planning techniques that maintain cloud performance. This performance may be accomplished by maintaining a balanced distribution of workloads across cloud resources. One of the most challenging difficulties in cloud computing is finding a suitable level of task distribution among the many resources used in the cloud, namely: (one or more servers, hard drives, network links, or other resources). Thus, cloud service providers provide a means for distributing application requests to any number of data center-based application propagations. A balanced distribution aims to enhance processing speed while decreasing reaction time [3–5].

**Citation:** Khair, Y.; Benlabbes, H. Opportunistic Load Balancing for Virtual Machines Scheduling in a Cloud Environment. *Eng. Proc.* **2023**, *29*, 1. https://doi.org/10.3390/ engproc2023029001

Academic Editors: Abdelmadjid Recioui, Hamid Bentarzi and Fatma Zohra Dekhandji

Published: 10 January 2023

**Copyright:** © 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

#### **2. Related Work**

The significant expansion of cloud computing's technology offerings is a reflection of both the system's user base and the tasks those users are requiring it to perform. As a result, a significant number of scheduling algorithms were developed and used in different cloud computing environments. The performance of these algorithms was then assessed based on a variety of different criteria [6].

Researchers have recently shown a great interest in scheduling in cloud computing. Several scheduling methods operating inside the cloud computing system have been suggested by various researchers.

For the purpose of scheduling distinct tasks, several heuristic algorithms have been developed and put to use in the cloud environment. The First Come First Serve basis algorithm, Min-Max algorithm, Min-Min algorithm, and Suffrage algorithm are among the most significant developments in heuristic algorithms. Other important developments include Greedy Scheduling, Shortest Task First, Sequence Scheduling, Balance Scheduling (BS), Opportunistic Load Balancing, and Min-Min Opportunistic Load Balancing [2–5,7].

In this work, we focus on using an algorithm that, for scheduling based on load balancing, offers the best performance in the cloud computing system. For a set of virtual machines, the algorithm was evaluated in two different scenarios. We looked into the subsequent performance scenarios: (1) the effect of load balancing throughput gain; (2) the effect of resource utilization rate.

#### **3. OpenNebula**

It is an open-source platform with an Apache 2 license that aims to develop a common cloud computing solution for controlling large and distributed infrastructures. Additionally, it has more capabilities, more adaptable methods, and enhanced cloud formation interoperability. OpenNebula offers hybrid clouds, which offer extremely flexible hosting options while integrating on-premises and public cloud architecture [6].

OpenNebula is currently on version (6.3.9). Its design is flexible, allowing interaction with different types of storage, network infrastructure, and hypervisor technologies. Figure 1 shows a diagram with the components grouped into three layers: (i) Drivers, (ii) Core, and (iii) Tools. These elements connect to each other through a set of APIs that provide system and cloud user interfaces [6].

**Figure 1.** OpenNebula Architecture [8].

#### **4. Opportunistic Load Balancing for Scheduling Virtual Machines in the Cloud Environment**

The objective of this algorithm is to assign the work to the cloud host machine that is under the least increase in load when compared to other cloud hosts. The aim is to first identify each host machine's load distribution before allocating virtual machines to it. Then, the machine with the lower load level is chosen to perform the required function or task [9].

In our architecture concept (Figure 2), the opportunistic load balancing OLB is in charge of scheduling when these activities will be performed out on the pre-activated virtual machines. Hosts have two distinct resources (CPU and RAM). Each request for allocation consists of two values that describe the virtual machine's execution requirements for CPU and RAM on one of the Cloud hosts. Additionally, OLB communicates with OpenNebula, using the OpenNebula Cloud API (OCA) which encapsulates access to OpenNebula's XML-RPC API and implicitly associated functions as shown in the definition in Section 3 [6]. To establish the connection, the OpenNebula XML-RPC address access methods are chosen and assigned. This integration allows OpenNebula to run OBL queries.

**Figure 2.** The architecture concept.

#### *4.1. Scheduling Based on Opportunistic Load Balancing*

Suppose the fact that there are |*N*| similar resource host machines at the beginning, where H = {1, 2, ... , H} The capacity of each host machine is *Ci* where *i* ∈ H. Suppose that the capacities are given integer values, where each integer roughly corresponds to the CPU and RAM requirements of the host machine. Consider three machines, each hosting a distinct load from the others, H1 of C1 = 10%, H2 of C2 = 50%, and H3 of C3 = 90%, as illustrated in Figure 3.

**Figure 3.** An initial situation for load balancing.

The capacity is proved by:

$$Ci = \frac{CPUluse \ast RAMluse}{100}$$

Consider that there are |*N*| virtual machines, *V* = {1, 2, ... , *V*}, each of which has a weight of *W* = {*W*1, *W*2, ... *W*n} and an end time for the activity that is being executed on it of T = {T1, T2, ... Tn}, The virtual machine's weight is a representation of the funding necessary for its implementation. Whenever it uses a percentage of the host's resources, the weight is defined as follows:

$$Wi = \frac{CPUreq \ast RAMreq}{100}$$

To maximize the value of all virtual machines and ensure that the overall weight of virtual machines in each resource does not exceed that resource's capacity, the challenge of allocating virtual machines to resources occurs. Let *uij* The value reflects how significant this virtual machine is for the resource.

$$\sum\_{i=1}^{H} \sum\_{j=1}^{V} u\_{i\bar{j}} T\_{i\bar{j}}$$

#### *4.2. The Proposed Scenario*

Through the scenario (without and with the use of opportunistic load balancing), this algorithm was examined regarding the cost factors and rate of resource utilization. The parameter values for the scenario's results are summarized in Table 1.



During the evaluation of the proposed planning algorithm, the characteristics of all the created virtual machines were installed and harmonized in the homogenous environment.

#### 4.2.1. Load Balancing Throughput Gain

This is the average success rate for allocations on host machines. For each virtual machine that is allocated, the allocation rate of incoming tasks is calculated, and data is supplied at the end of each phase of allocation. The higher this factor, the better the algorithm performs. The value of the throughput gain is given as follows:

$$G\_{\mathfrak{k}} = \sum\_{all \alpha^i} (Exe\_{time})^\cdot$$

#### 4.2.2. Resource Use Rate

The ratio of the host machine's total occupation to the totality of all the virtual machines' execution times is referred to as the resource utilization rate (in our scenario, it is the time taken to complete the execution).

$$\text{Use a final time for the completion}\\ \text{of } \text{wech} \text{ host machine} = \frac{\text{of } \text{wech} \text{ on the host machine}}{\text{Total runtime for all virtual machines}} \times 100$$

#### **5. Results and Discussion**

#### *5.1. Load Balancing Throughput Gain*

The behavior of throughput as a function of virtual machines in the what-if scenarios is shown in Figure 4. The results show that when a single resource is used, performance degrades as the number of allowances increase as load balancing is not enabled (there is no OBL). In this case, the host machines are not taken into account in terms of virtual machine allocation. In the opportunistic load-balancing scenario, average productivity returns to maximum levels despite an increase in the number of virtual machines.

**Figure 4.** The behavior of throughput as a function of virtual machines.

#### *5.2. Resource Use Rate*

As we previously mentioned, the rate of resource utilization refers to the correlation between the overall host machine occupation and the execution timings of all virtual machines. Figure 5 shows that opportunistic load balancing has the best resource utilization rate.

**Figure 5.** Resource use rate.

#### **6. Conclusions**

Through this research, we have planned to establish an algorithm that, for scheduling based on load balancing, offers the best performance in the cloud computing system. For a set of virtual machines, the algorithm was evaluated in two different scenarios. We looked into the subsequent performance scenarios: (1) the effect of load balancing throughput gain; (2) the effect of resource utilization rate.

**Author Contributions:** Conceptualization, H.B. and Y.K.; methodology, Y.K.; software, Y.K.; validation, Y.K and H.B.; formal analysis, Y.K.; investigation, Y.K.; resources, Y.K.; data curation, Y.K.; writing—original draft preparation, Y.K.; writing—review and editing, Y.K.; visualization, Y.K.; supervision, H.B.; project administration, H.B.; funding acquisition, Y.K. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research received no external funding.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** No new data were created or analyzed in this study. Data sharing is not applicable to this article.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


**Disclaimer/Publisher's Note:** The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

## *Proceeding Paper* **Observer Backstepping Design for Flight Control †**

**Ben Messaoud Safinaz \*, Belkheiri Mohammed and Belkheiri Ahmed**

Laboratory of Telecommunications, Signals and Systems, University Amar Telidji of Laghouat, P.O. Box 37G, Guardaia Road, Laghouat 03000, Algeria

† Presented at the 2nd International Conference on Computational Engineering and Intelligent Systems, Online, 18–20 November 2022.

**Abstract:** This paper presents observer backstepping as a new nonlinear flight control design framework. Flight control laws for general-purpose maneuvering in the presence of nonlinear lift and side forces are designed. The controlled variables are the angle of attack, the sideslip angle, and the roll rate. The stability has been proved using Lyapunov stability criteria. Control laws were evaluated using realistic aircraft simulation models, with highly encouraging results.

**Keywords:** observer backstepping; stability; control; Lyapunov function; fighter aircraft; maneuvering

#### **1. Introduction**

Several novel design approaches for controlling nonlinear dynamic systems have been developed in recent years. Backstepping is one of these techniques. Backstepping allows for the methodical design of stabilizing control laws in certain classes of nonlinear systems. A backstepping design can be used in systems with limited model information. In this scenario, the aim is to choose a control law that decreases the Lyapunov function for all systems with the given model uncertainty. As a result of its simultaneous and often implicit appearance in several papers in the late 1980s, the origin of backstepping is not quite clear. The work of Professor Petar V. Kokotovi´c and his coworkers has, however, brought backstepping to the forefront to a significant extent. The 1991 Bode lecture at the IEEE CDC, held by Kokotovi´c [1], was devoted to the evolving subject and in 1992, Kanellakopoulos et al. [2] presented a mathematical "toolkit" for designing control laws for various nonlinear systems using backstepping, where backstepping has to be performed under state observation. Backstepping designs are available for a wide range of electrical motors [3–6]. Wind turbines are considered in [7], ref [8] using backstepping while observer backstepping is the subject of [9]. In [10,11], backstepping is used for automatic ship positioning. Robotics is another field where backstepping designs can be found. Tracking control is considered in [12] and [13]. Backstepping control augmented by neural networks is proposed to address the tracking problem for robot manipulators [14] and for an induction machine based on a modified (FOC) method [15]. There are also a few papers that combine flight control and backstepping [16,17]. Ref. [18] treats formation flight control of unmanned aerial vehicles. Refs. [19,20] use backstepping to design flight control laws which are adaptive to changes in the aerodynamic forces and moments due to, e.g., actuator failures.

The reviewed literature reveals a key common feature, which is complete knowledge of the system states. In cases where not all the state variables can be measured, the need for observers arises. In general, the separation principle valid for linear systems does not hold for nonlinear systems in general. Therefore, care must be taken when designing the feedback law based on the state estimates. This is the topic of observer backstepping [2,21]. Comparatively, with the advances in nonlinear control theory, there is a desire in aircraft technology to achieve supermaneuverability for fighter aircraft. Using high angles of

**Citation:** Ben Messaoud, S.; Belkheiri, M.; Belkheiri, A. Observer Backstepping Design for Flight Control. *Eng. Proc.* **2023**, *29*, 3. https://doi.org/10.3390/engproc 2023029003

Published: 10 January 2023

**Copyright:** © 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

**<sup>\*</sup>** Correspondence: s.benmessaoud@lagh-univ.dz

attack can lead to tactical advantages, as Herbst [22] and Well et al. [23] demonstrate when evaluating aircraft reversal maneuvers. The target is for the aircraft to return to its original position of departure with the same speed and altitude but on the opposite heading in the shortest time possible. By applying high angles of attack during the turn, the aircraft can maneuver in less airspace and complete the maneuver in less time. Flight dynamics are not linear in these maneuvers. Due to this change, linear control design tools are no longer useful for flight control design. In this paper, we investigate how backstepping can be used for flight control design to achieve stability over the entire flight envelope. Control laws based on the state estimates for general-purpose maneuvering are derived and their properties are investigated.

The paper is organized in the following manner: Section 2 presents the dynamic model of the aircraft. Section 3 describes the controller design methodology, which presents a backstepping observer design. Section 4 illustrates the simulation results and discussion of the proposed controller. The control strategy was applied using a realistic aircraft simulation model. Finally, conclusions are given in Section 5.

#### **2. Aircraft Dynamics**

Figure 1 illustrates the controlled variables, which are the angle of attack, sideslip angle, and roll rate about the stability x-axis.

**Figure 1.** Lateral control objectives.

The equations linking the variables to be controlled to control inputs are presented in Stevens and Lewis [24] and Boiffier's [25] books. Who focuses on developing a model for control design, which consists of first-order differential equations.

$$\dot{m} = q - (p\cos\alpha + r\sin\alpha)\tan\beta + \frac{1}{mV\_T\cos\beta}(-L - F\_T\sin\alpha + m\wp\_1) \tag{1}$$

$$\dot{\beta} = p\sin\alpha - r\cos\alpha + \frac{1}{mV\_T}(Y - F\_T\cos\alpha\sin\beta + mg\_2) \tag{2}$$

*m* is the aircraft mass, *FT* is the engine thrust force and *VT* is the total velocity. *L* and *Y* are the lift and side forces respectively.

Figure 2 shows the typical lift force and side force coefficients used for the simulations later.

**Figure 2.** Typical lift force coefficient vs. angle of attack and side force coefficient vs. sideslip characteristics.

The force contributions due to gravity depend on the orientation of the aircraft, given by the pitch angle, *θ*, and the roll angle, *φ*, are

$$g\_1 = g(\cos\alpha\cos\theta\cos\phi + \sin\alpha\sin\theta)$$

$$g\_2 = g(\cos\beta\cos\theta\sin\phi + \sin\beta\cos\alpha\sin\theta - \sin\alpha\sin\beta\cos\theta\cos\phi)$$

Since the roll rate to be controlled, *ps*, is expressed in the stability-axes coordinate system, we need to establish the relationship between the body-axes angular velocity

$$
\omega = \begin{pmatrix} & p & q & r \end{pmatrix}^T
$$

To the stability-axes angular velocity,

$$
\omega\_{\mathfrak{s}} = \begin{pmatrix} \ p\_{\mathfrak{s}} & q\_{\mathfrak{s}} & r\_{\mathfrak{s}} \end{pmatrix}^{T}
$$

through the transformation

where

$$R\_{sb} = \begin{pmatrix} \cos\alpha & 0 & \sin\alpha \\ 0 & 1 & 0 \\ -\sin\alpha & 0 & \cos\alpha \end{pmatrix}.$$

In the control design, it is more convenient to work with *ω<sup>s</sup>* rather than *ω*. Introducing

$$
\boldsymbol{\mu} = \begin{pmatrix} \ \boldsymbol{\mu}\_1 & \ \boldsymbol{\mu}\_2 & \ \boldsymbol{\mu}\_3 \end{pmatrix}^T = \boldsymbol{\omega}\_s \tag{4}
$$

Then we can rewrite the aircraft dynamics (1)–(2) as

$$
\dot{\varphi}\_s = \mathfrak{u}\_1 \tag{5}
$$

$$
\dot{\mathfrak{a}} = q\_{\mathfrak{s}} + f\_{\mathfrak{a}} \tag{6}
$$

$$
\dot{q}\_s = \mu\_2 \tag{7}
$$

$$
\dot{\beta} = -r\_s + f\_{\beta} \tag{8}
$$

$$
\dot{r}\_s = \mu\_3 \tag{9}
$$

With

$$f\_{\mathbb{R}} = -p\_{\mathbb{S}}tan\mathbb{\hat{\beta}} + \frac{1}{mV\_T \cos\mathfrak{\hat{\beta}}} (-L(\mathfrak{a}) - F\_T \sin\mathfrak{a} + mg\_2),$$

$$f\_{\mathbb{\hat{\beta}}} = \frac{1}{mV\_T} (Y(\mathfrak{\hat{\beta}}) - F\_T \cos \mathfrak{a} \sin \mathfrak{\hat{\beta}} + mg\_3)$$

*ω<sup>s</sup>* = *Rsbω* (3)

The lift and side force coefficient, *CL* and *CY*, mainly depend on *α* and *β* respectively [26], this yields

$$\begin{aligned} L(a) &= \bar{q} \mathbf{S} \mathbf{C}\_L(a) \\ \mathbf{Y}(\beta) &= \bar{q} \mathbf{S} \mathbf{C}\_Y(\beta) \end{aligned}$$

where *q*¯ = <sup>1</sup> <sup>2</sup> *<sup>ρ</sup>*(*h*)*V*<sup>2</sup> *<sup>T</sup>* is the aerodynamic pressure, *ρ* is the air density, and *S* is the wing plan form area.

#### **3. Observer Backstepping Design for Flight Control**

#### *3.1. Control Objective*

Controlling maneuverability is the main objective in a dogfight. In order to control maneuverability, you must include relevant controlled variables in the lateral and longitudinal directions. Assuming that the latter directions are not applied simultaneously. We only deal with lateral commands in this paper, therefore the control objective is for the angle of attack *α* and the stability axis roll rate *ps* to follow *αref* and *p ref <sup>s</sup>* , respectively. With the standard assumption being that a roll is performed with a steady angle of attack and no sideslip *β*. The sideslip must be kept at zero at all times in order for the aircraft to fly in a straight line. Furthermore, the aircraft velocity, *VT* and Euler angles, *φ*, *θ*, and *ψ* are considered constant.

The observer backstepping approach used in flight control laws based on the state estimates for general-purpose maneuvering does not cancel out the nonlinear parts of lift and side forces, *L*(*α*) and *Y*(*β*), respectively.

#### *3.2. Control Design*

As a starting point, note that the dynamics of the angle of attack (6)–(7) are structurally similar to the sideslip dynamics (8)–(9). The two second-order systems can be expressed as

$$\begin{aligned} \eta\_1 &= f(\eta\_1) + \eta\_2 \\ \eta\_2 &= u \end{aligned} \tag{10}$$

where *η* = *η*<sup>1</sup> *η*<sup>2</sup> *<sup>T</sup>* <sup>=</sup> *<sup>α</sup> qs <sup>T</sup>* Then we can rewrite (10) as

$$\begin{aligned} \dot{\eta} &= A\eta + \sigma f(y) + Bu \\ y &= \mathbb{C}\eta \end{aligned} \tag{11}$$

where

$$A = \begin{bmatrix} 0 & 1 \\ 0 & 0 \end{bmatrix}, \quad B = \begin{bmatrix} 0 \\ 1 \end{bmatrix},$$

$$\mathbf{C} = \begin{bmatrix} 1 & 0 \end{bmatrix}, \quad \sigma = \begin{bmatrix} 1 \\ 0 \end{bmatrix}$$

A measurement can be made only with *y*. The following observer can be used to estimate the state of this class of nonlinear systems, characterized by geometric conditions in [[27], Theorem 5.1].

$$
\dot{\eta} = A\dot{\eta} + K\_0(\dot{\eta}\_1 - \dot{y}) + \sigma f(y) + Bu \tag{12}
$$

The error system is

$$
\dot{\eta} = A\_0 \eta, \quad \dot{\eta} = \eta - \dot{\eta} \tag{13}
$$

*K*<sup>0</sup> is chosen so that *A*<sup>0</sup> = *A* − *K*0*C* in (13) is Hurwitz.

We only specify one subsystem, *α* − *dynamics*(1), and the other subsystem, *β* − *dynamics*(2) should be identical to the latter specified, for the derivation of observer backstepping.

*Step* 1: We define the output error *<sup>z</sup>*<sup>1</sup> <sup>=</sup> *<sup>η</sup>*<sup>1</sup> <sup>−</sup> *<sup>η</sup>ref* <sup>1</sup> <sup>=</sup> *<sup>η</sup>*<sup>1</sup> <sup>−</sup> *<sup>λ</sup>*0(*ηref* <sup>1</sup> ) and consider the second-order system

$$z\_1 = \eta\_2 + f(\eta\_1) - \dot{\eta}\_1^{ref} \stackrel{\triangle}{=} \eta\_2 + \mu\_1(\eta\_1, \eta\_1^{ref}, \eta\_1^{ref}) \tag{14}$$

$$
\eta\_2 = \mu\_2 \tag{15}
$$

Similarly to Lemma OIB [2], the following system is composed by replacing (15) with the second equation of the observer (12). With *η*˜2 = *η*<sup>2</sup> − *η*ˆ2

$$z\_1 = \dot{\eta}\_2 + \mu\_1(\eta\_{1'} \eta\_1^{ref}, \dot{\eta}\_1^{ref}) + \vec{\eta}\_2 \tag{16}$$

$$
\dot{\eta}\_2 = \mu\_2 + \text{Ko2}(\dot{\eta}\_1 - \eta) \tag{17}
$$

In the spirit of backstepping, we start by regarding *η*ˆ2 as the control input of (16)–(17), then Lemma NDM [2] would result in

$$\eta\_2^{\rm des} = -\mu\_1(\eta\_1, \eta\_1^{\rm ref}, \eta\_1^{\rm ref}) - c\_a z\_1 \triangleq \lambda\_1(\eta\_1, \eta\_1^{\rm ref}, \eta\_1^{\rm ref}) \tag{18}$$

and

$$V\_1(z\_1, \vec{\eta}) = \frac{1}{2} z\_1^2 + \vec{\eta}^T P\_0 \vec{\eta} \tag{19}$$

where

$$P\_0 A\_0 + A\_0^T P\_0 = -I$$

*Step* 2: Defining the state error *<sup>z</sup>*<sup>2</sup> <sup>=</sup> *<sup>η</sup>*ˆ2 <sup>−</sup> *<sup>λ</sup>*1(*η*1, *<sup>η</sup>ref* <sup>1</sup> , *η*˙ *ref* <sup>1</sup> ) and (16)–(17) is rewritten as

$$z\_1 = z\_2 - c\_a z\_1 + \vec{\eta}\_2\tag{20}$$

$$\dot{\tilde{\eta}}\_{2} = \mu\_{2} + \text{Kq}(\dot{\eta}\_{1} - \eta) - \frac{\partial \lambda\_{1}}{\partial \eta\_{1}} \dot{\eta}\_{1} - \frac{\partial \lambda\_{1}}{\partial \eta\_{1}^{\text{ref}}} \dot{\eta}\_{1}^{\text{ref}} - \frac{\partial \lambda\_{1}}{\partial \dot{\eta}\_{1}^{\text{ref}}} \ddot{\eta}\_{1}^{\text{ref}} \triangleq \mu\_{2} + \mu\_{2} (\eta\_{1}, \dot{\eta}\_{1}, \dot{\eta}\_{2}, \dot{\eta}\_{1}^{\text{ref}}, \dot{\eta}\_{1}^{\text{ref}}, \dot{\eta}\_{1}^{\text{ref}}) - \frac{\partial \lambda\_{1}}{\partial \eta\_{1}} \ddot{\eta}\_{2} \tag{21}$$

We select the control law based on Lemmas OIB and NDM [2]

$$\mu\_2 = -\mu\_2(\eta\_1, \hat{\eta}\_1, \hat{\eta}\_2, \eta\_1^{\text{ref}}, \dot{\eta}\_1^{\text{ref}}, \ddot{\eta}\_1^{\text{ref}}) - [1 + (\frac{\partial \lambda\_1}{\partial \eta\_1})^2] z\_2 - z\_1 \tag{22}$$

and

$$V\_2(z\_1, z\_2, \vec{\eta}) = V\_1(z\_1, \vec{\eta}) + \frac{1}{2}z\_2^2 + \vec{\eta}^T P\_0 \vec{\eta} \tag{23}$$

The derivative of (23) along the solutions of (20)–(22) is nonpositive

*V*˙ <sup>2</sup> ≤ 0

With this methodical approach, we designed the control law (22), and we created the conditions for the results mentioned in [2].

Controlling the stability axis roll *ps* is straightforward. Given the dynamics from (5) and the roll rate command *p ref <sup>s</sup>* , simply assign

$$
\mu\_1 = c\_{p\_s} (p\_s^{ref} - p\_s) \tag{24}
$$

where *cps* > 0.

#### **4. Simulation Results and Discussion**

In the simulations, an Admire, a MATLAB/SIMULINK environment for the (GAM) [28] is considered with properties summarized in Table 1.

**Table 1.** GAM Properties.


A flight scenario in which the aircraft is in level flight at Mach 0.5 and a height of 1000 m was chosen for the simulations. The simulations included actuator and sensor dynamics that were not included in the previous design. Additionally, Euler angles were given such small values. The total velocity ranges between 100 and 170 km/h, with *FT* = 500 N.

For the control law parameters were set *c<sup>α</sup>* = 75, *c<sup>β</sup>* = 50, *cps* = 25 for the backstepping approach and *<sup>K</sup>*<sup>02</sup> = *<sup>γ</sup>* <sup>2</sup> for the second equation of the observer, where *γ* = 1 and = 0.001. Figure 3 illustrates the trajectory tracking simulation results for such an angle of attack, slideslip, and stability axis roll rate, and it is obvious that each of the latter variable graphs properly follows the prescribed path. Both *α* and *β* are shown in Figure 4 with their estimates, resulting in a perfect estimation of the observer chosen. For the control input, it is presented in Figure 5.

**Figure 3.** Simulated aircraft control objectives.

**Figure 4.** State estimation.

**Figure 5.** Control signals.

#### **5. Conclusions**

In this study, a nonlinear observer backstepping design technique for fighter aircraft control is presented in order to achieve control objectives in the presence of nonlinear lift and side forces. According to the Lyapunov stability theorem, the resultant closedloop system is exponentially stable for trajectory tracking errors. The simulation results of Admire model seemed to be excellent using this design technique. Furthermore, the observer perfectly estimates the state vector.

**Author Contributions:** Conceptualization, B.M.S.; methodology, B.M.S.; software, B.M.S. and B.M.; writing—original draft preparation, B.M.S.; writing—review and editing, B.M.S., B.M. and B.A. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was supported by the Directorate-General for Scientific Research and Technological Development/Ministry of High Education and Scientific Research of Algeria (DGRSDT/MESRS).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **Abbreviations**

The following abbreviations are used in this manuscript:


#### **References**


**Disclaimer/Publisher's Note:** The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
