全新「机械手」算法:辅助花式抓杯子,GTX 1650实现150fps推断

新方法结合扩散模型和强化学习,将抓取问题分解为「如何抓」以及「何时抓」,平价显卡即可实现实时交互。

手是人类与世界交互的重要部分,手的缺失(如上肢残障)会大大影响人类的正常生活。

在这里插入图片描述

北京大学董豪团队通过将扩散模型和强化学习结合,使机械手能根据人手腕部的移动轨迹,自适应的抓取物体的不同部位,满足人类多样化的抓取需求。

有了这个机械手,只要动动手腕,机械手就能按照人类想要的方式抓起物体,比如抓取杯身和杯壁。

在这里插入图片描述

由于人类行为的复杂与多变性和真实世界物体的多样性,仅仅根据人手腕部的移动轨迹来不断预测人类想法是一件非常困难的事情。
在这里插入图片描述

新方法真正实现了灵巧的抓取,能在真实世界中对于不同的物体,不同的抓取姿态,不同的抓取轨迹进行泛化。

在这里插入图片描述

01

机械手如何明白人类的想法?

我们提出将人类的想法分解成两个部分:

  1. 如何抓:考虑到人类和物体当前的相对姿势,机械手应该如何抓取物体?

  2. 何时抓:机械手应该根据用户历史运动轨在何时、以什么速度执行抓取动作?

如何抓?
在这里插入图片描述

首先,如上图所示,新方法将学习人类想要「如何抓取物体」,定义为从一个包含各种抓取姿态的数据集中,学习抓取梯度场 Grasping Gradient Field(GraspGF)。

基于当前人手腕部和物体的相对关系,GraspGF 会输出一个梯度,这个梯度代表最快提高「抓取可能性」的方向。这个梯度可以转化为对每个手指关节的原始控制,使手指能够通过不断迭代达到适当的抓取姿态。

这样的梯度场可以随着人手腕部和物体的关系的变化,而不断的输出新的梯度指示当前人类的抓取意图,即意向抓取的物体区域及抓取姿态。

GraspGF 随着手腕的旋转,不断调整抓取姿态

在这里插入图片描述

何时抓?
在这里插入图片描述

GraspGF的动作会导致提前合拢

然而,只知道「如何抓」并不够完备,如果不知道要「何时抓」(如上图所示),虽然最终的抓取姿态是合理的,但是在达到抓取姿态的过程中会和物体发生碰撞。
在这里插入图片描述

如上所示,为了解决「何时抓取」的问题,新方法还训练了一个基于强化学习的残差策略,它首先会输出一个「缩放动作」,根据手腕轨迹的历史,决定手指关节应该以多快的速度沿着原始动作的方向移动。

此外,因为原始策略是基于最终抓取姿态数据集离线训练得到的,原始策略并不了解环境的物理约束 ,残差策略还会输出一个「残差动作」来进一步校正原始动作。通过结合残差策略,模型能够通过残差策略学习到的「何时抓」更好地实现原始策略学习到的「如何抓」。

在这里插入图片描述

简单的奖励函数

该方法在奖励函数的设置上不需要过多的 human design,因为原始动作已经提供了一个比较好的「如何抓」的引导,在训练强化学习模型时,除了给定成功抓取和抓取后的高度变化奖励,仅仅只需要一个奖励函数去鼓励机械手跟随原始动作即可。

该方法的优势

该方法仅需要成功抓取的抓取姿态数据集用于训练,与需要专家演示的方法相比,不需要大量的人工标注或者工程工作。

GraspGF 借助了扩散模型强大的条件生成建模能力,这使它能够根据新颖的用户意图输出有效的原始动作。

残差学习的设计改善了强化学习探索效率低下的问题,提升了强化学习模型在未见过物体和轨迹上的泛化能力。

02

结 果

最终在4900多个物体,200条不同的人类移动轨迹上,新方法都优于基准。
在这里插入图片描述

该方法的最终的抓取姿态相比于基线更符合人类的抓取意图。

在这里插入图片描述

此外,该方法在抓取过程中对物体造成的扰动要小于其他基准。

在这里插入图片描述

经过测试,该模型在 GTX1650 的显卡上,能达到 150fps 的推断速度,能做到与人类的实时交互,也许未来能真正用于辅助手部缺失的人更好地进行日常生活。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

stm32学习总结:4、Proteus8+STM32CubeMX+MDK仿真串口收发

stm32学习总结:4、Proteus8STM32CubeMXMDK仿真串口收发 文章目录 stm32学习总结:4、Proteus8STM32CubeMXMDK仿真串口收发一、前言二、资料收集三、STM32CubeMX配置串口1、配置开启USART12、设置usart中断优先级3、配置外设独立生成.c和.h 四、MDK串口收发…

VS ASP.Net Core项目还原Packages包到本地(解决服务器没有网无法重新生成的问题)

问题背景 ASP.Net Core MVC项目,无法重新生成。 现场服务器没有网,放上去的代码无法通过nuget还原包到服务器,导致无法编译无法运行。 解决办法 将Packages还原到本机(有网),然后再将代码放到服务器运行。 在有网的…

内网渗透测试基础——分析域内网段划分情况及拓扑结构

