Skip to content

Quick Start

This guide provides the minimal steps to configure GenManip and run data generation or evaluation.

GenManip uses scalable configuration files to generate data. We provide a variety of detailed configuration templates — you can use them directly or as references for creating your own customized data generation pipelines. Below is a minimal example; for more advanced usage, please refer to the corresponding documentation sections.

# Download assets
python standalone_tools/download_assets.py --dataset banana
# Generate planning data
python demogen.py
# Generate rendering data
python render.py

All evaluations in GenManip are defined as Benchmark extensions, which means you can modularly load the assets for different benchmarks via standalone_tools/download_assets.py, and directly run them through configuration files.

On the user side, our evaluation process follows a client–server architecture, so you don’t need to worry about GenManip’s internal implementation details. Your main task is simply to interact with GenManip through the designated communication protocol.

For the Client side, the script standalone_tools/client.py provides a simple example: it outputs a fixed action consisting of joint positions and end-effector poses. You can copy this script to your own model project space and replace the empty action output part with your model inference logic. Of course, running standalone_tools/client.py directly can also help you verify whether the Benchmark itself is correctly configured.

For the Server side, you can directly run ray_eval_server.py to start a server, and directly input the GenManip Package repo id (i.e., a Huggingface repository that conforms to the GenManip Package format) to automatically download assets and start the server.

  1. Start the server and automatically download assets

    Terminal window
    python ray_eval_server.py -cfg GenManipSuite/GenManip-Package-Basic
  2. Run the client

    Terminal window
    python standalone_tools/client.py --worker_ids 0 # Let the server create an Isaac Sim test instance

You should see Isaac Sim start up, and the robot will attempt to execute the random actions provided by standalone_tools/fake_port.py. Logs and any generated videos will be saved to the saved/eval_results folder.

This indicates that the basic simulation and communication setup is working properly. Next, you can try running actual baseline models or develop your own methods.

GenManip provides distinct workflows for data synthesis, benchmark creation, and evaluation usage. Most of these workflows are encapsulated in ready-to-use scripts — you only need to understand the part you need and execute them in the given order.

Terminal window
python standalone_tools/download_assets.py --dataset your-assets-package
python demogen.py -cfg configs/tasks/your-task-name.yml
python render.py -cfg configs/tasks/your-task-name.yml

That is: download assets → generate data → render data.

Terminal window
python standalone_tools/download_assets.py --dataset your-assets-package
python demogen.py -cfg configs/tasks/your-task-name.yml --eval
python standalone_tools/collect_benchmark_assets.py --asset_path saved/tasks/your-task-name --dataset_id your-task-package --upload_to_huggingface

That is: download assets → generate test cases → package and upload to Hugging Face.

Terminal window
python ray_eval_server.py your-assets-package
python standalone_tools/client.py --worker_ids 0

That is: start the server → run the client → run evaluation.