# Detecting and Controlling Slip through Estimation and Control of the Sliding Velocity
## 2 Contact Modeling
Applying such normalization, the complete expression of the normalized friction force \(\tilde{f}_{t}\) and torque \(\tilde{\tau}\) (i.e., the superposition of the dry (5) and (6) and viscous (7) and (8) components) can be written as  
\[J\dot{\omega} =-\sigma_{1}(f_{n},c)\omega-\sigma_{0}z-\sigma_{z}\dot{z}+\tau_{ c}, \tag{2}\]2 \[J\dot{\omega} =-\sigma_{1}(f_{n},c)\omega-\sigma_{0}z-\sigma_{z}\dot{z}+\tau_{ c}, \tag{2}\]3  
Such expressions relate the friction forces and torques with the CoR position \(c\) only outside and on the LS, but not inside it. To also define the CoR when the forces are inside the LS, we have to resort to the virtual CoR definition and consider what happens when the normal force varies. Inside the LS, there is no viscous friction; hence, the friction force and torque are simply given by the normalization formula  
\[J\dot{\omega} =-\sigma_{1}(f_{n},c)\omega-\sigma_{0}z-\sigma_{z}\dot{z}+\tau_{ c}, \tag{2}\]4 \[J\dot{\omega} =-\sigma_{1}(f_{n},c)\omega-\sigma_{0}z-\sigma_{z}\dot{z}+\tau_{ c}, \tag{2}\]5  
where the dependence on the normal force is in the definition of the maximum friction force and torque \(f_{t\text{max}}\) (3) and \(\tau_{\text{max}}\) (4). The (virtual) CoR in such a case can be computed by considering that the sliding happens when \(f_{n}\) is such that the point (\(\tilde{f}_{t}\), \(\tilde{\tau}\)) coincides with the normalized LS point (\(\tilde{f}_{t\text{LS}}\), \(\tilde{\tau}_{t\text{LS}}\)). Finally, by combining (11) and (12) when the forces are inside the LS and (9) and (10) when they are outside it, the CoR position \(c\) can be estimated with the following algorithm:  
\[ \begin{array}{ll}\tilde{c}:&|\sigma|=\frac{\left|\tilde{f}_{t\text{LS}}^{*} (\tilde{c})\right|^{\gamma+1}}{\tau_{\text{LS}}^{*}(\tilde{c})}&\text{if }(f_{t},\tau)\in\mathcal{V}_{L}\\ &\text{s.t. }\operatorname{sign}(\tilde{c})=-\operatorname{sign}(f_{t}) \operatorname{sign}(\tau)&\text{and }\tau\
eq 0\\ \tilde{c}:&\tilde{f}_{t}=\operatorname{sign}(\tau)\tilde{f}_{t\text{LS}}^{*}( \tilde{c})+&\text{if }(f_{t},\tau)\
ot\in\mathcal{V}_{L}\\ &\quad-2\tilde{\xi}\sigma(\tau-\operatorname{sign}(\tau)\tilde{\tau}_{\text{ LS}}^{*}(\tilde{c}))^{\prime}&\text{and }\tau\
eq 0\end{array}  \tag{13}\]  
where  
\[\sigma=\frac{\xi\delta}{\mu^{\gamma}}\frac{|f_{t}|^{\gamma+1}}{\tau}, \tag{14}\]  
and \(\mathcal{V}_{L}\) is the limit volume, i.e., the set of points inside the LS. The conditions in (13) can be easily checked by resorting to the convexity of the LS, i.e.,  
\[(f_{t},\tau)\in\mathcal{V}_{L}\iff\tilde{f}_{t}^{2}+\tilde{\tau}^{2}<\tilde{f }_{t\text{LS}}^{*}(\tilde{c})^{2}+\tilde{\tau}_{\text{LS}}^{*}(\tilde{c})^{2}. \tag{15}\]  
Given the CoR position, it is possible to write the expression of the torques about the CoR axes needed by the dynamic system (1) and (2). The friction torque about the CoR axis  
Proof. : The nonlinear system in (1), (2), and (19) can be written in the more compact form  
\[\dot{\mathbf{x}} = f(\mathbf{x},\tau_{c}) \tag{24}\] \[y = h(\mathbf{x})=H\mathbf{x}, \tag{25}\]  
where \(\mathbf{x}=[z,\,\omega]^{\top}\) is the state vector, \(\mathbf{f}(\mathbf{x},\tau)\) is a vector function whose components are the second members of the state-space Equations (1) and (2), and the output matrix is  
\[\mathbf{H}= \begin{bmatrix}\sigma_{0}&\sigma_{1}\end{bmatrix}  \tag{26}\]  
According to [26], the local observability of the system (24) and (25) is ensured at any initial state \((z(0),\,\omega(0))\in\mathcal{M}\) if the following matrix has rank \(2\,\forall(z,\,\omega)\in\mathcal{M}\):  
\[\mathbf{\Theta}(\mathbf{x})= \begin{bmatrix}\mathrm{d}\mathbf{h}\\ \mathcal{L}_{\mathbf{f}}^{1}\mathrm{d}\mathbf{h}\end{bmatrix} , \tag{27}\]  
where \(\mathrm{d}\mathbf{h}\) represents the Jacobian of the vector function \(\mathbf{h}\), and \(\mathcal{L}_{\mathbf{f}}^{1}\) represents the Lie derivative operator along \(\mathbf{f}\) of order 1. For the system (24) and (25), \(\mathbf{\Theta}(\mathbf{x})\) can be written as  
\[