Programming robots to perform various tasks often requires extensive domain knowledge and a tedious programming process. The size of the program rapidly grows with task complexity; explicitly programming a robot to perform challenging tasks in a variety of environments would require the programmer to write routines for an enormous number of situations that may possibly be encountered by the robot. Such a program would quickly get too complex for humans to understand and to maintain.
Robot learning aims to solve this problem by using machine learning techniques to allow robots to learn to how to act in various situations, either by learning from humans (learning from demonstration) or by trial and error (reinforcement learning).
What we do
- Learning complex manipulation skills from human demonstrations
- Using simulators to learn skills and then transfer those to real world
- Learning of perception models, where we have developed ways to encode semantic affordances in ways that allow using them for control
In many robot control problems, skills such as stiffness, damping and manipulability ellipsoids are naturally represented as symmetric positive definite (SPD) matrices, orientations are represented as unit quaternions, sensory data processed as spatial covariances, etc., which capture the specific geometric characteristics of those skills. Typical learned skill models such as dynamic movement primitives (DMPs), probabilistic […]
Getting robots to autonomously learn to perform various tasks is often a long-term process, during which the robot’s exploratory actions can be unpredictable and potentially dangerous to the surrounding environment and to the robot itself. To mitigate the risk of hardware damage and to speed up the learning process, initial phases of learning are often […]
Service robots will be deployed in the future as general assistive devices in dynamic human environments like households, schools and hospitals. In order to be valuable and cost-effective assistants, robots must allow a wide range of customization, especially regarding their skills. As pre-programming robots for every situation is impossible, robots need to gain new skills […]