EMOS¶
EMOS(Emergency Multi-robot Operation System)提供与具体业务无关的多智能体 LLM 讨论与子任务分配能力:给定任务故事、子任务定义与机器人能力描述,它通过多轮讨论把子任务分配给异构机器人,并在 LLM 不可用或解析失败时回退到启发式分配。
定位¶
输入:调用方以数据结构提供
EMOSScenarioConfig(场景叙事、子任务、位置规则、回退策略)与EMOSRobotAgentSpec机器人档案,以及一个 Isaac Lab 兼容的base_env。输出:子任务到机器人的分配结果,交由执行层(导航、机械臂等)落地。
边界:EMOS 不构建仿真场景,不内置任何场景内容,也不解读子任务的业务含义。
核心流程¶
EMOSScenarioConfig(任务故事 + 子任务 + 位置规则)
+
EMOSRobotAgentSpec(机器人档案) + base_env(机器人位置)
↓
EMOSDiscussionManager 多轮讨论调度
↓
LLM 输出解析 → 子任务分配
↓(LLM 不可用 / 解析失败)
preferred_fallback 启发式回退分配
build_from_agent_specs() 会从 base_env 的 articulation / rigid-object 状态读取机器人位置,供讨论与分配使用。
在 EAI 中的使用¶
Fire Rescue 实验演示了 EMOS 与 EAI 的完整集成:工厂火灾巡检场景由 EMOS 完成讨论与任务分配,再由导航与执行层执行。代码、完整配置说明与依赖见 algorithm/emos/。
来源¶
算法源码仓库:EMOS;EAI 内置副本位于 algorithm/emos/。