Negative selection algorithm-based mobile robot fault detection