## 4 Performance Analysis
### Performance Analysis of the IKM Synthesized for the PUMA 560  
Figure 7 presents the comparison, in all the robot's workspace, of the results obtained by the IKM synthesized for the PUMA 560 and the corresponding reference model. This figure has marked in green (\"Correctly calculated\") all those positions in which the IKM obtains the same amount of solutions as the reference model and, for all those solutions, the root mean square error (RMS) in the configuration space is less than 1 \(\times\) 10\({}^{-8}\). This figure proves that the IKM calculated by the developed procedure successfully computes all the possible solutions inside the PUMA's workspace.  
Figure 8 shows the histogram of the RMS error for all the analyzed points inside the robot's workspace. It can be seen in this histogram that the errors for all the solutions computed by our IKM are completely negligible.  
Figure 7: Performance analysis of the synthesized IKM for the PUMA 560. The left side shows the isometric view of the PUMA’s workspace, while the right side presents the top, side, and front views of the same workspace. Marked in green (“Correctly calculated”) are all the the positions in which the IKM obtains the same amount of solutions as the reference model, with an RMS error lesser than 1 \(\times\) 10\({}^{-8}\). The data show that all the positions of the analyzed workspace are correctly calculated.  
The synthesized ICM performance was also tested following a trajectory that covers the majority of the PUMA's workspace. Figure 9 presents these tests results, where it can be seen that the outputs given by our ICM allow the PUMA's wrist to follow any trajectory, with high precision and a completely negligible positioning error.  
Regarding the computation time of the synthesized ICM for the PUMA robot, Table 6 contains a summary of the times required by this ICM to follow the previously mentioned test trajectory (row identified as \"IKM\"), and compares them with the ones of the reference model (row named \"Ref\"). This table shows the maximum (\"Max [s]\"), minimum (\"Min [s]\") and average (\"Avg [s]\") times required to compute all the different positions of the trajectory. It is important to highlight that it is impossible to achieve computation times that are less than the ones of the reference model calculated by traditional methods because this model is already composed of equations specially crafted for the analyzed robot. The computation times of the ICM shown in Table 6 are close enough to the ones of the reference model, while achieving a negligible positioning error, so it can be concluded that the ICM synthesized by our procedure is equivalent to this reference model.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Mod** & **Min [s]** & **Avg [s]** & **Max [s]** \\ \hline Ref. & 0.98 \(\times\) 10\({}^{-4}\) & 1.16 \(\times\) 10\({}^{-4}\) & 1.33 \(\times\) 10\({}^{-3}\) \\ IKM & 2.20 \(\times\) 10\({}^{-4}\) & 2.59 \(\times\) 10\({}^{-4}\) & 1.69 \(\times\) 10\({}^{-3}\) \\ \hline \hline \end{tabular}
\end{table}
Table 6: Computation times of the PUMA’s ICM and its reference model (“Ref.” row), for all the points in the predetermined trajectory. Column ”Avg [s]” presents the average computation times obtained during the trajectory’s execution (in seconds), while “Min [s]” and “Max [s]” show the minimum and maximum registered times, respectively.  
Figure 8: Histogram of the RMS errors in the computations of the PUMA’s ICM. The \(x\)-axis presents a partition of 100 sets of the obtained RMS errors for all the calculated points inside the PUMA’s workspace, while the \(y\)-axis shows the frequency of occurrence of each of these error sets, in a logarithmic scale. The majority of the obtained RMS errors fall inside the first sets, the ones that represent less error. It can also be seen that the higher sets still represent a completely negligible error.