Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

February 19 2012

Vision-eering

iCubRecently I have been working a lot on trying to make the iCub see things. A fully integrated computer vision or robotic vision system is a quite tricky mathematical and engineering problem. Here at IDSIA we were trying to develop an easy to use system that would allow to rapid prototyping (offline) vision modules for the iCub, mainly to detect and localise objects the robot is in later stages supposed to manipulate and interact with.

Over the last 6 months, I developed the icVision framework, which allows to do just that. It is a modular system based on YARP and openCV. A video is probably the easiest way of showing the capabilities of icVision.

The main modules involved here are the icVision Core module, as well as, the icVision filter modules.
The Core handles the connection with the hardware and provides housekeeping functionality (e.g., extra information about the modules started and methods to stop them). Other modules can attach to the icVision Core and can therefore provide functionality by using standardized interfaces. Currently implemented modules include object detection, 3D localisation and saliency maps.
Some modules also expose their functionality by HTTP (e.g. an image can be grabbed from the HTTP instead of YARP, which increases the number of people that can work with the iCub images in our lab by A LOT).

Most recently we were working on learning how to detect objects and creating filters for specific objects. The teabox filter used in the video is an example of this. This is done using Genetic Programming and is enabled by the very easy way to add new filters. The following is the code for a fully working filter using the framework:

  // Author: Juxi Leitner <juxi.leitner@gmail.com>
  #include <icVision/icFilterModule.h>

  class RedDetector : public icFilterModule {
  protected:
  	void setUsedInputs() { usedInputs.Add(1); }
  public:
	RedDetector() { setName("RedDetector"); }

	icImage* runFilter() {
		icImage* in = InputImages[1];	// red
		icImage* out = in->threshold(64);	// cvThreshold
		return out;
	}
  };

There will be a poster presentation and demonstration of icVision during this year's Cognitive Systems conference in Vienna.
The other area we are currently working on is to learn to localise objects in 3D space. This is a bit more tricky. More on this later :)

September 21 2011

Summer School 2011

Also this year I had the chance to attend a summer school, after ISRIS in 2009 and 2010 school at JAIST, I was going to this year's Hands On Summer School on Neural Dynamics Approaches to Cognitive Robotics in Guimaraes, Portugal.

This school focused on the idea of Dynamic Neural Fields (similar but according to the presentations more powerful than Neural Network approaches) and how to use them in various robotic systems. The presentations, mainly given by researchers from the University of Bochum and Minho, ranged from computer science to neuroscience and included various applications, such as on mobile and humanoid robots (including the Nao and ARoS, a humanoid (upper body) robot built at Minho). The school ended with a project to be implemented (and yes there is a video of ARoS after the jump).

University of MinhoThe summer school was held at the University of Minho, which is situated in Guimaraes, the first capital of Portugal, set in a scenic landscape with rolling hills. For a full week we, about 50 students and instructors, were there to learn about NeuroDynamic Fields and robots. After the morning classes and lunch, exercises were held to use the theory in practice, and for the end of the school we were grouped and started working on different robotic projects.

ARoS Robotic Platform

ARoS Robotic Platform

Together with Martin Stoelen, I worked on the ARoS robot platform available to us at Minho. ARoS is an anthropomorphic robot, which consists of a 7DOF arm and a Barrett 3Finger hand attached as end-effector. It uses 2 FW cameras for computer vision and is aimed to be used in Human-Robot-Interaction research tasks.

In our project a joint construction task was used in which the human and the robot need to work together to construct a small toy. The interaction is forced by placing the wheels only within the humans reach and the nuts only within the robots workspace. Therefore to finish the construction the human and the robot need to hand over pieces to their counterpart. DNF were used in layers to represent a cognitive architecture somewhat human-brain-inspired to decide on the current state of the construction task, the workspace, the human's intention and the action to be performed by the robot. Here you can see the robot in action:

There is also a screencast about the activation of the neural fields, have a look at it but it might not make too much sense without further explanation. If you wanna know more just drop me an email.

February 08 2011

Project Work

In the last few weeks I was getting started with looking into the projects I am (supposedly) working on during at least the next year here at IDSIA. For the foreseeable future I will focus my attention on mainly two projects, both funded by the European Union's Framework Programme. The first project is called STIFF and is lead by the German Aerospace Center (DLR), more precisely their section working on biorobotics. The second one is named IM-CLeVeR and the partners include CNR (in Rome), Universities of Ulster and Aberstwyth (UK).

STIFF

This is the project I am currently spending most of my time on. STIFF is a research project on enhancing biomorphic agility of robot arms and hands through variable stiffness & elasticity (officially named Enhancing Biomorphic Agility Through Variable Stiffness). It is funded by the 7th framework programme of the European Union (grant agreement No: 231576). IDSIA is responsible for learning high-level task-specific controllers based on reinforcement signals for the flexible variable-impedance robot arm developed by DLR, and for extracting cost functions from human behaviours in collaboration with UEDIN (also sometimes referred to as inverse reinforcement learning). I am working here together with Tobias (evolutionary search for cost functions), Jan (Neurocontrollers) and soon Simon.

IM-CleVeR

This project focusses on the iCub robot and how it can learn to interact with its environment. The project is funded by the EU Framework Programme and is officially called Intrinsically Motivated Cumulative Learning Versatile Robots.

As a main outcome, the project will significantly advance the scientific and technological state of the art, both in terms of theory and implementations, in autonomous learning systems and robots. This overall goal will be achieved on the basis of the integrated work of a highly interdisciplinary Consortium involving leading international neuroscientists, psychologists, roboticists and machine-learning researchers.

It is quite a big project here at IDSIA and a lot of work is done to make the iCub perform right now. The main parts I am working on currently are to get the software setup and start on the interface between the Machine Learning (Reinforcement Learning) group and robotics. Right now I am helping to make the iCub see things, that is helping on the computer vision part of the project.

More info can be found on my projects page.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.