🤖 AI Summary
To address the challenge of verifying robustness of autonomous robots in unknown environments during design, this paper proposes a formal verification method integrating ROS 2 and behavior trees. The approach models the system using an extended SCXML language that uniformly represents both ROS 2 nodes and behavior tree components. An automated toolchain, AS2FM, is developed to translate such models into the JANI standard format. Verification leverages statistical model checking (SMC) for efficient, scalable property validation. Evaluated on consumer-grade hardware, the method achieves sub-second verification times, with runtime scaling linearly—rather than exponentially—with model size, outperforming existing approaches. Crucially, it successfully identified previously unknown defects in the ROS 2 middleware during case studies, thereby significantly strengthening robustness assurance at the design stage.
📝 Abstract
Designing robotic systems to act autonomously in unforeseen environments is a challenging task. This work presents a novel approach to use formal verification, specifically Statistical Model Checking (SMC), to verify system properties of autonomous robots at design-time. We introduce an extension of the SCXML format, designed to model system components including both Robot Operating System 2 (ROS 2) and Behavior Tree (BT) features. Further, we contribute Autonomous Systems to Formal Models (AS2FM), a tool to translate the full system model into JANI. The use of JANI, a standard format for quantitative model checking, enables verification of system properties with off-the-shelf SMC tools. We demonstrate the practical usability of AS2FM both in terms of applicability to real-world autonomous robotic control systems, and in terms of verification runtime scaling. We provide a case study, where we successfully identify problems in a ROS 2-based robotic manipulation use case that is verifiable in less than one second using consumer hardware. Additionally, we compare to the state of the art and demonstrate that our method is more comprehensive in system feature support, and that the verification runtime scales linearly with the size of the model, instead of exponentially.