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

强化学习是一种仿人学习的方法,其在不断与环境交互试错的过程中进行学习,提高自身的认知。其具有如下的优点,首先是数据依赖性低,强化学习通过与环境的交互来学习,减少了对标记数据的依赖性,可以大量的减少成本。其次是探索性强,强化学习通过与环境的交互来进行学习,可以更好地探索新的策略。最后是可解释性好,强化学习方法所使用的价值函数、策略等都具有明确的表示形式,能够为动作决策过程提供一定的解释能力。因此,强化学习(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 针对可变形物体的仿真结果

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

相关推荐
宇寒风暖14 分钟前
软件需求概述(尊享版)
笔记·学习·软件工程
xuanloyer26 分钟前
# Oracle 深入学习 Part 11: Managing Tables(管理表)
数据库·学习·oracle
三月七(爱看动漫的程序员)33 分钟前
AI Alignment: A Comprehensive Survey---分布转移下的学习
人工智能·gpt·深度学习·学习·语言模型·自然语言处理·chatgpt
心之所想,行之将至35 分钟前
零基础开始学习鸿蒙开发-基础页面的设计
学习
B.-1 小时前
减少 Flutter 应用体积的常用方法
学习·flutter·android studio·xcode
一只励志翻身的咸鱼哥1 小时前
基于MATLAB 的数字图像处理技术总结
图像处理·学习·计算机视觉·matlab
山河君2 小时前
音频进阶学习八——傅里叶变换的介绍
学习·算法·音视频·信号处理
dal118网工任子仪3 小时前
C语言刷题(2)
c语言·笔记·学习
岁岁岁平安3 小时前
spring学习(spring-bean实例化(静态工厂))
java·学习·spring·bean·静态工厂模式·factory_method
凌鲨3 小时前
React Native学习路线图
学习·react native·react.js