Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

EzSkiROS : enhancing robot skill composition with embedded DSL for early error detection

Rizwan, Momina LU orcid ; Reichenbach, Christoph LU orcid ; Caldas, Ricardo ; Mayr, Matthias LU orcid and Krueger, Volker LU orcid (2025) In Frontiers in robotics and AI 11(2024).
Abstract

When developing general-purpose robot software components, we often lack complete knowledge of the specific contexts in which they will be executed. This limits our ability to make predictions, including our ability to detect program bugs statically. Since running a robot is an expensive task, finding errors at runtime can prolong the debugging loop or even cause safety hazards. This paper proposes an approach to help developers catch these errors as soon as we have some context (typically at pre-launch time) with minimal additional efforts. We use embedded domain-specific language (DSL) techniques to enforce early checks. We describe design patterns suitable for robot programming and show how to use these design patterns for DSL... (More)

When developing general-purpose robot software components, we often lack complete knowledge of the specific contexts in which they will be executed. This limits our ability to make predictions, including our ability to detect program bugs statically. Since running a robot is an expensive task, finding errors at runtime can prolong the debugging loop or even cause safety hazards. This paper proposes an approach to help developers catch these errors as soon as we have some context (typically at pre-launch time) with minimal additional efforts. We use embedded domain-specific language (DSL) techniques to enforce early checks. We describe design patterns suitable for robot programming and show how to use these design patterns for DSL embedding in Python, using two case studies on an open-source robot skill platform SkiROS2, designed for the composition of robot skills. These two case studies help us understand how to use DSL embedding on two abstraction levels: the high-level skill description that focuses on what the robot can do and under what circumstances and the lower-level decision-making and execution flow of tasks. Using our DSL EzSkiROS, we show how our design patterns enable robotics software platforms to detect bugs in the high-level contracts between the robot’s capabilities and the robot’s understanding of the world. We also apply the same techniques to detect bugs in the lower-level implementation code, such as writing behavior trees (BTs), to control the robot’s behavior based on its capabilities. We perform consistency checks during the code deployment phase, significantly earlier than the typical runtime checks. This enhances the overall safety by identifying potential issues with the skill execution before they can impact robot behavior. An initial study with SkiROS2 developers shows that our DSL-based approach is useful for finding bugs early and thus improving the maintainability of the code.

(Less)
Please use this url to cite or link to this publication:
author
; ; ; and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
Behavior trees, Domain-specific language design patterns, Embedded domain-specific languages, Robot skills, Skill-based control platforms
in
Frontiers in robotics and AI
volume
11(2024)
article number
1363443
pages
18 pages
publisher
Frontiers Media S. A.
external identifiers
  • pmid:39831284
  • scopus:85214998106
ISSN
2296-9144
DOI
10.3389/frobt.2024.1363443
project
Domain-Specific Robot Programming for Reliability, Safety, and Availability
Robotics and Semantic Systems
language
English
LU publication?
yes
id
be0b5e3b-c754-4672-88af-5fd54f3adbca
date added to LUP
2025-03-13 08:55:17
date last changed
2025-07-03 19:22:00
@article{be0b5e3b-c754-4672-88af-5fd54f3adbca,
  abstract     = {{<p>When developing general-purpose robot software components, we often lack complete knowledge of the specific contexts in which they will be executed. This limits our ability to make predictions, including our ability to detect program bugs statically. Since running a robot is an expensive task, finding errors at runtime can prolong the debugging loop or even cause safety hazards. This paper proposes an approach to help developers catch these errors as soon as we have some context (typically at pre-launch time) with minimal additional efforts. We use embedded domain-specific language (DSL) techniques to enforce early checks. We describe design patterns suitable for robot programming and show how to use these design patterns for DSL embedding in Python, using two case studies on an open-source robot skill platform SkiROS2, designed for the composition of robot skills. These two case studies help us understand how to use DSL embedding on two abstraction levels: the high-level skill description that focuses on what the robot can do and under what circumstances and the lower-level decision-making and execution flow of tasks. Using our DSL EzSkiROS, we show how our design patterns enable robotics software platforms to detect bugs in the high-level contracts between the robot’s capabilities and the robot’s understanding of the world. We also apply the same techniques to detect bugs in the lower-level implementation code, such as writing behavior trees (BTs), to control the robot’s behavior based on its capabilities. We perform consistency checks during the code deployment phase, significantly earlier than the typical runtime checks. This enhances the overall safety by identifying potential issues with the skill execution before they can impact robot behavior. An initial study with SkiROS2 developers shows that our DSL-based approach is useful for finding bugs early and thus improving the maintainability of the code.</p>}},
  author       = {{Rizwan, Momina and Reichenbach, Christoph and Caldas, Ricardo and Mayr, Matthias and Krueger, Volker}},
  issn         = {{2296-9144}},
  keywords     = {{Behavior trees; Domain-specific language design patterns; Embedded domain-specific languages; Robot skills; Skill-based control platforms}},
  language     = {{eng}},
  month        = {{01}},
  publisher    = {{Frontiers Media S. A.}},
  series       = {{Frontiers in robotics and AI}},
  title        = {{EzSkiROS : enhancing robot skill composition with embedded DSL for early error detection}},
  url          = {{http://dx.doi.org/10.3389/frobt.2024.1363443}},
  doi          = {{10.3389/frobt.2024.1363443}},
  volume       = {{11(2024)}},
  year         = {{2025}},
}