About
some random stuff I find interesting today ....
Click here to check if anything new just came in.
April 25 2012
Apply and Participate in the iCub Summer School

IIT has recently released their Call for Participation for this year's (already the seventh!) summer school focused on developing software for the iCub humanoid robot. It will be a great 10 days, at an awesome location, with a very cool robot and enough time to get your hands dirty. If everything goes right IDSIAni will be there too to show what we are working on here ...
We will show what we are working on with our iCub, mainly computer vision, control and planning (with a cool self-collision avoidance suite).
From their call:
The school is a hackathon for robotics researchers interested in any combination of humanoids, free software, open-source hardware, and Italian beaches. Those who would like to participate should email their name, affiliation, and a CV (or relevant website URL) to: vvv12-admin@icub.org
no later than: May 13th, 2012
The aim of the yearly iCub Summer School, with the official title "Veni Vidi Vici", "serves to consolidate and disseminate skills in software engineering for humanoid robots." (from the webpage). It is setup in peer-to-peer fashion with no lectures, and no strict division of instructors and students. The school is organized flexibly around informal tutorials from participants on modules they are working on or interested in. A series of hands-on practical laboratory sessions are the main parts of the 10 days.
Topics of interest are: Motor control, robot design, image processing, software engineering, communication, machine learning, free software, open-source hardware.
This year the school will be hosted at the Mediaterraneo Foundation in Sestri Levante, Liguria, Italy. See the school website for venue details: http://eris.liralab.it/summerschool2012/
March 20 2012
Prospecting a Prospectus
Today it is exactly 13 months since I enrolled as a PhD student here in Lugano, at the Università della Svizzera Italiana (USI). It's time to write my research prospectus, or at least try to find out what that is *uhm*
Although I am working for over a year here at IDSIA I have not yet a clear idea what I will do, but I heard that is normal in graduate school. So finally I set down and wrote up some ideas of what I want/can do in the next years to get my doctorate.
There are some rough ideas that I have, mainly just stuff floating around in my brain, but I am pretty sure those are not yet concrete enough for a thesis topic. As I was heavily involved in making the iCub see recently I though that might be of a good start for the work. One of the ideas behind the iCub was to build a robot that can be used to investigate human development and cognition and how to transfer it to robots (see Metta et al).
The platform is particularly well suited for research into object manipulation and interaction. Recently also IIT has posted some positions investigating grasping and transfer or knowledge from humans to robots and maybe the other way around too.
I am currently looking into visually guided grasping for the iCub. Much work has been done on force/touch guided grasping. In our robot though the readout of the force sensor in the fingertips seems to be rather noise and more or less useless (unless you have a nice metallic object). Approaches taken from the (partly overlapping fields of) cognitive robotics, developmental robotics and evolutionary robotics seem to be the most interesting to try and build a sensorimotor representation for reaching and grasping. I think this might be interesting and novel enough, we will see what happens when I try to write this down ...
February 19 2012
Vision-eering
Recently 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 :)
January 11 2012
Finally a new Laptop Bag
On a different note I finally got a new laptop bag :)
After 5 years with my old bag, I decided to cover my new MacBookPro with a new bag as well. My old one I got in 2007 just after moving to Lisbon to work at IST. It was less then 20 euro at the local FNAC at that time and it survived until now (though with some scraps :).
Lucky (for me) GearZap.com offered me to send one to me for free, so I took the chance. They have a big selection of MacBook Pro 13" cases and bags and I was first thinking of getting the Quiksilver one, but was not sure. So I was checking out more of their MacBook Pro cases on their webpage.
I then decided to go with the ZeroShok bag, and it's really cool! Apart from all the Japanese salesmanship, it's fits the laptop quite nicely, has a small extra compartment (which I probably won't need) and supposedly can withstand quite large shocks. Though I have not tested that yet it's definitely nice to get a new bag :)
November 30 2011
European Robotics Week and IDSIA Robotics
This year's European Robotics Week sponsored by the EU though one of its Framework Programmes (EUnited Robotics) is currently underway and there is a lot of things to see and do. Labs offering demos and presentations as well as hands-on workshops about the on-going robotics research in Europe. A new webpage www.robotics-labs.eu was started where one can check out the various labs and for some of them even be able to see live webcam feeds.
For IDSIA we did not get a webcam, but we nevertheless uploaded a movie about us and our current activities. Enjoy the film after the jump.
September 26 2011
So, you want to build a satellite?
The MAVEN Team at Goddard has put up some videos to show what it takes to build a satellite. Those short animated movies are a quick look into all the work it takes to make a space mission work. NASA seems to do it not much more different than ESA does *smile* The videos are after the jump.
About the mission: MAVEN is set to launch in 2013 and will explore Mars’ upper atmosphere, ionosphere and interactions with the sun and solar wind. Scientists will use MAVEN data to determine the role that loss of volatile compounds, such as CO2, NO2, and H2O, from the Mars atmosphere to space has played through time, giving insight into the history of Mars atmosphere and climate, liquid water, and planetary habitability.
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).
The 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.
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.
August 31 2011
What the iCub Does During Holidays
Leo here at IDSIA has been working on a really nifty nice demo of what you can do with the iCub simulator, if you are willing to get your hands dirty and go into the code. The following video shows the outcome.
iCub Dancing Rave
How cool is that?! This is the simulator with a changed dome and some nifty floor tiling. Okay the sunglasses I think is scripted but the rest is using a beat detector which sends the commands via YARP to the simulator.
Some Coding
Finally I wanna put some info online about what I actually do here at IDSIA. Right now I am mainly working on the iCub robot and I am currently looking into some computer vision related problems, like image segmentation and object detection (for object manipulation later on). Here is a small teaser of what we are currently working on....
We recently started looking into getting some position data out of the 2D images and the kinematic chain of the robot, but we are not really happy with the results. To gather some data I worked on some piece of code to automatically do just that. To use this data as either training of test set for our approach (as well as a benchmarking) related to the object placement. Hopefully we get it working on the real HW soon too..
More info to come at a later stage ...
July 14 2011
Broken Shoulder
So the last two days we had the IM-CLeVeR Review Meeting here in Lugano and I helped showing some of the demos to the roughly 50 people involved in the project. As usual with robotics demonstration everything that could went wrong, and while reseting the software and homing the iCub, its shoulder decided to pop, as you can see on the picture.
Luckily it seems like just the tendons are popped out of their places on the shoulder, so no ripping of a cables or breaking of the hardware. So now we are back to cleaning up and repairing the robot.
July 10 2011
ACE/YARP on Mac – The Easy Way
Good news everyone!
Paul Fitzpatrick just posted this on the robotcub hackers list, a very quick and easy way to install ACE and YARP on OSX:
ACE and YARP are now available through homebrew, a package manager for Macs [1]. On a fresh Mac with Xcode installed, you can install YARP by opening a terminal and doing:
# install homebrew
ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
# install ace, gsl, gtk+, and yarp
brew install yarpCheers,
Paul
That gets a big yay from me! Thanks Paul!
April 15 2011
ACE and YARP – Setting up a new MBP – Pt. 2
Continuing the setup of my new MacBook Pro 13", needed for the projects I am involved with here at IDSIA. This is part 2, trying to get YARP and therefore ACE running on the OS X. Maybe somebody else is using similar software so here is how I setup the following libraries and tools on Snow Leopard: XCode, OpenGL(is part of OSX/XCode), Git, CMake, ACE, YARP, QT, OpenCV, ODE, BulletPhysics, and SDL. In the end I also installed pyBrain (with scipy and numpy).
I have installed homebrew and cmake (Part 1 is here). For YARP we need, and well generally a good thing to have is, the Gnu Scientific Library, for the GUI stuff of YARP we also need gtk:
brew install gsl
brew install gtk
brew install gtkmm glib glibmm
brew install libglade
To connect to the iCub robot a library called YARP is needed, this library is in turn depending on the ACE libraries. No brew formula exists for this two so here it gets a bit trickier. A good tutorial can be found here: http://eris.liralab.it/yarp/specs/dox/user/html/install.html. We need to checkout the yarp svn directory (in case you have not installed svn you can do so by, yes you guessed right: brew install svn) like so:
svn co https://yarp0.svn.sourceforge.net/svnroot/yarp0/trunk/yarp2 yarp2
Download the latest ACE version (I use 6.0.0, ACE only) (thanks to http://www.trinitycore.org/w/How-to:Mac for some hints):
curl http://download.dre.vanderbilt.edu/previous_versions/ACE-6.0.0.tar.gz -o ACE-6.0.0.tar.gz
tar -xzf ACE-6.0.0.tar.gz
cd ACE_wrappers
export ACE_ROOT=$(pwd)
echo "export ACE_ROOT=$ACE_ROOT" >> bash_profile
echo "export LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib" >> bash_profile
echo "export DYLD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib" >> bash_profile
echo "export MACOSX_DEPLOYMENT_TARGET=10.6" >> bash_profile
Create the file ACE_wrappers/ace/config.h with this text:
#include "ace/config-macosx-snowleopard.h"
Create the file ACE_wrappers/include/makeinclude/platform_macros.GNU
with this text:
debug = 1
shared_libs = 0
static_libs = 1
include ${ACE_ROOT}/include/makeinclude/platform_macosx_snowleopard.GNU
INSTALL_PREFIX = /usr/local
In Terminal run the following to compile the library:
source bash_profile
cd ace
make -j2
I got an error at compiling that looked like this "/bin/sh^M: bad interpreter" error, it's due to the Windows new line style. You have to open that file ( add_rel_link.sh ) and save with UNIX format. (For the installation I got the same error in the file ACE_wrappers/MPC/prj_install.pl ). If everything works run the following to install the library:
sudo su
cd ..
source bash_profile
cd ace
make install
exit
This should have installed ACE now. Now go back into the yarp2 directory and run
ccmake .
# activate the math and gui things (and any other things you might want to have)
make
make test
If problems occur here check that the SVN version actually compiles on Mac here, mine did not to install the yarp library run then:
make install
This is it for now, more to come.
March 14 2011
Setting Up A New MacBookPro
Yesterday I got a new MacBook Pro 13", yes the all fancy new one with SSD Thunderbolt and Intel i5 chip, and after some general setting up, I started to add the programming capabilities needed for the projects I am involved with here at IDSIA. Maybe somebody else is using similar software so here is how I setup the following libraries and tools on Snow Leopard: XCode, OpenGL(is part of OSX/XCode), Git, CMake, ACE, YARP, QT, OpenCV, ODE, BulletPhysics, and SDL. In the end I also installed pyBrain (with scipy and numpy). This is the first post *smile*
Lets start by installing a mac package manager called homebrew, it simplifies the installation of some of the libraries and tools immense. To install homebrew just follow the instructions from the homepage and execute:
ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"
The instructions continue with installing XCode, which I already had already setup so I skipped that part. But I did the next step which was installing Git with homebrew, which is simply done by:
brew install git
Git is apart from being a nice tool for source control management also needed to keep the homebrew formulae updated, which you can do by:
brew update
The next step was to install cmake, which again is a simple one-liner:
brew install cmake
This is it for now, more to come.
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.
November 22 2010
Fighting Bureaucracy and Computers
Time flies, and it's been more than 6 weeks since I came to Lugano. In the meantime I was mostly involved in bureaucratic things (from getting a working permit to a flat), and in-fact it is still not finished =)
Apart from starting an Italian course at the uni here and formally applying for the PhD I have so far used the time to get to know the people and projects they work on (well not all people at IDSIA yet, there's quite a few here). I am now mainly working on the STIFF project, lead by DLR, and I help at IDSIA with developing neurocontrollers for the robot arm in development. I was trying to start the pybrain library developed here and interface some environment (similar to that) but had some trouble with my new iMac I have here in the office.
So after fighting with installing a recent python, matplotlib, numpy system on my Snow Leopard system for the last week (okay not just doing that but still..). I came across the following post today:
http://biomunky.wordpress.com/2010/03/30/matplotlib-superpack-install-on-snow-leopard/
And it works, it installs with this single script (both for 10.5 / Leopard and 10.6 / Snow Leopard) the needed libs. So yay finally I could plot something =)
Here is a screenshot showing the plot generated by python (and matplotlib) using AMPL to solve an optimal control problem and behind it on (on the left) is the plot generated from my implementation in PaGMO's evolving_docking branch
October 07 2010
Hello world!
Hello World: this is my new blog! I will hopefully have some time to update the blog with my research or just generally things I think that are interest...
I finally moved to Lugano, where I started last week at IDSIA. So far I have not done anything really productive, I am trying to figure out what the projects going on here are and who is working on what, socializing in a word =)
The city itself is not too big but lies quite nicely next to Lake Lugano, I will try to explore a bit more in the coming weeks, months, years ...
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...






