A reusability-based hierarchical fault-detection architecture for robot middleware and its implementation in an autonomous mobile robot system | IEEE Conference Publication | IEEE Xplore