Invited Talk

Teleo-Reactive Programming of Co-operative Reactive Robotic Agents

Keith Clark,
Emeritus Professor Imperial College London,
Visiting Professor, University of Huddersfield

We describe a multi-threaded message communicating robotic agent architecture implemented in the rule languages TeleoR and QuLog. The agent’s action control program is a universal plan for the agent’s task goal. It can be helped or hindered but will always immediately respond with an appropriate action directed towards this goal.

We introduce the use of such a robotic agent with two simulated robot control applications: robotic arm control for block tower building, and co-operative control of each of several track following robots moving through open doorways to a destination room, along a computed shortest path.

In the co-operative navigation the agents communicate to keep each other informed about their current room location, their current path intentions, and the open/shut status of doors that they see. This ensures they have a common set of beliefs about the environment. The common beliefs are used to plan paths, to compute a new remaining path when doors believed to be open are seen or reported by another agent to be now closed, and to ensure there are only ever two robots in the same room if one has positioned itself to be on a side track out of the way of the other, and has informed the other of this fact.
This avoids possible collisions on tracks.

More detail on the languages

QuLog is a flexibly typed multi-threaded logic + functional programming language with a top layer of action rules. It is evolved from many years of using a multi-threaded Prolog for agent programming. It is more declarative and succinct than Prolog.

TeleoR is a major extension of  Nilsson’s Teleo-Reactive (TR) guard~>action rule language for robotic agents. The rules are clustered into procedures. Their guards are QuLog queries to a Belief Store of rapidly changing perceptual beliefs, and more slowly changing told and remembered beliefs. Their actions are one or more robotic actions, or a call to a TeleoR procedure, including a recursive call. Each action can be optionally linked with a sequence of QuLog actions to update the Belief Store, or to communicate to other agents.