In contrast to classical industrial robots, modern service robots will operate in unstructured, typically unknown, and dynamically changing environments, in particular in direct interaction or cooperation with human users. Being equipped with universal tools like humanoid hands, service robots are perfectly suited to fulfill a broad range of tasks, which are individually chosen according to their intended use. While the robots will be endowed with some fundamental cognitive and manipulative skills, every application demands for an individual combination of those skills, which preferably can be customized by the human user during deployment. The robot must be capable to adapt its skills to the actual environment, to learn new skills, and to acquire additional operational procedures in direct interaction with the human operator. Hence, instead of having expert programmers, who setup a robot for a particular task, lay persons need to be able to interact with the robot and to change its behavior to match their individual needs.