机械臂在抓取目标物块时有何难点?PGDQN算法在其中起到何用?

文|小初

编辑|小初

«——【·前言·】——»

本文中机械臂需要学习的技能操作是,在混乱无序摆放着的多个物块中以最佳位姿抓取目标物块,该抓取技能过程从整个操作流程上可以分成两阶段。

首先在三维操作空间内机械臂对目标物块的距离接近,其次机械臂以合适的姿态将抓手的中心点对应于物块的重心,然后进行抓手的闭合。

基于以上对机械臂抓取技能方法的分析,本文采用深度强化学习算法对抓取系统建模,同时分析算法应用于机械臂抓取的难点,并提出相应的解决方法。

«——【·策略引导机制·】——»

由于机械臂操作具有探索空间大和样本利用效率低的特点,导致DRL算法表现不显著,而任务性能有待提高。

研究者们相继提出许多有效的样本利用率改进方法,例如后视经验回放(HindsightExperienceReply,HER)算法、优先经验回放(PrioritizedExperienceReplay,PER)算法、使用合成数据增强真实数据方法、多个机器人的并行训练等。

然而这些方法在提高样本利用率的同时,也会导致数据存储空间增大、处理过程变慢,本节首先介绍以上两种使用最为广泛的样本改进方法。

HER算法:在强化学习中,奖励稀疏是一个需要关注的问题,由于难以对复杂任务的强化学习模型设计出有效的奖励函数,大部分情况下机械臂的学习过程都无法得到有效的反馈,导致模型难以有效的学习。

HER算法基于人类学习过程启发,其不仅能对正样本快速学习,而且可以从负样本中学到新的知识,它的具体思路是在每一条采样轨迹后,通过替换轨迹目标,从而使有效回报数量变多,起到改善训练样本的目的。

实际上,在机械臂领域,尤其是多任务或多目标学习,机械臂采样的一条轨迹即使没有达到当前设定的目标,但是实际上已经达到了其他目标。

在本次轨迹开始前,设定任务是到达物体1处,假设其位置是pos1,而此次轨迹开始后偏离目标达到了pos2,显然这是失败的,它是一个负样本。

但是如果本次采样的初始目标处于pos2,那么这个负样本就成为了正样本,反而可以在神经网络的后向传播中起到较大作用,而且在下一次遇到pos2任务目标时,该样本可发挥自己的价值。

PER算法:DQN算法首次引入了经验回放的概念,但传统的经验回放是通过将所有交互的数据存入经验池后。

从中随机采取批次样本进行网络的训练,这种均匀采样方法导致一些高质量的样本无法得到充分利用。

PER则按照经验重要性增加其被采样到的概率,即期望越重要的样本在网络更新时被用到的次数越多,从而增加学习效率。

由于更新Q网络的依据是TDerror,即TDerror大的样本反向传播更新的梯度更大,PER根据每个样本的大小来排序,更加频繁地回放这些高偏差的样本,

因此PER的关键在于选择一个可以根据优先级排序并且能存放大量经验的数据结构,PER使用SumTree数据结构作为经验池存放样本。

所有的经验回放样本分别保存在最下面的叶子节点,而内部节点不保存样本数据,叶子节点除了保存数据以外,还要保存该样本的优先级.

«——【·模型构建·】——»

本文对机械臂抓取任务进行建模时,将其作为一个带有策略引导和优先经验回放的DRL模型,简称PGDQN,

PGDQN模型构建主要思想如下:通过全卷积神经网络(FullConvolutionalNetwork,FCN)逼近每个时刻状态-动态对的价值函数Q,从而预测每个状态下的最优抓取位置和抓取姿态。

首先是状态建模,RGB-D相机可以获取t时刻下工作区域的两种图像,包含RGB通道得到的彩色图像和D通道得到的深度图像。

其中RGB图像包含的是每个像素点的颜色信息,深度图像指的是在深度感应器的视野中,坐标(x,y)处物体表面到离摄像头平面最近的距离,通俗的讲就是基于摄像头坐标下的高度信息。

状态建模过程中,将RGB信息和深度信息融合在一起形成三维空间下的数据,从而将待抓取的物块与其所在图像背景解耦。

使待抓取物块更容易被神经网络进行特征提取,因此需要将这些二维数据转化为三维点云数据。

点云数据指的是在一个三维坐标系统中的一组向量的集合,每一个向量代表了该点处的各种信息,一般包括三维坐标、颜色、激光反射强度等,一组点云数据的集合可以描述物体的外表面状态。

点云数据可以通过激光测量、摄影测量得到,机械臂抓取任务中我们获取的深度图片属于摄影测量,因此可以方便地转化为3D点云,定义点云数据为具有行和7列的数组,每行对应二维图像的单个像素点。

由于原始的深度图像是直接在相机的坐标系下获得的,因此需要根据相机的内置参数以及摄像机坐标系与世界坐标系之间的位置和角度转换关系来计算每个像素点的世界坐标,从而将其填充给点云数据。

同样,RGB图像数据[r,g,b]也填充给点云数据,为了使机械臂抓手能够以合适的姿态抓取物体,状态信息中还需要增添物体的旋转角度信息。

为了降低状态维度及状态复杂度,采取将获取图像依次转动一定角度的方式来代替需要预测的物体旋转角度。

其中设定该角度为30∘(该角度可自行设置,角度越小,模型预测的末端旋转量更为精确,但同时增加状态信息的数量),即图像依次旋转30∘后形成12张图像,并填充给点云数据。

最后在z轴方向上向上投影,以构造一个同时具有颜色和物理高度的状态信息图,并将其作为神经网络的输入。

其次是网络构建,FCN是在CNN的基础上延伸出来的一类用于图像分割的神经网络,CNN结构适用于图像级别的分类和回归任务,能得到整个输入图像的一个数值描述。

