# On-Board Road Friction Estimation Technique for Autonomous Driving Vehicle-Following Maneuvers
## 5 Design of the Road-Grip Aware Control Modules
### Predictive ACC Design  
The ACC is responsible for longitudinal tracking in the autonomous vehicle-following process, so that the vehicle velocity is regulated to a desired speed, while maintaining a safety distance from the preceding vehicle, often named as leading vehicle in the technical literature. The controller is hierarchical and it is composed of a double feedback layer. Namely, the upper-control layer, acts as a reference governor generating the appropriate acceleration profile to be tracked, while also complying additional constraints related to driving comfort and energy consumption. The lower level is responsible for commanding the actuators and, hence, its robust design depends on the specific vehicle configuration. Here, we focus on the design of the upper layer controller generating reference trajectories able to also improve driving safety leveraging the on-line prediction of road conditions. The predicted ACC is designed following the Model Predictive Control (MPC) approach allowing the continuous constrained optimization of the vehicle longitudinal dynamics. In contrast to the LQR, the MPC solves the problem over a finite time window, or prediction horizon, to make it tractable online. The optimization generates a sequence of control inputs to be imposed over the control horizon, but, according to the receding horizon principle, only the first element of the sequence is effectively applied to the plant. New inputs are received at the following time intervals and the procedure is iteratively repeated. In order to design the controller, let us define a control oriented mode according the vehicle-following paradigm [55]:  
\[\dot{d}(t)=\Delta v(t), \tag{21}\] \[\dot{\Delta}v(t)=a_{lead}(t)-a(t), \tag{22}\]  
where \(d(t)\) is the distance between the leading vehicle and the ego vehicle, while \(\Delta v(t)=v-v_{lead}\) is their relative velocity (while \(a_{lead}\) is the leading acceleration) and the velocity of the chassis of the ego vehicle \(v(t)\) undergoes the following longitudinal dynamics [55]:  
\[\vartheta(t)=a(t), \tag{23}\] \[\dot{a}(t)=\frac{1}{\tau}(-a(t)+u(t)), \tag{24}\]  
where \(a(t)\) is the actual vehicle acceleration and \(\tau\) the driveline time constant and \(u(t)\) the acceleration input. Define now the distance error with respect to the desired space gap as \(e(t)=d(t)-d_{des}(t)\), where the spacing policy \(d_{des}(t)\) is computed as in Equation (3) with the head-way time being the following piece-wise function of the road grip:  
\[\tau_{H}= \begin{cases}\widetilde{\tau}_{H}/0.2&\widehat{\mu}\leq 0.2\\ \widetilde{\tau}_{H}/\widehat{\mu}&0.2<\widehat{\mu}\leq 1\\ \widetilde{\tau}_{H}&\widehat{\mu}>1\end{cases}  \tag{25}\]  
where \(\widehat{\mu}\) is the estimated maximum available grip and \(\widetilde{\tau}_{H}\) is the constant headway for an ideal dry road [28]. Note that Equation (25) ensures that the safety distance increases as the peak road friction decreases. Let the state vector as \(x(t)=[d(t)\ \Delta v(t)\ \ v(t)\ \ a(t)]^{T}\in\mathbb{R}^{4}\), the output vector as \(y(t)=[e(t)\ \Delta v(t)\ \ v(t)\ a(t)]^{T}\in\mathbb{R}^{4}\) and \(w(t)\in\mathbb{R}\) as the leader acceleration, i.e., \(w(t)=a_{lead}(t)\). The system in Equations (21) and (23) can be easily recast in the following state space representation  
\[\dot{x}(t) =Ax(t)+Bu(t)+Ww(t), \tag{26}\] \[y(t) =Cx(t)-Z, \tag{27}\]  
being  
\[A= \begin{bmatrix}0&1&0&0\\ 0&0&0&-1\\ 0&0&0&1\\ 0&0&0&-\frac{1}{\tau}\end{bmatrix} ,B= \begin{bmatrix}0\\ 0\\ 0\\ \frac{1}{\tau}\end{bmatrix} ,W= \begin{bmatrix}0\\ 1\\ 0\\ 0\end{bmatrix} ,C= \begin{bmatrix}1&-\tau_{H}&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix} ,Z= \begin{bmatrix}d_{0}\\ 0\\ 0\\ 0\end{bmatrix} .