Behavior construction and refinement from high-level specifications

Mobile robots are excellent examples of systems that need to show a high level of autonomy. Often robots are loosely supervised by humans who are not intimately familiar with the inner workings of the robot. We cannot generally predict exact environmental conditions in which the robot will operate in advance. This means that the behavior must be adapted in the field. Untrained individuals cannot (and probably should not) program the robot to effect these changes. We need a system that will (a) allow re-tasking, and (b) allow adaptation of the behavior to the specific conditions in the field. In this paper we concentrate on (b). We will describe how to assemble controllers, based on high-level descriptions of the behavior. We will show how the behavior can be tuned by the human, despite not knowing how the code is put together. We will also show how this can be done automatically, using reinforcement learning, and point out the problems that must be overcome for this approach to work.