集成视触觉传感器的机器人操作学习

强化学习是一种仿人学习的方法,其在不断与环境交互试错的过程中进行学习,提高自身的认知。其具有如下的优点,首先是数据依赖性低,强化学习通过与环境的交互来学习,减少了对标记数据的依赖性,可以大量的减少成本。其次是探索性强,强化学习通过与环境的交互来进行学习,可以更好地探索新的策略。最后是可解释性好,强化学习方法所使用的价值函数、策略等都具有明确的表示形式,能够为动作决策过程提供一定的解释能力。因此,强化学习(RL)是执行复杂任务的有效方法,智能体在与环境交互中利用观察值(Observation)来执行适当的动作以提高奖励(Reward)值,从而完成任务。这种方法适用于复杂任务和未知环境。目前已经提出了多种强化学习策略,如SARSA、Q-learning、DQN、TD3、PPO和DPO。

虽然基于强化学习的方法已经在机器人操作领域取得了不少成果,但仍然存在着不少的问题。由于机械手缺少末端传感器,其所能获取的信息很少,甚至只作为一个末端执行器。这使得很多时候要去根据先验知识进行来使用基于模型的强化学习,这会大大降低训练出来的强化学习模型的鲁棒性和一般性。

如果能够在机械手末端加装传感器来获取更加丰富信息,这些信息可以丰富强化学习的信息量,并作为观察值(Observation)来对齐虚拟和现实,完成强化学习的迁移,提高整体模型的鲁棒性和一般性。视触觉传感器作为一款连续型柔性传感器,与柔性操作有着天然的适配性。将视触觉传感器作为执行器的末端传感器,则可以在操作物体的同时,获取物体的信息。有研究使用生成对抗网络(GAN)基于真实触觉图形来生成伪触觉图像,并以此作为强化学习的观察值。最终使用Tactip完成了表面跟踪操作任务虚拟到现实的迁移。但由于GAN网络所使用数据的专一性,该方法并不具有鲁棒性。还有研究者设计一种新的肌腱连接多功能光学触觉传感器MechTac。该传感器可以用于视野中物体的感知(TacTip)和视觉盲区中触摸点位置的确定(TacSide)。该论文中所提到的二值化卷积层大大提高了图片的预测效率。

在这里插入图片描述

图1 视触觉传感器作为末端执行器进行捋线操作

上述研究表明视触觉传感器可以很好地获取物体表面信息,这有助于强化学习虚拟向现实迁移时信息对齐,但这也带来了不小的挑战。上文介绍了强化学习是一种仿人学习的方法,其通过与环境交互试错来不断学习,但这就存在试错成本。如果在现实中直接进行强化学习训练,则会造成如数据采集效率低、设备磨损和安全事故。因此,为了降低强化学习的训练成本,提高安全性和稳定性。强化学习通常在虚拟环境中进行数据的采集和训练。如果想在机械手上加入末端传感器,尤其是柔性传感器,并使用强化学习作为训练策略,则会遇到很多困难,例如在虚拟中如何仿真柔性传感器的变形并获取准确的物体信息。这大大提高了仿真的难度,从而限制了其在强化学习的应用。

为了解决这些问题,人们开始关注到视触觉传感器的仿真方法,如有限元法(FEM)、关键点法和移动最小二乘物质点法(MLS-MPM)等。为了预测视触觉传感器弹性体的变形状态,有研究者使用 MLS-MPM 作为变形预测方法并开发了仿真环境,但它只考虑了弹性的弹性变形,未考虑被操作物体的弹塑性。因此,它仅适用于视触觉传感器与刚性物体之间的相互作用。另有研究者使用有限元(FEM)的方法来对视触觉传感器进行了仿真,通过视触觉传感器的标记点来对齐虚拟和现实的信息,完成了插拔刚体,钥匙开锁等刚性操作。然而对于可变形物体而言,其拥有着更加复杂的变形特性,如弹性、塑性和弹塑性变形。这会继续加大仿真的难度,是一个巨大的挑战。

