Extending the RoboCog architecture for socially interactive robots: the Reactor proposal
ISR Amphitheater
2015-03-11, 14:00

Seminar by Luis Vicente Calderita (Ph.D. candidate from RoboLab-UnEx / ISIS-UMA)


One of the main goals of current Robotics is to build robots that can accomplish useful tasks in non­trivial environments. During the last few years there have been many achievements in several robotics subfields, such as emotions recognition, navigation and mapping, task planning and grasping, to mention just a few. Building on these skills, roboticists aim at orchestrating them into complex software architectures that are scalable, reusable, maintainable and open to the inclusion of new skills and cognitive abilities. At the center of these architectures lies the problem of how to represent the environment and the robot itself. Roboticists and also philosophers, psychologists and computer scientists, have devoted a huge amount of effort, and some fierce discussions also, to this matter, and although the debate will remain open for a long time to come, there is a considerable consensus nowadays that real robots, performing real, complex tasks need a grounded, well structured and adaptable world representation. Our efforts in this direction and during the last few years have produced the RoboCog architecture [1,2,3], which is built on top of RoboComp, RoboLab’s robotics framework. RoboCog proposes a distributed organization of modules that are in charge of classical perceptual, actuation and planning abilities. Internally, RoboCog follows a vertical structure, reminiscent of Gnat’s three tier architecture [4], with a hardware abstraction layer that provides interfaces to physical subsystems, a layer of behaviors providing perceptual and control skills, and a deliberative planner and executive, in charge of high­level mission unfolding. Behaviors and the deliberative layer communicate through two shared data objects, a ?kinematic tree representing the geometric short­term state of the robot and the environment, and a ?graph ?maintaining a symbolic representation of the robot, its environment and the current plan. Both data objects are complementary and together represent the robot belief about itself and the world. The functioning of the architecture can be easily explained it we picture if as a large dynamical system. Starting in a quasi­stationary state, the perceptual modules try to keep the internal representation synchronized with the world, updating parts of it as things change. But when a new mission is requested, a plan is generated and injected into the symbolic graph. This alteration creates a disequilibrium to which the whole system reacts trying to restore the initial balance. One of the main limitations that we have encountered in this design is the need to maintain two different representations of a same reality. These structures can be considered as two views at different levels of abstraction: geometric and symbolic that have to be updated and accessed concurrently by all modules. This division, although quite handy initially, has turned out to be a major obstacle in the evolution of RoboCog towards handling more demanding social robotics scenarios. The main reasons are, the complexity that each module has to handle in order to update and access both graphs, the difficulty in maintaining a tight division between both abstraction levels, in maintaining a coherent common state when both data objects are accessed separately, in achieving a highly efficient access to data when two or more accesses have to be made for each query, the difficulty in introducing new concepts or new attributes to existing concepts when they must exist in both graphs or the impossibility for the planner to reason about metric properties in an efficient, direct way, among others. This thesis focuses on several improvements over RoboCog that we have called the Reactor proposal. The goal that is pursued seeks the design of a new, integrated, dynamic graph object that can hold several levels of abstraction, from basic geometry and sensorial state to high­level symbols and predicates describing the state of the robot and the environment during a short time lapse. This graph representation must solve the concurrent access issues, guaranteeing internal data coherence and providing a very efficient access for the modules. The final view of the new Reactor architecture can be seen as cylindrical surface splitted in several vertical slices, which are the old modules now standing at equal positions. In the center of the cylinder, the new data object holds the current internal belief of the robot, affecting and being affected by all the modules, and always struggling for an equilibrium that the reality fades away.


[1] P Bustos, J Martinez ­Gómez, I Garcia ­Varea, L Rodriguez ­Ruiz, P Bachiller, LV Calderita, LJ Manso, A Sánchez, A Bandera, JP Bandera. Multimodal Interaction with Loki. In Proceedings of the Workshop of Physical Agents, Albacete, Spain 2013

[2] Jesus Martínez ­Gómez, Rebeca Marfil, L. V. Calderita, Juan Pedro Bandera, L. J. Manso, Antonio Bandera, Adrián Romero ­Garcés and P. Bustos. Toward Social Cognition in Robotics: Extracting and Internalizing Meaning from Perception. In Proceedings of the Workshop of Physical Agents, León, Spain 2014.

[3] L.V. Calderita, C. Suarez Mejías, P. Bustos, F. Fernandez, R. Viciana, A. Bandera. "Asistente Robótico Socialmente Interactivo para Terapias de Neuro­rehabilitación con Pacientes de Pediatria". Revista Iberoamericana de Automática e Informática Industrial. (Impact Factor 0.375). 2015.