跳转到内容

快速开始

本指南提供配置 GenManip 并运行数据生成或评测的最简步骤。

GenManip 使用可扩展的配置文件来生成数据。我们提供了大量详细的配置模板,这些模板既可以直接使用,也可以作为创建自定义数据生成流程的参考。下面给出一个最小化示例;如需了解更高级的用法,请参考对应的文档章节。

# 下载资产
python standalone_tools/download_assets.py --dataset banana
# 生成规划数据
python demogen.py
# 生成渲染数据
python render.py

我们将全部测评定义为 Benchmark 拓展包,这意味着你可以通过 standalone_tools/download_assets.py 模块化地加载不同的基准测试的资产,并且直接通过配置文件来运行不同的基准测试。

在用户端,我们的测试流程采用 client–server 架构,因此你无需关心 GenManip 内部的实现细节。你的主要任务是通过指定的通信协议与 GenManip 进行交互。

对于 Client 端,脚本 standalone_tools/client.py 提供了一个简单的示例:它会输出一个固定动作,包括关节位置和末端执行器位姿。你可以复制这个脚本到你自己的模型项目空间,并且将其中输出空动作的部分替换为你的模型推理逻辑。当然,直接运行 standalone_tools/client.py 也可以让你验证本身 Benchmark 是否被正确配置。

对于 Server 端,你可以直接运行 ray_eval_server.py 来启动一个服务器,并且直接输入 GenManip Package 的 repo id(也就是符合 GenManip Package 格式的 Huggingface 仓库)来直接自动下载资产并且启动服务器。

  1. 启动服务器并自动下载资产

    Terminal window
    python ray_eval_server.py -cfg GenManipSuite/GenManip-Package-Basic
  2. 运行客户端

    Terminal window
    python standalone_tools/client.py --worker_ids 0 # 让 Server 创建一个 Isaac Sim 测试实例

你应当会看到 Isaac Sim 启动,并且机器人会尝试执行由 standalone_tools/fake_port.py 提供的随机动作。日志文件和可能的视频会被保存到 saved/eval_results 文件夹中。

这说明基本的仿真和通信配置已经正常工作。接下来,你可以尝试运行实际的基线模型,或开发你自己的方法。

GenManip 面对数据合成、制造 Benchmark 以及使用测评提供了不同的流程,这些流程大多数用脚本进行了封装,你只需要了解自己需要的部分,并且按照这个顺序进行执行。

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

即,下载资产,生成数据,渲染数据。

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

即,下载资产,生成测试用例,整理资产并上传 Hugging Face。

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

即,启动服务器,运行客户端,运行测评。