论文阅读-Manual2Skill:利用视觉语言模型(VLM)阅读说明书来指导机器人进行家具组装

论文阅读-Manual2Skill:利用视觉语言模型(VLM)阅读说明书来指导机器人进行家具组装

文章目录

文章信息

  • 文章标题:《Manual2Skill: Learning to Read Manuals and
    Acquire Robotic Skills for Furniture Assembly Using Vision-Language Models》
    (Manual2Skill:利用视觉语言模型(VLM)阅读说明书来指导机器人进行家具组装)
  • 文章链接:https://arxiv.org/abs/2502.10090
  • 项目地址:https://owensun2004.github.io/Furniture-Assembly-Web/
  • 期刊:Robotics: Science and Systems XXI(RSS 2025)
  • 关键词:VLM、Manual2Skill、Robotic Assembly(机器人装配)、Robot Learning from Instructions(从指令中学习的机器人)、Hierarchical Assembly Graphs(分层装配图)
  • 部分名词或缩写解释:
    • CoT(Chain-of-Thought prompting)思维链提示是一种大语言模型(LLM)推理技术:通过引导模型逐步推理(例如在回答问题前先“思考”中间步骤),从而提高复杂任务的准确率。例如:不是直接问“答案是多少?”,而是问“请一步步推理并给出答案。”
    • Least-to-Most(由简到繁):一种更结构化的提示方法,将复杂问题分解为一系列由易到难的子问题,先让模型解决最简单部分,再逐步利用前面的答案解决更复杂的部分。这种方式能有效提升模型在多跳推理或多步骤任务中的表现。
    • VLM(Vision-Language Model,视觉-语言模型):能同时理解图像和文本的AI模型。
    • GroundingDINO:是一种 开放词汇(open-vocabulary)目标检测模型,由 IDEA 实验室提出。 不需要预先定义类别,只需输入文本提示,就能检测出对应物体。
    • Set of Marks:用于结构化标注或索引分配的方法它的作用是为检测到的每个零件分配一个唯一的数字编号(numerical index),比如 Part #1, #2, #3…
    • PCA(Principal Component Analysis,主成分分析):自动找出数据“主干方向”的数学工具,常用于3D点云标准化、降维和特征提取。
    • GNN(Graph Neural Network,图神经网络):一种用于处理图结构数据的深度学习模型,能够通过节点之间的连接关系进行信息传递与聚合,从而学习节点、边或整张图的表示。适用于建模具有显式或隐式关联关系的系统。
    • FoundationPose:一种基于深度学习的6D位姿估计模型,能从单张图像中预测物体在空间中的位置和姿态(平移+旋转)。
    • Segment Anything Model (SAM):Meta公司发布的通用图像分割模型,可以对任意图像中的物体进行像素级分割(即“把每个零件框出来”)。
    • RRT-Connect:一种经典的机器人运动规划算法,用于在复杂环境中寻找无碰撞路径。
    • Image Encoder:将图像转换为语义特征的网络。
    • MobileNet V2:轻量化卷积神经网络,计算效率高,适合实时任务。
    • DeepLabV3+:用于语义分割的经典模型,擅长理解图像中物体的位置与边界。
    • PointNet++:一种高效处理点云的深度学习模型,能提取局部和全局特征。
    • PyBullet::一个开源的物理引擎和机器人仿真平台,支持刚体动力学、碰撞检测等。
  • 做了什么:
  • 为什么做(背景):
    • 人有按照手册组装的能力,机器没有?
  • 方法/实验/场景:
    • 利用VisionLanguage Model(VLM)从教学图像中提取结构化信息,然后使用这些信息来构建分层装配图。
    • 姿势估计模型预测每个装配步骤中组件的相对6D姿势
    • 运动规划模块为现实世界中的机器人实现生成可操作的序列。
    • 实验:宜家家具组装
  • 效果与价值:
    • 成功地组装了几个真实家具验证有效性。
    • 标志者推动机器人以类似于人能力的理解与执行复杂操作任务的能力上的进步
  • 装配插入策略:
    • 无法实现精准装配需人工辅助执行插入

设计了新框架Manual2Skill通过阅读指导手册让机器具备复杂的组装能力

在这里插入图片描述

Atrous Spatial Pyramid Pooling (ASPP):一种多尺度感受野模块,能同时捕捉局部和全局信息。

在这里插入图片描述

