Programming Robotic Agents: A Multi-tasking Teleo-Reactive Approach

Date
Location

ICCSX836

Speaker: Keith Clark, Imperial College London and University of Queensland (joint work with Peter Robinson, University of Queensland)

Host: Alan Mackworth

We present a multi-threaded/multi-tasking message communicating robotic agent architecture in which the concurrently executing tasks are programmed in TeleoR, a major extension of Nilsson’s Teleo-Reactive Procedures (TR) guard ~> action rule language for robotic agents. TeleoR’s rules are clustered into parameterised procedures. Rule actions are primitive robotic actions or calls to a procedure, including a recursive call. The rule guards query rapidly changing percept, and more slowly changing told and remembered facts, via a hierarchy of knowledge rules in the agent’s BeliefStore.

In each procedure the guards form a subgoal tree routed at the guard of the first rule. Each rule’s action normally brings about changes such that new percepts enable its super-goal guard to be inferred, causing that rule to be fired. The action of the first rule maintains its guard. TeleoR procedures are a linearisation of a conditional tree plan which is executed optimistically and robustly, redoing or skipping actions as appropriate. Rule firings in each called procedure are re-considered on each update, starting with the initially called procedure.

This makes TeleoR (and TR) well suited to robot/robot or human/robot co-operative tasks. TeleoR extends TR in being typed and higher order with a companion typed higher order LP/FP language QuLog for encoding BeliefStore knowledge. It also has extra forms of guarded rules and actions, extending the range of single task behaviours that can be easily programmed.  Its most important extension is the concept and use of task atomic procedures to control the deadlock and starvation free sharing of multiple robotic resources by an agent’s concurrent tasks, as illustrated in the video at http://youtu.be/f81U0iHNzB0 - the simulation of that video will be shown.