ICub Cognitive Architecture

From Wiki for iCub and Friends
Revision as of 20:18, 4 May 2009 by Dvernon (talk | contribs) (Added notes)
Jump to: navigation, search
The correct title of this article is iCub Cognitive Architecture. The initial letter is shown capitalized due to technical restrictions.


The iCub cognitive architecture is the result of a detailed design process founded on the developmental psychology and neurophysiology of humans so that it encapsulates what is currently known about the neuroscience of action, perception, and cognition. This process and the final outcome is documented in Deliverable D2.1: A Roadmap for the Development of Cognitive Capabilities in Humanoid Robots.

The architecture itself comprises a set of YARP executables, typically connected by YARP ports. Early prototypes were developed at a RobotCub project meeting at the University of Hertfordshire in July 2007 as an exercise in consolidating the software development effort of the project partners. Several subsequent versions were produced at the RobotCub Summer School 2007 VVV '07. These prototypes were developed in parallel with the Roadmap effort mentioned above. These two strands of design effort converged in the cognitive architecture shown below (version 1.0). Previous versions can be accessed via the links at the end of the page.

The immediate purpose in developing the software architecture is to create a core software infrastructure for the iCub so that it will be able to exhibit a set of target behaviours for an Experimental Investigation 1.

Icub cognitive architecture v1.0.jpg


Modifications

  • Removed the tracker (should be handled by attention/salience sub-system)
  • Removed the face localization (should be handled by attention/salience sub-system)
  • Removed the hand localization (should be handled by attention/salience sub-system)
  • Removed the sound localization (should be handled by salience module)
  • Removed the attention selection
  • Added Exogenous Salience and Endogenous Salience
  • Added Locomotion
  • Added Matching
  • Added Auto-associative memory
  • Added Hetero-associative episodic memory
  • Added Affective state
  • Added Action selection

Notes

  • The controlGaze -> salience -> attentionSelection circuit is a fast retinotopic circuit. It is one of the circuits by which motoric state modulates attentional capacity.
  • soundLocalization at present implies simply a binaural localization of the direction of arrival of a sound, expressed in head-centric spherical coordinates. It should ultimately effect some sensori-motor capability that acts to re-orient the iCub towards a localized sound.
  • faceLocalization would ideally be implemented as a ‘three blob’ detection; at present it is intended to utilize an OpenCV face detector for the immediate future.
  • Reaching -> salience -> egoSphere -> attentionSelection -> controGaze is the primary circuit for achieving visually-guided reaching.
  • visualSalience and attentionSelection are tightly-coupled.
  • Endogenous and exogenous salience implies salience based on internal and external events, respectively
  • Gaze implies 7 DoF: head and eyes
  • Locomotion paradigm is “go where you are looking”
  • Reaching paradigm is “reach where you are looking”
  • Gaze, reaching, and locomotion motor activities condition endogenous salience: actions condition attention and vice versa
  • Auto-associative memory storage is conditioned by poor matching and high salience
  • Episodic memory is defined to mean perception-action event sequence
  • Episodic Memory recall:
    • Event A, Event D -> sequence of intermediate events
    • Event A -> Event B
  • Affective state: competitive network of three motives:
    • Curiosity / Distraction
    • Exploration
    • Social engagement
  • Action selection is not a winner-take-all process: one or more actions are disinhibited
  • The developmental drive is to construct an episodic memory that improves prediction

Links


The following links are to early versions of the iCub "software architecture", a design for an iCub application (i.e. a set of YARP modules) that approximated some of the elementary aspects of the iCub cognitive architecture which now supercedes them. These early versions have all now been deprecated, as has the title "software architecture" in this context. Software Architecture now refers, as it originally did, to the YARP system.