在这里插入图片描述

图2 使用从虚拟到现实的强化学习训练策略进行机器人抓取操作

在这里插入图片描述

图3 利用有限元法(FEM)对视触觉传感器进行仿真并最终迁移到现实

随着计算机图形学技术的发展,越来越多基于物理的方法开始应用到仿真环境的设计中。为了模拟弹塑性体,有研究使用粒子群来表示弹塑性体(即橡皮泥),通过粒子之间信息的交互来表征物体因相互作用而发生的变形,并最终描述其变形特征。

在这里插入图片描述

图4 针对可变形物体的仿真结果

由于弹塑性体的复杂特性,可能发生弹性、塑性和弹塑性变形。因此视触觉传感器与弹塑性体之间的相互作用更为复杂,这就需要更为先进的仿真方法及可靠的物理引擎。

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

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

相关文章

Linux 系统框架分析(一)

一、linux内核结构框图 对内核结构框图有个总体的把握,有助于理解为什么驱动要这样写,为什么写的应用程序所用的C库接口能够产生这么多的事情。 框图可以看出来,linux系统,包括五个系统 一、Linux内核结构介绍 Linux 内核是操作…

Spring及相关框架的重要的问题

Java框架 问题一:Spring框架中的单例bean是线程安全的吗? 看下图,不能被修改的成员变量就是无状态的类,无状态的类没有线程安全问题,所以在开发中尽量避免可修改的成员变量。 回答:不是线程安全的&#xf…

Oracle一对多(一主多备)的DG环境如何进行switchover切换?

本文主要分享Oracle一对多(一主多备)的DG环境的switchover切换,如何进行主从切换,切换后怎么恢复正常同步? 1、环境说明 本文的环境为一主两备,数据库版本为11.2.0.4,主要信息如下: 数据库IPdb_unique_n…

Github 2024-08-09 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-08-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6TypeScript项目4Jupyter Notebook项目1Cuda项目1Sentry:开发者优先的错误跟踪和性能监控平台 创建周期:5093 天开发语言:Python,…

android系统中data下的xml乱码无法查看问题剖析及解决方法

背景: Android12高版本以后系统生成的很多data路径下的xml都变成了二进制类型,根本没办法看xml的内容具体如下: 比如想要看当前系统的widget的相关数据 ./system/users/0/appwidgets.xml 以前老版本都是可以直接看的,这些syste…

旅游出行必备商城小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,新闻类型管理,新闻资讯管理,商品类型管理,旅游商品管理,旅游景点,景点分类,系统管理 微信端账号功能包括&am…

GitHub的常用操作

目录 GitHub GitHub加速 克隆GitHub上的项目到本地 克隆GitHub上指定分支的项目 把本地项目上传到GitHub上管理 删除分支里的内容 单个仓库管理多个项目 上传项目到新建的分支 目前正在逐步熟悉GitHub,打算把整理好的代码上传到GitHub上,建立属…

C++ 类与对象

面向对象程序设计基本特点 特点: 抽象(数据抽象,行为抽象) 数据抽象:int hour,int minute.....,车:长,宽,高.... 功能抽象:showTime(),setTime() .....车:刹车…

使用Cisco进行模拟配置OSPF路由协议

OSPF路由协议 1.实验目的 1)理解OSPF 2)掌握OSPF的配置方法 3)掌握查看OSPF的相关信息 2.实验流程 开始 → 布置拓扑 → 配置IP地址 → 配置OSPF路由并验证PC路由的连通性 → 查看路由器路由信息 → 查看路由协议配置与统计信息 → 查看O…

【从零开始一步步学习VSOA开发】VSOA命令行工具vcx

