A method for fault reaction, fault isolation, and graceful degradation in a robotic system having a plurality of robotic arms (111,113,115,117), wherein each robotic arm has a plurality of motors (21,23,25,27) for actuating degrees of freedom movement of the robotic arm; wherein each robotic arm has one or more nodes (211,212,213) for controlling corresponding motors (21,23,25,27) of the robotic arm; and a plurality of arm processors (210,220,230,240), wherein each of the plurality of arm processors (210,220,230,240) is operatively coupled to a corresponding one of the plurality of robotic arms (111,113,115,117); and a system supervisor processor; the method comprising: detecting, by one of the nodes (211,212,213) or one of the arm processors (210,220,230,240), a fault, affecting the node or arm processor, in a failed arm of the plurality of robotic arms (111,113,115,117); placing, by the node or the arm processor, the failed arm into a safe state, wherein the safe state isolates the fault by preventing further movement of the failed arm; diagnosing, by the node or the arm processor, the fault to generate information of the fault, and sending an error message including the information of the fault to the system supervisor processor; and receiving, by the system supervisor processor, the error message; determining whether the fault should be treated as a system fault or a local fault, by using information in the error message, wherein the system fault affects the performance of at least one other robotic arm of the plurality of robotic arms (111,113,115,117), and wherein the local fault affects the performance of only the failed arm; and only if the fault is to be treated as a system fault: transmitting, by the system supervisor processor, a fault notification to the arm processors (210, 220, 230, 240) of non-failed arms of plurality of robotic arms (111, 113, 115, 117), and placing, by the arm processors (210, 220, 230, 240), non-failed arms of the plurality of robotic arms (111,113,115,117) in the safe state. detecting, by one of the nodes (211,212,213) or one of the arm processors (210,220,230,240), a fault, affecting the node or arm processor, in a failed arm of the plurality of robotic arms (111,113,115,117); placing, by the node or the arm processor, the failed arm into a safe state, wherein the safe state isolates the fault by preventing further movement of the failed arm; diagnosing, by the node or the arm processor, the fault to generate information of the fault, and sending an error message including the information of the fault to the system supervisor processor; and receiving, by the system supervisor processor, the error message; determining whether the fault should be treated as a system fault or a local fault, by using information in the error message, wherein the system fault affects the performance of at least one other robotic arm of the plurality of robotic arms (111,113,115,117), and wherein the local fault affects the performance of only the failed arm; and only if the fault is to be treated as a system fault: transmitting, by the system supervisor processor, a fault notification to the arm processors (210, 220, 230, 240) of non-failed arms of plurality of robotic arms (111, 113, 115, 117), and placing, by the arm processors (210, 220, 230, 240), non-failed arms of the plurality of robotic arms (111,113,115,117) in the safe state. transmitting, by the system supervisor processor, a fault notification to the arm processors (210, 220, 230, 240) of non-failed arms of plurality of robotic arms (111, 113, 115, 117), and placing, by the arm processors (210, 220, 230, 240), non-failed arms of the plurality of robotic arms (111,113,115,117) in the safe state.