Understanding On-the-Fly End-User Robot Programming
Laura Stegner, Yuna Hwang, David Porfirio, Bilge Mutlu
TL;DR
The paper investigates end-user experience with on-the-fly robot end-user programming using the Tabula prototype, revealing how multimodal inputs and program synthesis influence user understanding, control, and workflow. Through a 21-participant study involving structured and open-ended scenarios, five themes emerge, highlighting reliance on program-step visualization, non-sequential input challenges, tool-like perceptions of robots, mixed reactions to automated synthesis, and the learning curve beyond basic functionality. The authors derive design implications to improve feedback, support more step-wise input, clarify robot autonomy, and offer adjustable automation levels, culminating in Tabula 2.0 design directions. These findings advance understanding of EUP tool usability and provide actionable guidelines to better align on-the-fly programming interfaces with diverse user needs and domains. The work contributes to democratizing robot use by outlining practical pathways to design end-user friendly, autonomous-leaning but controllable robotic programming tools.
Abstract
Novel end-user programming (EUP) tools enable on-the-fly (i.e., spontaneous, easy, and rapid) creation of interactions with robotic systems. These tools are expected to empower users in determining system behavior, although very little is understood about how end users perceive, experience, and use these systems. In this paper, we seek to address this gap by investigating end-user experience with on-the-fly robot EUP. We trained 21 end users to use an existing on-the-fly EUP tool, asked them to create robot interactions for four scenarios, and assessed their overall experience. Our findings provide insight into how these systems should be designed to better support end-user experience with on-the-fly EUP, focusing on user interaction with an automatic program synthesizer that resolves imprecise user input, the use of multimodal inputs to express user intent, and the general process of programming a robot.
