iCub, the baby humanoid for studying and developing cognitive systems: an introduction to its bodyware capabilities and software architecture.
iCub is the humanoid robot developed at Italian Institute of Technology as part of the EU project RobotCub addressing the main issue of implementing cognition in robots of humanoid shape. iCub is an open-system endowed with 53 degrees of freedom designed with the same size of a three years old child. A description is given of how the platform is equipped with visual, vestibular, auditory and haptic sensory capabilities which in turn enable iCub to crawl and manipulate objects with dexterous hands, along with an overview on the technologies researchers are pursuing to provide iCub in the next future with the sense of touch and to grade how much force it exerts on the environment.
Moreover, on the mindware side, iCub’s architecture is mainly devoted to study and design biological-inspired controllers that can learn and adapt from their mistakes, highlighting the importance of humanoid embodiment to build machines that exhibit an intelligent behavior by modeling specific human brain functions. To manage the complexity required to develop code for achieving such cognitive skills (e.g. attention, reaching, manipulation, …) an open-source middleware called YARP has been conceived and extensively exploited for iCub, whose features are detailed and explained with examples in this talk. YARP prevents indeed the application source code from being re-written due to porting to other OS or changes in the hardware (through the device drivers approach) or finally due to modifications in the interconnection among software modules by providing the necessary inter-process communication layer, thus keeping algorithms away from the plumbing.