## 3 Experimental Results  
In this section, we describe the experimental setting and the tests executed to validate the performance of the considered controllers. The experiments were performed using two platforms: the URSim simulator (developed by Universal Robots) and a real UR5 robot available at the Bialystok University of Technology, Robotics Laboratory (Figure 1). The robot motion is presented as a sequence of (\(t\), \(x\), \(y\), \(z\)) tuples representing the desired TCP frame position at the given time \(t\). For the purpose of the direct robot control, an Inverse Kinematics model was used to map the task-space coordinates to the desired joint space coordinate sequence.  
The experiments using the classical control serve a two-fold purpose: first to provide a baseline against which we compare the results achieved with ANN control, and secondly to generate trajectory, control, and feedback signals used to train the ANN controllers based on the results. The training and testing set for the training of the networks was created based on the data collected in the classical control experiment on the real UR5 robot. We repeated this experiment two times, using different state-of-the-art ANN learning methods: Levenberg-Marquardt (_LM_) and Bayesian Regression (_BR_). For both these approaches, we performed the experiment in simulation and on the real robot. Both the classical and the ANN control scheme were implemented in Matlab for our experiment. The implementation performed well, and we had no issue with matching the desired control cycle frequency of the robot (125 Hz).  
Figure 6: Summary of the proposed approach.  
The experimental results are shown in Figure 7, where the desired and actual joint positions and velocities during the trajectory execution using the classical controller and the developed ANN controllers are reported. The trajectory tracking performance achieved with the ANN controllers is nearly the same with respect to the classical PID controller, showing the feasibility of the proposed approach and the good tracking capabilities of the proposed controllers based on neural networks. Some noise can be observed in both position and velocity. It is worth pointing out the apparent discrepancy eminent in the case of the q\({}_{5}\) joint, for which no movement was defined in the testing scenario. The discrepancy is an artifact of the automatic zoom level of the plot, and the error is not notably larger than for the other joints.  
Figure 7: Desired and actual joint positions and velocities during the trajectory execution using the classical controller and the developed ANN controllers: (**a**) joint positions; (**b**) joint velocities.  
Tables 2 and 3 report the root mean square error (RMSE) of the position and velocity tracking for the compared controllers, respectively. As can be seen from the values in the tables, the performance of the compared controller is similar and comparable both for the position and for the velocity tracking. In particular, the mean RMSE value of the position tracking for the classical PID controller is equal to 0.0117 rad, whereas the \(BR\) and \(LM\) controller show values of 0.0148 rad and 0.0159 rad, respectively. With regard to velocity tracking, the PID control shows a RMSE value equal to 0.0361 rad/s, the \(BR\) controller to 0.0364 rad/s, and the \(LM\) controller to 0.0533 rad/s. The ANN learning based on the \(BR\) algorithm gives slightly better performance compared with the \(LM\) algorithm, according to both position and velocity tracking.