引言

  • 背景:
    • 人具备根据操作手册进行组装的能力,机器人则需要通过模仿学习或强化学习来实现,这需要大量的数据和计算能力机器人在真实环境中模拟人类动作一直以来都是个挑战,更何况从抽象手册中获取相关信息并执行相关动作。
    • 类似的研究:做饭的机器人;按草图轨迹的机器人操作(局限:仅仅是一些简单的桌面操作);
    • 相关工作:家具组装、VLM引导的机器人学习、从演示中学习(LfD)
  • 方法与价值
    • 开发一种让机器人有效利用人类设计的手册的方法,既能指导机器人学习组装动作,同时减少实现该功能的数据依赖
      • 首先利用视觉语言模型(VLM)来理解手册并提取装配结构,输出层次结构图;
      • 然后,训练模型来估计每个步骤中涉及的零部件的装配姿势;
      • 最后,运动规划模块生成动作序列并执行。
    • 在宜家家具的四件实物上对方法进行了评估,展示了其在真实世界装配任务中的有效性和适用性。

方法

在这里插入图片描述
A:VLM引导的分层装配图生成
  • 关于VLM功能和提示结构:
    • 为什么选择VLM
      • 手册通常是抽象的草图,而预装场景图像是高份辨率的真实世界图像,图片具有多样性,需要跨越不同图像域的高级视觉识别和空间推理,这是VLM强项(VLM在广泛的互联网规模的数据集方面进行了培训)
    • VLM的提示词内容:
      • 图片集(Image Set):所有手册页面和现实世界的装配前场景图像(多图像推理)
      • 文字指令(Text Instructions):范围涵盖单独指令与思维链推导。所有指令结合了情景学习示例,并指定了所需的输出格式(JSON、Python代码或自然语言)。这一步确保了结构良好、可解释的输出能无缝融入后续阶段
  • 步骤1:将真实部件与手册相关联
    • 通过分析手册插图中的空间、上下文和功能线索预测每个物理部分的角色
    • 获取更好精度:让提示遵循CoTLeast-to-Most
    • 加强部件识别:图像上利用 GroundingDINO 实现零样本零件检测,再通过 Set of Marks 方法自动编号,将真实场景与手册中的草图对应;文本上遵循{name, label, role}这样的结构,来增强可解释性与一致性。将图集以及文本格式输入给 VLM,由它生成图文标签用于装配图的各层级节点。
  • 步骤2:确定每个步骤中涉及哪些部分
    • 使用VLM推理实现
    • 遇到的问题:VLM受一些无关元素比如手指等的影响;解决方式:对图像进行裁切,仅保留家具零件与子组件来集中VLM的注意力。
    • 表格生成:通过GPT-4o对话实现页面与装配零件以及步骤的绑定:
    • 生成嵌套的层级列表(包含等效组件);
B:单步预装配位姿估计

训练了一个估计组件姿态的模型

    • Ii:人工拍摄的图像;–特征
    • {P}j:参与该装配步骤的所有部件的点云;–特征
    • {T}j:每个部件的目标位姿;–特征
    • Ri:部件之间的空间以及几何关系;–标签
    • ps:关于坐标基准:利用PCA成分分析法建立了基于形状的坐标系;
  • 模型搭建:
    • 四个模块:图像编码器、点云编码器、跨模态融合模块、姿态回归器
    • 使用GNN更新图像与点云的特征作为结点
    • 点云特征作为姿态回归器的输入,输出每个组件目标姿态
  • 损失函数:
    • 预测准确率
    • 点云与真实点云之间的距离

数据集:每个数据样本是一个四元组(包含四个部分)

在这里插入图片描述
C:机器人装配动作生成
  • 对齐预测姿态与真实世界
  • 执行装配
    • 零件抓取
      • 扫描实物图像后生成3D,使用FoundationPose以及Segment Anything Model获取部件初始状态
      • 设计了根据个体的几何形状设计的启发式抓取方法
    • 零件装配轨迹
      • 寻找可行无碰撞路径点
      • 利用FoundationPos和SAM重新计算所抓取组件的 6D 姿势:
      • 利用RRT-Connect进行机器人运动规划

实验

  • 实验设计思路:
    • 从手册中提取生成装配层级图
    • 姿态估计是否可以适用于不同类别的家具
    • 人工指导下,框架效果如何
    • 能否应用到真实世界场景
    • 能否扩展到更广泛的场景
    • 如何确定与评估关键模型的选择
a.装配层级图生成 Hierarchical Assembly Graph Generation
  • 实验设定:
    • 数据集:宜家102个家具(手册、3D模型、组装树)
    • 数据处理:利用3d软件获取排列整齐、任意打乱的两类图像;
    • 输出:装配图(预测树)
  • 评估标准:Success Rate准确率
  • 对比选择:用两种方法对比
    • SingleStep:生成一个扁平的树结构,一个父节点,n个子节点;
    • GeoCluster:使用预训练的 DGCNN 模型(一种处理3D点云的神经网络)来提取几何特征,生成多层级树结构;

结果:相对较好,且突破了6个零件以上基线水平。

