拆解 Jiuwen Symbiosis 架构:三步搭建 Physical AI 的感知-规划-执行闭环

如果你只见过 AI 写代码、做图、聊天的本事,那它只发挥了不到一半的价值。真正的下一波机会,在物理世界——让 AI 听懂人话,然后自己动手干活。

OpenJiuwen 社区最近开源了一套名为 Jiuwen Symbiosis 的 Physical AI Agent 框架。它的核心思路很简单:用户用自然语言下指令(比如「把黑色盒子放到白盒子上」),机器人自主完成感知、规划、执行的全流程,不需要写一行脚本。

这篇文章带你拆解它的架构精髓,并给出上手搭建的关键步骤。


一、为什么不做端到端?

看到「Physical AI Agent」,你可能第一反应是「直接训练一个 VLA(Vision-Language-Action)模型不就行了?」不行。 原因有三:

  1. 跨本体泛化差: VLA 通常和特定机器人形态强绑定,换一台机械臂就得重新训练。
  2. 长程任务弱: 多步骤任务中缺少显式的任务分解与纠错能力,本质上是轨迹模仿。
  3. 黑盒不稳定: 直接输出关节位姿的端到端模型,在真实物理环境中成功率堪忧——一旦出错,轻则操作失败,重则设备损坏。

Jiuwen Symbiosis 的选择是:分层解耦,把感知、规划、执行拆成独立模块,跑在一个持续迭代的闭环里。


二、核心架构:态势感知循环(SA Loop)

Jiuwen Symbiosis 架构图

整个系统的灵魂是一个闭环:

九问物理感知 → 安全规划 → 物理执行 → 状态观察 → 观测反馈 →(回到感知)

下面逐个环节拆解。

① 九问物理感知(Jiuwen Physical Perception)

职责: 把非结构化的物理场景转化为结构化的世界状态。

关键设计:

  • 开放词汇检测: 目标检测不依赖硬编码类别清单。你只需扔进去一句「黑色盒子」,感知模型就能定位。
  • 空间解算剥离: 所有坐标一律投影到机械臂基座坐标系,自动算好抓取高度、接近位置、放置点位。
  • 输出: 结构化数据——目标语义 + 位姿 + 置信度 + 可执行参数。

这个环节的核心价值是:让规划层彻底不用碰任何空间计算。 后续的 LLM 只管做逻辑推演,不处理坐标。

② 安全规划(Safe Planning)

职责: 高层语义决策 + 任务编排。不参与空间解算。

流程:

  1. 读取自然语言指令 + 感知模块的结构化场景参数 + 标准 Skill 技能模板 → 意图解析
  2. 将复杂任务拆解为时序有序的子技能序列 → 任务拆解
  3. 用场景参数动态绑定技能模板,生成「可执行技能指令」→ 动态技能构建
  4. 内置物理约束检查,过滤越界、碰撞、不合逻辑的动作 → 安全校验

这里有一个聪明的设计:规划层只用纯 LLM,不用 VLM。 因为 VLM 的空间推理天生比纯 LLM 弱且不稳定。把空间计算前置到感知模块后,规划层可以放心用更鲁棒的 LLM。

③ 物理执行(Physical Action)

职责: 按 Skill 调用一个个 Action Tool 原子能力,把规划变成连续可控的运动。

接口设计:

// 原子化动作函数示例
move_to_xyzr(x, y, z, roll, pitch, yaw);  // 移动到目标位姿
gripper_open();                            // 打开夹爪
gripper_close();                           // 闭合夹爪
pick_up(object_id);                        // 抓取指定物体
place_at(target_position);                 // 放置到目标位置

每个动作独立、与环境解耦、与本体解耦,可自由组合为任意操作序列。

异常恢复: 得益于原子化设计,任何一步抛出异常时,系统可精确回退到上一个稳态节点,自动回 Home 位、松开夹具,确保下一步从确定的起始位姿开始。

④ 状态观察与观测反馈

职责: 执行完毕后重新采集状态,判断成功/失败,驱动下一轮决策。

判稳逻辑走双轨制

  • 几何判据: 默认用目标是否进入区域做快速判定
  • VLM 判据: 直接问 VLM「黑色盒子是否已放在白盒子上?」
  • 回退机制: VLM 不可用时自动切回几何判据

三、10 分钟上手:接入新硬件

Jiuwen Symbiosis 通过 Capability Mixin + Adapter 模式支持任意构型机器人。接入新硬件只需要实现 6 个文件

project/
├── config.yaml       # 机器人参数配置
├── driver.py         # 硬件驱动层
├── env.py            # 环境定义
├── interface.py      # 能力接口声明
├── session.py        # 会话管理
└── adapter.yaml      # 适配映射

核心智能体逻辑完全不需要修改。换机器人 = 写一个 Adapter,其余照旧。

实战建议

  1. 先跑模拟器: 如果手头没有实体机器人,可以先在 Mujoco/Isaac Sim 里跑通闭环。Jiuwen Symbiosis 的 Adapter 模式支持虚拟环境接入。
  2. 注意感知的光照条件: 真实环境的光照变化会显著影响开放词汇检测效果。建议部署时先跑一轮「环境标定」。
  3. 循序渐进: 从简单任务(抓取+放置)开始验证闭环,再逐步叠加多步骤长任务。

四、资源链接


本文基于 InfoQ 对 Jiuwen Symbiosis 的深度解析内容整理重写,聚焦实操可复现的架构要点。想深入了解每个模块的数学推导和实验数据,建议直接翻阅 GitHub 仓库的论文和技术文档。

滚动至顶部