Programming for Reliability and Safety in Robotics: The Role of Domain-Specific Languages : Domain Specific Programming for Safe and Reliable Robots

Sammanfattning: Autonomous robots must operate reliably and predictably in uncertain environ-ments. Throughout the robot software development cycle, robot operators and de-velopers must be able to specify their safety and functional requirements reliablyand explicitly. To this end, we propose to use Domain-Specific Languages (DSLs)to address their needs. To show the applicability and effectiveness of this approach,we demonstrate two DSLs that are designed to enhance both the safety and relia-bility of how robot programmers write their code. Firstly, we extend the Declara-tive Robot Safety (DeROS) language to create ROSSMARie, which not only haltsrobot operations upon safety rule violations (such as proximity to humans) but alsomonitors and tries to recover from these violations autonomously. This extensionallows robots to adapt to system failures and resume operations without humanintervention, striking a balance between safety and task performance. We validateROSSMARie on the ROS-based industrial platform SkiROS2, demonstrating itseffectiveness in maintaining safety for two robot experiments: manipulation andnavigation. Secondly, we explore the use of embedded DSLs for early bug de-tection in robot software development. Recognizing the challenges in predictingthe full context of general-purpose robot components, our approach focuses onearly error identification to avoid costly runtime failures and safety hazards. Weintroduce DSL design patterns tailored for robotics, implemented in Python, andapply these to SkiROS2. These patterns enable programmers to detect bugs earlyin the high-level contracts between robot capabilities and their world model andlower-level implementation code, such as behavior trees, performing consistencychecks during the deployment phase rather than at runtime. This proactive ap-proach significantly enhances safety by identifying potential skill execution issuesbefore they affect robot behavior. An initial study with SkiROS2 developers con-firms the utility of our DSL-based method in early bug detection and improving themaintainability of robot code. We provide a comprehensive approach to domain-specific robot programming, ensuring both the functional safety and operationalefficiency of autonomous robots. By integrating DSL strategies, we provide arobust framework for developing reliable and safe robots capable of adapting todynamic environments and complex tasks.

  KLICKA HÄR FÖR ATT SE AVHANDLINGEN I FULLTEXT. (PDF-format)