Transcript Slides

Robot Programming from
Demonstration, Feedback and
Transfer
Yoan Mollard, Thibaut Munzer,
Andrea Baisero, Marc Toussaint,
Manuel Lopes
Robot Programming
• This paper presents a novel approach for robot
instruction for assembly tasks (i.e. teaching a
robot how to assemble an object): the usage of a
GUI allows users to refine a routine learned
through physical demonstration.
• A further advantage afforded by this approach is
the possibility of knowledge transfer, where
similar tasks can be learned through the same
refinement process
General Goals of Robot Programming
• Easy to program: a simple demonstration of a task allows,
in most cases, to program it
• Easy to instruct: corrections of what has been learned are
easy to provide
• Shared task awareness: a joint comprehension of the task
being executed, the world state and the role of each
partner, is shared
• Shared initiative: the robot does not require a step-by-step
instruction, the system is able to start its own behavior and
wait when it is uncertain about the task, allowing the user
to correct or change the behavior at any point in time
• Hierarchical learning: all parts of the task are easy to
program
Fields of Interest
• Self-improvement and scalability
• Training the user to provide better
demonstrations
• Correcting the task by the means of a visual
programming language, allowing the system
to request specific demonstrations or
clarifications.
Demonstration, Feedback & Transfer
• Demonstration
– A human demonstrator provides visual input which is processed into a
series of constraints
• Key term: Constraint
– Consider tasks as sequences of kinematic constraints, a single
constraint is modeled as the transformation between two object
frames
• Key term: Symbol
– Different works in robot demonstration learn symbols differently
– High level approach to symbols label key features of a state, or the
meaning of instruction signals
– Low level approach to symbols label individual actions that are
individually taught to a robot
– For purpose of this paper, symbols represent individual actions applied
to a single object
Demonstration, Feedback & Transfer
• Feedback
– Refine the plan generated from demonstration
1) Constraint representation and correction
2) Assembly plan representation and correction
• Problem: how to effectively allow user to
correct said plan?
– Use a GUI
Demonstration, Feedback & Transfer
Demonstration, Feedback & Transfer
• Transfer
– The process of refinement extends from simply
the task at hand
– Similar tasks should be easily programmable
– Correct the differences using the same GUI
General Workflow
Does it actually work?
• Experiment:
• Terms
– Bootstrap: Rely on a previous
demonstration to learn the task
and refine it
– Cold start: Start directly from
task refining with no previous
demonstration
Demonstration, Feedback &
Knowledge Transfer
• Demonstration & Feedback
– https://vimeo.com/120726868
• Knowledge Transfer
– https://vimeo.com/109165300
Does it actually work?
Brief explanation of results:
Perfect system would create 5 symbols associated with 5 actions after Task Learning
(Demonstration)
False negatives during the constraint detection phase causes some missing symbols and
leads to a missing number of actions, seen above.
Does it actually work?
Possible Improvements
• Consider actions that do not necessarily join two
items
– E.g. Setting the seat upright before attaching the back,
moving objects closer to the robot
• Ability to observe multiple humans cooperating
and formulate concurrent, sequential or
dependent actions
• Considering objects by shape rather than
attaching all objects into a single frame could lead
to more robust constraints (non-rigid constraints)