Abstract:
Internal task representation is a key design choice for programming by demonstration (PbD) systems. A good representation must include all the desired effects of the task and a set of rules to guide the execution process. Most existing task representations describe the task as a set of primitive actions which can be executed one by one using the specified pre and post conditions to achieve the task goals. We consider two main issues: i) a primitive action may not result in the same effect each time it is executed depending upon the initial conditions of the robot and changes in the environment; and ii) runtime changes in the environment may change the execution priority of the primitives and require termination of a primitive prior to its completion. We propose two improvements to address the above two issues. In the proposed task representation the primitives are replaced by elementary targets - the desired effects, and the pre/post conditions are replaced with execution control rules (ECRs). The proposed ECRs demonstrate better control of the task execution flow by invoking five actions - initiation, termination, completion, suspension and resumption. Example tasks are presented in a helicopter simulator to evaluate the proposed task representation.