# Central Non-Linear Model-Based Predictive Vehicle Dynamics Control
## 3 Central Predictive Control
### Optimization
This passive roll angle \(\varphi_{p}\) is then scaled by a scaling factor \(\zeta\) in order to determine the dynamic roll angle specification \(\varphi_{\text{Ref}}\):  
\[\varphi_{\text{Ref}}=\zeta\varphi_{p}. \tag{33}\]  
This dynamic reference roll angle specification improves comfort and safety overall, since the roll behavior is significantly reduced while still maintaining feedback of the lateral dynamics to the driver. For the pitch and self-steering behavior, static reference values are specified. The pitch angle specification \(\theta_{\text{Ref}}\) corresponds to the stationary pitch angle of the vehicle. The specification of the self-steering gradient \(SSG_{\text{Ref}}\) is used to achieve an understeering vehicle behavior corresponding to the passive vehicle behavior. In addition to maintaining the reference trajectories, the optimization also takes into account the energy requirements of the actuators, which should be set to a minimum. For this reason, the weighting factors \(\lambda\) are introduced within the optimization. Thus, the focus can be set on the control quality as well as on the energy demand:  
\[\lambda=(\lambda_{R},\lambda_{P},\lambda_{S},\lambda_{u1},\lambda_{u2},\lambda _{u3},\lambda_{u4},\lambda_{u5},\lambda_{u6})^{\text{T}}. \tag{34}\]  
During the optimization, the cost function \(f(\mathbf{u}(k),\mathbf{x}(k),\mathbf{x}_{\text{Ref}}(k))\) is minimized for the entire prediction horizon \(n_{p}\) by adjusting the parameters of the polynomials \(\mathbf{a}\). The optimization toolbox using the interior-point algorithm of MATLAB is used to solve the optimization [28,29]:  
\[ \begin{array}{l}\underset{a}{\min}f\Big{(}\mathbf{u}(k),\mathbf{x}(k),\mathbf{x}_{Ref}( k)\Big{)}=\\ \frac{1}{n_{p}}[\lambda_{R}\sum\limits_{k=0}^{n_{p}}\Big{(}\varphi_{Ref}(k)- \varphi(k)\Big{)}^{2}\\ +\lambda_{S}\sum\limits_{k=0}^{n_{p}}\left(SSG_{Ref}(k)-SSG(k)\right)^{2}+ \lambda_{P}\sum\limits_{k=0}^{n_{p}}\left(\theta_{Ref}(k)-\theta(k)\right)^{2} \\ +\lambda_{u1}\sum\limits_{k=0}^{n_{p}}\left(u_{1}(k)\right)^{2}+\lambda_{u2} \sum\limits_{k=0}^{n_{p}}(u_{2}(k))^{2}+\lambda_{u3}\sum\limits_{k=0}^{n_{p}} \left(u_{3}(k)\right)^{2}\\ +\lambda_{u4}\sum\limits_{k=0}^{n_{p}}\left(u_{4}(k)\right)^{2}+\lambda_{u5} \sum\limits_{k=0}^{n_{p}}\left(u_{5}(k)\right)^{2}+\lambda_{u6}\sum\limits_{k=0 }^{n_{p}}\left(u_{6}(k)\right)^{2}].\end{array}  \tag{35}\]  
The result of the optimization is a set of optimal polynomial parameters over the entire prediction horizon, from which optimal manipulated variable trajectories are obtained. Finally, the principle of the receding horizon is applied [22]. Only the manipulated variables for the next time step are taken from the optimal manipulated variable trajectories and passed on to the actuator models. In the next time step, the entire process of prediction and optimization is repeated. This allows the non-linear model-based predictive control to adapt to non-modeled disturbances in an optimal way. Furthermore, the warm-start method is used [30], in which the last determined optimal polynomial parameters are used as a starting point for the optimization in the following time step. As a result, the number of iterations within the optimization can be reduced.