Graph-based software knowledge: Storage and semantic querying of domain models for run-time adaptation

Software development for robots is a knowledgeintensive exercise. To capture this knowledge explicitly and formally in the form of various domain models, roboticists have recently employed model-driven engineering (MDE) approaches. However, these models are merely seen as a way to support humans during the robot's software design process. We argue that the robots themselves should be first-class consumers of this knowledge to autonomously adapt their software to the various and changing run-time requirements induced, for instance, by the robot's tasks or environment. Motivated by knowledge-enabled approaches, we address this problem by employing a graph-based knowledge representation that allows us not only to persistently store domain models, but also to formulate powerful queries for the sake of run time adaptation. We have evaluated our approach in an integrated, real-world system using the neo4j graph database and we report some lessons learned. Further, we show that the graph database imposes only little overhead on the system's overall performance.

[1]  Hema Swetha Koppula,et al.  RoboBrain: Large-Scale Knowledge Engine for Robots , 2014, ArXiv.

[2]  Holger Voos,et al.  Declarative Specification of Robot Perception Architectures , 2014, SIMPAR.

[3]  Herman Bruyninckx,et al.  A model-based approach to software deployment in robotics , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[4]  Rachid Alami,et al.  Explicit knowledge and the deliberative layer: Lessons learned , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[5]  Miguel A. Olivares-Méndez,et al.  Context-based selection and execution of robot perception graphs , 2015, 2015 IEEE 20th Conference on Emerging Technologies & Factory Automation (ETFA).

[6]  Christian Schlegel,et al.  Dealing with Run-Time Variability in Service Robotics: Towards a DSL for Non-Functional Properties , 2013, ArXiv.

[7]  Kiyoshi Fujiwara,et al.  Experiences with model-centred design methods and tools in safe robotics , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[8]  Francisco José Madrid-Cuevas,et al.  Automatic generation and detection of highly reliable fiducial markers under occlusion , 2014, Pattern Recognit..

[9]  Franck Fleurey,et al.  A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems , 2009, MoDELS.

[10]  Nelly Bencomo,et al.  Models@run.time , 2014, Lecture Notes in Computer Science.

[11]  Michael Beetz,et al.  Towards semantic robot description languages , 2011, 2011 IEEE International Conference on Robotics and Automation.

[12]  Thomas Röfer,et al.  A scripting-based approach to robot behavior engineering using hierarchical generators , 2012, 2012 IEEE International Conference on Robotics and Automation.

[13]  Nico Hochgeschwender,et al.  RRA: Models and tools for robotics run-time adaptation , 2015, 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[14]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[15]  Alberto Rodrigues da Silva,et al.  Model-driven engineering: A survey supported by the unified conceptual model , 2015, Comput. Lang. Syst. Struct..

[16]  Bernhard Rumpe,et al.  A new skill based robot programming language using UML/P Statecharts , 2013, 2013 IEEE International Conference on Robotics and Automation.

[17]  Davide Brugali,et al.  Modeling and reusing robotic software architectures: The HyperFlex toolchain , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[18]  Francisco José Ortiz Zaragoza,et al.  V3CMM: a 3-view component meta-model for model-driven robotic software development , 2010 .

[19]  Tewfik Ziadi,et al.  RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications , 2012, SIMPAR.

[20]  Gerhard Lakemeyer,et al.  A generic robot database and its application in fault analysis and performance evaluation , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[21]  Davide Brugali,et al.  Model-Driven Software Engineering in Robotics: Models Are Designed to Use the Relevant Things, Thereby Reducing the Complexity and Cost in the Field of Robotics , 2015, IEEE Robotics & Automation Magazine.

[22]  Alois Knoll,et al.  Design Abstraction and Processes in Robotics: From Code-Driven to Model-Driven Engineering , 2010, SIMPAR.

[23]  Sebastian Wrede,et al.  A Survey on Domain-specific Modeling and Languages in Robotics , 2016 .

[24]  Moritz Tenorth,et al.  KnowRob: A knowledge processing infrastructure for cognition-enabled robots , 2013, Int. J. Robotics Res..

[25]  Gerhard K. Kraetzschmar,et al.  Deliverable D-2 . 2 : Specifications of Architectures , Modules , Modularity , and Interfaces for the BROCRE Software Platform and Robot Control Architecture Workbench , 2010 .

[26]  Christian Schlegel,et al.  Model-driven engineering and run-time model-usage in service robotics , 2011, GPCE '11.