从零部署GenieSim:基于OpenPI的仿真环境搭建与录制教程

手把手教你配置服务端、连接客户端、运行仿真并录制结果

最近在捣鼓GenieSim这个仿真环境,踩了不少坑,也总结了一些经验。今天就把完整的部署流程分享出来,希望能帮到同样在折腾的小伙伴。

一、环境概览

  • 服务端:运行OpenPI策略服务,提供决策接口

  • 客户端:GenieSim仿真器,执行策略输出的动作

  • 录制工具:自动将仿真过程保存为MP4视频

二、服务端部署(OpenPI)

2.1 启动策略服务

进入OpenPI目录:

bash 复制代码
cd /root/openpi

推荐使用python启动 (不要用uv run,否则会重新创建虚拟环境,浪费空间和时间):

bash 复制代码
XLA_PYTHON_CLIENT_MEM_FRACTION=0.7 python scripts/serve_policy.py \
    --host='0.0.0.0' \
    --port=8999 \
    policy:checkpoint \
    --policy.config=organize_items \
    --policy.dir ./checkpoints/organize_items/29999

⚠️ 重要提示

  • 模型文件默认下载到 ~/.cache/openpi千万不要删除该目录!重新下载极其耗时。

  • 启动成功后,终端会显示类似 INFO: Started server process [xxx] 的日志,并带有IP信息(如 100.88.33.251),记下这个IP。

2.2 常见问题修复

如果遇到av版本报错,根据lerobot的依赖要求,将pyav改为正确版本(新版镜像已修复,若使用旧镜像需手动改pyproject.toml)。

三、客户端配置(GenieSim)

3.1 SSH端口转发

在客户端机器上执行(将服务端的8999端口映射到本地):

bash 复制代码
ssh -CNg -L 8999:127.0.0.1:8999 root@<服务端IP>
# 示例:ssh -CNg -L 8999:127.0.0.1:8999 root@100.88.33.251

输入密码后保持连接。

验证转发是否成功:

bash 复制代码
python -c "import socket; s=socket.socket(); s.connect(('localhost', 8999)); print('OK')"

输出OK表示端口连通。

3.2 下载资产文件

注:社区提供的镜像已预先配置好资产,一般无需额外操作。

如需手动下载,请将资源放到:

bash 复制代码
/root/genie_sim/source/geniesim/assets

资源地址:GenieSimAssets on ModelScope

3.3 设置环境变量

社区镜像已在.bashrc中配置好,如需手动设置:

bash 复制代码
export SIM_REPO_ROOT=/root/genie_sim
export BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
export API_KEY="sk-xxxx"          # 替换为你的key
export MODEL="qwen3-max"
export VL_MODEL="qwen3-vl-plus"
export SIM_ASSETS=$SIM_REPO_ROOT/source/geniesim/assets

3.4 启动仿真器

进入GenieSim目录:

bash 复制代码
cd /root/genie_sim

使用以下任一命令启动(推荐omni_python):

bash 复制代码
omni_python source/geniesim/app/app.py --config source/geniesim/config/organize_items.yaml

bash 复制代码
/isaac-sim/python.sh source/geniesim/app/app.py --config source/geniesim/config/organize_items.yaml

稍等片刻,就会看到仿真窗口开始执行动作。

仿真窗口执行片段

四、录制仿真结果

4.1 替换录制脚本

将教程提供的auto_record_and_extract.py复制到:

bash 复制代码
/root/genie_sim/scripts/auto_record_and_extract.py

修改启动脚本/root/genie_sim/scripts/start_auto_record.sh中的相关配置(路径、参数等)。

建议先备份再修改。

4.2 启动录制模式

使用录制专用的配置文件:

bash 复制代码
cd /root/genie_sim
omni_python source/geniesim/app/app.py --config source/geniesim/config/organize_items_record.yaml

当终端出现类似"仿真频率"的稳定输出后,新开一个终端执行:

