<div align="center">
# AutoData
### Scalable Robot Demonstration Generation for Robot Learning
[](https://github.com/isaac-sim/AutoData)
[](https://docs.isaacsim.omniverse.nvidia.com/latest/index.html)
[](https://github.com/isaac-sim/IsaacLab)
[](https://github.com/isaac-sim/IsaacLab-Arena)
[](https://docs.python.org/3/whatsnew/3.12.html)
[](https://www.linux.org/)
[](LICENSE.md)
[Documentation](https://isaac-sim.github.io/AutoData/) · [Getting Started](https://isaac-sim.github.io/AutoData/main/pages/quickstart/first_data_generation.html) · [Report a Bug](https://github.com/isaac-sim/AutoData/issues) · [Discussions](https://github.com/isaac-sim/AutoData/discussions)
</div>
---
## Overview
**AutoData** is a trajectory data-generation framework built on
[NVIDIA Isaac Lab](https://github.com/isaac-sim/IsaacLab) and
[Isaac Lab-Arena](https://github.com/isaac-sim/IsaacLab-Arena). Given a small set of annotated human
demonstrations, it uses parallel simulation environments to generate diverse datasets of successful robot
demonstrations for robot learning.
AutoData splits demonstrations into object-relative skill segments. During generation, it transforms those
segments to new scene configurations, connects them into complete trajectories, executes them in simulation, and
records successful demonstrations in HDF5 datasets.
<p align="center">
<img src="docs/images/autodata.gif" alt="AutoData generating robot demonstrations in parallel" width="100%">
</p>
## Why AutoData?
Robot-learning policies require large and diverse collections of successful demonstrations. Gathering all of
that data through human teleoperation is slow and expensive, even though a small set of demonstrations often already
contains the task's essential skills.
AutoData scales those demonstrations across randomized object placements and scene configurations, reducing
the amount of manual collection needed to produce datasets for policy training.
## Key Features
- **Demonstration amplification** — Transform and recombine a small number of annotated demonstrations into larger,
more diverse datasets.
- **Three generation algorithms** — Use MimicGen for single-arm tasks, DexMimicGen for coordinated multi-arm tasks,
or SkillGen for collision-aware, motion-planned transitions.
- **Parallel simulation** — Generate demonstrations across multiple Isaac Lab environments at once.
- **Robot and task configuration** — Describe embodiments, tasks, subtasks, and generation policies in
reusable YAML files.
- **Adaptable environments** — Apply environment profiles to create task variants without defining a new simulation
environment.
- **End-to-end dataset tools** — Record, annotate, generate, validate, and replay HDF5 demonstrations.
## Quick Start
### Prerequisites
- Linux with an NVIDIA GPU and driver that meet the
[Isaac Sim requirements](https://docs.isaacsim.omniverse.nvidia.com/latest/installation/requirements.html)
- [Docker](https://docs.docker.com/engine/install/) and the
[NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)
- Git and [Git LFS](https://git-lfs.com/)
- An [NGC](https://catalog.ngc.nvidia.com/) account for the Isaac Sim container image
### Installation
Clone the repository with its nested Isaac Lab-Arena and Isaac Lab submodules, then pull the example datasets:
```bash
git clone --recurse-submodules git@github.com:isaac-sim/AutoData.git
cd AutoData
git lfs install
git lfs pull
```
Log in to NGC and launch the development container:
```bash
docker login nvcr.io
./docker/run_docker.sh
```
The first launch builds the development image and opens a shell in the repository at
`/workspaces/autodata`. Subsequent launches reuse the image. Use `./docker/run_docker.sh -c` to include cuRobo
for SkillGen workflows.
This checkout uses Isaac Sim 6.1.0, Arena 0.3.1 at commit
`481f5ae5f19df7bc5d24a17240fc0d96ac81eaf7`, and its nested Isaac Lab at commit
`28a386f063e41c04c07f50e63eefb83fd8408fbe` (v3.0.0-EA plus 3 commits). After updating an existing clone, run
`git submodule update --init --recursive` and rebuild with `./docker/run_docker.sh -c -r`.
Commands, environment profiles, and source dataset metadata use Lab 3.0's `IsaacContrib-*`
task names directly. For example, Franka recording uses
`--task IsaacContrib-Stack-Cube-Franka-IK-Rel`.
Docker is recommended. For a native Python 3.12 environment, the updated
`./conda_installer.sh -c -i` installs the Sim/Lab stack from Arena's lockfile; see the
[installation guide](https://isaac-sim.github.io/AutoData/main/pages/quickstart/installation.html#optional-conda-installation).
Additional container options are described in the
[installation guide](https://isaac-sim.github.io/AutoData/main/pages/quickstart/installation.html).
### Generate Your First Dataset
Inside the container, generate ten Franka cube-stacking demonstrations from the pre-annotated dataset:
```bash
python scripts/generate_dataset.py \
--viz kit \
--env_name IsaacContrib-Stack-Cube-Franka-IK-Rel \
--alg mimicgen \
--generation_num_trials 10 \
--num_envs 10 \
--task_descriptor autodata_examples/tasks/franka_cube_stack.yaml \
--embodiment autodata_examples/embodiments/franka_ik_rel.yaml \
--input_file ./datasets/annotated_datasets/dataset_franka_annotated.hdf5 \
--output_file ./datasets/generated_dataset_franka_quickstart.hdf5
```
Validate the generated dataset:
```bash
python scripts/validate_dataset.py ./datasets/generated_dataset_franka_quickstart.hdf5
```
See [Your First Data Generation](https://isaac-sim.github.io/AutoData/main/pages/quickstart/first_data_generation.html)
for an explanation of each step and instructions for replaying the result.
## Example Workflows
| Workflow | Description |
|----------|-------------|
| [Franka Cube Stacking](https://isaac-sim.github.io/AutoData/main/pages/workflows/franka_cube_stack_mimicgen/) | Record, annotate, and expand single-arm demonstrations with MimicGen. |
| [Humanoid Pick-and-Place](https://isaac-sim.github.io/AutoData/main/pages/workflows/humanoid_dexmimicgen/) | Generate bimanual demonstrations for Fourier GR-1 and Unitree G1 with DexMimicGen. |
| [Motion-Planned Generation](https://isaac-sim.github.io/AutoData/main/pages/workflows/skillgen/) | Use SkillGen and cuRobo to create collision-aware trajectories, including task variants built with environment profiles. |
## Project Structure
```text
AutoData/
├── autodata_core/ # Data generation algorithms and execution
├── autodata_interfaces/ # Task, embodiment, datastream, and planner interfaces
├── autodata_utils/ # Shared utilities
├── autodata_examples/ # Example task, embodiment, and environment-profile configs
├── autodata_tests/ # Unit, end-to-end, and performance tests
├── scripts/ # Dataset generation, annotation, and validation tools
├── datasets/ # Example and test datasets stored with Git LFS
├── docker/ # Reproducible development containers
├── docs/ # Sphinx documentation
└── submodules/ # Isaac Lab-Arena and Isaac Lab
```
## Contributing
Bug reports, feature suggestions, documentation improvements, and pull requests are welcome. Before opening a pull
request, run the repository's pre-commit checks:
```bash
pre-commit run --all-files
```
For test-suite details and common commands, see
[Testing and CI](https://isaac-sim.github.io/AutoData/main/pages/advanced/testing_and_ci.html).
## Support
- **Questions and ideas** — [GitHub Discussions](https://github.com/isaac-sim/AutoData/discussions)
- **Bug reports** — [GitHub Issues](https://github.com/isaac-sim/AutoData/issues)
- **Isaac Sim questions** — [NVIDIA Developer Forums](https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67)
## License
AutoData is released under the [Apache License 2.0](LICENSE.md).
Third-party open-source software notices are provided in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
Additional component-specific licenses are stored in [`docs/licenses/`](docs/licenses/). NVIDIA cuRobo is governed
by the [NVIDIA Isaac Lab Additional Software and Materials License](docs/licenses/curobo-license.txt).
AutoData depends on Isaac Sim, which includes components distributed under proprietary licensing terms. See
the [Isaac Sim license](https://docs.isaacsim.omniverse.nvidia.com/latest/common/NVIDIA_Omniverse_License_Agreement.html)
for details.
## Citation
If you use AutoData in your research, please cite:
```bibtex
@misc{autodata2026,
title = {AutoData: Scalable Robot Demonstration Generation for Robot Learning},
author = {{NVIDIA AutoData Contributors}},
year = {2026},
url = {https://github.com/isaac-sim/AutoData}
}
```
Depending on the generation algorithm used, please also cite the original
[MimicGen](https://arxiv.org/abs/2310.17596), [DexMimicGen](https://arxiv.org/abs/2410.24185), or
[SkillMimicGen](https://arxiv.org/abs/2410.18907) work. Isaac Lab users should also cite the
[Isaac Lab paper](https://arxiv.org/abs/2511.04831).
## Acknowledgements
AutoData builds on NVIDIA Isaac Sim, Isaac Lab, and Isaac Lab-Arena. Its data-generation workflows incorporate
ideas from MimicGen, DexMimicGen, and SkillMimicGen, with cuRobo providing GPU-accelerated motion planning for
SkillGen workflows.
We thank the authors and contributors of these projects, along with the broader robotics community, for their
foundational work.
---
<div align="center">
**AutoData** · [Documentation](https://isaac-sim.github.io/AutoData/) · [GitHub](https://github.com/isaac-sim/AutoData)
</div>