Learning from demonstration is an effective strategy for endowing robots with manipulation capabilities but requires training on datasets comprised of massive amounts of demonstrations. Existing demonstration collection approaches either require constant human involvement, for example, via teleoperation or are specialized for a single task. Task and Motion Planning (TAMP) systems are able to autonomously solve and therefore generate demonstrations for general-purpose tasks; however, learning from their demonstrations has proven difficult due to multi-modality in their solutions. In this work, we build on recent work leveraging GPU acceleration for TAMP and propose DemoStream, a TAMP system that optimizes demonstration quality in order to improve behavior cloning success rates. First, we introduce batched TAMP sampling operations along with a new TAMP algorithm that correspondingly performs batched constraint satisfaction in order to explore many solutions in parallel. We conduct simulation experiments ablating different action spaces, cost functions, and batch sizes to analyze the effect of these choices on downstream policy success rates. Finally, we show that we can leverage the safety guarantees of TAMP to directly collect real-world demonstrations at an average rate of 66 demos per hour. See our website for policy rollout videos: demostream.github.io.
Figures & tables
Fig. 1: Real-World Policy Evaluation. DemoStream collected 75 real-world demonstrations and trained visuomotor policies with a success rate of 67%. Left : stack the red block on the blue block (Stack-Two). Center : drop the banana into the trash bin (Banana-Bin). Right : pack the apple and lime on the plate (Apple-Lime).
Fig. 2: Batch IK Stream. The ik_qs stream takes a batch of N=128 inverse kinematics subproblems as inputs and returns a list of configurations "?q" per subproblem, if any can be found.
Fig. 3: Batched Computation Graph. The computation graph (stream plan ψ ) corresponding to a plan π involving picking the red block and placing it on the plate. The right column lists the number of bindings ∣B∣ after each batch stream call.
Action Space
Cost
cuRoboV2
J-PRM
J-PRM:T
T-PRM
Joint-Abs
Zero
0%
0%
0%
0%
Joint
22%
12%
32%
34%
Task
2%
0%
0%
76%
Joint-Rel
Zero
0%
0%
0%
0%
Joint
6%
10%
26%
38%
Task
0%
0%
0%
72%
TABLE I: Cost Ablation. BC-RNN policy success rates on the Stack-Three task across action spaces, cost functions, and motion planners. Minimizing task-space TAMP and motion costs maximizes policy success rate across action spaces.
Method
Demo SR
Demo Length
Time/Demo
Policy SR
MimicGen [ 2 ]
35%
243±16
9s
34%
DemoStream
93%
113±6
6s
82%
TABLE II: MimicGen vs. DemoStream . DemoStream results in higher demonstration and policy Success Rates (SR) than MimicGen [ 2 ] , without any task-specific annotated human demonstrations.
Fig. 4: Scaling Batch Size. The effect of scaling the IK batch size by multiples of 4. Left : the mean and standard deviation of the demonstration length. Right : the demonstration and policy Success Rate (SR). Large batch sizes decrease demonstration length and dispersion, resulting in higher policy success rates.
Fig. 5: Stacking Tasks. Left : stack four blocks (Stack-Four, long-horizon). Center : stack three blocks in the bin (Stack-Bin, obstacles). Right : stack three blocks using two arms (Multi-Arm).
Fig. 6: Packing Tasks. Left : pack the two blocks on the plate (Pack-Two). Center : pack the red block on the plate (50% Blocked). Right : pack the red block on the obstructed plate (100% Blocked).
Task
Demo SR
BC-RNN SR
Diffusion SR
Stack-Two
100%
100%
90%
Stack-Four
72%
54%
64%
Bin-Stack
97%
82%
98%
Multi-Arm
54%
12%
50%
Pack-Two
93%
94%
96%
Pack-Either
94%
90%
82%
TABLE III: Stacking and Packing Results. The Demonstration Success Rate (Demo SR) and policy Success Rate (SR) across the stacking (Figure 5 ) and packing (Figure 6 ) tasks.
Fig. 7: RoboLab Tasks. Left : put the Rubik’s cube and banana in the bowl (Rubiks-Banana). Center : place the mustard on the raisins (Mustard-Raisin). Right : drop the mustard in the bin (Mustard-Bin).
Task
Demo SR
BC-RNN SR
Diffusion SR
Rubiks-Bowl
51%
86%
76%
Rubiks-Near
63%
96%
56%
Rubiks-Left
27%
48%
28%
Banana-Bowl
40%
78%
44%
Rubiks-Banana
3%
18%
22%
Mustard-Raisin
55%
88%
34%
TABLE IV: RoboLab Results. Demonstration Success Rate and policy Success Rate (SR) on the RoboLab tasks (Figure 7 ).
Real Task
Demo SR
Demo Length
Time/Demo
Policy SR
Stack-Two
72%
178±13
48s
65%
Banana-Bin
83%
214±19
49s
75%
Apple-Lime
79%
323±28
69s
60%
TABLE V: Real World Results. The Demonstration Success Rate (Demo SR), demonstration length, time per demo, and policy Success Rate (SR) on the real-world tasks (Figure 1 ).