Cuddy - a conceptual pet robot 

It is a slow-learning intellectually growing robotic pet who does not know how to walk, where it is, with whom it lives and etc. But its intrinsic motivation for living drives the curiosity to explore and understand its surrounding...

Salone del Libro - Incontro con iCub, il cucciolo di robot... (intervista con Rep.TV)

iCub e` un cucciolo di robot, ma non e` un giocattolo. E' l'umanoide piu` completo sulla faccia della terra, nato una decina di anni fa nei laboratori dell'Istituto italiano di tecnologia. Ha mani di metallo, telecamere per occhi, uno speaker al posto della bocca e muscoli ad azionamento elettrico. E' un progetto molto serio, presentato al Salone del Libro di Torino, come esempio di scienza visionaria.

Enhancing Software module reusability using port plug-ins: an iCub Experiment

The video demonstrates the port plug-in in a clean the table scenario on the iCub Humanoid robot. Systematically developing high--quality reusable software components is a difficult task and requires careful design to find a proper balance between potential reuse, functionalities and ease of implementation. Extendibility is an important property for software which helps to reduce cost of development and significantly boosts its reusability. This work introduces an approach to enhance components reusability by extending their functionalities using plug-ins at the level of the connection points (ports). Application dependent functionalities such as data monitoring and arbitration can be implemented using a conventional scripting language and plugged into the ports of components. The main advantage of the approach is that it avoids to introduce application dependent modifications to existing components, thus reducing development time and fostering the development of simpler and therefore more reusable components. Another advantage of the approach is that it reduces communication and deployment overheads because extra functionalities can be added without introducing additional modules.

Learning Symbolic Representations of Actions from Human Demonstrations

This video demonstrates a robot (iCub) learning approach which integrates Visuospatial Skill Learning, Imitation Learning, and conventional planning methods. The sensorimotor skills (i.e., actions) are learned through a learning from demonstration strategy. The sequence of performed actions is learned through demonstrations using Visuospatial Skill Learning. A standard action-level planner is used to represent a symbolic description of the skill, which allows the system to represent the skill in a discrete, symbolic form. The Visuospatial Skill Learning module identifies the underlying constraints of the task and extracts symbolic predicates (i.e., action preconditions and effects), thereby updating the planner representation while the skills are being learned. Therefore the planner maintains a generalized representation of each skill as a reusable action, which can be planned and performed independently during the learning phase.

A port-arbitrated mechanism for behavior selection in humanoid robotics

Software engineering and best practices promote modularity and composability to reduce debugging and development time of software applications in robotics. This approach, however, increases the complexity of the system and the effort needed to properly coordinate interactions between modules. On the other hand programming robots to cope with an unstructured environment requires the implementation of highly reactive systems. Behavior-based architectures have been proposed as a programming paradigm to build complex, yet, reactive systems by integrating simpler modules. They require however that modules establish special connections dedicated to carry coordination signals. In a distributed architecture these signals must be properly synchronized with the ones that carry data. This video shows a novel method for developing reactive systems by coordinating concurrent, distributed behaviors. In this approach arbitration exploits the connections that deliver data messages between modules and, for this reason, i) it intrinsically reduces the number of links required for coordination and ii) it can be built without changing existing modules.

SeART - Semantic-Aware Real-Time Scheduling in Robotics

This video shows a practical application of semantic-aware real-time (SeART) in Robotics, an extension to conventional operating systems, which deals with complex real-time robotics applications. SeART addresses the problem of selecting a subset of tasks to be scheduled depending on the current operating context: mission objectives, other tasks currently executed, the availability or unavailability of sensors and other resources, as well as temporal constraints. Toward this end, SeART is able to represent the semantics of tasks to be scheduled, i.e., what tasks are meant for, and to use this information in the scheduling process. The video particularly demonstrates a case-study which is related to mobile robotics for autonomous objects transportation.

Transferring Object Grasping Skills and Knowledge Across Different Robotic Platforms

This video demonstrates the transfer of object grasping skills between two different humanoid robots, iCub and ARMAR-III, with different software frameworks. These two robots have different kinematics and are programmed using different middlewares, YARP and ArmarX. A bridge system has been developed to allow for the execution of grasping skills of ARMAR-III on iCub. As the embodiment differs, the known feasible grasps for the one robot are not always feasible for the other robot. Thus a reactive correction behavior has been used to detect failure of a grasp during its execution, to correct it until it is successful, and thus adapt the known grasp definition to the new embodiment.

My interview with IRIB channel 1 about rescue robot (in Persian)

Years ago I was invited for an interview (in Persian) in the Iranian IRIB channel 1 about the rescue robots and their applications in real life. The interview was carried out few months after wining the Robocup German open competition in 2005.