Cognitive Architecture#
Conventionally, we have said that there is technically no fixed software architecture for TEO. We use YARP to implement a loosely coupled program and library infrastructure as described by the Component-Based Software Engineering (CBSE) paradigm. XML files describe modules and connections, which can be administered throughout the TEO cluster manually or using a program called yarpmanager. During normal operation:
- The teoBase XML is launched for basic robot services.
- The teoTools XML is launched to assure correct operation of each teoBase service.
- A final application-level XML is launched, from one of the demonstration or research repositories.
A traditional setup of the components for an application involving gaze control and manipulator gesture, extracted from the teo-follow-me demonstration repository, is depicted below.
More recently, the TEO Cognitive Architecture has gained similarities to the ICub Cognitive Architecture and TRoPOCALs, as well as many other bio-inspired embodied cognition architectures.
We highlight the following aspects:
- A Decision Making (DM) process is governed by managing a-priori knowledge, short and long term memory, and instantaneous attention mechanisms.
- The DM directly operates in the robot motor actuation space of manipulation, locomotion and gaze control.
- Attention spans from multimodal perceptual aural, visual, and proprioceptive sensory data.
- Linguistic input is partially processed from the attention mechanism and also fed into the DM.
- An optional reactive component can be activated, enabling a pathway that directly maps from the sensor data to the motor space.