SIGGRAPH 2022 | 筷子该怎么用? ——基于贝叶斯优化和强化学习的灵巧手握筷及控制方法

news2024/11/26 3:39:27

使用仿生手灵巧地操作工具一直是计算机动画和机器人方向的一个长期具有挑战性的问题。工具使用的主要困难包括:手的高自由度;工具的欠驱动;以及手、工具和物体之间复杂的相互作用。操作的困难程度也取决于所涉及的工具类型。有些工具只需要牢牢地抓在手里,如锤子。有些工具需要用手来抓取和操纵,如剪刀。在本文中,我们考虑最具有挑战性的工具之一:筷子。

筷子是一双等长的棍子,这种简单的机械设计对控制任务带来了一些挑战。首先,手需要同时握住并操纵两根独立的棍子。其次,与剪刀之类的工具不同,筷子上没有明显的固定结构,以稳定手与工具的接触。最后,筷子与物体的接触位于筷子的前端,通常远离靠近筷子后端的筷子与手的接触点。另一方面,筷子的简单形式也确实使其具有多种功能,从而成为广泛使用的工具,而其使用方式也多种多样。据估计,世界上有33%的人口每天都在使用筷子,而每个人都可能有自己独特的使用筷子的方法。筷子可以被用来拿起和移动各种食物:米饭,肉,或面条。在机器人领域,已经开展的研究包括采用筷子来辅助进食,微操作,以及医疗手术等。

筷子的实用性和通用性得益于它简单的机械结构,但是同时使筷子的控制变得困难。在机器人领域,筷子通常被刚性地连接到自由度较低的机器臂上。在图形学领域中,我们的工作是第一篇关于使用筷子的研究,其代表的是更广泛的难以解决的多接触操纵和控制问题。受父母教孩子筷子技巧的启发,我们通过将其分解为两个子问题来解决这个具有挑战性的控制问题:如何正确地握住筷子?如何用筷子操纵物体?

几种握筷子的方法
在这里插入图片描述

02

方法介绍

如下图所示,我们通过结合深度强化学习和贝叶斯优化来优化特定样式的抓取姿势。贝叶斯优化是一种优化黑盒函数的方法,它可以利用少量采样点来优化计算昂贵的目标函数。在我们的方法中,针对每一种可能的抓取方式,我们利用贝叶斯优化计算最优的抓取姿势,从而让一只移动的虚拟手可以在物理模拟中牢牢抓住筷子,并实现一些基本的开合筷子的动作。
在这里插入图片描述

获得了握筷子的姿势之后,我们设计了一个两层控制系统来控制筷子夹着物体移动:首先对筷子的运动进行规划,然后通过深度强化学习方法训练基于物理的手部控制器。在运动规划过程中,我们训练了一个基于神经网络的抓取模型来估算抓取物体的最佳筷子配置,并根据物体的起始和目标位置,利用轨迹优化结合逆向运动学的方法生成无碰撞的筷子和手的运动轨迹。
在这里插入图片描述

之后所有规划好的参考轨迹和优化的抓握姿势被传递给强化学习系统,使用简单的跟踪奖励来训练底层的手部控制器。

在这里插入图片描述

03

实验结果

我们的贝叶斯优化方法可以根据输入的握持风格优化得到不同的抓握姿势。对于人手来说,去除明显不合理的方法,我们可以得到如下的17种不同的握持方法。
在这里插入图片描述

我们的动作控制器在确定了筷子握持姿势后可以控制手用筷子夹起物体,并挪到或扔到指定位置。

在这里插入图片描述

我们的算法框架可以控制各种形态的手去使用筷子,下面展示了一只两倍大的手和三指抓取器操作筷子进行夹取。

在这里插入图片描述

除了筷子以外,我们的算法可以训练手来操作其他物体,下面展示了手握毛笔写字和用镊子夹取物体。

在这里插入图片描述

更多细节与模拟结果可参见视频:

04

总 结