但不能很好地给出物体的具体轮廓,并指出每个像素具体属于哪个物体,因此在实现精确的分割上存在难度。

而FCN用卷积层和池化层替代了CNN网络中的全连接层,采用反卷积技术对最后一个卷积层的特征图进行上采样(Upsampled),使它恢复到输入图像相同的尺寸。

从而可以对每一个像素都产生一个输出值,同时保留了原始输入图像中的空间相对信息,对于机械臂抓取而言,本文设计的模型并不对图像本身进行分类,而是对像素级空间进行行为预测,因此选择使用FCN网络,可以有效弥补上述缺点。

FCN中有两个重要技术:反卷积(Deconvolution)、跳层(SkipLayer),其中反卷积能将低分辨率的特征图还原为高分辨率图像。

在FCN中,图像经过一系列卷积、池化后得到的特征图分辨率远小于原图,导致经过特征提取的像素反而无法与原图中一一对应,那么就无法实现像素级的预测,因此需要对特征图进行上采样,从而提高特征图的分辨率。

上采样技术有三种常用的方法:双线性插值上采样、反卷积上采样、池化上采样,其中,双线性插值和池化上采样方法实现简单,无需训练,但还原特征效果差,反卷积上采样需要训练,但能更好的还原特征图。

因此本文采取了反卷积上采样方法,其通过补零的方法可以将特征图还原为高分辨率的图像。

当FCN在前几层网络中多次通过卷积、池化、非线性激活函数处理后,如果只对最后一个特征图进行反卷积操作,最终输出的图像实际是比较粗糙的。

因此FCN网络采用跳层技术弥补反卷积对细节的丢失,如图3.8所示,跳层将浅层网络池化后的特征图保留下来并进行反卷积,再与深层反卷积结果融合,能够得到更加鲁棒的结果。

本文通过对状态和动作空间进行像素级参数化建模后,即可利用FCN输出与状态输入同样大小的像素图,该像素图带有网络预测的Q值信息。

从网络结构来看,FCN由卷积神经网络DenseNet121和反卷积模块组成。

其中DenseNet121由四个紧密块(DenseBlock)和三个传输层(Transitionlayer)组成,其中DenseBlock中每一层都直接连接输入及loss函数的梯度,因此能够减轻梯度消失问题。

而Transitionlayer是连接在每个DenseBlock后的1×1卷积操作,进一步压缩网络的参数,经过DenseNet121输出了1×1×1024个颜色特征图和1×1×1024个深度特征图,将两者拼接起来成为1×1×2048个特征图,

最后经过两次卷积和上采样输出12张224×224×64的Q值图像,图像中的每个像素对应一个动作值函数Q(s,a),代表着在该状态下执行在该点映射的三维位置下的抓取动作能获得的最大期望回报。

«——【·仿真实验与结果分析·】——»

仿真实验包括模型的训练、不同场景测试、对比实验和其他抓取场景实验,在训练阶段,机械臂通过上述多个回合进行抓取操作(设定操作台上的红色矩形物块是目标,其他物块是扰乱项)。

为了增强机械臂对抓取目标物块任务的智能性和灵活性,每个回合重置为初始状态时,随机设置操作台上所有物块的位置和姿态,测试阶段,实验内容包括以下几个方面。

(1)设置多个抓取实验,测试本文中算法PGDQN在不同任务中的可行性。

(2)设置对比实验,测试PGDQN的性能效果。

(3)测试在不同规则形状的物块下、以及不同机械臂环境下,该算法是否具有适应性,将算法转移到真实机械臂上并测试其实现的可行性。

此外,对比实验设置了相关的基准(Baseline)方法,由于PGDQN是基于DQN改进的,因此基准方法是未加策略引导机制的DQN抓取算法。

对于PGDQN的抓取性能验证来说,该模型首先在5个物块随机排列的场景中进行训练,每200个回合后计算一次平均抓取成功率。

展示了训练过程中成功率的变化曲线,经过5000步的训练,抓取成功率稳定在75%左右,得出了网络损失值的变化曲线,这意味着网络在4000步后开始收敛

«——【·结语·】——»

从以上结果来看,PGDQN算法在机械臂抓取技能操作上表现出一定可行性,当训练的模型稳定后,设计三种场景来验证该模型的灵活性、适应性和智能性。

提出了策略引导机制解决抓取任务中存在的样本利用率问题,接着,对基于PGDQN的机械臂抓取系统进行建模,包括状态建模、网络构建等。

最后,在搭建好的CoppeliaSim仿真平台进行了大量的调试和训练,最终得到了较好的抓取模型,验证了PGDQN算法对不同场景的抓取性能,并测试算法的适应性、灵活性、泛化性,同时在真实机械臂上做了验证。

«——【·参考文献·】——»

[1]丁鹏超.基于强化学习的机械臂轴孔装配策略研究[D].哈尔滨工业大学,2020.

[2]赵阁,赵东亚,赵永瑞.多机械臂系统分布式主从同步控制算法与仿真[J].山东科技大学学报:自然科学版,2014,33(4):99–104.

[3]李彦江.一种基于多智能体强化学习的智能装配系统[D].北京邮电大学,2018.

[4]郭宪.深入浅出强化学习:原理入门[M].电子工业出版社,2018.

[5]刘嘉宇,李通通,余张国.多臂空间机器人操作大型目标的全身接触柔顺控制研究[J].兵工学报,2019,40(2):395.

[6]雷敏杰.基于神经网络的多机械臂协同控制方法研究[D].电子科技大学,2018.

展开阅读全文

页面更新:2024-05-31

标签:算法   卷积   机械   难点   样本   像素   模型   图像   特征   状态   目标   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top