Distributed fault detection and recovery for networked robots