Build-A-Bot: Developing A Software Platform For A Modular Mobile Robot

This work aims to create a software platform that can manage dynamic changes in the configuration and functionalities of a modular robot that is currently in development, simulate its final appearance and behavior in augmented reality, and evaluate its usability through a user study. We developed a software platform for a modular collaborative robot where users can add, remove, and swap modules without code changes. The software platform displays possible functions based on the current configuration of modules. To enable 3D interaction with the robot’s digital twin in real-time, we utilized an AR environment with the HoloLens. We conducted a user study with 28 participants without prior knowledge of robotics to evaluate the software’s usability and user experience for non-experts. The study results indicate that the software platform was well-received and user-friendly, with the digital twin in an AR environment providing a realistic robot simulation. Participants’ subjective feedback on usability, user experience, and cognitive workload of different software components was collected, and the analysis showed that the platform is suitable for non-experts. The results showed that our design of the platform and its UI is well-accepted and easy to use, shown by a SUS score of 74.29. We show how we built our software platform, as well as the simulation in AR. Moreover, we propose the practice of using AR simulation to design the software platform before future physical prototype development, in order to test different scenarios, and possibly inform the physical design. Finally, we recommend that future work explores usability with a more diverse set of non-expert users, as well as different tasks.

of different software components was collected, and the analysis showed that the platform is suitable for non-experts.
The results showed that our design of the platform and its UI is well-accepted and easy to use, shown by a SUS score of 74.29.We show how we built our software platform, as well as the simulation in AR.Moreover, we propose the practice of using AR simulation to design the software platform before future physical prototype development, in order to test different scenarios, and possibly inform the physical design.Finally, we recommend that future work explores usability with a more diverse set of non-expert users, as well as different tasks.

INTRODUCTION
The Internet of Things (IoT) has revolutionized various industrial, educational, and experimental domains by enabling the deployment of smart and interconnected devices.Among these advancements, modular robots have emerged as a promising solution in modern industrial processes due to their flexibility and customization capabilities.These modular robots consist of interchangeable mechatronic modules that can be rapidly reconfigured on the fly, eliminating the need for multiple specialized robots for different functionalities [55].
However, the complexity of modular robots results in challenges in programming and controlling them effectively.Traditional robot programming methods are demanding and expensive, requiring diverse skill sets, from different disciplines [14,35].This complexity hinders the involvement of non-expert end-users, limiting the usability and adoption of these robots.
To address this challenge, our research presents a novel software platform tailored to the unique requirements of modular robots, without a need for reprogramming.Our software platform can dynamically adjust to changes in shape, size, and functionality that result from changing the configuration of a modular robot.Additionally, using the concept of digital twins, our platform allows users to interact with a simulated version of the modular robot in Augmented Reality (AR).Our approach facilitates the testing and deployment of Plug-N-Play modules, enabling rapid testing of reconfiguration and the resulting robot's functionality and morphology.
In this paper, we focus on the design, implementation, and evaluation of our software platform, with the primary objective of empowering non-expert users to seamlessly reconfigure and control the modular robot without the need for extensive programming knowledge.We address the following research questions: • RQ1: How can we develop real-time software that effectively manages a modular mobile robot without the need for complex reprogramming?• RQ2: To what extent is this software user-friendly and understandable for non-expert users in various environments?• RQ3: What aspects of the software platform and interface may introduce additional cognitive workload for users?To assess the usability and user experience of our software platform, we conducted a user study involving non-expert users.Study participants interacted with the modular robot in an AR environment, simulating the still-in-development physical prototype of the modular robot.The results of the study demonstrate the high level of acceptance and ease-of-use provided by our approach.The rest of this paper is structured as follows: Section 2 provides a review of related work on robotics in IoT and digital twins, emphasizing user-friendly robot programming approaches.Section 3 outlines the conceptual design and architecture of our software platform, followed by details of the user study in Section 4. In Section 5, we present the findings of the user study, followed by a discussion of the implications of our work in Section 6.Finally, Section 8 concludes the paper, highlighting the potential impact and future research directions for promoting the accessibility of modular robots within the IoT landscape.
This work offers the following contribution: • We develop a software platform capable of handling configuration changes of the modular robot • We test the functionality, usability, user experience, and workload resulting from users interacting with our platform in AR • We offer recommendations for future work based on insights from our findings

