Skip to content

TCoT:基于轨迹思维链的 VLA 操作框架与失败恢复

论文TCoT: Trajectory Chain-of-Thoughts for Robotic Manipulation with Failure Recovery in Vision-Language-Action Model

作者:Xiang Li, Ya-Li Li*, Yuan Wang, Huaqiang Wang, Shengjin Wang

机构:Tsinghua University(电子工程系)、BNRist

发布时间:2026年

发表会议:AAAI 2026


一句话总结

TCoT 在 VLA 模型中引入轨迹级思维链推理作为高层指令到低层动作的中间规划层:全局轨迹提供任务导向的长时域路径规划,局部轨迹提供高频动态调整,并通过 GLSR(Global-Local Switching Recovery)算法实现统一框架内的失败检测与策略切换恢复,LIBERO 平均成功率 83.3%(多任务),真实世界 +28% 超越 OpenVLA 基线。


一、问题与动机

1.1 缺乏中间任务规划

当前 VLA 模型(OpenVLA、π₀、RDT-1B 等)直接从视觉 + 语言输入映射到低层动作 at=π(ot,lt),缺少高层指令与低层执行之间的中间规划层。这导致:

  • 长时域任务性能差:无法将复杂任务分解为可管理的子步骤
  • 缺乏历史上下文:模型无法有效评估任务进度,可能重复已完成的动作
  • 空间-时间推理不足:无法利用过去和未来的运动信息指导当前决策

1.2 缺乏失败检测与恢复能力

VLA 模型主要在成功示范上训练,忽视失败案例:

  • 虽然 VLA 可能展现隐式重试行为,但这种重试是无引导的、有限的、不可靠的——往往以相同方式反复失败
  • 现有失败检测方法(DoReMi、Code-as-Monitor 等)依赖外部 VLM 作为失败检测器,引入额外计算开销
  • 失败检测与恢复解耦——检测在外部完成,恢复仍依赖独立控制机制

1.3 TCoT 的核心思路

轨迹(2D 末端执行器路径)作为操作任务的思维链(CoT)推理表示:

  • 轨迹是精确、紧凑的中间表示,桥接任务理解与执行
  • 离散路径点将长时域任务分解为结构化的子步骤
  • 在统一 VLA 框架内集成轨迹规划、动作生成和失败恢复

二、核心方法

2.1 整体架构

TCoT 基于预训练 VLA 骨干(OpenVLA),通过两阶段指令微调集成三种能力:

  1. 轨迹规划Pg/l=π1(o1,lg/l) — 生成全局/局部轨迹
  2. 动作生成at=π1(ot,lg/l|Pg/l) — 基于轨迹条件化生成动作
  3. 失败检测Isuccess=π1(ot,lf) — 判断任务是否成功完成

三种能力通过不同的 prompt 模板在同一模型中动态调用。

2.2 轨迹数据生成 Pipeline

从已有示范数据自动生成 2D 轨迹标注:

  1. 初始定位:开放词汇检测器 Φd 检测夹爪 bounding box → SAM 分割模型 Φs 生成掩码 → 质心作为初始位置:
p1=Centroid(M1),M1=Φs(o1,b1)
  1. 轨迹追踪:使用 CoTracker 追踪后续帧中的夹爪位置

  2. 遮挡处理:当追踪点丢失时,调用 SAM2 的可提示视频分割:

pt=Centroid(Φs(ot,pp,pn,st1)),t[2,T]

其中 pp 为正样本点(掩码内),pn 为负样本点(掩码外)

  1. 噪声过滤:提取机器人状态中的 3D 夹爪位置,构建 3D→2D 映射,用 RANSAC 过滤异常点

2.3 层次轨迹规划

全局轨迹(Global Trajectory)

在每个时刻 t,通过对称窗口采样构建全局轨迹:

Pgt={ptngLg/2,,pt,,pt+ngLg/2}

其中 Lg 为最大轨迹长度,ng 为时间采样间隔。

设计意图

  • 未来路径点 {pi|i>t}:确保平滑的、目标导向的任务规划
  • 历史路径点 {pi|i<t}:保留历史上下文,帮助模型评估任务进度
  • 轨迹作为中间层促进跨任务知识共享——共享相似轨迹片段的任务可以互相增强

