RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。
尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人类演示数据和训练样本的稀缺性。
为解决这一问题,研究团队提出 Manual2Skill,一种基于 VLMs 的创新框架,使机器人能通过高级视觉说明书自主理解并执行家具装配任务,模仿人类学习装配的过程。该方法弥合了抽象指令与物理执行之间的鸿沟,显著提升了机器人在真实操作场景中的实用性。
目前,该论文已被机器人领域顶级会议 Robotics: Science and Systems XXI(RSS 2025)接收。
论文标题:Manual2Skill: Learning to Read Manuals and Acquire Robotic Skills for Furniture Assembly Using Vision-Language Models论文链接:https://arxiv.org/abs/2502.10090项目主页:https://owensun2004.github.io/Furniture-Assembly-Web/
研究背景
家具装配是一项复杂的长时程任务,要求机器人:(A) 理解所有零件的拼接关系和顺序;(B) 估计每一步拼接时部件的位姿;© 生成物理可行的动作以完成部件组装。
尽管许多计算机视觉方法通过几何或语义技术在部件位姿预测(B)方面取得显著成果,但它们大多忽视了同样关键的拼接顺序理解(A)和动作生成(C)环节 [1, 2]。
现有的端到端机器人装配系统通常依赖模仿学习或强化学习。虽然在某些场景下有效,但这些方法需要大规模数据集和大量计算资源,难以推广至真实环境中的通用长时程操作任务 [3, 4]。
近年来,视觉语言模型(VLMs)在高层规划、环境理解甚至直接机器人控制方面展现出潜力。部分研究尝试整合这些能力用于机器人装配,但多局限于简单几何物体且在真实装配场景中鲁棒性不足 [5]。
关键问题在于,现有 VLM 方法(乃至多数当前方法)缺乏对结构化外部指导(如人工设计的说明书)的利用。这种缺失限制了它们在依赖抽象符号指令的复杂装配任务中的表现。
相比之下,人类能够从抽象的说明书中提取信息并学习操作技能,这揭示了机器人能力的一个重要缺口:从抽象的、为人类设计的指导信息中学习物体操作技能。
凭借强大的视觉与语言推理能力,VLMs 为弥合这一缺口提供了独特机遇。通过挖掘说明书中的结构化知识,VLMs 可使机器人更高效可靠地完成复杂多步骤装配任务。
Manual2Skill:基于 VLM 的说明书引导式机器人装配框架
为解决复杂长时程装配的局限性,研究团队开发了 Manual2Skill —— 一种创新框架,利用 VLMs 将基于说明书的视觉指令转化为机器人装配技能。
Manual2Skill 包含三个核心阶段:
层级化装配图生成:通过 VLM 解析说明书图像,构建描述家具部件结构关系的层级化装配图。分步骤位姿估计:预测每个装配步骤中涉及的家具部件的精确 6D 位姿。动作生成与执行:将位姿信息转化为可执行的机器人轨迹。
图 1:Manual2Skill 框架
该框架解决了现有机器人装配方法的两大核心限制:
通过将人类理解的抽象示意图转化为结构化装配层级图与部件位姿,使机器人能从说明书提取可操作信息,避免了对大规模高质量演示数据集的依赖。将装配层级图作为结构化装配信息的核心表征,为真实装配任务提供通用解决方案,适用于所有多步骤复杂装配问题。
阶段 I: 层级化装配图生成
Manual2Skill 的首阶段将人类可理解的说明书转化为机器人可执行的任务规划。通过视觉语言模型(GPT-4o)对说明书示意图和预装配场景图像进行联合推理,生成编码家具部件与子组件结构关系的层级化装配图。
在此图中:
叶节点代表原子部件。非叶节点表示通过连接部件/子组件形成的复合结构。从叶节点向根节点遍历可获得完整的逐步装配流程。
为构建该图,Manual2Skill 通过整合多模态输入,特别是多张图像的视觉信息与文本指令组成的多轮提示序列,完成两个关键子阶段:
跨域视觉理解:通过视觉提示技术(如 Set-Of-Marks 和 GroundingDINO)和几何视觉推理,GPT-4o 将预装配场景图片中的物理部件与其说明书图示进行语义关联,从而解析每个部件的作用与位置。
结构化信息提取:基于已识别的部件信息,使用链式思维(Chain-of-Thought)、由简至繁(Least–To–Most)和上下文学习(In-Context Learning)等提示技术,判断说明书中每个步骤涉及的特定部件。
该结构化图表征为下游位姿估计与运动规划奠定基础,确保复杂装配任务的精准顺序执行。
阶段 II: 分步骤装配位姿估计
在层级化装配图确定部件组合与装配顺序后,本阶段预测每个装配步骤中所有部件的 6D 位姿,实现部件间的精确物理对齐。
与过往方法通常一次预测整个装配过程中所有零件的位姿不同,这里我们对每个装配步骤,预测这一步中涉及到的所有部件/子组件的位姿,这一设置既更贴合真实世界中的拼装过程,也能使模型避免单次输入部件数量过多引起的性能下降。
同时我们还发现,尽管家具的形态有很大差别,但其基本部件的连接方式(比如板和棍的连接)较为固定,这种分步预测的方法能使模型更好地学习到这种基本连接方式,从而对测试集的物体实现更高的预测精度。
为实现此目标,跨模态位姿估计模型对说明书图像与家具部件 3D 点云进行联合推理。模型架构包含四个核心组件:
图像编码器(E_I):从说明书图像提取语义特征,捕获部件关系与朝向的视觉线索。点云编码器(E_P):编码各部件的点云数据。跨模态融合(E_G):使用图神经网络(GNN)整合图像与点云特征。位姿回归器(R):从融合特征预测各部件的 SE(3) 位姿。
给定说明书图像 I_i 和涉及部件的点云集合,处理流程如下:
为确保预测的鲁棒性与准确性,模型采用复合损失函数:
SE(3) 变换误差(旋转测地距离 + 平移 MSE)点云对齐损失(Chamfer 距离)可互换部件的置换不变损失(评估所有有效排列并选择最小损失方案)
该设计使模型能够处理可变数量的输入部件,适应视觉相似/对称部件,以及泛化到训练集上未见过的新物体。
阶段 III: 机器人装配动作生成与执行
最终阶段将预测位姿转化为真实世界的机器人动作,实现装配计划的自主执行。我们在这一阶段使用基于启发式的抓取策略和稳健的运动规划算法,让机械臂抓取对应部件,并将其放置在预测位姿。
抓取规划与部件操控
我们使用 FoundationPose 与 SAM 估计场景中所有部件的初始位姿。根据部件几何特征应用启发式抓取策略:
棒状部件:沿主轴在质心处抓取。扁平薄片部件:使用夹具/平台固定后沿边界稳定抓取。
运动规划与执行
抓取后,机器人使用 RRT-Connect(基于采样的运动规划器)计算从当前位姿到目标位姿的无碰撞轨迹。所有其他物体被视为避障点云。通过锚定位姿在轨迹中段重新评估抓取部件位置,确保精确跟踪与控制。
装配插入
最终部件插入是涉及精确对齐与力反馈的接触密集型任务。由于闭环插入的复杂性,目前由人类专家完成。我们会在未来的研究中,整合触觉与力传感器实现自主插入。
实验结果与分析
实验在仿真与真实环境中对多款宜家家具进行,验证 Manual2Skill 的鲁棒性与有效性。
层级化装配图生成
图 2:层级化装配图生成结果
我们在 102 本真实宜家家具说明书上测试了我们提出的层级化装配图生成方法的表现,可以看出,对于简单和中等复杂程度的家具(部件数 ≤ 6),我们的方法能比较准确地生成装配图,同时在所有复杂程度的家具上,我们的方法表现均显著优于基线方法。尽管所有方法在复杂家具上表现受限,但随着 VLM 性能的提升,我们方法的表现会随之提升。
图 3:层次化装配图可视化
位姿估计
我们从 PartNet 数据集中选取了三类物体(椅子、台灯、桌子),每类物体各 100 个,并且在 Blender 中渲染出这些物体部件组合的示意图作为说明书图片。
图 4:位姿估计实验结果
实验结果表明,凭借多模态特征融合与 GNN 空间关系建模,本方法在全部四个评价指标上超越基线方法。
图 5:位姿估计可视化
仿真测试
在 50 件简单至中等难度家具的仿真测试中,Manual2Skill 达成 58% 成功率,显著超越现有启发式方法,验证了层级化装配图、位姿估计与运动规划结合的有效性。
实物实验
我们在四款真实宜家家具(Flisat 凳、Variera 架、Sundvik 椅、Knagglig 箱)上测试了我们整套框架,体现了我们的框架在真实机器人装配任务中的可行性和出色表现。
图 6:真实世界家具装配过程可视化
零样本扩展
本方法可零样本推广至轮轴、玩具飞机甚至机械臂等手册引导式装配任务,成功率 100%,彰显 VLM-based 方案相比其他方法的泛化优势。
图 7:零样本扩展可视化
结论与展望
本文提出 Manual2Skill,一种开创性框架,通过 VLMs 使机器人能解析人工设计的视觉说明书并自主执行复杂家具装配任务。通过引入层级化图式指令解析与鲁棒位姿估计,Manual2Skill 有效弥合了抽象说明书与物理执行之间的鸿沟。
Manual2Skill 提出了一种新的机器人学习范式,机器人可以从为人类设计的说明书中学习复杂长程的操作技能,相比起收集大量人工示范数据做模仿学习,显著降低了复杂操作技能获取的成本和复杂度。同时,说明书通过抽象图表和符号表示传达操作知识,这种抽象化的表达方式捕获了操作过程的底层结构和核心逻辑,而非仅仅记录表面的动作序列。这种深层次的理解使得获得的技能能够在不同的物体配置、环境条件和机器人实体间实现有效泛化。
参考文献[1] Yun-Chun Chen, Haoda Li, Dylan Turpin, Alec Jacobson, and Animesh Garg. 「Neural shape mating: Self-supervised object assembly with adversarial shape priors」. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12724–12733, 2022. [2] Benjamin Jones, Dalton Hildreth, Duowen Chen, Ilya Baran, Vladimir G Kim, and Adriana Schulz. 「Automate: A dataset and learning approach for automatic mating of cad assemblies」. ACM Transactions on Graphics (TOG), 40(6):1–18, 2021. [3] Mingxin Yu, Lin Shao, Zhehuan Chen, Tianhao Wu, Qingnan Fan, Kaichun Mo, and Hao Dong. 「Roboassembly: Learning generalizable furniture assembly policy in a novel multi-robot contact-rich simulation environment」. arXiv preprint arXiv:2112.10143, 2021. [4] Zuyuan Zhu and Huosheng Hu. 「Robot learning from demonstration in robotic assembly: A survey」. Robotics, 7(2):17, 2018. [5] Andrew Goldberg, Kavish Kondap, Tianshuang Qiu, Zehan Ma, Letian Fu, Justin Kerr, Huang Huang, Kaiyuan Chen, Kuan Fang, and Ken Goldberg. 「Blox-net: Generative design-for-robot-assembly using vlm supervision, physics simulation, and a robot with reset」. arXiv preprint arXiv:2409.17126, 2024.
相关文章:

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...

Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...