AEROS:一种具备具身能力模块的单智体操作系统架构
26年4月来自哈工大、Heriot-Watt大学马来西亚分校和苏州大学的论文“AEROS: A Single-Agent Operating Architecture with Embodied Capability Modules”。
机器人系统缺乏一种具有原则性的抽象机制,无法以统一的方式组织智能、能力和执行过程。现有的方法要么将技能紧密耦合在单体架构中,要么将功能分解为协调松散的模块或多个智体;这些方法往往缺乏关于“身份”与“控制权限”的连贯模型。本文主张:机器人不应被构建为一组智体的集合,而应被视为一个单一且具有持续性的智能主体,其能力可通过可安装的软件包进行扩展。其将这一观点形式化为一种“单智体机器人架构”,并将其命名为 AEROS(智体执行运行时操作系统);在该架构中,每一台机器人对应一个持续存在的智体,而其各项能力则通过“具身能力模块”(Embodied Capability Modules,简称 ECMs)来提供。每个 ECM 封装可执行的技能、模型及工具;与此同时,执行约束与安全保障则由一个采用“策略分离”设计的运行时环境负责强制执行。这种分离设计不仅实现了模块化的可扩展性,还支持能力的可组合执行,并确保了系统层面的安全性一致性。
其实现了一个参考原型系统,并利用 PyBullet 物理仿真环境及一台 Franka Panda 7自由度机械臂,对该架构进行了评估。评估涵盖八项实验,内容涉及动态重规划、故障恢复、策略强制执行、针对三项任务与已发表基线的对比、跨任务泛化能力、运行时 ECM 热插拔、组件消融分析以及故障边界分析。针对每种实验条件进行的 100 次随机试验结果表明:在全部三项任务中,AEROS 均实现 100% 的任务成功率;相比之下,已发表的基线方法(包括 BehaviorTree.CPP 风格的执行方式和 ProgPrompt 风格的执行方式)成功率仅为 92%—93%,而扁平化流水线架构的成功率则在 67%—73% 之间。此外,基于规则的策略层能够拦截所有无效动作,且未发生任何误放行(鉴于其架构设计,这是一个确定性的结果);该运行时环境所带来的优势能够泛化至各类不同的任务中,无需进行针对特定任务的调优;最后,ECMs 能够在运行时动态加载,且在完成热插拔后,任务成功率依然保持在 100%。
本文提出一种机器人操作系统架构,该架构由三项设计原则主导,并通过一个三层系统得以实现。在本文中,A 代表持久性智体(Persistent Agent),E 代表已安装的具身能力模块(Embodied Capability Modules)集合,而 Π 则代表运行时策略配置。
原则 1:单智体机器人。一个机器人系统仅包含一个持久性智体,该智体充当统一的智能主体,负责在所有任务中维护其身份、记忆、世界模型以及决策权限。形式上,将机器人系统定义为:
R = (A, E, Π) (1)
其中,A 是唯一的持久性智体;E = {E_1, . . . , E_N} 是已安装的 ECM 集合;而 Π 则是由运行时环境所执行的策略配置。
原则 2:能力封装。所有针对特定任务的能力均被封装为可安装的具身能力模块(ECM);每个 ECM 提供可执行的技能、工具、模型及元数据。ECM 能够扩展单一智体的功能,且无需引入新的智体。能力集合记为 C = U(C_i),其中每一个 C_i 均由对应的 ECM E_i 提供。
原则 3:策略与逻辑分离。执行策略、安全约束以及资源管理均在运行时层级执行,且独立于具体的能力逻辑。技能定义了“能做什么”;策略定义了“允许做什么”;而运行时环境则负责执行“如何做”。这种分离机制使得同一个 ECM 无需任何修改,即可在不同的安全条件下正常运行。
基于上述原则,该架构由三个层级构成:(1) 持久性智体层,(2) 能力包(ECM)层,以及 (3) 运行时层。如图 2 展示了该架构的整体概览。
1. 持久化智体层
持久化智体代表机器人的统一智能主体。它负责维护全局状态并协调所有任务的执行。
该智体由以下组件构成:
• 身份与生命周期:在跨会话和跨任务的过程中,维护一种连续且一致的身份。
• 记忆系统:存储情景记忆、语义记忆和工作记忆。
• 世界模型:表征环境、对象以及系统状态。
• 规划器:将高层级目标分解为可执行的任务结构。
• 技能调度器:选择并调用由 ECM 提供的各项技能。
• 安全监督器:在语义层面验证任务级的前置条件和后置条件,从而对运行时环境中的系统级策略执行进行补充。
所有的决策权均归属于该层;ECM 仅作为能力提供者被调用,而非自主的决策主体。
2. ECM 层
ECM 层为智体提供模块化且可安装的能力。
每一个具身能力模块(ECM)都被定义为一个结构化的单元,包含以下内容:
• 能力定义:向智体公开的高层级功能。
• 技能:具有明确输入、输出及效果定义的可执行单元。
• 模型与工具:支持感知与推理的可选组件。
• 清单(Manifest):包含依赖项、资源需求及接口等信息的元数据。
ECM 遵循一套特定的生命周期模型:
安装 → 配置 → 激活 → 去激活 → 移除
智体能够动态地安装并调用 ECM,从而在无需修改核心系统代码的前提下实现系统的可扩展性。值得注意的是,ECM 并不会引入额外的智体;它们的作用是扩展该单一持久化智体的能力。如图 3 展示 ECM 的内部结构及其生命周期。
ECM 模式定义…… 具身能力模块(ECM)被表征为一个具有声明式模式的结构化软件包。每一个 ECM E_i 在形式上被定义为一个元组:
E_i = (C_i, S_i, M_i, P_i, D_i) (2)
其中,C_i 表示能力定义;S_i 表示包含类型化输入/输出接口的技能集合;M_i 表示可选的模型与工具适配器;P_i 表示权限声明,用于指定资源及访问约束;而 D_i 则包含依赖项及元数据信息(如版本、兼容性及接口等)。该模式确保每个 ECM 都是自描述的,并且运行时(Runtime)无需探究其内部逻辑,即可对其进行验证、注册和管理。随附的开源代码库中提供该 ECM 模式的一个参考实现。
3. 运行时层
运行时层负责执行动作并强制实施系统级约束。
它包含以下组件:
• 策略引擎:在系统层面强制实施权限、安全规则和执行约束;其运作对象是资源和访问边界,而非任务语义。
• 资源管理器:负责分配计算资源和硬件资源。
• 通信总线:为数据交换提供统一的抽象接口(例如 ROS 2 DDS)。
• 执行引擎:将高层级动作转换为低层级指令。
• 仿真桥接:在仿真环境与实际硬件之间提供一个与平台无关的接口。这是一个可选的适配层,并非强制组件;它的存在使得同一套架构能够在不同的部署目标上运行。
运行时独立于智体(Agent)逻辑和能力定义而运作,从而确保安全策略和执行策略能够得到一致的实施。
4. 执行流程
该系统以智体与运行时之间闭环交互的形式运作。回顾给出的系统定义 R = (A, E, Π),其执行周期流程如下:
- 智体 A 接收来自环境的观测数据或用户输入。
- 规划器生成任务表示。
- 技能分发器从已安装的 ECM 集合 E 中选取合适的技能。
- 运行时在策略约束 Π 的规制下执行动作。
- 观测数据得到更新,并反馈给智体。
这一循环确保在统一的智体模型下,系统能够实现持续的自适应与一致的控制。
为了对所提出的架构提供精确的理解,对持久性智体的行为、能力的组合方式以及策略执行模型进行形式化描述。尽管机器人系统的全面形式化验证仍是一个活跃的研究领域(Luckcuck et al., 2019),但本文重点关注定义该架构的结构不变量。
1. 智体闭环模型
将机器人建模为一个单一的持久性智体,该智体在与其环境的闭环交互中运行。
在时间步 t 时,智体维护着一个内部状态:
s_t = (m_t, w_t) (3)
其中,m_t 代表记忆(memory),w_t 代表世界模型(world model)。
给定一个观测值 o_t,智体生成一个任务表示 τ_t:
τ_t = F(o_t, s_t) (4)
其中,F 是规划函数。
随后,任务 τ_t 被分解为一系列技能调用:
τ_t = {σ_1, σ_2, …, σ_k} (5)
其中,每一个 σ_i 对应于由 ECM E 提供的一项技能。每一项技能均由智体执行,以产生一个动作:
a_t = σ_i(s_t) (6)
接着,运行时环境应用由 Π 定义的策略约束:
a’_t = Π(a_t) (7)
随后,环境迁移至一个新的状态,产生观测值 o_t+1,从而完成了整个闭环过程。
这种形式化表述确保所有的决策均源自单一智体 A;技能仅作为由智体调用的被动执行单元;且执行过程受策略配置 Π 的调节——这与定义的系统结构 R = (A, E, Π) 保持一致。如图 4 描绘这一闭环执行模型。
2. 技能组合、策略与安全不变量
技能 σ: X -> Y 是一个具有类型定义的、可执行的单元。能力(Capabilities)通过串行组合(σ_1; σ_2、并行组合(σ_1 || σ_2)以及条件组合(if c then σ_1 else σ_2)等操作符构建而成;所有这些操作符均作用于技能层面而非智体层面,从而维护单一智体的架构结构。每个 ECM E_i 都关联着一个权限集 P_i,且每个动作 a_t 必须满足 a_t ∈ P_i。运行时负责强制执行全局策略:
安全性被定义为一组不变量:∀t, Φ(s_t, a_t) = true,这些不变量编码物理极限、碰撞规避及资源约束。由于策略执行集中于运行时环境,无论由哪个 ECM 提供技能,该不变量 Φ 均始终成立,从而确保安全性的可组合性及全系统一致性。
所提出的架构作为一套参考系统,基于 ROS 2 (Macenski et al., 2022) 和 PyBullet 物理仿真环境进行实现。此项实现的初衷旨在展示该架构的可行性,而非将其局限于特定的中间件或仿真器。因此,ROS 2 和 PyBullet 仅作为所提设计的一种具体实现载体,而其架构原则本身仍保持平台无关性。尽管该实现仅是一套轻量级的参考系统,但它充分体现所提设计的关键架构特性,包括能力模块化、运行时协调以及以智体为中心的执行模式。
该参考实现主要由三个部分构成:(1) 基于 ROS 2 和 PyBullet 构建的仿真与通信桥接模块;(2) 用于封装、验证和注册的 ECM 工具链;以及 (3) 用于运行时强制执行与监控的策略沙箱。其中,策略沙箱是“策略分离原则”在实现层面的具体落地:它将抽象的约束模型 Π 具体化为一系列可执行的运行时检查,并将其嵌入到系统的执行路径之中。
1 PyBullet-ROS 2 桥接
执行环境采用 PyBullet 实现,ROS 2 作为持久智体、运行时和模拟机器人之间的通信底层。该桥接为观测和动作提供了一个统一的接口,使得所提出的架构无需依赖特定的硬件平台即可进行评估。
在观测层面,模拟传感器(例如 RGB 摄像头、深度流、物体状态和机器人运动学)通过 ROS 2 主题暴露出来。运行时会聚合这些观测数据,并将其转换为持久智体可以使用的标准化观测格式。这种设计确保智体能够基于稳定的接口进行推理,而无需考虑底层数据源是模拟还是物理硬件。
在执行层面,智体生成的高级动作首先提交给运行时,运行时将其转换为 ROS 2 兼容的命令。根据目标技能的不同,这些命令可以作为主题消息发布、通过服务发送或作为动作目标分发。这种间接性是所提出的架构的核心:持久智体并不直接操作执行器,而是通过运行时介导的执行路径与环境交互。
PyBullet-ROS 2 桥接器也充当仿真抽象层。通过将特定于仿真的逻辑隔离在运行时内部,相同的智体和 ECM 定义可以在不同的部署目标中重用。从这个意义上讲,PyBullet 并非架构的定义性假设,而是作为执行和评估系统的参考后端之一。
2. ECM 工具链
为了支持模块化功能交付,实现一个 ECM 工具链,用于管理软件包的构建、验证、注册、安装和激活。
每个具身能力模块都组织成一个结构化的软件包目录,其中包含清单、技能定义、可选的模型或工具适配器以及策略相关的元数据。清单指定软件包的标识、版本、声明的功能、依赖关系约束、接口绑定和资源需求。技能定义公开持久智体可用的可执行单元,包括它们的输入输出签名和效果描述。
该工具链提供三个核心功能。
首先,它支持构建和验证。在安装 ECM 之前,会检查软件包的结构完整性、依赖关系一致性和接口正确性。这包括验证所需的技能入口点是否存在、软件包元数据格式是否良好以及引用的资源是否满足声明的兼容性约束。
其次,它支持注册和发现。经过验证的 ECM 会被添加到软件包注册表中,该注册表记录版本信息、声明的功能和依赖关系元数据。持久智体通过运行时查询此注册表,以确定在当前系统配置下哪些技能可供调用。
第三,它支持生命周期管理。在运行时,无需重新编译或重构核心智体逻辑,即可安装、配置、激活、停用或移除 ECM。此生命周期以有状态运行时操作的形式实现:安装将软件包添加到注册表中,激活使其功能对调度程序可见,停用暂时将其从调度中移除,移除则将软件包从活动环境中清除。
在参考实现中,ECM 的加载有意做到轻量级。其目标是证明功能可以打包和管理为显式的软件单元,类似于可安装的扩展,而不是作为嵌入在单体机器人应用程序中的硬编码片段。
3 策略沙箱
该实现的核心目标是强制执行策略逻辑分离原则。为此,在运行时内部实现一个策略沙箱,用于在执行请求的操作之前评估其是否被允许。
每个 ECM 都关联一个已声明的权限配置文件,包括对传感器、执行器、通信通道和计算资源的访问权限。这些声明本身并不授予权限;相反,它们由运行时解释,运行时会强制执行活动策略配置。因此,同一个 ECM 可以在不同的运行时策略下部署,而无需修改其内部逻辑。
策略沙箱在两个层面上运行。
在访问控制层面,它规范特定功能可以使用的资源。例如,ECM 可以读取对象状态观测值,但被禁止直接访问运动执行接口。类似地,可以通过运行时策略选择性地启用或禁用对网络服务、日志通道或可选加速器的访问。
在执行控制层面,它对动作的执行方式施加约束。在动作被转发至 ROS 2 或 PyBullet 之前,运行时环境会依据全局安全与资源规则(例如执行器作用域、运动限制或执行配额)对其进行检查。任何违反策略的动作将被拒绝或予以弱化处理,且运行时环境会将该事件记录为一次策略违规。
为了辅助分析与调试,该沙箱环境集成运行时监控与审计日志功能。每一个被阻断的动作、每一次策略拒绝事件,以及每一次能力激活事件,都会连同其关联的 ECM(执行控制模块)及执行上下文一并被记录下来。这一监控机制至关重要,它不仅为实证评估提供了基础,同时也证明了策略的强制执行过程是独立于技能逻辑之外的。
4. 规划器架构
AEROS 的一项关键设计决策在于:规划器 F 是位于持久化智体层内部的一个可替换组件,而非某种固定的算法。该架构并未对 F 的具体实现形式施加任何限制——无论是基于规则、基于学习、由大语言模型(LLM)驱动,还是采用混合模式均可;其唯一要求是:规划器必须能够将当前的观测值 o_t 与世界状态 s_t 映射为一个任务结构 τ_t,以便分发器能够对其进行执行。
在用于评估的参考实现中,规划器 F 被具体实现为一个基于规则且受世界状态条件制约的规划器。每一个 ECM 均提供一项“规划技能”(例如 dumpling.plan、clean.plan、fetch.plan),该技能负责审视当前的世界状态,并输出完成该任务所需的剩余步骤序列。该规划器具有确定性:即在给定完全相同的世界状态时,它总是能够生成完全相同的任务图。之所以会形成“重规划”的循环机制,是因为在每一次技能执行完毕后,世界状态都会发生变化,从而促使规划器生成反映当前新状况的更新版规划。
这一设计决策是经过深思熟虑的。采用基于规则的规划器,旨在将评估过程与那些由大语言模型(LLM)的随机生成特性所引入的混淆因素(例如温度参数敏感性、提示词变异性、模型版本差异等)隔离开来;从而确保所测得的性能差异能够真实地反映出架构本身的特性,而非仅仅体现规划器本身的优劣。在实际部署阶段,规划器这一组件槽位可以替换为基于大语言模型的规划器(例如采用 GPT-4、Claude 或特定域模型),此类规划器能够依据自然语言指令及环境观测数据来生成相应的任务图。 AEROS 运行时将规划器视为一种“黑盒”技能:无论其内部机制如何,其输出均由同一策略沙箱进行中介处理,并经由同一调度流水线加以执行。这种模块化设计类似于机器人中间件框架(例如 ROS2 导航栈)将规划算法与执行基础设施相解耦的方式。
实验设置
采用三项由作者设计的、包含多个步骤的操纵任务。尽管像 BEHAVIOR-1K (Li et al., 2023) 和 ManiSkill2 (Gu et al., 2023) 这样的标准化基准测试提供了宝贵的跨研究校准依据,但它们主要评估的是技能层面的表现,而非架构层面的机制(如重新规划、策略强制执行、能力热插拔);因此,它们无法直接验证本文所提出的主张。这三项任务分别是:(1) 制作饺子(备料、对齐饺皮、包制、烹饪);(2) 清理桌面(清除杂物、擦拭表面、验证洁净度);以及 (3) 获取物体(导航至目标位置、检测物体、抓取、运送至终点、从故障中恢复)。在 PyBullet 仿真环境中,每一次技能调用都会触发相应的物理机器人动作(通过逆运动学控制机械臂移动、夹爪开合、移动底座导航)。引入受控的随机扰动:物体位置在限定的工作空间内随机初始化;此外,特定的感知检测环节会以可配置的概率发生失败(具体概率设定为:饺子包制任务中为 30%,桌面清理任务中为 40%,获取物体任务中的物体检测环节为 35%)。
在各项实验中记录并报告以下指标:任务成功率(即完成所有任务阶段的试验所占的百分比)、平均执行步数(即单次试验中技能调用的总次数)、重新规划次数(即计划重建周期的次数)、恢复次数(即触发回退动作的次数),以及策略违规阻断率。
实际运行时间开销(Wall-clock overhead):报告在单核 Intel i7 @ 3.4GHz 处理器上测得的计算开销(不包含仿真物理引擎所产生的延迟)。四种架构的单次试验平均实际运行时间分别为:Flat Pipeline 架构 24ms,Behavior-Tree.CPP 风格架构 19ms,ProgPrompt 风格架构 20ms,以及 AEROS 架构 18ms。值得注意的是,AEROS 架构中新增的重新规划周期并未增加实际运行时间开销;这是因为每一个规划周期仅需处理更新后的“世界状态谓词”(即进行布尔值查询,单次谓词评估耗时不足 0.01ms),且基于规则的规划器本身的执行耗时也少于 1ms。在物理部署中,总执行时间将主要由机器人运动(每次动作耗时数秒)决定,而非规划开销。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)