Difficulties in programming autonomous robots continue to impede widespread application of automation. High level programming capability that permits the user to think in terms of the complete task as opposed to the individual movements required o the robot does not yet exist. This research explores a procedure through which a robot is programmed, in a user-friendly manner, as the operator or programmer physically demonstrates several strategies for accomplishing the task. After a small number of demonstrations, the robot controller would then be capable of performing the task autonomously, driven by its unique, internally developed program. In essence, the upgrade path from pure teach pendant programming or master/slave operation occurs invisibly to the user and does not require a conventional program to be written by the user for the autonomous subtask.