论文笔记 | Beyond Pick-and-Place: Tackling Robotic Stacking of Diverse Shapes

论文地址:Beyond Pick-and-Place: Tackling Robotic Stacking of Diverse Shapes

概述:本文提出 RGB-Stacking 基准测试,研究如何仅凭 RGB 摄像头视觉和本体感知,实现机器人对 复杂几何物体的高效堆叠。通过结合仿真专家训练、交互式模仿学习与现实世界离线强化学习,提出的系统成功实现了 从仿真到现实世界的零样本迁移,展现出优秀的泛化能力与鲁棒性。


🎯 背景与动机

尽管近年来机器人抓取与操作任务取得显著进展,但多数研究依然局限于单一抓取任务或立方体等规则物体的堆叠场景。

然而,现实世界物体的堆叠任务通常面临:

  • 不规则几何形状

  • 不稳定接触动力学

  • 多方向抓取与放置挑战

因此,本文旨在推动 从“拾取-放置”向“几何理解与策略堆叠”的迁移,设立更具挑战性的任务基准,并探索高效学习与迁移方法。


1️⃣ RGB-Stacking 基准测试设计

🧱 多样化物体集

  • 共 152 个 程序生成 + 3D 打印物体

  • 基于立方体的变形设计:

    • 4 种主变形轴:多边形、梯形、矩形、平行四边形

    • 组合变形物体用于训练集,主轴物体用于测试集

🧪 任务类型

  1. 技能掌握任务(Skill Mastery)

    • 给定 5 对固定物体组合

    • 需处理精细抓取、重心平衡、角度翻转等操作挑战

  2. 泛化任务(Generalization)

    • 从训练物体学习策略,迁移到测试集中的全新物体组合

✅ 成功判定标准

  • 红色物体堆叠于蓝色物体上

  • 水平误差 < 3cm垂直距离 > 2.5cm

  • 放置后夹爪完全打开


2️⃣ 方法总览:三阶段训练框架

阶段内容技术亮点
① 仿真训练专家策略在仿真中训练状态专家策略使用 MPO 强化学习算法;塑形奖励提升学习效率
② 视觉策略蒸馏蒸馏专家策略至视觉策略采用交互式模仿学习(IIL);域随机化提升迁移鲁棒性
③ 离线强化学习优化用现实数据进一步优化策略BC-IMP 与 CRR-IMP 算法,提升堆叠成功率

亮点细节:

  • 使用 Transformer 架构 表征视觉策略

  • 设置 二进制夹爪动作(抓/放)简化学习难度

  • 利用域随机化适应现实中变化的颜色、质感、光照等属性


3️⃣ 实验结果分析

💻 仿真实验

方法技能掌握任务泛化任务
人类遥操作46.6%-
脚本 Agent43.1%-
状态专家策略(MPO)79.3%68.8%
行为克隆(BC)52.4%-
交互模仿学习(IIL)74.2%-

✅ IIL 显著优于行为克隆:能通过交互纠正策略错误,学习更加稳健。

🤖 现实世界迁移

策略类型技能掌握任务泛化任务
零样本 IIL 策略67.9%51.9%
零样本 + 离线 RL(CRR-IMP)81.6%55.6%

🔍 关键影响因素:

  • 使用 二进制夹爪动作:迁移成功率提升 3 倍(20.7% → 67.9%)

  • Transformer 架构 显著增强泛化能力

  • 离线 RL 效果依赖于高质量数据(仿真迁移策略 > 脚本 Agent)


4️⃣ 关键发现与洞见

✅ 1. 仿真 → 现实零样本迁移是可行的

借助域随机化与 IIL,即使未在真实世界训练,策略依然能稳定迁移并完成任务。

✅ 2. 交互模仿学习优于纯行为克隆

引入 DAgger 风格的交互训练能及时纠正学生策略偏差,使视觉策略更强鲁棒性。

✅ 3. 离线 RL 可显著提升现实世界策略表现

CRR-IMP 能过滤低质量数据,通过优势函数重加权训练样本,有效提升成功率。

✅ 4. 设计细节影响巨大

  • 夹爪控制方式简化了策略学习

  • Transformer 提升了复杂几何场景中的理解与泛化能力


❓关键问题答疑