我们提出了一个基于物理仿真的学习和控制系统,可以控制手使用筷子进行物体操作。这个任务的挑战性在于它涉及到手、筷子和物体之间复杂的接触。算法的关键在于将任务拆分为两部分:通过贝叶斯优化获得符合既定风格的稳定握筷子姿势,和使用高层轨迹规划+底层动作控制的方法在给定握筷子姿势来完成物体的夹取和移动。我们的算法不需要动作捕捉数据,也有较高的动作质量和不错的鲁棒性。感兴趣的同学可以看我们的视频和文章来进一步了解我们的工作。

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

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

相关文章

【MATLAB源码-第100期】基于matlab的OFDM系统papr抑制算法对比,clipping,PTS,SLM。

操作环境: MATLAB 2022a 1、算法描述 OFDM(正交频分复用)系统中,高峰均值功率比(PAPR)的抑制是一项关键技术,有助于提高信号的功率效率和传输质量。主要的PAPR抑制算法包括削波(C…

2023 亚马逊云科技 re:lnvent 大会探秘: Amazon Connect 全渠道云联络中心

2023 亚马逊云科技 re:lnvent 大会探秘: Amazon Connect 全渠道云联络中心 前言一. Amazon Connect 介绍 🗺️二. Amazon Connect 使用教程 🗺️1.我们打开URl链接找到对应服务2.输入Amazon Connect选中第一个点击进入即可;3.在进入之后我们就…

实时抠像系统

实时抠像系统 先上效果图 实时抠像,不替换背景 实时抠像,并替换背景 随着直播用户的人数增加,实时抠像的市场需求也越来越多,为了满足市场需求,写了一个程序,可实现抠像,也可以实时换视频背景…

FPGA实现 TCP/IP 协议栈 客户端 纯VHDL代码编写 提供4套vivado工程源码和技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐我这里已有的以太网方案1G 千兆网 TCP-->服务器 方案10G 万兆网 TCP-->服务器客户端 方案常规性能支持多节点FPGA资源占用少数据吞吐率高低延时性能 4、TCP/IP 协议栈代码详解代码架构用户接口代码模块级细讲顶层模块PA…

DVWA靶场的设置

1).在win 10系统安phpstudy2016,如图所示 2)创建DVWA的靶场,解压DVWA-master.zip到C:\phpStudy\WWW\DWA-master 3)配置DVWA链接数据库 右键选择记事本打开configlconfig.inc.php.dist【也可以使⽤其他编辑⼯具打开】,…

实现树形结构的插件vue-tree-color及元素放大缩小拖动

实现流程图,借鉴vue-tree-color 引入依赖 npm install vue-tree-color 同时查看项目中是否已安装less和less-loader,因为该组件使用到less npm install --save-dev less less-loader 如果这里启动项目报错,有可能是less和less-loader的版本过高,可以降低版本,或者指定版本号…

搭建Flutter开发环境、从零基础到精通(文末送书【北大出版社】)

目录 搭建开发环境 1. 下载Flutter SDK 2. 设置镜像地址及环境变量 3. 安装与设置Android Studio 4. 安装Visual Studio Code与Flutter开发插件 5. IDE的使用和配置 6. 安装Xcode 7. 检查Flutter开发环境 好书推荐 内容简介 作者简介 搭建开发环境 Flutter可以跨平…

5款不可或缺的办公软件,好用且使用频率超高,几乎每个人都需要

在当今数字化时代,办公软件成为了现代职场必备的工具。这些软件可以大大提高我们的办公效率,简化工作流程,使我们更加高效地完成任务。今天给大家分享5款不可或缺的办公软件,它们不仅好用,而且使用频率极高&#xff0c…

使用Gensim训练Word2vec模型

import gensim import jieba import re import warnings import logging warnings.filterwarnings(ignore)with open("dataset/sanguo.txt", r,encodingutf-8)as f: # 读入文本lines []for line in f: #分别对每段分词temp jieba.lcut(line) #结巴分词 精确模式wo…

股票价格预测 | Python实现基于Stacked-LSTM的股票预测模型,可预测未来(keras)

