Robotic fault tolerance: algorithms and architectures