2015 IEEE International Conference on Autonomous Robot Systems and Competitions
Adding conscious aspects in virtual robot navigation through Baars-Franklin’s cognitive architecture. Thiago Becker∗† , Jo˜ao Alberto Fabro∗ , Andr´e Schneider de Oliveira∗ , Luis Paulo Reis‡ ∗
Graduate School of Applied Computing (PPGCA) Federal University of Technology-Paran´a, Curitiba, Brazil
[email protected], {fabro, andre}@dainf.ct.utfpr.edu.br † Foundation Parque Tecnol´ ogico Itaipu - Brazil (FPTI-BR) ‡ DSI/School of Engineering University of Minho
[email protected] This paper describes the development of a simulated robot1 and Robot Operating System (ROS)2 using the consciousness model of the Baars-Franklin cognitive architecture.
Abstract—Human consciousness is a target of research in multiple fields of knowledge, that presents it as an important characteristic to better handle complex and diverse situations. Artificial consciousness models have arose, together with theories that attempt to model what we understand about consciousness, in a way that could be implemented an artificial conscious being. The main motivations to study artificial consciousness are related to the creation of agents more similar to human beings, in order to build more efficient machines. This paper presents an experiment using the Global Workspace Theory and the LIDA Model to build a conscious mobile robot in a virtual environment, using the LIDA framework as a implementation of the LIDA Model. The main objective is to evaluate if it is possible to use conscience as implemented by the LIDA framework to simplify decision making processes during navigation of a mobile robot subject to interaction with people, as part of a cicerone robot development.
I.
The objective of the setup and the experiments is to evaluate if it is practical to use the Baars-Franklin cognitive architecture in a mobile robot to complete cognitive tasks in an indoor environment. This experiment is the first step in a major research being developed to build a cicerone robot that will use the Global Workspace Theory as a significant part of its cognitive system. In [14] it can be seen a development of a cicerone robot that uses a perceptual awareness model, where the robot can imagine its own sequences of actions using an internal 3D model of the environment based on its perceptions. An implementation of robot localization using consciousness can be seen in [15], where a model that uses some aspects of Baars-Franklin model was built to be used for the specific case of robot consciousness.
I NTRODUCTION
In the following sections a brief explanation of the Global Workspace Theory is presented, followed by a short presentation of the LIDA3 Cognitive Model and the implemented framework. The remaining of the paper presents the development of the integrated cognitive robot and experiments. The final sections present the results of simulations realized, and some conclusions drawn.
Human consciousness is a subject that challenges scholars of different fields of knowledge, and lately a handful of researchers stopped disagreeing about consciousness definitions and started attempting to apply the concepts of consciousness in computable models. The main motivations to study artificial consciousness are related to the creation of agents that are more similar to human beings in its decision processes, in order to build more efficient robots and machines. Consciousness is cited as the differential of human beings in dealing with complex and diversified situations, providing more flexibility and adaptability.
II.
The Global Workspace Theory (GWT) proposes consciousness as a global access that supports the recruitment and integration of independent brain functions [7]. Baars proposal suggests that the nervous system contains various specialized processors that execute their functions in an autonomous (and unconscious) form. These processors are highly specialized and efficient in performing their tasks, and they work in parallel to create a very high capacity distributed system similar to the central nervous system. The specialized processors can
The term consciousness does not have a global accepted definition [2]. Some researchers say that consciousness is not a physical property but something that emerges from the physical brain, due to the level of complexity that it achieves [3]. On the other hand, reductionists say that consciousness is nothing but a state or brain function [4] [5]. In the context of the reductionist theories, one proposal of a consciousness model is the Haikonen neural cognitive system [6], where processing of perceptions are used by an agent to access information about the environment and its own physical state. Another model of consciousness is the Global Workspace Theory (GWT) that proposes consciousness as a global access, which supports the recruitment and integration of independent brain functions [7]. This last model served as the basis for the Baars-Franklin model of artificial consciousness [1]. 978-1-4673-6991-6/15 $31.00 © 2015 IEEE DOI 10.1109/ICARSC.2015.34
G LOBAL W ORKSPACE T HEORY
1 The simulation environment used in the experiments is the Coppelia Robotics’ Virtual Robot Experimentation Platform(V-REP) robotics simulator, free of charge for non-commercial applications. 2 ROS is an standardized environment, available as free software, that allows the programming of robots and robotic tasks. It is possible to transpose the same programming that work with the v-rep simulator directly to a real robot, with the same command interfaces. ROS is available to a wide range of commercial and research robots.[http://www.ros.org/] 3 LIDA stands for Learning Intelligent Distribution Agent [13]
204
the Episodic Memory and Declarative Memory to produce local associations. Local Associations are combined with the percept to generate the current situational model, so the agent can understand what is happening [10][12].
cooperate, developing coalitions to do their tasks, as in the Crick and Koch model [8]. Coalitions can be composed of specialized processors and of other coalitions. In order to transmit the processors output to the conscious level, there needs to have a activation that is higher than other competing processors. With the purpose of increasing its activation, a processor has to bring in new and relevant information. When a processor brings routine information, its activation level remains low. The processor activation level collaborates with the coalition activation level that it participates with, increasing the chance to consciousness access. The processors that are not in the winning coalition are defined as unconscious processors.
The consciousness phase begin by the Attention Codelets forming coalitions with selected portions of the situational model [10][12]. The competition for the Global Workspace begins selecting the most relevant, important, salient or most urgent coalition to be the contents of consciousness, and broadcast it to the system. The next phase of the cognitive cycle is the Action Selection. This phase is also the learning one, in which several processes operate in parallel. When the broadcast from the global workspace reaches the Perceptual Associative Memory, new entities and associations and the reinforcement of old ones come together. The events from the broadcast become new memories in Transient Episodic Memory.
The Global Workspace is the central structure of Baars theory. This structure is where the conscious experience is accomplished. It acts like a Working Memory [9] that intermediates the information exchange and interactions among processors. The global workspace, differing to the specialized processors, is a serial structure with a low processing capacity. This is meant to be an attentional relevance filter of the contents in consciousness. Due to this characteristic, only one coalition can be within the global workspace at a given time. Because of that, competition arises, where the coalition with the highest level of activation acquire the access to the global workspace. Only the winning coalition can broadcast its content in a conscious way to the other processors [7]. The contents of this broadcast are proposed to be phenomenally conscious and it serves to recruit other processors that are not in the winning coalition. In other words, this processors are unconscious processes that can be used to select an action in response to the current situation [10].
In the LIDA model, the learning occurs when the contents of a conscious broadcast arrives at the perceptual associative memory, episodic memory and procedural memory modules. The perceptual learning happens with the strengthen or decay of the activation level in the perceptual associative memory nodes and with the creation of new nodes, based on the contents of the conscious broadcast. The episodic learning occurs through associations made by the episodic memory model, these associations are made by a sparse distributed memory [16]. The content of the conscious broadcast is written the episodic memory module which does the associations of similar situations. The action schemes along with their contexts and expected results are learned into the procedural memory [12] by creating new schemes and reinforcing the activation level of the old ones.
Consciousness, as proposed by GWT, enables the agent to deal with novel or problematic situations that could not be dealt with, or should not be dealt only by efficiently habituated unconscious process [10]. In the next section, the LIDA Model, that implements the GWT computationally, is briefly presented. III.
Running in parallel with all these functions of the action selection phase, some possible action schemes are recruited from Procedural Memory. A copy of each one is instantiated with its bound variables and sent to Action Selection [12], where it competes to be the behaviour selected for this cognitive cycle. The selected behaviour triggers the SensoryMotor Memory and starts the execution of the behaviour, with this execution the cognitive cycle is complete and another one begins.
T HE LIDA M ODEL
The LIDA model is a conceptual and computational model that covers a large portion of human cognition while implementing GWT [10]. The fact that every autonomous agent must frequently sense the environment in which it is inserted and then select an action in response to this sensed information leads the LIDA architecture to be based on a cognitive cycle, where the agent continually executes a sequence of sensing and acting. In each cognitive cycle of LIDA, the agent senses its environment and his own internal characteristics to build a representation of its current situation and, by a competitive process, it decides what portion of the current situation is in most need of attention. This portion is consciously broadcasted to the unconscious processors in order to select the appropriate action, and execute it [10].
IV.
T HE LIDA F RAMEWORK
Based on the Global Workspace Theory and the LIDA model, researchers of the Cognitive Computing Research Group (CCRG) from the University of Memphis developed the LIDA Framework, a generic and customizable implementation of the LIDA model. The goal in developing this framework is to provide a generic implementation of the LIDA model, making it customizable for specific problems and domains, speeding up the implementation of new agents based on the LIDA model and shortening the learning curve to produce such agents [13].
The cycle begins with the activation of low-level detectors with the incoming perceptions in Sensory Memory. The output is then sent to the high-level feature detectors in the Perceptual Associative Memory, where it can handle more abstract entities such as objects, events, actions, etc. A percept is the result of this phase, where this is sent to the workspace that interprets
The framework allows the new agent developer to specify the architecture using a declarative form using XML files. This means that the developer does not need to define the entire agent directly using the programming language (Java in this case). Another advantage is that the framework enables various
205
Fig. 1: LIDA Cognitive Cicle - Adapted from [10].
levels of customization, beginning with the basic description with XML files, to the development of custom codelets and decaying strategies, as well as for more advanced customization. In addition, internal implementation of the modules can also be fitted to the developer needs.
V.
G LOBAL W ORKSPACE T HEORY IN A M OBILE ROBOT
A. Defining the problem In this paper, the LIDA framework was used to evaluate how a (simulated) mobile robot could benefit from these techniques, building a conscious robot to perform simple cognitive tasks. The environment that was set up to the robot was a simulated corridor with a mobile obstacle (person), which the robot must cross to reach its goal. The robot must decide what to do when it finds the obstacle, or when it identifies the possibility to go through. The robot has three possible behaviours to execute when it identifies an obstacle: continuing its path; stopping and waiting for the obstacle to move; or asking to the obstacle (person) to leave.
In order to emulate the parallel behaviour of the codelets described in the Global Workspace Theory, the framework uses a multi-threaded system, with its own task manager that supports the execution of the LIDA-tasks which encapsulates small processes together [13]. Many design patterns are used in the implementation of the framework, adhering to most of the important design principles and programming practices, making the customization of the components of the agent a task that involves focusing manly in the problem and the domain, rather than in the details of the framework implementation.
The objective of the setup and the experiments is to evaluate if the use of the LIDA framework could make it easier to program such tasks than more traditional approaches.
The main components of the framework are the modules that are interconnected elements that represents the modules of the LIDA model. Each component of the model is implemented as a module in the framework [13]. As it can be seen in Fig. 1, the boxes representing components of the LIDA model, and for each box in the picture there is a module implemented in LIDA Framework, such as Sensory Memory, Workspace and Action Selection. Most of the modules are domain independent, but two modules in particular have to be implemented by the user (the Sensory Memory and Sensory Motor-Memory) because they are grounded in the problem domain.
B. V-REP and ROS Environment The environment was built using the V-REP simulation platform. A virtual model of the Pioneer 3AT was developed specifically to be used in the simulation. The robots mobility control (involving kinematics, environment mapping and localization) is executed directly by the ROS packages. The simulation utilizes a virtual person model, to simulate a mobile obstacle which follows a predetermined trajectory. The simulation environment can be seen in Fig. 2 C. Robot simulation and LIDA Framework
The framework also provides a customizable GUI, consisting in a main application and various GUI panels to display informations about the modules, tasks and other things that the user may find valuable to present in the user interface.
In order to use the LIDA Framework to guide the actions of our simulated robot, some modules of the Framework where implemented fulfilling the requirements needed to get a
206
perceptions, the Table II shows the nodes generated in the Perceptual Associative Memory for each of the states identified by the feature detectors. Detector ObstacleDistanceDetector ObstacleMovementDetector RobotMovementDetector RobotStatusDetector RobotPoseDetector
States near, far idle, moving idle, moving goal, stop, excuse (x,y)
TABLE I: Feature detectors and its corresponding perception states.
State obstacle onear ofar oidle omoving robot rmoving ridle rgoal rstop rexcuse (x:y)
Fig. 2: The simulated environment.
complete LIDA agent running. As mentioned earlier in this paper, the Sensory-Memory is a dependent problem and it has no default implementation, so this is one of the modules that were implemented for this specific problem. Another module customized to make possible the integration of the robot and the LIDA Framework was the Environment module. This LIDA module interacts with the surrounding context.
Meaning Obstacle. Obstacle is near. Obstacle is far. Obstacle is idle. Obstacle is moving. Robot. Robot is moving. Robot is idle. Last action taken was move torwards the goal. Last action taken was to stop. Last action taken was ask a person to move away. Current position of the robot
TABLE II: Nodes in the Perceptual Associative Memory and its meanings.
When the LIDA agent decides where the robot must go, it issues the new positions coordinates in a ROS Topic4 , which are interpreted by the robot navigation control system. Several ROS Topics are published by the robot system to send both, information of the robot and the simulated environment for the agent. The Environment module reads these topics to send its information to the SensoryMemory of the agent.
The Attention Module has four Attention Codelets responsible for monitoring a set of perceptions. If they are present in the current situational model a new coalition is created to compete for the consciousness in the Global Workspace. Table III shows the attention codelets and its monitored perception states. All the codelets that monitor the robot perception, also monitor the perception relative to the robots position.
In order to handle the incoming perceptions from the SensoryMemory module, five low-level detectors were implemented. The ObstacleDistanceDetector is responsible for monitoring the distance between the obstacle and the robot current position. There are two possible detectable circumstances that defines if the obstacle is near or far from the robot. An obstacle is considered near if it is less than 1.2 meters from the robot. The ObstacleMovementDetector is responsible for monitoring the movement of the obstacle. There are also two possible detectable states which represent the condition of the obstacle (idle or moving). The RobotMovementDetector is responsible for monitoring the movement of the robot itself, and uses the same states of the ObstacleMovementDetector to represent the movement.
Attention Codelet AttentionCodelet-01 AttentionCodelet-02 AttentionCodelet-03 AttentionCodelet-04
Monitored perceptions robot, rstop, ofar robot, rgoal, onear, omoving robot, rstop, onear, oidle robot, rexcuse, ofar
TABLE III: Attention Codelets and its monitored perception states. The Procedural Module schemes are used by the action selection mechanism in order to decide which action will be taken, given the current perception context (see Tables IV and V).
The RobotStatusDetector represents the last action taken by the robot, and three states are used to represent this actions: moving towards the goal, stopped, and asking the obstacle to move away.
id scheme.1a scheme.1b scheme.2a scheme.3b
The last detector is responsible for monitoring the position of the robot in the environment, and it is called RobotPoseDetector. Unlike the other detectors, it does not use predetermined states to represent its current situation, but instantiate new states in the perception module to represent the current position.
Name Follow Follow Stop Excuse
Context robot, ofar, rstop robot, rexcuse, ofar robot, rgoal, onear, omoving robot, rstop, onear, oidle
Action action.follow action.follow action.stop action.excuse
TABLE IV: Action schemes setup at the Procedural Module. VI.
R ESULTS
This section presents the results of the experiment, showing the decisions made by the robot when faced with different situations. The samples taken from the internal parameters of the agent were run in 200 framework ticks interval.
Table I shows all the detectors and its corresponding 4 ROS uses a system of buses to message exchange called Topics, for more information see http://wiki.ros.org/Topics
207
Action action.follow action.stop action.excuse
B. Situation 2
Meaning keep going towards objective stop moving ask the person to move away
The second situation was configured as follows: The robot is idle in the position (-1.6,2.0), the obstacle (person) is idle in the position (-1.3,1.3). During the sample interval, four conscious broadcasts were made by the Global Workspace, presented in Table VIII. Table IX presents the activation of the action schemes
TABLE V: Actions and its meanings.
A. Situation 1
Coalition contents onear, (-1,2), rstop, obstacle, ridle, rexcuse, oidle, robot, robot onear, (-1,2), rstop, obstacle, ridle, oidle, robot onear, (-1,2), rstop, ridle, oidle, robot
The first situation consists in the following environment setup: The robot is idle in the position (-0.2,5.2) of the environment, the obstacle (person) is idle in the position (1.3,1.3). As the environment has X by Y meters, and the origin of the coordinates system is in the exact middle, the range of coordinates varies from (-X/2, -Y/2) to (X/2, Y/2). During the sample interval, four conscious broadcasts were made by the Global Workspace, presented in Table VI. Table VII presents the activation of the action schemes, this activation level represents how salient this action scheme is in relation of the current context. The activation is given by the interaction of the conscious broadcasts with the procedural memory. Coalition contents ofar, rstop, obstacle, ridle, (0;5), robot ofar, rtop, ridle, (0;5), robot
TABLE VIII: Conscious broadcasts made during situation 2.
Scheme id scheme.3b scheme.1b scheme.1a scheme.2a
Action Excuse Follow Follow Stop
Action Excuse Follow Follow Stop
Activation 0.37 0.33 0.17 0.25
TABLE IX: Activation of the action schemes during the situation 2.
Occurrences 3 1
During execution, the action selection mechanism chose the more activated scheme: excuse. Figure 4 shows the current situational model, presented by the LIDA Framework GUI while running situation 2.
TABLE VI: Conscious broadcasts made during situation 1.
Scheme id scheme.3b scheme.1b scheme.1a scheme.2a
Occurrences 2 1 1
Activation 0.3 0.36 0.55 0.15
TABLE VII: Activation of the action schemes during the situation 1. During the execution, the action selection mechanism selected the action of the more activated action scheme: ”follow towards the goal”. The Fig. 3 shows the current situational model, presented by the LIDA Framework GUI while running the situation 1. The red circles represent the nodes that are current active in the current situational model, and the arrows represent relationships between them. The only type of relationship used in the model is the Parent relationship.
Fig. 4: LIDA GUI showing the state of the Current Situational Model during the execution of situation 2.
C. Situation 3 The environment for the third situation is configured as follows: The robot is moving towards the direction of the obstacle. During the sample interval, four conscious broadcasts were made by the Global Workspace, presented in Table presents the activation of the action schemes. Coalition contents onear, rgoal, obstacle, ridle, omoving, robot, (0,1) onear, rgoal, obstacle, (1,1), ridle, omoving, robot, (0,1) rgoal, ofar, rstop, obstacle, rmoving, (1,1), (1,2), robot rgoal, ofar, rstop, obstacle, rmoving, (1,2), robot
Occurrences 1 1 1 1
TABLE X: Conscious broadcasts made during situation 3. Fig. 3: LIDA GUI showing the state of the Current Situational Model during the execution of situation 1.
During the execution, the mechanism selected the more challenging action scheme: stop. The Figure 4 shows the
208
Scheme id scheme.3b scheme.1b scheme.1a scheme.2a
Action Excuse Follow Follow Stop
VII.
Activation 0.3 0.2 0.2 0.59
C ONCLUSION
With the execution of this experiment established that it is possible to build a control system for a mobile robot with the LIDA Framework. The robot took the expected decisions in the proposed environment and the episodic learning ocurred through the episodic memory associations. The LIDA Framework proved to be a tool that provides ease of development due to its declarative architecture. It is intended that the next steps of this research improve the model of perceptions to one that could cover the needs for a realistic environment. With a more complete model it is expected that the episodic learning mechanism can build more relevant associations.
TABLE XI: Activation of the action schemes during the situation 2.
current situational model, presented by the LIDA Framework GUI while running the situation 3. During this execution, some associations of the episodic memory occurred, causing the current situational model to slightly differ from the current perception. The Fig. 6 shows the graph of the current perception. This difference from the Current Situational Model and the Perceptual Buffer shows that the episodic memory ”learned” from experience, remembering the associations made in a previous experience to a similar perceptual context.
The final stage of this research will involve the application of the controller in a real robot navigating in a dynamic environment. VIII.
ACKNOWLEDGMENTS
This research was supported by the Foundation Parque Tecnol´ogico Itaipu Brasil (FPTI-BR). The authors also would like to thank the anonymous reviewers for their helpful and constructive comments. R EFERENCES [1]
[2] [3]
Fig. 5: LIDA GUI showing the state of the Current Situational Model during the execution of situation 3.
[4] [5] [6]
[7] [8] [9]
[10]
Fig. 6: LIDA GUI showing the state of the Perceptual Buffer during the situation 3.
[11]
All the experiments were performed with the following equipment: one laptop Intel Core i7-351U CPU 2.4GHz with 4GB of RAM running the LIDA Framework and one Workstation Core 2 Duo with 6GB of RAM running the V-REP simulator and the ROS environment. The LIDA Framework communicates with the ROS system through websockets. For this experiment the mobile obstacle position was not calculated through the robot sensors, the information comes directly from the simulator, which publishes the information in the ROS communication structure.
[13]
[12]
[14]
[15] [16]
209
B. J. Baars and S. Franklin, An architectural model of conscious and unconscious brain functions: Global Workspace Theory and IDA. neural networks, Elsevier Neural Networks, pp. 955961, 2007. M. V. Goldsmiths, How to define consciousness and how not to define consciousness, Journal of Consciousness, vol. 5, pp. 139156, 2009. R. W. Sperry, A modified concept of consciousness, Psycological Review, vol. 76, no. 6, pp. 532536, 1969. F. Crick, The Astonishing Hypothesis, The scientific search for the soul, Simon and Schuster, 1994. D. Dennet, Consciousness Explained, Allen Lane, The Penquim Press, 1991. P. Haikonen, An artificial mind via cognitive modular neural architecture in Proceedings Symposium on How to Design a Functioning Mind. AISB00 Convention, 2000. B. J. Baars, A cognitive theory of consciousness, Cambridge University Press, 1988. F. Crick and C. Koch, A framework for consciousness, Nature Neuroscience, vol. 6, no. 2, 2003. Baddeley, A.D., Hitch, G. Working memory. In G.H. Bower (Ed.), The psychology of learning and motivation: Advances in research and theory (Vol. 8, pp. 4789). New York: Academic Press, 1974. Franklin, S., Strain, S., Snaider, J., McCall, R., Faghihi, U.. Global Workspace Theory, its LIDA Model and the Underlying Neuroscience. Biologically Inspired Cognitive Architectures, 1, 32-43, 2012. Baars, B. J.. The global brainweb: An update on global workspace theory. Science and Consciousness Review (2), 2003. Baars, Bernard J and Stan Franklin. Consciousness is computational: The LIDA model of global workspace theory. International Journal of Machine Consciousness, 2009. Snaider, J., McCall, R., Franklin, S.. The LIDA Framework as a General Tool for AGI. The Fourth Conference on Artificial General Intelligence, 2011. Macaluso, I and Chella, A. Machine Consciousness in CiceRobot, a Museum Guide Robot. Ai and Consciousness: Theoretical Foundations and Current Approaches. Aaai Press, Merlo Park, Ca, 2007 Luise, L. D. and Barrera, G. and Franklin, S.. Robot Localization Using Consciousness. Journal of Pattern Recognition Researchs 1, 2011 . Kanerva, P.. Sparse Distributed Memory. MIT Press, 1988.