A robot demonstration is an episode in which an expert, usually a human operator, performs a task so that a policy can learn to imitate it. Each demonstration pairs camera images and robot state with the actions commanded at every step, plus a description of the task. Because imitation learning copies demonstrations, including their pauses, retries, and inconsistencies, the quality of each demonstration matters as much as the number collected.
A robot demonstration is a recorded example of a task done the way you want a robot to do it, usually by a person controlling the robot through teleoperation. Each demonstration is an episode: camera images and proprioception paired with the action commanded at every step, plus a task description such as "put the cup in the sink." Collections of demonstrations are the training data for imitation learning, which trains a policy to reproduce what it sees.
A demonstration can succeed and still be a poor example. A policy learns everything in it: the pause before the grasp, the regrasp after a slip, an operator's habit of approaching from the left, and a task description that says something slightly different from what happened. Quality also varies by who collected the data. In the robomimic study, the same learning algorithms did noticeably worse on datasets collected by several operators of mixed skill than on data from one proficient operator.
Both demonstrations complete the task. The flawed one also teaches the policy to wait, pause, and regrasp.
Key takeaways
A robot demonstration is an expert episode used as a training example for imitation learning.
Successful isn't the same as good. Pauses, regrasps, and inconsistent strategies get learned along with the task.
Scoring and filtering demonstrations before training is now a research area of its own, because collection is expensive and every kept demonstration shapes the policy.
Common demonstration flaws
Flaw
What it looks like
What the policy learns
Idle frames
The arm sits still at the start or end of the episode
To wait before moving, or to stop early
Hesitation
A pause partway through a reach
To stall at the same point
Regrasp
The gripper closes, opens, and closes again
A habit of retrying instead of grasping cleanly
Strategy split
Operators approach the same object from different sides
An average of the two strategies, which can fail outright
Mismatched task text
The instruction describes a different task than the one performed
The wrong mapping from instruction to behavior
Flaws that survive a "did it succeed?" check and still change what a policy learns.
How it works
Teams collect demonstrations with leader-follower teleoperation, VR controllers, kinesthetic teaching (moving the robot by hand), or handheld recorders that capture a task without a robot. Each demonstration is stored as an episode in a format such as LeRobotDataset, RLDS, or MCAP. Before training, teams review the set: watching episodes, computing quality scores from the state and action streams, and using embeddings to find near-duplicates and outliers. Research methods now score demonstrations automatically. DemInf, presented at RSS 2025, ranks each demonstration by how much it contributes to the mutual information between states and actions, and training on the top-ranked subset improved imitation policies by 5 to 10% on robomimic, with gains on real ALOHA and Franka setups.
Before you keep every demonstration, look at the ones that don't fit
Most flawed demonstrations look fine in a file list and fine in a success column. They show up when you compare them with the others recorded for the same task. The quiet problems:
an episode that succeeds after a long pause the policy will learn to copy
one operator who approaches every object from the opposite side
a task description copied from the previous session
In Voxel51, LeRobot Community gathers 2,378 tabletop manipulation episodes from 117 community LeRobot datasets, with embeddings and task text, so you can compare demonstrations of the same task side by side.
LeRobot Community
2,378 episodes
Tabletop manipulation episodes from 117 community LeRobot datasets on the Hugging Face Hub, with embeddings, task text, grasp counts, and phase summaries.
Try this: Open the embeddings plot, pick an episode at the edge of its cluster, and watch it next to one from the center.
A policy treats every demonstration as a correct example, so the demonstration set is the specification of the behavior you will get. Demonstrations are also the most expensive data in robot learning, since each one takes a person and a robot in real time. Removing hesitant or inconsistent episodes can help a policy more than adding episodes of the same quality, which is why demonstration review belongs before training, not after a failed rollout. Patterns found that way feed failure mining and data triage.
Usually no. Keep them out of the imitation training set and label them as failures. Failed attempts are useful for success detection, for evaluation, and for finding the situations where operators struggle. Some methods, such as human-in-the-loop correction, deliberately record failures and the operator's recovery.
What makes a demonstration high quality?
A high-quality demonstration completes the task directly, with consistent timing, a clean grasp, and a task description that matches what happened. It also fits the rest of the set: similar camera placement, the same action conventions, and a strategy that other demonstrations of the task share, unless the variation is intended.
Can demonstrations come from people without a robot?
Yes. Handheld recorders capture a person doing the task with a gripper-like tool, and first-person human video shows tasks at a much larger scale. Both need extra processing to map human motion onto a robot's body and action space before a policy can learn from them.
Jesse Mostipak is the Director of Growth at Voxel51, where the work is helping humans find and trust what the brand knows, and teaching the Google knowledge graph and the LLMs answering on their behalf to do the same. That question, how knowledge gets built inside a system, is one Jesse has been chasing for years. Earlier versions of it ran through a New York City high school science classroom, data science and machine learning, and developer relations at Kaggle, Posit (formerly RStudio), and Baseten. The answer doesn't change much depending on whether the learner is a teenager, a software engineer, or a knowledge graph. Jesse holds a Master's in Education from CUNY Hunter College. LinkedIn