## 5 Validation Results  
For experimentation, we proposed a Cartesian robot with the motor speed controlled by a driver (the frequency and direction as the input) and the output as the sensed force. Both the input and output are considered for the \(z\)-axis of the robot. The robot was designed at Cinvestav Saltillo. The robot uses servo-motors with a terminal voltage of 60 VDC, a continuous torque of 0.353 Nm, and an incremental encoder (AMT102), controlled with a generic driver. The generic driver is connected to a computer by NI DAQ Multifunction SCB-68, which also controls the pulse generator Agilent 33220A and the power supply B&K Precision 1666. The force sensor TW Transducer 9105-TW-MINI58 is also connected to a PC with an ATI Industrial Automation 9620-05-DAQ. The control algorithm is run on MATLAB 2013, and the computer has a processor GenuineIntel 7, a RAM of 2 GB, and an integrated hard disk of 150 MB. Figure 5 shows a picture of the experimental setup, and Figure 6 shows a diagram of how the system works. For performance comparison, the controller proposed by [PERSON] in the article _A Robust Sliding-Mode Based Data-Driven Model-Free Adaptive Controller_[37] was replicated. Figure 5: Cartesian robot setup picture. The error metrics presented are the Sum Square Error [SSE] defined as  
\[SSE=\sum_{k=1}^{n}e(k)^{2}, \tag{55}\]  
and the Mean Absolute Percentage Error [MAPE]  
\[MAPE=\frac{1}{n}\sum_{k=1}^{n}\frac{|r(k)-y(k)|}{|r(k)|}. \tag{56}\]  
The control algorithms are written for MATLAB 2013. Given the type of system, it is clear that the control laws need to be separated between the direction of the motor and the pulse speed; the control law information is divided as the motor direction  
\[d_{u}(k)= \begin{cases}1&u(k)\geq 0,\\ 0&u(k)<0.\end{cases} ,\]  
and the frequency sent to the diver  
\[u_{f}(k)=|u(k)|.\]  
This means that if the control law equals \(u(k)=5\), the motor direction \(d_{u}(k)=1\) will be moving to the right and the driver will be sent a pulse frequency of \(u_{f}(k)=5\) kHz. On the other hand, if the control law equals \(u(k)=-5\), the motor direction \(d_{u}(k)=0\) will be moving to the left and the driver will be sent a pulse frequency of \(u_{f}(k)=5\) kHz. Figures 7-11 show the controller's performance, and Table 1 shows the metrics results for both controllers. As is seen in both the figures and the table, the proposed controller has a more significant tracking error at the beginning than the comparison controller but has a better performance in the final cycle. The proposed controller has better performance for the initial and final cycle of the estimation. It can be seen that both controllers have high-frequency disturbance on both the estimator and the system performance, and the proposed controller has a slower settling. Figure 12 shows the PPD estimation \(g(\hat{k})\) as proposed in comparison with \(\hat{\phi}_{1}(k)\) of the comparison controller. The PPD is usually approximated as \(\frac{\partial y(k+1)}{\partial u(k)}\approx\frac{\Delta y(k+1)}{\Delta u(k)}\) with \(\Delta y(k+1)=y(k+1)-y(k)\) and \(\Delta u(k)=u(k)-u(k-1)\). Figure 12 shows the approximation according to the system performance and controllers. It can be seen that the high frequency in both controllers causes the estimation to be scattered. Figure 13 shows and approximation of the PPD of the system with each controller, where it can be seen the comparison controller produces more sign changes. In contrast, if we think about how the control direction and the PPD should behave with a _smooth_ input to the system, as shown in Figures 14 and 15, the direction of the function \(\hat{g}(k)\) has an expected direction during the simulation, unlike the comparison controller. Figure 6: Cartesian robot setup diagram. Figure 8: Cartesian robot tracking error: [—] proposed controller and [- -] comparison controller. Figure 10: Cartesian robot estimation error: [—] proposed controller and [- -] comparison controller.