<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>IS-EUD</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Advancing End-User Development in Robotics with Large Language Models and Digital Twins</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luigi Gargioni</string-name>
          <email>luigi.gargioni@unibs.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Human-Machine Interaction, End-User Development, Human-Robot Collaboration</institution>
          ,
          <addr-line>Collaborative Robots, Digital</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Brescia - Department of Information Engineering</institution>
          ,
          <addr-line>Via Branze 38, Brescia, 25123</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>10</volume>
      <fpage>16</fpage>
      <lpage>18</lpage>
      <abstract>
        <p>This paper introduces an end-user development environment designed to support non-expert users in creating pick-and-place robot tasks. The environment includes a chat-based interface powered by OpenAI's GPT-4o, guiding users through the task definition process in an intuitive and domain-oriented manner. Once a task is defined, it is visualized in a graphic interface built with Google Blockly, enabling users to review, edit, or expand the task through direct manipulation of block-like components. The system also allows users to generate a corresponding robot program and simulate its execution using a digital twin of the robot. This final simulation step is essential for validating the task and identifying potential issues before deploying the robot program in a real-world setting.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction and related works</title>
      <p>
        The integration of collaborative robots (cobots) into human-centered work environments has gained
significant traction in recent years. Cobots are increasingly employed to support a variety of complex
and repetitive tasks, thereby enhancing overall system flexibility and productivity [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Their adoption
helps strike a balance between automation and flexibility, a crucial requirement for mass customization
and small-batch production [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. Cobots are designed to operate safely alongside humans, often
handling precise or physically demanding operations that either precede or follow human interventions.
Typically constructed with lightweight materials to reduce injury risk during accidental contact [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
cobots can also be easily moved between workstations to support location-specific tasks [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. As a result,
they are considered a key technology for enhancing both production eficiency and the overall quality
of working conditions [
        <xref ref-type="bibr" rid="ref4 ref5">5, 4</xref>
        ].
      </p>
      <p>
        To fully leverage the flexibility of cobots, it is essential that human workers can program new
tasks easily and quickly. However, these workers are usually not experts in programming or robotics.
Consequently, a major challenge in this field is to design methods and develop software environments
that empower end users to create robot programs independently [
        <xref ref-type="bibr" rid="ref2 ref4 ref6">4, 2, 6</xref>
        ].
      </p>
      <p>
        This work presents an End-User Development (EUD) [
        <xref ref-type="bibr" rid="ref7 ref8 ref9">7, 8, 9</xref>
        ] environment that supports both
programming and testing through intuitive interaction modalities. For the programming phase, users
can define robot tasks using natural language through a chat-based interface that integrates OpenAI
GPT-4o. In addition to confirming the task through conversational interaction, the environment also
provides a visual representation of the generated robot program using Google Blockly [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Blockly was
chosen for its proven efectiveness in promoting end-user programming [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. The visual interface
allows users to inspect and incrementally refine the tasks by manipulating graphical blocks, thereby
supporting the progressive enhancement of task complexity. Unlike other approaches, users in our
system are not required to build the Blockly program from scratch. Instead, Blockly serves as a visual
medium for inspecting, correcting, and modifying the generated code via direct manipulation of the
blocks.
      </p>
      <p>CEUR</p>
      <p>ceur-ws.org</p>
      <p>
        Regarding testing, the environment incorporates a digital twin [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] of the robot, enabling users to
simulate and validate the robot’s behavior before deploying the program in a physical setting. The
digital twin ofers the possibility of executing the programmed tasks on a precise representation of the
robot, facilitating the early detection of potential execution issues prior to deployment on the physical
system. This simulation capability is powered by Gazebo1, an open-source robot simulator compatible
with the Robot Operating System (ROS)2, allowing seamless integration with standard ROS-based
development workflows.
      </p>
      <p>
        As a case study, the work focuses on the specification of pick-and-place tasks. Within the EUD
environment, users can first define the items relevant to their specific application domain, such as
objects, actions, and locations, and then compose tasks that may include repetitions, conditional loops,
and branching behaviors. This work builds upon the hybrid approach to user-centered programming
described in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], but introduces several enhancements. These include the use of GPT-4o for advanced
natural language understanding, a more standardized and expressive block-based interface for
visualizing and editing robot programs, and the integration of a digital twin, extending the system presented in
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], to enable sandbox-style testing and validation of the robot tasks.
      </p>
      <p>For the purpose of this project, the COBOTTA robot 3, developed by DENSO WAVE Ltd, was selected.
COBOTTA is a compact, lightweight, and portable collaborative robot designed with safety and ease of
use in mind, particularly in environments involving human operators. The robot features a six-axis
articulated arm and is equipped, in its standard configuration, with an integrated camera and an electric
gripper, making it particularly suitable for pick-and-place applications.</p>
      <p>The programming paradigm presented in this work is expected to significantly improve the
accessibility and usability of COBOTTA for non-technical users. By lowering the barriers to robotic programming,
this approach aims to support a diverse range of task scenarios executable by COBOTTA or comparable
collaborative robots. It is important to note, however, that the current prototype supports only a subset
of COBOTTA capabilities. Specifically, the version used in the experiments does not allow remote
operation or integration with additional equipment beyond the standard configuration comprising the
camera and electric gripper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Core components of the EUD environment</title>
      <p>
        The EUD environment has been developed as a web-based platform aimed at simplifying the creation
of robot tasks through an intuitive interface. Its implementation adopts widely used web and scripting
technologies to ensure compatibility, ease of deployment, and integration with existing tools. Additional
technical details regarding the system architecture are provided in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. To support the modeling and
interaction with physical systems, a digital twin has been incorporated into the workflow using a
ROS-based architecture.
      </p>
      <p>To clarify the role of each component, a realistic running example is used throughout this section:
let us imagine a technician who needs to automate a routine lab procedure to process a series of test
tubes; the technician can use a cobot to perform a shaking operation on each test tube and place it
into a container; however, the cobot can initiate the task only after the technician physically touches it,
using this interaction as a signal to begin. This scenario is used in the following to illustrate the three
primary components of the EUD environment, namely the chat interface, the graphic interface, and the
digital twin, which can be used by the technician to define, validate, and simulate the robot tasks.</p>
      <sec id="sec-2-1">
        <title>2.1. The chat interface</title>
        <p>The main function of the chat interface is to support users in defining new pick-and-place tasks
through natural language interaction. Users can communicate with the system either via text or voice.
1https://gazebosim.org/home
2https://www.ros.org/
3https://www.densorobotics-europe.com/product-overview/products/collaborative-robots/cobotta/
Underlying this interface is a Large Language Model (LLM) responsible for extracting and interpreting
user intent from natural language inputs. In this implementation, the LLM used is OpenAI GPT-4o. To
guide its behavior, the model is initialized with a detailed prompt that defines the scope and structure
of the task. This prompt specifies the model’s role in assisting users with the task definition and
outlines a custom JSON schema to be used as the output format. This intermediate representation
was introduced due to the LLM’s limitations in generating outputs directly compatible with Blockly’s
syntax. The use of a well-structured and machine-readable JSON format is essential to formalize the
user’s request in a standardized way, making it parsable across subsequent steps of the application,
such as the graphic interface and the digital twin. To ensure maximal determinism and reproducibility
of outputs, the model’s temperature parameter is set to 0. Notably, the pick-and-place task may include
an intermediate processing step between the pick and the place actions, such as a shaking action or a
movement toward a specific position. Furthermore, tasks can consist of multiple pick-processing-place
sequences, incorporate loops (e.g., execute a sequence of actions five times) and conditional logic (e.g.,
execute a sequence of actions only if there is a feedback from the human, such as the human touches
the robot), and support hierarchical structures with varying levels of nesting, such as a loop inside a
conditional statement.</p>
        <p>
          An example of a chat interaction is reported in Figure 1. As discussed in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], the complexity of tasks
that can be conveyed through natural language is inherently limited. Even in human communication, it
is challenging to articulate logic involving multiple nested levels. Consequently, this application restricts
task definitions to a maximum of two levels of nesting (e.g., a conditional statement inside another
conditional), a constraint that significantly narrows the scope of intent recognition and simplifies the
model’s interpretive responsibilities. For instance, the user can define a task consisting of a sequence of
pick-processing-place actions, which may be executed a given number of times in a loop (i.e., internal
statement), depending on an external condition (i.e., external statement), such as a sensor signal. Once
a task has been defined, the chat interface provides a summary of the interpreted information for
user verification. At this stage, the user can either revise the task by providing an explanation for the
modification or confirm it. Upon confirmation, the task is rendered in the graphic interface, ofering a
visual representation of the robot program.
        </p>
        <p>In the lab scenario, assuming that the necessary items, like the flask, the shaking action, and the
collector, have already been defined in the EUD environment, the technician can describe the task
through the chat interface saying: ”Pick the flask, shake it, and put it in the collector. Do this task when
you receive the human feedback”. If needed, the user can refine it, for example, by switching the object
from a flask to a test tube, without rewriting the entire task. The LLM interprets this instruction and
generates a JSON-formatted task representation. Figure 1 illustrates an example of this interaction.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. The graphic interface</title>
        <p>The graphic interface serves as a complementary tool for both reviewing tasks defined via the chat
interface and creating new tasks from scratch. Unlike the chat-based interaction, the graphic interface
supports the creation of tasks with arbitrary levels of nesting. During the review process, the graphic
interface enables users to address any ambiguities or misinterpretations arising from the natural language
interaction by allowing direct manipulation of the task structure through drag-and-drop interaction.
This includes rearranging, inserting, or deleting task items represented as blocks. The interface is
built upon the Google Blockly library, leveraging its flexibility to define custom blocks and enforce
domain-specific connection rules that align with the application semantics. These customizations are
implemented by the system developers with the goal of making them accessible and usable by end
users.</p>
        <p>
          A total of six custom block categories were designed to structure task creation. The Logic category
includes control structures such as loops and conditionals (e.g., “When-Do”, “Repeat”), enabling the
definition of task logic. The Events category comprises blocks that serve as conditional triggers within
the logic, such as “Sensor signal” and “Diferent object detected”. The Steps category contains the core
action blocks, i.e., “Pick”, “Processing”, and “Place”, used to construct the fundamental flow of a task.
The remaining categories, Objects, Actions, and Locations, provide the contextual items required by the
steps. Specifically, these blocks represent the objects to be manipulated, the processing actions to be
performed, and the target locations for placement, respectively. Each of these contextual items can
be defined by the user within the EUD environment. For example, new objects (e.g., a flask) can be
defined using the robot’s camera to capture their shape; new actions (e.g., a shaking movement) can be
recorded by physically guiding the robot’s arm and saving the corresponding point cloud; and new
locations (e.g., a collector) can be set by manually positioning the arm and saving that position. Further
technical details on these definition processes are available in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>To ensure syntactic correctness in task construction, a set of rules governs how blocks may be
connected within the interface. These rules help users to assemble well-structured workflows. While
the blocks reflect standard programming constructs, their labels reflect users’ terminology. For instance,
conditional statements are expressed using the “When-Do-Otherwise” construct rather than the
conventional “If-Then-Else,” thereby enhancing accessibility for users without programming experience.
An example can be: “when a sensor signal is received, do pick the square pill; otherwise, pick the circular
pill”.</p>
        <p>Going back to the running example, the user moves to the graphic interface, where the
blockbased representation of the task is shown. The interface uses familiar terminology, making it easy to
understand and modify the task. Even at this stage, adjustments, like changing the final destination of
an object, can be made by simply replacing a block. The graphic visualization in Blockly of the task
previously defined with chat is shown in Figure 2.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. The digital twin</title>
        <p>The digital twin serves as an efective tool for verifying the correctness and completeness of a defined
task. Through desktop-based virtual reality visualization, users are able to assess the accuracy of task
specifications and ensure the coherence of task items, such as objects, actions, locations, conditions,
and control structures like loops.</p>
        <p>The digital twin is implemented using the Gazebo simulator and includes both a virtual model of the
robot and a representation of its operational environment. Figure 3 illustrates the integration of the
various components within the EUD environment.</p>
        <p>The process begins by interacting with the chat interface (depicted as the green box in the figure),
where users formulate their requests using natural language. The goal of this LLM-powered interface is
to interpret the user’s input and generate a structured representation of intent. Upon completion of the
dialogue, the LLM produces a task description in a custom JSON format.</p>
        <p>This JSON output is subsequently processed by Python-based functions that parse and convert it
into a Blockly-compliant JSON structure. During this conversion, the functions also retrieve from the
database the identifiers for task-relevant entities, such as objects, locations, and actions, augmenting
the task definition with necessary metadata. These data play a crucial role in executing tasks in
realworld environments, as they enable the system to retrieve the necessary technical information, such
as object images or precise location coordinates, required for accurate and efective operation. The
use of synonyms defined during the item definition process improves the accuracy of database queries
by allowing the system to recognize and match diferent terms that refer to the same item, thereby
reducing the risk of missed or incorrect results.</p>
        <p>Within the Blockly graphic interface (shown as the blue box in the figure), users can review the
generated task representation and make any necessary adjustments.</p>
        <p>Finally, a Python-based program template processes the Blockly JSON to extract key task items and
synthesize them into a sequence of executable robot instructions. This sequence can then be run either
in the Gazebo-based simulation environment (orange box in the figure) or on the physical robot.</p>
        <p>As a final step of the running example, the user can simulate the task using the digital twin. Since
real-world sensor data must be approximated in the simulation, the user must specify whether the
condition, such as human feedback, is to be treated as true or false.</p>
        <p>This end-to-end running example demonstrates how users can intuitively define, review, and test
complex tasks without needing to engage with technical programming tools.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Conclusion and Future Work</title>
      <p>The proposed EUD environment supports a comprehensive and structured workflow for robot
programming. This workflow begins with the definition of domain-specific items, proceeds through task
specification via both the chat interface and the block-based graphic interface, continues with task
validation using a digital twin, and culminates in the execution of the validated task on a physical robot.</p>
      <p>
        In contrast to existing applications that rely on simulation environments [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] or employ Gazebo and
ROS technologies [
        <xref ref-type="bibr" rid="ref18">18, 19</xref>
        ], the proposed system removes the need for end-users to interact with complex
technical tools or programming languages. Instead, it ofers a web-based interface tailored to non-expert
users. Adhering to human-centered AI design principles [20], the system employs domain-consistent
terminology to facilitate understanding and usability.
      </p>
      <p>Despite these strengths, there are still some limitations in the current implementation that will be
overcome in the next months. First, the fidelity of the mapping between the physical environment
and its digital representation should be improved. Key aspects, such as object manipulation, image
acquisition via the robot’s camera, and environmental simulation, require greater realism to more
accurately reflect real-world conditions. Second, the current version of the EUD environment enables
relatively simple task definitions (e.g., pick-and-place tasks with basic processing actions) and lacks the
expressiveness needed to define and simulate more complex operations. Finally, while it is essential to
demonstrate the technical capabilities of the system, conducting an empirical evaluation would enhance
the overall research contribution. It will be important to plan a user study with non-programmers to
assess the system’s capacity in interpreting users’ requests and generating accurate outputs. Preliminary
testing has already been conducted on a customized application developed for pharmacists specialized
in galenic preparations [21]. This version does not employ either Blockly or the Digital Twin; however,
it has a dedicated graphical interface that has been tailored to the specific domain. The results of these
preliminary studies have provided valuable insights, and the feedback has been, for the most part,
positive.</p>
      <p>Future enhancements will aim to improve the accuracy of the digital twin, support the specification
and simulation of more complex robotic tasks, and validate the system’s usability and efectiveness
through structured user evaluations. Additional eforts will explore techniques to better align the LLM
with domain-specific requirements. In particular, Retrieval-Augmented Generation (RAG) methods
will be investigated to provide contextual information that enhances task interpretation and output
accuracy. Furthermore, the personalization of user interactions, tailored to individual preferences and
prior behavior, will be explored to further improve user experience.</p>
      <p>This work advances the field of end-user robot programming by introducing a human-centered
artificial intelligence approach that harnesses the capabilities of large language models and digital twin
technology. The proposed workflow empowers users, regardless of their programming or robotics
background, to design, test, and refine robot programs using intuitive tools. By centering the development
process around the user, the approach aims to deliver accessible, eficient, and efective programming
experiences tailored to individual needs. The overarching goal of this work is to foster a progressive
learning path for human users, facilitating the acquisition of robot programming competencies and
promoting the development of computational fluency [ 22, 23]. Through this approach, users are expected
to advance seamlessly in their programming abilities over time.</p>
      <sec id="sec-3-1">
        <title>Declaration on Generative AI</title>
        <p>During the preparation of this work, the author used ChatGPT and Grammarly in order to: grammar
and spelling check, paraphrase, and reword. After using these services, the author reviewed and edited
the content as needed, thus, he takes full responsibility for the publication’s content.
IEEE International Conference on Industrial Technology (ICIT), volume 1, 2021, pp. 1169–1175.
doi:10.1109/ICIT46573.2021.9453594.
[19] C.-J. Liang, W. McGee, C. C. Menassa, V. R. Kamat, Real-time state synchronization between
physical construction robots and process-level digital twins, Construction Robotics 6 (2022) 57–73.
doi:10.1007/s41693-022-00068-1.
[20] B. Shneiderman, Human-centered AI, Oxford University Press, Oxford, UK, 2022.
[21] L. Gargioni, D. Fogli, P. Baroni, Preparation of personalized medicines through collaborative
robots: A hybrid approach to the end-user development of robot programs, ACM Journal on
Responsible Computing (2025).
[22] B. R. Barricelli, D. Fogli, A. Locoro, EUDability: A new construct at the intersection of end-user
development and computational thinking, Journal of Systems and Software 195 (2023) 111516.
doi:10.1016/j.jss.2022.111516.
[23] B. R. Barricelli, D. Fogli, L. Gargioni, A. Locoro, S. Valtolina, Towards the unification of
computational thinking and eudability: Two cases from healthcare, in: Proceedings of the 2024
International Conference on Advanced Visual Interfaces, AVI ’24, Association for Computing
Machinery, New York, NY, USA, 2024, pp. 1–9. doi:10.1145/3656650.3656671.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>V.</given-names>
            <surname>Villani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Pini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Leali</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Secchi, Survey on human-robot collaboration in industrial settings: Safety, intuitive interfaces and applications</article-title>
          ,
          <source>Mechatronics</source>
          <volume>55</volume>
          (
          <year>2018</year>
          )
          <fpage>248</fpage>
          -
          <lpage>266</lpage>
          . doi:
          <volume>10</volume>
          .1016/j. mechatronics.
          <year>2018</year>
          .
          <volume>02</volume>
          .009.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J. E.</given-names>
            <surname>Michaelis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Siebert-Evenstone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Shafer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mutlu</surname>
          </string-name>
          ,
          <article-title>Collaborative or simply uncaged? understanding human-cobot interactions in automation</article-title>
          ,
          <source>in: Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems, CHI '20</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2020</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1145/3313831.3376547.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Löfving</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Almström</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jarebrant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wadman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Widfeldt</surname>
          </string-name>
          ,
          <article-title>Evaluation of flexible automation for small batch production</article-title>
          ,
          <source>Procedia Manufacturing</source>
          <volume>25</volume>
          (
          <year>2018</year>
          )
          <fpage>177</fpage>
          -
          <lpage>184</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.promfg.
          <year>2018</year>
          .
          <volume>06</volume>
          .072,
          <source>proceedings of the 8th Swedish Production Symposium (SPS</source>
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>El Zaatari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Marei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Usman</surname>
          </string-name>
          ,
          <article-title>Cobot programming for collaborative industrial tasks: An overview</article-title>
          ,
          <source>Robotics and Autonomous Systems</source>
          <volume>116</volume>
          (
          <year>2019</year>
          )
          <fpage>162</fpage>
          -
          <lpage>180</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.robot.
          <year>2019</year>
          .
          <volume>03</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.</given-names>
            <surname>Peternel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Babič</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ajoudani</surname>
          </string-name>
          ,
          <article-title>Towards ergonomic control of human-robot comanipulation and handover</article-title>
          ,
          <source>in: 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids)</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
          . doi:
          <volume>10</volume>
          .1109/HUMANOIDS.
          <year>2017</year>
          .
          <volume>8239537</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Ajaykumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Steele</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-M. Huang</surname>
          </string-name>
          ,
          <article-title>A survey on end-user robot programming</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>54</volume>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1145/3466819.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Lieberman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Paternò</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Wulf</surname>
          </string-name>
          ,
          <article-title>End User Development (Human-Computer Interaction Series</article-title>
          ), Springer-Verlag, Berlin, Heidelberg,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Paternò</surname>
          </string-name>
          , V. Wulf (Eds.),
          <source>New Perspectives in End-User Development</source>
          , Springer, Cham,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -60291-2.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Barricelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Cassano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fogli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Piccinno</surname>
          </string-name>
          ,
          <article-title>End-user development, end-user programming and end-user software engineering: A systematic mapping study</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>149</volume>
          (
          <year>2019</year>
          )
          <fpage>101</fpage>
          -
          <lpage>137</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.jss.
          <year>2018</year>
          .
          <volume>11</volume>
          .041.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Google</surname>
          </string-name>
          , Blockly,
          <year>2012</year>
          . URL: https://developers.google.com/blockly.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Cakmak, Code3: A system for end-to-end programming of mobile manipulator robots for novices and experts</article-title>
          ,
          <source>in: Proceedings of the 2017 ACM/IEEE International Conference on Human-Robot Interaction, HRI '17</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2017</year>
          , p.
          <fpage>453</fpage>
          -
          <lpage>462</lpage>
          . doi:
          <volume>10</volume>
          .1145/2909824.3020215.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Weintrop</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Afzal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Salac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Francis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Shepherd</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Franklin</surname>
          </string-name>
          ,
          <article-title>Evaluating coblox: A comparative study of robotics programming environments for adult novices</article-title>
          ,
          <source>in: Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems, CHI '18</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2018</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1145/3173574.3173940.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Barricelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Casiraghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fogli</surname>
          </string-name>
          ,
          <article-title>A survey on digital twin: Definitions, characteristics, applications, and design implications</article-title>
          ,
          <source>IEEE access 7</source>
          (
          <year>2019</year>
          )
          <fpage>167653</fpage>
          -
          <lpage>167671</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fogli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gargioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Guida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tampalini</surname>
          </string-name>
          ,
          <article-title>A hybrid approach to user-oriented programming of collaborative robots</article-title>
          ,
          <source>Robotics and Computer-Integrated Manufacturing</source>
          <volume>73</volume>
          (
          <year>2022</year>
          )
          <article-title>102234</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.rcim.
          <year>2021</year>
          .
          <volume>102234</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Gargioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fogli</surname>
          </string-name>
          ,
          <article-title>Integrating chatgpt with blockly for end-user development of robot tasks</article-title>
          ,
          <source>in: Companion of the 2024 ACM/IEEE International Conference on Human-Robot Interaction, HRI '24</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2024</year>
          , p.
          <fpage>478</fpage>
          -
          <lpage>482</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3610978.3640653.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>A. K. Lampinen</surname>
          </string-name>
          ,
          <article-title>Can language models handle recursively nested grammatical structures? A case study on comparing models and humans, 2023</article-title>
          . URL: https://arxiv.org/abs/2210.15303. arXiv:
          <volume>2210</volume>
          .
          <fpage>15303</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Schoen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>White</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Henrichs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Siebert-Evenstone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Shafer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mutlu</surname>
          </string-name>
          ,
          <article-title>Coframe: A system for training novice cobot programmers</article-title>
          ,
          <source>in: 2022 17th ACM/IEEE International Conference on Human-Robot Interaction (HRI)</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>185</fpage>
          -
          <lpage>194</lpage>
          . doi:
          <volume>10</volume>
          .1109/HRI53351.
          <year>2022</year>
          .
          <volume>9889345</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>I.</given-names>
            <surname>Peake</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. La</given-names>
            <surname>Delfa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bejarano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Blech</surname>
          </string-name>
          , Simulation components in Gazebo, in:
          <year>2021</year>
          22nd
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>