lunduniversity.lu.se

Computer Science

Faculty of Engineering, LTH

2019 and later

Licentiate seminar: Programming for Reliability and Safety in Robotics: The Role of Domain-Specific Languages

Seminarium

From: 2024-01-30 13:15 to 15:00
Place: E:1406, E-huset, LTH, Ole Römers väg 3, Lund
Contact: momina [dot] rizwan [at] cs [dot] lth [dot] se


Thesis title: Programming for Reliability and Safety in Robotics: The Role of Domain-Specific Languages

Author: Momina Rizwan, Department of Computer Science, Lund University

Faculty opponent: Professor Ulrik Pagh Schultz Lundquist, University of Southern Denmark

Examiner: Professor Per Runeson, LTH

Supervisor: Senior Lecturer Christoph Reichenbach, LTH

Co-supervisor: Professor Volker Krueger, LTH

 

Date and time: Tuesday 30 January at 13:15

Location: E:1406, E-huset, LTH, Ole Römers väg 3, Lund

For download: Follow this link to download the pdf: (Link to be added)

Link to Research Portal: (Link to follow later)

For link to online zoom meeting: Please e-mail cs_expedition(at)cs.lth.se

 

Abstract

Autonomous robots must operate reliably and predictably in uncertain environments. Throughout the robot software development cycle, robot operators and developers must be able to specify their safety and functional requirements reliably and 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 reliability of how robot programmers write their code. Firstly, we extend the Declarative Robot Safety (DeROS) language to create ROSSMARie, which not only halts robot operations upon safety rule violations (such as proximity to humans) but also monitors and tries to recover from these violations autonomously. This extension allows robots to adapt to system failures and resume operations without human intervention, striking a balance between safety and task performance. We validate ROSSMARie on the ROS-based industrial platform SkiROS2, demonstrating its effectiveness in maintaining safety for two robot experiments: manipulation and navigation. Secondly, we explore the use of embedded DSLs for early bug detection in robot software development. Recognizing the challenges in predicting the full context of general-purpose robot components, our approach focuses on early error identification to avoid costly runtime failures and safety hazards. We introduce DSL design patterns tailored for robotics, implemented in Python, and apply these to SkiROS2. These patterns enable programmers to detect bugs early in the high-level contracts between robot capabilities and their world model and lower-level implementation code, such as behavior trees, performing consistency checks during the deployment phase rather than at runtime. This proactive approach significantly enhances safety by identifying potential skill execution issues before they affect robot behavior. An initial study with SkiROS2 developers confirms the utility of our DSL-based method in early bug detection and improving the maintainability of robot code. We provide a comprehensive approach to domain-specific robot programming, ensuring both the functional safety and operationaefficiency of autonomous robots. By integrating DSL strategies, we provide a robust framework for developing reliable and safe robots capable of adapting to dynamic environments and complex tasks.