REFLECT: Summarizing Robot Experiences for FaiLure Explanation and CorrecTion

发表时间:16 Oct 2023

论文链接:https://robot-reflect.github.io/

作者单位:Columbia University, New York, NY, United States

Motivation:自动检测和分析失败执行的能力对于可解释和健壮的机器人系统至关重要。然而,现存的挑战在于如何生成机器人感官数据的文本摘要,并系统地查询llm进行故障推理。换句话说,我们如何将机器人失败推理任务转换为语言推理任务

解决方法:为了利用llm的力量进行机器人故障解释,我们引入了REFECT,这是一个框架,它根据从多感官观察生成的机器人过去经验的层级的总结查询LLM进行失败推理。失败解释可以进一步指导基于语言的规划器来纠正故障并完成任务。为了系统地评估该框架,我们创建了具有各种任务和故障场景的 RoboFail 数据集

实现方式:Method: the REFLECT Framework:It contains three modules: a hierarchical robot summary module that summarizes multisensory robot data with three levels of abstraction (§3.1), a progressive failure explanation module that queries LLM to detect and explain the failure (§3.2), and finally a failure correction planner that generates an executable correction plan (§3.3).

Hierarchical Robot Summary: 我们观察到一个好的机器人摘要的两个重要属性:1.使用多种感觉器官的 2.层级的。为了进行有效的故障解释和校正,我们提出了一种分层总结结构:1)随着时间的推移聚合和转换机器人感官数据到一个统一的结构中; 2)总结机器人经验以实现有效的故障定位和解释。层次总结结构包含三个层次:感官输入总结、基于事件的总结和基于子目标的总结

  1. Sensory-Input Summary

感官输入总结将非结构化、多模态的机器人感官观察处理成一个统一的结构,存储必要的信息以进行故障解释

  • Visual summary with task-informed scene graphs:为了了解机器人与周围环境的相互作用,从观察中提取对象间关系、机器人-对象关系和对象状态信息是很重要的。在RGB图像上运行对象检测以获得语义分割IS t,并使用观察到的深度将其投影到3D语义点云(也是使用深度图从2D到3D)。此外,对于可以改变状态的对象(例如微波可以打开和关闭),我们根据对象的检测到的边界框裁剪图像并计算裁剪图像和预定义对象状态标签列表之间的 CLIP 嵌入 [33] 的余弦相似度。(也就是观察到的rgb图像与文本语义标签之间的相似度(通过clip计算))。 给定语义点云,启发式用于计算 8 个常用空间关系的对象间空间关系 1:在左侧,在右侧,上面、下面、遮挡和附近。我们还从抓取状态和目标检测结果中推断机器人-对象关系。(附录有详细介绍) 为了随着时间的推移聚合 3D 点云,我们使用与 Li 等人类似的方法。 [34] 使用 4 个启发式操作将新观察到的点云 pt 与所有先前时间步 Pt-1 的累积点云对齐:添加、更新、替换和删除。(附录有详细介绍) 根据对象之间的关系建图。同时为了降低复杂度,只consider objects that are relevant to the task。

  • Audio summary:给定一个输入音频流,我们首先通过过滤掉体积低于某个阈值 ε 的范围将整个音频剪辑分割成几个子剪辑。然后对于每个子剪辑 s,我们使用预训练的音频语言模型(例如 AudioCLIP [35]、Wav2CLIP [36])计算其音频语言嵌入。(也是通过CLIP计算音频和文本语义标签之间的相似度,但是这里是音频和文本之间的相似度,用的AudioCLIP ,而上面是图像文本的clip

  1. Event-Based Summary

鉴于感官输入总结为每一帧计算一个场景图因此包含冗余信息,基于事件的总结的目标是选择关键帧并从相应的场景图中生成文本标题。 We design a key frame selection mechanism based on visual, audio, and robot states:更具体地说,如果帧满足以下任何条件,则选择一个帧:1)当前帧Gt的任务信息场景图与前一帧Gt−1不同。2)帧是音频事件的开始或结束。3) 帧标记子目标执行的末尾。(注意这里的帧是图像信息和音频信息的混合)