Q1:RGB-Stacking 有何创新?

  • 提供多样几何物体组合(152 个),覆盖真实场景复杂堆叠需求

  • 超过 5 万次现实评估,远超以往任务规模

  • 兼顾技能掌握与策略泛化两大挑战

Q2:为何能实现仿真到现实的零样本迁移?

  • 域随机化模拟多样现实视觉与物理属性

  • IIL 框架主动纠正错误,提升策略稳定性

  • 简化控制动作空间,降低迁移难度

Q3:离线强化学习为什么有效?

  • 基于仿真迁移策略收集的数据覆盖更多复杂策略

  • CRR-IMP 利用优势函数过滤低效策略,专注高价值行为


✍️ 总结

RGB-Stacking 基准和三阶段策略训练系统展示了机器人在复杂几何场景中实现高效、鲁棒、可泛化堆叠的可能性。该研究为“从仿真到现实”的策略迁移,以及融合视觉与交互式学习的方法,提供了清晰且有效的路径。这项工作不仅扩展了堆叠任务的研究范围,也为后续研究提供了 高难度评测平台与可复现的训练范式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/90265.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/90265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 英语打地鼠游戏——一个寓教于乐的英语学习游戏

&#x1f3af; 英语打地鼠游戏 一个寓教于乐的英语学习游戏&#xff0c;通过经典的打地鼠玩法帮助用户学习英语单词。 ✨ 项目特色 &#x1f3ae; 游戏化学习 经典打地鼠玩法&#xff1a;6 个洞穴&#xff0c;听英文选单词即时反馈&#xff1a;答对/答错立即语音提示计分系…

Qt--Widget类对象的构造函数分析

Widget类对象的构造函数分析&#xff0c;用更直观的方式解释这段代码的作用和工作原理&#xff1a;代码&#xff1a;Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }代码解析 Widget::Widget(QWidget *parent) // 构造函数定…

使用pytorch创建模型时,nn.BatchNorm1d(128)的作用是什么?

在PyTorch中&#xff0c;nn.BatchNorm1d(128) 的作用是对 一维输入数据&#xff08;如全连接层的输出或时间序列数据&#xff09;进行批标准化&#xff08;Batch Normalization&#xff09;&#xff0c;具体功能与实现原理如下&#xff1a; 1. 核心作用 标准话数据分布 对每个批…

【数据结构】二叉树的链式结构--用C语言实现

1.二叉树的链式结构 此前&#xff0c;我们通过数组&#xff08;顺序表&#xff09;完成了二叉树的顺序存储&#xff0c;并实现了二叉树的基础功能 那么&#xff0c;二叉树还有没有其他存储方式呢&#xff1f; 前面我们学习了链表&#xff0c;它是一种线性结构&#xff0c;而二…

java设计模式 -【适配器模式】

适配器模式的定义 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;用于解决接口不兼容问题。通过将一个类的接口转换成客户端期望的另一个接口&#xff0c;使原本因接口不匹配而无法工作的类能够协同工作。 核心角色 目标接口&#xff08;…

前端,demo操作,增删改查,to do list小项目

demo操作&#xff0c;html<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&l…

Spring AI 项目实战(十九):Spring Boot + AI + Vue3 + OSS + DashScope 构建多模态视觉理解平台(附完整源码)

系列文章 序号 文章名称 1 Spring AI 项目实战(一):Spring AI 核心模块入门 2 Spring AI 项目实战(二):Spring Boot + AI + DeepSeek 深度实战(附完整源码) 3 Spring AI 项目实战(三):Spring Boot + AI + DeepSeek 打造智能客服系统(附完整源码) 4

在 Ubuntu 20.04.5 LTS 系统上安装 Docker CE 26.1.4 完整指南

在 Ubuntu 20.04.5 LTS 系统上安装 Docker CE 26.1.4 完整指南版本选择说明 为什么选择 Docker CE 26.1.4&#xff1f; 1. 版本稳定性和成熟度 Docker CE 26.1.4 是 2024 年 5 月发布的稳定版本&#xff0c;经过了充分的测试和验证相比最新的 28.x 版本&#xff0c;26.1.4 在生…

避坑指南:Windows 11中 Docker 数据卷的存放位置

