## 4 Applying the CM Framework to a Case Study
### Results  
In this part, the results obtained using the proposed CM architecture with the Omron TM5-900 collaborative robot are discussed. Figures 9 and 10 show an example of acquisition performed at 40 Hz sample frequency for 2750 samples (68.75 s for each acquisition). The palletizing program was executed at 70% of maximum speed. Figure 9 displays the joint torque (in black), position (in green) and speed (in blue) of the first three joints acquired while the cobot is executing the palletizing program, while Figure 10 displays the joint torque (in black), position (in green), and speed (in blue) of the last three cobot joints. It is possible to notice that only the fifth joint is not directly involved in any motions of this program. The torque contribution for this joint is only related to maintaining the current position during the program execution. In the bottom part of every graph, it is possible to see colors that refer to the motion command that was executed during the data acquisition while in the upper right corner the respective legend for each color. From every acquisition, we extract data units of joints torque, speed, and position with labels:  
* Program Name = \"Palletizing application\";
* Motion and Tag = PTP(1) and PTP(2);
* % speed = 70. For completeness, a schematic view of the data unit extraction process can be seen in Figure 11. The extraction was done using a Python script that reads binaries' acquisition files and creates text files only containing data units with the labels values defined above. This data extraction process is performed automatically once which cobot states and under which working conditions we want to perform the analyze have been a priori defined. Figure 10: _Cont._  
Figure 9: First, second, and third joints’ torque (in black), speed (in blue), and position (in green) acquired at 40 Hz for the 68.75 section (2750 samples each) during the execution of the palletizing program. The colors below the graph’s \(x\) axis represent the motion commands executed during the acquisition. Figure 11: Image representing the data unit extraction applied during the execution of the palletizing program. Figure 10: Fourth, fifth, and sixth joints’ torque (in black), speed (in blue), and position (in green) acquired at 40 Hz for the 68.75 section (2750 samples each) during the execution of the palletizing program. The colors below the graph’s \(x\) axis represent the motion commands executed during the acquisition. Automatic Detection of a Joint Malfunction  
A malfunction was simulated on the fourth joint torque data by recreating a possible faulty behavior to show the effectiveness of our proposed approach. It was decided that a local fault would be simulated since its identification is highly relevant for the use of the robot itself considering the global behavior, because even a fault in a single mechanism can affect the entire planning, repeatability, and accuracy of the tasks. The fourth joint has been chosen since it is involved in all the movements of the palletizing program and to prove the effectiveness of the proposed method under a highly dynamic context. As introduced in a related work in Section, some papers use torque information to detect joint malfunction, which for this reason, the fault has been simulated on torque data. Moreover, as experienced in [12], where the torque signal has been studied to perform fault root cause analysis, when a malfunction in the mechanism of the joint arises, there is a homogeneous increment in the torque, i.e., the torque increases in the whole trajectory and not only in specific movements or positions under a fault. This is because mechanical deterioration creates friction in the joint mechanism affecting the entire movement of the joint. Therefore, a homogeneous and random distributed increment of 10% has been added onto the fourth joint torque data to show differences in the detection using the proposed methodology in contrast with analyzing the entire raw torque signal.