Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

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

Rizwan, Momina LU orcid (2024) In Licentiate thesis 2024(1).
Abstract
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 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 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 halts
robot operations upon safety rule violations (such as proximity to... (More)
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 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 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 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 de-
tection 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 ap-
proach significantly enhances safety by identifying potential skill execution issues
before 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 the
maintainability of robot code. We provide a comprehensive approach to domain-
specific robot programming, ensuring both the functional safety and operational
efficiency 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. (Less)
Please use this url to cite or link to this publication:
author
supervisor
organization
publishing date
type
Thesis
publication status
published
subject
keywords
Domain Specific Languages, Robot programming, safety
in
Licentiate thesis
volume
2024
issue
1
pages
128 pages
publisher
Department of Computer Science, Lund University
ISSN
1652-4691
ISBN
978-91-8039-934-0
978-91-8039-935-7
project
Domain-Specific Robot Programming for Reliability, Safety, and Availability
language
English
LU publication?
yes
id
436ad77f-6cb5-4232-9f45-3b077d47f0d9
date added to LUP
2024-01-09 15:40:46
date last changed
2024-01-23 17:11:39
@misc{436ad77f-6cb5-4232-9f45-3b077d47f0d9,
  abstract     = {{Autonomous robots must operate reliably and predictably in uncertain environ-<br/>ments. Throughout the robot software development cycle, robot operators and de-<br/>velopers must be able to specify their safety and functional requirements reliably<br/>and explicitly. To this end, we propose to use Domain-Specific Languages (DSLs)<br/>to address their needs. To show the applicability and effectiveness of this approach,<br/>we demonstrate two DSLs that are designed to enhance both the safety and relia-<br/>bility of how robot programmers write their code. Firstly, we extend the Declara-<br/>tive Robot Safety (DeROS) language to create ROSSMARie, which not only halts<br/>robot operations upon safety rule violations (such as proximity to humans) but also<br/>monitors and tries to recover from these violations autonomously. This extension<br/>allows robots to adapt to system failures and resume operations without human<br/>intervention, striking a balance between safety and task performance. We validate<br/>ROSSMARie on the ROS-based industrial platform SkiROS2, demonstrating its<br/>effectiveness in maintaining safety for two robot experiments: manipulation and<br/>navigation. Secondly, we explore the use of embedded DSLs for early bug de-<br/>tection in robot software development. Recognizing the challenges in predicting<br/>the full context of general-purpose robot components, our approach focuses on<br/>early error identification to avoid costly runtime failures and safety hazards. We<br/>introduce DSL design patterns tailored for robotics, implemented in Python, and<br/>apply these to SkiROS2. These patterns enable programmers to detect bugs early<br/>in the high-level contracts between robot capabilities and their world model and<br/>lower-level implementation code, such as behavior trees, performing consistency<br/>checks during the deployment phase rather than at runtime. This proactive ap-<br/>proach significantly enhances safety by identifying potential skill execution issues<br/>before they affect robot behavior. An initial study with SkiROS2 developers con-<br/>firms the utility of our DSL-based method in early bug detection and improving the<br/>maintainability of robot code. We provide a comprehensive approach to domain-<br/>specific robot programming, ensuring both the functional safety and operational<br/>efficiency of autonomous robots. By integrating DSL strategies, we provide a<br/>robust framework for developing reliable and safe robots capable of adapting to<br/>dynamic environments and complex tasks.}},
  author       = {{Rizwan, Momina}},
  isbn         = {{978-91-8039-934-0}},
  issn         = {{1652-4691}},
  keywords     = {{Domain Specific Languages; Robot programming; safety}},
  language     = {{eng}},
  note         = {{Licentiate Thesis}},
  number       = {{1}},
  publisher    = {{Department of Computer Science, Lund University}},
  series       = {{Licentiate thesis}},
  title        = {{Programming for Reliability and Safety in Robotics: The Role of Domain-Specific Languages : Domain Specific Programming for Safe and Reliable Robots}},
  url          = {{https://lup.lub.lu.se/search/files/170123081/Programming_for_Reliability_and_Safety_in_Robotics_The_Role_of_Domain-Specific_Languages_1_.pdf}},
  volume       = {{2024}},
  year         = {{2024}},
}