VVV09 Cognitive Architecture Group

From Wiki for iCub and Friends
Revision as of 16:43, 7 August 2009 by Dvernon (talk | contribs) (→‎Important Links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is a page for those interested in working on the iCub Cognitive Architecture at VVV09.


The purpose of the iCub Cognitive Architecture is to create a system for cognition on the platform which is consistent with neuroscience. The focus right now for the group is on creating modules for the architecture that have been missing until now:

  • an auto-associative memory
  • a hetero-associative procedural memory

Both the specifications and implementations of these are being addressed by this group.

Group Contributors

  • David
  • Logan
  • Lydia
  • Alberto
  • Federico T.
  • Giovanni
  • Charles
  • Stephane
  • Harold

Ideas on the Cognitive Architecture

If you have any observations, insights, or ideas which might be used to improve the iCub cognitive architecture, please leave a note here.


The current code which has been created for this is available on Google Code. You can check it out here: http://code.google.com/p/icubcogarch/source/checkout


  • 7/23/09 -- We have an implementation of a color histogram intersection method for pattern matching. This is being folded into a YARP module. In addition, we plan on making a C++ interface for the auto-associative memory so that many different implementations can tap into this specification.
  • 7/24/09 -- The basic functionality of the color histogram implementation of the AAM works now as a YARP module in simulation. A few finishing touches are being done to ensure that the module takes full advantage of things like the Resource Finder. Giovanni has created a template for the AAM, that expands it to take any kind of implementation. Documentation and tackling the application driver are hopefully the next steps.
  • 7/25/09 -- The AAM module is now completed, and demoable. We changed the algorithm so that it converts the images to log polar coordinates before comparison, so that the image is more 'foveated'. With this there is an obvious improvement in performance.
  • 7/28/09 -- An outline specification of the procedural memory is now available. There are still some open issues and incomplete sections but these will be cleared up either later today or tomorrow. In addition, documentation and YARP module standards compliance is almost complete. We are testing compilation on other platforms.

Important Links


Our demo for the last day shows simple object recognition using color histogram matching. A depth-based attentional system designed by the 3D Task Force Action Duo is used to track objects close to the robot's face, and histogram matching is used to determine whether the object has been previously seen. If it has not been seen, it is committed to memory. The image is converted to log polar coordinates before histogram matching to create a foveation effect.