RoboDojo 仿真评测快速开始
产品简介
RoboDojo 是面向机器人操作策略(Manipulation Policy)的仿真评测框架,基于 Isaac Sim 物理仿真环境驱动机器人执行真实操作任务,自动输出成功率、得分与多路相机视频,无需实体机器人即可完成策略评估。
本文档以 FastWAM 作为示例,FastWAM 是 RoboDojo 已集成的策略之一,基于 Wan 系列视频生成基座构建,官方公布 54 配置均分为 3.14。
核心能力
| 能力 | 说明 |
|---|---|
| 54 个标准任务 | 覆盖泛化、记忆、精度、长程、开放五个维度 |
| 42 个策略适配器 | 托管 30 个已训练完成的 checkpoint |
| 自动输出结果 | 每个 episode 输出成绩单 _result.json 与三路相机视频(头部、左/右手腕,640×480@25FPS) |
| C/S 架构 | 推理进程与仿真进程可同机部署,也可分置两台机器 |
典型使用场景
- 评估自研 VLA(视觉-语言-动作)模型在标准任务集上的表现
- 与榜单已收录策略横向对比
- 在无实体机器人条件下验证策略的泛化与长程能力
部署架构
单机部署下,一台开发机同时运行两个进程:
| 推理进程 | 仿真进程 | |
|---|---|---|
| 职责 | 加载 FastWAM 模型,接收观测并返回动作 | 构建仿真场景、驱动机器人、录制视频、计算得分 |
| 启动命令 | rd_server.sh |
rd_client.sh |
| Python 环境 | conda fastwam |
conda RoboDojo |
| 显存占用 | 约 24.3 GB | 约 15 GB(单 episode 峰值) |
两进程通过 127.0.0.1:6000 本机回环通信,无需对外开放端口。同卡运行时单卡显存建议不低于 48 GB。
快速开始
步骤 1:创建开发机
在百舸控制台 → 开发机页面,单击创建实例,推荐配置如下:
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| 单卡显存 | 48 GB(推理与仿真同卡) | 80 GB 及以上 |
| 内存 | 64 GB | 128 GB |
| 云盘 | 150 GiB | 200 GiB |
| 操作系统 | Ubuntu 24.04 x64 | Ubuntu 24.04 x64 |
实例运行后,登录开发机并确认 GPU 可见:
1nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader
步骤 2:下载权重与资产
评测需要三份内容(互不依赖,可并行下载):
| 内容 | 体积 |
|---|---|
| 仿真资产 | 约 38.4 GiB |
| FastWAM checkpoint | 约 11.2 GiB |
| Wan 基座(VAE + T5 + tokenizer) | 约 11.9 GiB |
一条命令备齐全部内容:
1nohup bash /root/workspace/dl_base_bos.sh > /root/rd_dl.log 2>&1 &
2tail -f /root/rd_dl.log
下载完成后日志末尾输出 ALL_READY stages=assets,ckpt,base policy=FastWAM。
步骤 3:启动推理服务
1bash /root/workspace/rd_server.sh
服务就绪后输出:
1CKPT /root/fastwam-ckpt/RoboDojo-sim-arx_x5-joint-0
2STARTED pid=12345 port=6000 log=/root/logs/rd_server.log
3SERVER_READY 0100007F:1770 after 96s
权重加载约需 1~2 分钟。服务启动后保持运行,可服务多次评测。
步骤 4:运行评测
另开终端,执行单任务评测(以叠碗任务为例):
1bash /root/workspace/rd_client.sh stack_bowls 1
评测结束时输出视频路径、成功/失败计数与退出码。
步骤 5:查看结果
结果文件落盘位置:
1eval_result/RoboDojo/<任务名>/FastWAM/arx_x5/<种子及参数>/<时间戳>/
2├── _result.json # 成功率、得分、每个 layout 明细
3├── episode_0000000_cam_head_*.mp4
4├── episode_0000000_cam_left_wrist_*.mp4
5└── episode_0000000_cam_right_wrist_*.mp4
结果验收四项检查(全部通过才算部署成功):
1cd /root/workspace/RoboDojo
2grep -c "CLIENT EXIT=0" /root/logs/rd_client_stack_bowls.log # 预期 1
3grep -ci "[Error]" /root/logs/rd_client_stack_bowls.log # 预期 0
4find eval_result/ -name "*.mp4" | wc -l # 预期 3
5find eval_result/ -name "_result.json" -exec cat {} \;
注意:单个 episode 的
success_rate不代表部署成功与否,验收请依据上述四项产物检查。
批量评测
串行遍历多个任务
1for T in stack_bowls build_tower insert_key; do
2 EVAL_NUM=3 bash /root/workspace/rd_client.sh "$T" || echo "FAILED $T"
3done
4
5# 生成汇总表
6source /root/miniconda3/bin/activate RoboDojo
7cd /root/workspace/RoboDojo && bash scripts/robodojo.sh summarize
多 worker 并行(单机)
使用 smoke_all_tasks.sh 一键铺满多卡,无需手动启动推理服务:
1source /root/miniconda3/bin/activate RoboDojo
2export OMNI_KIT_ACCEPT_EULA=YES
3unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
4cd /root/workspace/RoboDojo
5
6bash scripts/internal/smoke_all_tasks.sh \
7 --policy-dir XPolicyLab/policy/FastWAM --ckpt sim --policy-env fastwam \
8 --action-type joint --eval-num native \
9 --gpu-ids 0,1,2,3 --seed 0 --run-id fastwam_s0 --resume
--gpu-ids 元素个数即 worker 数,同一张卡可重复出现(如 0,0,1,1 表示每卡 2 个 worker)。
全量评测参考指标(8 卡 × 2 worker,54 任务,seed 0):
| 指标 | 实测值 |
|---|---|
| 任务数 | 54/54 全部 PASS |
| 总 episode 数 | 2100 |
| 视频产物 | 6300 个 mp4 |
| 墙钟耗时 | 约 6.87 小时 |
| 等效加速比 | 14.1× |
任务列表
框架提供 54 个可运行任务配置,分属五个维度:
| 维度 | 任务数 | 代表任务 |
|---|---|---|
| 泛化(generalization) | 24(含 random 变体) | stack_bowls(推荐入门)、fold_clothes、hang_mugs |
| 记忆(memory) | 6 | match_and_pick_from_conveyor、imitate_sorting_sequence |
| 精度(precision) | 8 | insert_key、build_tower、fasten_screws |
| 长程(long-horizon) | 8 | fill_egg_holder、organize_table、put_bottles_into_dustbin |
| 开放(open) | 8 | general_pickup、classify_objects_by_language |
查看完整任务列表:
1cd /root/workspace/RoboDojo
2bash scripts/robodojo.sh tasks # 列出全部任务名
3bash scripts/robodojo.sh dimensions # 按维度列出
常见问题
Q:仿真进程长时间无进展、GPU 占用 0%?
检查 /usr/lib/x86_64-linux-gnu/libGLU.so.1 是否存在,缺失时执行:
1unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
2apt-get install -y libglu1-mesa
Q:仿真进程连不上推理服务?
最常见原因是代理变量拦截了本机回环地址,执行以下命令后重试:
1unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
同时确认推理服务仍在运行:bash /root/workspace/rd_server.sh status
Q:--eval-num 未传入,退出码为 2?
该参数为必选项,请传入具体数字,例如 --eval-num 1;全量对榜时使用 native(仅 smoke_all_tasks.sh 支持)。
Q:本地分数比官方低,是部署有问题吗?
先确认对比口径相同。实测 seed 0 全量 sweep(2100 集)54 配置均值为 3.09,官方同口径为 3.14,相差 0.05 分,在统计误差内属于正常。验收标准应依据链路健康度([Error] 计数为 0、mp4 数量正确、_result.json 完整),而非 score 数值。
Q:日志中出现 Invalid PhysX transform 是故障吗?
多数情况不是。框架会自动丢弃不稳定的 layout 并继续运行。只要日志中 Error code 700 计数为 0、产物完整,即属正常。
计费说明
RoboDojo 评测框架本身免费使用,计费项为运行评测所使用的百舸开发机实例,按实例规格与使用时长计费。请在评测结束后及时释放实例以控制成本。
权限说明
使用 RoboDojo 评测框架需具备以下权限:
- 百舸开发机创建权限:在百舸控制台创建并管理开发机实例
- BOS 访问权限:下载评测所需权重与资产(镜像内已预置
bcecmd,无需额外配置)
如遇权限不足,请联系所在团队的百舸管理员申请。
评价此篇文章
