Global Optimization in Robust Fractional Control of Uncertain Fractional Order Systems: A Thermal Application Using the STM32 Microcontroller

In this paper, we suggest an improvement to our previously undertaken approach. Briefly, this approach consisted of applying the robust fractional predictive control (RFPC) for a class of constrained fractional systems implementing the min–max optimization technique. The RFPC controller requires resolution of a non-convex min–max optimization problem. The resolution of this problem, however, can only conduce to local solutions. The reason is simple: the objective function to be optimized is non-convex due to the presence of uncertainties. In the present work, we propose a global optimization-based RFPC controller for an uncertain fractional order system. A determinist global optimization method, namely, generalized geometric programming (GGP), is proposed to solve this problem for the uncertain fractional order system. The GGP method consists of converting a non-convex problem into a convex one via the application of variable changes. The technique of the convexification of this method is applied in line with the objective function to be optimized. Consequently, we obtained a new convex criterion and a convex problem. From an experimental point of view, we applied the proposed RFPC to a real thermal system using an STM32 microcontroller in order to control our thermal system.


Introduction
The notion of fractional (non-integer) computation was expounded by Riemann and Liouville at the turn of the nineteenth century. Their goal was to expand non-integer order operators by employing the non-integer orders. A century later, Grünwald-Letnikov introduced the discrete concept of fractional equations [1].
Fractional systems have been widely used in many areas (including physics, chemistry, and biology) whenever the phenomena governing dynamics obey an equation with partial derivatives of diffusion [2][3][4]. This diffusion phenomenon shows, through a classical monodimensional theory, a fractional behavior on the order of 0.5. Therefore, the application of fractional operators in the modeling of diffusive systems appears obvious. Fractional tools also appear in automation and robotics, especially in their use in modeling, identification, control, and robust control [5]. In the nineties, Alain Oustaloup proposed the fractional order technique as a solution for controlling dynamic systems [6,7]. In 1999, Podlubny has also developed the non-integer PID regulator [1]. The evolution of fractional control continues to draw the attention of several researchers as well as industrialists [8][9][10][11][12][13][14][15][16].
As for predictive control (PC), it is regarded as one of the most advanced regulator methods. This is because it is the only control approach that enables us to take into account, explicitly and systematically, all forms of restrictions when designing and executing

Modeling of a Fractional Order System
The non-integer order calculation is a generalization of the non-integer fundamental operator, t 0 D α t , which is represented as follows: There are several mathematical definitions of the fractional calculation. These definitions do not necessarily provide the same outcomes, but they are equivalent for sev-Electronics 2022, 11, 268 3 of 15 eral functions [38]. The most known method of fractional control synthesis is the G-L method [39], which figures as follows: where "h" is the sampling period. For infinitely tiny "h", the order "a" of a function "g(t)" is approximated in [40].
This equation's simulation necessitates the computation of a sum of increasing size over time. Using the short memory approach, this sum can be lowered [2]. Thus, relation (3) can be rephrased to: A non-integer order process can be given by this relation: in which (a l , b m ) ∈ R 2 , and (α al , α bm ) ∈ R 2 + . To provide an appropriate description of this fractional order process, we need to take into consideration the uncertainty parameters a l and b m . a l ∈ [a l , a l ] and b m ∈ b m , b m .
Each fractional operator in the non-integer differential Equation (5) is replaced by its approximation (4), which allows to obtain [41]:

RFPC Design
In the following section, we define the procedure used to obtain the optimum control law for RFPC of uncertain non-integer order systems. Hence, the Grünwald-Letnikov approach expressed by Equation (6) was used. Subsequently, and in keeping with the overall meaning, we define y(k) as a function of u(k − 1). Thus, Equation (6) was rephrased as [8]: where by ∆ = 1 − q −1 . Equation (7) produced the output of the fractional process in k + 1: This equation can be restated as follows:  and y l (k + 1) is the free response of the process: Thus, the equation of the predictor j-step y(k + j) can be determined by repeated recursion, which figures as [8]: Predictive control involves the minimization of the performance criterion. This is given by: where by y(k + j) is expressed by the relation (11) and w(k + j) is the reference signal. The output signal which extends along the prediction horizon N 2 is defined as: where by: The G matrix features as: The objective function of Relation (12) is given as: in which is the reference signal on the prediction horizon:

