With growing research interest in robotics, robots have become increasingly proficient in performing many different, non-trivial tasks, such as running, jumping, climbing stairs, and manipulating objects. In most cases, however, each of these tasks is addressed individually, and this imposes a fundamental limitation on the use of robots in the real world.