Robot Operating System (ROS) Introspective Implementation of High-Level Task Controllers
In this work, we describe a streamlined process for transforming high-level task specifications into executing programs created with the Robot Operating System (ROS). We leverage both the recent advances in automatic synthesis of correct-by-construction controllers from high-level specifications and the vast availability and functionality of ROS packages. We show how the subscribe-publish paradigm of ROS fits well with the input-output framework of correct-by-construction controllers. With this framework, we automatically detect undesirable behaviors and failures related to the mapping between a correct-by-construction controller and
ROS nodes and we automatically provide feedback to the user in the form of suggested changes to the specification when possible faults are detected. We demonstrate our approach with examples involving both single-robot and multi-robot scenarios.
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).