• No results found

1.3 Tools for Embodied Cognitive Science

Embodied Cognitive Science addresses the study of embodied and situated agents and, in some cases, the study of how these agents develop their capabilities autonom-ously while interacting with their physical and (eventually) social environment. For many years, these studies have been confined to relatively simple agents and tasks.

Recent research, however, demonstrated how this method can be extended to stud-ies that involve agents with complex morphologstud-ies and rich sensory–motor systems mastering relatively hard tasks (see for example [6, 64, 95, 97, 101, 124, 137]).

From a modelling point of view complexity does not represent a value in itself. Indeed, the Occam’s razor argument claims that given two explanations of the data, all other things being equal, the simpler explanation is preferable. After all, one of the key con-tribution of adaptive behaviour research consists in the demonstration of how complex abilities can emerge from the interactions between relatively simple agents and the en-vironment. On the other hand, the modelization of a given phenomenon necessarily requires the inclusion of the characteristics that constitute key aspects of the targeted objective of study. In some cases, therefore, the use of complex agents and/or tasks is necessary. For example, the modelization of the morphological characteristics and of the articulated structure of the human arm constitutes a prerequisite for modelling human object manipulation skills. Likewise, the use of agents provided with rich sens-ory systems constitutes a necessary prerequisite for modelling senssens-ory integration and fusion.

From a methodological point of view the Embodied Cognitive Science approach to the study of cognition implies that models of behavioural and cognitive capacities should take into consideration the characteristics of the agent’s nervous system, of the agent’s body, of the environment as well as the properties that originate from the interaction between these three components. This in turn requires the formulation of models that are far more complex than their previous disembodied counterpart and that are not constituted simply by static descriptions but rather by processes that run in the physical

1.3. TOOLS FOR EMBODIED COGNITIVE SCIENCE

world or in realistic computer simulations.

This new approach to cognitive modelling brought about the necessity to validate work-ing hypotheses on a real device. Robots are the natural candidates, as they, like livwork-ing beings, have a physical body and can act in a physical environment. Nowadays there are several robotic platforms which are more or less affordable yet complex enough to be useful tools for cognitive scientists, such as the Khepera2 and the Nao3 robots.

There are also many robots which have been developed during research projects (such as the MarXbot4 and the iCub5 robots) or are being developed at the time of writing (such as Roboy6).

The new approach also requires the usage of sophisticated software tools. Some of these tools are needed to enable the robotic model to operate. Others are required to carry out experiments in simulations. Some models, in fact, are hard or impossible to test on real robots, since the training phase of the robot would take too long or the robots might damage themselves during long lasting operations or executing actions during exploration. The cognitive models that will be presented in the chapters 2 and 3 of this thesis constitute an example. In fact they could have not been carried out entirely on hardware exactly for the two reasons discussed above.

The possibility to create computer simulations of robotic experiments has been greatly facilitated by the availability of libraries to simulate rigid body dynamics such as ODE7[108], Newton Dynamics8 [53] and Bullet Physics Library9. However, implementing experi-ments through the usage of these libraries still requires a substantial amount of work.

Indeed, simulating the body of the robotic agents and the environment constitutes only one of the components that need to be implemented in order to carry on an embodied experiment. Other necessary components typically include:

2http://www.k-team.com/mobile-robotics-products/khepera-ii

3http://www.aldebaran-robotics.com/en/

4http://mobots.epfl.ch/marxbot.html

5http://www.icub.org/

6http://roboy.devanthro.com/

7http://www.ode.org/

8http://newtondynamics.com/forum/newton.php

9http://bulletphysics.org/wordpress/

1.3. TOOLS FOR EMBODIED COGNITIVE SCIENCE

• the sensors and the actuators of the agent. Some of them can be implemen-ted using low level functions from the physic simulation libraries, others require specific code (for example to simulate the communication between robots);

• the controller of the agent, e.g. the agent’s neural controller;

• the learning and/or adaptive process.

Overall this implies that the knowledge barrier that Embodied Cognitive Science re-searchers should face to build and analyse their models is still very high.

FARSA (Framework for Autonomous Robotics Simulation and Analysis) aims at mit-igating this problem. It is an open-source software tool that enables researchers and students to easily and effectively carry out research in Embodied Cognitive Sci-ence [62, 63]. FARSA combines the following features in a single framework:

• it is open-source, so it can be freely modified, used and extended by the research community;

• it is constituted by a series of integrated libraries that allow to easily design the different components of an embodied model (i.e. the agents’ body and sensory-motor system, the agents’ control systems, and the ecological niche in which the agents operate) and that allow to simulate accurately and efficiently the interac-tions between the agent and the environment;

• it comes with a rich graphical interface that facilitates the visualization and ana-lysis of the elements forming the embodied model and of the behavioural and cognitive processes originating from the agent/environment interactions;

• it is based on a highly modular software architecture that enables a progressive expansion of the tool features and simplifies the implementation of new experi-ments and of new software components;

• it is multi-platform, i.e. it can be compiled and used on Linux, Windows, and Mac OS X operating systems;