VSOA命令行工具vcx vcx 介绍 vcx 是一个使用 VSOA RPC 客户端功能执行器,支持 RPC SET/GET 调用。 [rootsylixos:/root]# [rootsylixos:/root]# vcx -help USAGE: vcx [options] url -h : Show help message. -v : Show vcx version. -z …

[MRCTF2020]PYWebsite-1

打开以后查看源码信息 看到flag.php试着打开 提示看到,需要后端审计代码,而且应该要改ip,改成自己本地,burp抓包看一下 改X-Forwarded-For:127.0.0.1 得到flag flag{74242eb7-844f-4638-8aae-9ec37870d585}

通过LLM大模型将「白雪公主的故事」转为图数据存储

💡 本次将使用LLM大模型将「白雪公主的故事」转为图数据存储于neo4j数据库中,并展示图数据部分的效果 故事内容 很久很久以前,在一个遥远的王国里,有一位美丽的**王后**生下了一个皮肤像雪一样白皙、嘴唇像血一样鲜红的**女儿**…

网页设计模板范例

随着互联网的发展,网页设计变得越来越重要。一个吸引人的网页设计可以吸引更多的用户,提升用户体验,并且使网站内容更加易于浏览和理解。在这篇文章中,我将为大家介绍一个网页设计模板范例。 1. 选择合适的颜色和字体:…

golang for range time.Ticker 和 time.Timer时间通道使用示例 - 每隔指定时间执行一次,执行指定时长后退出执行

golang中的 ticker和timer时间通道除了可以使用for select case语句来执行外, 还可以使用 for range语句来执行ticker或者timer时间通道。 for range time.Ticker 和 time.Timer时间通道使用示例 下面的示例演示了time.Ticker 和 time.Timer的区别和使用演示。 Ti…

JAVA分布式CAP原则

分布式CAP原则主要是使用SpringCloud框架的时候会涉及到该部分知识点 CAP原则指的是在一个分布式系统中,一致性,可用性,分区容错性 实际的项目开发中,这三者往往是不可兼顾的。 AP:牺牲一致性,保证可用性…

【学习笔记】Matlab和python双语言的学习(动态规划)

文章目录 前言一、动态规划动态规划的基本步骤示例1示例2 三、代码实现----Matlab1.示例12.示例2 四、代码实现----python1.示例12.示例2 总结 前言 通过模型算法,熟练对Matlab和python的应用。 学习视频链接: https://www.bilibili.com/video/BV1EK411…

Linux驱动开发—平台总线模型详解

文章目录 1.平台总线介绍1.1平台总线模型的组成部分1.2平台总线模型的优势 2.使用平台总线模型开发驱动2.1注册platform设备2.2注册platform驱动2.3效果演示 1.平台总线介绍 Linux 平台总线模型(Platform Bus Model)是一种设备驱动框架,用于…

Debezium报错处理系列之第116篇:Caused by: java.lang.NumberFormatException: null

Debezium报错处理系列之第116篇:Caused by: java.lang.NumberFormatException: null 一、完整报错二、错误原因三、解决方法Debezium从入门到精通系列之:研究Debezium技术遇到的各种错误解决方法汇总: Debezium从入门到精通系列之:百篇系列文章汇总之研究Debezium技术遇到的…

【从零开始一步步学习VSOA开发】VSOA命令行工具vcl

VSOA命令行工具vcl 介绍 vcl 是一个 VSOA 命令监听器,支持订阅来自特定服务器发布的所有数据。 [rootsylixos:/root]# [rootsylixos:/root]# vcl -help USAGE: vcl [options] host [topics] -h : Show help message. -v : Show vcl version. …

平安城市行业无人机解决方案(网格化巡逻场景应用)

场景痛点: 缺少飞手,导致无人机应用频次偏低 无人机需要人工换电池、维护及存储 日常巡逻 | 无人机补盲巡逻 大疆航点飞行功能,重复性任务只飞一遍,后续重复调用 无人机航点规划,一次设置,后续重复调用…