# Adaptive Cruise Control Based on Model Predictive Control with Constraints Softening
## 4 Multi-Objective ACC Strategy with Constraint Softening
### System Constraints  
When designing the MPC optimization problem, the physical constraint of the system must be taken into account. The bounds of the desired acceleration are the most common constraints for the MPC problem. This paper limits the upper and lower bound of the desired acceleration by  
\[\underbrace{\left[\begin{array}{c}u_{\text{min}}\\ u_{\text{min}}\\ \vdots\\ u_{\text{min}}\end{array}\right]}_{U_{\text{min}}}\leq\underbrace{\left[ \begin{array}{c}u(k)\\ u(k+1)\\ \vdots\\ u(k+c-1)\end{array}\right]}_{U_{c}}\leq\underbrace{\left[\begin{array}{c}u_{ \text{max}}\\ u_{\text{max}}\\ \vdots\\ u_{\text{max}}\end{array}\right]}_{U_{\text{max}}} \tag{16}\]  
where \(u_{\text{min}}\) and \(u_{\text{max}}\) represent the minimum and maximum values of the target acceleration of the host vehicle, respectively.  
Limited by the physical condition of the ACC system, the change rate of the desired acceleration between each step cannot be infinite. Therefore, the change rate of the desired acceleration also has a bound, which is expressed by the following equation:  
\[\underbrace{\left[\begin{array}{c}\Delta u_{\min}\\ \Delta u_{\min}\\ \vdots\\ \Delta u_{\min}\end{array}\right]}_{\Delta U_{\min}}\leq\left[\begin{array}{ c}u(k)-u(k-1)\\ u(k+1)-u(k)\\ \vdots\\ u(k+c-1)-u(k+c-2)\end{array}\right]\leq\underbrace{\left[\begin{array}{c} \Delta u_{\max}\\ \Delta u_{\max}\\ \vdots\\ \Delta u_{\max}\end{array}\right]}_{\Delta U_{\max}} \tag{17}\]  
where \(\Delta u_{\min}\) and \(\Delta u_{\max}\) represent the minimum and maximum values of the target jerk. It can be transformed to the following equation:  
\[\underbrace{\left[\begin{array}{c}\Delta u_{\min}+u(k-1)\\ \Delta u_{\min}\\ \vdots\\ \Delta u_{\min}\end{array}\right]}_{\Delta U_{\min 2}}\leq\underbrace{\left[\begin{array}{ ccc}I\\ -I&I\\ &\ddots&\ddots\\ &&-I&I\end{array}\right]}_{\Lambda}\underbrace{\left[\begin{array}{c}u(k) \\ u(k+1)\\ \vdots\\ u(k+c-1)\end{array}\right]}_{u(k+c-1)}\leq\underbrace{\left[\begin{array}{ c}\Delta u_{\max}+u(k-1)\\ \Delta u_{\max}\\ \vdots\\ \Delta u_{\max}\end{array}\right]}_{\Delta U_{\max 2}} \tag{18}\]  
Therefore, the desired acceleration constraint condition can be expressed as  
\[\underbrace{\Lambda^{-1}\Delta U_{\min 2}}_{\Delta U_{\min}}\leq U_{c}\leq \underbrace{\Lambda^{-1}\Delta U_{\max 2}}_{\Delta U_{\max}} \tag{19}\]  
To achieve the ideal performance of the ACC system, the inter-distance \(\Delta x\)(k), the velocity \(v(k)\), the acceleration \(a(k)\), and the jerk of the host vehicle \(j(k)\) are limited in this paper. Therefore, we define a new vector \(\chi(k)=[\Delta x(k),\,v(k),\,a(k),j(k)]^{\mathrm{T}}\) and limit this vector at each step of the prediction space by  
\[\underbrace{\left[\begin{array}{c}\chi_{\min}\\ \chi_{\min}\\ \vdots\\ \chi_{\min}\end{array}\right]}_{\overline{M}}\leq\underbrace{\left[\begin{array} []{c}\chi(k+1)\\ \chi(k+2)\\ \vdots\\ \chi(k+c)\end{array}\right]}_{\hat{x}}\leq\underbrace{\left[\begin{array}{ c}\chi_{\max}\\ \chi_{\max}\\ \vdots\\ \chi_{\max}\end{array}\right]}_{\overline{N}} \tag{20}\]  
where \(\chi_{\min}\) and \(\chi_{\max}\) are the minimum and maximum values of the vector \(\chi\). \(\chi_{\min}=[d_{\mathrm{c}},\,v_{\min},\,a_{\min},\,j_{\min}]^{\mathrm{T}}\) and \(\chi_{\max}=[\inf,\,v_{\max},\,a_{\max},\,j_{\max}]^{\mathrm{T}}\).  
The above constraint can be rewritten as  
\[\underbrace{\left[\begin{array}{c}\chi_{\min}\\ \chi_{\min}\\ \vdots\\ \chi_{\min}\end{array}\right]}_{\overline{M}}\leq\overline{L}\widehat{X}_{ \mathrm{p}}(k+p|k)\leq\underbrace{\left[\begin{array}{c}\chi_{\max}\\ \chi_{\max}\\ \vdots\\ \chi_{\max}\end{array}\right]}_{\overline{N}} \tag{21}\]with  
\[L=\left[\begin{array}{ccccc}1&0&0&0&0\\ 0&1&0&0&0\\ 0&0&0&1&0\\ 0&0&0&0&1\end{array}\right]\overline{L}=\left[\begin{array}{ccccc}L&&&&\\ &L&&&\\ &&\ddots&&\\ &&&L&\\ &&&L\end{array}\right].\]  
According to the prediction model, the above performance constraint can be rewritten as  
\[\overline{M}-\overline{L}\Phi_{1}\leq\overline{LB}U_{c}\leq \overline{N}-\overline{L}\Phi_{1} \tag{22}\]