# Enabling End-Users in Designing and Executing of Complex, Collaborative Robotic Processes
A model-driven approach is desired, requiring expert knowledge of both the robotic systems and the application domain in which the robotic processes are executed. In the industrial environment, holistic robotics solutions are often easier to implement due to the proximity of technical tasks that usually dominate there. In domains like healthcare, involving domain experts can be more difficult, because in many cases they do not have any robotic know-how. In any case, knowledge of a complex and unique situation is needed, where requirements and processes of the application domain, in general, and in the particular of the to-be automated use-case, is combined with the technical knowledge how to program collaborative robots interacting with humans and the other system along the processes. Interoperability needs to be established on technical, semantic and organizational process level [13; 14]. Training people from the application domain in computational thinking for being able to program robotic processes requires effort [15]. The same is true in training robot programmers in understanding the particularities of the end-user domain. What is needed, is an approach that allows people either with robotic know-how to easily understand the requirements and the processes of the application domain, or an approach where (application) domain experts can easily model robotic processes. In the project ROBxTASK, we have focused on the second approach [16; 17; 18; 19]. In brief, in this project we support multiple user groups working together on the task of creating robotic programs. The three roles supported are: (a) the Robotic Engineer to provide concrete implementations of robotic skills for a specific hardware; (b) the Task Designer, a person with partial domain and robotic know-how, is working on robotic workflows that build on the skills provided by (a); (c) the Robot Co-Worker is an end-user domain expert with no robotic knowledge, but who is working with robots and has the responsibility to execute the workflows designed by (b). Application-oriented research of accessible interfaces that allow end-users to build robot-based applications has already been researched [20; 21] including applications for robot-based therapy [22; 23; 24], education [25], social robotics [26; 27], industry [28] and service robots [29]. A broad overview on the topic of end user robotic programming is presented by [PERSON], [PERSON], and [PERSON] [30]. In general we found the following platforms and research of particular interest:  
* Trigger-Action Programming: The trigger-action paradigm [31], is a possible approach to help application domain experts, without specific programming know-how, to personalize the behaviour of humanoid robots. The tool IFTTT ([[https://ifttt.com](https://ifttt.com)]([https://ifttt.com](https://ifttt.com)), accessed on 8 May 2023) is a well known example, implementing this paradigm. * Code3: A System for End-to-End Programming of Mobile Manipulator Robots for Novices and Experts [32]. Code3 builds on Google's \({}^{\text{TM}}\)Blockly ([[https://developers.google.com/blockly](https://developers.google.com/blockly)]([https://developers.google.com/blockly](https://developers.google.com/blockly)), accessed on 8 May 2023) [33] environment. However there the focus is on single robots. The focus with respect to targeted user group is on programmers (with and without robotic coding skills). Code3 enables use-case-specific code using three parts \"(1) CustomLandmarks for developing perceptual capabilities, (2) CustomActions for programming manipulation actions, and (3) Codelt for combining the two in a high-level program that captures task requirements\" [32] (p. 2). Use-cases and robot specific Landmarks and Actions are defined in Code3 and can then be used in the Codelt environment. This environment shows a lower level of abstraction, which gets visible by code that includes detailed modelling of gripper movements [32].