We present an implementation of SOTER, a run-time assurance framework for
building safe distributed mobile robotic (DMR) systems, on top of the Robot
Operating System (ROS). The safety of DMR systems cannot always be guaranteed
at design time, especially when complex, off-the-shelf components are used that
cannot be verified easily. SOTER addresses this by providing a language-based
approach for run-time assurance for DMR systems. SOTER implements the reactive
robotic software using the language P, a domain-specific language designed for
implementing asynchronous event-driven systems, along with an integrated
run-time assurance system that allows programmers to use unfortified components
but still provide safety guarantees. We describe an implementation of SOTER for
ROS and demonstrate its efficacy using a multi-robot surveillance case study,
with multiple run-time assurance modules. Through rigorous simulation, we show
that SOTER enabled systems ensure safety, even when using unknown and untrusted
components.Comment: 20th International Conference on Runtime Verificatio