RELATED WORK
This section provides an overview of prior research in the domains of robot programming, software platforms for robots, robot simulation, digital companions, and the integration of AR in industry.

Robot Programming
The complexity of robot software stems from the need to control various sensors and actuators in real-time, often amidst uncertainty and noise.Traditional robot programming requires specialized skills, making it challenging for many end-users [35,59].
Researchers have explored solutions to make programming more accessible, such as end-user programming [15,23,42] and intuitive interfaces like voice-based programming [22].The use of crowdsourcing for usability studies has also been investigated [43].Specific applications include teleoperating a robotic arm using Robot Operating System (ROS) and HoloLens [62], and similar software relying on ROS and Oculus [40].
Collaborative map generation for simultaneous localization and mapping (SLAM) has also been proposed [51].

Augmented Reality
AR has been leveraged to enhance various aspects of robotics, including navigation, teleoperation, maintenance, and safety [28,32,63].In medical robotics, AR has found applications in surgery, training, and rehabilitation [12,31,37,41,45].The use of AR in robot programming has led to systems for defining virtual obstacles and tasks, reducing programming time, and improving program quality [17,42].
Recent advancements have focused on the integration of AR with workplace learning and collaboration.This includes the development of shared virtual platforms for training [16], controlling smart factories through spatially-correct AR representations [27], and enhancing workplace learning [33].Visualization of interactions between autonomous machines [34] and the creation of expert digital companions for working environments [53] are also notable contributions.The use of Head-mounted Display (HMD) devices like Microsoft HoloLens has further enabled natural human-robot interaction [31,57,60], and systems for supervising and coordinating multiple robots [47].

IMPLEMENTATION
In our work, the virtual robot acts as a placeholder for the indevelopment modular robot physical prototype.Therefore, adjusting the shape and dimensions of the different modules making up the robot was important to match the planned real counterparts.

Virtualization
To use the 3D models of the robots' parts in ROS, they need to be converted from STEP format to Unified Robotics Description Format (URDF), which is compatible with ROS.This is achieved by using SOLIDWORKS 1 in conjunction with the SOLIDWORKS to URDF Exporter plugin2 to generate a single URDF file for each robot part.This simplifies the import process in both Unity and ROS, as the parts can be imported separately.Furthermore, having separate URDF files facilitates easy reconfiguration of the robot by adding or removing parts as needed.
After import, default scripts and Unity GameObjects are removed, and each part is saved as a prefabricated object, or a prefab.These prefabs serve as templates for creating new GameObjects with nested subparts in a hierarchical Parent-Child relationship.For the AR setup, menus are created using prefabs from the Mixed Reality Toolkit (MRTK) 3 Toolbox in Unity, with scripts added for user and hand interactions, and a ConstraintManager to disable scaling and rotation of the parts.
The assembled robot parts form the body of the virtual robot, which is then placed inside an AR environment using a HMD (the Microsoft Hololens).AR allows real-time interaction between the real and virtual components of the setup, allowing for the augmentation of the physical space where the robot exists with additional virtual 3D objects and audio.A virtual 3D representation of the room is then created to allow the robot to navigate around objects in the room, such as furniture and other obstacles.
When using HoloLens with Unity, the camera position is not fixed, leading to varying positions of the robot in the 3D room each time the application is started.To solve this problem, we use a single Azure Spatial Anchors (ASA), which provides a fixed 3D position in the real world.On startup, we set the robot's position at the origin of the ASA, and create an empty GameObject world at the anchor's position to act as a coordinate system for localization and navigation in ROS.This allows us to transform the robot's position from ROS coordinate system to Unity using the world GameObject as it matches the coordinates of the map.Without the world coordinate system, we would need to store the initial robot's position in Unity on startup and recalculate the global position when a new position is received, making the process more complex and inefficient.

