PAPER DEEP DIVE
STeP:用于VLM动作生成的精确信号时序逻辑规范
STeP提出信号时序逻辑用于视觉语言模型动作生成的精确规范定义,确保生成动作满足时序约束和安全要求。
一句话总结
STeP 将信号时序逻辑(Signal Temporal Logic, STL)作为高层 VLM 推理与低层执行之间的形式化接口,在 System 1/System 2 架构中贯穿任务验证、MPC 目标塑形、运行时监控和重规划四个环节,在真实桌面操作中使时间约束任务成功率大幅提升,并在少样本重规划中用 STL 鲁棒性反馈实现比标量代价反馈更精准的恢复。
图1:单条语言指令可同时编码时间约束("在5到8秒内")和空间约束("粉色杯子左侧8cm"和"避开炉子")。框架将指令分解为 STL 标注的子任务,每个阶段携带相关约束作为形式化规约来指导执行和监控。
1. 摘要
English Abstract: Vision-language-action (VLA) models have shown impressive generalization, but often lack interpretability and can struggle to follow precise natural language instructions that encode spatial, temporal, and logical requirements. We propose a hierarchical framework that uses Signal Temporal Logic (STL) as a shared representation connecting high-level language understanding with low-level robot execution. A high-level policy leverages a VLM to decompose language instructions into high-level subtasks, generate STL specifications for each subtask, and choose a low-level policy for executing each subtask. The STL specifications translate language-derived intent into precise constraints, and the low-level policy selection determines whether those constraints are enforced directly through STL-guided model-predictive control or monitored during execution of a learned policy for perceptually complex, or contact-rich behaviors.
中文摘要:视觉-语言-动作(Vision-Language-Action, VLA)模型泛化出色但常缺乏可解释性,难以遵循编码了空间、时间和逻辑要求的精确自然语言指令。本文提出一种分层框架,使用信号时序逻辑(Signal Temporal Logic, STL)作为连接高层语言理解与低层机器人执行的共享表示。高层策略利用 VLM 将语言指令分解为高层子任务,为每个子任务生成 STL 规约,并选择低层策略执行。STL 规约将语言导出的意图转化为精确约束,低层策略选择决定是通过 STL 引导的模型预测控制(Model-Predictive Control, MPC)直接执行约束,还是在执行学习策略时监控约束(用于感知复杂或接触密集型行为)。
2. 研究背景与动机
精确的语言条件机器人规划要求超越粗粒度语义目标的完成——许多指令施加了空间、时间和逻辑要求(指定度量偏移放置物体、在时间窗口内完成机动、避开某区域等)。VLA 模型虽在多任务上表现强,但不固有地暴露表示、监控或强制这些约束的机制。
近期双系统 VLA 架构将机器人行为分为慢的审慎 System 2(视觉-语言推理)和快的 System 1(低层动作生成)。但这种分离本身未说明如何表示或强制语言指令中的精确空间、时间和逻辑要求。
STeP 主张 System 2 不仅应规划,还应形式化这些要求为 System 1 可监控并在可能时强制的表示。使用 STL 作为此形式化接口——STL 提供编码空间、时间和逻辑约束的紧凑语言,其定量鲁棒性语义(quantitative robustness semantics)提供规约满足的连续度量,允许系统评估进度、检测违规甚至优化轨迹。
3. 核心方法
图2:STeP 总览。System 2 用语言指令、当前观测、技能库和历史日志将任务分解为子任务并为每个子任务编译 STL 规约。System 1 执行活跃子任务,STL 监控跟踪进度并检测失败。子任务完成或违规时,历史日志为 System 2 提供回忆上下文来更新计划。
3.1 System 2:语言到 STL 任务规划
System 2 作为高层任务规划器和形式化器。给定语言指令、当前观测、可用技能和谓词库、以及包含先前观测/状态/STL 鲁棒性值和先前计划的回忆上下文,System 2 查询 VLM 产生结构化任务规约——子任务序列,每个含技能名、接地参数、可选约束和自然语言描述。
图3a:从语言指令、观测和系统技能库构造 VLM 提示。
执行前运行静态任务规约检查:确保输出匹配 JSON 模式、每个技能存在于技能库、参数类型正确、引用对象/区域存在于当前场景、每个约束被所选技能支持。失败的规约连同错误信息发回 VLM。
检查后的规约传入确定性 STL 编译器,将技能模板和接地参数映射到预定义谓词库上的 STL 公式,插入相关局部/全局约束(安全约束或时间窗口),并将秒为单位的时间区间转换为控制器时间步。
图3b:任务规约展示 VLM 产生的每个子任务及其编译为 STL 公式序列的过程。
3.2 System 1:STL 引导的执行与监控
System 1 负责低层动作生成。每个子任务选择 STL 引导的 MPC 控制器或预定义学习策略。MPC 用于可通过显式几何/时间/安全约束表达的子任务;学习策略用于难以解析建模或需要更富有表达力的感知控制的行为。
执行时 STL 监控器评估活跃子任务公式的鲁棒性。鲁棒性值提供进度和约束满足的连续度量。若鲁棒性降至阈值以下,System 1 触发到 System 2 的召回,携带当前执行上下文,允许系统在保持原始任务规约接地的同时修复或修订计划。
图3c:历史日志的简化条目,展示 STL 鲁棒性如何成为任务监控和失败检测的核心部分。
3.3 MPC 控制器
MPC 预设动力学模型,在每个时间步优化有限视域上的动作序列,仅执行第一个动作并在下一步重规划。给定 STL 规约,控制器优化:
$$\min_{a_{0:H}} \; -\rho^{\beta}_{\phi}(\hat{s}_{0:H})$$
其中 $\hat{s}$ 是预测信号轨迹,用于评估 STL 鲁棒性 $\rho^{\beta}_{\phi}$。鲁棒性用 softmax 平滑近似 max/min 算子以支持梯度优化:
$$\mathrm{smoothmax}_{\beta}(x_1,\ldots,x_n) = \frac{\sum_{i} x_i e^{\beta x_i}}{\sum_{i} e^{\beta x_i}}$$
其中 $\beta$ 控制近似的锐度。由于动力学模型预测未来状态但不预测未来观测,未来信号用预测状态和当前观测计算。
graph TB
LANG[自然语言指令] --> S2[System 2: VLM 规划器]
OBS[当前观测] --> S2
SKILL[技能库+谓词库] --> S2
HIST[历史日志] --> S2
S2 -->|子任务+STL规约| COMPILE[确定性STL编译器]
COMPILE --> CHECK[静态任务规约检查]
CHECK -->|通过| S1[System 1: 执行]
CHECK -->|失败+错误| S2
S1 -->|STL约束| MPC[STL引导MPC]
S1 -->|接触密集| LEARN[学习策略]
MPC --> MONITOR[STL鲁棒性监控]
LEARN --> MONITOR
MONITOR -->|鲁棒性<阈值| S2
MONITOR -->|满足| NEXT[下一子任务]
NEXT --> S1
4. 关键实验
4.1 RQ1:精确语言遵循
图4:STeP 与 VLM-MPC-Cost 的真实世界结果对比。按约束类型分组的成功率。嵌入 STL 全面提升成功率,尤其是在时间约束上。
在 UR3e 机器人上评估9个桌面操作任务,按主要约束类型分组(逻辑、空间、逻辑+空间、时间)。STeP 在所有任务类别上实现更高的安全成功率,在时间约束上增益最大。基线 VLM-MPC-Cost 移除了 STL 组成——System 2 输出直接 MPC 代价函数和失败阈值,历史日志记录 MPC 代价而非 STL 鲁棒性轨迹。
| 约束类型 | STeP | VLM-MPC-Cost | 改进 |
|---|---|---|---|
| 时间约束 | 显著提升 | 基线 | 最大增益 |
| 空间约束 | 提升 | 基线 | 中等增益 |
| 逻辑约束 | 提升 | 基线 | 中等增益 |
| 逻辑+空间 | 提升 | 基线 | 中等增益 |
表1:按约束类型分组的真实世界成功率。STeP 全面提升,时间约束上增益最大。
4.2 RQ2:学习策略/运动规划切换
训练 ResNet 行为克隆(Behavior Cloning, BC)策略(30个演示)从箱子中抓取方块,测试时在接近路径上放置障碍物。STL 监控器跟踪机械臂是否与障碍物保持安全距离。鲁棒性降至阈值时,子任务从学习策略切换到带避障代价的 MPC。MPC 到达预抓取区域后学习策略恢复执行接触密集型抓取。
| 指标 | 结果 |
|---|---|
| 碰撞检测 | 29/30 次检测到 |
| MPC 重路由 | 25/30 次 |
| 完成抓取 | 22/30 次 |
| BC-only 碰撞 | 28/30 次碰撞 |
| MPC-only 抓取失败 | 24/30 次失败 |
表2:学习策略/MPC 切换实验结果。STL 鲁棒性提供了学习策略和 MPC 之间实用的切换信号。
无切换时 BC 策略在30次中28次与障碍物碰撞;仅 MPC 成功避障但30次中24次抓取失败。切换机制使两者互补——STL 鲁棒性提供了实用的切换信号。
4.3 RQ3:少样本重规划
评估 STL 违规轨迹是否比非正式失败反馈实现更精准的计划修正。任务为堆叠三个方块,失败常发生在第三次放置——机器人过接近近现有堆叠并将其撞倒。20次试验中16次首次尝试失败。
| 方法 | 首次失败 | 二次修正 | 三次内修正 |
|---|---|---|---|
| STeP(STL反馈) | 16/20 | 12/16 | 14/16 |
| VLM-MPC-Cost | 18/20 | 7/18 | 9/18 |
表3:少样本重规划结果。STL 违规轨迹(违反的约束、鲁棒性裕度和违规时间步)使结构化反馈比标量 MPC 代价实现更精准高效的恢复。
STL 监控器记录被违反的约束(Safe End-Effector)、其鲁棒性裕度和违规时间步,连同移位方块的更新场景快照返回 System 2。下次尝试 VLM 用此结构化反馈增加接近高度并基于当前方块位置更新放置目标。基线常过度修正接近高度或重新生成完整计划,而非调整特定失败参数。
5.
状态-观测映射到潜在空间
$$ z_{t}=\psi(s_{t},o_{t})\in\mathcal{Z} $$
可微最大值近似
$$ \max(\mathbf{x})\approx\frac{\sum_{i=1}^{n}x_{i}\exp(\beta x_{i})}{\sum_{i=1}^{n}\exp(\beta x_{i})} $$
鲁棒性裕度
$$ \rho(z_{t},\mu_{j,c})=\mu_{j}(z_{t})-c $$
局限与展望- 仅 MPC 直接优化 STL(作者自述):只有 MPC 技能直接对 STL 规约优化动作。学习策略由 STL 鲁棒性监控,但尚未将规约用作推理时控制信号。
- 线性子任务序列(作者自述):高层计划表示为子任务序列,限制了可表达的分支或循环行为范围,不如完整自动机。
- 简单组件(作者自述):MPC 求解器、抓取位姿选择和真实世界执行循环故意简单,系统在杂乱环境中挣扎。
- VLM 不完整规约(作者自述):VLM 仍可能产生不完整或不正确的任务规约,尤其是场景描述缺少精细空间细节时。
6. 总结
STeP 是一种分层框架,使用信号时序逻辑作为基于语言的任务推理与低层机器人执行之间的共享表示。不将语言指令视为策略的非正式提示,STeP 将空间、时间和逻辑要求转化为可在执行前验证、通过 MPC 优化、执行时监控和重规划时复用的 STL 规约。框架将 STL 引导的 MPC(约束敏感子任务)与学习策略(接触密集型行为)结合,同时用 STL 鲁棒性检测失败并提供结构化反馈。在多种真实世界操作任务上,结果表明这种形式化接口改善了约束满足、支持执行模式切换,并在中间失败后实现更精准的恢复。这些发现表明,语言条件机器人可受益于高层 VLM 推理与低层控制之间的显式规约层,而非依赖单一学习策略来隐式满足所有任务要求。



