I am currently building an Agent Based Model (ABM) to investigate how people attribute intentions/behaviours/goals to agents. This is similar to the Heider and Simmel experiment, except that the shapes are self-directed agents, rather than handdrawn animation. The joy (and sometimes also intimidating aspect) is that it is completely up to me what behaviour the agents produce; I am thinking along the lines of dancing, chasing, hiding, for example.
Key to the ABM is the agent architecture. This is an area I am new to, and I see PCT as a potentially useful theory, as it has a way a to explicitly represent the agent’s goals and intentions as a reference signal. Other roboticists/AI theorists I have been reading include Valentino Braitenberg, Ross Ashby, Grey Walter and in particular Rodney Brooks. PCT seems to follow naturally from here.
I hope can ask two sets of questions 1) questions I have as a PCT novice that I will ask to help me clear up some conceptual confusion 2) questions on how to acutally construct a PCT architecture for my ABM.
Clearing Conceptual Confusion
Brooks’ subsumption architecture is, on the face of it, very similar to HPCT. Am I right in thinking that you could include subsumption architecture as a case of a hierarchical control system? I have read Kennaway’s paper on a control system for a walking robot, and he distances subsumption architecture from PCT: firstly, this is because higher layers in the subsumption architecture can act directly on the actuators; secondly, it is suggested that because subsumption architecture is built as an Input-Output device, not as a control system, it is excluded from being PCT.
I am interested by what is meant by the second point, because Brooks’ approach was a rejection of the more open-loop Sense-Model-Plan-Act GOFAI paradigm, and is described as layered “sensorimotor loops”. Are these loops not closed-loop control? If you read the description of the first 3 layered subsumption architecture robot built by Brooks and his MIT team (which is available towards the end of section 6 in Intelligence without Representation), you see a lot of the finite state machines in the network act as comparators (albeit sometimes as binary switches, rather than generating a continuous error signal). In what ways is Subsumption Architecture comparable to PCT? If an agent is described as being an Input-Output device, does this preclude it from being a closed-loop control system (I presume so)?
The main reason I have for making this post is to get some general advice on how I should build my ABM. These are questions mainly related to creating more complex higher-order control loops. Dealing with multi-dimensional signals, for instance. I can create very simple behaviours, like following, or chasing, by setting the control variable to distance from other agent. Are there some more sophisticated techniques I can employ?
I have implemented a physics engine, and my robot can actuate change by applying torque and force, which in turn changes angular velocity and velocity. I plan for my first-order control layer to control the velocity and angular velocity through effecting change by applying these forces, and I can follow the example of Kennaway’s simulation. It is really with the higher-order inter-agent control loops where I am on shakier ground.