文章目录 效果一览文章概述模型描述源码设计效果一览 文章概述 以股票价格预测为例,基于Stacked-LSTM的股票预测模型(keras),可预测未来。 模型描述 LSTM 用于处理序列数据,如时间序列、文本和音频。相对于传统的RNN,LSTM更擅长捕获长期依赖关系,

C# WPF上位机开发(ExtendedWPFToolkit扩展包使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 虽然个人人为当前的c# wpf内容已经足够多,但是肯定还是有很多个性化的需求没有满足。比如说不够好看,比如说动画效果不好&a…

【C++】POCO学习总结(十八):XML

【C】郭老二博文之&#xff1a;C目录 1、XML文件格式简介 1&#xff09;XML文件的开头一般都有个声明&#xff0c;声明是可选 <&#xff1f;xml version"1.0" encoding"UTF-8"?>2&#xff09;根元素&#xff1a;XML文件最外层的元素 3&#xff…

不同vlan设备互通案例操作介绍

目录 一、案例示图需求 1. 示图 2. 需求 二、操作演示 1. 接入层交换机SW4、SW5划分vlan 2. 汇聚层交换机SW2、SW3配置IP作为vlan网关、与SW1直连 3. 核心交换机SW1配置IP与汇聚交换机、R1直连 4. SW1、SW2、SW3、R1配置静态路由&#xff0c;使得vlan10、vlan20、172网…

Vue项目使用WebAssembly之后,Nginx如何解决WebAssembly不支持的问题

在VUE项目中使用WebAssembly之后&#xff0c;打包的项目会出现下面的错误 Uncaught (in promise) TypeError: WebAssembly: Response has unsupported MIME type application/wasm; charsetutf-8 expected application/wasm 可以用以下办法解决 一&#xff1a;单独Nginx配置…

YK3150滚齿机电池式绝对编码器电压过低导致丢失多圈数据,如何清多圈

当驱动器电池没电了&#xff0c; 就会报警如下 C轴驱动器&#xff1a;041&#xff08;0x29&#xff09; 电池式绝对编码器电压过低导致丢失多圈数据 此时需要换电池后&#xff0c;进行【清多圈】操作&#xff0c;先把【伺服参数开关】打开&#xff08;一定要记得&#xff09…

Pycharm 如何更改成中文版| Python循环语句| for 和 else 的搭配使用

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

音视频:Ubuntu下安装 FFmpeg 5.0.X

1.安装相关依赖 首可选一&#xff1a; sudo apt-get update sudo apt-get install build-essential autoconf automake libtool pkg-config \libavcodec-dev libavformat-dev libavutil-dev \libswscale-dev libresample-dev libavdevice-dev \libopus-dev libvpx-dev libx2…

自动化测试Selenium node 配置

查看自己chrome浏览器的版本 下载chromedriver对应版本&#xff0c;下载当前版本中最大版本。 https://npm.taobao.org/mirrors/chromedriver 安装java jdk &#xff0c;版本至少1.7, 并配置jdk环境变量 以下2个文件放在同一个目录下 Cmd地址切换到第四点目录下&#xff0c;然…

剑指 Offer(第2版)面试题 36:二叉搜索树与双向链表

剑指 Offer&#xff08;第2版&#xff09;面试题 36&#xff1a;二叉搜索树与双向链表 剑指 Offer&#xff08;第2版&#xff09;面试题 36&#xff1a;二叉搜索树与双向链表解法1&#xff1a;中序遍历 - 递归解法2&#xff1a;中序遍历 - 迭代 剑指 Offer&#xff08;第2版&am…

智能电力监控管理系统在物业小区的应用——安科瑞 顾烊宇

0引言 由于部分住宅小区存在电力设施纸质档案破损缺失、产权分界不清、查找故障点所在箱变&#xff08;箱式变电站&#xff0c;下同&#xff09;位置困难或小区出入口路径不明等情况&#xff0c;影响了抢修效率。为此&#xff0c;国网辽宁沈阳市沈北新区供电公司依托原有GIS平台…