跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

宇树 Qmini 双足机器人训练经验总结

> RoboTamer4Qmini 本篇内容基于我在 **AutoDL 云服务器** 上对 Qmini 做完整训练与测试的实践总结,涵盖训练、可视化、策略测试、模型导出、URDF 调试等环节,并重点说明 **headless(无显示)环境下的各种坑与解决方案**。 前提说明:为什么不建议在云端直接跑渲染? 最初的目标是训练、渲染、视频录制全部在 AutoDL 上完成,不经过本地运行。然而现实是:…

云朵棉花糖发布于 2026/4/6更新于 2026/5/2173K 浏览
宇树 Qmini 双足机器人训练经验总结

RoboTamer4Qmini

本篇内容基于我在 AutoDL 云服务器 上对 Qmini 做完整训练与测试的实践总结,涵盖训练、可视化、策略测试、模型导出、URDF 调试等环节,并重点说明 headless(无显示)环境下的各种坑与解决方案。

前提说明:为什么不建议在云端直接跑渲染?

最初的目标是训练、渲染、视频录制全部在 AutoDL 上完成,不经过本地运行。然而现实是:

  • 即使用 Xvfb 等虚拟显示器启动 Isaac Gym,也会发生视频保存全黑的情况。
  • VNC 远程桌面也无法正常显示 Isaac Gym 的渲染窗口。
  • 根本原因来自 驱动版本过高与 Isaac Gym 对驱动的强依赖。

因此更推荐:在云服务器训练模型 → 本地 Ubuntu 加载策略进行测试与演示。

训练阶段
python train.py --config BIRL --name <name>
  • --name: 存放路径 experiments/<name>/
  • --config: 选择配置文件,默认:BIRL
  • --resume: 恢复训练
    • 示例:python train.py --name stand --resume --path experiments/stand/checkpoints/policy_40000.pt
  • --render: 开启画面显示(isaac gym 窗口)
  • --fix_cam: 视角固定在机器人上方
  • --horovod: 多 gpu 训练
  • --rl_device: 训练设备设置,默认 cuda0,可以改为 cpu 等
  • --num_envs: 环境数量
  • --seed: 随机种子,利于复现
  • --max_iterations: 最大训练迭代次数
查看结果

云端可能出现 6006 端口占用 的情况,需要手动释放。

  1. 安装 lsof
apt-get update
apt-get install lsof -y
  1. 查看端口占用
lsof -i :6006
  1. 杀掉进程
kill -9 <PID>
  1. 重新启动 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(tune_pid.py)
python tune_pid.py --mode <mode>
错误处理
Headless 环境无法渲染

云服务器默认无显示设备。

临时方案:使用虚拟显示:Xvfb(首先进行 pip 下载)

Xvfb :1 -screen 0 1024x768x24 &
export DISPLAY=:1

注意:但这只能让程序'以为'自己有显示,无法保证正常渲染!

使用 AutoDL 远程连接,play.py 视频录制仍为黑屏

image-20251121211032490

原因分析:云端 GPU 驱动版本过高(如 570 系列),超过了 Isaac Gym 的兼容范围。

Isaac Gym 对渲染器依赖的驱动版本非常敏感,驱动过新 → 渲染器初始化失败 → 视频录制为纯黑。

目前找到比较好的方案是:云端只做训练,本地 Ubuntu 运行 play.py。

总结:目前我认为比较稳妥、推荐的流程是:云端训练(AutoDL)→ 本地 Ubuntu Play 与可视化。云端的 headless 环境与高版本驱动目前无法可靠支持 Isaac Gym 的图形渲染与视频录制,本地则能完美解决所有渲染相关问题。

目录

  1. 前提说明:为什么不建议在云端直接跑渲染?
  2. 训练阶段
  3. 查看结果
  4. 运行训练好的策略 play.py
  5. 导出 ONNX 模型
  6. 加载(调试)URDF 模型
  7. 自动调参 PID(tune_pid.py)
  8. 错误处理
  9. Headless 环境无法渲染
  10. 使用 AutoDL 远程连接,play.py 视频录制仍为黑屏
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • WebStorm 安装与首次配置指南
  • NWPU VHR-10 遥感目标检测数据集使用指南与训练示例
  • Nginx 高可用方案:基于 Keepalived 的双机热备实战
  • 多模态大模型 Llama 3.2 正式发布,支持视觉推理与边缘部署
  • 深度解析Python.NET:C#调用Python函数的5个关键陷阱
  • Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测
  • AI Agent 基础架构与核心组件详解
  • Stable Diffusion AI 绘画入门与使用指南
  • VSCode Copilot 无法连接网络问题的解决方法
  • C++ 继承详解:面向对象代码复用的核心机制
  • Python 属性描述符:原理剖析与 ORM 实战
  • CTFshow Web 入门篇:web12 至 web20 解题思路
  • 无人机 CAAC 执照及电力巡检在线模拟训练系统解析
  • C/C++依赖管理:Conan 深度解析与实战
  • C++ 动态规划:第 N 个泰波那契数与三步问题
  • 大模型浪潮:是泡沫还是技术革命?
  • K8s 集群外通过路由直连 Pod 实战
  • LeetCode 链表专题:分割、相交及环形链表 C++ 解法
  • Java Lambda 和匿名内部类为何不能修改外部变量?final 与等效 final 解析
  • Docker 安装与配置 Neo4j 教程

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online