Problem Statement
In connection with the uncertain fractional system, the control law of the RFPC controller is found through the worst-case technique. Therefore, the robust control law proves to be based on the solution suggested to the min-max problem [42], which is formulated as: min and Ω is the set of limits of the control sequence, and Ψ is the set of parameter uncertainties.
The difference among all robust predictive control strategies is the type of model chosen for real processes. Certainly, in many types of models, for example, when the models are represented by fractional order operations and are subject to structured uncertainties, as in our case, the robust predictive control of these models is much more complex. This could be accounted for by the non-convexity of the criterion with respect to the uncertainties and control increments. Subsequently, the min-max problem cannot be solved by classical optimization methods. Indeed, the GGP-method-based FRPC controller (FRPC-GGP) is proposed for uncertain non-integer order systems in order to solve this problem.

GGP Method
In this paper, the GGP is the global method that as chosen to determine the global control law for the uncertain non-integer processes. It is founded on the polynomial form of the non-convex criterion. The major idea is that by applying some variablechange techniques, such as power and exponential transformations, the initially non-convex optimization problem is translated into a convex one.

Convexification Strategy of the GGP Method
The mathematical equation of a GGP problem with free variables is given by the following equations [43]: subject to The convexification rules of the GGP method are usually applied only to positive variables. In several problems, the definition domain of x i can be negative. This is not a restriction. Indeed, a simple translation of the variables makes us take into account negative variables: Before illustrating the convexification strategies of the GGP approach of a non-convex function, we need to introduce several definitions, propositions, theorems, and properties relating to convexity. Definition 1 [43]. A function g(X) is monomial if it is written in this form: The determinant of the D(X) matrix is represented as: Using the previous remarks, we obtain the following suggestions: The crucial idea in the convexification strategy for the GGP approach is to transform every non-convex variable of problem (22) into a convex one.
For example, we study a function, which figures as: Indeed, the convexification of this equation relies on the values of r and d j (for j = 1, . . . , n) -Positive term (r > 0): if d j ≥ 0, new terms z j are inserted by k j = exp(z j ). Therefore, relation (23) can be expressed as: Therefore, Function (23) can be expressed as rx Based on the convexification technique given above, the non-convex problem is changed into a convex one. After the transformation of the min-max problem (18), we can use a classical optimization approach to resolve it. Hence, the global solution is reached.

RFPC-GGP Algorithm
In this paragraph, we will explain the application of the GGP strategy into the RFPC controller's algorithm. Equation (18) can be represented as: where by It is useful to remember that the main purpose of the RFPC-GGP algorithm is to render the objective function a convex one. Consequently, the convexification strategy of this optimization method, by means of the set of rules given above, is applied to the criterion J. This results in a fractional but convex problem that can be solved by the predefined fmincon in the MATLAB software. This procedure is summarized by an algorithm, which figures as follows:

•
Step 1: Determining the limits of the uncertain parameters and the controller parameters; • Step 2: Applying the convexification strategy on criterion J; • Step 3: Determining the optimal values a l and b m by solving the Equation (25); • Step 4: Using the parameters a l and b m determined in step 3, solve Equation (24) and obtain the global optimal values of the future control increments, by having recourse to a conventional optimization method; • Step 5: Implementing the global optimal control; • Step 6: Return to Step (3), taking into account the new parameters.

Experiment Results
In this part, the method suggested in this work was implemented in a real thermal process (Figures 1 and 2) [44][45][46]. use a classical optimization approach to resolve it. Hence, the global solution is r

RFPC-GGP Algorithm
In this paragraph, we will explain the application of the GGP strategy into t controller's algorithm. Equation (18) can be represented as: It is useful to remember that the main purpose of the RFPC-GGP algorithm der the objective function a convex one. Consequently, the convexification strateg optimization method, by means of the set of rules given above, is applied to the J. This results in a fractional but convex problem that can be solved by the pr fmincon in the MATLAB software. This procedure is summarized by an algorithm figures as follows: • Step 1: Determining the limits of the uncertain parameters and the controlle eters; • Step 2: Applying the convexification strategy on criterion J; • Step 3: Determining the optimal values and l m a b by solving the Equation

