## 3 Control Algorithm Synthesis
### Adaptive Prescribed Performance Control  
The development of the controller will proceed in three steps. First, a PPF is introduced to prescribe the dynamic bound for vertical displacement. Second, the desired control effort is calculated using the backstepping control method. Finally, the actual control input is computed based on the estimated values, and an adaptive law is introduced to compensate for the effects of estimation errors. Step 1. In order to guarantee both the transient and steady-state performance of a vehicle in bounce and roll motion, a PPF in the form of Equation (22) is employed to regulate the dynamic behavior of the sprung mass:  
\[\varphi_{1}(t)=(\varphi_{10}-\varphi_{1\infty})e^{-\sigma_{1}t}+\varphi_{1 \infty}. \tag{26}\]  
Note that the upper and lower bound parameters are selected to be identical i.e., \(\overline{\delta}=\underline{\delta}=1\). Based on this PPF, the transformed errors of x\({}_{1}\) is obtained as  
\[\varepsilon_{1}=T\bigg{(}\frac{e_{1}}{\varphi_{1}}\bigg{)}=\frac{1}{2}ln\frac{ \varphi_{1}+e_{1}}{\varphi_{1}-e_{1}}, \tag{27}\]where \(e_{1}=x_{1}-x_{1,d}\) and \(x_{1,d}\) is the reference value. Taking the time derivative of the transformed error, one can obtain  
\[\dot{e}_{1}=r_{1}\bigg{(}\dot{e}_{1}-\frac{\dot{\varphi}_{1}}{\varphi_{1}}e_{1} \bigg{)}\, \tag{28}\]  
where \(r_{1}=\varphi_{1}/[(\varphi_{1}-e_{1})(\varphi_{1}+e_{1})]\geq 1/\varphi_{1}\) is a positive coefficient calculated using \(\varphi_{1}\) and \(e_{1}\). According to Lemma 1, the prescribed performance (26) can be guaranteed if Equation (27) is controlled to be bounded. Step 2. Considering the transformed error of \(x_{1}\), we select a Lyapunov function as  
\[V_{1}=\frac{1}{2}\dot{e}_{1}^{2}. \tag{29}\]  
Taking the time derivative of the above equation gives  
\[\dot{V}_{1}=\varepsilon_{1}r_{1}\bigg{(}\dot{e}_{1}-\frac{\dot{\varphi}_{1}}{ \varphi_{1}}e_{1}\bigg{)}=\varepsilon_{1}r_{1}\bigg{(}x_{2}-\dot{x}_{1,d}- \frac{\dot{\varphi}_{1}}{\varphi_{1}}e_{1}\bigg{)}. \tag{30}\]  
By letting \(\dot{V}_{1}<0\), the desired value for \(x_{2}\) can be designed as  
\[x_{2,d}=\dot{x}_{1,d}+\frac{\dot{\varphi}_{1}}{\varphi_{1}}e_{1}-k_{1} \varepsilon_{1}, \tag{31}\]  
with \(k_{1}>0\) a design parameter. Select the second Lyapunov function as  
\[V_{2}=\frac{1}{2}\dot{e}_{2}^{2}=\frac{1}{2}(x_{2}-x_{2,d})^{2}. \tag{32}\]  
Taking its time differential gives  
\[\dot{V}_{2}=e_{2}\Big{(}-\theta_{z}^{T}\mathbf{\chi}+\theta_{f}+\theta_{zu}u-\dot {x}_{2,d}\Big{)}. \tag{33}\]  
Therefore, the desired control effort for bounce motion can be obtained as  
\[u^{*}=\frac{1}{\mathbf{\theta}_{u}}\big{[}\mathbf{\theta}_{z}\mathbf{\chi}-\theta_{f}+ \dot{x}_{2,d}-\varepsilon_{1}r_{1}-\mathbf{k}_{2}e_{2}\big{]}, \tag{34}\]  
where \(k_{2}>0\) is a design parameter. Step 3. Due to the existence of the system uncertainties, the ideal control effort (34) can hardly be computed, and thus the practical control signals are obtained by replacing the actual value with the estimated values, given as  
\[u=\frac{1}{\hat{\theta}_{u}}\Big{(}\hat{\theta}_{z}\mathbf{\chi}-\hat{\theta}_{f} +\dot{x}_{2,d}-\varepsilon_{1}r_{1}-k_{2}e_{2}\Big{)}, \tag{35}\]  
where \(\hat{\theta}_{i}\) denotes the estimated value of \(\theta_{i}\). Furthermore, in order to compensate for the influence of estimation errors on the CL stability, we select the third Lyapunov function as  
\[\varepsilon_{1}=T\bigg{(}\frac{e_{1}}{\varphi_{1}}\bigg{)}=\frac{1}{2}ln\frac{ \varphi_{1}+e_{1}}{\varphi_{1}-e_{1}}, \tag{27}\]0Taking its time differential gives  
\[