bash 复制代码
cd /root/genie_sim
bash scripts/start_auto_record.sh

4.3 获取录制的视频

仿真结束后,录制的.mcap文件会自动解析并保存为.mp4。文件位置示例:

bash 复制代码
/root/genie_sim/output/recording_data/recording_data/place_object_into_box_color/recording_20260204_121814/recording_20260204_121814_0.mcap

如果已有.mcap文件,可直接解析:

bash 复制代码
cd /root/genie_sim
python3 scripts/auto_record_and_extract.py \
  --bag_path "/root/genie_sim/output/recording_data/.../recording_20260204_141040"

最后没截上图,没算力时间了,^^!

五、常见问题备忘

问题 解决方法
uv run创建新虚拟环境 改用python直接运行
~/.cache/openpi被误删 不要删除!重下极慢
av版本报错 改为pyav或使用新版镜像
端口转发失败 检查服务端IP和防火墙,确保8999端口开放
仿真器无法启动 确认资产路径和环境变量已正确设置

六、总结

整套流程下来,核心就是三步:

  1. 服务端跑起OpenPI策略

  2. 客户端通过SSH隧道连接

  3. 仿真器加载配置并录制

虽然细节不少,但只要按步骤来,都能顺利跑通。录制出来的视频可以直接用于演示或分析,非常实用。

如果你也在研究具身智能仿真,欢迎一起交流讨论~

来源处:

https://github.com/datawhalechina/every-embodied/blob/main/10-%E5%85%B7%E8%BA%AB%E6%99%BA%E8%83%BD%E5%85%B6%E4%BB%96%E4%BB%BF%E7%9C%9F%E5%B7%A5%E5%85%B7%E5%8F%8A%E4%BB%BF%E7%9C%9F%E5%89%8D%E6%B2%BF/07GenieSim%E9%85%8D%E7%BD%AE.mdhttps://github.com/datawhalechina/every-embodied/blob/main/10-%E5%85%B7%E8%BA%AB%E6%99%BA%E8%83%BD%E5%85%B6%E4%BB%96%E4%BB%BF%E7%9C%9F%E5%B7%A5%E5%85%B7%E5%8F%8A%E4%BB%BF%E7%9C%9F%E5%89%8D%E6%B2%BF/07GenieSim%E9%85%8D%E7%BD%AE.mdhttps://www.datawhale.cn/learn/content/258/6172?from=homepagehttps://www.datawhale.cn/learn/content/258/6172?from=homepage详细请关注 Datawhale 开源社区。

相关推荐
Mocode3 分钟前
【2026】Datawhale X AMD · Hello ROCm - Part1 - 配置云环境&部署大模型
datawhale·amdev
必胜刻7 分钟前
Go项目实战:使用Ollama本地部署大模型实现AI智能笔记生成
人工智能·笔记·ai·语言模型·golang
星恒随风10 分钟前
C++ 内存管理详解:从内存分区、malloc/free 到 new/delete
开发语言·c++·笔记·学习
江屿风11 分钟前
C++图论基础拓扑排序经典OJ题流食般投喂
开发语言·c++·笔记·算法·图论
heart_666217 分钟前
AMD平台实战:ModelScope 一键微调 Gemma 4 情绪分类实战
大数据·人工智能·datawhale·amdev
Agilex松灵机器人25 分钟前
万小时数据落地!松灵机器人构建具身智能数据新基建
大数据·人工智能·机器人·具身智能·松灵机器人
searchforAI26 分钟前
坚持用AI做笔记,我的知识留存与学习速度大幅提升
人工智能·笔记·学习·ai·知识图谱·知识管理
机器人零零壹27 分钟前
访越擎科技机器人离线编程软件iRobotCAM创始人:具身智能爆发前夕,我如何参与?
具身智能·机器人仿真·并联机器人·机器人离线编程·关节设计
AOwhisky9 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
问心无愧05139 小时前
ctf show web入门160 161
前端·笔记