## 2 Materials and Methods
Goal was to have at least one sensor as close to the source as possible, and so, a pair of grippers, one near start and one near end position, were chosen. Lastly, as grippers G3 and G4 showed larger extremes, they were the final choice and sensors were placed as shown in Figure 4.  
Data were then processed in MATLAB (MathWorks, Inc., Sentic, MA, USA). The initial signal was cut, so only the milling part would be assessed, and measured voltage was converted to acceleration by output scaling [52]. Parts of the signal which contained information from before and after the milling process were cut. The threshold value \(\pm\) 7 mV was used to determine the beginning and ending of the desired signal. Then, fast Fourier transform in MATLAB was used to calculate single-sided amplitude spectrum of vibrations [38] (percent sign \"%\" marks comments in MATLAB code): \begin{table}
\begin{tabular}{c c c c c c c c c c c c} \hline \hline \multicolumn{2}{c}{**Cutting Parameters**} & \multicolumn{8}{c}{**VF [m\(\cdot\)min\({}^{-1}\)]**} \\ \hline \multicolumn{2}{c}{**Tool**} & \(n\) [min\({}^{-1}\)] & **Grip.** & **x** & **y** & **z** & **x** & **y** & **z** & **x** & **y** & **z** \\ \hline \multirow{4}{*}{**Tool**} & \multirow{4}{*}{**Tool**} & 1 & - & - & - & - & - & - & - & - & - & - \\  & & & 2 & - & - & - & - & - & - & - & - & - \\  & & & 3 & 3 & - & 3 & 3 & - & 3 & 3 & - & 3 \\  & & & 4 & 3 & - & 3 & 3 & - & 3 & 3 & - & 3 \\ \cline{2-12}  & \multirow{4}{*}{**Tool**} & 1 & - & - & - & 3 & 3 & 3 & - & - & - \\  & & & 2 & - & - & - & 3 & 3 & 3 & - & - & - \\  & & & 3 & - & 3 & 3 & 3 & 3 & 3 & - & 3 \\ \hline \multirow{4}{*}{**Tool**} & \multirow{4}{*}{**Tool**} & 1 & - & - & - & - & - & - & - & - & - & - \\  & & & 2 & - & - & - & - & - & - & - & - & - \\  & & & 3 & 3 & - & 3 & 3 & - & 3 & 3 & - & 3 \\ \cline{1-1}  & & & 4 & 3 & - & 3 & 3 & - & 3 & 3 & - & 3 \\ \cline{1-1}  & & & 1 & - & - & - & - & - & - & - & - & - \\  & & & 2 & - & - & - & - & - & - & - & - \\  & & & 3 & - & 3 & 3 & - & 3 & 3 & - & 3 \\ \cline{1-1}  & & & 4 & 3 & - & 3 & 3 & - & 3 & 3 & - & 3 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Number of measurements for each combination of cutting parameters. Figure 5: Result of measurement on individual axes. (**G1–G4**)—pneumatic grippers no. 1 to 4, blue—x axis, red—y axis, green—z axis. L = length (X);  
Fs = sampling frequency;  
T = 1/Fs;  
T = (0:L\(-\)1)*T;  
Y = fit(X); % computing of FFT;  
P2 = abs(Y/L);  
P1 = P2(1:L/2 + 1);  
P1(2:end\(-\)1) = 2*P1(2:end\(-\)1);  
f = Fs*(0:(L/2))/L;  
plot(f,P1); % generating of FFT graph;  
title (\"Single-Sided Amplitude Spectrum of S(t)\"); % title of generated graph;  
xlabel (\"f (Hz)\"); % x and y labels of generated graph;  
ylabel(\"! P1(f)! \");  
In this code, X is input variable as sequence of acceleration according to the sampling period; L is number of samples in X; \(Fs\) is the value of sampling frequency; \(T\) is sampling period; t is time of discrete sample according to sampling period; Y is result of FFT from signal X; P2 are absolute values of Y/L ratio; P1 is computing of one-side spectrum amplitudes. As there were multiple low peaks (noise) in mixture with significantly higher amplitude peaks, a threshold value of \(\mid\)Y(f) \(\mid\) = 0.5 was set as minimum for result to be recorded. Additionally, multiple frequency maxima were concentrated around certain values. For better readability, only the maximal value was recorded from such groups. Original signal, its cut form, and dominant frequencies with their maxima are shown in Figure 6.  
The entire procedure of the experiment described in previous paragraphs is graphically displayed in Figure 7.  
Figure 6: Example of signal processing. (**a**) PicoScope output showing vibrations of four channels, blue—x axis of gripper 4, green—y axis of gripper 3, red—x axis of gripper 3, yellow—y axis of gripper 3, (**b**) MATLAB output, (**b1**) signal from PicoScope (**b2**) Amplitude spectrum as FFT result (**b3**) list of peaks and their maxima, blue—x axis result, green—z axis result.