内网渗透测试基础——分析域内网段划分情况及拓扑结构 ​ 掌握了内网的相关信息后, 渗透测试人员可以分析目标网络的结构和安全防御策略,获取网段信息、各部门的IP地址段,并尝试绘制内网的拓扑结构图。当然,渗透测试人员无法了解…

深入了解Java中的锁机制

目录 1. synchronized关键字 1.1 基本概念 1.2 内置锁 1.3 限制 2. ReentrantLock 2.1 概述 2.2 公平性与非公平性 2.3 条件变量 3. 读写锁(ReadWriteLock) 3.1 概念 3.2 适用场景 4. StampedLock 4.1 概述 4.2 乐观读与悲观读 4.3 适用场…

仓储1代电子标签接口文档

标签注册 仓储1代注册 侧面按钮连按三次, 注册成功:红灯变绿灯 查询电子标签信息接口 接口地址:192.168.1.200/wms/associate/getTagsMsg 请求类型:multipart/form-data 请求方式:get 接口备注:暂无描…

如何设计用户评论表

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 上一篇提到树形结构是非…

C++_动态二维数组的两种方法

介绍 本文主要介绍使用 动态二维数组的两种方法 (PS:仅作创建 动态二维数组参考,详细使用方法根据需求自行改变) 第一种:连续存储结构的 二维动态数组(需固定 列 大小,可通过下标访问) 缺点: 1.需要在设计二维数组前写死 列 的大小 2.空间利用率不高 优点…

netty源码:(29)ChannelInboundHandlerAdapter

它实现的方法都有一个ChannelHandlerContext参数,它的方法都是直接调用ChannelHandlerContext参数对应的方法,该方法会调用下一个handler对应的方法。 可以继承这个类,重写感兴趣的方法,比如channelRead. 这个类有个子类:SimpleC…

调度算法(一)-第二十一天

目录 各种调度算法的学习思路 先来先服务(FCFS) 短作业优先(SJF) 各种调度算法的学习思路 1、算法思想 2、算法规则 3、算法用于作业调度还是进程调度 5、抢占式还是非抢占式 6、优点和缺点 7、是否会导致饥饿(进程…

【音视频 | AAC】AAC格式音频文件解析

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

C++刷题 -- KMP算法

C刷题 – KMP算法 文章目录 C刷题 -- KMP算法1.算法讲解2.算法实现 https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/ 1.算法讲解 KMP算法是一种字符串匹配算法,当出现字符串不匹配时,可以记录一部分之…

PSP - 结构生物学中的机器学习 (NIPS MLSB Workshop 2023.12)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/135120094 Machine Learning in Structural Biology (机器学习在结构生物学中) 网址:https://www.mlsb.io/ Workshop at the 37th Co…

计算机网络-进阶

目录 易混淆物理层数据链路层网络层nat如何实现私有ip通信IP数据报 格式解析tcp 连接tcp流量控制滑动窗口拥塞控制 报文捕获 wireshark路由模拟器 enspcdn代理服务器 VS cdn VS web cache 计算机有了物理地址,为什么还要有ip地址?单播 多播 广播 传输层会…

基于Java+SpringBoot+Mybaties-plus+Vue+ElementUI+Vant 电影院订票管理系统 的设计与实现

一.项目介绍 基于SpringBootVue 电影院订票管理系统 分为前端和后端。 前端(用户): 登录后支持查看首页、电影、影院和我的信息 支持查看正在热映和即将上映的电影信息 支持购票(需选择影院座位)、看过(评论…

力扣:203. 移除链表元素(Python3)

题目: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 …

基于springboot+mybatis+mysql+jsp房屋租赁管理系统

基于springbootmybatismysqljsp房屋租赁管理系统 一、系统介绍二、功能展示1.项目内容2.项目骨架3.数据库3.登录4.首页5.房源管理6.个人中心7.房屋详情 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目名称:基于Spring boot的房屋租赁管理系统 项目架构&…

对77,539个基因组进行的遗传关联分析揭示了罕见疾病的病因

今天给同学们分享一篇实验文章“Genetic association analysis of 77,539 genomes reveals rare disease etiologies”,这篇文章发表在Nat Med期刊上,影响因子为82.9。 结果解读: 稀有水库 关系型数据库(RDB)提供了一…

vue关闭当前路由页面并跳转到其父页面

1.dom中添加关闭或取消按钮 <el-button type"primary" class"blueLinearbg cancelBtn" click"cancel" >取 消</el-button>2.cancel方法中 /*取消或关闭*/cancel(){this.$store.dispatch("tagsView/delView", this.$route)…

echarts 实现x轴文字倾斜显示

显示效果 关键代码 xAxis: {axisLabel: {show: true,rotate: 35,//35度角倾斜显示},}, 完全代码 var optSaleType {title: {text: ,textStyle: {color: #000,fontSize: 14}},tooltip: {},grid: {left: 0,right: 0,bottom: 0,containLabel: true,},xAxis: {axisLabel: {show:…

苹果cms论坛多播放源自动采集 /采集在线影视网站/苹果CMS影视站采集器

源码介绍&#xff1a; 苹果cms论坛多播放源自动采集、采集在线影视网站&#xff0c;作为苹果CMS影视站采集器&#xff0c;它能轻松获取在线影视网站资源。 苹果 cms 论坛这是一个基于Vue和Gin实现的在线观影网站。项目采用 vite vue 作为前端技术栈, 使用 ElementPlus 作为 …