Control
Figure 3 presents the software architecture of the robot control system enabled with AR.The AR engine is developed using Unity and the MRTK to operate on the HoloLens.The right side illustrates the robotic backbone using ROS, responsible for simulating sensors, navigation planning and execution, and path planning for the robotic arm using libraries such as MoveIt [10] and Gazebo [25].The HoloLens renders the user interface in the middle and allows the user to interact with the digital robot.The ROS TCP Connector package facilitates real-time data exchange between the HoloLens and ROS.

System Modes
We decided to design the prototype for typical tasks that a modular robot could perform.The system has three distinct modes, each with its specific functionality: • Configure Mode -In this mode, the user can add or remove parts to the robot.It allows for the customization of the robot to fit specific needs.This mode supports the simulation of reconfiguring the robot on the fly.• Move Mode -This mode activates the navigation stack in ROS.When the user selects this mode, the robot initiates movement and attempts to stop in front of the user.This mode supports visual assessment of the robot's size and possible path in relation to surrounding physical objects, potential obstacles, and its environment.• Set Arm Goal Mode -In this mode, the user specifies the goal for the robotic arm, which is displayed as a white sphere.This triggers the MoveIt package in ROS to plan and execute the arm's movement to the designated location.This mode is to support visualizing the reach of the current configuration of the robot, to assess the feasibility of arm-related tasks.These modes provide users with various ways to interact with the robotic system and accomplish their intended goals.The system offers three modes, each of which can be activated through a button on the main menu displayed in Figure 4.The left palm facing the camera triggers the opening of the main menu.In addition, the system provides users with audio information and an information panel displayed below the buttons panel in Figure 4.

USER STUDY
This section outlines the user study conducted to evaluate the usability and user experience of the software architecture proposed.We describe the procedure and the measures used to assess workload, usability, and user experience.

