In this talk we will argue that a
multi-threaded control architecture with a library of partial plans
that are a generalization of Nilsson's Teleo-Reactive
(TR) rule procedures allows for the smooth integration of three key levels
of robot control:
1: Speedy but goal directed response to changing sensor readings
2: Switching between level 1 control procedures when higher level inferred beliefs about the state of the environment change
3: Reacting to events and goals by selecting appropriate level 2 control plans
We start by introducing and demonstrating the use of TR rule procedures with
a simulation and visualisation of purely
reactive can collecting robot.
We will then show how a mutually recursive set of TR procedures, with rules that test beliefs inferred from sensor reading using concept defining rules, can be used to program a block stacking robot arm that can systematically build a tower of named blocks and ‘knows’ when the tower is completed. A simulation will be demonstrated.
A key feature of TR procedure control is that the robot can be helped or hindered in its task and the TR procedure will immediately respond by skipping actions, if helped, or by redoing actions if hindered. This operational semantics leads naturally to a multi-threaded implementation, with one thread for each active procedure.
A multi-tasking robot can respond to events: new goal events or just
significant belief updates triggered by sensor readings. It then selects an
appropriate plan of action for each event using
event/plan selection rules.
We conclude by describing our top level control architecture which borrows from classic BDI architectures, particularly AgentSpeak(L). It has a separate event handling thread that selects and invokes appropriate plans for events, sometimes suspending currently executing but incompatible plans for lower priority events. The plans are a generalization of TR procedures.