局部轨迹(Local Trajectory)

从当前位置开始的短时域密集路径点:

Plt={pt,pt+nl,,pt+nlLl}

其中 Llnl 为局部轨迹长度和采样间隔(nl<ng)。

设计意图

  • 更短的时域 → 更高频的更新,适应动态变化
  • 更密集的路径点 → 更精细的空间引导,适合精细操作
  • 与全局规划互补:全局提供上下文,局部提供精度

2.4 轨迹思维链训练(第一阶段)

使用 LoRA 微调,联合预测轨迹和动作 token:

Lp=SDtTlogp(Pit,at|ot,lt;π1),i{l,g}

Prompt 模板:

Instruction: "Predict the gripper's global/local trajectory and the action to complete the {TASK}." Answer: "Trajectory: Pg/Pl Action: A"

与传统 VLA 直接映射 otat 不同,TCoT 引入了结构化的轨迹推理作为中间步骤。

2.5 失败检测与 GLSR 恢复(第二阶段)

失败数据收集

部署第一阶段模型 π1 在环境中交互,收集包含成功和失败样本的在线数据集 Df,附带二值成功标签 Isuccess{True,False}

失败检测训练

Lf=SDft=tfTlogp(Isuccesst|ot,lt;π1)

总损失

L=La+Lp+Lf

通过调整三类数据的比例而非损失权重来优化性能。

GLSR 算法(Algorithm 1)

  1. t=1:生成全局轨迹 Pg1 和首步动作
  2. t[2,tf]:基于冻结全局轨迹生成动作
  3. t>tf:执行失败检测
    • 若检测到失败(¬Isuccess):切换至局部轨迹规划,重新规划并执行
    • 否则:继续跟随局部轨迹

核心机制:当全局规划失败时,显式切换到局部规划——提供不同的解决路径,而非以相同方式重试。


三、实验结果

3.1 LIBERO 仿真评估(离散动作建模)

方法发表SpatialObjectGoalLong平均 SR
ECoTCoRL202484.087.078.555.076.1
OpenVLACoRL202484.788.479.253.776.5
GRAPEICLR202587.691.282.255.879.2
CoT-VLACVPR202587.591.687.669.081.1
TCoT91.094.878.866.882.9
TCoT-Multi90.087.085.071.083.3

核心发现

  • 单任务设置下 TCoT 平均 SR 最高(82.9%),超越 SOTA +1.8%
  • 多任务设置下 TCoT-Multi(83.3%)优于单任务(82.9%)——轨迹作为中间表示促进了跨任务知识共享
  • 相比之下 OpenVLA-Multi(71.0%)比单任务(76.5%)下降 5.5%
  • LIBERO-Long 上多任务 TCoT 达 71.0%,显著领先

3.2 LIBERO 连续动作建模

方法SpatialObjectGoalLong平均
π₀96.898.895.885.294.2
UniVLA96.596.895.692.095.2
OpenVLA-OFT96.998.195.591.195.4
TCoT-OFT97.598.895.093.596.2

以 OpenVLA-OFT 为骨干的 TCoT 在 Long 任务上提升 2.4%,进一步验证了轨迹规划对长时域任务的增益。

3.3 真实世界评估(AIRBOT Arm,7 个任务)

设置方法Pick cubePick cupPick spoonStack bowlStack cubeUse spoonUse shovel平均
SingleOpenVLA0.500.250.450.400.200.600.350.39
SingleTCoT0.700.500.750.900.350.850.600.67
MultiOpenVLA0.550.250.450.450.300.600.400.43
MultiTCoT0.800.650.850.900.500.850.700.75

核心发现

  • TCoT 单任务平均 +28%(0.39→0.67),多任务平均 +32%(0.43→0.75)
  • 多任务 TCoT 提升幅度(+8%)是 OpenVLA(+4%)的两倍,验证了轨迹中间表示的跨任务知识共享能力
  • 工具使用任务(Use spoon、Use shovel)涉及复杂多步操作,TCoT 增益最为显著

3.4 消融实验

