Who Is Responsible? Self-Adaptation Under Multiple Concurrent Uncertainties With Unknown Sources in Complex ROS-Based Systems
Andreas Wiedholz, Rafael Paintner, Julian Gleißner, Alwin Hoffmann, Tobias Huber
TL;DR
The paper tackles runtime resilience for complex ROS-based robots facing multiple concurrent uncertainties with unknown sources. It proposes a DSL-driven, rule-based MAPE-K managing system that uses a live ROS dependency graph to perform root-cause analysis and rank multiple adaptation strategies. Key contributions include a DSL for multi-strategy, criticality-aware adaptations, lightweight architectural RCA using the dependency graph, and an open-source implementation integrated into BehaviorTree.CPP with extensive ablation and evaluation showing competitive performance against state-of-the-art sequential-uncertainty approaches. This work advances practical self-adaptation in ROS by enabling concurrent uncertainty resolution with minimal downtime and improved availability.
Abstract
Robotic systems increasingly operate in dynamic, unpredictable environments, where tightly coupled sensors and software modules increase the probability of a single fault cascading across components and admitting multiple plausible strategies to resolve the underlying uncertainty. Most existing self-adaptive approaches that have been applied to robotics assume predefined one-to-one uncertainty-to-adaptation mappings. We present a ROS2-based self-adaptive approach building upon the MAPE-K feedback loop that addresses (1) multiple simultaneous uncertainties with differing criticality, (2) cascading uncertainties across components, and (3) multiple plausible resolving strategies per detected symptom. Central to our approach is an adaptation rule set which lets designers specify uncertainty patterns, assign criticality levels, and enumerate multiple plausible adaptation strategies. This rule set, combined with an automatically extracted live ROS2 dependency graph, enables lightweight root-cause analysis and strategy ranking to prioritize minimal and effective adaptations. Evaluations on an underwater robot scenario and a perception use case show that our approach can identify root causes among concurrent uncertainties, favours inexpensive adaptations, reduces unnecessary adaptations, and achieves performance comparable to existing baselines designed for sequential uncertainties. The code is publicly available.
