A system and related systems for detecting and diagnosing fault of a robot is provided. The method comprises: performing simulations according to robot control commands; calculating discrepancy between actual performance of robot based on the control commands and the results generated by the simulation, wherein a presence of discrepancy is indicative of fault; performing diagnostic exercises according to the discrepancy to identify a cause of the fault.