CN112643668A - 一种适用于密集环境下的机械臂推抓协同方法 - Google Patents
一种适用于密集环境下的机械臂推抓协同方法 Download PDFInfo
- Publication number
- CN112643668A CN112643668A CN202011386635.1A CN202011386635A CN112643668A CN 112643668 A CN112643668 A CN 112643668A CN 202011386635 A CN202011386635 A CN 202011386635A CN 112643668 A CN112643668 A CN 112643668A
- Authority
- CN
- China
- Prior art keywords
- network
- depth
- grabbing
- action
- mechanical arm
- 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.)
- Granted
Links
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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/08—Gripping heads and other end effectors having finger members
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
一种基于深度强化学习的端到端机械臂推抓系统方法,分为仿真训练与实际抓取两个部分。首先在仿真环境中搭建与真实抓取相似的场景,构建FCN网络(推网络)φp和抓网络φg,由动作后的状态给出评价,以此更新φp和φg网络参数,得到训练后的网络参数文件。在实际抓取部分,搭建实际抓取环境,导入仿真训练后的深度网络参数,根据网络输出的Q值图控制机械臂动作。本发明可以通过机械臂自主决策动作(抓或推)改变抓取环境,尤其适用于物体密集环境中。
Description
技术领域
本发明设计一种适用于密集环境下的机械臂推抓协同方法。特别地,针对具有密集型环境的抓取任务,利用推抓动作的结合,能够有效的实现端到端的目标物体的抓取。
背景技术
随着电子商务的飞速发展,机器人代替人类拾取物体成为在仓储管理,无人商店,工业生产流水线等其他工业,商业领域中必不可少的环节。因此,如何让机器人高效的拾取物体成为了工业机器人主要研究内容之一。然而就目前已存的大多数抓取方法而言,它们仅适用于物体间隔空隙较大的场景,在面对密集物体排布时,机械夹爪容易卡在刚性物体连接处上方,无法快速地正确地抓取单个物体。许多研究者在考虑密集物体场景时,会选择用夹爪吸盘来代替机械夹爪,利用深度彩色相机拍摄当前物品堆放场景的彩色深度图,对图像进行物体分割和计算机械臂吸盘吸取位置。但是对于目前使用同样广泛的装配机械夹爪的机械臂还是很难轻松抓取排列紧密的刚性物体,这使得该种机械臂抓取目标物体的泛化性变差。
M.R.Dogar等研究人员在2012年发表了A planning framework fornonprehensile manipulation under clutter and uncertainty,通过手工调制的方法设计以了一个扫抓框架,能从复杂密集环境中抓取物体,提出可以通过抓扫结合的方式解决密集环境抓取困难问题。但是通过手工调制的方法只能针对一种环境,鲁棒性差,方法不可迁移。
随着人工智能的发展,深度强化学习方法在智能体面对复杂环境决策博弈取得了显著的突破。深度强化学习通过智能体与环境不断交互中,做出决策,并在决策后得到一系列奖励。智能体通过此奖励不断地优化自己的决策过程,目标是使累积奖励的期望最大化,最终得到最优策略。
A.Boularias等研究人员在2015年AAAI会议上发表了Learning to manipulateunknown objects in clutter by reinforcement,基于模型的强化学习,对感知和控制策略建模预测被推动的运动对象,但是此工作建模过程较为复杂,且是两段式控制。I.Popov等研究人员在2017年发表了Data-efficient deep reinforcement learning fordexterous manipulation,基于强化学习实现了端到端的控制,从图像像素级到关节扭矩,但是此工作具有极高的样本复杂度,使得系统训练时间很长,并且系统代价昂贵。因此如何无模型进行控制与降低样本复杂度成为值得思考的问题。
发明内容
本发明要克服现有技术的上述不足,提出了一种适用于密集环境下的机械臂推抓协同方法。本发明通过以下技术方案实现:在仿真阶段,首先对彩色深度图像做预处理,输入到提取特征网络中,得到特征图像;然后把特征图像分别输入到推网络与抓网络中,得到相应的Q值图;然后根据Q值图以及一定的策略选择动作,执行动作;然后进行神经网络参数的更新,并重复上述过程直至推抓取成功率到达一定阈值;仿真结束,将训练得到神经网络参数用于实际系统,使机械臂成功进行推抓物体。
本发明具有机械臂能智能改变密集物体的特点,能将密集推散,避免了机械臂因物体聚集而抓取失败,从而提高了在物体复杂密集中的抓取成功率和效率。
本发明提出了一种适用于密集环境下的机械臂抓推协同方法,包含以下步骤:
1)利用虚拟机器人仿真实验平台CoppeliaSim搭建机械臂抓推系统的环境;
具体步骤如下:
1-1)在CoppeliaSim中导入任意机械臂模型并初始位置Pxyz和任意两指或两指以上的机械夹爪模型;
1-2)在CoppeliaSim中导入深度彩色相机,设定CoppeliaSim中的工作空间;
1-3)步骤1-2)中设定的工作空间中导入m个物体模型作为仿真训练物品;
2)构建深度学习网络和加载深度学习模型,并在步骤1)中搭建的仿真环境训练深度学习网络,并得到训练后的网络,具体步骤如下:
2-1)构建全卷积神经网络FCN其中包括两个并行网络分别是PushNet推网络φp和GraspNet抓网络φg,两个网络的结构相同,包括一个共用的特征提取网络和各自的深度Q学习网络。其中特征提取网络可以是任意CNN网络模型,深度Q学习网络是由两层卷积层和一层反卷积层组成,卷积层中卷积核大小为1,步长为1,激活函数为Relu函数,归一化函数为BatchNorm2d函数,初始化为Kaiming_normal函数;
2-2)令初始时刻为t=1;
2-3)利用步骤1)中初始化仿真环境;
2-4)利用步骤1-2)中的彩色深度相机获得大小均为224×224RGB图像Itc和深度图像Itd;将Itd和Itc进行坐标转换,去噪操作后得到RGB高度图I′tc和深度高度图I′td;并将RGB高度图I′tc和深度高度图I′td预处理后得到彩色图像图集Gtc.和深度图像图集Gtd,作为状态St,预处理具体步骤如下:
2-4-1)将RGB高度图I′tc和深度高度图I′td用最邻近插值的方法缩放至像素大小为448×448的彩色高度图I″tc和像素大小为448×448的深度高度图I″td;
2-4-2)均分360°为16等份,得到旋转角度集合θr={22.5°,45°,…,360°}将步骤2-4-1)中的Itc和I″td通过仿射变换旋转θ°,其中θ°∈θr,分别得到彩色图像集合Gtc={I″′tc 0,I″′tc 1…I″′tc 15}和深度图集合Gtd={I″′td 0,I″′td 1…I″′td 15};
2-5)将步骤2-4-2)中得到的Gtc和Gtd分别输入两个独立的网络φg和φp,输出一组t时刻时每个动作对应的预测Q值图,Qpt和Qgt,具体步骤如下:
2-5-1)从步骤2-4-2)中得到的Gtc和Gtd取出16组相同角度的I″′tci和I″′tdi,依次输入步骤2-1)的CNN网络得到彩色特征图Ici,深度特征图Idi,共计32张特征图。并将所有旋转同一角度的彩色特征图Ici和深度特征图Idi拼接成推张量Ii,共计16维,其中i∈{0,1,…,15};
2-5-2)将步骤2-5-1)中的Ii依次送入PushNet深度Q网络中得到像素级推Q值图,同时也依次送入GraspNet深度Q网络中得到像素级抓Q值图,并且上采样恢复224×224尺寸大小,得到推预测Q值图集合Qpt={Qpt1,Qpt2,…,Qpt15}和抓预测Q值图集合Qgt={Qgt1,Qgt2,…,Qgt15};
2-6)随机生成随机数λ,选择动作像素坐标和旋转角度;
2-6-1)若λ>ε,其中ε是0至1的一个随机常数。械臂根据当前的预测q值,选择最大值q值对应的动作a′t:
(xp,yp)=argmax(x,y)(Qgt,Qpt)) (2)
式(1)中φp(st),φg(st)表示当前状态为St时,推网络和抓网络输出的Q值图。式(2)中xp,yp表示最大q值所对应的动作的像素坐标。
判断步骤2-5-2)中的推预测Q值图集合Qpt和抓取预测Q值图集合Qgt的最大值qpi和qgi,其中i∈{0,1,…,15}。得到最大值q值的以及(xp,yp)像素处深度值zp和机械臂末端的旋转角度α,其中α=360/i;
比较qpi和qgi,决定执行的动作。若qgi>qpi,则去执行步骤2-7-1)中的抓取动作;若qgi<qpi,则去执行步骤2-7-2)中的推动作;
2-6-2)若λ≤ε,选择随机探索动作和其像素坐标(xp,yp,zp),(xp,yp,zp)在工作空间内;
2-7)将像素坐标(xp,yp,zp)变换至世界坐标系坐标(xw,yw,zw),机械臂根据选择的动作at′=((xw,yw,zw),α),做出相应的动作,改变拾取环境,其中α表示推或者抓取动作以及下爪角度;
2-8)待机械臂完成动作a′t后,重复步骤2-4),得到It+1,c和It+1,d,同时得到Gt+1,c和Gt+1,d作为下一状态st+1。同时观察工作空间内是否还剩余物体,若未剩余,则设置此回合结束标志F=1,否则设置F=0;
2-9)根据当前状态st+1计算机械臂做出动作后的奖励值Rt,奖励计算规则如下:
2-9-1)利用步骤2-8)中It+1,c和It+1,d与步骤2-4)中的Itc和Itd做差值对比,若超过阈值τ,
则判断机械臂推抓取。式(3)中n为深度特征图中像素点的个数,τ为一
个常数阈值。设置奖励为Rt(st,st+1)=0.5;
2-9-2)利用步骤2-7-1)中夹爪;
2-9-3)量程l,若机械夹爪未能完全闭合,即l<k,则视为抓取成功Rt(st,st+1)=1;
2-9-4)其余情况则视为推失败和抓取失败,设置奖励为Rt(st,st+1)=0。记录抓取动作次数j和抓取成功次数k;
2-10)记录一条状态转移变量元组(st,at,Rg(st,st+1),st+1,F),并将其存至经验池D。若经验池存储的元组数量大于训练采样数量b,则执行步骤2-11)训练φg和φp,若经验池存储元组数量小于采样数量,则重复步骤2-4)至步骤2-10);
2-11)根据步骤2-9)中计算得到的Rg和步骤2-8)中的st+1,重复步骤2-5)得到下一状态预测最大q值,计算目标值函数yt
yt=Rat(st,st+1)+γQ(st+1,argmax(Q(ss+1,a′t))) (4)
误差为:
δt=|Qπ(st,at)-yt| (5)
2-12)根据Huber函数定义φg和φp的损失函数:
优化目标函数为:
式(7)中b表示训练采样数量;
使用随机梯度下降的方法更新优化目标值Jt,只通过计算估计执行动作的单像素p和对应执行动作的估计网络φψ梯度并反向传播,其他像素点的梯度以0损失反向传播,加快网络更新速度;
2-14)令当前时间为t+1,确认回合结束标志F,若F=1,则确认为当前回合结束,重新返回步骤1-3)中,;若F=0,则确认为当前回合未结束,则重新返回步骤2-4)中获得t+1时刻的状态;
3)利用步骤2)中训练后的FCN网络参数进行实际抓取物体,具体步骤如下:
3-1)搭建真实抓取系统,该系统包括一台机械臂,一台深度彩色相机,一台机械夹爪,一台计算机和待拾取物块;
3-2)用棋盘格标定法获得相机外参Ecam,旋转矩阵R和平移矩阵M,设机械臂末端初始位置为Pxyz,并将待拾取物体随机置于工作空间中;
3-3)取当前时刻为t,使用深度彩色相机获得当前工作空间内彩色图像Itc和深度图像Itd作为当前状态st,经由步2-4-2)步骤中得到Gtc和Gtd,并将Gtc和Gtd输入步骤2-13)中训练后的FCN网络计算得到预测q值,由公式(1)得到最大动作对应动坐标(xw,yw,zw)和世界坐标系下的旋转角度α;
3-4)若机械臂执行推动作,则经由Inverse Kinematics计算后,机械臂末端旋转下爪至(xw,yw,zw),关闭机械夹爪,朝α方向推,返回初始位置Pxyz。若机械臂执行抓取动作,则经由Inverse Kinematics计算后,机械臂末端旋转下爪至(xw,yw,zw),关闭机械夹爪,记录夹爪量程l,返回初始位置Pxyz;
3-5)令时间为t+1,利用相机获取得到当前工作空间RGB图像It+1,c和深度图像It+1,d,生成Gt+1,c和Gt+1,d作为St+1。若公式(3)成立,则判断机械臂推抓取,否则,则判断失败。同时利用深度信息It+1,d判断工作空间内是否有物体剩余,若未剩余,则进入步骤3-3),若有剩余,则继续步骤3-3)。
优选地,步骤2-4)中总共旋转32次,彩色高度图旋转16次,深度高度图旋转16次。
优选地,步骤2-5)中得到1605632个Q值和1605632个可能执行的动作。
优选地,步骤2-7-2)和3-4)中机械臂朝方向推5cm。
本发明的优点在于:
本发明提出了一种适用密集环境下的机械臂推抓协同方法,训练全程由机械臂自主完成;并且依次经过密集连接卷积网络和强化学习决策网络的连接,上采样,做到了端到端的输出动作语义,输入深度彩色图像,输出机械臂的目标位置,从而提高了处理效率。本发明利用深度强化学习DQN的方法,能够依据当前物体环境实时动态规划动作语义,在实现推抓结合的同的时,规划最合适抓取的方向,大大增加了机械臂在复杂环境下抓取物块的成功率。
附图说明
图1为本发明的方法流程图。
图2为本发明的仿真训练流程图。
图3为本发明的FCN网络架构。
图4为本发明的实际抓取流程图。
图5为本发明的搭建的实际抓取环境。
图6为本发明的仿真训练系统结构图。
图7为本发明的实际推抓系统结构图。
图8为本发明的仿真训练成功率图。
具体实施实例
本发明提出了一种适用于密集环境下的机械臂推抓协同方法,下面结合附图和具体实施例对本发明进一步详细说明如下:
本发明提出一种适用于密集环境下的机械臂推抓协同方法,整体流程图如图1所示,具体包含以下步骤:
1)构建机器人仿真平台,本实例采用的是CoppeliaSim仿真软件,具体步骤如下:
1-1)在CoppeliaSim仿真软件中导入一台可编程控制的机械臂,在本实施实例中采用的是Universal Robots UR5机械臂;导入任意一款机械夹爪,本实施实例选取BY-P80智能夹持器,设机械臂初始位置为Pxyz;
1-2)在CoppeliaSim软件中导入深度彩色相机,本实施实例中选取用IntelRealsenseD415相机,置于工作空间上方50cm处,并斜下方45°朝下;
1-3)划定工作空间,导入待抓取物体。本实施实例中设定为长70cm,宽70cm的正方形工作空间,在工作空间中导入待抓取的物体,实施实例选取为八个物体,分别是两个个边长为50*50mm,高为30mm,半径为25mm的拱形和两个个半径为25mm,高30mm的半圆体。一个30mm*30mm*30mm的正方体,一个40mm*20mm*40mm的长方体,一个42mm*20mm*40mm的三角体,以及一个半径为25mm,高30mm的的圆柱体。其中任意两块拱形和两个半圆体组合成一个长方体,其余物体以任意角度随意放置在工作空间内;
2-1)构建PushNetφp推网络和GraspNetφg抓网络。以PushNetφp推网络为例,PushNet推网络包含特征提取网络和Q值估计网络,网络的顺序依次如下:
在ImageNet预训练后导入特征提取网络模型Densenet-121,输入为224×224×3图像,输出为1024×1的矩阵特征。定义两层Conv2d层为卷积核大小为1,步长为1,激活函数为Relu函数,归一化函数为BatchNorm2d函数,初始化为Kaiming_normal函数。输入尺寸为1024×1,输出尺寸为14×14×1。定义上采样层为放大系数为16倍,采用双线性插值方法;
2-2)选取当前时刻为t;
2-3)利用步骤1)中初始化仿真环境;
2-4)利用realsenseD415彩色深度相机得到当前工作空间大小均为224×224×3的RGB图像Itc和深度图像Itd;将Itd和Itc从像素坐标转换至机器人坐标,并采用阈值法进行去噪操作后得到RGB高度图I′tc和深度高度图I′td;并将RGB高度图I′tc和深度高度图I′td预处理后得到彩色图像图集Gtc.和深度图像图集Gtd,作为状态St,预处理具体步骤如下:
2-4-1)将RGB高度图I′tc和深度高度图I′td用最邻近插值的方法缩放至像素大小为448×448的彩色高度图I″tc和像素大小为448×448的深度高度图I″td;
2-4-2)将彩色高度图I″tc和深度高度图I″td进行仿射变化等角度旋转成大小均为224×224×3的16张彩色RGB高度图,并组成彩色图像图集Gtc={I″′tc 0,I″′tc 1…I″′tc 15}和大小均为224×224×3的16张深度高度图,并组成的深度图像图集Gtd={I″′td 0,I″′td 1…I″′td 15}。;最后将两者作为网络输入状态St;
2-5)将步骤2-4-2)中得到的Gtc和Gtd分别输入两个独立的网络φg和φp,输出一组t时刻时每个动作对应的预测Q值图,Qpt和Qgt,具体步骤如下:
2-5-1)从步骤2-4-2)中得到的Gtc和Gtd取出16组相同角度的I″′tci和I″′tdi依次输入至步骤2-1)中的Densenet-121网络,得到16个大小为1024×1×14×14的彩色图像特征和16个大小为1024×1×14×14的深度图像特征;将旋转相同角度的16个彩色图像特征和16个深度图像特征在第二维度上拼接成1024×2×14×14深度彩色图像特征Ii,其中i∈{0,1,…,15};
2-5-2)将步骤2-5-1)中的Ii依次输入至PushNetφp推网络,同时也依次输入至GraspNetφg抓网络中,输出224×224预测抓Q值图集Qgt={Qgt1,Qgt2,…,Qgt15}和224×224预测推Q值图集Qpt={Qpt1,Qpt2,…,Qpt15},共计得到1605632个q值;
2-6)取ε=0.1。生成随机数λ,本实施实例中λ>0.1,由公式
(xp,yp)=argmax(x,y)(Qgt,Qpt)) (2)
式(1)中φp(st),φg(st)表示当前状态为St时,推网络和抓网络输出的Q值图,式(2)中xp,yp表示最大q值所对应的动作的像素坐标。
计算最大q值的像素坐标(xp,yp,zp)和机械臂末端的旋转角度α,设动作为推atp;
2-7)将像素坐标(xp,yp,zp)变换至世界坐标系坐标(xw,yw,zw),机械臂根据选择的动作at′=((xw,yw,zw),α),做出相应的动作,改变拾取环境,其中α表示推或者抓取动作以及下爪角度,具体步骤如下:
2-8)待机械臂回到初始位置Pxyz后,得到当前工作空间RGB图像It+1,c和深度图像It+1,d,生成Gt+1,c和Gt+1,d作为St+1。本实施实例中It+1,d≥10,工作空间内还存在物体,F=0;
2-9)计算机械臂完成动作后的奖励Rt,对步骤2-8)中St+1与步骤2-4)中的St两者状态中每个像素点做差值对比,本实施实例中:
式(3)中n为特征图中像素的总个数,则判断为机械臂推成功,设置奖励为Rt(st,st+1)=0.5。记录抓取动作次数j和抓取成功次数k;
2-10)记录一条状态转移变量元组(st,at,Rg(st,st+1),st+1,F),并将其存至经验池D。设经验池存储的元组数量大于训练采样数量256,则执行步骤2-9)训练PushNetφp推网络和GraspNetφg抓网络;
2-11)根据步骤2-6)中计算得到的Rt和步骤2-7)中的st+1,重复步骤2-5)得到下一状态预测最大q值,计算目标值函数yt:
yt=Rat(st,st+1)+γQ(st+1,argmax(Q(ss+1,a′tp))) (4)
误差为:
δt=|Qπ(st,a′tp)-yt| (5)
2-12)计算损失函数:
优化目标函数为:
式(7)中,b表示训练采样数量,使用随机梯度下降的方法更新优化目标值Jt,实例中选择学习率为0.0001,动量因子为0.9,权重衰减因子为0.00002;
2-14)令当前时间为t+1,确认回合结束标志F,若F=1,则确认为当前回合结束,重新返回步骤中;若F=0,则确认为当前回合未结束,则重新返回步骤2-2)中获得t+1时刻的状态;
3)搭建真实深度强化学习抓取系统:
3-1)如图7,该系统需要一台装有Ubuntu系统的计算机,本实例中采用的计算机CPU使用Intel Core i7-7800K 3.50Ghz,GPU使用的是Nvidia TITAN Xp,一个BY-P80智能夹持器,一台RealsenseD435深度彩色相机和八个待抓物体,四块块边长为50mm*50mm,高为30mm,半径为25mm的拱形和两个个半径为25mm,高30mm的半圆体。一个30mm*30mm*30mm的正方体,一个40mm*20mm*40mm的长方体,一个42mm*20mm*40mm的三角体,以及一个半径为25mm,高30mm的圆柱体。机械臂基座固定于工作台上,并将机械夹爪安装至机械臂末端。深度彩色相机置于机械臂正对面高25cm处并以俯视角度45°朝下。计算机与机械臂和深度彩色相机进行连接,用以接收深度彩色图像和实时控制机械臂运动。工作空间内任意放置两块拱形和两个半圆体组合成一个长方体,其余物体以任意角度随意放置在工作空间内;
3-2)用棋盘格标定法获得相机外参Ecam(旋转矩阵R和平移矩阵M),设机械臂末端初始位置为Pxyz,并将待拾取物体随机置于工作空间中;
3-3)取当前时刻为t,使用深度彩色相机获得当前工作空间内彩色图像Itc和深度图像Itd作为当前状态st,经由步骤2-4-1)和2-4-2)步骤中得到Gtc和Gtd,并将Gtc和Gtd输入步骤2-13)中训练后的FCN网络计算得到预测Q值图,由式(1)得到最大动作对应动坐标(xw,yw,zw)和世界坐标系下的旋转角度α;
3-5)令当前时间为t+1,利用相机获取得到当前工作空间RGB图像It+1,c和深度图像It+1,d,生成Gt+1,c和Gt+1,d作为St+1;实施实例式(3)中τ=300,并且机械臂推成功;确认回合结束标志F,实施实例中F=0,则确认为当前回合未结束,则重新返回步骤2-2)0中获得t+1时刻的状态。
本方法经实验证明,在密集环境下,经过推抓动作的结合实验成功率达80%。
以上所述并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化,改型,添加或替换,也属于本发明的保护范围。
Claims (4)
1.一种适用于密集环境下的机械臂抓推协同方法,包含以下步骤:
1)利用虚拟机器人仿真实验平台CoppeliaSim搭建机械臂抓推系统的环境;
具体步骤如下:
1-1)在CoppeliaSim中导入任意机械臂模型并初始位置Pxyz和任意两指或两指以上的机械夹爪模型;
1-2)在CoppeliaSim中导入深度彩色相机,设定CoppeliaSim中的工作空间;
1-3)步骤1-2)中设定的工作空间中导入m个物体模型作为仿真训练物品;
2)构建深度学习网络和加载深度学习模型,并在步骤1)中搭建的仿真环境训练深度学习网络,并得到训练后的网络,具体步骤如下:
2-1)构建全卷积神经网络其中包括两个并行网络分别是PushNet推网络φp和GraspNet抓网络φg,两个网络的结构相同,包括一个共用的特征提取网络和各自的深度Q学习网络;其中特征提取网络可以是任意CNN网络模型,深度Q学习网络是由两层卷积层和一层反卷积层组成,卷积层中卷积核大小为1,步长为1,激活函数为Relu函数,归一化函数为BatchNorm2d函数,初始化为Kaiming_normal函数;
2-2)令初始时刻为t=1;
2-3)利用步骤1)中初始化仿真环境;
2-4)利用步骤1-2)中的彩色深度相机获得大小均为224×224RGB图像Itc和深度图像Itd;将Itd和Itc进行坐标转换,去噪操作后得到RGB高度图I′tc和深度高度图I′td;并将RGB高度图I′tc和深度高度图I′td预处理后得到彩色图像图集Gtc.和深度图像图集Gtd,作为状态St,预处理具体步骤如下:
2-4-1)将RGB高度图I′tc和深度高度图I′td用最邻近插值的方法缩放至像素大小为448×448的彩色高度图I″tc和像素大小为448×448的深度高度图I″td;
2-4-2)均分360°为16等份,得到旋转角度集合θr={22.5°,45°,…,360°}将步骤2-4-1)中的I″tc和I″td通过仿射变换旋转θ°,其中θ°∈θr,分别得到彩色图像集合Gtc={I″′tc 0,I″′tc 1…I″′tc 15}和深度图集合Gtd={I″′td 0,I″′td 1…I″′td 15};
2-5)将步骤2-4-2)中得到的Gtc和Gtd分别输入两个独立的网络φg和φp,输出一组t时刻时每个动作对应的预测Q值图,Qpt和Qgt,具体步骤如下:
2-5-1)从步骤2-4-2)中得到的Gtc和Gtd取出16组相同角度的I″′tci和I″′tdi,依次输入步骤2-1)的CNN网络得到彩色特征图Ici,深度特征图Idi,共计32张特征图并将所有旋转同一角度的彩色特征图Ici和深度特征图Idi拼接成推张量Ii,共计16维,其中i∈{0,1,…,15};
2-5-2)将步骤2-5-1)中的Ii依次送入PushNet深度Q网络中得到像素级推Q值图,同时也依次送入GraspNet深度Q网络中得到像素级抓Q值图,并且上采样恢复224×224尺寸大小,得到推预测Q值图集合Qpt={Qpt1,Qpt2,…,Qpt15}和抓预测Q值图集合Qgt={Qgt1,Qgt2,…,Qgt15};
2-6)随机生成随机数λ,选择动作像素坐标和旋转角度;
2-6-1)若λ>ε,其中ε是0至1的一个随机常数;械臂根据当前的预测q值,选择最大值q值对应的动作a′t:
(xp,yp)=argmax(x,y)(Qgt,Qpt)) (2)
式(1)中φp(st),φg(st)表示当前状态为St时,推网络和抓网络输出的Q值图;
式(2)中xp,yp表示最大q值所对应的动作的像素坐标;
判断步骤2-5-2)中的推预测Q值图集合Qpt和抓取预测Q值图集合Qgt的最大值qpi和qgi,其中i∈{0,1,…,15};得到最大值q值的以及(xp,yp)像素处深度值zp和机械臂末端的旋转角度α,其中α=360/i;
比较qpi和qgi,决定执行的动作;若qgi>qpi,则去执行步骤2-7-1)中的抓取动作;若qgi<qpi,则去执行步骤2-7-2)中的推动作;
2-6-2)若λ≤ε,选择随机探索动作和其像素坐标(xp,yp,zp),(xp,yp,zp)在工作空间内;
2-7)将像素坐标(xp,yp,zp)变换至世界坐标系坐标(xw,yw,zw),机械臂根据选择的动作at′=((xw,yw,zw),α),做出相应的动作,改变拾取环境,其中α表示推或者抓取动作以及下爪角度;
2-8)待机械臂完成动作a′t后,重复步骤2-4),得到It+1,c和It+1,d,同时得到Gt+1,c和Gt+1,d作为下一状态st+1;同时观察工作空间内是否还剩余物体,若未剩余,则设置此回合结束标志F=1,否则设置F=0;
2-9)根据当前状态st+1计算机械臂做出动作后的奖励值Rt,奖励计算规则如下:
2-9-1)利用步骤2-8)中It+1,c和It+1,d与步骤2-4)中的Itc和Itd做差值对比,若超过阈值τ,
则判断机械臂推抓取,式(3)中n为深度特征图中像素点的个数,设置奖励为Rt(st,st+1)=0.5;
2-9-2)利用步骤2-7-1)中夹爪;
2-9-3)量程l,若机械夹爪未能完全闭合,即l<k,则视为抓取成功Rt(st,st+1)=1;
2-9-4)其余情况则视为推失败和抓取失败,设置奖励为Rt(st,st+1)=0;记录抓取动作次数j和抓取成功次数k;
2-10)记录一条状态转移变量元组(st,at,Rg(st,st+1),st+1,F),并将其存至经验池D;若经验池存储的元组数量大于训练采样数量b,则执行步骤2-11)训练φg和φp,若经验池存储元组数量小于采样数量,则重复步骤2-4)至步骤2-10);
2-11)根据步骤2-9)中计算得到的Rg和步骤2-8)中的st+1,重复步骤2-5)得到下一状态预测最大Q值,计算目标值函数yt
yt=Rat(st,st+1)+γQ(st+1,argmax(Q(ss+1,a′t))) (4)
误差为:
δt=|Qπ(st,at)-yt| (5)
2-12)根据Huber函数定义φg和φp的损失函数:
优化目标函数为:
式(7)中b表示训练采样数量;
使用随机梯度下降的方法更新优化目标值Jt,只通过计算估计执行动作的单像素p和对应执行动作的估计网络φψ梯度并反向传播,其他像素点的梯度以0损失反向传播,加快网络更新速度;
2-14)令当前时间为t+1,确认回合结束标志F,若F=1,则确认为当前回合结束,重新返回步骤1-3)中,;若F=0,则确认为当前回合未结束,则重新返回步骤2-4)中获得t+1时刻的状态;
3)利用步骤2)中训练后的FCN网络参数进行实际抓取物体,具体步骤如下:
3-1)搭建真实抓取系统,该系统包括一台机械臂,一台深度彩色相机,一台机械夹爪,一台计算机和待拾取物块;
3-2)用棋盘格标定法获得相机外参Ecam,旋转矩阵R和平移矩阵M,设机械臂末端初始位置为Pxyz,并将待拾取物体随机置于工作空间中;
3-3)取当前时刻为t,使用深度彩色相机获得当前工作空间内彩色图像Itc和深度图像Itd作为当前状态st,经由步骤2-4-1)和2-4-2)步骤中得到Gtc和Gtd,并将Gtc和Gtd输入步骤2-13)中训练后的FCN网络计算得到预测Q值图,由公式(1)得到最大动作对应动坐标(xw,yw,zw)和世界坐标系下的旋转角度α;
3-4)若机械臂执行推动作,则经由Inverse Kinematics计算后,机械臂末端旋转下爪至(xw,yw,zw),关闭机械夹爪,朝α方向推,返回初始位置Pxyz;若机械臂执行抓取动作,则经由Inverse Kinematics计算后,机械臂末端旋转下爪至(xw,yw,zw),关闭机械夹爪,记录夹爪量程l,返回初始位置Pxyz;
3-5)令时间为t+1,利用相机获取得到当前工作空间RGB图像It+1,c和深度图像It+1,d,生成Gt+1,c和Gt+1,d作为St+1;若公式(3)成立,则判断机械臂推抓取成功,否则,则判断失败;同时利用深度信息It+1,d判断工作空间内是否有物体剩余,若未剩余,则进入步骤3-3),若有剩余,则继续步骤3-3)。
2.如权利要求1所述的一种适用于密集环境下的机械臂抓推协同方法,其特征在于:步骤2-4)中总共旋转32次,彩色高度图旋转16次,深度高度图旋转16次。
3.权利要求1所述的一种适用于密集环境下的机械臂抓推协同方法,其特征在于:步骤2-5)中得到1605632个Q值和1605632个可能执行的动作。
4.如权利要求1所述的一种适用于密集环境下的机械臂抓推协同方法,其特征在于:步骤2-7-2)和3-4)中机械臂朝α方向推5cm。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386635.1A CN112643668B (zh) | 2020-12-01 | 2020-12-01 | 一种适用于密集环境下的机械臂推抓协同方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386635.1A CN112643668B (zh) | 2020-12-01 | 2020-12-01 | 一种适用于密集环境下的机械臂推抓协同方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112643668A true CN112643668A (zh) | 2021-04-13 |
CN112643668B CN112643668B (zh) | 2022-05-24 |
Family
ID=75349949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011386635.1A Active CN112643668B (zh) | 2020-12-01 | 2020-12-01 | 一种适用于密集环境下的机械臂推抓协同方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112643668B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359704A (zh) * | 2021-05-13 | 2021-09-07 | 浙江工业大学 | 一种适用于复杂未知环境的自适应sac-pid方法 |
CN113392703A (zh) * | 2021-05-11 | 2021-09-14 | 杭州电子科技大学 | 基于注意力机制和非合理动作抑制的机械臂自主抓取方法 |
CN113664825A (zh) * | 2021-07-19 | 2021-11-19 | 清华大学深圳国际研究生院 | 一种基于强化学习的堆叠场景机械臂抓取方法与装置 |
CN113664828A (zh) * | 2021-08-17 | 2021-11-19 | 东南大学 | 一种基于深度强化学习的机器人抓取-抛掷方法 |
CN114474060A (zh) * | 2022-02-16 | 2022-05-13 | 华南理工大学 | 一种工业机器人的控制方法、装置和存储介质 |
CN114620479A (zh) * | 2022-04-24 | 2022-06-14 | 广东天太机器人有限公司 | 一种提高矩形包装盒的码垛效率机械臂控制系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017151926A1 (en) * | 2016-03-03 | 2017-09-08 | Google Inc. | Deep machine learning methods and apparatus for robotic grasping |
CN107662208A (zh) * | 2017-08-24 | 2018-02-06 | 浙江工业大学 | 一种基于神经网络的柔性关节机械臂有限时间自适应反步控制方法 |
CN108052004A (zh) * | 2017-12-06 | 2018-05-18 | 湖北工业大学 | 基于深度增强学习的工业机械臂自动控制方法 |
CN110450153A (zh) * | 2019-07-08 | 2019-11-15 | 清华大学 | 一种基于深度强化学习的机械臂物品主动拾取方法 |
CN111079561A (zh) * | 2019-11-26 | 2020-04-28 | 华南理工大学 | 一种基于虚拟训练的机器人智能抓取方法 |
CN111331607A (zh) * | 2020-04-03 | 2020-06-26 | 山东大学 | 一种基于机械臂的自主抓取与码垛方法及系统 |
-
2020
- 2020-12-01 CN CN202011386635.1A patent/CN112643668B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017151926A1 (en) * | 2016-03-03 | 2017-09-08 | Google Inc. | Deep machine learning methods and apparatus for robotic grasping |
CN107662208A (zh) * | 2017-08-24 | 2018-02-06 | 浙江工业大学 | 一种基于神经网络的柔性关节机械臂有限时间自适应反步控制方法 |
CN108052004A (zh) * | 2017-12-06 | 2018-05-18 | 湖北工业大学 | 基于深度增强学习的工业机械臂自动控制方法 |
CN110450153A (zh) * | 2019-07-08 | 2019-11-15 | 清华大学 | 一种基于深度强化学习的机械臂物品主动拾取方法 |
CN111079561A (zh) * | 2019-11-26 | 2020-04-28 | 华南理工大学 | 一种基于虚拟训练的机器人智能抓取方法 |
CN111331607A (zh) * | 2020-04-03 | 2020-06-26 | 山东大学 | 一种基于机械臂的自主抓取与码垛方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392703A (zh) * | 2021-05-11 | 2021-09-14 | 杭州电子科技大学 | 基于注意力机制和非合理动作抑制的机械臂自主抓取方法 |
CN113392703B (zh) * | 2021-05-11 | 2024-02-02 | 杭州电子科技大学 | 基于注意力机制和非合理动作抑制的机械臂自主抓取方法 |
CN113359704A (zh) * | 2021-05-13 | 2021-09-07 | 浙江工业大学 | 一种适用于复杂未知环境的自适应sac-pid方法 |
CN113664825A (zh) * | 2021-07-19 | 2021-11-19 | 清华大学深圳国际研究生院 | 一种基于强化学习的堆叠场景机械臂抓取方法与装置 |
CN113664828A (zh) * | 2021-08-17 | 2021-11-19 | 东南大学 | 一种基于深度强化学习的机器人抓取-抛掷方法 |
CN114474060A (zh) * | 2022-02-16 | 2022-05-13 | 华南理工大学 | 一种工业机器人的控制方法、装置和存储介质 |
CN114474060B (zh) * | 2022-02-16 | 2023-06-16 | 华南理工大学 | 一种工业机器人的控制方法、装置和存储介质 |
CN114620479A (zh) * | 2022-04-24 | 2022-06-14 | 广东天太机器人有限公司 | 一种提高矩形包装盒的码垛效率机械臂控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112643668B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112643668B (zh) | 一种适用于密集环境下的机械臂推抓协同方法 | |
CN112605983B (zh) | 一种适用于密集环境下的机械臂推抓系统 | |
CN110450153B (zh) | 一种基于深度强化学习的机械臂物品主动拾取方法 | |
CN112102405B (zh) | 基于深度强化学习的机器人搅动-抓取组合方法 | |
Chitnis et al. | Efficient bimanual manipulation using learned task schemas | |
CN110400345B (zh) | 基于深度强化学习的放射性废物推抓协同分拣方法 | |
CN110298886B (zh) | 一种基于四级卷积神经网络的灵巧手抓取规划方法 | |
CN112405543B (zh) | 一种基于深度强化学习的机械臂密集物体温度优先抓取方法 | |
CN110238840B (zh) | 一种基于视觉的机械臂自主抓取方法 | |
CN109693239A (zh) | 一种基于深度强化学习的机器人抓取方法 | |
CN110605711B (zh) | 一种控制协作机器人抓取物体的方法、装置及系统 | |
CN117549307B (zh) | 一种非结构化环境下的机器人视觉抓取方法及系统 | |
CN113762159B (zh) | 一种基于有向箭头模型的目标抓取检测方法及系统 | |
WO2021051114A1 (en) | Robotic control using action image(s) and critic network | |
CN115861780B (zh) | 一种基于yolo-ggcnn的机械臂检测抓取方法 | |
CN114998573B (zh) | 一种基于rgb-d特征深度融合的抓取位姿检测方法 | |
CN114131603B (zh) | 基于感知增强和场景迁移的深度强化学习机器人抓取方法 | |
CN113664828A (zh) | 一种基于深度强化学习的机器人抓取-抛掷方法 | |
CN111496794B (zh) | 一种基于仿真工业机器人的运动学自抓取学习方法和系统 | |
CN115890744B (zh) | 一种基于td3的机械手臂6-dof物体操纵训练方法及系统 | |
Okafor et al. | Deep reinforcement learning with light-weight vision model for sequential robotic object sorting | |
Li et al. | Vision-Based Deep learning for Robot Grasping Application in Industry 4.0 | |
CN112894796B (zh) | 抓取装置及抓取方法 | |
CN118228773A (zh) | 一种抓取操作技能学习方法 | |
Gao et al. | Viewing Angle Generative Model for 7-DoF Robotic Grasping |
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 |