REVIEW 3 major objections 6 minor 16 references
A tutorial note on collecting simulated data for vision-language-action models
T0 review · 3 major / 6 minor · reviewed 2026-08-06 · deepseek-v4-flash
Pith's one-line read The paper claims that VLA training data can be assembled from three practical pipelines — PyBullet simulation with scripted oracles, teleoperated LIBERO scenes, and RT-X's million trajectories — and that quality, scale, and diversity decide
desk verdict Useful tutorial with a load-bearing gap: the PyBullet pipeline saves no language instruction, so it produces VA data despite the VLA framing, and the 95% figure measures oracle success, not trainability. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing object is the vision-language-action triplet, the input-output unit a VLA model learns from the policy $\pi_\theta: (I, L) \to A$ mapping images and language to actions. The machinery is the set of pipelines that manufacture such triplets: Algorithm 1's PyBullet loop, in which a Ravens oracle policy chooses each action and each step's RGB image, action, and reward are written to episode_id-step_id.pkl files; LIBERO's BDDL (Behavioral Domain Definition Language) for defining and modifying scenes; a ten-consecutive-timestep success check that filters teleoperated demonstrations; and RT-X's standardized seven-dimensional action format [x, y, z, roll, pitch, yaw, gripper], which
What would settle it
Train a behavior-cloning policy (for example a modest vision-encoder-plus-policy-head network) on the collected PyBullet triplets and LIBERO teleoperation files at a fixed episode budget, and measure task success in the same simulators. If the learned policy does not approach the oracle's ~95% success, the pipeline does not deliver usable VLA training data. A supporting check: replay each stored trajectory from its recorded initial state and confirm the saved action sequence actually reaches the task's goal condition, not merely the completion status logged during collection.
Extended reading notes
Core claim
Three complementary pipelines can supply the vision-language-action triplets a VLA model needs. PyBullet with Ravens scripted oracles produces deterministic demonstrations; the paper reports a 95% success rate on three tasks (block insertion, place-red-in-green, towers of Hanoi), with data stored as synchronized color, depth, action, reward, and info files. LIBERO adds cleaned benchmark data and teleoperated demonstrations; BDDL edits insert distractor objects without changing the goal, and a 10-step check validates completion. RT-X aggregates over a million trajectories from 22 robot embodiments in one standardized [x, y, z, roll, pitch, yaw, gripper] action space. The thesis: quality, scal
Load-bearing premise
The whole practical value of the tutorial rests on the untested premise that demonstrations collected exactly as described — oracle rollouts in PyBullet and teleoperated episodes in LIBERO, stored in these file formats — are sufficient training material for a behavior-cloning VLA model; the paper verifies 95% oracle success during collection (Section 2.3) but never trains a policy, so no downstream-learning evidence is offered.
Editorial extensions
If this is right
- Following Algorithm 1, a researcher can reproduce the PyBullet pipeline and obtain synchronized color/depth/action/reward files (episode_id-step_id.pkl) covering tasks that need precise insertion, color-conditioned placement, or sequential planning.
- LIBERO's cleaned no-noop datasets make every stored step carry learning signal, and the reported 10-step success validation should keep teleoperated demonstrations free of accidental completions before they enter the HDF5 store.
- Because distractor objects added via BDDL stay out of the obj-of-interest specification, the scene-modification recipe is a low-risk way to build visual-robustness datasets without altering reward or goal logic.
- With RT-X's common [x, y, z, roll, pitch, yaw, gripper] action format, a single model can train on trajectories from 22 robot embodiments with no per-robot action preprocessing.
- If the three-dimension thesis is right, dataset-construction effort should be allocated against measurable quality (annotation correctness), scale (episode count), and diversity (scene, object, and task coverage), not against model capacity.
Reading between the lines
- The decisive downstream experiment is left open: no VLA policy is trained on the collected data. A natural next step is to behavior-clone a small policy on the PyBullet triplets and check whether its task success approaches the oracle's ~95%; that would convert the collection claims into learning claims.
- The BDDL distractor recipe reads like a cheap adversarial-data generator: systematically placing pre-registered objects near task-relevant regions could test whether a learned policy truly grounds language or exploits position priors in the image — a robustness probe the tutorial does not run.
- If the PyBullet and LIBERO data were exported in RT-X's standardized action format, simulated and real trajectories could be mixed in a single training set, letting simulation diversity compensate for RT-X's uneven per-embodiment coverage — an integration the paper describes only implicitly.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. This tutorial note describes three approaches for collecting data for vision-language-action (VLA) models: (1) PyBullet/Ravens scripted-oracle demonstrations for three manipulation tasks, (2) LIBERO teleoperation with BDDL scene modifications, and (3) the RT-X dataset. It reports 95% success rates for the three PyBullet tasks, provides code snippets for data collection and storage, and argues that effective VLA dataset construction requires balancing data quality, scale, and diversity. The stated contribution is practical guidance for building such datasets.
Significance. If the pipelines are workable, the note is a potentially useful practical reference: it gives concrete API calls, BDDL modifications, and storage formats, and it correctly identifies data quality, scale, and diversity as central dimensions. However, the paper's main quantitative evidence—95% oracle success—does not establish that the collected data are usable for VLA training, and the manuscript contains no trained-policy validation. The practical significance is therefore conditional on additional evidence of downstream trainability.
major comments (3)
- [Section 2.3 and 2.4] The 95% success rate is a property of the Ravens oracle policies, not of the recorded dataset. No VLA or behavior-cloning policy is trained on the collected PyBullet demonstrations, and no held-out evaluation of a learned policy is reported. The claim that this 'provides a stable source of labeled data for subsequent model training and evaluation' is therefore unsupported as stated. Please report the number of episodes N, the variance across seeds/tasks, and ideally include a downstream behavior-cloning sanity check; at minimum, explicitly rephrase the claim as oracle-level collection quality.
- [Algorithm 1 and Section 2.4] The saved episodes do not contain an explicit language instruction. In Algorithm 1, save_data(episode, step, rgb_img, action, reward) passes no language channel, and the storage layout in Section 2.4 lists color, depth, action, reward, and info only. Since a VLA sample is a triple (I, L, A) as in Eq. (1), the collected PyBullet data are vision-action data unless a language instruction is stored and synchronized. If task labels are recorded under the info directory, please state this explicitly and show how they are aligned with each timestep.
- [Section 3.1 and 3.2] The LIBERO scene modification with distractor cookies is described in detail, but no results are reported for the modified scenes. There is no indication of how many teleoperated demonstrations were collected, what the success rate was under the 10-step validation, or whether the distractor altered task semantics or demonstration trajectories. Without these data, the section does not support the claim that customized data collection within LIBERO was successfully implemented as a pipeline.
minor comments (6)
- [Section 2.4] The reported RGB array shape (7, 3, 480, 640) is unusual for PyBullet camera output, which typically returns (height, width, channels) or (7, 480, 640, 4). Please verify the channel order and document the exact format.
- [Algorithm 1] The initialization order is confusing: ravens.Environment is created before p.connect(p.GUI). In PyBullet, the connection should usually be established before environment construction. Please clarify or reorder.
- [Section 3.1] The statement that the OpenVLA-cleaned LIBERO datasets 'remove no-operation actions' is not accompanied by a link, version, or reference. Please add a URL or citation.
- [Section 4.2] Figure 7 is described as showing representative RT-X data samples, but no figure image is visible in the manuscript. If the figure is missing, provide it; otherwise remove the reference.
- [Section 4.3] Typo: 'exposure the suboptimal demonstrations' should read 'exposure to the suboptimal demonstrations'.
- [Abstract] The GitHub repository link contains a space and appears malformed: 'https://github.com/trustmlyoungscientist/dataset for VLA.git'. Please correct the URL.
Circularity Check
No significant circularity: this tutorial note reports data-collection pipelines and measurements; its claims do not reduce to their own inputs.
full rationale
This is an expository tutorial note, not a derivation, and I find no circular step under the enumerated patterns. The paper's quantitative claim (Section 2.3: "Three tasks achieved 95% success rates, demonstrating the reliability of the PyBullet simulation environment and the stability of Ravens oracles") is a measurement of the scripted oracle in the simulator, not a fitted parameter later renamed as a prediction; the paper never trains a VLA policy or reports downstream task success, so the 95% figure is not used to 'predict' a learned policy. Algorithm 1's save_data(episode, step, rgb_img, action, reward) omits an explicit language-instruction channel, and the storage layout in Section 2.4 lists color, depth, action, reward, and info without a dedicated language field; this is a genuine support gap for the tutorial's broader usefulness claim, but it is an evidential gap, not a circular reduction. The cited systems (Ravens, LIBERO, robosuite, Open X-Embodiment, OpenVLA) are external tools or datasets; the authors do not rely on their own prior work as load-bearing evidence, and no uniqueness theorem is imported. The Section 5 conclusion that quality, scale, and diversity matter is a general organizing observation, not a re-description of an input as an output. Therefore the paper receives a score of 0: no circularity found.
Assumptions & free parameters
assumptions (2)
- domain assumption Ravens oracle policies are deterministic and produce high-quality demonstration data.
- domain assumption LIBERO's 10-step success validation is sufficient to prevent false-positive demonstrations.
Cite this review
Pith. "Pith review of A tutorial note on collecting simulated data for vision-language-action models." pith.science (2026). https://pith.science/paper/WJ7USITN
@misc{pith2026250806547,
author = {Pith},
title = {Pith review of: A tutorial note on collecting simulated data for vision-language-action models},
year = {2026},
howpublished = {\url{https://pith.science/paper/WJ7USITN}},
note = {Machine review of arXiv:2508.06547}
}
read the original abstract
Traditional robotic systems typically decompose intelligence into independent modules for computer vision, natural language processing, and motion control. Vision-Language-Action (VLA) models fundamentally transform this approach by employing a single neural network that can simultaneously process visual observations, understand human instructions, and directly output robot actions -- all within a unified framework. However, these systems are highly dependent on high-quality training datasets that can capture the complex relationships between visual observations, language instructions, and robotic actions. This tutorial reviews three representative systems: the PyBullet simulation framework for flexible customized data generation, the LIBERO benchmark suite for standardized task definition and evaluation, and the RT-X dataset collection for large-scale multi-robot data acquisition. We demonstrated dataset generation approaches in PyBullet simulation and customized data collection within LIBERO, and provide an overview of the characteristics and roles of the RT-X dataset for large-scale multi-robot data acquisition.
Figures
Figures from the paper (4 more)
Reference graph
Works this paper leans on
-
[1]
Rt-2: Vision-language-action models transfer web knowledge to robotic control
Anthony Brohan, Noah Brown, Justice Carbajal, Yevgen Chebotar, Xi Chen, Krzysztof Choromanski, Tianli Ding, Danny Driess, Avinava Dubey, Chelsea Finn, et al. Rt-2: Vision-language-action models transfer web knowledge to robotic control. arXiv preprint arXiv:2307.15818, 2023 a
arXiv 2023
-
[2]
Rt-1: Robotics transformer for real-world control at scale
Anthony Brohan, Noah Brown, Justice Carbajal, Yevgen Chebotar, Joseph Dabis, Chelsea Finn, Keerthana Gopalakrishnan, Karol Hausman, Alex Herzog, Jasmine Hsu, et al. Rt-1: Robotics transformer for real-world control at scale. Robotics: Science and Systems (RSS), 2023 b
work page 2023
-
[3]
A robust layered control system for a mobile robot
Rodney A Brooks. A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, 2 0 (1): 0 14--23, 1986
work page 1986
-
[4]
Open x-embodiment: Robotic learning datasets and rt-x models
Open X-Embodiment Collaboration, Abhishek Padalkar, Acorn Pooley, Ajinkya Jain, Alex Bewley, Alex Herzog, Alex Irpan, Alexander Khazatsky, Anant Rai, Anikait Singh, et al. Open x-embodiment: Robotic learning datasets and rt-x models. arXiv preprint arXiv:2310.08864, 2023
arXiv 2023
-
[5]
Pybullet, a python module for physics simulation for games, robotics and machine learning, 2016
Erwin Coumans and Yunfei Bai. Pybullet, a python module for physics simulation for games, robotics and machine learning, 2016. URL http://pybullet.org
work page 2016
-
[6]
Openvla: An open-source vision-language-action model
Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti, Ted Xiao, Ashwin Balakrishna, Suraj Nair, Sankha Sinha, Thomas Kollar, and Chelsea Finn. Openvla: An open-source vision-language-action model. arXiv preprint arXiv:2406.09246, 2024
arXiv 2024
-
[7]
Robin R Murphy. Introduction to AI robotics. MIT press, 2000
work page 2000
-
[8]
Efficient training of artificial neural networks for autonomous navigation
Dean A Pomerleau. Efficient training of artificial neural networks for autonomous navigation. Neural computation, 1991
work page 1991
Show all 16 references
-
[9]
Libero: Benchmarking knowledge transfer for lifelong robot learning
Yifeng Qin, Bingyi Wang, Bo Liu, Ryan Feng, Yifan Zhang, and Yuke Zhu. Libero: Benchmarking knowledge transfer for lifelong robot learning. Advances in Neural Information Processing Systems, 36, 2023
2023
-
[10]
Mujoco: A physics engine for model-based control
Emanuel Todorov, Tom Erez, and Yuval Tassa. Mujoco: A physics engine for model-based control. In 2012 IEEE/RSJ international conference on intelligent robots and systems, pp.\ 5026--5033. IEEE, 2012
2012
-
[11]
Ravens: Train robotic agents to learn pick and place with deep learning for vision-based manipulation in pybullet, 2021
Andy Zeng et al. Ravens: Train robotic agents to learn pick and place with deep learning for vision-based manipulation in pybullet, 2021. URL https://github.com/google-research/ravens
2021
-
[12]
robosuite: A modular simulation framework and benchmark for robot learning
Yuke Zhu, Josiah Wong, Ajay Mandlekar, and Roberto Mart \' n-Mart \' n. robosuite: A modular simulation framework and benchmark for robot learning. In arXiv preprint arXiv:2009.12293, 2020
2009 arXiv
-
[13]
write newline
" write newline "" before.all 'output.state := FUNCTION n.dashify 't := "" t empty not t #1 #1 substring "-" = t #1 #2 substring "--" = not "--" * t #2 global.max substring 't := t #1 #1 substring "-" = "-" * t #2 global.max substring 't := while if t #1 #1 substring * t #2 gl...
-
[14]
@esa (Ref
\@ifxundefined[1] #1\@undefined \@firstoftwo \@secondoftwo \@ifnum[1] #1 \@firstoftwo \@secondoftwo \@ifx[1] #1 \@firstoftwo \@secondoftwo [2] @ #1 \@temptokena #2 #1 @ \@temptokena \@ifclassloaded agu2001 natbib The agu2001 class already includes natbib coding, so you should ...
-
[15]
\@lbibitem[] @bibitem@first@sw\@secondoftwo \@lbibitem[#1]#2 \@extra@b@citeb \@ifundefined br@#2\@extra@b@citeb \@namedef br@#2 \@nameuse br@#2\@extra@b@citeb \@ifundefined b@#2\@extra@b@citeb @num @parse #2 @tmp #1 NAT@b@open@#2 NAT@b@shut@#2 \@ifnum @merge>\@ne @bibitem@firs...
-
[16]
@open @close @open @close and [1] URL: #1 \@ifundefined chapter * \@mkboth \@ifxundefined @sectionbib * \@mkboth * \@mkboth\@gobbletwo \@ifclassloaded amsart * \@ifclassloaded amsbook * \@ifxundefined @heading @heading NAT@ctr thebibliography [1] @ \@biblabel @NAT@ctr \@bibset...
Reviewed August 6, 2026 · model on record in the stance chip above.
Discussion (0). Sign in to comment.