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

Research output: ThesisLicentiate Thesis

313 Downloads (Pure)

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 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.
Original languageEnglish
QualificationLicentiate
Supervisors/Advisors
  • Reichenbach, Christoph, Supervisor
  • Krueger, Volker, Assistant supervisor
Award date2024 Jan 30
Publisher
ISBN (Print)978-91-8039-934-0
ISBN (electronic) 978-91-8039-935-7
Publication statusPublished - 2024

Subject classification (UKÄ)

  • Robotics and automation
  • Computer Sciences

Free keywords

  • Domain Specific Languages
  • Robot programming
  • safety

Fingerprint

Dive into the research topics of 'Programming for Reliability and Safety in Robotics: The Role of Domain-Specific Languages: Domain Specific Programming for Safe and Reliable Robots'. Together they form a unique fingerprint.

Cite this