Robot Learning

learning from demonstration

Learning from demonstration is teaching a robot a new skill by showing it, rather than writing out the skill as code. In the old way, an engineer painstakingly programs every motion — go to these exact coordinates, rotate this many degrees, close the gripper now — which is slow, brittle, and out of reach for anyone who is not a programmer. Learning from demonstration flips that around: a person simply performs the task a few times, and the robot watches and works out a policy that can do it too. It is the difference between writing an instruction manual and just saying 'here, watch me, now you try.'

There are several friendly ways to give a demonstration. You can grab the robot's arm and physically guide it through the motion, a hands-on style called kinesthetic teaching. You can steer it with a joystick or controller — teleoperation — while it records what you do. Or you can simply perform the task yourself and let the robot watch through its camera. Either way the robot collects example after example and turns them into a skill, so a nurse or a factory worker can teach a robot a new job in an afternoon without touching a line of code. That ease is exactly why it has become a backbone of modern robot learning.

An assembly-line worker guides a robot arm through folding a box five times; the robot then folds boxes all day on its own.

Show the robot a few times instead of coding every move.

Learning from demonstration is the broad goal of teaching by example; imitation learning and behavior cloning are common methods that carry it out.

Also called
LfDprogramming by demonstration示教学习