在 PowerShell 中使用 docker volume inspect 命令&#xff0c;输出如下&#xff1a; [{"CreatedAt": "2025-07-23T01:00:45Z","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/…

Hadoop大数据集群架构全解析

技术概述Hadoop的定义及其在大数据领域的地位Hadoop是由Apache基金会开发的开源分布式计算框架&#xff0c;基于Google的MapReduce和GFS论文思想实现&#xff0c;已成为大数据处理的事实标准。它通过分布式存储和计算解决了传统数据库无法处理的海量数据存储和分析问题&#xf…

【自动化测试】Selenium Python UI自动化测试实用教程

一、引言:Selenium与UI自动化测试基础 1.1 Selenium简介 Selenium是一个开源的Web应用自动化测试框架,支持多浏览器(Chrome、Firefox、Edge等)和多编程语言(Python、Java、JavaScript等),核心组件包括: WebDriver:通过浏览器原生API控制浏览器,模拟用户操作(点击、…

基于VSCode的nRF52840开发环境搭建

nRF52840是Nordic Semiconductor推出的一款功能强大的多协议SoC&#xff0c;广泛应用于物联网设备、可穿戴设备和低功耗蓝牙产品开发。本篇文章将详细介绍如何在VSCode中搭建完整的nRF52840开发环境&#xff0c;让您能够高效地进行嵌入式开发。 一、准备工作 VSCode&#xff1a…

GStreamer开发笔记(九):gst-rtcp-server安装和部署实现简单的rtsp-server服务器推流Demo

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/149054288 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、O…

C++ namespace机制以及同时使用多个namespace可能存在的问题

在一个 .cpp 文件中使用了多个 using namespace 会怎么样&#xff1f; 核心答案是&#xff1a;可能会导致“命名冲突&#xff08;Name Collision&#xff09;”和“二义性&#xff08;Ambiguity&#xff09;”&#xff0c;从而引发编译错误。 当你使用 using namespace SomeNam…

基于R语言的分位数回归技术应用

回归是科研中最常见的统计学研究方法之一&#xff0c;在研究变量间关系方面有着极其广泛的应用。由于其基本假设的限制&#xff0c;包括线性回归及广义线性回归在内的各种常见的回归方法都有三个重大缺陷&#xff1a;(1)对于异常值非常敏感&#xff0c;极少量的异常值可能导致结…

网络I/O模型详解-一次了解全部(面试经常会问到相关知识)

前言 网络I/O模型的五种类型&#xff0c;其实在我们开发程序、设计程序、实现程序的方方面面都一直存在着&#xff0c;本文从实现原理、使用场景、优缺点、详细的流程图等方面进行深入的解释&#xff0c;帮助大家更好的理解常用的五种网络io模型&#xff0c;助力大家在工作、面…

面试150 合并K个升序链表

思路 对链表元素进行获取&#xff0c;然后进行sort()排序&#xff0c;最后通过空节点建立链表法重新建立一个有序的链表&#xff0c;返回头节点即可。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val …

BitDistiller:通过自蒸馏释放 Sub-4-Bit 大语言模型的潜力

温馨提示&#xff1a; 本篇文章已同步至"AI专题精讲" BitDistiller&#xff1a;通过自蒸馏释放 Sub-4-Bit 大语言模型的潜力 摘要 大语言模型&#xff08;LLMs&#xff09;的规模不断扩大&#xff0c;在自然语言处理方面取得了令人瞩目的进展&#xff0c;但这也带来…

JavaScript 的 `querySelector` 方法详解

querySelector 是 JavaScript 中用于选择 DOM 元素的最强大方法之一&#xff0c;它允许你使用 CSS 选择器语法来查找元素。 基本语法 // 返回文档中第一个匹配指定 CSS 选择器的元素 element document.querySelector(selectors);// 从指定元素后代中查找 element parentEle…

第九讲:C++中的list与forward_list

目录 1、list的介绍及使用 1.1、构造及赋值重载 1.2、迭代器 1.3、空间 1.4、访问 1.5、修改 1.6、操作 2、迭代器失效 3、list的模拟实现 4、forward_list介绍与使用 4.1、构造及赋值重载 4.2、迭代器 4.3、容量 4.4、访问 4.5、修改 4.6、操作 5、迭代器的分…