Skip to content
isaac-simPublic

Latest commit

 

History

71 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoData

Scalable Robot Demonstration Generation for Robot Learning

Version Isaac Sim Isaac Lab Isaac Lab-Arena Python Linux License

Documentation · Getting Started · Report a Bug · Discussions


Overview

AutoData is a trajectory data-generation framework built on NVIDIA Isaac Lab and Isaac Lab-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.

AutoData generating robot demonstrations in parallel

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.
  • Generation algorithms — Use MimicGen for single-arm tasks, DexMimicGen for coordinated multi-arm tasks, SkillGen for collision-aware, motion-planned transitions, or SoftMimicGen for deformable-object manipulation.
  • 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
  • Git and Git LFS
  • For the recommended Docker installation: Docker, the NVIDIA Container Toolkit, and an NGC account for the Isaac Sim container image
  • For the native installation instead: Linux x86_64, uv 0.12.21 or newer, CMake, and a C++ compiler

Installation

Clone the repository with its nested Isaac Lab-Arena and Isaac Lab submodules, then pull the example datasets:

git clone --recurse-submodules [email protected]:isaac-sim/AutoData.git
cd AutoData
git lfs install
git lfs pull

Log in to NGC and launch the development container:

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. Docker reuses the base image's Isaac Sim; other dependencies use the same repository uv.lock as the native installation.

For the native installation, skip Docker and install the locked environment at the repository root instead:

uv sync --locked

This checkout uses Isaac Sim 6.1.0, Arena 0.3.0 at commit c7edf3a9d5d8276565208f72422f8f8a0806d6cf, and its nested Isaac Lab at commit 91a0906f93802eb859192dcb0bca879f891e92d6. After updating an existing clone, run git submodule update --init --recursive and rebuild with ./docker/run_docker.sh -c -r, or rerun uv sync --locked for the native installation. 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.

The installation guide covers the native uv installation including cuRobo, a conda installation with ./conda_installer.sh -c -i, and additional container options.

Generate Your First Dataset

Inside the container, generate ten Franka cube-stacking demonstrations from the pre-annotated dataset. In the uv environment, start each Python command with uv run --locked:

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:

python scripts/validate_dataset.py ./datasets/generated_dataset_franka_quickstart.hdf5

See Your First Data Generation for an explanation of each step and instructions for replaying the result.

Example Workflows

Workflow Description
Franka Cube Stacking Record, annotate, and expand single-arm demonstrations with MimicGen.
Humanoid Pick-and-Place Generate bimanual demonstrations for Fourier GR-1 and Unitree G1 with DexMimicGen.
Motion-Planned Generation Use SkillGen and cuRobo to create collision-aware trajectories, including task variants built with environment profiles.

Project Structure

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:

pre-commit run --all-files

For test-suite details and common commands, see Testing and CI.

Support

License

AutoData is released under the Apache License 2.0.

Third-party open-source software notices are provided in THIRD_PARTY_NOTICES.md.

Additional component-specific licenses are stored in docs/licenses/. NVIDIA cuRobo is governed by the NVIDIA Isaac Lab Additional Software and Materials License.

AutoData depends on Isaac Sim, which includes components distributed under proprietary licensing terms. See the Isaac Sim license for details.

Citation

If you use AutoData in your research, please cite:

@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, DexMimicGen, SkillMimicGen, or SoftMimicGen work. Isaac Lab users should also cite the Isaac Lab paper.

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.


AutoData · Documentation · GitHub

Releases

Packages

Contributors

Languages