Participants
The study involved 28 participants (4 female, 24 male) aged between 20 and 35 (M = 23, SD = 3.49, who were university students (Computer Science, Software Engineering) and staff members with no expertise in robotics.One additional participant was excluded from the evaluation due to an interruption during the study procedure.

Procedure
The participants signed a consent form for data usage and were familiarized with the software and usage of the HoloLens, followed by the official HoloLens Tips application to learn the hand gestures and handling of the HoloLens.The participants started the software and completed a series of tasks: • Configure -Participants were asked to build a robot with specific dimensions using blocks of their choice.The robot's width had to be 5 blocks and its length had to be 3 blocks.• Move -Participants were instructed to send the robot to three different positions of their choosing.Paths to those positions could include obstacles such as chairs if desired.• Arm Goal -Participants were asked to set three different goals for the robot's arm, with the goals being freely chosen by the participants.To eliminate order effects, the task sequence was randomized for each participant.After completing each task, participants were asked to fill out the corresponding questionnaires.The study took each participant between 45 and 55 minutes to complete.

Measures
To evaluate the user interaction in AR, participants completed a questionnaire consisting of NASA Task Load Index (NASA-TLX) [19], User Experience Questionnaire (UEQ)-S [49], and System Usability Scale (SUS) [8].NASA-TLX assessed workload, while the short version of UEQ covered the user experience-related aspects of the study.Participants also rated their previous AR experience on a 5-point Likert scale from "None" (1) to "Expert" ( 5) and answered open-ended questions.We asked the participants about what they found most interesting about the software prototype, as well as what they would change about the software if given the opportunity.Finally, we asked them about any additional feedback they would like to share.
The perceived usability of the software was measured using SUS.The user experience is evaluated using the UEQ, which provides a measure for both pragmatic and hedonic qualities.The benchmarks used for comparison are derived from [20], which are based on the long version of the UEQ.The workload evaluation of three tasks is measured using NASA-TLX.

SUS.
We started by calculating the SUS scores.Figure 5 displays the computed scores for each participant.The baseline average score of 68, is indicated by the green line in figure 5. 29% (8 participants) of the scores fell below the average baseline, with the lowest score of 55, while 29% (8 participants) gave grade A scores (above 80.3).

UEQ-S.
The hedonic quality, with a mean of 1.64 and a standard deviation of 0.80, is classified as excellent, placing it within the top 10% of results.In contrast, the pragmatic quality has a mean of 0.86 and a standard deviation of 0.89, categorizing it as below average.Nonetheless, the overall evaluation is deemed above average, with a mean score of 1.25 and a standard deviation of 0.70. Figure 6 displays the computed average scores for each quality, as well as the overall score.
Item (3), which addresses the perceived efficiency of the software, received the lowest score of 0.3, categorized as neutral (below 0.8).There is a statistically significant moderate positive correlation between item (3) and the average SUS score, as well as SUS statement 1 (frequency) and statement 9 (confidence), and a moderate negative correlation with statement 8 (cumbersomeness).These correlations suggest that the perceived efficiency of the software has an impact on the overall usability experience and the user's frequency and confidence in using the software.Item (2) -perceived software complexity -lies slightly below the neutral score.The software complexity and the usability score (calculated SUS score) show a statistically significant strong correlation.
The two hedonic qualities with the highest scores are Item ( 5) and ( 6), which address excitement and interest in using this software.A Spearman's correlation test shows no statistically significant correlation between these items and the participants' experience.However, there is a statistically significant positive correlation between experience with AR and the overall hedonic property, meaning that the novelty effect is not due to unfamiliarity with the HoloLens, but can be traced back to the software.

NASA-TLX.
The Configure task has the highest workload, except for the Performance scale.The Move task has the lowest workload in all scales, and the temporal demand is similar for all three tasks.The perceived performance is also similar for all tasks, with the Arm Goal task having the highest demand.The Effort score for the Configure task is notably lower than the highest score, which is 20.
A Friedman Test was performed for each of the three modes.The perceived performance is the same for each task ( 2 = 1.188, = .552),but there is a statistically significant difference in the perceived mental, physical and temporal demand, as well as the effort and frustration, depending on which task is performed.The highest cognitive workload is confirmed to associate with the "Configure" task as evidenced by Table 1.The "Move" task has the lowest workload, with no significant difference compared to the "Arm Goal" task in overall workload.
Open-ended Questions.Participants expressed positive feedback about the software in open-ended questions, particularly in regard to the reconfiguration of the robot and the similarity to real-world experience.Some participants mentioned the virtual LEGO-like feel of the placing and snapping of blocks, the ability to view from all angles, declarative controlling, and the potential for the software to become an intuitive control system.On the other hand, the main criticism was for occasional errors or delays in rendering and visualizing the 3D objects after manipulation.One participant suggested adding an undo functionality.

DISCUSSION
We created a novel system that can dynamically manage a reconfigurable modular mobile robot, using ROS and Unity, and supporting six types of modules (caster, wheel, arm, LiDAR, and two sizes of chassis blocks) with up to 30 instances of each.
The usability results show that the overall perceived usability of the software in AR is above average, with an average SUS score of 74.29.However, it is important to note that 29% of the participants gave a score below the average baseline.This result, combined with the responses from the open-ended questions, indicates potential areas for improvement, such as improving simulation fidelity and reducing delay.
Performance issues and the need for more information about the robot were reported, which should be addressed in future work.The study results show that the reconfiguration of robot parts is the most demanding task with the highest cognitive load.However, this task is less frequent in real-life production scenarios compared to working with the robotic arm or moving the robot to new positions.Nevertheless, the high cognitive load of the configure task, compared to the other two tasks, indicates that one possible improvement would be investigating how to present the interface for this task more intuitively.Figure 6: The mean UEQ score (with 95% confidence margins) for pragmatic quality (left), hedonic quality (middle) and overall (right).Each bar shows the color-coded benchmarks, presented by [20].
insights from the domain of user interface (UI) and user experience (UX) to reach this goal.The interaction with the robotic arm and navigation of the robot showed low cognitive demand, and the declarative controlling was seen as a positive aspect.
On the other hand, the same number of non-expert participants gave scores above grade A, indicating that the software was highly usable for them.The 99% confidence interval shows that the true mean score is likely between grades C and B, which is also above the average benchmark.Despite reporting they would use the software less frequently in the future due to lack of experience and their limited availability of the HoloLens, some participants found the software exciting and interesting to use.The software could be used without the need for large changes or extensive training.
The simulation is done in ROS, while HoloLens is primarily used for visualization.While functional and usable by non-experts, one limitation of this approach is that it requires maintaining the two frameworks concurrently, which requires higher effort from the software maintenance aspect compared to a single system.An additional challenge is the simulation of the physics, kinematics, mass, and gravity distributions of the used modules.This would add a processing overhead, but would ultimately improve the fidelity of the simulation.

LIMITATIONS
The study was conducted with a group composed of computer science students and technical university staff.This means that the user sample could have a higher affinity to AR-based applications than the general non-expert population of potential users.To mitigate this effect we carried out the correlation analysis with AR experience, but the underlying effect of higher affinity to technology should be acknowledged.To address this, future work should look into a more diverse set of participants, in order to reinforce the generalizability of our findings.

CONCLUSION AND OUTLOOK
The software developed successfully enabled non-expert users to interact with a digital twin-inspired simulation of the in-development robot in a mixed reality environment.The software currently supports three interactions: reconfiguring the robot by adding or removing modules, sending navigation commands, and setting a goal for the robotic arm (RQ1).To make our code available to the scientific community, we hosted it in a GitHub repository that we can share with other researchers upon request.
To evaluate the user experience and usability of the software (RQ2), a study with 28 participants was conducted.The results indicate that the software is user-friendly, understandable, and accessible to non-experts without prior knowledge of robotics or AR.The self-rated workload of the study participants was used to compare the three different modes of interaction.The results suggest that reconfiguring the robot parts has the highest cognitive workload (RQ3), while interacting with the robot's navigation is the most efficient and least cognitively demanding task.
One promising direction for research is examining how this approach compares to other approaches (e.g.block-based programming approach [59]) in helping non-experts utilize the configurable robot.Comparing the simulation to the real-world robot would also be beneficial.Questions regarding how similar the simulation is to the real-world robot, as well as how accurate the navigation and LiDAR simulation are, should also be studied.One potential direction of research is how such a tool can be used to inform or adjust the ongoing construction of the physical prototype.Another direction should examine how our findings generalize to a larger and more diverse sample of non-expert participants with more varied backgrounds.
In summary, this work proposes a novel way of simulating robots by combining ROS with an AR device.Although still in the early phases, this software has proven to be an intriguing and convenient way of human-robot interaction.It has the potential to become a low-cost training tool, a new and more realistic way of teleoperation, or a part of the prototyping process for new robots.We provide the source code and documentation, for the scientific community to build on this work.

Figure 2 :
Figure 2: The modular robot.a) One possible configuration.b) Exploded view of the configuration showing the different modules used.

Figure 3 :
Figure 3: Overview of the software architecture.

Figure 4 :
Figure 4: Overview of the supported modes -Configure (left), Move (middle) and Set Arm Goal (right).

Figure 5 :
Figure 5: The calculated SUS score for each study participant (purple bar) with the SUS score of 68 as benchmark (green line).

Table 1 :
Future work could attempt to apply Friedman Test results for each NASA-TLX workload subscale.