•
Step 4: Using the parameters and l m a b determined in step 3, solve Equa and obtain the global optimal values of the future control increments, by h course to a conventional optimization method; • Step 5: Implementing the global optimal control; • Step 6: Return to Step (3), taking into account the new parameters.

Experiment Results
In this part, the method suggested in this work was implemented in a rea process (Figures 1 and 2) [44][45][46].

Thermal Process Identification
The bar of the real thermal process was thermally insulated and exposed to a heating resistor to generate unidirectional heat transfer flux. This process input was a flux (Q) generated by a heat resistor and linked by a data-card of the type USB-6009. The power interface that separates the acquisition board and the heating resistor was a dimmer board (PWM converter). The output sequence for our system was the bar temperature. The sensor's signal was amplified to obtain a voltage of the output ranging from 0 to 5 v.
The goal was to keep the temperature at the specified setpoint at two places, P2 and P2, at a distance of d1 = 6 cm and d2 = 15 cm from the heating resistor, respectively ( Figure  3). In order to determine the real non-integer order model of this process, a given sequence, was applied to the heating resistor. Then, the temperature measured was saved. We determined the two non-integer models of our system H1(s) and H2(s) for the two

Thermal Process Identification
The bar of the real thermal process was thermally insulated and exposed to a heating resistor to generate unidirectional heat transfer flux. This process input was a flux (Q) generated by a heat resistor and linked by a data-card of the type USB-6009. The power interface that separates the acquisition board and the heating resistor was a dimmer board (PWM converter). The output sequence for our system was the bar temperature. The sensor's signal was amplified to obtain a voltage of the output ranging from 0 to 5 v.
The goal was to keep the temperature at the specified setpoint at two places, P 2 and P 2 , at a distance of d 1 = 6 cm and d 2 = 15 cm from the heating resistor, respectively ( Figure 3).

Thermal Process Identification
The bar of the real thermal process was thermally insulated and exposed to a heating resistor to generate unidirectional heat transfer flux. This process input was a flux (Q) generated by a heat resistor and linked by a data-card of the type USB-6009. The power interface that separates the acquisition board and the heating resistor was a dimmer board (PWM converter). The output sequence for our system was the bar temperature. The sensor's signal was amplified to obtain a voltage of the output ranging from 0 to 5 v.
The goal was to keep the temperature at the specified setpoint at two places, P2 and P2, at a distance of d1 = 6 cm and d2 = 15 cm from the heating resistor, respectively ( Figure  3). In order to determine the real non-integer order model of this process, a given sequence, was applied to the heating resistor. Then, the temperature measured was saved. We determined the two non-integer models of our system H1(s) and H2(s) for the two In order to determine the real non-integer order model of this process, a given sequence, was applied to the heating resistor. Then, the temperature measured was saved. We determined the two non-integer models of our system H 1 (s) and H 2 (s) for the two points P 2 Electronics 2022, 11, 268 9 of 15 and P 2 , respectively, on basis of the experimental data and utilizing the SRIVCF fractional model identification method [47].
We used a different input sequence to the heating resistor to validate the two fractional models. In addition, we measured the corresponding temperatures for the two points P 1 and P 2 . From this experimental data, we found that the model's responses were very close to the measured temperatures.

