## 2 Related Work
In the following part, the theoretical background regarding the methodology chosen to detect failures in manipulators and which will be used to assess joint health is introduced and discussed. In the next section, the ROS-based CM architecture which can be considered modular and adaptable to different robotic systems used for dynamic tasks is presented. _Joint Health Assessment via Torque Analysis_  
In this work, the proposed CM architecture is used to assess manipulator joint health using torque signals. The choice of monitoring joint health is because manipulators may fall into fault status after enduring long-term heavy manipulations, preventing the accurate completion of the desired industrial tasks. Among various valid techniques to monitor joint health, such as the one based on vibrations, or current measurements, this paper focuses on the use of the system proprioceptive sensor to achieve a non-intrusive methodology. In particular, the torque information is generally available in collaborative manipulators because it is also used for limiting the forces expressed by the system in the case of collisions. Since each manipulator's joint is mechanically constructed in the same way, composed of an electric motor and a speed reducer, it is possible to consider a manipulator as a sum of different electric motors and speed reducers. Based on this assumption, it is possible to exploit some considerations derived from electric motors. When mechanical failures arise in the motor or in the transmission system attached to the motor shaft, there are load torque oscillations caused by the malfunction, as demonstrated in [27]. In particular, the load torque (\(T_{l}\)) of a rotating machine under a mechanical fault (e.g., bearing fault, mechanical unbalance, gear defects, etc.) can be modeled as the sum of constant components (\(T_{const}\), which represents the load of the motor) and a time-varying term which depends on the characteristic frequency \(f_{c}\) (which represents an order of the rotational frequency of the rotor \(f_{r}\)). The varying component represents the amount of load torque that arises in case of mechanical defect. Generally, it is modeled using only the first term of the Fourier series because higher-order terms are negligible [27]:  
\[T_{l}(t)=T_{const}+T_{c}\cos\left(\omega_{c}t\right) \tag{1}\]  
where \(T_{c}\) is the amplitude of the load torque oscillation and \(\omega_{c}=2\pi f_{c}\) contains the fault characteristic frequency \(f_{c}\), also called a rotational frequency order. An order refers to a frequency that is a certain multiple of a reference rotational speed (\(f_{r}\)). For a rotating system, the primary shaft rotation (\(f_{r}\)) drives the fundamental frequency, \(f_{c}=R\cdot f_{r}\), where \(R\) is the order's ratio. For instance, if we have a defecting gear connected to the rotor shaft which reduces the speed ratio by 5, in the steady-state, we would have a faulty component \(f_{c}=0.2\cdot f_{r}\) in the vibration or current or torque spectrum. However, in the case of non-stationary application (varying speed of the motor and loads), we are no longer expectingprecise defecting frequencies since \(f_{r}\) is changing over time but we can still evidence an increment of the load torque value. Thus, under a mechanical fault, the mechanical equation of an electric motor can be written as:  
\[\frac{d\omega_{r}}{dt}\mathbf{\xi}=\frac{1}{J}[T_{e}(t)-B\omega_{r}-T_{const}-T_{c} \cos\left(\omega_{c}t\right)] \tag{2}\]  
where \(J\) is the motor rotor inertia, \(T_{e}\) is the electromagnetic torque produced by the motor, \(B\) represents the coefficient of viscous friction, and \(\omega_{r}\) is the motor rotor speed. Thus, when the manipulator is working in a healthy state (\(T_{l}(t)=T_{const}\)), the motor's joint produces a certain torque to fulfill the motion request during program execution.