Modern robotic systems often consist of a growing set of information-producing components that need to be appropriately connected for the system to function properly. This is commonly done manually or through relatively simple scripts by specifying explicitly which components to connect. However, this process is cumbersome and error-prone, does not scale well as more components are introduced, and lacks flexibility and robustness at run-time. This paper presents an algorithm for setting up and maintaining implicit subscriptions to information through its semantics rather than its source, which we call semantic subscriptions. The proposed algorithm automatically reconfigures the system when necessary in response to changes at run-time, making the semantic subscriptions adaptive to changing circumstances. To illustrate the effectiveness of adaptive semantic subscriptions, we present a case study with two SoftBank Robotics NAO robots for handling the cases when a component stops working and when new components, in this case a second robot, become available. The solution has been implemented as part of a stream reasoning framework integrated with the Robot Operating System (ROS).
Funding Agencies|National Graduate School in Computer Science, Sweden (CUGS); Swedish Aeronautics Research Council [NFFP6]; Swedish Foundation for Strategic Research (SSF) project CUAS; Swedish Research Council (VR) Linnaeus Center CADICS; ELLIIT Excellence Center at Linkoping-Lund for Information Technology