## 3 Proposed Mechanism
### First Temptative Mechanism  
The possibility to add three translational springs to the classic slider-crank mechanism is explored (Figure 3): one for the \(y\)-translation of the crank-end (\(k_{1}\)); one for the \(x\)-translation of the crank-end (\(k_{2}\)); one for the \(x\)-translation of the slider (\(k_{3}\)). In this first stage the springs are connected to sliders, so that their elongations remain parallel to the main axes \(x\) and \(y\). The free lengths of the springs are such that they do not generate any forces when the mechanism is in the TDC (angle of the crank \(\theta=0\), and angle of the rocker arm link \(\alpha=0\)), i.e., the free length of \(k_{1}\) is zero, the free length of \(k_{2}\) is \(l_{1}\), while the free length of \(k_{3}\) depends on the anchor point. Figure 2: System configuration: the robot holds the workpiece whilst the compliant mechanism holds the grinding wheel. When neglecting friction forces, the principle of virtual work gives:  
\[\delta L=0\rightarrow\sum_{i}\delta L_{i}=\sum_{i}F_{i}\cdot\delta x_{i}=0 \tag{7}\]  
where \(F_{i}\) is the \(i\)-th force applied to the mechanism, \(\delta x_{i}\) is the associated virtual displacement, and \(\delta L_{i}\) the related virtual work. From the mechanism configuration of Figure 3 and (7) it is found that:  
\[F\cdot\delta x-k_{3}x\cdot\delta x-k_{1}s_{1}\cdot\delta s_{1}-k_{2}s_{2} \cdot\delta s_{2}=0 \tag{8}\]  
where:  
\[ \begin{array}{ccc}s_{1}=l_{1}\sin\theta&\rightarrow&\delta s_{1}=l_{1}\cos \theta\cdot\delta\theta\\ s_{2}=l_{1}(1-\cos\theta)&\rightarrow&\delta s_{2}=l_{1}\sin\theta\cdot \delta\theta\end{array}  \tag{9}\]  
Substituting \(s_{1}\), \(s_{2}\), and their differentials in (8) results in:  
\[(F-k_{3}x)\delta x-\Big{(}k_{1}l_{1}^{2}\sin\theta\cos\theta+k_{2}l_{1}^{2}(1 -\cos\theta)\sin\theta\Big{)}\delta\theta=0 \tag{10}\]  
It is possible to calculate the magnitude of the force \(F\) that is balanced by the springs in each configuration of the mechanism starting from the speed ratios of the slider-crank mechanism:  
\[\tau_{\theta x}=\frac{\dot{\theta}}{\dot{x}}=\frac{\cos(\alpha)}{l_{1}\sin( \alpha+\theta)}=\frac{\delta\theta}{\delta x}\ \,\ \ \tau_{\alpha x}=\frac{\dot{\alpha}}{\dot{x}}=\frac{\cos(\theta)}{l_{1}\sin( \alpha+\theta)}=\frac{\delta\alpha}{\delta x} \tag{11}\]  
and using them in (10), which results in:  
\[F=k_{3}x+\frac{k_{1}l_{1}\sin\theta\cos\theta\cos\alpha+k_{2}l_{1}(1-\cos \theta)\sin\theta\cos\alpha}{\sin(\alpha+\theta)} \tag{12}\]  
This equation is only a function of the variable \(x\), since \(\alpha\) and \(\theta\) can be written as:  
\[ \begin{array}{c}\theta=\arccos\Big{(}\frac{l_{1}^{2}+(l_{1}+l_{2}-x)^{2}-l_ {2}^{2}}{2l_{1}(l_{1}+l_{2}-x)}\Big{)}\\ \alpha=\arcsin\Big{(}\frac{l_{1}}{l_{2}}\sin\theta\Big{)}\end{array}  \tag{13}\]  
Starting from (12) it is possible to obtain different behaviors of the mechanism by changing the stiffnesses of springs and link lengths. As an example, in Figure 4 two configurations are shown: to the left only the springs \(k_{1}\) and \(k_{2}\) are used, while to the right only \(k_{1}\) and \(k_{3}\) are used. In the first case the mechanism can withstand higher forces with the increase of \(x\), whereas in the second case the opposite happens. Figure 3: Slider-crank mechanism with three translational springs, two of which are connected to sliders so that their movement is purely along one axis. \(l_{1}\) is the crank length, \(l_{2}\) is the rocker arm link length. It is important to notice that the force \(F\) results in a finite value when the mechanism is close to the TDC configuration, and this force is a function of \(k_{1}\) only, i.e., (12) when \(x\to 0\) and using (13) becomes:  
\[\underset{x\to 0}{\lim}F=k_{1}\frac{l_{1}l_{2}}{l_{1}+l_{2}} \tag{14}\]  
In sum, both progressive and regressive forces as a function of the slider displacement can be obtained with the proposed mechanism and layout, together with a finite value force for configurations close to the TDC.