一句话指挥两轮机器人?Jetson 跑通视觉语言导航(VLN)× MuJoCo 数字孪生闭环
先看效果

以上是我们正在制作开源底盘课程在英伟达 Jetson 上跑 VLN 仿真的效果。
如果你感兴趣,麻烦点个start 底盘课程,会给我们莫大的动了!
指令是 Locate the refrigerator in the room and stop beside it。我们的底盘小车在 MuJoCo 里走走停停,每停一次就向模型要下一段路,哈哈哈。
系统和版本
| 项 | 值 |
|---|---|
| 计算平台 | Jetson AGX Orin 32GB,载板 reComputer Robotics J501(Seeed) |
| VLN 模型 | LightNav-0(LightOrigins 开源),GPU 推理 |
| 仿真 | MuJoCo,CPU 物理线程 |
| 机器人 | DM-H65,课程用两轮差速底盘 |
相机是虚拟的约 1 米观察配置,动力学参数仍是估计值,这两点后面还会提到。实车标定没有开始,本文所有内容都在仿真里。
从 CAD 到数字孪生

底盘模型从 Onshape 导出,处理成 45 个 STL,在 MuJoCo 里拼出来。车体是自由的,两个驱动轮带有限力矩,四组真实脚轮各自有转向和滚动关节,碰撞用 47 个真实形状,尺寸直接来自 CAD,驱动轮半径 0.0854 米。碰撞包络里把 4 个脚轮的完整外形都算了进去,安全检查用 20 毫米净空,再留 10 毫米给模型和动力学的不确定度。
这里想强调一点,脚轮不能用一个圆柱糊弄。脚轮会转、会摆,转向姿态不同,扫过的形状差很多。严格模式的制动分支预演里,脚轮包络是被重点覆盖的对象之一。
闭环怎么跑
一次完整循环是这样的。
指令进来,机器人先稳定停车,按 4Hz 顺序采集真实的 4 帧历史画面,发给 GPU 上的模型。模型输出 10 个累计 SE(2) 路径点,坐标约定是 X 向前、Y 向左、逆时针偏航为正,只在采集时的根位姿上转换一次到世界坐标,不做重复积分。路径按原始 10 点做碰撞检查,起点到首点、当前位置的连接区间、还没走过的路线都要查,不裁剪危险后缀,也不本地绕行生成替代路。检查通过就交给 MPC 跟踪,走若干段,每段 0.5 秒。走完或者路径用尽,停车,重新观察,要下一次预测。
运动层在连续模式里用的是简化差速运动学,界面上也标了 simplified differential kinematics。这是刻意的取舍,换来流畅的连续闭环,代价是它不是完整动力学。完整物理在严格模式那一侧。
视频里能看到的三种恢复行为,都是闭环的一部分,不是异常。
预测被拒绝,停车重新观察,重新规划计数加一。路径过期,原地等待,不拿旧路径硬走。模型输出 STOP,立刻停车。我的体会是,恢复行为比一次顺利的演示更能说明系统成熟度。
CPU 和 GPU 的分工
| 环节 | 位置 | 说明 |
|---|---|---|
| LightNav-0 推理 | GPU | 每次停车后发请求,一次真实预测 |
| 4Hz 帧采集与历史队列 | CPU | 真实 4Hz FIFO,采帧和耗时工作解耦 |
| RVQ 解码、路径坐标转换 | CPU | 10 点 SE(2),只转换一次 |
| 碰撞检查与安全审计 | CPU | 连续模式轻量检查,严格模式加逐段认证 |
| MPC 跟踪 | CPU | 10Hz |
| MuJoCo 物理 | CPU | 5 毫秒步长 |
| 界面渲染 | 浏览器 | 录屏里约 23 到 26 FPS |
录屏界面上实时因子显示约 1.0,指的是仿真按自己的节奏在跑,不是端到端实时性承诺。4Hz 采样、10Hz MPC、5 毫秒物理这套频率组合是当前配置,不是普适最优解。
最容易骗自己的几个坑
把模型 STOP 当成到达。模型说停只代表它认为该停了,自由指令下没有评分器兜底。要下结论,就得挂注册评测,按距离、速度、时间一起判。
把简化运动学当完整物理。连续模式的流畅是拿动力学精度换的,写文案和做汇报的时候要把 simplified differential kinematics 这句话带上,不然就是给自己挖坑。
靠裁剪危险后缀换流畅。严格模式明确不做这件事,宁可走不动,也不执行没认证的路径。这个取舍我认为是对的,慢可以优化,先撒谎再圆不回来。
把离线资格当在线验证。287 项回归全过只说明改动没破坏已测行为,跑没跑得动,得重新跑那次失败的任务才算数。
下一步
我们将模型接入真实的底盘进行实机的闭环测试,感兴趣可以来我们开源仓库点个小星星,及时收到最新状态。
资料和致谢
代码和课程在 GitHub:
https://github.com/Seeed-Projects/mobile-robot-full-stack-course
Seeed-Projects/mobile-robot-full-stack-course
注: VLN 是第 7 模块的方向。
VLN 模型是 LightNav-0,来自 LightOrigins 的开源工作,仿真用 MuJoCo,硬件是 Seeed 的 Jetson 平台。上一篇把同一套大脑接进 Microduck 的记录在这里https://blog.csdn.net/a1691125058/article/details/168117615?spm=1001.2014.3001.5501。
仿真实录,开发中版本。有具体问题或者想看哪部分的细节,评论区聊。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)