# Dual-Arm Peg-in-Hole Assembly Using DNN with Double Force/Torque Sensor
## 4 Experimental Results
### Testing on the Dual Arm Robot  
In order to test this methodology in a real scenario of operation with the dual arm robot, the automated recovery program in Figure 5 is executed. Two computers were used to run the experimental setup, one computer ran the automatic sequence and sensor acquisition. The whole controller is programmed in C++ running on ROS using Moveit packages and libraries to perform Cartesian commands on the robot.  
The second computer that runs the service node receives the F/T data as an array of twelve elements that is computed and, at the end, gives back the class prediction. This prediction \(\hat{y}\) is used in the assembly sequence to define the next orientation angle or movement in the corresponding direction to find the next contact states of the sequence. Table 5 shows the corresponding orientation angles according to the predicted class.  
The last experiment considers the validation of the full assembly cycle. Logic rules used as transition constraints between the steps. The full cycle F/T data is presented in Figure 10 where the different steps and their corresponding F/T pattern can be seen. From free motion, the sequence evolves to the frontal contact state. The second step changes the orientation. The next step searches for lateral contact of the peg into the hole. At the end of the assembly sequence, the insertion phase shows a little deviation that exceeds a force limit value, which triggers the last DNN model. Reaction motions are selected according to the F/T data pattern and the DNN output. As the cycle continues, the patterns are detected and the position adjustment drives the F/T towards minimum values to lead the final assembly.  
For these experiments a very slow motion is considered for safe contacts and to avoid any possible damage on the mechanical systems of the robot. Therefore, the time constraints for these experiments are not taken into account.  
Finally, in order to compare the differences between the success ratio of assemblies using one sensor and using two sensors with two DNN's as classifiers, the complete assembly experiment is reported in Table 6.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Sensor** & **Examples** & **Average Steps** & **Success Ratio** \\ \hline One Sensor & 40 & 17.65 & 68\% \\ Two Sensors & 40 & 14.975 & 98\% \\ \hline \hline \end{tabular}
\end{table}
Table 6: Final results and comparison of one vs two sensors.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Samples** & **Exact Match Ratio One Sensor** & **Exact Match Ratio Two Sensor** \\ \hline
159 & 63\% & 93\% \\
130 & 53\% & 81\% \\
240 & 36\% & 84\% \\
120 & 30\% & 85\% \\
35 & 51\% & 88\% \\ \hline \hline \end{tabular}
\end{table}
Table 4: Validation results of DNN Accuracy of one and two sensor.  
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline \(\hat{y}\) & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ Angle & 0\({}^{\circ}\) & 45\({}^{\circ}\) & 90\({}^{\circ}\) & 135\({}^{\circ}\) & 180\({}^{\circ}\) & 225\({}^{\circ}\) & 270\({}^{\circ}\) & 315\({}^{\circ}\) \\ \hline \hline \end{tabular}
\end{table}
Table 5: Classes and angle of movement.  
These results show that the whole experiment executed 40 assembly insertion attempts, where the number of sequence steps needed to finish the insertion is counted, after which the average number of steps for the total of assembly attempts is reported as a comparison metric. The Success Ratio, is the average of the completed insertions in the experiment, is also presented.  
The graphical representation of the results are presented in Figure 11a, where one can see a better performance in the Success Ratio and in Figure 11b the Average of steps for the two sensor configurations.