为了构建机器人的大脑并模仿人类的思维方式,本文创新性地引入了一个机器人自我纠正多模态大模型,名为Self-Corrected (SC)-MLLM。在机器人场景中,我们的工作首次实现了利用多模态大模型同时预测机械臂末端执行器的操纵位姿,并能自主识别和纠正失败的操作动作。除此之外,基于成功纠正的样本,SC-MLLM还能进行持续性策略学习,构建了首个闭环自纠正机器人操纵代理框架。
该项目由北京大学的仉尚航团队(HMI实验室)研究,作者包括北京大学博士生刘家铭、李忱轩、王冠群等。HMI实验室长期致力于机器学习、多模态学习和具身智能领域的研究。
项目主页:
https://sites.google.com/view/sc-mllm-web
Github:
https://github.com/2644521362/SC-MLLM
论文链接:
https://arxiv.org/pdf/2405.17418
摘要
图1. SC-MLLM 闭环自纠正流程
机器人操作策略在面对新的任务或对象时,表现出不理想的动作表现。因此,具备自动检测和自我纠正失败动作的能力对于一个实用的机器人系统至关重要。最近,多模态大模型(MLLMs)在视觉指令执行方面表现出色,并在各种任务中展示了强大的推理能力。
为了将通用的MLLMs作为端到端的机器人代理,我们引入了一个自我纠正SC-MLLM,使我们的模型不仅能够预测末端执行器的姿态,还能自主识别和纠正失败的动作。具体来说,我们首先进行参数高效的微调,以赋予MLLM操纵位姿预测能力,将其重新定义为语言建模问题。当面对执行失败时,我们的模型学会识别低级别动作错误的原因(即接触点和旋转预测错误),并自适应地从专家那里寻求提示反馈。基于反馈,SC-MLLM重新思考当前的失败场景并生成纠正后的动作。此外,我们设计了一种持续的策略学习方法,针对成功纠正的样本,提高模型对当前场景配置的适应性,减少专家干预的频率。
为了评估我们的SC-MLLM,我们在仿真和现实环境中进行了广泛的实验。与之前的最先进的机器人MLLM (ManipLLM)相比,SC-MLLM代理显著提高了操作准确性,在已见过的对象类别上的准确率从57%提升到79%,在未见过的新对象类别上的准确率从47%提升到69%。
研究意义
为了赋予机器人大脑,使其可以模仿人类的思维方式,本文将我们提出的自我纠正多模态大模型(SC-MLLM)构建成类人思维方式的快系统1和慢系统2。心理学中的系统1和系统2是由心理学家丹尼尔·卡尼曼(Daniel Kahneman)和阿莫斯·特沃斯基(Amos Tversky)提出的两个思维系统,用于描述人类思维和决策过程的不同方式。系统1用于处理日常生活中的大部分决策和判断。它依靠直觉和经验进行快速反应,不需要耗费太多的心理资源。系统2用于处理复杂和需要深思熟虑的决策和判断。它依靠逻辑和分析来做出决定,通常需要更多的时间和心理资源。因此,我们将SC-MLLM中直接进行操纵位姿预测比作快系统1。当发生错误操纵时,我们把SC-MLLM中的自纠正过程比作慢系统2。最后,通过持续性策略学习将慢系统2中的操纵知识逐渐迁移到快系统1中,提升系统1的操纵稳定性。
同时,我们的端到端 SC-MLLM 代理可以在每个应用场景中多次使用,不断提高模型位姿预测的准确性。例如,在家具设置中,场景环境和操作对象在不同用户之间有所不同。在获得基本操作能力后,我们的 SC-MLLM 可以在每个用户的家中进行重复的闭环校正和持续性策略学习会话。这个过程可以高效地为每个用户提供定制的、高精度的操作策略模型,而不是共享的、低准确性的策略模型。
研究背景
最近,多模态大模型(MLLMs)在视觉指令执行和常识推理方面展示了显著的能力。一些研究将MLLMs整合到机器人操作中,使机器人能够探索多模态信息并制定任务计划。同时,其他研究人员则专注于开发能够直接预测机器人低级动作轨迹的MLLMs。
尽管将多模态大模型整合到机器人领域已经显示出很有前景的进展,但当前的模型在面对新任务或对象实例时仍然容易出现大量失败预测。现有方法缺乏在闭环控制过程中自动检测和自我纠正失败动作的能力。这一限制显著影响了其在现实世界环境中的实用性,而现实世界中充满了不确定性和意外障碍。
认识到自我纠正在机器人操作中的关键作用,最近的研究提出了一些解决方案。REFLECT通过利用LLMs生成故障解释并帮助基于语言的规划器纠正错误而脱颖而出。在此创新的基础上,后续研究更深入地探讨了LLMs在机器人纠正能力方面的应用,纠正了高级任务规划和低级技能。然而,现有的机器人纠正方法仍面临两个主要挑战。
1) 缺乏纠正低级操纵位姿预测的能力。
现有方法可以纠正低级技能原语,例如生成“向右移动一点”的语言提示。然而,这些提示往往难以被动作模型理解并转换为具体的位姿。此外,它们无法直接纠正完成操作任务所必需的原子任务的位姿预测。
2) 缺乏从纠正反馈中学习的能力。
当前的纠正框架无法从成功的纠正案例中学习和改进策略预测。当遇到类似的故障时,它们仍然依赖外部专家(如GPT-4),这限制了它们的实用性和可持续发展
因此,为了将通用的多模态大模型(MLLMs)作为端到端的机器人代理,我们首次引入了自我纠正, Self-Corrected (SC)-MLLM,创新性的使模型能够预测末端执行器的姿态,还能自主识别和纠正失败的动作。
闭环自纠正过程
如图1所示:
步骤 1.
SC-MLLM 将操纵位姿预测重新定义为语言建模问题,利用初始状态图像和文本提示生成动作姿态。
步骤 2.
SC-MLLM 利用终止状态图像和末端执行器参数进行错误识别,并自动化地请求专家提供及时反馈以生成纠正后的操纵位姿。
步骤 3.
SC-MLLM 从成功纠正的样本中不断学习策略,提高模型对当前场景配置的适应性。通过这些纠正步骤,我们为每个用户高效地提供定制化策略模型,而不是依赖于共享的低准确率策略模型。
本文的主要贡献可以被概括为以下三点:
为了将通用的多模态大模型(MLLMs)作为端到端的机器人代理,我们引入了Self-Corrected (SC)-MLLM,使我们的模型不仅能够预测末端执行器的操纵位姿,还能自主识别和纠正失败的动作。
我们的SC-MLLM首次尝试检测低级位姿预测的失败原因。基于原因,SC-MLLM可以自适应地请求专家的及时反馈,以重新思考当前的失败场景并生成纠正后的操纵位姿。
我们为纠正样本设计了一种连续策略学习方法,提高模型对场景配置的适应性,减少专家干预的频率。
自纠正多模态大模型(SC-MLLM)
1.模型结构设计
如下图2所示,我们采用LLaMA-Adapter V2作为基础的多模态大模型(MLLM),通过CLIP视觉编码器提取RGB图像的视觉特征,并使用预训练的LLaMA分词器对文本提示进行编码。我们的MLLM通过一个投影层将视觉特征与LLM的嵌入空间对齐,使LLaMA能够进行多模态理解并生成相应的答案。在训练过程中,我们仅对LLM中的注入适配器进行微调,同时保持主要的预训练参数不变,以保留现有MLLM的强大能力并增强模型在操纵和失败纠正方面的功能。
图2. 自纠正多模态大模型框架及训练范式
2.操纵位姿预测
为了实现赋予SC-MLLM精准生成执行器末端位姿的能力,在预收集训练数据过程中,我们在模拟器中捕捉RGB图像及其对应的成功操纵末端执行器姿势。在微调阶段,如上图2 Step 1所示的位姿预测提示,我们将输入文本提示结构化为“Predict the contact point and orientation for pushing/pulling the object.” 答案格式被指定为:“The contact point is
, the gripper up 3D direction is
, and the gripper forward 3D direction is
.”。
在推理过程中,我们的SC-MLLM专注于预测图像上接触像素的2D坐标[x, y],然后利用深度信息将其转换为3D坐标。同时,我们根据几何关系从其向上和向前的方向获取抓夹的左方(Z轴方向)。为了提高操纵精度,我们在现实世界中有选择地利用连锁思维(CoT)推理。具体来说,我们可以通过在进行预测前整合对象类别识别和任务规划描述使用CoT方法,提高模型位姿预测的稳定性。例如,如果模型回应“你通常会从右侧拉门”,这种基于规划的反馈可以帮助模型生成更精确的接触点。
3.错误检测和纠正
我们的研究首次尝试直接纠正执行器的6 DoF控制动作,这与之前针对高层规划或低层技能原语的纠正工作不同。由于原子任务是完成复杂和长程任务的基础,因此纠正每个原子任务的位姿预测至关重要。在进行纠正过程之前,必须评估动作是否失败并识别失败的原因。具体来说,我们利用SC-MLLM固有的视觉理解能力和特定的提示来判断任务是否完成,例如,我们将结束状态的图像输入到我们的SC-MLLM并提出问题,“Was the microwave door closed? Please answer yes or no.” 由于预训练的MLLM缺乏失败原因的识别能力,我们使用图2 Step2中显示的失败检测提示对模型中的注入适配器进行微调。基于结束状态图像和执行器姿势,我们的模型能够准确识别失败原因,包括位置、旋转或组合错误。根据错误类型,我们的SC-MLLM可以自适应地请求指定专家的即时反馈,并利用这些反馈重新预测动作姿势。
4.专家提示反馈机制
1)操纵位置专家。
为了获得位置专家的即时反馈,如图3左侧所示,我们首先使用Where2Act生成通过输入2D图像得到的可操作性图,该图显示了在特定像素上操作时实现移动距离的概率,反映了对象的可操作区域。现有可操作性图预测的方法在判断潜在可操作区域时精度有限,如图3所示,位置专家预测的高可操作性得分区域C0-C3并不真实可操作。因此,我们利用推理专家如GPT-4V的常识推理能力,从高可操作性得分区域随机选择点,并通过推理专家进一步筛选,从而自动获取相对准确的接触点作为我们SC-MLLM的输入提示。
图3. 专家反馈过程
2)操纵方向专家。
如图3右侧所示,我们使用Anygrasp生成旋转校正提示。Anygrasp在大规模数据上进行训练,直接输入包含丰富上下文信息的3D点云数据,从而能够准确预测抓取旋转。然而,我们的操纵任务不仅限于抓取,因此无法预测整个物体的抓取位置和方向。这也是为什么我们不使用Anygrasp作为位置专家的原因。为了生成每个物体局部区域的方向预测,我们根据模型预测的接触点选择一个操作框,并在选定的框区域内生成操纵方向。
3)操纵位置和方向组合专家。
如果失败案例涉及组合错误,我们依次应用位置和旋转校正。操纵方向专家使用位置专家提供的最高置信度接触点来生成相应的旋转。最后,我们将位置和方向的校正反馈结合起来,作为我们模型的输入提示。为了使我们的SC-MLLM能够理解专家反馈,我们在训练过程中引入了类似的问题格式,如图2 Step 2所示。
5.持续性策略学习
由于在每次操作过程中机器人和物体的相对位置会发生变化,无法重复使用之前的专家提示反馈。因此,在获得成功校正的样本后,我们设计了一种持续性策略学习方法。该方法旨在提高操纵位姿预测能力,而无需专家反馈提示,因为专家干预会产生额外的通信成本和时间。然而,在使用新的成功样本进行微调时,存在灾难性遗忘的风险,可能导致SC-MLLM的固有能力丧失。因此,我们探索使用指数移动平均(EMA)来持续从新数据中学习,公式如下:
定量实验
表1. SAPIEN仿真实验,包含来自PartNet-Mobility的铰接物体。其中包括训练(已见过)类别20种和测试(未见过)类别10种。
在主要实验中,我们的SC-MLLM与四个代表性基线模型进行比较:UMPNet、Flowbot3D、ManipLLM以及我们使用的专家模型。如上表所示,通过使用专家反馈提示进行姿势纠正预测,我们的模型在训练类别(已见过类别)上达到了87%的准确率,在测试类别(未见过类别)上达到了68%的准确率。与基于MLLM的方法相比,我们的模型(未使用专家提示的版本)在已见和未见类别上分别实现了22%的改进,超越了之前最先进的ManipLLM。结果表明,我们提出的方法能够有效地纠正失败动作,从成功纠正的样本中学习,并提高对未见对象的泛化能力。最后,我们将SC-MLLM与我们使用的专家进行比较,以验证改进不仅来源于专家提示,还来源于我们模型基于这些提示的重新思考和纠正。
定性结果
图4. 操纵位姿预测的可视化。绿色、红色和黄色的线分别代表末端执行器方向的z轴、y轴和x轴,而蓝点表示接触点
如图4所示,我们分别在SAPIEN模拟器和真实世界中进行了定性可视化展示。其中,我们使用Franka panda机器人手臂进行了涉及多种家用物品的真实世界实验,并通过在抓夹上附加双面胶带将其改造为吸盘夹具,增加了夹具头的粘附性。尽管ManipLLM证明基于MLLM的方法较少受到仿真到现实领域差异的影响,我们仍通过改变对象部件姿态、摄像机角度、照明等元素增加了场景多样性,以减少潜在的仿真到现实的差距。通过闭环校正后,我们的方法可以在实际世界中准确预测接触点和3D方向,对于许多真实世界中的物体,我们的模型可以直接预测精确的动作姿势,并且只在失败情况下执行校正方案。