## 3 Extremum Seeking with Prescribed Performance Control
### Extremum Seeking Control  
Extremum seeking control is a feedback control method that seeks to optimize a system without the knowledge of the model and maintain it to the optimal operating point by adjusting iteratively its parameters to find the optimal value that maximizes or minimizes a given objective function. There are several variations of ESC that differ in the specific method used to estimate the objective function and compute the gradient. These methods include perturbation-based ESC, harmonic ESC, and sliding mode ESC, among others. Each method has its own advantages and limitations and is typically chosen based on the specific requirements and characteristics of the system to be controlled. In this case, in order to explore the parameter space and find the optimal value the system is perturbed with a sinusoidal excitation signal. Adopting the methods proposed in [8], a single parameter ESC design for a non-linear plant is proposed in Figure 2.  
After extensive analysis and with respect to our platoon system of \(N\) vehicles, the dynamics of the system can be summarized as:  
\[\dot{x}_{i} =f(x_{i},z_{i}(x_{i},\dot{\theta}_{i}+a_{i}\sin\omega_{i}t)) \tag{14}\] \[\dot{\theta}_{i} =k_{i}\dot{x}_{i}\] (15) \[\dot{\xi}_{i} =-\omega_{l_{i}}\xi_{i}+\omega_{l_{i}}(y_{i}-n_{i})a_{i}\sin \omega_{i}t\] (16) \[\dot{n}_{i} =-\omega_{h_{i}}+\omega_{h_{i}}y_{i},\hskip 56.905512 pt\text{ for }i=1,\ldots N. \tag{17}\]  
where \(\dot{x}_{i}\) is the state and \(\theta_{i}\) is the equilibrium of the system. Moreover, \(z_{i}\) is a known control law parameterized by \(\theta_{i}\) and \(a_{i},\omega_{i},\omega_{l_{i}},\omega_{h_{i}},k_{i},a_{i}(0),\dot{\theta}_{i} (0)\) are tuning parameters with the low-frequency components signal stated as \(n_{i}\). In our case, \(x_{i}=[p_{i},u_{i}]^{T}\), \(\theta_{i}=\Delta_{i-1,i}\), with the optimal point \(\theta_{i}^{*}=\Delta_{i-1,i}^{*},z_{i}\), is the control law from the PPC part and \(y_{i}=h(x_{i})\) is the objective function. The target is to deploy an objective function that approximates the aerodynamic drag. Studies in [3; 20] show that the relation of the \(C_{d}\) coefficient with the inter-vehicular distance, as Equation (3) shows, cannot be measured and thus in [19] an observer is proposed. Hence, \(y_{i}=h(x_{i})\) can be a function that contains that value. Since the goal is to minimize the drag, \(y\) should be replaced by \(-y\), yet the design is the same; thus, \(y_{i}=-f(\hat{C}_{d_{i}})\). The reasoning and proof of that point can be found [8]. Additionally, a quick inspection of the main assumptions should be conducted to prove the stability of the ESC. 1. There exists a smooth function \(l:\mathbb{R}\rightarrow\mathbb{R}^{n}\) such that \(f(x_{i},a_{i}(x_{i},\theta_{i}))=0\) if and only if \(x_{i}=l(\theta_{i})\). The assumption is satisfied considering \(\theta_{i}=\Delta_{i-1,i},l(\Delta_{i-1,i})=\Delta_{i-1,i}\). 2. For each \(\theta_{i}\in\mathbb{R}\), the equilibrium \(x_{i}=l(\theta_{i})\) of the system is locally exponentially stable. The stability proof of the PPC controller proves it. 3. There exists \(\theta_{i}^{*}=\Delta_{i-1,i}^{*}\in\mathbb{R}\) such that \[(h\circ l)^{\prime}(\theta_{i}^{*}) =0\] \[(h\circ l)^{\prime\prime}(\theta_{i}^{*}) >0\] (18)  
Observing the graph results in [3; 20] there seems to be a unique point between two consecutive vehicles in a platoon where the aerodynamic drag coefficient, that has a continuous profile, has the lowest value. That statement proves the above two properties. At this point, the main idea of the design has been completed. However, it should be highlighted that the use of sinusoidal perturbation in the aforementioned scheme results in undesired steady-state oscillations, which exhibit unnecessary platoon actions that can lead not only to increased fuel consumption but also to drive discomforts and eventually a risk of collision. In [21], an ESC with attenuated steady-state oscillation (ESCWAO) is proposed and the authors in [19] adopt the method for a similar purpose.