Fault Detection in Autonomous Robots

Anders Lyhne Christensen, IRIDIA, CoDE, Universite Libre de Bruxelles

[ Abstract ] [ Videos ] [ Contact ]


  Abstract


In this dissertation, we study two new approaches to fault detection for autonomous robots. The first approach involves the synthesis of software components that give a robot the capacity to detect faults which occur in itself. Our hypothesis is that hardware faults change the flow of sensory data and the actions performed by the control program. By detecting these changes, the presence of faults can be inferred. In order to test our hypothesis, we collect data in three different tasks performed by real robots. During a number of training runs, we record sensory data from the robots both while they are operating normally and after a fault has been injected. We use back-propagation neural networks to synthesize fault detection components based on the data collected in the training runs. We evaluate the performance of the trained fault detectors in terms of the number of false positives and the time it takes to detect a fault. The results show that good fault detectors can be obtained. We extend the set of possible faults and go on to show that a single fault detector can be trained to detect several faults in both a robot's sensors and actuators. We show that fault detectors can be synthesized that are robust to variations in the task. Finally, we show how a fault detector can be trained to allow one robot to detect faults that occur in another robot.

The second approach involves the use of firefly-inspired synchronization to allow the presence of faulty robots to be determined by other non-faulty robots in a swarm robotic system. We take inspiration from the synchronized flashing behavior observed in some species of fireflies. Each robot flashes by lighting up its on-board red LEDs and neighboring robots are driven to flash in synchrony. The robots always interpret the absence of flashing by a particular robot as an indication that the robot has a fault. A faulty robot can stop flashing periodically for one of two reasons. The fault itself can render the robot unable to flash periodically. Alternatively, the faulty robot might be able to detect the fault itself using endogenous fault detection and decide to stop flashing. Thus, catastrophic faults in a robot can be directly detected by its peers, while the presence of less serious faults can be detected by the faulty robot itself, and actively communicated to neighboring robots. We explore the performance of the proposed algorithm both on a real world swarm robotic system and in simulation. We show that failed robots are detected correctly and in a timely manner, and we show that a system composed of robots with simulated self-repair capabilities can survive relatively high failure rates.

We conclude that i) fault injection and learning can give robots the capacity to detect faults that occur in themselves, and that ii) firefly-inspired synchronization can enable robots in a swarm robotic system to detect and communicate faults.

Download dissertation [PDF, 5 MB]

  






  Videos




This video was submitted to IROS-08. The video explains the concept behind synchronization and fault detection. Extracts from experiments are shown and a voice-over is used in the video.

Download video [3:00s, MPEG4, 46 MB]


This video shows complete synchronization experiments with both static and mobile robots. It showns a complete experment with fault detection and the full 12 minute experiment with simulated self-repair.

Download video [5m27s, MPEG4, 70 MB]






  Contact


Homepage: http://iridia.ulb.ac.be/~alyhne
GSM: (+351) 918727774
email: anderslyhne [at] gmail [dot] com
MSN: anders_lyhne [at] hotmail [dot] com
Skype: anderslyhne



This is the end - now go program a robot or a hundred...