在这里插入图片描述
b.每一步的姿态估计 Per-step Assembly Pose Estimation
  • 数据准备:三类家具chair, table, and lamp;每类100个,每个生成多种不同的“零件选择”和“子装配划分”方式。利用三维软件渲染,为每个类别生成12000个训练和5200个测试数据。
  • 训练细节:
    • 图像编码器:采用DeepLabV3+
      • 主干网络(backbone):MobileNet V2 → 轻量、快;
      • 特征提取模块:ASPP → 支持多尺度分析(如小零件 vs 大部件),通过多孔卷积能捕捉多尺度结构与空间信息。
      • 输出:一个多通道特征图(multi-channel feature map)
      • 平均最大池化:把整个图压缩成一个256维的全局向量F
    • 点云编码器:用PointNet++提取3D几何特征
      • 输入:每个零件或子组件的3D点云数据
      • 输出:每个部分的256维特征向量Fj(特征包含几何形状、大小、曲率等信息)
    • 图神经网络(GNN):用图Transformer处理装配关系
      • 3层Transform
      • 输入:所有零件的特征Fj+它们之间的连接关系(边)
      • 输出:更新后的节点特征,反映“谁和谁相连”、“哪些应该先装”
    • 姿态回归器:MLP 预测零件位姿
      • 三层 MLP(全连接网络)
      • 输入:融合后的特征(来自图像、点云、图)
      • 输出:预测的 6D 位姿(位置 + 姿态)
  • 基线(对比):
    • Learning 3d part assembly from a single image.提出了一种用于单图像引导3D物体姿态估计的方法。
    • 用均值最大池技巧取代GNN
  • 评估指标:综合类指标
  • 结果:
  • 消融实验:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GD、RMSE、CD 均降至最低,位姿预测精度极高;PA达到86.8%,表明绝大多数零件都能被“正确放置”;在椅子、桌子、台灯三种典型家具上表现一致,证明模型具备良好的泛化能力。

在这里插入图片描述

Part Accuracy (PA):判断某个零件是否被“正确放置”的二元指标,基于CD阈值。用于统计装配成功率。

在这里插入图片描述

Chamfer Distance (CD):计算两个点云之间整体的相似性,反映几何匹配程度。对每个点,在另一个点云中找最近邻,取所有距离的平均。

在这里插入图片描述

Root Mean Squared Error (RMSE):衡量完整6D位姿(位置+旋转)的综合误差。

在这里插入图片描述

Geodesic Distance (GD):衡量两个旋转之间的最短路径距离(在单位球面上),常用于评估姿态误差。

在这里插入图片描述
c.整体效果评估 Overall Performance Evaluation(仿真)
  • 实验设计:在PyBullet仿真环境中,使用IKEA-Manuals数据集测试全流程:从图像生成装配图→确定顺序→用RRT-Connect规划路径,验证方法能否实现无碰撞装配,但不涉及真实机器人执行
  • 基准:开创性场景,无基准参考,因此自定义基准:
    • 使用已有工作结合完整装配图像估计各零件的6D位姿
    • 采用启发式策略确定装配顺序(根据计算的距离远近)
  • 评估指标:装配成功率
    • 失败指标1:零件放置离真实位置太远
    • 失败指标2:发生碰撞
    • 失败指标3:零件悬空中止
  • 结果:测试50个家具(零件数量小于7)
    • 最常见的故障发生在 VLM 无法生成完全准确的装配图时,导致点云与用于位姿估计的说明手册图像之间未对准。
在这里插入图片描述
d.真实世界的组装实验 Overall Performance Evaluation
  • 实验对象:4套宜家家具-Flisat (Wooden Stool), Variera (Iron Shelf),Sundvik (Chair), and Knagglig (Box);
  • 实验步骤图解、配套视频、每次试验10次
  • 评估方法:地面实况姿势、均值-最大池、自己的方法
    • 其中,地面实况姿势方法使用每个部件的地面实况姿势来组装家具。
  • 结果:相对来说完成率更高,主要失败在路径规划上,这点和仿真结果的主要失败原因有差异。未来计划制定一项用于自适应运动细化的低级策略。
在这里插入图片描述

评价标准:平均完成率(ACR),其中 N 是试验总数,Sj 是试验 j 中完成的步骤数,Stotal 表示任务中的步骤总数。

在这里插入图片描述

实验装置:

在这里插入图片描述
e.泛化到其他装配任务 Generalization to Other Assembly Tasks
  • 场景:
    • 组装玩具车轴(具有标准化组件的低复杂性任务,代表消费品组装),手绘说明书;
    • 飞机模型组装(中等复杂度的任务,代表消费品组装),手绘说明书;
    • 组装机械臂(涉及非标准化组件的高复杂性任务,代表研究和原型组装),本身就有3D模型;
  • 结果:5次试验,零样本泛化成功率100%

