Abstract-Cobots (collaborative robots) are revolutionising industries by allowing robots to work in close collaboration with humans. But many companies hesitate their adoption, due to the lack of programming experts. In this work, we evaluate a robot programming framework for non-expert users, that requires users to teach action models expressed in a symbolic planning language (PDDL). These action models would allow the robot to leverage modern automated planners to achieve any userdefined goal. We conducted qualitative user experiments with a Baxter robot to evaluate the non-expert user's understanding of the symbolic planning language and the usability of the framework. We showed that users with little to no programming experience can adopt the symbolic planning language, and use the framework.
I. INTRODUCTIONRobots have been working in close collaboration with humans. Cobotic systems [1] have been adopted in several industries from the food-processing industry, to aeronautics, to the health industry. However, many companies remain robot resistant, as they lack programming experts to fully exploit the robots. Programming by Demonstration (PbD) allows non-experts to teach robots new skills by demonstrating a task, without writing any code [2]. It is an intuitive robot programming approach, with the goal to refine the robot's performance, by providing repetitive demonstrations. However, in existing PbD implementations the robot learns an action sequence [3], [4], rather than atomic actions that can be reused independently. Teaching full action sequences is often complicated and time-consuming, as the robot has to be demonstrated a new sequence, whenever the goal changes.In our previous work [5], we addressed the question "Can non-experts teach a robot atomic actions, which can be reused to automatically generate novel action sequences?" We proposed a framework that combines PbD and Automated Planning [6], where the robot learns action models by demonstration, and the problem of finding an action sequence is delegated to a planner. The robot programming process consists of steps: 1) the non-expert user demonstrates atomic actions to the robot, and teaches action models, expressed in a symbolic planning language (STRIPS [7]), 2) the robot uses these action models with an automated planner to generate solutions to user-defined goals, 3) the user can revisit the taught action model to refine them.