A Survey on End-User Robot Programming

  title={A Survey on End-User Robot Programming},
  author={Gopika Ajaykumar and Maureen Steele and Chien-Ming Huang},
  journal={ACM Computing Surveys (CSUR)},
  pages={1 - 36}
As robots interact with a broader range of end-users, end-user robot programming has helped democratize robot programming by empowering end-users who may not have experience in robot programming to customize robots to meet their individual contextual needs. This article surveys work on end-user robot programming, with a focus on end-user program specification. It describes the primary domains, programming phases, and design choices represented by the end-user robot programming literature. The… 

Figures from this paper

Assisted End-User Robot Programming
This PhD thesis will focus on enabling assisted end-user robot programming to support users throughout the robot programming process, from authoring to editing, by leveraging users’ natural multimodal cues.
Designing user-centric programming aids for kinesthetic teaching of collaborative robots
Results of the study indicate that users have greater task efficiency while authoring robot programs and maintain stronger mental models of the system when using Demoshop compared to the baseline interface, which has implications for the further development of assistance in end-user robot programming.
Multimodal Robot Programming by Demonstration: A Preliminary Exploration
Recent years have seen a growth in the number of industrial robots working closely with end-users such as factory workers [14]. This growing use of collaborative robots has been enabled in part due
Reinforcement Learning for Pick and Place Operations in Robotics: A Survey
An extensive review of all methods implemented by researchers in the field to date for reinforcement learning for pick-and-place operations indicates that experiment validation, model generalization, and grasp pose selection are topics that require additional research.
Automatic Extension of a Symbolic Mobile Manipulation Skill Set
This work proposes a method that allows an agent to automatically extend its skill set, and thus the abstract description, upon encountering such a situation, and introduces strategies for generalizing from previous experience, completing sequences of key actions and discovering preconditions to ensure the efficiency of the skill sequence exploration scheme.


JESSIE: Synthesizing Social Robot Behaviors for Personalized Neurorehabilitation and Beyond
JESSIE is a robotic system that enables novice programmers to program social robots by expressing high-level specifications and supports reproducibility, scalability, and accessibility of personalized robots for HRI.
Vipo: Spatial-Visual Programming with Functions for Robot-IoT Workflows
Vipo is presented, a spatial-visual programming system for robot-IoT workflows that was designed with input from managers at six factories using mobile robots and evaluated efficiency, correctness, comprehensibility of spatial- visual programming with functions.
End-User Programming of Low-and High-Level Actions for Robotic Task Planning
iRoPro is proposed, an interactive Robot Programming framework that allows end-users to teach robots new actions from scratch and reuse them with a task planner and demonstrates that users with any programming level and educational background can easily learn and use the system.
Evaluating Methods for End-User Creation of Robot Task Plans
A 35-person user study with the Behavior Tree-based CoSTAR system found CoSTAR to be highly usable, with an average System Usability Scale score of 73.4 out of 100; SmartMove users showed better performance for incorporating perception across all three tasks.
Simultaneous End-User Programming of Goals and Actions for Robotic Shelf Organization
This work argues for enabling end-users to customize the robot to their specific objects and setup at deployment time by programming it themselves by implementing the proposed approach that allows simultaneously learning task goals and actions.
Design and evaluation of an end-user friendly tool for robot programming
A design of a web based programming interface that makes it possible for end-users with different backgrounds to program robots using natural language is proposed and it showed that domain specialists are able to make robot programs more quickly and pleasantly with the proposed interface than with an existing one.
Teaching People How to Teach Robots: The Effect of Instructional Materials and Dialog Design
  • M. Cakmak, L. Takayama
  • Computer Science
    2014 9th ACM/IEEE International Conference on Human-Robot Interaction (HRI)
  • 2014
This paper develops a system that allows users to program complex manipulation skills on a two-armed robot through a spoken dialog interface and by physically moving the robot’s arms, and investigates the effect of providing users with an additional written tutorial or an instructional video.
ROS: an open-source Robot Operating System
This paper discusses how ROS relates to existing robot software frameworks, and briefly overview some of the available application software which uses ROS.
CAPIRCI: A Multi-modal System for Collaborative Robot Programming
This paper presents CAPIRCI (Chat And Program Industrial Robots through Convenient Interaction), a multi-modal web application supporting end users, with no expertise in computer science, to define
Combining Interactive Spatial Augmented Reality with Head-Mounted Display for End-User Collaborative Robot Programming
Main advantages of the proposed approach are the possibility to program the collaborative workspace without the presence of the robot, its speed in comparison to the kinesthetic teaching and an ability to quickly visualize learned program instructions, in form of virtual objects, to enhance the users’ orientation within those programs.