Video Material for the Paper:
Learning Manipulation Actions from a Few Demonstrations
by N. Abdo, H. Kretzschmar, L. Spinello, and C. Stachniss
submitted to ICRA 2013





Kinesthetic teaching of actions

This video shows the kinesthetic teaching of basic pick-and-place actions and actions related to opening a door.



Computing plans using the learned pick-and-place actions

This experiment shows how the robot can use the learned symbolic representations of the pick-and-place actions to compute plans for solving a new task. In this case, the goal was to construct a tower of three blocks in a specific order (RED-BLUE-YELLOW) from different starting states. The robot evaluates the truth values of the learned predicates at the starting state and computes a plan to the goal accordingly. To execute each step, the system chooses a movement primitive learned from the initial demonstrations and adapts it to the new situation.



Maintaining a goal state: keping the door open

This experiment illustrates how the use of a planning system for creating action sequences consisting of basic skills allows for adapting the robot's behavior to the current situation in a flexible manner. In this experiment, we placed the robot in front of a door and instructed it to keep the door fully open. Then, a human repeatedly closed the door and the robot successfully opened it from different configurations.
During this experiment, the robot came up with three different ways for opening a door depending on the current configuration of the door and its handle's visibility. If the door is completely closed, our robot needs to carry out the following actions: reachHandle; graspHandle; turnHandle; pullDoor; releaseHandle; moveArmToInnerSide; pushDoor. If the door latch was not locked, it is sufficient to execute: reachHandle; graspHandle; pullDoor; releaseHandle; moveArmToInnerSide; pushDoor. If the door is already partially open but the robot does not fit through the door, then executing: moveArmToInnerSide; pushDoor is sufficient.



Requesting feedback from the teacher to eliminate falsely-learned conditions for grasping a bottle

This experiment shows the robot learning the preconditions and effects for reaching to grasp a bottle. In the training, the bottle was always placed vertically on the table, causing the robot to learn this orientation as a relevant condition for the skill. Upon failing to repeat the action when the bottle is placed differently on the table, the robot asks for another demonstration from the teacher and eliminates the falsely-learned condition.



Requesting feedback from the teacher to eliminate falsely-learned conditions for achieving a pouring pose

This experiment shows the robot learning the preconditions and effects for achieving a pouring pose using a cup and a grasped bottle. In the training, the same cup was always used. This resulted in learning the color of the cup as a relevant precondition. Also, the robot learned that the distance of the bottle opening to the center of the cup is a relevant effect. This caused the robot to fail to repeat the action when presented with a smaller cup of a different color. After observing a new demonstration, the robot learned that the above-mentioned conditions are irrelevant, and that only the distance and orientation of the bottle to the top of the cup are relevant effects.



Reacting to unexpected changes: pick-and-place actions

This experiment shows the robot computing and executing a simple plan to place a blue block on a red one. While executing the plan, a person places a yellow block on the red one. The robot detects the contradiction in the truth values of the learned predicates. In particular, a precondition for the placing action (the surface of the target block should be visible) is no longer satisfied. The robot thus computes a new plan from that state to first remove the yellow block and then proceed as before.



Reacting to unexpected changes: complex task


This experiment is designed to illustrate how the robot can deal with unexpected changes in the environment while performing a new task. In this experiment, a task combining pick-and-place and door-handling actions is considered. The goal was to take two blocks and bring them to the corridor outside the room. Initially, both blocks lie on a table in the room and the door is open. While the robot picks up the two blocks with its manipulators, a person closes the door. After detecting that change, the robot computes a new plan and decides to bring one block back to the table to free one gripper. It then opens the door with the free hand, moves back to the table, picks up the block again, and finally brings both blocks outside the room.