方法全局轨迹局部轨迹GLSR平均 SR
OpenVLA76.5
TCoT78.6(+2.1)
TCoT77.3(+0.8)
TCoT82.9(+6.4)
  • 全局轨迹贡献 +2.1%,局部轨迹贡献 +0.8%
  • 加入 GLSR 后总增益达 +6.4%——失败检测与恢复的贡献(+3.5%)超过两种轨迹规划之和
  • 验证了显式失败恢复相比隐式重试的巨大优势

四、局限性与未来方向

  1. 2D 轨迹的局限:TCoT 使用 2D 图像坐标系中的轨迹,缺乏深度信息。对于需要精确 3D 操作的任务(如插入、对齐),2D 轨迹可能不足
  2. 全局轨迹冻结:全局轨迹在首步生成后冻结,无法适应环境的重大变化。虽然局部轨迹部分缓解了这一问题,但对于根本性目标变化仍然无力
  3. 失败检测的二值化:当前失败检测仅输出 True/False,缺乏对失败类型的细粒度分类(如抓取失败 vs 放置失败),限制了恢复策略的针对性
  4. 骨干依赖:TCoT 的效果受限于底层 VLA 骨干的能力(OpenVLA 7B),更强的骨干可能进一步释放轨迹规划的潜力

五、个人思考

5.1 轨迹作为 CoT 的自然选择

文本 CoT(如 ECoT)在机器人操作中面临一个根本问题:文本描述无法精确表达空间关系。"向左移动 5cm"比不上一条从 (120, 80) 到 (75, 80) 的轨迹直观。TCoT 选择轨迹作为 CoT 表示,巧妙地利用了操作任务的几何本质——末端执行器的运动路径本身就是最紧凑的任务描述。

5.2 与 SPR 的有趣对比

项目中的 SPR 同样关注子目标规划和失败恢复(See-Plan-Rewind),但路线不同:

  • SPR:离散的 2D 坐标子目标 + 进度监控 + 回退机制
  • TCoT:连续的全局/局部轨迹 + GLSR 全局-局部切换

两者都证明了中间规划层 + 失败恢复对 VLA 的重要性。有趣的是,SPR 在 LIBERO 上达 91.8%(连续动作建模基线更强),TCoT 在离散设置下达 83.3%——说明轨迹规划的增益与底层动作建模方式正交。

5.3 多任务知识共享的轨迹机制

TCoT 最令人印象深刻的发现:多任务训练提升性能(83.3% > 82.9%),而 OpenVLA 多任务反而下降(71.0% < 76.5%)。作者的解释很有说服力:当两个任务共享相似轨迹片段时(如"拿起物体"的轨迹在多个任务中相似),模型可以从重叠轨迹中学习共享抽象。这意味着轨迹作为中间表示不仅帮助单个任务,还创造了跨任务的知识桥梁

5.4 GLSR 的简洁有效

GLSR 的核心思路极其简单——检测到失败就从全局规划切换到局部规划。但消融实验显示这一机制贡献了 +3.5%(全部增益的 55%)。其有效性的根源在于:全局轨迹一旦产生偏差,继续跟随只会放大错误;切换到局部规划提供了"重新出发"的机会。这与人类操作的直觉一致——当计划失败时,我们会缩短视野,专注于当前状态的局部调整。

5.5 统一框架的实用价值

TCoT 将轨迹规划、动作生成、失败检测集成到单一 VLA 中,通过不同 prompt 调用不同能力。这种设计避免了使用外部 VLM 做失败检测的额外开销,同时保证了检测与恢复的一致性。对于实际部署,这种统一性比模块化方案更具工程价值。


参考

  • OpenVLA(Kim et al., 2024):TCoT 的 VLA 骨干
  • OpenVLA-OFT(Kim, Finn, and Liang, 2025):连续动作建模骨干变体
  • ECoT(Zawalski et al., 2024):文本级 Embodied CoT 推理,TCoT 的主要对比
  • CoT-VLA(Zhao et al., 2025):视觉 CoT 推理增强 VLA
  • CoTracker(Karaev et al., 2024):轨迹追踪模型,TCoT 数据生成 pipeline 的核心组件
  • SAM2(Ravi et al., 2024):视频分割模型,处理遮挡场景的轨迹补全
  • LIBERO(Liu et al., 2023):主要仿真评估基准