Controller Application
In this section, the task was to implement the proposed RFPC-GGP controller of the thermal system. Our purpose was to control the metallic rod temperature with respect to the dynamic process change, caused by the sensor position change at the sample time 300.
The synthesis of the RFPC-GGP controller requires the use of an uncertain non-integer order model. Thus, from the two models expressed by the Equations (26) and (27) and by making use of the maximum delay, we obtained an uncertain fractional transfer function defined by: The technique of the convexification of the GGP method given in Section 3 was applied in line with criterion "J". Consequently, we obtained a new convex criterion and a convex problem.
The robust fractional controller we proposed is intended with the following parameters: N 1 = 1, N 2 = 15 and λ= 1 Figure 4 shows that the outputs (i.e., temperatures) and the inputs (i.e., thermal flux) evolved when the proposed RFPC-GGP controller was implemented in the thermal system. On the basis of these results, one could conclude that the outputs followed the desired reference. In addition, the thermal flux provided a small variation and respected the constraints. Thus, this proposed RFPC-GGP controller exhibited good performances despite the changing thermal process dynamics caused by the sensor position changes at iteration 300.
For further assessment of the proposed RFPC-GGP controller, a comparison test was used to determine if there were significant similarities or differences between this controller and the two other controllers: the first was the RFPC controller, which was obtained via the local optimization method; the second was the genetic algorithm-based RFPC controller (RFPC-GA). All predictive controllers were designed using the same parameters. Electronics 2022, 11, x FOR PEER REVIEW 10 of 15 For further assessment of the proposed RFPC-GGP controller, a comparison test was used to determine if there were significant similarities or differences between this controller and the two other controllers: the first was the RFPC controller, which was obtained via the local optimization method; the second was the genetic algorithm-based RFPC controller (RFPC-GA). All predictive controllers were designed using the same parameters. Figure 5 shows the evolutions of the temperatures and the thermal flux when the RFPC controller with the local optimization was applied to the thermal process. It also shows that the output sequence followed the set point with slight fluctuations.   For further assessment of the proposed RFPC-GGP controller, a comparison test was used to determine if there were significant similarities or differences between this controller and the two other controllers: the first was the RFPC controller, which was obtained via the local optimization method; the second was the genetic algorithm-based RFPC controller (RFPC-GA). All predictive controllers were designed using the same parameters. Figure 5 shows the evolutions of the temperatures and the thermal flux when the RFPC controller with the local optimization was applied to the thermal process. It also shows that the output sequence followed the set point with slight fluctuations. The RFPC-GA controller was designed using the "GA" toolbox in MATLAB, which is represented as follows: • Codification: the real coding was used because the objective function to be optimized was real; • Fitness function: it is considered by the performance criterion to be optimized; • The size of the population was fixed at 40 individuals; • Stopping conditions: the algorithm stopped when the number of generations reached 100 or if there was no improvement in the performance criterion for 50 successive generations.
The behavior of the response produced by the RFPC-GA controller is shown in Figure 6. These results reveal two facts: the output signal followed the set point and the optimal control yielded by the proposed RFPC-GGP controller was smoother than the one produced by the RFPC-GA controller. The RFPC-GA controller was designed using the "GA" toolbox in MATLAB, which is represented as follows: • Codification: the real coding was used because the objective function to be optimized was real; • Fitness function: it is considered by the performance criterion to be optimized; • The size of the population was fixed at 40 individuals; • Stopping conditions: the algorithm stopped when the number of generations reached 100 or if there was no improvement in the performance criterion for 50 successive generations.
The behavior of the response produced by the RFPC-GA controller is shown in Figure 6. These results reveal two facts: the output signal followed the set point and the optimal control yielded by the proposed RFPC-GGP controller was smoother than the one produced by the RFPC-GA controller. In the actual test, the average (M) and the variance (V) of the control signal were calculated, respectively, by   Table 1 shows the results in terms of the average and the variance for the three RFPC controllers. On the basis of these results, we also deduced that the optimal control produced through the RFPC controller, which was based on global optimization algorithms, presented the least control variance compared to the control law determined by means of the RFPC that was determined by a local optimization method. Moreover, the optimal control determined by the proposed RFPC-GGP was smoother than the one found by the RFPC-GA.  Table 1 shows the results in terms of the average and the variance for the three RFPC controllers. On the basis of these results, we also deduced that the optimal control produced through the RFPC controller, which was based on global optimization algorithms, presented the least control variance compared to the control law determined by means of the RFPC that was determined by a local optimization method. Moreover, the optimal control determined by the proposed RFPC-GGP was smoother than the one found by the RFPC-GA.

