Skip to content

Commit f6d4202

Browse files
author
Suibian-YY-pro
committed
新增EBench教程与公众号宣发材料
1 parent 82072fa commit f6d4202

29 files changed

Lines changed: 528 additions & 1 deletion
Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
# EBench / GenManip 复现记录:从环境配置到最小视频渲染
2+
3+
## 1 概述
4+
5+
EBench 是面向具身操作任务的评估基准,本次复现先不追求完整 benchmark 跑分,而是验证一条最小链路:安装 Isaac Sim 4.1 运行环境,启动 GenManip 的 `Minimal_Banana` 任务,完成规划、轨迹生成、RGB 渲染,并导出可播放视频。
6+
7+
本章记录的是一次 smoke test 级别复现。它能证明仿真、规划和渲染链路已经打通,但不代表完整 EBench 评测已经完成。
8+
9+
## 2 本次验证环境
10+
11+
远端机器使用 Ubuntu 22.04,GPU 为 RTX 4090。环境实际安装在数据盘,避免把大体积 Python 包和 Isaac 缓存写到共享盘。
12+
13+
| 项目 | 本次使用 |
14+
| --- | --- |
15+
| Python | 3.10 |
16+
| Isaac Sim | 4.1.0.0 |
17+
| NumPy | 1.26.4 |
18+
| PyTorch | 2.4.0+cu121 |
19+
| cuRobo | v0.7.8 |
20+
| 任务入口 | `GenManip/configs/tasks/minimal.yml` |
21+
| 输出任务 | `Minimal_Banana` |
22+
23+
关键结论是:如果只是跑 EBench/GenManip 的最小 smoke test,一张 24GB 显存的卡就足够。完整数据生成、批量评测或大模型 policy 部署会额外占用显存和存储,需要按任务规模重新估算。
24+
25+
## 3 环境配置要点
26+
27+
工作目录如下:
28+
29+
```bash
30+
/root/gpufree-share/ebench_repro/GenManip
31+
```
32+
33+
Python 环境放在数据盘:
34+
35+
```bash
36+
/root/gpufree-data/ebench_repro/venv_ebench
37+
```
38+
39+
基础依赖安装完成后,需要显式接受 Omniverse EULA,否则首次启动 Isaac Sim 会卡在交互提示:
40+
41+
```bash
42+
export OMNI_KIT_ACCEPT_EULA=YES
43+
export HF_HOME=/root/gpufree-data/hf_home
44+
export TMPDIR=/root/gpufree-data/tmp
45+
```
46+
47+
Isaac Sim 4.1 的 PyPI 包要求 Python 3.10。若使用 Python 3.11,会出现类似下面的版本不匹配:
48+
49+
```text
50+
isaacsim 4.1.0.0 Requires-Python ==3.10.*
51+
```
52+
53+
cuRobo 需要固定到旧版 API。GenManip 代码会导入:
54+
55+
```python
56+
from curobo.geom.sdf.world import CollisionCheckerType
57+
```
58+
59+
当前 cuRobo 主分支已经调整了包结构,因此本次固定为:
60+
61+
```bash
62+
cd saved/envs/curobo
63+
git checkout v0.7.8
64+
pip install -e . --no-build-isolation
65+
```
66+
67+
## 4 运行最小任务
68+
69+
进入 GenManip 根目录并激活环境:
70+
71+
```bash
72+
cd /root/gpufree-share/ebench_repro/GenManip
73+
source /root/gpufree-data/ebench_repro/venv_ebench/bin/activate
74+
export OMNI_KIT_ACCEPT_EULA=YES
75+
export HF_HOME=/root/gpufree-data/hf_home
76+
export TMPDIR=/root/gpufree-data/tmp
77+
```
78+
79+
先跑最小规划任务:
80+
81+
```bash
82+
python demogen.py \
83+
--config configs/tasks/minimal.yml \
84+
--record minimal_planning
85+
```
86+
87+
本次生成了 10 条 `Minimal_Banana` trajectory。单条 trajectory 目录中包含 `lmdb/data.mdb``info.json``meta_info.pkl` 等文件。
88+
89+
## 5 渲染视频
90+
91+
默认相机配置会开启 depth、semantic segmentation、2D/3D bbox 和 motion vector。该配置在本次 Isaac Sim 4.1 + 双 4090 环境中触发过 CUDA/Hydra 渲染错误:
92+
93+
```text
94+
CUDA error 700: an illegal memory access was encountered
95+
HydraEngine::render failed
96+
Rendering failed
97+
```
98+
99+
为了完成 smoke test,本次使用 RGB-only 渲染配置,并显式关闭 Isaac 多 GPU:
100+
101+
```python
102+
simulation_app = SimulationApp(
103+
{
104+
"headless": True,
105+
"active_gpu": 0,
106+
"physics_gpu": 0,
107+
"multi_gpu": False,
108+
"max_gpu_count": 1,
109+
}
110+
)
111+
```
112+
113+
相机配置中关闭非 RGB annotator:
114+
115+
```yaml
116+
with_distance: false
117+
with_semantic: false
118+
with_bbox2d: false
119+
with_bbox3d: false
120+
with_motion_vector: false
121+
```
122+
123+
完整渲染命令:
124+
125+
```bash
126+
python render_single_gpu.py \
127+
--config configs/tasks/minimal_rgb_only.yml \
128+
--without_depth \
129+
--record rgb_only_single_gpu_full
130+
```
131+
132+
本次渲染结果为 316 帧 RGB,随后从 LMDB 解码成 MP4。三路相机视频如下。
133+
134+
<video controls muted preload="metadata" width="100%">
135+
<source src="assets/ebench/ebench_minimal_banana_obs_camera.mp4" type="video/mp4">
136+
</video>
137+
138+
<video controls muted preload="metadata" width="100%">
139+
<source src="assets/ebench/ebench_minimal_banana_obs_camera_2.mp4" type="video/mp4">
140+
</video>
141+
142+
<video controls muted preload="metadata" width="100%">
143+
<source src="assets/ebench/ebench_minimal_banana_realsense.mp4" type="video/mp4">
144+
</video>
145+
146+
渲染时同步保存了一张俯视图:
147+
148+
<p align="center">
149+
<img src="./assets/ebench/ebench_minimal_banana_overhead.jpg" width="80%" />
150+
<br>
151+
<b>图1:Minimal_Banana 渲染俯视图</b>
152+
</p>
153+
154+
## 6 已验证结果
155+
156+
本次 smoke test 已完成以下检查:
157+
158+
- Isaac Sim 4.1 可以在远端环境中启动。
159+
- GenManip `Minimal_Banana` 任务可以完成 cuRobo 规划。
160+
- 轨迹数据成功写入 LMDB。
161+
- RGB-only 渲染可生成 316 帧图像。
162+
- 三路相机视频均已导出为 MP4,分辨率为 640×480,帧率为 30 FPS。
163+
164+
## 7 常见问题
165+
166+
### 7.1 EULA 输入卡住
167+
168+
设置环境变量:
169+
170+
```bash
171+
export OMNI_KIT_ACCEPT_EULA=YES
172+
```
173+
174+
### 7.2 找不到 `curobo.geom`
175+
176+
使用 cuRobo `v0.7.8`,不要直接使用当前主分支。
177+
178+
### 7.3 默认渲染出现 CUDA/Hydra 错误
179+
180+
先关闭多 GPU,并把相机配置改成 RGB-only。对于 smoke test,先保证视频链路跑通;如果要完整导出语义分割、bbox、depth,再单独排查 Isaac 版本、驱动、Vulkan/CUDA interop 和 Replicator 配置。
181+
182+
### 7.4 只跑 `--without_planning` 后无法渲染完整视频
183+
184+
`--without_planning` 只适合验证场景加载和保存最小轨迹信息。`render.py` 需要规划结果,因此要生成动作视频,应先跑不带 `--without_planning``demogen.py`
185+
186+
## 8 小结
187+
188+
这次复现已经打通了 EBench/GenManip 的最小闭环:环境安装、最小任务规划、RGB 渲染和视频导出。后续如果要做正式 benchmark,需要补齐完整 EBench assets、选择 baseline policy,并按官方任务集批量运行评测。
Binary file not shown.
45.3 KB
Loading
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@
3939
| Task01:具身智能基础与机器人控制,具身智能概述与发展,PID控制算法实现,机器人运动学基础,**具身导航初步(视频教程)** 对应:热门内容:春晚机器人复刻/every-embodied/blob/main/07-机器人操作、运动控制/Locomotion/01春晚舞蹈机器人复刻.md视频教程:http://xhslink.com/o/1lB9dX0Vt2t 课程01-具身智能概述:该章节涵盖了具身智能概述与发展”。 [/datawhalechina/every-embodied/blob/main/01-具身智能概述/01具身智能概述.md](https://github.com/datawhalechina/ai-hardware-robotics/tree/main/01-具身智能概述)课程02-机器人基础和控制、手眼协调:该章节涵盖了“机器人基础”(运动学)和“控制”(PID算法)。/datawhalechina/every-embodied/blob/main/02-机器人基础和控制、手眼协调/01机器人空间描述与坐标变换.md/datawhalechina/every-embodied/blob/main/02-机器人基础和控制、手眼协调/补充代码教程_Cartpole三种控制算法实战/cartpole建模与控制.md**具身导航基础**(**优先完成作业**):/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_lab环境搭建及配置.md/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_sim基础实践.md/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_lab基础.md**视频教程:**http://xhslink.com/o/4FGHWn2YICu | 4 天 | 截止时间 04月17日03:00 | | |
4040
| **Task02:通识基础收束:视觉感知、仿真环境与训练范式入门**<br><br>Task01 已经完成具身智能概述、机器人基础控制和导航初步。本阶段继续补齐共通能力,重点理解视觉感知、深度/3D 信息、强化学习、仿真平台和具身任务训练范式,为后续分支学习做准备。<br><br>**课程04-具身场景的计算机视觉、3D重建:**该章节涵盖机器人视觉、深度估计、SAM 和抓取注意力等基础内容。<br>[SAM和深度估计](https://github.com/datawhalechina/every-embodied/blob/main/04-具身场景的计算机视觉、3D重建/01-sam和深度估计.md)<br>[抓取注意力热图](https://github.com/datawhalechina/every-embodied/blob/main/04-具身场景的计算机视觉、3D重建/02-抓取注意力热图.md)<br><br>**课程05-具身场景的深度和强化学习:**该章节涵盖强化学习与具身决策入门。<br>[多机器人搬运家具强化学习](https://github.com/datawhalechina/every-embodied/blob/main/05-具身场景的深度和强化学习/01多机器人搬运家具强化学习.md)<br><br>**仿真工具二选一:**<br>[ManiSkill环境仿真配置](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/02Maniskill环境仿真配置.md)<br>[GenieSim配置](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/07GenieSim配置.md)<br>**GenieSim视频教程:**http://xhslink.com/o/2tybo79bOsk<br><br>**建议打卡:**说明感知、训练、仿真三者在具身任务中的关系;或跑通一个视觉/仿真/强化学习示例。 | 4 天 | 截止时间 04月21日03:00 | | |
4141
| **Task03:分支入门:按兴趣选择 1 条主分支,跑通第一个方向性任务**<br><br>完成 Task01 和 Task02 后,开始按兴趣分流。建议每位同学优先选择 1 条主分支,不建议同时追多个方向。<br><br>**分支A:操作模型与世界模型**<br>适合喜欢机械臂操作、抓取、模仿学习、VLA、ACT、Pi0、SmolVLA、OpenVLA 和世界模型的同学。操作模型关注“机器人如何根据视觉和语言产生动作”,世界模型关注“系统如何理解、预测和规划环境变化”,两者都服务于机器人操作能力。<br>[SmolVLA-LIBERO](https://github.com/datawhalechina/every-embodied/blob/main/06-策略抓取或抓取VLA/大模型控制、VLA、VLM/01SmolVLA-LIBERO/01SmolVLA-libero.md)<br>[OpenVLA复现](https://github.com/datawhalechina/every-embodied/blob/main/06-策略抓取或抓取VLA/大模型控制、VLA、VLM/02OpenVLA复现/02openvla复现.md)<br>[MuJoCo复现ACT、Pi0、SmolVLA](https://github.com/datawhalechina/every-embodied/blob/main/06-策略抓取或抓取VLA/大模型控制、VLA、VLM/04mujoco复现ACT、Pi0、SmolVLA/README.md)<br>**MuJoCo抓取实验视频教程:**https://www.bilibili.com/video/BV1WhxeznE61/<br>**ACT、Pi0数据采集和算法实操视频教程:**http://xhslink.com/o/8lsptSLOlex<br>[LIBERO benchmark](https://github.com/datawhalechina/every-embodied/blob/main/09-具身智能数据及评估基准benchmark/01-libero.md)<br>[LeWorldModel分析解读与实验复现](https://github.com/datawhalechina/every-embodied/blob/main/17-具身世界模型/Leworldmodel分析解读与实验复现/Leworldmodel分析解读与实验复现.md)<br><br>**分支B:导航模型与无人机导航**<br>适合喜欢导航、VLN、场景理解、空间定位、路径规划、无人机导航和空中视角多模态任务的同学。无人机相关内容放在导航模型这一类,因为它的核心也是“在环境中理解目标、规划路径并执行移动”。<br>[具身导航算法基本介绍](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/01快速入门导航算法详解及实战/具身导航算法基本介绍.md)<br>[Habitat Lab环境搭建及配置](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_lab环境搭建及配置.md)<br>[Habitat Sim基础实践](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_sim基础实践.md)<br>**Habitat导航视频教程:**http://xhslink.com/o/4FGHWn2YICu<br>[无人机多模态大模型实践](https://github.com/datawhalechina/every-embodied/blob/main/13-其他前沿项目复现/无人机大模型%2BGroundingdino实践/无人机多模态大模型.md)<br>对应仿真器下载链接(windows):https://huggingface.co/datasets/Datawhale/house_win<br><br>**分支C:应用实践与系统部署**<br>适合希望做仿真工具、开发板、真实机械臂、遥操作和系统集成的同学。<br>[RDK-X5超新手入门教程](https://github.com/datawhalechina/every-embodied/blob/main/03-机器人硬件、lerobot及地瓜RDK-X5开发板控制教程/01RDKX5超新手入门教程.md)<br>[RDK-X5连接LeRobot机械臂进行遥操作](https://github.com/datawhalechina/every-embodied/blob/main/03-机器人硬件、lerobot及地瓜RDK-X5开发板控制教程/03RDK-X5连接lerobot机械臂进行遥操作.md)<br><br>**建议打卡:**选择一个主分支,说明选择原因,并跑通该方向的第一个 demo 或环境。 | 4 天 | 截止时间 04月25日03:00 | | |
42-
| **Task04:分支深入:继续沿 Task03 所选方向深入**<br><br>这一阶段不建议频繁切换方向,重点是在同一方向完成一次更完整的复现、训练、部署、对比分析或踩坑总结。<br><br>**操作模型与世界模型方向:**可继续学习 RT 系列、ACT/Pi0/SmolVLA 训练部署、LIBERO benchmark 或 LeWorldModel 世界模型专题。<br>[RT系列论文解读与代码分析](https://github.com/datawhalechina/every-embodied/blob/main/06-策略抓取或抓取VLA/大模型控制、VLA、VLM/03RT系列论文解读与代码分析/01RT系列论文解读与代码分析.md)<br>[LeWorldModel分析解读与实验复现](https://github.com/datawhalechina/every-embodied/blob/main/17-具身世界模型/Leworldmodel分析解读与实验复现/Leworldmodel分析解读与实验复现.md)<br>**MuJoCo抓取实验视频教程:**https://www.bilibili.com/video/BV1WhxeznE61/<br>**ACT、Pi0数据采集和算法实操视频教程:**http://xhslink.com/o/8lsptSLOlex<br><br>**导航模型与无人机导航方向:**可继续完成 Habitat 基础实践、综合导航实践、ETPNav 前沿复现或无人机多模态实践。<br>[Habitat Lab基础实践](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_lab基础实践.md)<br>[具身导航综合入门实践](https://github.com/datawhalechina/every-embodied/blob/main/13-其他前沿项目复现/具身导航综合入门实践/具身导航综合入门实践.md)<br>[ETPNav代码复现](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/03前沿VLN复现/01VLNCE/02ETPNav代码复现.md)<br>**ETPNav前沿VLN导航算法复现视频教程:**http://xhslink.com/o/8t08X6dROt5<br>[无人机多模态大模型实践](https://github.com/datawhalechina/every-embodied/blob/main/13-其他前沿项目复现/无人机大模型%2BGroundingdino实践/无人机多模态大模型.md)<br><br>**应用实践与系统部署方向:**可继续深入 ManiSkill、GenieSim、RDK-X5、LeRobot 遥操作或真实系统集成。<br>[ManiSkill环境仿真配置](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/02Maniskill环境仿真配置.md)<br>[GenieSim配置](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/07GenieSim配置.md)<br>**GenieSim视频教程:**http://xhslink.com/o/2tybo79bOsk<br>[RDK-X5连接LeRobot机械臂进行遥操作](https://github.com/datawhalechina/every-embodied/blob/main/03-机器人硬件、lerobot及地瓜RDK-X5开发板控制教程/03RDK-X5连接lerobot机械臂进行遥操作.md)<br><br>**建议打卡:**在同一方向完成一次更完整的复现、训练、部署、对比分析或踩坑总结。 | 4 天 | 截止时间 04月29日03:00 | | |
42+
| **Task04:分支深入:沿 Task03 方向补充新内容,形成一次可复现成果**<br><br>Task03 已经开始,因此本阶段不再调整 Task03 的学习要求。Task04 不重复 Task03 的入门链接,只提供进一步深入或新增补充内容。学习者继续沿 Task03 已选择的主分支推进,把产出从“跑通第一个 demo 或环境”升级为“可复现成果”:可以选择训练、评估、参数对比、部署链路、数据生成、失败分析或论文/代码深读中的一种,打卡内容需要包含过程、结果和结论。<br><br>**操作模型与世界模型方向:**适合已经在 Task03 接触 SmolVLA、OpenVLA、MuJoCo、LIBERO 或 LeWorldModel 的同学继续深入。Task04 建议转向更系统的模型理解、数据生成或新平台复现,避免重复提交同一个 demo。<br>[RT系列论文解读与代码分析](https://github.com/datawhalechina/every-embodied/blob/main/06-策略抓取或抓取VLA/大模型控制、VLA、VLM/03RT系列论文解读与代码分析/01RT系列论文解读与代码分析.md)<br>[SIM1柔体仿真与数据生成](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/09SIM1柔体仿真与数据生成/01SIM1环境配置与运行.md)<br>[Isaac GR00T入门与微调](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/Isaac-GR00T/README.md)<br><br>**导航模型与无人机导航方向:**适合已经在 Task03 跑过 Habitat 基础环境、导航算法入门或无人机 demo 的同学继续深入。Task04 建议转向更完整的导航任务复现、轨迹结果分析、成功/失败案例整理,或说明 VLN/导航模型如何把语言目标转成路径决策。<br>[Habitat Lab基础实践](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/02仿真环境基础/habitat导航环境/habitat_lab基础实践.md)<br>[具身导航综合入门实践](https://github.com/datawhalechina/every-embodied/blob/main/13-其他前沿项目复现/具身导航综合入门实践/具身导航综合入门实践.md)<br>[ETPNav代码复现](https://github.com/datawhalechina/every-embodied/blob/main/08-具身导航及VLN/03前沿VLN复现/01VLNCE/02ETPNav代码复现.md)<br>**ETPNav前沿VLN导航算法复现视频教程:**http://xhslink.com/o/8t08X6dROt5<br><br>**应用实践与系统部署方向:**适合已经在 Task03 接触 RDK-X5、LeRobot、仿真工具或真实系统链路的同学继续深入。Task04 建议选择新的数据合成、仿真数据生成或系统部署内容,重点输出可复现步骤、验证结果和踩坑记录。<br>[InternDataEngine小空间功能体验教程](https://github.com/datawhalechina/every-embodied/blob/main/16-专题组队学习/03-地瓜机器人新版教程桌宠/docs_artifacts/InternDataEngine_小空间功能体验教程.md)<br>[SIM1柔体仿真与数据生成](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/09SIM1柔体仿真与数据生成/01SIM1环境配置与运行.md)<br>[Isaac GR00T入门与微调](https://github.com/datawhalechina/every-embodied/blob/main/10-具身智能其他仿真工具及仿真前沿/Isaac-GR00T/README.md)<br><br>**建议打卡:**提交“同一分支深入成果”。内容包括 Task03 的延续关系、选择的补充内容或深入教程、复现/训练/部署/数据生成步骤、关键结果截图或指标、遇到的问题与解决方法,以及对该方向后续可以继续深入的判断。 | 4 天 | 截止时间 04月29日03:00 | | |
4343
| **Task05:成果整理与交叉分享**<br><br>最后阶段不建议再开新坑,而是把前面完成的通识学习和分支实践整理成可复用成果。可提交复现报告、演示视频、动图、环境搭建记录、方向综述、论文/代码解读、踩坑总结等。<br><br>**操作模型与世界模型方向:**可整理 ACT、Pi0、SmolVLA、OpenVLA、RT 系列、LIBERO 或 LeWorldModel 学习报告。<br><br>**导航模型与无人机导航方向:**可整理 Habitat、VLN、ETPNav、无人机导航或无人机多模态实践复现报告。<br><br>**应用实践与系统部署方向:**可整理 ManiSkill、GenieSim、RDK-X5、LeRobot 遥操作、真实系统部署或多模态 demo 的环境配置和踩坑总结。<br><br>**建议打卡:**提交一份最终成果,说明你选择的分支、完成的任务、遇到的问题、解决方法和后续可以继续深入的方向。 | 4 天 | 截止时间 05月03日03:00 | | |

0 commit comments

Comments
 (0)