Monitoring ROS2: from Requirements to Autonomous Robots

Ivan Perez
(KBR at NASA Ames Research Center)
Anastasia Mavridou
(KBR at NASA Ames Research Center)
Tom Pressburger
(NASA Ames Research Center)
Alexander Will
(Virginia Commonwealth University)
Patrick J. Martin
(Virginia Commonwealth University)

Runtime verification (RV) has the potential to enable the safe operation of safety-critical systems that are too complex to formally verify, such as Robot Operating System 2 (ROS2) applications. Writing correct monitors can itself be complex, and errors in the monitoring subsystem threaten the mission as a whole. This paper provides an overview of a formal approach to generating runtime monitors for autonomous robots from requirements written in a structured natural language. Our approach integrates the Formal Requirement Elicitation Tool (FRET) with Copilot, a runtime verification framework, through the Ogma integration tool. FRET is used to specify requirements with unambiguous semantics, which are then automatically translated into temporal logic formulæ. Ogma generates monitor specifications from the FRET output, which are compiled into hard-real time C99. To facilitate integration of the monitors in ROS2, we have extended Ogma to generate ROS2 packages defining monitoring nodes, which run the monitors when new data becomes available, and publish the results of any violations. The goal of our approach is to treat the generated ROS2 packages as black boxes and integrate them into larger ROS2 systems with minimal effort.

In Matt Luckcuck and Marie Farrell: Proceedings Fourth International Workshop on Formal Methods for Autonomous Systems (FMAS) and Fourth International Workshop on Automated and verifiable Software sYstem DEvelopment (ASYDE) (FMAS2022 ASYDE2022), Berlin, Germany, 26th and 27th of September 2022, Electronic Proceedings in Theoretical Computer Science 371, pp. 208–216.
Published: 27th September 2022.

ArXived at: https://dx.doi.org/10.4204/EPTCS.371.15 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org