本篇内容基于我在 AutoDL 云服务器 上对 Qmini 做完整训练与测试的实践总结,涵盖训练、可视化、策略测试、模型导出、URDF 调试等环节,并重点说明 headless(无显示)环境下的各种坑与解决方案。希望能帮到后来者少走弯路。
前提说明:为什么不建议在云端直接跑渲染?
我最开始的目标是:训练、渲染、视频录制全部在 AutoDL 上完成,不经过本地运行。
然而现实是:
- 即使用 Xvfb 等虚拟显示器启动 Isaac Gym,也会发生视频保存全黑的情况。
- VNC 远程桌面也无法正常显示 Isaac Gym 的渲染窗口。
- 根本原因来自 驱动版本过高与 Isaac Gym 对驱动的强依赖。
因此更推荐:在云服务器训练模型 → 本地 Ubuntu 加载策略进行测试与演示。
可以在云服务器中进行训练然后在本地进行测试,这是我目前发现的比较好的方式,本地使用的是ubuntu系统,最后算是可以正常演示。当前的问题都是基于我完全使用autodl上进行的尝试,希望可以对大家有所帮助,少踩坑。
训练阶段
python train.py --config BIRL --name <name>
--name
存放路径
experiments/<name>/--config
选择配置文件,默认:BIRL
--resume
恢复训练
eg:
python train.py --name stand --resume --path experiments/stand/checkpoints/policy_40000.pt--render
开启画面显示(isaac gym窗口)
--fix_cam
视角固定在机器人上方
--horovod
多gpu训练
--r l_device
训练设备设置
默认cudo0,可以改为cpu等
--num_envs
环境数量
--seed
随机种子,利于复现
--max_iterations
最大训练迭代次数
查看结果
云端可能出现 6006 端口占用 的情况,需要手动释放。
1. 安装 lsof
apt-get update
apt-get install lsof -y
2. 查看端口占用
lsof -i :6006
3. 杀掉进程
kill -9 <PID>
4. 重新启动 TensorBoard
tensorboard --logdir experiments/<name>/log --port 6006
运行训练好的策略 play.py
python play.py --render --name <name> 加载训练好的策略,开始跑模拟器
--render 显示画面
--fix_cam 相机固定跟随机器人
--cmp_real 与真实机器人采集的数据对比绘图
--plt_sim 显示仿真数据的曲线图(如关节角、速度等)
--num_envs 改变并行环境数量
--video 开启视频录制,保存到
videos/文件夹,必须配合--render--time 玩多少秒
--iter 指定用哪一轮的模型,默认加载目录下最后一个 policy
--epochs 重复评估多少次,用来统计平均性能
--debug 保存仿真数据到 Excel
导出ONNX模型
python export_pt2onnx.py --name <name>
把 .pt 权重导出为 .onnx,便于部署到嵌入式设备、Jetson、Unity 等。
加载(调试)urdf模型
python tune_urdf.py
测试你的机器人 URDF 是否正常加载,检查质量参数、碰撞体、关节限位,也可微调模型参数
自动调参PID(tun_pid.py)
python tune_pid.py --mode <mode>
--model
sin 发送正弦信号测试电机响应 real 上传真实机器人数据进行比较 reset 恢复初始值,不进行测试
错误
Headless 环境无法渲染
云服务器默认无显示设备。
临时方案:使用虚拟显示:Xvfb(首先进行pip下载)
python
Xvfb :1 -screen 0 1024x768x24 & #启动 X Server
export DISPLAY=:1 #设置环境变量
注意:但这只能让程序"以为"自己有显示,无法保证正常渲染!
使用autodl远程连接,play.py 视频录制仍为黑屏

原因分析:原因:云端 GPU 驱动版本过高(如 570 系列),超过了 Isaac Gym 的兼容范围。
Isaac Gym 对渲染器依赖的驱动版本非常敏感,驱动过新 → 渲染器初始化失败 → 视频录制为纯黑。
目前找到比较好的方案是:云端只做训练,本地 Ubuntu 运行 play.py。
最后的最后再次说明,目前我认为比较稳妥、推荐的流程是:云端训练(AutoDL)→ 本地 Ubuntu Play 与可视化。云端的 headless 环境与高版本驱动目前无法可靠支持 Isaac Gym 的图形渲染与视频录制,本地则能完美解决所有渲染相关问题。
如有不对,希望各位大佬可以积极指出,谢谢各位。

