comment vous trouver cette idee : The Double Power Super Twisting Sliding Algorithm (DPSTA) was developed to enhance the performance of the traditional Super Twisting algorithm by utilizing the double power sliding law. The key innovation is to replace the switching function of the Super Twisting algorithm with the Double Power Sliding Mode Reaching Law (DPSMRL). The basic structure of this algorithm is described as follows:

\[
\left\{
\begin{array}{l}
\frac{dx_1}{dt} = -k_1 \varphi_1(x_1) + x_2 + \phi_1(x_1, t) \\
\frac{dx_2}{dt} = -k_2 \varphi_2(x_1) + \phi_2(x_2, t)
\end{array}
\right.
\]

Where:
\[
\left\{
\begin{array}{l}
\varphi_1(x) = |x|^{1/2} \text{sign}(x) + \lambda |x|^{3/2} \text{sign}(x) \\
\varphi_2(x) = \left(\varphi_1(x)\right)^2 = 2\varphi_1(x) \cdot \frac{d}{dx}\varphi_1(x) = \text{sign}(x) + 4\lambda |x| \text{sign}(x) + \frac{3}{2} \lambda^2 |x|^2 \text{sign}(x)
\end{array}
\right.
\]
with \(\lambda \geq 0\), and \(k_1, k_2\) being sliding mode gain coefficients.

If for constants \(\delta_1 \geq 0\) and \(\xi_1 = \frac{1}{\varphi'_1(x_1)}\), the conditions:
\[
|\phi_1| \leq \delta_1 |\xi_1| \quad \text{and} \quad \phi_2 = 0; \, \forall t \geq 0
\]
are satisfied, the system will converge to the equilibrium point \(x(0,0)\) in finite time, provided that the sliding mode gains \(k_1\) and \(k_2\) satisfy the following criteria:
\[
\left\{
\begin{array}{l}
k_1 > 2\delta_1 \\
k_2 > k_1 \cdot \frac{5\delta_1 k_1 + 4\delta_1^2}{2(k_1 - 2\delta_1)}
\end{array}
\right.
\]
The proof of finite-time stability and convergence time estimation is detailed in our previous paper [10].

In [10], we also present the control command for DPSTA as follows:
\[
u(t) = -k_1 \left( |s(t)|^{1/2} + \lambda |s(t)|^{3/2} \right) \text{sign}(s(t)) - \int k_2 \left( 1 + 4\lambda |s(t)| + \frac{3}{2} \lambda^2 |s(t)|^2 \right) \text{sign}(s(t))
\]
where \(s(t)\) is the sliding variable.

While this controller guarantees system stability as long as the gains meet the stability conditions (13), these conditions permit a broad range of gain values, complicating the precise calculation of optimal values for \(k_1\) and \(k_2\). This poses challenges in designing optimal controller parameters.

To overcome this issue, we have developed an adaptive sliding-mode controller based on a single neuron that adjusts the sliding mode controller's gain in real-time. This strategy leverages the adaptability and simplicity of the single neuron control approach while incorporating DPSTA control theory. The design of this control algorithm is outlined below.

### Single-Neuron Double Power Super Twisting Controller Design

Figure 1 presents the overall block diagram of the proposed Single Neuron Double Power Super Twisting Sliding Controller (SN_DPSTC).

Given that the single neuron controller operates in a numerical environment, it was necessary to discretize the continuous DPSTA control command (10). The direct finite difference method was used for this discretization, transforming the continuous controller into an incremental one suited for digital implementation.

The discrete version of \(u(t)\) is:
\[
u(k) = k_1' |s(k)|^{1/2} \text{sign}(s(k)) + k_2' |s(k)|^{3/2} \text{sign}(s(k)) + k_3' \sum_{i=0}^{k} \text{sign}(s(i)) + k_4' \sum_{i=0}^{k} |s(i)| \text{sign}(s(i)) + k_5' \sum_{i=0}^{k} |s(i)|^2 \text{sign}(s(i))
\]
where:
\[
\left\{
\begin{array}{l}
k_1' = k_1 \\
k_2' = k_1 \lambda \\
k_3' = k_2 \\
k_4' = 4k_2 \lambda \\
k_5' = \frac{3}{2} k_2 \lambda^2
\end{array}
\right.
\]
The incremental control law becomes:
\[
\Delta u(k) = u(k) - u(k-1)
\]
\[
\Delta u(k) = k_1' \left( |s(k)|^{1/2} \text{sign}(s(k)) - |s(k-1)|^{1/2} \text{sign}(s(k-1)) \right)
+ k_2' \left( |s(k)|^{3/2} \text{sign}(s(k)) - |s(k-1)|^{3/2} \text{sign}(s(k-1)) \right)
\]
\[
+ k_3' \text{sign}(s(k)) + k_4' |s(k)| \text{sign}(s(k)) + k_5' |s(k)|^2 \text{sign}(s(k))
\]

The state variables are defined as:
\[
\left\{
\begin{array}{l}
x_1(k) = |s(k)|^{1/2} \text{sign}(s(k)) - |s(k-1)|^{1/2} \text{sign}(s(k-1)) \\
x_2(k) = |s(k)|^{3/2} \text{sign}(s(k)) - |s(k-1)|^{3/2} \text{sign}(s(k-1)) \\
x_3(k) = \text{sign}(s(k)) \\
x_4(k) = |s(k)| \text{sign}(s(k)) \\
x_5(k) = |s(k)|^2 \text{sign}(s(k))
\end{array}
\right.
\]
These state variables serve as inputs to the single neuron, each with an associated weighting factor \(\omega_i(k)\). The incremental control law is then:
\[
\Delta u(k) = K \sum_{i=1}^5 \omega_i(k) x_i(k)
\]
where \(K > 0\) is the neuron gain coefficient. Hence:
\[
\left\{
\begin{array}{l}
k_1' = K \omega_1(k) \\
k_2' = K \omega_2(k) \\
k_3' = K \omega_3(k) \\
k_4' = K \omega_4(k) \\
k_5' = K \omega_5(k)
\end{array}
\right.
\]

Adaptive learning adjusts the weight coefficients dynamically in response to error variations, ensuring faster and more stable model convergence. The objective function \(J\) is defined as the squared error:
\[
J = \frac{s(k)^2}{2}
\]
The weight updates follow the rule:
\[
\Delta \omega_i(k) = -\eta_i \frac{\partial J}{\partial \omega_i}
\]
Using Hebb's supervised learning:
\[
\Delta \omega_i(k) = \eta_i s(k) u(k-1) \left( 2s(k) - s(k-1) \right)
\]
To prevent uncontrolled growth of the weights, they are normalized:
\[
\Delta u(k) = K \sum_{i=1}^5 \frac{\omega_i(k)}{\sum_{i=1}^5 \omega_i(k)} x_i(k)
\]
Finally, the Double Power Super Twisting controller is expressed as:
\[
u(k) = u(k-1) + K \sum_{i=1}^5 \frac{\omega_i(k)}{\sum_{i=1}^5 \omega_i(k)} x_i(k)
\]