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

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, findi...

Full description

Saved in:
Bibliographic Details
Main Authors: Momina Rizwan, Christoph Reichenbach, Ricardo Caldas, Matthias Mayr, Volker Krueger
Format: Article
Language:English
Published: Frontiers Media S.A. 2025-01-01
Series:Frontiers in Robotics and AI
Subjects:
Online Access:https://www.frontiersin.org/articles/10.3389/frobt.2024.1363443/full
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1841561176815697920
author Momina Rizwan
Christoph Reichenbach
Ricardo Caldas
Matthias Mayr
Volker Krueger
author_facet Momina Rizwan
Christoph Reichenbach
Ricardo Caldas
Matthias Mayr
Volker Krueger
author_sort Momina Rizwan
collection DOAJ
description 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.
format Article
id doaj-art-3d40201b6ed246db8c31d9cc953fe973
institution Kabale University
issn 2296-9144
language English
publishDate 2025-01-01
publisher Frontiers Media S.A.
record_format Article
series Frontiers in Robotics and AI
spelling doaj-art-3d40201b6ed246db8c31d9cc953fe9732025-01-03T05:10:27ZengFrontiers Media S.A.Frontiers in Robotics and AI2296-91442025-01-011110.3389/frobt.2024.13634431363443EzSkiROS: enhancing robot skill composition with embedded DSL for early error detectionMomina Rizwan0Christoph Reichenbach1Ricardo Caldas2Matthias Mayr3Volker Krueger4Department of Computer Science, Faculty of Engineering (LTH), Lund University, Lund, SwedenDepartment of Computer Science, Faculty of Engineering (LTH), Lund University, Lund, SwedenDepartment of Computer Science and Engineering, Chalmers University of Technology, Gothenburg, SwedenDepartment of Computer Science, Faculty of Engineering (LTH), Lund University, Lund, SwedenDepartment of Computer Science, Faculty of Engineering (LTH), Lund University, Lund, SwedenWhen 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.https://www.frontiersin.org/articles/10.3389/frobt.2024.1363443/fullembedded domain-specific languagesrobot skillsskill-based control platformsbehavior treesdomain-specific language design patterns
spellingShingle Momina Rizwan
Christoph Reichenbach
Ricardo Caldas
Matthias Mayr
Volker Krueger
EzSkiROS: enhancing robot skill composition with embedded DSL for early error detection
Frontiers in Robotics and AI
embedded domain-specific languages
robot skills
skill-based control platforms
behavior trees
domain-specific language design patterns
title EzSkiROS: enhancing robot skill composition with embedded DSL for early error detection
title_full EzSkiROS: enhancing robot skill composition with embedded DSL for early error detection
title_fullStr EzSkiROS: enhancing robot skill composition with embedded DSL for early error detection
title_full_unstemmed EzSkiROS: enhancing robot skill composition with embedded DSL for early error detection
title_short EzSkiROS: enhancing robot skill composition with embedded DSL for early error detection
title_sort ezskiros enhancing robot skill composition with embedded dsl for early error detection
topic embedded domain-specific languages
robot skills
skill-based control platforms
behavior trees
domain-specific language design patterns
url https://www.frontiersin.org/articles/10.3389/frobt.2024.1363443/full
work_keys_str_mv AT mominarizwan ezskirosenhancingrobotskillcompositionwithembeddeddslforearlyerrordetection
AT christophreichenbach ezskirosenhancingrobotskillcompositionwithembeddeddslforearlyerrordetection
AT ricardocaldas ezskirosenhancingrobotskillcompositionwithembeddeddslforearlyerrordetection
AT matthiasmayr ezskirosenhancingrobotskillcompositionwithembeddeddslforearlyerrordetection
AT volkerkrueger ezskirosenhancingrobotskillcompositionwithembeddeddslforearlyerrordetection