对于每个关键帧,我们将场景图转换为具有以下格式的文本。在构建视觉观察时,我们只考虑当前帧中可见的对象。

  1. Subgoal-Based Summary

基于事件的总结在整个机器人任务执行过程中存储环境观察。然而,LLM很难推断预期结果并识别每个低级动作的失败。因此,我们引入了Subgoal-Based Summary,which consists of observations at the end of each subgoal, for LLM to identify misalignment between the robot execution outcomes and its high-level plan。基于子目标的总结使失败解释模块能够通过检查每个子目标是否满足而忽略低级执行细节来快速处理机器人经验总结。一旦检测到失败,就可以检索到存储在event-based summary or sensory-input summary中的相关环境信息(检测到Subgoal失败了,退回到上一步的event-based summary or sensory-input summary),以便进行详细的故障解释。

也就是说,是在Subgoal-Based Summary 这一部分来检测失败的。

Progressive Failure Explanation:

失败解释算法应该同时处理执行和规划失败,前者需要动作级别的观察细节,后者需要任务级别的信息,例如任务描述和机器人计划。为此,该算法首先识别故障的类型,然后从层次摘要中检索相关信息,构建到LLM的查询。如图3所示,该算法首先迭代子目标,并使用以下提示验证成功。(先利用prompt判断子任务是否成功,回答yes或者no,这一步是有ground truth的

LLM 被指示输出“是”或“否”。如果没有实现子目标,那么我们检索存储在基于事件的摘要中的历史观察以进行故障解释,如下所示:

如果实现了所有子目标,但任务仍然失败,那么计划本身很可能是不正确的(对应图中的上半部分)我们使用机器人原始计划和环境最终状态来识别机器人计划中的错误。最终状态是从最后一个时间步的聚合语义点云生成的场景图中获得的。(没有特定于视图的关系(在左侧,右侧,遮挡))。

Failure Correction Planner: 故障校正规划器应该为机器人生成一个可执行计划来纠正故障并完成任务,从原始任务执行的最终状态开始。先前的工作表明,良好的故障解释有助于非专家用户更好地理解故障并帮助机器人。类似地,我们假设故障解释还可以引导语言规划器生成导致任务成功的高级校正计划。然后利用以下提示直接生成修正后的Correction plan:(在给定失败解释和最终状态以及目标状态的情况下修正plan

为了确保语言模型生成的计划在环境中可执行,我们采用了Huang等人的思想,使用大型预训练句子嵌入模型将每个LLM生成的动作映射到任务环境中最接近的可执行动作。

实验数据集制作(The RoboFail Dataset):在模拟中,我们在 AI2THOR 中生成任务执行数据并手动注入故障。The dataset contains a total of 100 failure scenarios, with 10 cases for each of the 10 tasks(过程中的数据都是有ground truth的)。

The real-world failure data is collected by a human teleoperating a UR5e robot arm to mimic robot policies according to a provided high-level plan.

模型结构:We use MDETR [37] for object detection, CLIP [33] for object state detection, and AudioCLIP [35] for sound detection

评价指标(都是与自己对比的消融实验):1. Exp (explanation):对错误的解释是否正确(是有人为标定的ground truth的) 2. Loc (localization)(定位错误发生的位置(哪个帧)(时间))3. Co-plan (correction planning success rate)(修正之后是否成功)。

结论:用于将感官数据转换为文本摘要的方法中的一些限制:

1. 尽管用于生成场景图的启发式方法足以用于本文研究的场景,但它在更复杂的环境中可能是欠缺的。要么训练一个大的空间推理模型,要么微调机器人数据上的现有模型可能是一个有前途的解决方案。

2. 此外,对象状态检测方法假设给定的候选对象状态列表(预定义好的状态列表,比较受限),这可以通过一种方法(例如提示 LLM)来放松(可以通过LLM达到更多的状态定义,更加泛化),该方法输出给定对象类别的可能状态。

最后,给定机器人summary包含的信息(对象检测、对象状态、空间关系),处理低级控制失败效果较差。

未来的工作可能会考虑开发更好的感知方法来捕获更多low-level state information。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ming_Chens

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值