结论与未来展望

  • 局限:
    • 忽略了手册中的其他细节,例如抓取位置标记和精确的连接器位置;集成VLM可以一定程度上解决。
    • 不包括紧固机构的自动执行。
  • 结论:
    • Manual2Skill的新框架,解决了从手册中学习复杂操作技能的问题,对于机器人根据人类设计的指令执行此类任务非常重要。

Read more

Vivado下载安装后如何连接JTAG进行FPGA烧录实战案例

Vivado安装后如何用JTAG烧录FPGA?实战避坑全指南 你是不是也经历过这样的场景:好不容易完成了 Vivado下载与安装 ,兴冲冲打开软件准备把第一个 .bit 文件烧进FPGA,结果Hardware Manager里一片空白,“No hardware targets detected”——设备没连上。 别急,这几乎是每个FPGA新手必踩的坑。JTAG看似简单,实则从驱动、线序到供电稍有疏漏就会“失联”。本文不讲空话,直接带你从零开始打通 “PC → 下载器 → 开发板 → FPGA” 的完整链路,结合真实开发案例,手把手教你完成一次稳定可靠的比特流烧录,并解决那些让人抓狂的常见故障。 为什么JTAG总是连不上?先搞懂它到底在做什么 很多人以为JTAG就是一根“下载线”,其实它是一套完整的边界扫描架构。Xilinx的FPGA内部都集成了一个叫 TAP(Test Access Port)控制器 的模块,它像一个小CPU,专门监听四根信号线: * TCK :时钟,一切操作都得跟着它的节拍走 * TMS :模式选择,

机器人正运动学实例——PUMA560机械臂(附Matlab机器人工具箱建模代码)

机器人正运动学实例——PUMA560机械臂(附Matlab机器人工具箱建模代码)

前言 前面文章讲到了机器人正运动学的基本方法,这篇文章就是以实际案例来记录如何进行运动学正解、运动空间分析等(包括利用Matlab机器人工具箱来实现),本文案例是PUMA560六自由度机械臂。 一、方法回顾 ①进行正运动学的基础是分析机器人的机构原理,第一步是建立连杆坐标系(使用右手法则,并尽可能让更多参数为0,简化运动方程); ②描述连杆与关节参数,进行连杆变换建立D-H参数表(是改进的D-H法); ③建立正运动学方程 至此,列写正运动学方程即完成了正运动学的描述,也就是通过不同已知的关节变量最终得到的是机器人末端相对于基坐标系的运动。 二、PUMA560机械臂正运动学分析 1. 绘制机构原理图并建立坐标系 PUMA560机械臂是6R的机械臂,也就是只有六个转动,最后的三转自由度集中在了末端,三轴相交。可以对其构建机构原理图如下: 坐标系的Z轴指向旋转关节轴向,坐标系建立符合右手法则。 连杆{1}系为了方便描述与{0}系重合,因此{1}系相对于{0}系就只有绕Z轴的转动;其他坐标系建立如上图所示。 2. 建立D-H参数表 建立了坐标系,再根据已知

无人机嵌入式开发实战-飞控系统原理与架构

13.1.1 飞控系统的理论定位 飞控系统(Flight Control System, FCS)是无人机的“大脑”和“神经中枢”,其理论任务是通过传感器感知飞行状态、运行控制算法计算控制指令、驱动执行机构调整姿态,实现对无人机自主或半自主飞行的精确控制。飞控系统的存在是无人机区别于普通航空模型的核心标志,它决定了无人机的稳定性、机动性和智能化水平。 飞控系统的核心价值可以从三个维度理解: 维度理论意义工程体现稳定性保障在内外扰动下维持期望姿态抗风悬停、姿态保持自主性实现替代人工操作,完成复杂任务航线飞行、自动返航安全性兜底故障时采取应急措施低电返航、信号丢失保护 飞控系统的闭环控制模型体现了“感知-决策-执行”的经典控制理论: text ┌──────────┐ ┌──

【论文阅读】SWE-CI: Evaluating Agent Capabilities in Maintaining Codebases via Continuous Integration

【论文阅读】SWE-CI: Evaluating Agent Capabilities in Maintaining Codebases via Continuous Integration

SWE-CI:基于持续集成评估智能体在代码库维护中的能力 * 论文链接 * 摘要 * 1. 简介 * 2. 评估智能体维护代码库的能力 * 2.1 任务形式化 * 2.2 归一化变更 * 2.3 EvoScore(演进得分) * 3 SWE-CI * 3.1 数据构建(Data curation) * Step 1: Repository Collection * Step 2: Commit Span Extraction * Step 3: Environment Construction * Step 4: Case Filtering * 3.2 双智能体评估协议 * 4 Experiments * 4.1 Experiment