首页 / 专利库 / 图形技术 / 递归噪声 / 一种基于虚拟训练的机器人智能抓取方法

一种基于虚拟训练的机器人智能抓取方法

阅读:196发布:2020-05-08

专利汇可以提供一种基于虚拟训练的机器人智能抓取方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于虚拟训练的 机器人 智能抓取方法。所述方法包括:搭建机器人虚拟操作平台并对其采用域随机化 算法 进行随机化,获取机器人的状态与所处的环境信息并经过预处理作为机器人操作的输入;搭建深度特征提取网络;基于搭建的深度特征提取网络,构建深度 强化学习 模型;对构建的深度强化学习模型进行训练,得到训练好的深度强化学习模型;将现实世界中的 机器人关节 角 状态与环境信息输入训练好的深度强化学习模型,生成抓取控制的输出,统计并返回成功抓取次数与总次数的比值作为结果指标。本发明克服了传统方法手工制作与数据清洗的繁重问题,避免了特征提取和轨迹规划的人为处理,提高了机器人抓取的可伸缩性与泛化性能。,下面是一种基于虚拟训练的机器人智能抓取方法专利的具体信息内容。

1.一种基于虚拟训练的机器人智能抓取方法,其特征在于,包括以下步骤:
S1、搭建机器人虚拟操作平台并对其采用域随机化算法进行随机化,获取机器人的状态与所处的环境信息并经过预处理作为机器人操作的输入,构建训练机器人抓取操作的输入数据;
S2、搭建基于全卷积神经网络(Fully Convolutional Networks)框架的深度特征提取网络主干,将输出的特征与机器人的关节状态信息进行融合,得到深度特征提取网络;
S3、基于步骤S2搭建的深度特征提取网络,结合基于尔可夫决策过程的Q学习算法构建深度强化学习模型;
S4、对步骤S3中构建的深度强化学习模型进行训练,得到训练好的深度强化学习模型;
S5、将现实世界中的机器人关节角状态与环境信息输入步骤S4中训练好的深度强化学习模型,生成抓取控制的输出,统计并返回成功抓取次数与总次数的比值作为结果指标。
2.根据权利要求1所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,所述步骤S1具体包括以下步骤:
S1.1、搭建机器人虚拟操作平台并对其采用域随机化算法进行随机化;
S1.2、将步骤S1.1中随机化采样的平均值设置为接近真实世界的估计值;在时刻t通过相机获取操作台上的图像数据,对图像数据进行筛选,去除其中不包括操作台在内的图片,并记录机器人的关节角信息,得到数据Dt={xt,qt},其中,xt表示时刻t的获取的4通道图像融合数据,包括一个三通道的RGB彩色图与单通道的高度图像,qt={qt1,qt2,qt3,…,qtm}为当前时刻t机器人的关节角度信息,范围在(-π,π)之间并且受到特定机器人活动范围的限制,m表示关节数量,qtm是表示t时刻第m个关节的角度;
S1.3、对步骤S1.2所述图像融合数据进行预处理,将数据集中的图像大小重置为H×W像素,并进行去均值以及像素值归一化操作;在深度图像预处理方面,为了避免当前区域背景中的其他非相关物体形成对深度信息的干扰,在每次预处理中,将当前场景的深度信息减去背景图像的深度信息,并结合物体的几何尺寸特征,将深度信息中的极端深度数据归零,以除去深度信息中由于深度相机误差导致的极端噪声值,所述极端深度数据指深度数值小于参考平面即操作台和大于操作对象尺寸2.5倍处深度信息的数据;由于采用的深度相机所获取的深度信息存在稀疏的异常值,利用异常值的稀疏性,采用中值滤波对深度信息进行平滑处理,完成训练机器人抓取操作的输入数据的构建。
3.根据权利要求2所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S1.1中,域随机化包括以下方面:
(1)、操作台即桌子上放置的物体的数量和形状;
(2)、操作台上物体放置的位置与物体的纹理特征;
(3)、操作台、机器人、灯光、相机以及周围屏障如地板的纹理;
(4)、相机的位置、方向与视野
(5)、场景中灯光的位置、方向与灯光色调
(6)、添加到图像场景中的随机噪声的数量和类型;
域随机化采样服从正太分布或均值分布。
4.根据权利要求2所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S1.2中,所述通过相机获取操作台上的图像数据包括对操作台即桌子上放置的物体的数量和形状、操作台上物体放置的位置与物体的纹理特征、操作台、机器人、灯光、相机以及周围屏障如地板的纹理采用标准正态分布进行抽样,对相机的位置、方向与视野、场景中灯光的位置、方向采用均匀分布进行抽样,对添加到场景中的随机噪声采用高斯白噪声。
5.根据权利要求1所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S2中,所述基于全卷积神经网络(Fully Convolutional Networks)框架的深度特征提取网络主干如下:
Input(H*W)->Conv_Block1->Conv_Block2->Conv_Block3->Conv_Block4->Conv_Block5->Conv_Block6->Conv_Block7;
其中,Input(H*W)表示高为H,宽为W像素的输入图像,H和W的取值范围为112~672,其中Conv_Block1~Conv_Block7分别为一系列搭建深度特征提取网络主干的卷积操作的集合,即卷积,具体如下:
Conv_Block1:Conv2d(4,64,3,padding=1)->ReLU(inplace=True)->Conv2d(64,64,
3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
Conv_Block2:Conv2d(64,128,3,padding=1)->ReLU(inplace=True)->Conv2d(128,
128,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
Conv_Block3:Conv2d(128,256,3,padding=1)->ReLU(inplace=True)->Conv2d(256,256,3,padding=1)->ReLU(inplace=True)->Conv2d(256,256,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
Conv_Block4:Conv2d(256,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
Conv_Block5:Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
Conv_Block6:Conv2d(512,4096,3)->ReLU(inplace=True)->Dropout2d();
Conv_Block7:Conv2d(4096,256,1)->ReLU(inplace=True)->Dropout2d();
其中,Conv2d(in_channels,out_channels,kernel_size,padding)表示输入通道数为in_channels,输出通道数为out_channels,卷积核大小为kernel_size,边缘填充值为padding的二维卷积操作;ReLU(inplace=True)表示允许原地置换操作的激活函数;
MaxPool2d(kernel_size,stride,ceil_mode=True)表示池化窗口大小为kernel_size,步长大小为stride,采取上取整模式ceil_mode的二维极大值池化操作;Dropout2d(p)表示概率为1-p使得权重参数为0的dropout层操作p是属于0~1之间的任意实数;符号->表示上述各个操作之间的前后顺序关系;
所述深度特征提取网络主干的各层输入输出信息描述如下:
由于Conv_Block1~Conv_Block5中存在步长大小为2的最大值池化操作,因此每次输入特征图大小为输出的尺寸的1/2,所以卷积块Conv_Block5输出的特征图大小为输入图像尺寸的1/32,即512个7*7图像块;卷积块Conv_Block5输出的特征图进入卷积块Conv_Block6后的输出为4096个5*5的图像块,进一步经过卷积块Conv_Block7后的输出为256个
5*5的图像块;由于输入的图像融合数据的通道数为4,因此Conv_Block1中第一个二维卷积操作输入通道in_channels为4。
6.根据权利要求1所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S2中,所述深度特征提取网络是将深度特征提取网络主干的输出展开之后与机器人的状态信息相融合;深度特征提取网络主干表示为Convs(inputt;θt),其输出记为It∈Rb*c*h*w,即It=Convs(inputt;θt);其中,inputt代表时刻t的输入图像,θt代表深度特征提取网络的可训练参数,Rb*c*h*w代表深度特征提取网络的输出It属于的空间维度,进一步的,b表示机器人抓取过程的分阶段数,c表示卷积神经网络输出的特征图的通道数,h和w分别是输出的特征图的高和宽;构造深度特征提取网络包括如下步骤:
S2.1、ft=Flatten(It),表示将得到的二维特征图输出It展开为一维特征向量ft∈R1*A,其中A=c*h*w;
S2.2、ct=Concat(ft,qt),表示拼接融合特征向量ft与机器人当前状态向量qt,得到ct=R1*(A+m);
S2.3、ht=LSTM(cy,ht-1|θt),表示将一维特征向量ct输入长短时记忆网络,其中,在任意一个训练阶段的起始,记忆网络的初始状态都为标准正态分布。
7.根据权利要求1所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S3具体包括以下步骤:
S3.1、将步骤S2.3所述递归长短时记忆网络的输出记为Oτ,通过归一化指数函数Softmax()和前连接线性变换将输出Oτ映射成为机械臂对不同动作的选择概率pt和对应动作下机器人的状态表示st,即
st=Fully_Linear(Oτ);
其中,i=1,…,τ,τ为对机械臂输出动作预测的数量,完成对输入视觉信息与机器人状态信息的编码;
S3.2、对步骤S3.1中得到的机器人的状态表示st,结合基于马尔可夫过程的Q学习算法,将其建模为在时间t下,全卷积网络对RGB彩色图像和深度图像的特征提取以及长短时记忆网络对机器人关节角状态与图像特征的序列模型,最后通过全连接编码形成智能体的状态表示,其中彩色图像与深度图像经过步骤S1.3所述的预处理;
S3.3、采用Smooth L1损失函数作为模型整体的目标损失函数,目标损失函数的公式如下:
其中ρ为正的实常数,是一个可以调整的阈值,至此完成深度强化学习模型的构建。
8.根据权利要求7所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S3.2,结合介于马尔可夫过程的Q学习算法将机器人的状态表示st建模为在时间t下,全卷积网络对RGB彩色图像和深度图像的特征提取以及长短时记忆网络对机器人关节角状态与图像特征的序列模型,包括如下步骤:
S3.2.1、在时间t以及当前状态st下,智能体即机器人根据给定策略πt选择并执行一个动作at,然后立即转换到新的状态st+1并收到相应的奖励 定义累计收益为Gt,权值衰减指数为γ,展开如下:
定义累计收益的期望如下:
E(s)=E[Gt|St=s];
进一步得:
E(s)=E[Gt|St=s]
=E[Rt+1+γRt+2+…+γkRt+k+1+…|St=s]
=E[Rt+1+γ(Rt+2+…+γk-1Rt+k+1+…)|St=s]
=E[Rt+1+γGt+1|St=s];
其中,k表示对累计收益的求和序号,s代指当前的状态;
上述公式为贝尔曼方程,表示了当前状态的价值的期望与当前的反馈和下一时刻状态的关系;
S3.2.2、使用离线的Q学习方法训练一个贪婪的决策策略πt,该策略通过最大化动作-价值函数即Q函数选择相应的动作at;通过迭代计算来降低Q函数Q(st,at)和gt之间的误差:
et=|Q(st,at)|-gt;
其中gt为Q函数Q(st,at)的目标值:
其中,表示所有可选动作的集合, 代表使得目标值取最大的可选动作的集
合 中的最优动作a*。
9.根据权利要求1所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S4具体如下:
对所述深度强化学习模型采用随机梯度下降进行权重更新,设定初始学习率为lr0,学习率变化的底数为μ,学习率变化的间隔数为stepsize,最大训练迭代次数为itermax,学习速率的更新方式为梯度递减,利用以下公式进行更新:
lr=lr0*μ(iter-stepsize);
其中lr表示当前学习率,iter表示当前迭代步数;所述权重更新如下:
其中θ和L分别为深度强化学习模型的所有可训练参数和步骤S3.4中的目标损失函数,←运算符表示参数的权值更新操作,当迭代步数iter=itermax时,终止迭代,完成深度强化学习模型的训练过程。
10.根据权利要求1所述的一种基于虚拟训练的机器人智能抓取方法,其特征在于,步骤S5包括以下步骤:
S5.1、将现实世界中的机器人与操作台、相机、操作对象按与步骤S1中搭建的机器人虚拟操作平台相似的相对关系摆放;
S5.2、在真实场景下对步骤S4中的训练好的深度强化学习模型进行测试,评估该模型对操作对象的视觉定位与抓取效果;
S5.3、分别统计并返回成功抓取次数n1与总次数n2的比值Ratio=n1/n2作为结果指标。

说明书全文

一种基于虚拟训练的机器人智能抓取方法

技术领域

[0001] 本发明属于机器人智能抓取与人工智能技术领域,特别涉及一种基于虚拟训练的机器人智能抓取方法。

背景技术

[0002] 近年来,信息技术、智能硬件和自动化系统得到了迅猛发展,经过了国内外数十年的研究,机器人相关技术已经取得了一系列的重大进展,机器人正逐渐被广泛应用到工业、军事与生活服务的各个场景中。特别是随着以深度学习为主的人工智能的发展,对机器人产业的数字化与智能化发展提出了新的需求。其中抓取任务是机器人操作技能最常规与最重要的子集之一,为了使机器人获得更多的通用功能,抓握是一个必须掌握的技能。机器手臂视觉抓取在传统的机器人技术和控制理论的基础上,将计算机视觉理论、深度学习、人工智能等学科相结合,如何实现机器人的智能抓取,无论在理论研究还是在商业应用中,都具有重大的价值。
[0003] 作为任务型机器人的必备技能,适应环境变化的能起着极为重要的作用,被认为是通往通用人工智能的重要一步。抓取描述了机器人在不确定的环境中,其末端执行器如何安全地抓住一个物体并成功地举起它而不发生滑动,通用型机器人可以利用它们的感知能力来直观地识别给定对象的抓握点。目前的机器人视觉抓取方法主要分为传统的基于专家知识的手工特征方法,以及基于深度学习的深度特征提取方法。传统的视觉抓取需要人类的专业知识来分析形成特定任务的算法,但这是一种费时费力的方法,加之该类算法在表达环境多样性上的局限,基于手工特征的传统的视觉抓取往往优势不足。在鲁棒性和稳定性方面,基于深度神经网络的方法提取得到的特征表现出了更优秀的性能,对训练集中未曾出现的新物体具有更好泛化性和适应性。在过去的五年里,随着深度学习的发展,特别是深度卷积神经网络的出现,使得模型的表征能力大大提升,得益于此,机器人视觉、自然语言处理和自动驾驶应用程序取得了显著的进步,这些方法的成功促使机器人研究人员探索深度学习方法在机器人领域中的应用。
[0004] 以往的机械臂视觉抓取算法,通过基于深度神经网络视觉实现对多目标物体的识别与定位。这种方法往往通过采集并构建大量的目标图像并标注制作成标准的训练集与验证集,然后使用前述的目标识别算法在训练集上进行离线训练,最后把训练生成的模型应用到具体任务上实现在线预测与识别。RCNN:Regions with Convolutional Neural Network Features系列论文作为目标检测的经典开山之作是主流的融合深度神经网络的机器人视觉目标检测算法,然而由于存在训练步骤繁琐,特征提取区域冗杂等于原因,在运行速度上远不满足实时性的需求。而强化学习的出现,打破了原本监督学习无监督学习的范式,成功建模了连续或离散环境输入与动作序列输出的关系。强化学习作为机器学习中的一个子领域,与机器人有着密切的联系,在机器人控制中已得到了广泛的研究与探索。其模型概述为,在某一特定任务场景下,智能体通过与环境进行交互,并根据环境的反馈,以极大化整体收益为目标对智能体的策略进行优化,最终达到完成指定任务的指标。近年来,借助于深度学习对图像等视觉感知任务的理解能力与强化学习强大的推理决策能力,两者的产物,深度强化学习实现了相关任务的端到端训练与学习,减少了不同阶段之间误差的级联传播,从而能够解决实际生活中越来越多的复杂问题。
[0005] 然而之前的这类方法存在手工制作和图像清洗的繁重任务,难以覆盖足够的环境状态信息和把控数据集的分布规律,大大降低了该方法的实用性和泛化能力。由于具有可伸缩,快速且低成本的数据收集优势,在模拟环境中学习端到端的控制策略是一种有吸引力的替代方法。但是,如果无法将其成功迁移到现实世界中,那么这些模拟方法将无济于事。在现实世界中,通过学习类似于简单整理任务的长跨度多阶段任务来演示这一点,涉及到定位一个立方体,到达,抓紧并放置一个篮子以将立方体放入其中。在笛卡尔空间中通过逆运动学构造的路径,以构建可用于训练表示神经网络控制策略的数据集,该控制器连续接受环境状态下的图像输入并输出机器人关节和运动速度。
[0006] 现有技术文献如J.Schulman,F.Wolski,P.Dhariwal,A.Radford,and O.Klimov.Proximal policy optimizationalgorithms和A.A.Rusu,M.Vecerik,T.N.Heess,R.Pascanu,and R.Hadsell.Sim-to-real robotlearning from pixels with progressive nets。该技术通过对给定数量的步骤和固定数量的域训练一个策略,在面对新环境时往往表现很差。本发明通过使用域随机化方法,在训练过程中逐步增加域的数量,通过大量的环境外观变化,使得模型可以推广到现实环境中,实现虚拟与现实的转移与过渡,使机器人能够从随机的源域学习控制策略,并可以直接泛化到未知的目标域进行抓取操作。

发明内容

[0007] 本发明的目的是为了解决上述现有技术存在的缺陷,并提供一种结合域随机化算法和深度强化学习的机器人智能视觉抓取方法,提高环境状态输入视觉图像特征与机器人动作序列控制的契合度。通过使用域随机化方法,通过大量的外观变化,使得模型可以推广到现实环境中,实现虚拟与现实的转移与过渡。该方法具有可伸缩,快速且低成本的数据收集优势,能够调整不同环境外观的比重从而把握数据集的分布,在模拟环境中学习端到端的控制策略。通过不断的场景变化与抓取探索,机器人可以主动地根据与环境交互产生的视觉图像进行特征提取,并经过优化控制策略直接应用于机器人的抓取动作,完成了机器人抓取的闭环控制。
[0008] 本发明的目的至少通过如下技术方案之一实现。
[0009] 一种基于虚拟训练的机器人智能抓取方法,包括以下步骤:
[0010] S1、搭建机器人虚拟操作平台并对其采用域随机化算法进行随机化,获取机器人的状态与所处的环境信息并经过预处理作为机器人操作的输入,构建训练机器人抓取操作的输入数据;
[0011] S2、搭建基于全卷积神经网络(Fully Convolutional Networks)框架的深度特征提取网络主干,将输出的特征与机器人的关节角状态信息进行融合,得到深度特征提取网络;
[0012] S3、基于步骤S2搭建的深度特征提取网络,结合基于尔可夫决策过程的Q学习算法构建深度强化学习模型;
[0013] S4、对步骤S3中构建的深度强化学习模型进行训练,得到训练好的深度强化学习模型;
[0014] S5、将现实世界中的机器人关节角状态与环境信息输入步骤S4中训练好的深度强化学习模型,生成抓取控制的输出,统计并返回成功抓取次数与总次数的比值作为结果指标。
[0015] 进一步地,所述步骤S1具体包括以下步骤:
[0016] S1.1、搭建机器人虚拟操作平台并对其采用域随机化算法进行随机化,其目的是为了在训练时提供足够的模拟场景样本空间可变性,以便在测试时该模型能够推广到真实世界的数据中;
[0017] S1.2、将步骤S1.1中随机化采样的平均值设置为接近真实世界的估计值;在时刻t通过相机获取操作台上的图像数据,对图像数据进行筛选,去除其中不包括操作台在内的图片,并记录机器人的关节角信息,得到数据Dt={xt,qt},其中,xt表示时刻t的获取的4通道图像融合数据,包括一个三通道的RGB彩色图与单通道的高度图像,qt={qt1,qt2,qt3,…,qtm}为当前时刻t机器人的关节角度信息,范围在(-π,π)之间并且受到特定机器人活动范围的限制,m表示关节数量,qtm是表示t时刻第m个关节的角度;
[0018] S1.3、对步骤S1.2所述图像融合数据进行预处理,将数据集中的图像大小重置为H×W像素,并进行去均值以及像素值归一化操作;在深度图像预处理方面,为了避免当前区域背景中的其他非相关物体形成对深度信息的干扰,在每次预处理中,将当前场景的深度信息减去背景图像的深度信息,并结合物体的几何尺寸特征,将深度信息中的极端深度数据归零,以除去深度信息中由于深度相机误差导致的极端噪声值,所述极端深度数据指深度数值小于参考平面即操作台和大于操作对象尺寸2.5倍处深度信息的数据;由于采用的深度相机所获取的深度信息存在稀疏的异常值,利用异常值的稀疏性,采用中值滤波对深度信息进行平滑处理,完成训练机器人抓取操作的输入数据的构建。
[0019] 进一步地,步骤S1.1中,在训练过程中使用的域随机化包括以下方面:
[0020] (1)、操作台即桌子上放置的物体的数量和形状;
[0021] (2)、操作台上物体放置的位置与物体的纹理特征;
[0022] (3)、操作台、机器人、灯光、相机以及周围屏障如地板的纹理;
[0023] (4)、相机的位置、方向与视野
[0024] (5)、场景中灯光的位置、方向与灯光色调
[0025] (6)、添加到图像场景中的随机噪声的数量和类型;
[0026] 域随机化采样服从正太分布或均值分布。
[0027] 进一步地,步骤S1.2中,所述通过相机获取操作台上的图像数据包括对操作台即桌子上放置的物体的数量和形状、操作台上物体放置的位置与物体的纹理特征、操作台、机器人、灯光、相机以及周围屏障如地板的纹理采用标准正态分布进行抽样,对相机的位置、方向与视野、场景中灯光的位置、方向采用均匀分布进行抽样,对添加到场景中的随机噪声采用高斯白噪声。
[0028] 进一步地,步骤S2中,所述基于全卷积神经网络(Fully  Convolutional Networks)框架的深度特征提取网络主干如下:
[0029] Input(H*W)->Conv_Block1->Conv_Block2->Conv_Block3->Conv_Block4->[0030] Conv_Block5->Conv_Block6->Conv_Block7;
[0031] 其中,Input(H*W)表示高为H,宽为W像素的输入图像,H和W的取值范围为112~672,其中Conv_Block1~Conv_Block7分别为一系列搭建深度特征提取网络主干的卷积操作的集合,即卷积,具体如下:
[0032] Conv_Block1:Conv2d(4,64,3,padding=1)->ReLU(inplace=True)->Conv2d(64,64,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0033] Conv_Block2:Conv2d(64,128,3,padding=1)->ReLU(inplace=True)->Conv2d(128,128,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0034] Conv_Block3:Conv2d(128,256,3,padding=1)->ReLU(inplace=True)->Conv2d(256,256,3,padding=1)->ReLU(inplace=True)->Conv2d(256,256,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0035] Conv_Block4:Conv2d(256,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0036] Conv_Block5:Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0037] Conv_Block6:Conv2d(512,4096,3)->ReLU(inplace=True)->Dropout2d();
[0038] Conv_Block7:Conv2d(4096,256,1)->ReLU(inplace=True)->Dropout2d();
[0039] 其中,Conv2d(in_channels,out_channels,kernel_size,padding)表示输入通道数为in_channels,输出通道数为out_channels,卷积核大小为kernel_size,边缘填充值为padding的二维卷积操作;ReLU(inplace=True)表示允许原地置换操作的激活函数;MaxPool2d(kernel_size,stride,ceil_mode=True)表示池化窗口大小为kernel_size,步长大小为stride,采取上取整模式ceil_mode的二维极大值池化操作;Dropout2d(p)表示概率为1-p使得权重参数为0的dropout层操作p是属于0~1之间的任意实数;符号->表示上述各个操作之间的前后顺序关系;
[0040] 所述深度特征提取网络主干的各层输入输出信息描述如下:
[0041] 由于Conv_Block1~Conv_Block5中存在步长大小为2的最大值池化操作,因此每次输入特征图大小为输出的尺寸的1/2,所以卷积块Conv_Block5输出的特征图大小为输入图像尺寸的1/32,即512个7*7图像块;卷积块Conv_Block5输出的特征图进入卷积块Conv_Block6后的输出为4096个5*5的图像块,进一步经过卷积块Conv_Block7后的输出为256个5*5的图像块;由于输入的图像融合数据的通道数为4,因此Conv_Block1中第一个二维卷积操作输入通道in_channels为4。
[0042] 进一步地,步骤S2中,所述深度特征提取网络是将深度特征提取网络主干的输出展开之后与机器人的状态信息相融合;深度特征提取网络主干表示为Convs(inputt;θt),其输出记为It∈Rb*c*h*w,即It=Convs(inputt;θt);其中,inputt代表时刻t的输入图像,θt代表深度特征提取网络的可训练参数,Rb*c*h*w代表深度特征提取网络的输出It属于的空间维度,进一步的,b表示机器人抓取过程的分阶段数,c表示卷积神经网络输出的特征图的通道数,h和w分别是输出的特征图的高和宽;构造深度特征提取网络包括如下步骤:
[0043] S2.1、ft=Flatten(It),表示将得到的二维特征图输出It展开为一维特征向量ft∈R1*A,其中A=c*h*w;
[0044] S2.2、ct=Concat(ft,qt),表示拼接融合特征向量ft与机器人当前状态向量qt,得到ct=R1*(A+m);
[0045] S2.3、ht=LSTM(ct,ht-1|θt),表示将一维特征向量ct输入长短时记忆网络,其中,在任意一个训练阶段的起始,记忆网络的初始状态都为标准正态分布。
[0046] 进一步地,步骤S3具体包括以下步骤:
[0047] S3.1、将步骤S2.3所述递归长短时记忆网络的输出记为Oτ,通过归一化指数函数Softmax()和前连接线性变换将输出Oτ映射成为机械臂对不同动作的选择概率pt和对应动作下机器人的状态表示st,即
[0048]
[0049] st=Fully_Linear(Oτ);
[0050] 其中,i=1,…,τ,τ为对机械臂输出动作预测的数量,完成对输入视觉信息与机器人状态信息的编码;
[0051] S3.2、对步骤S3.1中得到的机器人的状态表示st,结合基于马尔可夫过程的Q学习算法,将其建模为在时间t下,全卷积网络对RGB彩色图像和深度图像的特征提取以及长短时记忆网络对机器人关节角状态与图像特征的序列模型,最后通过全连接编码形成智能体的状态表示,其中彩色图像与深度图像经过步骤S1.3所述的预处理;
[0052] S3.3、采用Smooth L1损失函数作为模型整体的目标损失函数,目标损失函数的公式如下:
[0053]
[0054] 其中ρ为正的实常数,是一个可以调整的阈值,至此完成深度强化学习模型的构建。
[0055] 进一步地,步骤S3.2,结合介于马尔可夫过程的Q学习算法将机器人的状态表示st建模为在时间t下,全卷积网络对RGB彩色图像和深度图像的特征提取以及长短时记忆网络对机器人关节角状态与图像特征的序列模型,包括如下步骤:
[0056] S3.2.1、在时间t以及当前状态st下,智能体即机器人根据给定策略πt选择并执行一个动作at,然后立即转换到新的状态st+1并收到相应的奖励 定义累计收益为Gt,权值衰减指数为γ,展开如下:
[0057]
[0058] 定义累计收益的期望如下:
[0059] E(s)=E[Gt|St=s];
[0060] 进一步得:
[0061] E(s)=E[Gt|St=s]
[0062] =E[Rt+1+γRt+2+…+γkRt+k+1+…|St=s]
[0063] =E[Rt+1+γ(Rt+2+…+γk-1Rt+k+1+…)|St=s]
[0064] =E[Rt+1+γGt+1|St=s];
[0065] 其中,k表示对累计收益的求和序号,s代指当前的状态;
[0066] 上述公式为贝尔曼方程,表示了当前状态的价值的期望与当前的反馈和下一时刻状态的关系;
[0067] S3.2.2、使用离线的Q学习方法训练一个贪婪的决策策略πt,该策略通过最大化动作-价值函数即Q函数选择相应的动作at;通过迭代计算来降低Q函数Q(st,at)和gt之间的误差:
[0068] et=|Q(st,at)|-gt;
[0069] 其中gt为Q函数Q(st,at)的目标值:
[0070]
[0071] 其中,表示所有可选动作的集合, 代表使得目标值取最大的可选动作的集合 中的最优动作a*。
[0072] 进一步地,步骤S4具体如下:
[0073] 对所述深度强化学习模型采用随机梯度下降进行权重更新,设定初始学习率为lr0,学习率变化的底数为μ,学习率变化的间隔数为stepsize,最大训练迭代次数为itermax,学习速率的更新方式为梯度递减,利用以下公式进行更新:
[0074] lr=lr0*μ(iter-stepsize);
[0075] 其中lr表示当前学习率,iter表示当前迭代步数;所述权重更新如下:
[0076]
[0077] 其中θ和L分别为深度强化学习模型的所有可训练参数和步骤S3.4中的目标损失函数,←运算符表示参数的权值更新操作,当迭代步数iter=itermax时,终止迭代,完成深度强化学习模型的训练过程。
[0078] 进一步地,步骤S5包括以下步骤:
[0079] S5.1、将现实世界中的机器人与操作台、相机、操作对象按与步骤S1中搭建的机器人虚拟操作平台相似的相对关系摆放;
[0080] S5.2、在真实场景下对步骤S4中的训练好的深度强化学习模型进行测试,评估该模型对操作对象的视觉定位与抓取效果;
[0081] S5.3、分别统计并返回成功抓取次数n1与总次数n2的比值Ratio=n1/n2作为结果指标。
[0082] 与现有技术相比,本发明具有以下优势:
[0083] (1)本发明克服了传统方法手工制作与数据清洗的繁重问题。
[0084] (2)本发明避免了特征提取和运动轨迹规划的人为处理。
[0085] (3)本发明提高了机器人抓取的可伸缩性与泛化性能。附图说明
[0086] 图1为本发明一种基于虚拟训练的机器人智能抓取方法的流程图
[0087] 图2为本发明实施例中深度学习特征提取网络结构图。

具体实施方式

[0088] 下面结合实例和附图对本发明的具体实施做进一步的说明,但本发明的实施方式不限于此。
[0089] 一种基于虚拟训练的机器人智能抓取方法,如图1所示,包括以下步骤:
[0090] S1、搭建机器人虚拟操作平台并对其采用域随机化算法进行随机化,获取机器人的状态与所处的环境信息并经过预处理作为机器人操作的输入,构建训练机器人抓取操作的输入数据;包括以下步骤:
[0091] S1.1、搭建机器人虚拟操作平台并对其采用域随机化算法进行随机化,其目的是为了在训练时提供足够的模拟场景样本空间可变性,以便在测试时该模型能够推广到真实世界的数据中;在训练过程中使用的域随机化包括以下方面:
[0092] (1)、操作台即桌子上放置的物体的数量和形状;
[0093] (2)、操作台上物体放置的位置与物体的纹理特征;
[0094] (3)、操作台、机器人、灯光、相机以及周围屏障如地板的纹理;
[0095] (4)、相机的位置、方向与视野;
[0096] (5)、场景中灯光的位置、方向与灯光色调;
[0097] (6)、添加到图像场景中的随机噪声的数量和类型;
[0098] 域随机化采样服从正太分布或均值分布。
[0099] S1.2、将步骤S1.1中随机化采样的平均值设置为接近真实世界的估计值;在时刻t通过相机获取操作台上的图像数据,对图像数据进行筛选,去除其中不包括操作台在内的图片,并记录机器人的关节角信息,得到数据Dt={xt,qt},其中,xt表示时刻t的获取的4通道图像融合数据,包括一个三通道的RGB彩色图与单通道的高度图像,qt={qt1,qt2,qt3,…,qtm}为当前时刻t机器人的关节角度信息,范围在(-π,π)之间并且受到特定机器人活动范围的限制,m表示关节数量,qtm是表示t时刻第m个关节的角度;
[0100] 所述通过相机获取操作台上的图像数据包括对操作台即桌子上放置的物体的数量和形状、操作台上物体放置的位置与物体的纹理特征、操作台、机器人、灯光、相机以及周围屏障如地板的纹理采用标准正态分布进行抽样,对相机的位置、方向与视野、场景中灯光的位置、方向采用均匀分布进行抽样,对添加到场景中的随机噪声采用高斯白噪声。
[0101] S1.3、对步骤S1.2所述图像融合数据进行预处理,将数据集中的图像大小重置为H×W像素,并进行去均值以及像素值归一化操作;在深度图像预处理方面,为了避免当前区域背景中的其他非相关物体形成对深度信息的干扰,在每次预处理中,将当前场景的深度信息减去背景图像的深度信息,并结合物体的几何尺寸特征,将深度信息中的极端深度数据归零,以除去深度信息中由于深度相机误差导致的极端噪声值,所述极端深度数据指深度数值小于参考平面即操作台和大于操作对象尺寸2.5倍处深度信息的数据;由于采用的深度相机所获取的深度信息存在稀疏的异常值,利用异常值的稀疏性,采用中值滤波对深度信息进行平滑处理,完成训练机器人抓取操作的输入数据的构建。
[0102] S2、搭建基于全卷积神经网络(Fully Convolutional Networks)框架的深度特征提取网络主干,将输出的特征与机器人的关节角状态信息进行融合,得到深度特征提取网络;
[0103] 如图2所示,所述基于全卷积神经网络(Fully Convolutional Networks)框架的深度特征提取网络主干如下:
[0104] Input(H*W)->Conv_Block1->Conv_Block2->Conv_Block3->Conv_Block4->Conv_Block5->Conv_Block6->Conv_Block7;
[0105] 其中,Input(H*W)表示高为H,宽为W像素的输入图像,H和W的取值范围为112~672,本实施例中,H=W=224,其中Conv_Block1~Conv_Block7分别为一系列搭建深度特征提取网络主干的卷积操作的集合,即卷积块,具体如下:
[0106] Conv_Block1:Conv2d(4,64,3,padding=1)->ReLU(inplace=True)->Conv2d(64,64,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0107] Conv_Block2:Conv2d(64,128,3,padding=1)->ReLU(inplace=True)->Conv2d(128,128,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0108] Conv_Block3:Conv2d(128,256,3,padding=1)->ReLU(inplace=True)->Conv2d(256,256,3,padding=1)->ReLU(inplace=True)->Conv2d(256,256,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0109] Conv_Block4:Conv2d(256,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0110] Conv_Block5:Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->Conv2d(512,512,3,padding=1)->ReLU(inplace=True)->MaxPool2d(2,stride=2,ceil_mode=True);
[0111] Conv_Block6:Conv2d(512,4096,3)->ReLU(inplace=True)->Dropout2d();
[0112] Conv_Block7:Conv2d(4096,256,1)->ReLU(inplace=True)->Dropout2d();
[0113] 其中,Conv2d(in_channels,out_channels,kernel_size,padding)表示输入通道数为in_channels,输出通道数为out_channels,卷积核大小为kernel_size,边缘填充值为padding的二维卷积操作;ReLU(inplace=True)表示允许原地置换操作的激活函数;MaxPool2d(kernel_size,stride,ceil_mode=True)表示池化窗口大小为kernel_size,步长大小为stride,采取上取整模式ceil_mode的二维极大值池化操作;Dropout2d(p)表示概率为1-p使得权重参数为0的dropout层操作,本实施例中,默认为p=0.5;符号->表示上述各个操作之间的前后顺序关系;
[0114] 所述深度特征提取网络主干的各层输入输出信息描述如下:
[0115] 由于Conv_Block1~Conv_Block5中存在步长大小为2的最大值池化操作,因此每次输入特征图大小为输出的尺寸的1/2,所以卷积块Conv_Block5输出的特征图大小为输入图像尺寸的1/32,即512个7*7图像块;卷积块Conv_Block5输出的特征图进入卷积块Conv_Block6后的输出为4096个5*5的图像块,进一步经过卷积块Conv_Block7后的输出为256个5*5的图像块;由于输入的图像融合数据的通道数为4,因此Conv_Block1中第一个二维卷积操作输入通道in_channels为4。
[0116] 所述深度特征提取网络是将深度特征提取网络主干的输出展开之后与机器人的状态信息相融合;深度特征提取网络主干表示为Convs(inputt;θt),其输出记为It∈Rb*c*h*w,即It=Convs(inputt;θt);其中,inputt代表时刻t的输入图像,θt代表深度特征提取网络的可训练参数,Rb*c*h*w代表深度特征提取网络的输出It属于的空间维度,进一步的,b表示机器人抓取过程的分阶段数,c表示卷积神经网络输出的特征图的通道数,h和w分别是输出的特征图的高和宽;构造深度特征提取网络包括如下步骤:
[0117] S2.1、ft=Flatten(It),表示将得到的二维特征图输出It展开为一维特征向量ft∈R1*A,其中A=c*h*w;
[0118] S2.2、ct=Concat(ft,qt),表示拼接融合特征向量ft与机器人当前状态向量qt,得1*(A+m)
到ct=R ;
[0119] S2.3、ht=LSTM(ct,ht-1|θt),表示将一维特征向量ct输入长短时记忆网络,所述长短时记忆网络出自Sepp:Hochreiter的《LONG SHORT-TERM MEMORY》,其中,在任意一个训练阶段的起始,记忆网络的初始状态都为标准正态分布。
[0120] S3、基于步骤S2搭建的深度特征提取网络,结合基于马尔可夫决策过程的Q学习算法构建深度强化学习模型;如图2所示,具体包括以下步骤:
[0121] S3.1、将步骤S2.3所述递归长短时记忆网络的输出记为Oτ,通过归一化指数函数Softmax()和前连接线性变换将输出Oτ映射成为机械臂对不同动作的选择概率pt和对应动作下机器人的状态表示st,即
[0122]
[0123] st=Fully_Linear(Oτ);
[0124] 其中,i=1,…,τ,τ为对机械臂输出动作预测的数量,到此为止,通过卷积神经网络与长短时记忆网络完成了对输入视觉信息与机器人状态信息的编码;
[0125] S3.2、对步骤S3.1中得到的机器人的状态表示st,结合基于马尔可夫过程的Q学习算法,将其建模为在时间t下,全卷积网络对RGB彩色图像和深度图像的特征提取以及长短时记忆网络对机器人关节角状态与图像特征的序列模型,最后通过全连接编码形成智能体的状态表示,其中彩色图像与深度图像经过步骤S1.3所述的预处理;
[0126] 结合介于马尔可夫过程的Q学习算法将机器人的状态表示st建模为在时间t下,全卷积网络对RGB彩色图像和深度图像的特征提取以及长短时记忆网络对机器人关节角状态与图像特征的序列模型,包括如下步骤:
[0127] S3.2.1、在时间t以及当前状态st下,智能体即机器人根据给定策略πt选择并执行一个动作at,然后立即转换到新的状态st+1并收到相应的奖励 定义累计收益为Gt,权值衰减指数为γ,展开如下:
[0128]
[0129] 定义累计收益的期望如下:
[0130] E(s)=E[Gt|St=s];
[0131] 进一步得:
[0132] E(s)=E[Gt|St=s]
[0133] =E[Rt+1+γRt+2+…+γkRt+k+1+…|St=s]
[0134] =E[Rt+1+γ(Rt+2+…+γk-1Rt+k+1+…)|St=s]
[0135] =E[Rt+1+γGt+1|St=s];
[0136] 其中,k表示对累计收益的求和序号,s代指当前的状态;
[0137] 上述公式为贝尔曼方程,表示了当前状态的价值的期望与当前的反馈和下一时刻状态的关系;
[0138] S3.2.2、使用离线的Q学习方法训练一个贪婪的决策策略πt,该策略通过最大化动作-价值函数即Q函数选择相应的动作at;通过迭代计算来降低Q函数Q(st,at)和gt之间的误差:
[0139] et=|Q(st,at)|-gt;
[0140] 其中gt为Q函数Q(st,at)的目标值:
[0141]
[0142] 其中,表示所有可选动作的集合, 代表使得目标值取最大的可选动作的集合 中的最优动作a*。
[0143] S3.3、采用Smooth L1损失函数作为模型整体的目标损失函数,目标损失函数的公式如下:
[0144]
[0145] 其中ρ为正的实常数,是一个可以调整的阈值,至此完成深度强化学习模型的构建。
[0146] S4、对步骤S3中构建的深度强化学习模型进行训练,得到训练好的深度强化学习模型;具体如下:
[0147] 对所述深度强化学习模型采用随机梯度下降进行权重更新,设定初始学习率为lr0,学习率变化的底数为μ,学习率变化的间隔数为stepsize,最大训练迭代次数为itermax,学习速率的更新方式为梯度递减,利用以下公式进行更新:
[0148] lr=lr0*μ(iter-stepsize);
[0149] 其中lr表示当前学习率,iter表示当前迭代步数;所述权重更新如下:
[0150]
[0151] 其中θ和L分别为深度强化学习模型的所有可训练参数和步骤S3.4中的目标损失函数,←运算符表示参数的权值更新操作,当迭代步数iter=itermax时,终止迭代,完成深度强化学习模型的训练过程。
[0152] S5、将现实世界中的机器人关节角状态与环境信息输入步骤S4中训练好的深度强化学习模型,生成抓取控制的输出,统计并返回成功抓取次数与总次数的比值作为结果指标;包括以下步骤:
[0153] S5.1、将现实世界中的机器人与操作台、相机、操作对象按与步骤S1中搭建的机器人虚拟操作平台相似的相对关系摆放;
[0154] S5.2、在真实场景下对步骤S4中的训练好的深度强化学习模型进行测试,评估该模型对操作对象的视觉定位与抓取效果;
[0155] S5.3、分别统计并返回成功抓取次数n1与总次数n2的比值Ratio=n1/n2作为结果指标。
[0156] 本发明的实施方式并不受上述实施例的限制,其他任何未背离发明精神实质与原理下所做的改变,修饰,替代,组合,简化均应为等效的置换方式,都包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