# Detecting and Controlling Slip through Estimation and Control of the Sliding Velocity
## 4 Data Collection and Parameter Estimation  
The sliding velocity observer relies on the knowledge of the system physical parameters, which needs to be estimated. In particular, friction coefficients such as \(\mu\) and \(\beta_{A}\) are of paramount importance to detect the slip and estimate the slip velocity. For this reason, in this work, we conducted an extensive data collection campaign to validate the ability of the observer to estimate the sliding velocity.  
The experimental setup used to this aim is depicted in Figure 4. The SUNTouch finger was mounted on a reference 6-axis force/torque sensor, the ATI Nano43, by ATI Industrial Automation, USA, which was able to accurately measure the friction forces exchanged between the fingertip and the slider. The planar slider was a flat object rigidly mounted on a Meca500 robot by Mecademic Robotics, CA. The robot was commanded to push the slider against the fingertip and apply various combinations of forces and torques, resulting in sliding motions. The ground-truth velocity \(\omega\) was measured as the robot end-effectorvelocity obtained via joint encoders and forward differential kinematics. The data were collected with a ROS network and MATLAB.  
A cardboard layer was attached to the slider. If the slider was rigid, the deformation of the fingertip depended only on the soft fingertip material and not on the slider [24]; thus, the only parameters that depended on the slider were the friction parameters \(\mu\) and \(\beta_{A}\). The remaining parameters can be estimated once and also used for other rigid planar sliders.  
The parameter estimation problem can be formalized as the following optimization algorithm:  
\[\min_{\mathcal{P}}\frac{1}{N}\sum_{k=1}^{N}(\partial_{k}-\omega_ {k})^{2} \tag{32}\] \[\text{s.t.}\quad\begin{bmatrix}\hat{z}_{k}\\ \hat{\omega}_{k}\end{bmatrix}=f_{d}(\hat{\omega}_{k-1},y_{k-1};\mathcal{P}) \tag{33}\]  
where \(f_{d}\) is a discrete-time version of the observer (21) and (22), \(k\) is the sample-time instant, and \(N\) is the total number of samples. The vector \(\mathcal{P}\) contains the model parameters to be identified, i.e., \(\mu\), \(\beta_{A}\), \(\sigma_{1}\), \(\sigma_{z}\), \(\delta\), and \(\gamma\). The time discretization of the observer equations is not trivial. The dynamics of the internal friction state variable \(z\) is very fast, yielding a very stiff equation. This means that simple numerical methods for solving the equation are numerically unstable unless the step size is extremely small. We found that, to discretize the observer, it was not possible to adopt the classical Euler discretization, thus, we adopted the fourth-order Runge-Kutta method (RK4).  
The results of the parameter estimation problem (32) are reported in Figure 5, and the corresponding parameters are in Table 1. The figure shows 1342 sliding maneuvers applied with the setup in Figure 4; the robot pushes the slider against the fingertip with increasing forces and torques, resulting in increasing sliding velocity. Finally, the ground-truth sliding velocity \(\omega\), together with the tangential force \(f_{t}\) and torque \(\tau\) measured by the F/T sensor, were used as input to the optimization problem (32) solved with the sequential quadratic programming (SQP) algorithm. To facilitate the convergence, it was useful to bound the parameter space. Some parameters could be theoretically bounded (e.g., \(0<\gamma<1/3\)[24]), and others could be roughly estimated with a single sliding maneuver. Thus, it was also possible to provide a reasonable initial guess for the optimization algorithm. The resulting parameters (Table 1) yielded the estimated velocity \(\widehat{\omega}\) in Figure 5 (red line). The results  
Figure 4: Setup for data acquisition.  
clearly show that the velocity observer is able to correctly estimate the ground-truth sliding velocity and catches all the sliding events with a root-mean-square error (RMSE) of 0.0222 rad/s.