Ten years after its first release, the Robot Operating System (ROS) is arguably the most popular software framework used to program robots. It achieved such status despite its shortcomings compared to alternatives similarly centered on manual programming and, perhaps surprisingly, to model-driven engineering (MDE) approaches. Based on our experience as users and developers of both ROS and MDE tools, we identified possible ways to leverage the accessibility of ROS and its large software ecosystem, while providing quality assurance measures through selected MDE techniques. After describing our vision on how to combine MDE and manually written code, we present the first technical contribution in this pursuit: a family of three metamodels to respectively model ROS nodes, communication interfaces, and systems composed from subsystems. Such metamodels can be used, through the accompanying Eclipse-based tooling made publicly available, to model ROS systems of arbitrary complexity and generate with correctness guarantees the software artifacts for their composition and deployment. Furthermore, they account for specifications on these aspects by the Object Management Group (OMG), in order to be amenable to hybrid systems coupling ROS and other frameworks. We also report on our experience with a large and complex corpus of ROS software used in a commercially deployed robot (the Care-O-bot 4), to explain the rationale of the presented work, including the shortcomings of standard ROS tools and of previous efforts on ROS modeling.
In this paper, we propose an exponential multiplicative fragment of linear logic to encode and solve planning problems efficiently in STRIPS domain, that we call the Linear Planning Logic (LPL). Linear logic is a resource aware logic treating resources as single use assumptions, therefore enabling encoding and reasoning of domains with dynamic state. One of the most important examples of dynamic state domains is robotic task planning, since informational or physical states of a robot include non-monotonic characteristics. Our novel theorem prover is using the backchaining method which is suitable for logic languages like Lolli and Prolog. Additionally, we extend LPL to be able to encode non-atomic conclusions in program formulae. Following the introduction of the language, our theorem prover and its implementation, we present associated algorithmic properties through small but informative examples. Subsequently, we also present a navigation domain using the hexapod robot RHex to show LPL's operation on a real robotic planning problem. Finally, we provide comparisons of LPL with two existing linear logic theorem provers, llprover and linTAP. We show that LPL outperforms these theorem provers for planning domains.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.