Generative Programming for Functional Safety in Mobile Robots

Marian Sorin Adam · University of Southern Denmark Research Portal (University of Southern Denmark) · 2017

Safety is a major challenge in robotics, in particular for mobile robots operating in an open and unpredictable environment. Safety certification is desired for commercial robots, but the existing approaches for addressing safety do not provide a clearly defined and isolated programmatic safety layer, with an easily understandable specification for facilitating safety certification. Moreover, mobile robots are advanced systems often implemented using a distributed architecture where software components are deployed on heterogeneous hardware modules. Many components are key to the overall reliability and safety of the robot, yet reducing the risk of errors by making the software resilient is both complicated and expensive, notably if functional safety requirements have to be fulfilled. A commercially successful robot has to remain safe while providing as much as possible from the functionality required; even in the presence of partial failures. Research into these challenges has resulted in the design and implementation of a rulebased language for enforcing safety constraints, named Declarative Robot Safety (DeRoS). Using DeRoS, safety-critical concerns regarding the robot software can be explicitly declared separately from the main program. Rather than addressing the individual functionality of specific components, we address the functionality of the system as a whole in terms of externally observable properties of individual components, their communication, and the state of the surrounding execution environment. The effective usage of DeRoS to specify safetyrelated properties of mobile robots and generation of a runtime verification infrastructure for the different controllers has been experimentally demonstrated on ROS-based systems, safety PLCs and microcontrollers. The key issue of making safety specifications easily understandable has been investigated by recasting the concept of spreadsheets as DSL programming environments, a concept we refer to as spreadsheet-based DSLs (SDSLs). We have developed a DSL named Spreadsheet Grammar Language (SGL) designed to be a systematic tool for generating SDSLs. We researched the feasibility of such SDSLs, among other use cases, as a visual interface for DeRoS by replacing the standard textual syntax and the Eclipse IDE used by DeRoS with the two-dimensional syntax offered by the spreadsheets. Last, the elaboration of an architectural concept providing a flexible way to improve the reliability of existing robot software has been researched, opening up for a wide range of strategies for graceful degradation in the presence of partial failures. We use standard virtualization techniques to segregate the safety-critical system parts. An automatically generated runtime monitoring component specified using DeRoS is responsible for fast switching between different implementations of the non-critical parts of the system.

Read the paper · More papers on PaperTik