Automatic Failure Recovery for End-User Programs on Service Mobile Robots

For service mobile robots to be most effective, it must be possible for non-experts and even end-users to program them to do new tasks. Regardless of the programming method (e.g., by demonstration or traditional programming), robot task programs are challenging to write, because they rely on multiple actions to succeed, including human-robot interactions. Unfortunately, interactions are prone to fail, because a human may perform the wrong action (e.g., if the robot's request is not clear). Moreover, when the robot cannot directly observe the human action, it may not detect the failure until several steps after it occurs. Therefore, writing fault-tolerant robot tasks is beyond the ability of non-experts. This paper presents a principled approach to detect and recover from a broad class of failures that occur in end-user programs on service mobile robots. We present a two-tiered Robot Task Programming Language (RTPL): 1) an expert roboticist uses a specification language to write a probabilistic model of the robot's actions and interactions, and 2) a non-expert then writes an ordinary sequential program for a particular task. The RTPL runtime system executes the task program sequentially, while using the probabilistic model to build a Bayesian network that tracks possible, unobserved failures. If an error is observed, RTPL uses Bayesian inference to find the likely root cause of the error, and then attempts to re-execute a portion of the program for recovery. Our empirical results show that RTPL 1) allows complex tasks to be written concisely, 2) correctly identifies the root cause of failure, and 3) allows multiple tasks to recover from a variety of errors, without task-specific error-recovery code.

[1]  Joelle Pineau,et al.  Spoken Dialogue Management Using Probabilistic Reasoning , 2000, ACL.

[2]  Craig A. Knoblock,et al.  PDDL-the planning domain definition language , 1998 .

[3]  Boyang Li,et al.  Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices , 2018, CHI.

[4]  M. Felsberg,et al.  Autonomous navigation and sign detector learning , 2013, 2013 IEEE Workshop on Robot Vision (WORV).

[5]  Maya Cakmak,et al.  Robot Programming by Demonstration with Interactive Action Visualizations , 2014, Robotics: Science and Systems.

[6]  Diana Franklin,et al.  Blockly goes to work: Block-based programming for industrial robots , 2017, 2017 IEEE Blocks and Beyond Workshop (B&B).

[7]  Rüdiger Dillmann,et al.  Probabilistic MDP-behavior planning for cars , 2011, 2011 14th International IEEE Conference on Intelligent Transportation Systems (ITSC).

[8]  Stephanie Rosenthal,et al.  An effective personal mobile robot agent through symbiotic human-robot interaction , 2010, AAMAS.

[9]  Maya Cakmak,et al.  Design and evaluation of a rapid programming system for service robots , 2016, 2016 11th ACM/IEEE International Conference on Human-Robot Interaction (HRI).

[10]  Manuela M. Veloso,et al.  An interactive approach for situated task specification through verbal instructions , 2014, AAMAS.

[11]  Mathijs de Weerdt,et al.  Plan Repair as an Extension of Planning , 2005, ICAPS.

[12]  Joseph E. Urban,et al.  DOROTHY: Enhancing Bidirectional Communication between a 3D Programming Interface and Mobile Robots , 2014, AAAI.

[13]  Felix Duvallet,et al.  Imitation learning for natural language direction following through unknown environments , 2013, 2013 IEEE International Conference on Robotics and Automation.

[14]  Andrea Lockerd Thomaz,et al.  Automatic State Abstraction from Demonstration , 2011, IJCAI.

[15]  Oliver Kroemer,et al.  A Review of Robot Learning for Manipulation: Challenges, Representations, and Algorithms , 2019, J. Mach. Learn. Res..

[16]  Manuela M. Veloso,et al.  Multi-resolution Corrective Demonstration for Efficient Task Execution and Refinement , 2012, Int. J. Soc. Robotics.

[17]  Arjun Guha,et al.  Interactive Robot Transition Repair With SMT , 2018, IJCAI.

[18]  Subbarao Kambhampati,et al.  Planning Graph as a (Dynamic) CSP: Exploiting EBL, DDB and other CSP Search Techniques in Graphplan , 2000, J. Artif. Intell. Res..

[19]  John D. Kelleher,et al.  Mediating between Qualitative and Quantitative Representations for Task-Orientated Human-Robot Interaction , 2007, IJCAI.

[20]  C. Eisner,et al.  Efficient Detection of Vacuity in ACTL Formulaas , 1997, CAV.

[21]  Carlos Balaguer,et al.  A humanoid robot standing up through learning from demonstration using a multimodal reward function , 2013, 2013 13th IEEE-RAS International Conference on Humanoid Robots (Humanoids).

[22]  Shlomo Zilberstein,et al.  Online Decision-Making for Scalable Autonomous Systems , 2017, IJCAI.

[23]  Rastislav Bodík,et al.  Rousillon: Scraping Distributed Hierarchical Web Data , 2018, UIST.

[24]  Avrim Blum,et al.  Fast Planning Through Planning Graph Analysis , 1995, IJCAI.