CN110450153B - 一种基于深度强化学习的机械臂物品主动拾取方法 - Google Patents
一种基于深度强化学习的机械臂物品主动拾取方法 Download PDFInfo
- Publication number
- CN110450153B CN110450153B CN201910608017.8A CN201910608017A CN110450153B CN 110450153 B CN110450153 B CN 110450153B CN 201910608017 A CN201910608017 A CN 201910608017A CN 110450153 B CN110450153 B CN 110450153B
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- value
- action
- current
- picking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000002787 reinforcement Effects 0.000 title claims abstract description 22
- 230000009471 action Effects 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000004088 simulation Methods 0.000 claims abstract description 25
- 238000005259 measurement Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 28
- 230000000875 corresponding effect Effects 0.000 claims description 21
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 210000000078 claw Anatomy 0.000 claims description 3
- 239000002131 composite material Substances 0.000 claims description 3
- 230000001276 controlling effect Effects 0.000 claims description 3
- 238000002474 experimental method Methods 0.000 claims description 3
- 230000003287 optical effect Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 230000011218 segmentation Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010521 absorption reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
Abstract
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,属于人工智能和机器人应用领域。该方法首先搭建机器臂和物品拾取场景的仿真环境;搭建一个基于多个并行的U‑Net的深度Q学习网络NQ;在仿真环境中进行多次机器人抓取动作策略试验对NQ进行训练,得到训练完毕的深度学习网络;实际拾取使用中,搭建物品拾取系统,利用训练完毕的深度学习网络,以深度彩色图像为输入,根据定义在置信图像上的度量来决定采用主动改变场景的动作策略或直接通过机械手进行物品拾取。本发明可以通过机械臂主动改变物品拾取环境,适应不同的拾取条件,实现较高成功率的拾取。
Description
技术领域
本发明属于机器人应用技术领域,具体涉及一种基于深度强化学习的机械臂物品主动拾取方法。
背景技术
鲁棒高效物品拾取作为机器人学的主要研究内容之一,随着电子商务飞速发展,广泛应用于仓储管理、无人商店和工业生产流水线中。而当前的物品拾取方法大多基于被动方式,利用摄像机拍摄当前物品堆放场景的静态图像,进行物品分割分类和位姿估计,但在实际应用中,物品拾取场景复杂,难以进行准确且高效的物品分割分类和位姿估计,往往出现物品相互遮挡、物品位姿逼近极限角度等不利于拾取的现象。但在机器人应用中,机械臂可以通过对拾取场景的主动改变,降低场景复杂性,提高拾取成功率和效率。
MIT与Princeton的研究人员在2018年ICRA(国际机器人与自动化会议)上,发表题为Robotic Pick-and-Place of Novel Objects in Clutterwith Multi-AffordanceGrasping and Cross-Domain Image Matching(通过多置信图抓取和跨域图像匹配实现机器人在堆积场景下对陌生物品的拾放)的文章,该技术通过深度学习训练,提出suctionaffordance网络(吸取位置置信值网络),输入拾取场景的彩色深度图像,输出像素级的suction affordance map(吸取位置置信图),避免了复杂的物品分割与识别,直接得到备选拾取位置,但在复杂场景下,该网络容易输出错误值,导致拾取失败,已有方法无法有效地解决该问题。
强化学习,又称为增强学习,主要包括两类方法:基于值和基于概率的方法。基于值的方法是通过对已有经验的学习,优化对不同状态下动作价值的估计函数,从而获得最优动作控制策略,被广泛应用于不确定问题里的策略搜索;深度学习,特别是卷积神经网络,在计算机领域已经取得了显著的成果,包括物体定位、物体识别以及图像语义分割等。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种基于深度强化学习的机械臂物品主动拾取方法。本发明具有机械臂智能地改变拾取场景的特点,能有效地降低拾取场景复杂度,同时避免低效的物品识别与分割算法,从而在复杂场景下显著提高机械臂拾取物品的成功率和效率。
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,其特征在于,包括以下步骤:
1)利用虚拟机器人实验平台V-REP搭建机械臂拾取的仿真环境;具体步骤如下:
1-1)在V-REP内导入任意机械臂模型作为机械臂仿真,导入任意两指机械手模型作为机械手仿真;
1-2)在V-REP内导入拾取物品模型作为拾取物品仿真;
1-3)在V-REP内导入深度彩色相机模型作为深度彩色相机仿真;
2)构建深度Q学习网络NQ,并在步骤1)中搭建的仿真环境对NQ进行训练,得到训练完毕的NQ;具体步骤如下:
2-1)搭建深度Q学习网络NQ,其中NQ包括预测子网络NP和目标子网络NT,两个子网络结构相同,每个子网络均包含8个并行微型U-Net网络;
2-2)初始化步骤2-1)建立的NQ网络并作为当前神经网络,设置存储库M容量上限D和取样数量B;
2-3)令初始时刻t=1;
2-4)在大小为Sm*Sn的范围内,随机初始化步骤1-3)的拾取物品模型的初始位置,构建一个拾取场景;
2-5)利用步骤1-2)的深度彩色相机相机模型获取步骤2-4)构建的拾取场景的t时刻的深度彩色图像It;
2-6)将It输入suction affordance吸取位置置信值网络,输出t时刻suctionaffordance map吸取位置置信值图Afft,取Afft中最大值对应的像素坐标为xt:
xt=argmax{x}(Afft)
在It上选定xt周围128*128像素大小的图像I′t,I′t大小为128*128*4,对Af ft进行与I′t同一区域的裁剪,得到128*128*1大小的局部suction affordance map Aff′t,将It′利用双三次插值方法在图像宽度和高度维度缩放至32*32*4的大小,得到I′ts,将I′ts作为t时刻的当前状态st;
2-8)机械臂模型根据当前状态st选择对应动作atc,动作选取准则如下:
在[0,1]范围内产生一随机数α并进行判定:若α小于动作选取阈值∈,则机械臂模型在动作集{at}中随机选取一个动作作为atc进行执行;否则,机械臂模型根据预测子网络的输出选择置信值最大的动作作为atc进行执行,
所述动作选取阈值∈在训练中随t时刻增加而减小,计算表达式如下:
其中,∈start为动作选取阈值初始值,∈end为动作选取阈值终始值,tend为动作选取阈值衰减总步数;
2-9)在仿真环境中利用机械臂模型和机械手模型,在t时刻执行动作atc,改变拾取环境,进入t+1时刻;
2-10)在t+1时刻,重复步骤2-6),得到该时刻对应局部suction affordance mapAff′t+1以及NQ在t+1时刻当前状态st+1;
2-12)对裁剪后的图像Aff′t与Aff′t+1,利用图像质量度量函数φ,分别计算t时刻裁剪后的图像质量的度量φt与t+1时刻裁剪后的图像质量的度量φt+1,其中φt=φ(Aff′t),φt+1=φ(Aff′t+1),定义奖励函数Rt(st,st+1)如下:
如果φt+1>0.85,则t时刻结束状态变量Et=1;如果φt+1≤0.85,则t时刻结束状态变量Et=0;
2-13)将一条状态动作记录{st,at,st+1,Rt(st,st+1),Et}放入存储库M中并对M进行判定:
如果M中的记录数量小于取样数量B,则进入步骤2-15),对当前拾取场景结束状态变量Et进行判定;如果M中的记录数量大于等于取样数量B,则进入步骤2-14),利用M中的记录对当前神经网络进行训练;当M中的记录数到达容量上限D时,则最新增加的一条记录覆盖M中最早的一条记录;
2-14)对当前神经网络进行训练,具体步骤如下:
2-14-1)从存储库M中随机选取B条记录作为当前批次训练样本;
其中,γ为利用最大可能的目标置信值更新训练目标值的衰减系数;
根据Huber胡伯函数定义网络损失函数如下:
对当前批次所有训练样本的网络损失函数求和,计算当前神经网络的误差,作为优化目标值Jt:
2-14-3)对Jt进行判定:若Jt趋向于设定值,且波动范围符合设定范围时,则认为NQ训练完成,得到训练完毕的网络记为进入步骤3);否则使用RMSProp前向均方根梯度下降算法优化器根据优化目标值Jt优化网络参数更新当前神经网络,然后进入步骤2-15)对当前拾取场景结束状态变量Et进行判定;
2-15)令t=t+1,判定当前拾取场景结束状态变量:如果Et=1,则认为当前拾取场景已经优化完成,重新返回步骤2-4),重新随机初始化一个新的拾取场景进行训练;如果Et=0,则重新返回步骤2-5),在当前拾取场景中获取t+1时刻彩色深度图像;
3)利用步骤2)训练完毕的网络进行物品拾取;具体步骤如下:
3-1)搭建物品拾取系统;
所述系统包括:一台机械臂,一款手爪与吸盘结合的复合抓取机械手,一台深度彩色相机,一个触觉传感器和一台笔记本电脑;所述机械臂的基座放置在平台上,深度彩色相机与机械臂的基座相对位置固定,待拾取物品随机摆放于拾取平台上并处于深度彩色相机镜头的正前方;所述机械手与机械臂末端连接,由机械臂连带机械手进行运动,触觉传感器装配于机械手手指末端表面,机械臂和机械手分别连接笔记本电脑;
利用棋盘格标定法获取深度彩色相机内参矩阵Icam与深度彩色相机光心相对机械臂基座的外参矩阵Ecam,设机械臂初始位置为Li;
3-3)将坐标根据相机内参矩阵Icam和外参矩阵Ecam转换至机械臂基座坐标系下的三维位置其中深度值选择中深度通道上像素对应的深度值;选取周围7*7像素大小区域深度信息生成点云,计算法向信息,根据外参矩阵Ecam转换至机械臂基座坐标系下末端的法向控制机械臂运动到位置,并旋转末端至法向机械手伸出吸盘获取物品,收回吸盘后闭合手爪,读取触觉传感器的压力值并进行判定:
如果压力值大于设定的压力阈值,则判断为当前拾取成功,将物品放置到固定位置后,机械臂回到初始位置Li,令t=t+1,重新返回步骤3-2)获取场景图片,直至所有物品拾取完毕;如果压力值小于等于设定的压力阈值,则判断为当前拾取失败,进入步骤3-4);
将点根据相机内参矩阵Icam和外参矩阵Ecam转换至机械臂基座坐标系下的三维位置其中深度值均选择中深度通道上点对应的深度值;闭合机械手手爪,控制机械臂运动到位置,匀速运动到位置后,回到机械臂初始位置Li,令t=t+1,重新返回步骤3-2)获取场景图片。
本发明的特点及有益效果在于:
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,通过使用深度神经网络,一方面能够利用卷积神经网络有效地提取图像特征,一方面能够得到像素级的强化学习动作空间,另一方面能够作为强化学习值函数的非线性估计;
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,使用强化学习方法对训练数据进行学习,能够使机械臂通过仅通过图像信息对当前拾取场景复杂性进行估计,从而选择合适动作优化拾取场景;
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,使用仿真软件生成训练数据进行深度强化学习网络参数训练,并将该网络迁移到实际场景中进行应用,一方面能够减少机械臂的使用损耗与成本,另一方面加快了训练速度。本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,可以广泛地应用于无人仓储管理、高效物流分拣、智能工厂中流水线装配等领域,有利于显著提升机械臂在复杂场景下的物品拾取的鲁棒性和有效性,提高生产效率与自动化程度。
附图说明
图1是本发明方法的整体流程图。
图2是本发明方法中训练深度Q学习网络的流程图。
图3是本发明方法中利用训练完毕的网络进行物品拾取流程图。
图4是本发明实施例中物品拾取系统工作原理示意图。
图中,1-机械臂,2-机械手,3-相机,4-拾取物品,5-拾取平台,6-触觉传感器。
具体实施方式
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,下面结合附图和具体实施例对本发明进一步详细说明如下。
本发明提出一种基于深度强化学习的机械臂物品主动拾取方法,整体流程如图1所示,具体包括以下步骤:
1)搭建机械臂拾取的仿真环境,本实施例采用V-REP软件(Virtual RobotExperimentation Platform,虚拟机器人实验平台);具体步骤如下:
1-1)在V-REP软件内导入任意一款可控制移动的机械臂模型(该机械臂模型与实际执行的机械臂可不同)作为机械臂仿真,本实施例采用UR5(UniversalRobots 5,优傲5),导入任意一款可控制的两指机械手模型(该机械手模型与实际执行的机械手可不同)作为机械手仿真,本实施例采用OnRobotRG2(OnRobot公司RG2信号协作夹具)。
1-2)在V-REP软件内导入拾取物品模型作为拾取物品仿真(拾取物品模型尺寸与形状应与真实拾取物品相近,数量不限),本实施例拾取物品模型为长方体,尺寸分别为90mm*60mm*25mm,160mm*50mm*50mm,50mm*35mm*35mm,120*65mm*30mm,55mm*55mm*20,140mm*90mm*25mm,100mm*50mm*50mm,80mm*50mm*20mm,86mm*55mm*20mm若干。在V-REP软件内随机设置上述拾取物品模型的位置,作为仿真拾取场景(仿真拾取场景复杂度应高于真实拾取场景)。
1-3)在V-REP软件内导入深度彩色相机模型作为深度彩色相机仿真,本实施例采用KinectV2(微软公司Kinect相机产品第二代)。利用KinectV2相机模型获取仿真拾取场景在t时刻的仿真深度彩色图像记为It;
2)构造基于8个并行的微型U-Net(U型网络)结构的DeepQNetwork(深度Q学习网络)NQ,并在步骤1)中搭建的仿真环境对NQ进行训练,输出机械臂主动改变拾取场景的理想动作得到训练完毕的NQ;流程如图2所示,具体步骤如下:
2-1)搭建DeepQNetworkNQ,其中NQ包括预测子网络NP和目标子网络NT,两者网络结构相同,每个子网络均包含8个并行微型U-Net网络;
以预测网络NP为例,NP包含8个并行微型U-Net网络,各微型U-Net结构相同,其中单个微型U-Net网络结构如下:
定义Conv2d层为卷积核大小为3,步长为1,激活函数的relu函数,初始化函数为truncated_normal_initializer函数的图像二维卷积层。
定义Conv2dS层为卷积核大小为1,步长为1,激活函数的relu函数,初始化函数为truncated_normal_initializer函数的图像二维卷积层。
定义maxpool层为核大小为2,步长为2的maxpooling层。
定义DeConv2d层为卷积核大小为2,步长为2,激活函数为relu函数,初始化函数为truncated_normal_initializer函数的图像二维转置卷积层。
单个微型U-Net输入为32*32*4的彩色图像,通过两层Conv2d后得到28*28*256大小的ldown矩阵。将ldown经过一层maxpool和一层Conv2d后得到12*12*512大小的lbottom矩阵。
将lbottom经过一层DeConv2d后得到24*24*256大小的lup矩阵。将ldown矩阵的中间24*24*256部分与lup层在通道轴(矩阵第三个维度)上进行拼接,得到24*24*512大小的lcat矩阵。将lcat经过三层Conv2d和一层Conv2dS后得到18*18*1大小的输出。
在NP中将8个并行的微型U-Net输出lout通道轴(矩阵第三个维度)上进行拼接,得到18*18*8大小的最终输出lout-a。每一个输出值对应机械臂t*时刻每一个动作价值的估计,设所有的集合为设在NP最终输出lout-a中所处位置为(ai,aj,ao),本实施例中动作定义为,机械手从图像上(ai,aj)所对应的起始点,选择ao所对应的方向ao*45°,向该方向推动固定的像素距离L;
根据深度强化学习定义,将NP与NQ的彩色深度图像输入作为深度强化学习当前时刻t*的状态NP网络参数代表当前动作策略学习情况,NT网络参数代表目标收敛的动作策略分布。将状态输入NP网络得到该网络输出lout-a为各动作预测置信值将状态输入NT网络得到网络输出l′out-a为各动作目标置信值
将彩色深度图像输入suction affordance网络(吸取位置置信值网络),得到suction affordance map(吸取位置置信值图)输出设的局部裁剪图像为定义关于与的度量如下(度量方式相同,仅以为例说明):
设上像素坐标(i,j)点的值为sij,最大值所在像素为以阈值为ψ=0.5对做连通域分割,取所在连通域拟合最小外接矩形框,框长边大小为宽边大小为以该矩形框长边作为高斯分布0.95置信区间大小,以为高斯分布最大值,拟合二维高斯分布图像设上像素坐标(i,j)点的值为
2-2)初始化步骤2-1)建立的DeepQNetworkNQ并作为当前神经网络,设置存储库M容量上限D为5000,取样数量B=16;
2-3)令初始时刻t=1;
2-4)在大小为Sm*Sn的范围内(本实施例中取Sm为700mm,Sn为600mm),随机初始化步骤1-3)的拾取物品模型的初始位置(模型形状与数量应与真实拾取物品相近,或仿真拾取场景复杂度高于真实拾取场景),构建一个仿真拾取场景;
2-5)利用步骤1-2)的深度彩色相机相机模型获取步骤2-4)构建的拾取场景的t时刻的深度彩色图像It;
2-6)将It输入suction affordance网络,输出t时刻suction affordancemapAfft,取Afft中最大值对应的像素坐标为xt:
xt=argmax{x}(Afft)
在It上选定xt周围128*128像素大小的图像I′t,I′t大小为128*128*4,含RGB和深度四个通道信息,对Afft进行与It同一区域的裁剪,得到128*128*1大小的局部suctionaffordance map Aff′t,将I′t利用双三次插值方法在图像宽度和高度维度缩放至32*32*4的大小,得到I′ts,将I′ts作为NQ的在t时刻的当前状态st;
2-8)在仿真环境中机械臂模型根据当前状态st选择对应动作atc,动作选取准则如下:
在[0,1]范围内产生一随机数α并进行判定:若α小于动作选取阈值∈,则机械臂模型在动作集{at}中随机选取一个动作作为atc进行执行;否则,机械臂模型根据预测子网络的输出选择置信值最大的动作作为atc进行执行,
所述动作选取阈值∈在训练中随t时刻增加而减小,计算表达式如下:
其中,∈start为动作选取阈值初始值,∈end为动作选取阈值终始值,tend为动作选取阈值衰减总步数,本实施例设定∈end=0.2,∈start=1,tend=20000;
2-9)在仿真环境中利用机械臂模型和机械手模型,在t时刻执行动作atc,改变拾取环境,进入t+1时刻。
2-10)在t+1时刻,重复步骤2-6),得到该时刻对应局部suction affordance mapAff′t+1以及t+1时刻的当前状态st+1;
2-12)对裁剪后的图像Aff′t与Aff′t+1,利用图像质量度量函数φ,分别计算t时刻裁剪后的图像质量的度量φt与t+1时刻裁剪后的图像质量的度量φt+1,其中φt=φ(Aff′t),φt+1=φ(Aff′t+1),定义奖励函数Rt(st,st+1)如下:
如果φt+1>0.85,则认为当前拾取场景已经不需要改变,t时刻结束状态变量Et=1;如果φt+1≤0.85,则认为当前拾取场景仍然保持高度复杂性,t时刻结束状态变量Et=0;
2-13)将一条状态动作记录{st,at,st+1,Rt(st,st+1),Et}以放入存储库M中并对M进行判定:
如果M中的记录数量小于取样数量B,则进入步骤2-15),对当前拾取场景结束状态变量Et进行判定;如果M中的记录数量大于等于取样数量B,则进入步骤2-14),利用M中的记录对当前神经网络进行训练;当M中的记录数到达容量上限D时,则最新增加的一条记录会覆盖M中最早的一条记录。
2-14)对当前神经网络进行训练,具体步骤如下:
2-14-1)从存储库M中随机选取B条记录作为当前批次训练样本;
其中,γ为利用最大可能的目标置信值更新训练目标值的衰减系数;
根据Huber(胡伯)函数定义网络损失函数如下:
对当前批次所有训练样本的网络损失函数求和,计算当前神经网络的误差,作为优化目标值Jt:
2-14-3)对Jt进行判定:若Jt趋向于某一较小值,且波动范围较小时,则认为网络NQ训练完成,得到训练完毕的网络记为进入步骤3);否则使用RMSProp(Root mean squarepropagation,前向均方根梯度下降算法)优化器根据优化目标值Jt优化网络参数更新当前神经网络,本实施例选用学习率为0.00025,动量为0.9,参数优化后进入步骤2-15)判断当前拾取场景的结束状态变量;
本实施例中,经过均值平滑处理之后在0.05附近,波动范围在0.02到0.1之间;
2-15)令t=t+1,判定当前拾取场景结束状态变量,如果Et=1,则认为当前拾取场景已经优化完成,重新返回步骤2-4),重新随机初始化一个新的拾取场景进行训练;如果Et=0,则重新返回步骤2-5),在当前拾取场景之上获取t+1时刻彩色深度图像。3)利用步骤2)训练完毕的网络进行物品拾取,流程如图3所示,具体步骤如下:
3-1)搭建物品拾取系统;
该系统如图4所示,包括:一台机械臂1(本实施例为UniversalRobot 5),一款手爪与吸盘结合的复合抓取机械手2(如CobotCohand212款),一台深度彩色相机3(本实施例为KinectV2相机,相机与机械臂均可与仿真环境中模型不同),一款触觉传感器6(可采用常规型号),一台含有步骤2)中训练完毕的深度强化学习网络与机械手和机械臂控制代码的笔记本电脑。
其中,机械臂的基座放置在平台上,KinectV2相机与UniversalRobot 5机械臂的基座相对位置固定,如图4所示(本实施例中z方向距离1.4米,x方向距离1.2米,y方向重合),待拾取物品随机摆放于拾取平台5上并处于KinectV2相机镜头的正前方,距离1至2米;(本实施例放置于相机正前方1.5米处);
所述机械手与机械臂末端连接,由机械臂连带机械手进行运动,触觉传感器装配于机械手手指末端表面,机械手内部控制器通过蓝牙与笔记本电脑连接,机械臂通过网线和局域网与笔记本电脑连接。
利用棋盘格标定法获取KinectV2相机内参矩阵Icam与KinectV2相机光心相对机械臂基座的外参矩阵Ecam,设机械臂初始位置为Li(本实施例要求机械臂本身在相机中不遮挡拾取场景即可);
在上选定周围128*128像素大小的图像大小为128*128*4,含RGB和深度四个通道信息,对进行与同一区域的裁剪,得到128*128*1大小的局部置信图像重复步骤2-1)计算对应度量如果则进入步骤3-3),否则进入步骤3-4)。
3-3)将坐标根据相机内参矩阵Icam和外参矩阵Ecam转换至机械臂基座坐标系下的三维位置其中深度值选择中深度通道上像素对应的深度值。选取周围7*7像素大小区域深度信息生成点云,计算法向信息,根据外参矩阵Ecam转换至机械臂基座坐标系下末端的法向控制机械臂运动到位置,并旋转末端至法向机械手伸出吸盘获取物品,收回吸盘后闭合手爪,读取手爪末端表面的触觉传感器判断压力反馈,如果压力足够(本实施例设置压力值大于传感器量程*10%)则判断为当前拾取成功,将物品放置到固定位置后,机械臂回到初始位置Li,令t=t+1,重新返回步骤3-2)获取场景图片,直至所有物品拾取完毕;如果压力不足,则判断为当前拾取失败,进入3-4)。
3-4)将用双三次插值方法在图像宽度和高度维度缩放至32*32*4的大小,作为当前状态输入中的预测子网络输出各动作的预测置信值选择置信值最大的动作作为根据2-1)步骤中的定义,将转化为动作起始点和动作方向动作运动长度为L=32像素,计算得到动作终止点其中表示点的x方向值,表示点的y方向值,表示点的x方向值,表示点的y方向值。
Claims (1)
1.一种基于深度强化学习的机械臂物品主动拾取方法,其特征在于,包括以下步骤:
1)利用虚拟机器人实验平台V-REP搭建机械臂拾取的仿真环境;具体步骤如下:
1-1)在V-REP内导入任意机械臂模型作为机械臂仿真,导入任意两指机械手模型作为机械手仿真;
1-2)在V-REP内导入拾取物品模型作为拾取物品仿真;
1-3)在V-REP内导入深度彩色相机模型作为深度彩色相机仿真;
2)构建深度Q学习网络NQ,并在步骤1)中搭建的仿真环境对NQ进行训练,得到训练完毕的NQ;具体步骤如下:
2-1)搭建深度Q学习网络NQ,其中NQ包括预测子网络NP和目标子网络NT,两个子网络结构相同,每个子网络均包含8个并行微型U-Net网络;
2-2)初始化步骤2-1)建立的NQ网络并作为当前神经网络,设置存储库M容量上限D和取样数量B;
2-3)令初始时刻t=1;
2-4)在大小为Sm*Sn的范围内,随机初始化步骤1-3)的拾取物品模型的初始位置,构建一个拾取场景;
2-5)利用步骤1-2)的深度彩色相机相机模型获取步骤2-4)构建的拾取场景的t时刻的深度彩色图像It;
2-6)将It输入suction affordance吸取位置置信值网络,输出t时刻suctionaffordance map吸取位置置信值图Afft,取Afft中最大值对应的像素坐标为xt:
xt=argmax{x}(Afft)
在It上选定xt周围128*128像素大小的图像I′t,I′t大小为128*128*4,对Afft进行与I′t同一区域的裁剪,得到128*128*1大小的局部suction affordance map Aff′t,将It′利用双三次插值方法在图像宽度和高度维度缩放至32*32*4的大小,得到I′ts,将I′ts作为t时刻的当前状态st;
2-8)机械臂模型根据当前状态st选择对应动作atc,动作选取准则如下:
在[0,1]范围内产生一随机数α并进行判定:若α小于动作选取阈值∈,则机械臂模型在动作集{at}中随机选取一个动作作为atc进行执行;否则,机械臂模型根据预测子网络的输出选择置信值最大的动作作为atc进行执行,
所述动作选取阈值∈在训练中随t时刻增加而减小,计算表达式如下:
其中,∈start为动作选取阈值初始值,∈end为动作选取阈值终始值,tend为动作选取阈值衰减总步数;
2-9)在仿真环境中利用机械臂模型和机械手模型,在t时刻执行动作atc,改变拾取环境,进入t+1时刻;
2-10)在t+1时刻,重复步骤2-6),得到该时刻对应局部suction affordance mapAff′t+1以及NQ在t+1时刻当前状态st+1;
2-12)对裁剪后的图像Aff′t与Aff′t+1,利用图像质量度量函数φ,分别计算t时刻裁剪后的图像质量的度量φt与t+1时刻裁剪后的图像质量的度量φt+1,其中φt=φ(Aff′t),φt+1=φ(Aff′t+1);
定义奖励函数Rt(st,st+1)如下:
如果φt+1>0.85,则t时刻结束状态变量Et=1;如果φt+1≤0.85,则t时刻结束状态变量Et=0;
2-13)将一条状态动作记录{st,at,st+1,Rt(st,st+1),Et}放入存储库M中并对M进行判定:
如果M中的记录数量小于取样数量B,则进入步骤2-15),对当前拾取场景结束状态变量Et进行判定;如果M中的记录数量大于等于取样数量B,则进入步骤2-14),利用M中的记录对当前神经网络进行训练;当M中的记录数到达容量上限D时,则最新增加的一条记录覆盖M中最早的一条记录;
2-14)对当前神经网络进行训练,具体步骤如下:
2-14-1)从存储库M中随机选取B条记录作为当前批次训练样本;
其中,γ为利用最大可能的目标置信值更新训练目标值的衰减系数;
根据Huber胡伯函数定义网络损失函数如下:
对当前批次所有训练样本的网络损失函数求和,计算当前神经网络的误差,作为优化目标值Jt:
2-14-3)对Jt进行判定:若Jt趋向于设定值,且波动范围符合设定范围时,则认为NQ训练完成,得到训练完毕的网络记为进入步骤3);否则使用RMSProp前向均方根梯度下降算法优化器根据优化目标值Jt优化网络参数更新当前神经网络,然后进入步骤2-15)对当前拾取场景结束状态变量Et进行判定;
2-15)令t=t+1,判定当前拾取场景结束状态变量:如果Et=1,则认为当前拾取场景已经优化完成,重新返回步骤2-4),重新随机初始化一个新的拾取场景进行训练;如果Et=0,则重新返回步骤2-5),在当前拾取场景中获取t+1时刻彩色深度图像;
3)利用步骤2)训练完毕的网络进行物品拾取;具体步骤如下:
3-1)搭建物品拾取系统;
所述系统包括:一台机械臂,一款手爪与吸盘结合的复合抓取机械手,一台深度彩色相机,一个触觉传感器和一台笔记本电脑;所述机械臂的基座放置在平台上,深度彩色相机与机械臂的基座相对位置固定,待拾取物品随机摆放于拾取平台上并处于深度彩色相机镜头的正前方;所述机械手与机械臂末端连接,由机械臂连带机械手进行运动,触觉传感器装配于机械手手指末端表面,机械臂和机械手分别连接笔记本电脑;
利用棋盘格标定法获取深度彩色相机内参矩阵Icam与深度彩色相机光心相对机械臂基座的外参矩阵Ecam,设机械臂初始位置为Li;
3-3)将坐标根据相机内参矩阵Icam和外参矩阵Ecam转换至机械臂基座坐标系下的三维位置其中深度值选择中深度通道上像素对应的深度值;选取周围7*7像素大小区域深度信息生成点云,计算法向信息,根据外参矩阵Ecam转换至机械臂基座坐标系下末端的法向控制机械臂运动到位置,并旋转末端至法向机械手伸出吸盘获取物品,收回吸盘后闭合手爪,读取触觉传感器的压力值并进行判定:
如果压力值大于设定的压力阈值,则判断为当前拾取成功,将物品放置到固定位置后,机械臂回到初始位置Li,令t=t+1,重新返回步骤3-2)获取场景图片,直至所有物品拾取完毕;如果压力值小于等于设定的压力阈值,则判断为当前拾取失败,进入步骤3-4);
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910608017.8A CN110450153B (zh) | 2019-07-08 | 2019-07-08 | 一种基于深度强化学习的机械臂物品主动拾取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910608017.8A CN110450153B (zh) | 2019-07-08 | 2019-07-08 | 一种基于深度强化学习的机械臂物品主动拾取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110450153A CN110450153A (zh) | 2019-11-15 |
CN110450153B true CN110450153B (zh) | 2021-02-19 |
Family
ID=68482455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910608017.8A Active CN110450153B (zh) | 2019-07-08 | 2019-07-08 | 一种基于深度强化学习的机械臂物品主动拾取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110450153B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790408B (zh) * | 2019-11-19 | 2023-01-21 | 財團法人工業技術研究院 | 抓取裝置及抓取方法 |
CN110883773B (zh) * | 2019-11-20 | 2020-10-27 | 清华大学 | 一种用于二指机械手抓取操作的自适应控制方法 |
CN111079561B (zh) * | 2019-11-26 | 2023-05-26 | 华南理工大学 | 一种基于虚拟训练的机器人智能抓取方法 |
CN110977966B (zh) * | 2019-11-27 | 2023-06-20 | 华南理工大学 | 一种基于虚拟场景训练的机器人避障方法 |
US20230153640A1 (en) * | 2020-03-31 | 2023-05-18 | Siemens Aktiengesellschaft | Prediction Model Learning Method, Apparatus and System for an Industrial System |
CN112102405B (zh) * | 2020-08-26 | 2022-11-15 | 东南大学 | 基于深度强化学习的机器人搅动-抓取组合方法 |
CN112347900B (zh) * | 2020-11-04 | 2022-10-14 | 中国海洋大学 | 基于距离估计的单目视觉水下目标自动抓取方法 |
CN112564118B (zh) * | 2020-11-23 | 2022-03-18 | 广西大学 | 一种分布式可拓展量子深宽度学习的实时电压控制方法 |
CN112643668B (zh) * | 2020-12-01 | 2022-05-24 | 浙江工业大学 | 一种适用于密集环境下的机械臂推抓协同方法 |
CN112809670A (zh) * | 2020-12-31 | 2021-05-18 | 广东立胜综合能源服务有限公司 | 一种机械臂最优路径优化定位方法 |
CN112847362B (zh) * | 2021-01-05 | 2022-09-20 | 江汉大学 | 一种基于图像矩的搬运机器人视觉伺服控制方法 |
CN112884825B (zh) * | 2021-03-19 | 2022-11-04 | 清华大学 | 基于深度学习模型的抓取方法及装置 |
CN113119132A (zh) * | 2021-04-21 | 2021-07-16 | 浙江大学 | 一种基于模仿学习的深海精细遥操纵任务的实现方法 |
CN113076615B (zh) * | 2021-04-25 | 2022-07-15 | 上海交通大学 | 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 |
CN113664825B (zh) * | 2021-07-19 | 2022-11-25 | 清华大学深圳国际研究生院 | 一种基于强化学习的堆叠场景机械臂抓取方法与装置 |
CN113838042B (zh) * | 2021-09-30 | 2023-11-10 | 清华大学 | 双机械臂操作问答方法、装置、电子设备和存储介质 |
CN114036747A (zh) * | 2021-11-08 | 2022-02-11 | 北京华航唯实机器人科技股份有限公司 | 模型组件的搭建方法及搭建装置、电子设备、存储介质 |
CN114454160B (zh) * | 2021-12-31 | 2024-04-16 | 中国人民解放军国防科技大学 | 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及系统 |
CN114310919B (zh) * | 2022-03-14 | 2023-07-18 | 中北大学 | 一种基于协作机器人与模组的智能抓取控制系统及方法 |
CN115533905B (zh) * | 2022-10-09 | 2024-06-04 | 清华大学 | 机器人操作技能的虚实迁移学习方法、装置及存储介质 |
CN115629043B (zh) * | 2022-11-28 | 2023-04-28 | 中国科学院过程工程研究所 | 锌精矿物料回收取样检测方法及检测系统 |
CN116945210B (zh) * | 2023-07-12 | 2024-03-15 | 深圳市永顺创能技术有限公司 | 一种基于机器视觉的机器人智能控制系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9008840B1 (en) * | 2013-04-19 | 2015-04-14 | Brain Corporation | Apparatus and methods for reinforcement-guided supervised learning |
US10089575B1 (en) * | 2015-05-27 | 2018-10-02 | X Development Llc | Determining grasping parameters for grasping of an object by a robot grasping end effector |
WO2017189859A1 (en) * | 2016-04-27 | 2017-11-02 | Neurala, Inc. | Methods and apparatus for pruning experience memories for deep neural network-based q-learning |
JP2019516568A (ja) * | 2016-05-20 | 2019-06-20 | グーグル エルエルシー | 物体を取り込む画像に基づき、環境内の将来のロボット運動に関するパラメータに基づいて、ロボットの環境内の物体の動きを予測することに関する機械学習の方法および装置 |
CN108621159B (zh) * | 2018-04-28 | 2020-05-19 | 首都师范大学 | 一种基于深度学习的机器人动力学建模方法 |
CN109079786B (zh) * | 2018-08-17 | 2021-08-27 | 上海非夕机器人科技有限公司 | 机械臂抓取自学习方法及设备 |
CN109800864B (zh) * | 2019-01-18 | 2023-05-30 | 中山大学 | 一种基于图像输入的机器人主动学习方法 |
-
2019
- 2019-07-08 CN CN201910608017.8A patent/CN110450153B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110450153A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110450153B (zh) | 一种基于深度强化学习的机械臂物品主动拾取方法 | |
JP6873941B2 (ja) | ロボット作業システム、及びロボット作業システムの制御方法 | |
US11325252B2 (en) | Action prediction networks for robotic grasping | |
Joshi et al. | Robotic grasping using deep reinforcement learning | |
CN110785268B (zh) | 用于语义机器人抓取的机器学习方法和装置 | |
CN108280856B (zh) | 基于混合信息输入网络模型的未知物体抓取位姿估计方法 | |
Kiatos et al. | Robust object grasping in clutter via singulation | |
CN111695562B (zh) | 一种基于卷积神经网络的机器人自主抓取方法 | |
CN109986560B (zh) | 一种面向多目标种类的机械臂自适应抓取方法 | |
JP2021536068A (ja) | 物体姿勢推定方法および装置 | |
CN110298886B (zh) | 一种基于四级卷积神经网络的灵巧手抓取规划方法 | |
CN111243017A (zh) | 基于3d视觉的智能机器人抓取方法 | |
CN110238840B (zh) | 一种基于视觉的机械臂自主抓取方法 | |
CN113752255B (zh) | 一种基于深度强化学习的机械臂六自由度实时抓取方法 | |
Tang et al. | Learning collaborative pushing and grasping policies in dense clutter | |
JP2020082322A (ja) | 機械学習装置、機械学習システム、データ処理システム及び機械学習方法 | |
CN114387513A (zh) | 机器人抓取方法、装置、电子设备及存储介质 | |
Harada et al. | Initial experiments on learning-based randomized bin-picking allowing finger contact with neighboring objects | |
JP2022187984A (ja) | モジュール化ニューラルネットワークを用いた把持学習 | |
CN116460843A (zh) | 一种基于元启发式算法的多机器人协作抓取方法及系统 | |
JP2022187983A (ja) | 高次元のロボット作業を学習するためのネットワークモジュール化 | |
CN114998573B (zh) | 一种基于rgb-d特征深度融合的抓取位姿检测方法 | |
Al-Shanoon et al. | Learn to grasp unknown objects in robotic manipulation | |
CN113436293B (zh) | 一种基于条件生成式对抗网络的智能抓取图像生成方法 | |
Luan et al. | Dynamic hand gesture recognition for robot ARM teaching based on improved LRCN model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |