Verified simulation for robotics

Abstract Simulation is a favoured technique for analysis of robotic systems. Currently, however, simulations are programmed in an ad hoc way, for specific simulators, using either proprietary languages or general languages like C or C++. Even when a higher-level language is used, no clear relation between the simulation and a design model is established. We describe a tool-independent notation called RoboSim, designed specifically for modelling of (verified) simulations. We describe the syntax, well-formedness conditions, and semantics of RoboSim. We also show how we can use RoboSim models to check if a simulation is consistent with a functional design written in a UML-like notation akin to those often used by practitioners on an informal basis. We show how to check whether the design enables a feasible scheduling of behaviours in cycles as needed for a simulation, and formalise implicit assumptions routinely made when programming simulations. We develop a running example and three additional case studies to illustrate RoboSim and the proposed verification techniques. Tool support is also briefly discussed. Our results enable the description of simulations using tool-independent diagrammatic models amenable to verification and automatic generation of code.

[1]  Clare Dixon,et al.  Formal Specification and Verification of Autonomous Robotic Systems , 2018, ACM Comput. Surv..

[2]  Wei Li,et al.  Modelling and Verification of Timed Robotic Controllers , 2017, IFM.

[3]  Mirko Wächter,et al.  The ArmarX Statechart Concept: Graphical Programing of Robot Behavior , 2016, Front. Robot. AI.

[4]  Sanjit A. Seshia,et al.  Combining Model Checking and Runtime Verification for Safe Robotics , 2017, RV.

[5]  Olivier Michel,et al.  Cyberbotics Ltd. Webots™: Professional Mobile Robot Simulation , 2004 .

[6]  Jim Woodcock,et al.  Sound Simulation and Co-simulation for Robotics , 2017, Present and Ulterior Software Engineering.

[7]  Augusto Sampaio,et al.  Rigorous development of component-based systems using component metadata and patterns , 2016, Formal Aspects of Computing.

[8]  Jessy W. Grizzle,et al.  A Finite-State Machine for Accommodating Unexpected Large Ground-Height Variations in Bipedal Robot Walking , 2013, IEEE Transactions on Robotics.

[9]  Eliseo Ferrante,et al.  ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems , 2012, Swarm Intelligence.

[10]  Michael Fisher,et al.  Robotics and Integrated Formal Methods: Necessity meets Opportunity , 2018, IFM.

[11]  Jun Sun,et al.  Model Checking CSP Revisited: Introducing a Process Analysis Toolkit , 2008, ISoLA.

[12]  Herman Bruyninckx,et al.  Coordinating Robotic Tasks and Systems with rFSM Statecharts , 2012 .

[13]  Gregory D. Hager,et al.  Functional reactive robotics: an exercise in principled integration of domain-specific languages , 2002, PPDP '02.

[14]  Camille Alain Rabbath A Finite-State Machine for Collaborative Airlift with a Formation of Unmanned Air Vehicles , 2013, J. Intell. Robotic Syst..

[15]  Petra Kaufmann Concurrent And Real Time Systems The Csp Approach , 2016 .

[16]  Olivier Michel,et al.  Cyberbotics Ltd. Webots™: Professional Mobile Robot Simulation , 2004, ArXiv.

[17]  Ana Cavalcanti,et al.  From control law diagrams to Ada via Circus , 2011, Formal Aspects of Computing.

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

[19]  Sean Luke,et al.  MASON: A Multiagent Simulation Environment , 2005, Simul..

[20]  Surya P. N. Singh,et al.  V-REP: A versatile and scalable robot simulation framework , 2013, 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[21]  Clare Dixon,et al.  Towards temporal verification of swarm robotic systems , 2012, Robotics Auton. Syst..

[22]  Wei Li,et al.  From Formalised State Machines to Implementations of Robotic Controllers , 2017, DARS.

[23]  Andreas Dömel,et al.  RAFCON: A graphical tool for engineering complex, robotic tasks , 2016, 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[24]  Edmund M. Clarke,et al.  MODEL CHECKING OF ROBOTIC CONTROL SYSTEMS , 2005 .

[25]  Christian Schlegel,et al.  The SmartMDSD Toolchain: An Integrated MDSD Workflow and Integrated Development Environment (IDE) for Robotics Software , 2016 .

[26]  Darius Burschka,et al.  Toward a Fully Autonomous UAV: Research Platform for Indoor and Outdoor Urban Search and Rescue , 2012, IEEE Robotics & Automation Magazine.

[27]  Peter A. Fritzson,et al.  Principles of object-oriented modeling and simulation with Modelica 2.1 , 2004 .

[28]  Lavindra de Silva,et al.  Rigorous design of robot software: A formal component-based approach , 2012, Robotics Auton. Syst..

[29]  Wei Li,et al.  Automatic property checking of robotic applications , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[30]  Yi Zhang,et al.  ROSRV: Runtime Verification for Robots , 2014, RV.

[31]  Bernard Espiau,et al.  Task level specification and formal verification of robotics control systems: state of the art and case study , 1999, Int. J. Syst. Sci..

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

[33]  A. W. Roscoe,et al.  FDR3 - A Modern Refinement Checker for CSP , 2014, TACAS.

[34]  A. W. Roscoe Understanding Concurrent Systems , 2010, Texts in Computer Science.

[35]  Maya Cakmak,et al.  RoboFlow: A flow-based visual programming language for mobile manipulation tasks , 2015, 2015 IEEE International Conference on Robotics and Automation (ICRA).

[36]  Augusto Sampaio,et al.  An integrated semantics for reasoning about SysML design models using refinement , 2017, Software & Systems Modeling.

[37]  Jonathan Klein,et al.  breve: a 3D environment for the simulation of decentralized systems and artificial life , 2002 .

[38]  Roderich Groß,et al.  A strategy for transporting tall objects with a swarm of miniature mobile robots , 2013, 2013 IEEE International Conference on Robotics and Automation.

[39]  Richard T. Vaughan,et al.  The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems , 2003 .

[40]  Simon Foster,et al.  Unifying Heterogeneous State-Spaces with Lenses , 2016, ICTAC.

[41]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[42]  Silvano Dal-Zilio,et al.  Model Checking Real-Time Properties on the Functional Layer of Autonomous Robots , 2016, ICFEM.