{'fraction_non_alphanumeric': 0.01520387007601935, 'fraction_numerical': 0.0, 'mean_word_length': 5.084033613445378, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Programing by Demonstration: Coping with Suboptimal Teaching Actions

The difficulty associated with programing existing robots is one of the main impediments to them finding application in domestic environments such as the home. A promising method for simplifying robot programing is Programing by Demonstration (PbD). Here, an end user can provide a demonstration of the task to be programed, with a PbD “interface” interpreting the demonstration in order to determine low-level control details for the robot. A key aspect of the interpretation process is to make it robust to the noise typically included in a demonstration by the human. In this paper we present a method to help identify and eliminate any noise present in the demonstration. Our method involves two steps. The first step uses the demonstration to build up a partial knowledge of the geometry present in the task. Statistical regression analysis is used on demonstrated trajectories to determine equations describing curved surfaces in configuration space. The second step in our method uses the geometric information obtained in the first step to determine if there are more optimal paths than those demonstrated for completing the task. If there are, our method proposes these as the appropriate control commands for the robot. We show the validity of our approach by presenting successful experiments on a realistic household-type task—changing rolls on a paper roll holder.