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.