RFPC Using STM32 Microcontroller
Embedded computing applications are invading the industrial environment as well as our daily life. Over the last few decades, the continuously increasing needs for technicality have led to the integration of very strong automation in all industrial products. STM32 microcontrollers are based on the ARM ® Cortex ® -M processor and provide greater freedom for MCU users [48]. These devices are an ideal choice for the implementation of complex controls as in our case for fractional predictive control. In the present work, we chose the high-performance STM32F746IGT6 microcontroller to implement the RFPC proposed controller. This microcontroller was characterized by low power consumption, low price, and a wide range of peripherals. The STM32 Keil kit based on a JTAG programming interface was used. Since converting "m" (MATLAB) files to "C" files decreases program runtime performance, we chose to program directly in the Keil language (C/C++).
The analog control was injected into the real system. Subsequently, the output voltage of the real system which is in the interval of 0-1 V is processed after an analogue filter to make it in an interval of 0-3.3 V, since the voltage range supported by the STM32 inputoutput ports is 0-3.3 V. This analog output is sent to the STM32 that converts it using ADC to a digital value and sends it to the Keil compiler ( Figure 7).

RFPC Using STM32 Microcontroller
Embedded computing applications are invading the industrial environment as well as our daily life. Over the last few decades, the continuously increasing needs for technicality have led to the integration of very strong automation in all industrial products. STM32 microcontrollers are based on the ARM ® Cortex ® -M processor and provide greater freedom for MCU users [48]. These devices are an ideal choice for the implementation of complex controls as in our case for fractional predictive control. In the present work, we chose the high-performance STM32F746IGT6 microcontroller to implement the RFPC proposed controller. This microcontroller was characterized by low power consumption, low price, and a wide range of peripherals. The STM32 Keil kit based on a JTAG programming interface was used. Since converting "m" (MATLAB) files to "C" files decreases program runtime performance, we chose to program directly in the Keil language (C/C++).
The analog control was injected into the real system. Subsequently, the output voltage of the real system which is in the interval of 0-1 V is processed after an analogue filter to make it in an interval of 0-3.3 V, since the voltage range supported by the STM32 inputoutput ports is 0-3.3 V. This analog output is sent to the STM32 that converts it using ADC to a digital value and sends it to the Keil compiler (Figure 7).  Figure 8 shows that the temperatures and the thermal flux evolve when the proposed RFPC-GGP controller using the STM32 microcontroller. On the basis of these results, we can deduce the efficiency of the algorithm proposed using the STM32 microcontroller in terms of good tracking and zero static error.  Figure 8 shows that the temperatures and the thermal flux evolve when the proposed RFPC-GGP controller using the STM32 microcontroller. On the basis of these results, we can deduce the efficiency of the algorithm proposed using the STM32 microcontroller in terms of good tracking and zero static error.
x FOR PEER REVIEW 13 of 15

Conclusions
In this work, we presented the design of an RFPC controller for the uncertain noninteger order process. Parameters uncertainties are used to take into consideration the uncertain of the non-integer process that results in solving a non-convex min-max problem. Therefore, the GGP-method-based RFPC-GGP controller was proposed for the non-integer process with structured uncertainties in order to solve this problem. The GGP method, which is a global deterministic optimization method, consisted of converting a non-convex problem into a convex one via the application of variable changes. Consequently, we obtained a new convex criterion and a convex problem. The practical experiments on a fractional thermal system indicated that the proposed RFPC-GGP controller produced good performances, unlike the RFPC controller obtained through the local optimization method and the RFPC-GA controller. In addition, the implementation of the proposed controller on thermal system using the STM32 microcontroller exhibited good performance despite the changing of the thermal process dynamic. In our future works, this may lead to the application of the RFPC-GGP controller to other systems, for example, multiinput multi-output (MIMO) uncertain non-integer systems.

Conclusions
In this work, we presented the design of an RFPC controller for the uncertain noninteger order process. Parameters uncertainties are used to take into consideration the uncertain of the non-integer process that results in solving a non-convex min-max problem. Therefore, the GGP-method-based RFPC-GGP controller was proposed for the non-integer process with structured uncertainties in order to solve this problem. The GGP method, which is a global deterministic optimization method, consisted of converting a non-convex problem into a convex one via the application of variable changes. Consequently, we obtained a new convex criterion and a convex problem. The practical experiments on a fractional thermal system indicated that the proposed RFPC-GGP controller produced good performances, unlike the RFPC controller obtained through the local optimization method and the RFPC-GA controller. In addition, the implementation of the proposed controller on thermal system using the STM32 microcontroller exhibited good performance despite the changing of the thermal process dynamic. In our future works, this may lead to the application of the RFPC-GGP controller to other systems, for example, multi-input multi-output (MIMO) uncertain non-integer systems.