CN113076615A - 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 - Google Patents

基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 Download PDF

Info

Publication number
CN113076615A
CN113076615A CN202110449963.XA CN202110449963A CN113076615A CN 113076615 A CN113076615 A CN 113076615A CN 202110449963 A CN202110449963 A CN 202110449963A CN 113076615 A CN113076615 A CN 113076615A
Authority
CN
China
Prior art keywords
mechanical arm
point cloud
network
target
environment
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
Application number
CN202110449963.XA
Other languages
English (en)
Other versions
CN113076615B (zh
Inventor
王贺升
韩兴耀
吴文华
周韵朗
王光明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202110449963.XA priority Critical patent/CN113076615B/zh
Publication of CN113076615A publication Critical patent/CN113076615A/zh
Application granted granted Critical
Publication of CN113076615B publication Critical patent/CN113076615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Medical Informatics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

本发明提供了一种基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统,包括:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;传感器对工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征;构建由物理引擎搭建的仿真物理环境,设定机械臂具体任务的对抗式深度强化学习模型;利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习框架直至收敛,得到训练后的对抗式深度强化学习框架。

Description

基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统
技术领域
本发明涉及机器人控制领域,具体地,涉及一种基于对抗式深度强化学习网络的高鲁棒性机械臂控制方法及系统,更为具体地,涉及一种基于深度强化学习的机械臂视觉伺服位置和角度控制任务的实现方法。
背景技术
点云是某个坐标系下的点的数据集,包含了丰富的信息,包括三维坐标XYZ、颜色等。点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。以点云作为机械臂深度强化学习模型的视觉输入,对环境的感知能力更强,更利于深度强化学习模型的收敛。获取点云常用的算法有pointNet和pointNet++等算法,其中的T-Net网络用于将不同旋转平移的原始点云和点云特征进行规范化,即学习出变化矩阵来对输入的点云或特征进行规范化处理。
深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,提供了一种端对端学习的人工智能方法。深度学习具有较强的感知能力,可以较好地提取主要信息,强化学习具有较强的决策能力,可以根据现有信息进行决策。将两者结合起来,优势互补,为复杂系统的感知决策提供了新的方法。
奖励函数是用于量化强化学习的Agent做出决策后,环境反馈给Agent动作价值的函数。奖励函数越科学合理,对模型的指导也越客观准确,有利于模型的形成和优化。对于机械臂复杂位姿的控制,采用深度强化学习方法,奖励函数的选择是至关重要的一环:奖励函数对Agent做出的决策进行奖励或惩罚,决定下一轮的训练方向,直接影响到最终的模型学习成果。
在目前的机械机构控制中,传统控制机械臂的方法都是让机械臂移动到指定的相对位置这样的开环控制方法。这样简单的方法无法适应不同的状态和环境,无法根据运动规划的情况做出调整以提高控制的鲁棒性。即使使用闭环控制,也会有较大的局限性。比较常用的控制器有PID控制器,PID控制器虽然实现简单,但是过度依赖相关参数的调试。不仅如此,PID控制器是一种线性控制器,面对机械臂所要应对的复杂的、时变的系统,不能完美地符合控制的需求。
专利文献CN108764054B(申请号:201810408845.2)公开了基于生成式对抗网络的机器人书写书法的方法,涉及机器人。收集标准毛笔字笔画数据,并按笔画类型整理分类,并注上标注;基于生成对抗网络模型训练两个深度神经网络,生成网络G和对抗网络D;将随机采样的向量输入生成网络G,得到笔画轨迹点的概率分布;书法机器人应用抽样方法从概率分布中获取笔画位置信息并书写笔画致画板,写好后,由相机拍摄记录笔画图像;将待处理的图像进行预处理,输入对抗网络D中进行训练,调整参数,以达到收敛。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统。
根据本发明提供的一种基于对抗式深度强化学习的高鲁棒性机械臂操作方法,包括:
步骤S1:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;
步骤S2:传感器对机械臂及工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;
步骤S3:基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;
步骤S4:环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征,将环境的点云特征通过多层感知器进行聚合,得到点云的状态特征;
步骤S5:构建由物理引擎搭建的仿真物理环境,根据点云的状态特征设定机械臂具体任务的对抗式深度强化学习模型;
步骤S6:利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习模型直至收敛,得到训练后的对抗式深度强化学习模型;
步骤S7:使用训练后的对抗式深度强化学习模型使机械臂能够完成具体任务;
所述对抗式深度强化学习模型通过施加深度强化学习的对抗模型进行成长性的干扰,在训练的各个阶段增加困难经验数据的采样率,从而达到提升目标模型鲁棒性的效果。
优选地,所述步骤S3包括:
步骤S3.1:根据工业相机的内部参数,得到相应的相机内参矩阵K;
Figure BDA0003038287070000031
其中,fx,fy,cx,cy分别表示相机的内部常数;
步骤S3.2:根据拍摄图像的像素坐标(u,v)、像素点对应的深度信息d以及相机的内参矩阵K,计算相机坐标系坐标Pc(x,y,z);
Figure BDA0003038287070000032
Figure BDA0003038287070000033
步骤S3.3:根据相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系坐标Pw(x’,y’,z’);
Pw=T-1Pc (4)
步骤S3.4:根据每个像素点的RGB信息,得到相机视野内物体每个点的位置和色彩(x',y’,z’,r,g,b),所有点的信息组成点云矩阵C;
步骤S3.5:将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效环境点云,表示为一个二维的张量A,对应的维度为<n,3+3>,其中,n为点云中点的数目。
优选地,所述步骤S4包括:
步骤S4.1:对获取的有效环境点云使用最远距离采样选取点云中的n1个关键点;根据n1个关键点选取每个关键点周围预设半径内球形区域内的的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
步骤S4.2:将点云分域张量输入特征提取网络,点云分域张量通过T-Net转换网络进行对齐,得到对齐后的三维点云分域张量;
步骤S4.3:将对齐后的三维点云分域张量通过多层感知器对每一区域点云数据进行初步特征提取,得到局部特征提取张量;
步骤S4.4:局部特征提取张量通过在特征的各个维度上执行最大池化操作得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,局部特征提取张量对应的维度为<n1,3+3>;
步骤S4.5:对获取的局部特征使用最远距离采样选取点云中的n3个关键点;根据n3个关键点选取每个关键点周围预设半径内球形区域内的的n4个点作为一个划分,得到一个维度为<n3,n4,3+3>的三维点云分域张量,重复执行步骤S4.2至步骤S4.4,得到全部点云的特征,表示为一维向量D;
步骤S4.6:将得到的全部点云特征通过多层感知器进行聚合,得到点云的状态特征。
优选地,所述步骤S5包括:
步骤S5.1:由物理引擎搭建机械臂具体任务的仿真物理环境,所述物理环境包括机械臂P和机械臂A;
步骤S5.2:机械臂P的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂P的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;机械臂A的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂A的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B5.3:机械臂具体任务的奖励函数R:对于机械臂P来说,根据具体任务设定的奖励函数为Rp;那么对于机械臂A来说,奖励函数计算公式如下:
Ra=-Rp (5)
其中,Ra表示机械臂A所采用的奖励函数,且机械臂A和机械臂P的关系是一种对偶的关系;
步骤B5.4:深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:Actor决策网络πθ、Actor目标网络πθ_target、Critic价值网络Qw和Critic目标网络Qw_target
所述Actor决策网络πθ和Actor目标网络πθ_target包括状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数;
所述Critic价值网络Qw和Critic目标网络Qw_target包括状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
优选地,所述步骤S6中机械臂与环境交互获取的经验数据包括:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和Da中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s′p、奖励rp和是否终止done,将<sp,ap,rp,s′p,done>这个五元组存入经验回放池Dp
在交互过程中,不断获取机械臂A的状态s,在Actor决策网络基于当前状态sa得到动作a=πθ(s),执行动作aa,得到新状态s′、奖励ra和是否终止done,将<s,aa,ra,s′a,done>这个五元组存入经验回放池Da
优选地,所述步骤S6包括:
步骤S6.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s′p,done>;
步骤S6.2:根据机械臂P的Actor目标网络,计算a′p,公式如下:
a′p=πθ_target(s′p) (6)
步骤S6.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s′p,a′p) (7)
其中,γ表示时间衰减因子,是调和的权值;
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap) (8)
其中,yp表示计算得到的当前Q值;Qw()表示当前Critic网络,一种从当前状态和动作到一个具体Q值的映射;
步骤S6.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000051
其中,B代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
步骤S6.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000052
其中,B代表采样的一批样本,|B|代表样本B中的样本数量;
步骤B4.7:使用soft update的更新方法更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是:
w=ρw+(1-ρ)wtarget (11)
其中,ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ′θ+(1-ρ′)θtarget (12)
其中,ρ′为一个0到1之间接近1的常量;
步骤S6.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;重复执行步骤S6.1至步骤S6.8训练深度神经网络机械臂P直至收敛,保存机械臂P的决策网络πθ的参数θ。
优选地,所述步骤S7包括:加载保存的决策网络πθ的参数θ,然后在实际应用环境中获取机械臂当前的状态s作为决策网络πθ的输入,得到πθ的输出a(s)=πθ(s)作为机械臂的预估位置及欧拉角,控制机械臂完成具体任务。
根据本发明提供的一种基于对抗式深度强化学习的高鲁棒性机械臂操作系统,包括:
模块M1:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;
模块M2:传感器对机械臂及工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;
模块M3:基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;
模块M4:环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征,将环境的点云特征通过多层感知器进行聚合,得到点云的状态特征;
模块M5:构建由物理引擎搭建的仿真物理环境,根据点云的状态特征设定机械臂具体任务的对抗式深度强化学习模型;
模块M6:利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习模型直至收敛,得到训练后的对抗式深度强化学习模型;
模块M7:使用训练后的对抗式深度强化学习模型使机械臂能够完成具体任务;
所述对抗式深度强化学习模型通过施加深度强化学习的对抗模型进行成长性的干扰,在训练的各个阶段增加困难经验数据的采样率,从而达到提升目标模型鲁棒性的效果。
优选地,所述模块M3包括:
模块M3.1:根据工业相机的内部参数,得到相应的相机内参矩阵K;
Figure BDA0003038287070000071
其中,fx,fy,cx,cy分别表示相机的内部常数;
模块M3.2:根据拍摄图像的像素坐标(u,v)、像素点对应的深度信息d以及相机的内参矩阵K,计算相机坐标系坐标Pc(x,y,z);
Figure BDA0003038287070000072
Figure BDA0003038287070000073
模块M3.3:根据相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系坐标Pw(x’,y’,z’);
Pw=T-1Pc (4)
模块M3.4:根据每个像素点的RGB信息,得到相机视野内物体每个点的位置和色彩(x’,y’,z’,r,g,b),所有点的信息组成点云矩阵C;
模块M3.5:将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效环境点云,表示为一个二维的张量A,对应的维度为<n,3+3>,其中,n为点云中点的数目;
所述模块M4包括:
模块M4.1:对获取的有效环境点云使用最远距离采样选取点云中的n1个关键点;根据n1个关键点选取每个关键点周围预设半径内球形区域内的的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
模块M4.2:将点云分域张量输入特征提取网络,点云分域张量通过T-Net转换网络进行对齐,得到对齐后的三维点云分域张量;
模块M4.3:将对齐后的三维点云分域张量通过多层感知器对每一区域点云数据进行初步特征提取,得到局部特征提取张量;
模块M4.4:局部特征提取张量通过在特征的各个维度上执行最大池化操作得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,局部特征提取张量对应的维度为<n1,3+3>;
模块M4.5:对获取的局部特征使用最远距离采样选取点云中的n3个关键点;根据n3个关键点选取每个关键点周围预设半径内球形区域内的的n4个点作为一个划分,得到一个维度为<n3,n4,3+3>的三维点云分域张量,重复触发模块M4.2至模块M4.4执行,得到全部点云的特征,表示为一维向量D;
模块M4.6:将得到的全部点云特征通过多层感知器进行聚合,得到点云的状态特征;
所述模块M5包括:
模块M5.1:由物理引擎搭建机械臂具体任务的仿真物理环境,所述物理环境包括机械臂P和机械臂A;
模块M5.2:机械臂P的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂P的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;机械臂A的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂A的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B5.3:机械臂具体任务的奖励函数R:对于机械臂P来说,根据具体任务设定的奖励函数为Rp;那么对于机械臂A来说,奖励函数计算公式如下:
Ra=-Rp (5)
其中,Ra表示机械臂A所采用的奖励函数,且机械臂A和机械臂P的关系是一种对偶的关系;
步骤B5.4:深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:Actor决策网络πθ、Actor目标网络πθ_target、Critic价值网络Qw和Critic目标网络Qw_target
所述Actor决策网络πθ和Actor目标网络πθ_target包括状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数;
所述Critic价值网络Qw和Critic目标网络Qw_target包括状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
优选地,所述模块M6中机械臂与环境交互获取的经验数据包括:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和D中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s′p、奖励rp和是否终止done,将<sp,ap,rp,s′p,done>这个五元组存入经验回放池Dp
在交互过程中,不断获取机械臂A的状态sa,在Actor决策网络基于当前状态sa得到动作aa=πθ(sa),执行动作aa,得到新状态s′a、奖励ra和是否终止done,将<sa,aa,ra,s′a,done>这个五元组存入经验回放池Da
所述模块M6包括:
模块M6.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s′p,done>;
模块M6.2:根据机械臂P的Actor目标网络,计算a′p,公式如下:
a′p=πθ_target(s′p) (6)
模块M6.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s′p,a′p) (7)
其中,γ表示时间衰减因子,是调和的权值;
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap) (8)
其中,yp表示计算得到的当前Q值;Qw()表示当前Critic网络,一种从当前状态和动作到一个具体Q值的映射;
模块M6.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000091
其中,B代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
模块M6.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000092
其中,B代表采样的一批样本,|B|代表样本B中的样本数量;
步骤B4.7:使用soft update的更新方法更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是:
w=ρw+(1-ρ)wtarget (11)
其中,ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ′θ+(1-ρ′)θtarget (12)
其中,ρ′为一个0到1之间接近1的常量;
模块M6.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;重复触发模块M6.1至模块M6.8执行训练深度神经网络机械臂P直至收敛,保存机械臂P的决策网络πθ的参数θ。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过使用深度强化学习算法不断调节,机械臂的控制更加自主,提高了机械臂位置和位姿控制的精确性和鲁棒性;
2、本发明通过对抗式的深度强化学习框架,经验回放池中的样本更加多样化,相比于普通的深度强化学习方法,训练出的机械臂控制模型适应性更强;
3、本发明提出的一种基于对抗式深度强化学习的机械臂具体任务实现方法,使用深度强化学习算法来对机械臂的具体任务过程进行控制,从而使机械臂能够通过与环境交互来自主调节,不断提高位置和位姿控制的精确性和鲁棒性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为基于对抗式深度强化学习的高鲁棒性机械臂操作方法流程图;
图2为环境点云特征获取的流程图;
图3为机械臂P及机械臂A采用的深度强化学习框架图;
图4为提高鲁棒性所采用的对抗式网络架构结构图;
图5为仿真物理环境中对水的抽象和模拟示意图;
图6为仿真物理环境中机械臂P与机械臂A进行博弈的示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种基于对抗式深度强化学习的高鲁棒性机械臂操作方法,包括:
步骤S1:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;
步骤S2:传感器对机械臂及工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;
步骤S3:基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;
步骤S4:环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征,将环境的点云特征通过多层感知器进行聚合,得到点云的状态特征;
步骤S5:构建由物理引擎搭建的仿真物理环境,根据点云的状态特征设定机械臂具体任务的对抗式深度强化学习模型;
步骤S6:利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习模型直至收敛,得到训练后的对抗式深度强化学习模型;
步骤S7:使用训练后的对抗式深度强化学习模型使机械臂能够完成具体任务;
所述对抗式深度强化学习模型通过施加成长性的外部干扰,使得任务复杂性变高,从而增大困难经验数据出现概率的方法。普通的外部干扰很容易被深度强化学习模型自适应,在训练的后期难以达到预期的效果。而设置一个同样是深度强化学习的对抗模型进行成长性的干扰,可以在训练的各个阶段增加困难经验数据的采样率,从而达到提升目标模型鲁棒性的效果。
具体地,所述步骤S3包括:
步骤S3.1:根据工业相机的内部参数,得到相应的相机内参矩阵K;
Figure BDA0003038287070000111
其中,fx,fy,cx,cy分别表示相机的内部常数;
步骤S3.2:根据拍摄图像的像素坐标(u,v)、像素点对应的深度信息d以及相机的内参矩阵K,计算相机坐标系坐标Pc(x,y,z);
Figure BDA0003038287070000121
Figure BDA0003038287070000122
步骤S3.3:根据相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系坐标Pw(x',y',z');
Pw=T-1Pc (4)
步骤S3.4:根据每个像素点的RGB信息,得到相机视野内物体每个点的位置和色彩(x',y',z',r,g,b),所有点的信息组成点云矩阵C;
步骤S3.5:将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效环境点云,表示为一个二维的张量A,对应的维度为<n,3+3>,其中,n为点云中点的数目。
具体地,所述步骤S4包括:
步骤S4.1:对获取的有效环境点云使用最远距离采样选取点云中的n1个关键点;根据n1个关键点选取每个关键点周围预设半径内球形区域内的的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
步骤S4.2:将点云分域张量输入特征提取网络,点云分域张量通过T-Net转换网络进行对齐,得到对齐后的三维点云分域张量;
步骤S4.3:将对齐后的三维点云分域张量通过多层感知器对每一区域点云数据进行初步特征提取,得到局部特征提取张量;
步骤S4.4:局部特征提取张量通过在特征的各个维度上执行最大池化操作得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,局部特征提取张量对应的维度为<n1,3+3>;
步骤S4.5:对获取的局部特征使用最远距离采样选取点云中的n3个关键点;根据n3个关键点选取每个关键点周围预设半径内球形区域内的的n4个点作为一个划分,得到一个维度为<n3,n4,3+3>的三维点云分域张量,重复执行步骤S4.2至步骤S4.4,得到全部点云的特征,表示为一维向量D;
步骤S4.6:将得到的全部点云特征通过多层感知器进行聚合,得到点云的状态特征。
具体地,所述步骤S5包括:
步骤S5.1:由物理引擎搭建机械臂具体任务的仿真物理环境,所述物理环境包括机械臂P和机械臂A;
步骤S5.2:机械臂P的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂P的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;机械臂A的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂A的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B5.3:机械臂具体任务的奖励函数R:对于机械臂P来说,根据具体任务设定的奖励函数为Rp;那么对于机械臂A来说,奖励函数计算公式如下:
Ra=-Rp (5)
其中,Ra表示机械臂A所采用的奖励函数,且机械臂A和机械臂P的关系是一种对偶的关系;
训练的过程本身可以看作是机械臂A和机械臂P的博弈过程,特别地,可以将机械臂A和机械臂P的博弈过程视为零和博弈过程,即满足
Ra+Rp=0
机械臂P的奖励函数已经由Rp给出,机械臂A的奖励函数Ra即为-Rp
步骤B5.4:深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:Actor决策网络πθ、Actor目标网络πθ_target、Critic价值网络Qw和Critic目标网络Qw_target
所述Actor决策网络πθ和Actor目标网络πθ_target包括状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数;
所述Critic价值网络Qw和Critic目标网络Qw_target包括状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
具体地,所述步骤S6中机械臂与环境交互获取的经验数据包括:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和Da中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s′p、奖励rp和是否终止done,将<sp,ap,rp,s′p,done>这个五元组存入经验回放池Dp
在交互过程中,不断获取机械臂A的状态s,在Actor决策网络基于当前状态sa得到动作a=πθ(sa),执行动作aa,得到新状态s′a、奖励ra和是否终止done,将<sa,aa,ra,s′,done>这个五元组存入经验回放池D
具体地,所述步骤S6包括:
步骤S6.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s′p,done>;
步骤S6.2:根据机械臂P的Actor目标网络,计算a′p,公式如下:
a′p=πθ_target(s′p) (6)
步骤S6.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s′p,a′p) (7)
其中,γ表示时间衰减因子,是调和的权值;
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap) (8)
其中,yp表示计算得到的当前Q值;Qw()表示当前Critic网络,一种从当前状态和动作到一个具体Q值的映射;
步骤S6.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000141
其中,B代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
步骤S6.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000142
其中,B代表采样的一批样本,|B|代表样本B中的样本数量,s表示状态,传感器信息和那个得到的点云状态特征;
步骤B4.7:使用soft update的更新方法更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是:
w=ρw+(1-ρ)wtarget (11)
其中,ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ′θ+(1-ρ′)θtarget (12)
其中,ρ′为一个0到1之间接近1的常量;
步骤S6.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;重复执行步骤S6.1至步骤S6.8训练深度神经网络机械臂P直至收敛,保存机械臂P的决策网络πθ的参数θ。
具体地,所述步骤S7包括:加载保存的决策网络πθ的参数θ,然后在实际应用环境中获取机械臂当前的状态s作为决策网络πθ的输入,得到πθ的输出a(s)=πθ(s)作为机械臂的预估位置及欧拉角,控制机械臂完成具体任务。
根据本发明提供的一种基于对抗式深度强化学习的高鲁棒性机械臂操作系统,包括:
模块M1:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;
模块M2:传感器对机械臂及工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;
模块M3:基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;
模块M4:环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征,将环境的点云特征通过多层感知器进行聚合,得到点云的状态特征;
模块M5:构建由物理引擎搭建的仿真物理环境,根据点云的状态特征设定机械臂具体任务的对抗式深度强化学习模型;
模块M6:利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习模型直至收敛,得到训练后的对抗式深度强化学习模型;
模块M7:使用训练后的对抗式深度强化学习模型使机械臂能够完成具体任务;
所述对抗式深度强化学习模型通过施加成长性的外部干扰,使得任务复杂性变高,从而增大困难经验数据出现概率的方法。普通的外部干扰很容易被深度强化学习模型自适应,在训练的后期难以达到预期的效果。而设置一个同样是深度强化学习的对抗模型进行成长性的干扰,可以在训练的各个阶段增加困难经验数据的采样率,从而达到提升目标模型鲁棒性的效果。
具体地,所述模块M3包括:
模块M3.1:根据工业相机的内部参数,得到相应的相机内参矩阵K;
Figure BDA0003038287070000161
其中,fx,fy,cx,cy分别表示相机的内部常数;
模块M3.2:根据拍摄图像的像素坐标(u,v)、像素点对应的深度信息d以及相机的内参矩阵K,计算相机坐标系坐标Pc(x,y,z);
Figure BDA0003038287070000162
Figure BDA0003038287070000163
模块M3.3:根据相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系坐标Pw(x’,y’,z');
Pw=T-1Pc (4)
模块M3.4:根据每个像素点的RGB信息,得到相机视野内物体每个点的位置和色彩(x’,y’,z’,r,g,b),所有点的信息组成点云矩阵C;
模块M3.5:将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效环境点云,表示为一个二维的张量A,对应的维度为<n,3+3>,其中,n为点云中点的数目。
具体地,所述模块M4包括:
模块M4.1:对获取的有效环境点云使用最远距离采样选取点云中的n1个关键点;根据n1个关键点选取每个关键点周围预设半径内球形区域内的的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
模块M4.2:将点云分域张量输入特征提取网络,点云分域张量通过T-Net转换网络进行对齐,得到对齐后的三维点云分域张量;
模块M4.3:将对齐后的三维点云分域张量通过多层感知器对每一区域点云数据进行初步特征提取,得到局部特征提取张量;
模块M4.4:局部特征提取张量通过在特征的各个维度上执行最大池化操作得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,局部特征提取张量对应的维度为<n1,3+3>;
模块M4.5:对获取的局部特征使用最远距离采样选取点云中的n3个关键点;根据n3个关键点选取每个关键点周围预设半径内球形区域内的的n4个点作为一个划分,得到一个维度为<n3,n4,3+3>的三维点云分域张量,重复触发模块M4.2至模块M4.4执行,得到全部点云的特征,表示为一维向量D;
模块M4.6:将得到的全部点云特征通过多层感知器进行聚合,得到点云的状态特征。
具体地,所述模块M5包括:
模块M5.1:由物理引擎搭建机械臂具体任务的仿真物理环境,所述物理环境包括机械臂P和机械臂A;
模块M5.2:机械臂P的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂P的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;机械臂A的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂A的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B5.3:机械臂具体任务的奖励函数R:对于机械臂P来说,根据具体任务设定的奖励函数为Rp;那么对于机械臂A来说,奖励函数计算公式如下:
Ra=-Rp (5)
其中,Ra表示机械臂A所采用的奖励函数,且机械臂A和机械臂P的关系是一种对偶的关系;
训练的过程本身可以看作是机械臂A和机械臂P的博弈过程,特别地,可以将机械臂A和机械臂P的博弈过程视为零和博弈过程,即满足
Ra+Rp=0
机械臂P的奖励函数已经由Rp给出,机械臂A的奖励函数Ra即为-Rp
步骤B5.4:深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:Actor决策网络πθ、Actor目标网络πθ_target、Critic价值网络Qw和Critic目标网络Qw_target
所述Actor决策网络πθ和Actor目标网络πθ_target包括状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数;
所述Critic价值网络Qw和Critic目标网络Qw_target包括状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
具体地,所述模块M6中机械臂与环境交互获取的经验数据包括:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和Da中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s′p、奖励rp和是否终止done,将<sp,ap,rp,s′p,done>这个五元组存入经验回放池Dp
在交互过程中,不断获取机械臂A的状态sa,在Actor决策网络基于当前状态s得到动作aa=πθ(sa),执行动作aa,得到新状态s′、奖励r和是否终止done,将<s,aa,ra,s′a,done>这个五元组存入经验回放池Da
具体地,所述模块M6包括:
模块M6.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s′p,done>;
模块M6.2:根据机械臂P的Actor目标网络,计算a′p,公式如下:
a′p=πθ_target(s′p) (6)
模块M6.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s′p,a′p) (7)
其中,γ表示时间衰减因子,是调和的权值;
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap) (8)
其中,yp表示计算得到的当前Q值;Qw()表示当前Critic网络,一种从当前状态和动作到一个具体Q值的映射;
模块M6.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000181
其中,B代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
模块M6.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000182
其中,B代表采样的一批样本,|B|代表样本B中的样本数量,s表示状态,传感器信息和那个得到的点云状态特征;
步骤B4.7:使用soft update的更新方法更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是:
w=ρw+(1-ρ)wtarget (11)
其中,ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ′θ+(1-ρ′)θtarget (12)
其中,ρ′为一个0到1之间接近1的常量;
模块M6.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;重复触发模块M6.1至模块M6.8执行训练深度神经网络机械臂P直至收敛,保存机械臂P的决策网络πθ的参数θ。
具体地,所述模块M7包括:加载保存的决策网络πθ的参数θ,然后在实际应用环境中获取机械臂当前的状态s作为决策网络πθ的输入,得到πθ的输出a(s)=πθ(s)作为机械臂的预估位置及欧拉角,控制机械臂完成具体任务。
实施例2
实施例2是实施例1的优选例
本发明提供了一种端到端的用于实现高鲁棒性机械臂操作的深度强化学习方法,其过程为,首先从RGBD相机读入视觉和深度信息,传感器获取机械臂及工业相机位姿信息,通过计算处理得到环境点云,再通过特定的网络提取点云特征,将所得的点云特征作为输入进行深度强化学习,搭建好机械臂对应的深度强化学习框架,采用对抗式的网络架构,进行深度强化学习网络的训练,得到机械臂的高鲁棒性控制模型。
和常用的深度强化学习算法相比,本发明使用了对抗式的网络架构,具有自主性高,鲁棒性强的特点。特别地,本发明的对抗式网络架构保证了训练出的模型具有较强的鲁棒性,这种网络架构移植到相关工业控制及人机交互领域,可以进行机械机构的位姿控制和与之相关的人机协同操作。
本发明采用的机械臂型号为KUKA LBR IIWA14R820,本发明提供高鲁棒性机械臂调整位置和角度的实现方法,具体地,指机械臂自主倒水任务的实现方法。该方法包括环境点云特征提取步骤(A)和对抗式深度强化学习网络进行机械臂位姿控制步骤(B),如图1至图6所示。
所述的环境点云特征提取步骤(A),包含如下步骤:
步骤A1:工业相机对环境进行拍摄,获取环境的RGB图像信息和深度信息;传感器对机械臂的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;其中,外参矩阵T是由世界坐标系到相机坐标系的转换矩阵;
步骤A2:根据具体工业相机的内部参数,与相机具体工艺有关的内部常数记作fx,fy,cx,cy,可以得到相应的内参矩阵K:
Figure BDA0003038287070000201
步骤A3:由所拍摄图像的像素坐标(u,v)、像素点对应的深度信息d和相机内参矩阵K计算相机坐标系内坐标Pc(x,y,z):
Figure BDA0003038287070000202
具体地,有
Figure BDA0003038287070000203
步骤A4:由相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系内的坐标Pw(x′,y′,z′);
Pw=T-1Pc
步骤A5:结合每个像素点的RGB信息,整合得到相机视野内物体每个点的位置和色彩(x′,y′,z′,r,g,b),所有点的信息组成点云矩阵C;将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效点云,表示为一个二维的张量A,对应的维度为<n,3+3>其中,n为点云中点的数目;
步骤A6:用最远距离采样选取点云中的n1个关键点;根据这些关键点选取每个点周围一定半径内球形区域内的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
步骤A7:将点云分域张量输入特征提取网络,输入数据先通过T-Net转换网络对特征进行对齐,保证了模型对空间转换的不变性。通过多层感知器对每一区域点云数据进行初步特征提取后,再通过另一个T-Net转换网络对特征进行对齐。通过在特征的各个维度上执行maxpooling操作来得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,该张量对应的维度为<n1,3+3>;
步骤A8:选取n3个关键点,每一区域点数为n4,对局部特征提取张量重复一次步骤A6~步骤A7操作,得到更高层的局部特征张量C,该张量对应的维度为<n2,3+3>;用多层感知器对局部特征张量进行整合,最终全部点云的特征表示为一维张量D。
所述的利用对抗式深度强化学习网络进行机械臂位姿控制步骤(B),包含如下的步骤:
步骤B1:由物理引擎搭建机械臂具体任务的仿真物理环境:
物理环境中应包含以下元素:两只机械臂,分别记作protagonist(简称为P)和adversary(简称为A);具体任务所需要的具体环境;机械臂P的目标是尽可能实现预设的任务,机械臂A的目标是尽可能阻止机械臂P实现任务;
具体地,对于倒水任务来说,其物理环境包含:两只机械臂,分别记作protagonist(简称为P)和adversary(简称为A);两个杯子,分别记作杯子a和杯子b,杯子a中装有一定量的水,杯子b中是空的;机械臂P的目标是将杯子a中的水倒入杯子b中,而机械臂A的目标是让杯子b中的水尽可能少;
其中,水的模拟是相当困难的,为了简化对水的建模,此处将水简化为一系列体积很小,质量很轻,摩擦力很小的球,每个小球可以看作一个水滴,大量的小球即视为一定量水滴组成的液体水,水在仿真环境中的实现如图4所示;
步骤B2:设定机械臂具体任务的对抗式深度强化学习框架包含如下步骤:
步骤B2.1:定义机械臂P的状态空间为点云获取步骤(A)中的状态张量及由传感器得到的机械臂关节的角度、末端执行器的角度和力;定义机械臂P的动作空间为机械臂末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
定义机械臂A的状态空间为点云获取步骤(A)中的状态张量及由传感器得到的机械臂关节的角度、末端执行器的角度和力;定义机械臂A的动作空间为机械臂末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B2.2:定义机械臂具体任务的奖励函数R:对于机械臂P来说,设定一般性任务的奖励函数为Rp
具体的,针对倒水任务,其奖励函数计算公式如下:
Rp=Rs+Rd
其中,Ra和Rd定义如下
Figure BDA0003038287070000211
Rs为采取动作时确定的回报,如果有水洒出,即水滴既不在杯子a中又不在杯子b中,那么将会给予一个负的惩罚值,用于确保水尽可能不会被洒出。
Figure BDA0003038287070000221
Rd为根据预期结果确定的回报,如果一个训练周期中倒水成功,即杯子b中的水达到预设定的倒水成功的阈值,记为n1,那么将会给予一个正的奖励值,用于确保机械臂P向成功倒水收敛。
那么对于机械臂A来说,其奖励函数计算公式如下:
Ra=-Rp
Ra为机械臂A所采用的奖励函数,由机械臂A和机械臂P的优化目标可以看出,机械臂A和机械臂P的关系是一种对偶的关系,训练的过程本身可以看作是机械臂A和机械臂P的博弈过程,特别地,可以将机械臂A和机械臂P的博弈过程视为零和博弈过程,即满足
Ra+Rp=0
机械臂P的奖励函数已经由Rp给出,机械臂A的奖励函数Ra即为-Rp,对抗式的网络架构如图3所示;
步骤B2.3:定义深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:
两个结构相同的Actor网络,其中一个为Actor决策网络πθ,另一个为Actor目标网络πθ_target;网络各层依次是:状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数。
两个结构相同的Critic网络,其中一个是Critic价值网络Qw,另一个为Critic目标网络Qw_target;网络各层依次是:状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
步骤B3:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和Da中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s′p、奖励rp和是否终止done,将<sp,ap,rp,s′p,done>这个五元组存入经验回放池Dp;同理,不断获取机械臂A的状态sa,在Actor决策网络基于当前状态sa得到动作aa=πθ(sa),执行动作aa,得到新状态s′a、奖励ra和是否终止done,将<sa,aa,ra,s′a,done>这个五元组存入经验回放池Da
步骤B4:每次分别从经验回放池Dp和Da中采样得到一批样本,使用深度强化学习的方法对机械臂P和机械臂A的深度神经网络进行学习训练,具体包含以下步骤:
步骤B4.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s′p,done>;
步骤B4.2:根据机械臂P的Actor目标网络,计算a′p,公式如下:
a′p=πθ_target(s′p)
步骤B4.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s′p,a′p)
其中,γ表示时间衰减因子,是调和的权值。
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap)
步骤B4.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000231
其中Bp代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
步骤B4.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure BDA0003038287070000232
其中B代表采样的一批样本,|B|代表样本B中的样本数量;
步骤B4.7:更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,使用soft update的更新方法,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是
w=ρw+(1-ρ)wtarget
其中ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ′θ+(1-ρ′)θtarget
其中ρ′为一个0到1之间接近1的常量。
步骤B4.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A可以一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;
步骤B4.9:不断循环B41~B48,训练深度神经网络机械臂P至收敛,保存机械臂P的决策网络πθ的参数θ,搭建的深度强化学习框架如图2所示;
步骤B5:根据训练好的深度神经网络模型,使机械臂能够完成预设的任务:
加载保存的决策网络πθ的参数θ,然后在实际应用环境中获取机械臂当前的状态s作为决策网络πθ的输入,得到πθ的输出a(s)=πθ(s)作为机械臂的预估位置及欧拉角,控制机械臂完成具体的复杂任务。具体地,以倒水任务为例,加载经过对抗式深度强化学习网络训练好的高鲁棒性模型,机械臂能够自主完成倒水任务。
由此与可见,本发明提出的一种基于对抗式深度强化学习的高鲁棒性机械臂操作方法,使用深度强化学习算法来对机械臂的具体运动过程进行控制,从而使机械臂能够通过与环境交互来自主调节,不断提高位置和位姿控制的精确性和鲁棒性。本发明通过对抗式的深度强化学习框架,使得经验回放池中的样本更加多样化,相比于普通的深度强化学习方法,训练出的机械臂控制模型适应性更强。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,包括:
步骤S1:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;
步骤S2:传感器对机械臂及工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;
步骤S3:基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;
步骤S4:环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征,将环境的点云特征通过多层感知器进行聚合,得到点云的状态特征;
步骤S5:构建由物理引擎搭建的仿真物理环境,根据点云的状态特征设定机械臂具体任务的对抗式深度强化学习模型;
步骤S6:利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习模型直至收敛,得到训练后的对抗式深度强化学习模型;
步骤S7:使用训练后的对抗式深度强化学习模型使机械臂能够完成具体任务;
所述对抗式深度强化学习模型通过施加深度强化学习的对抗模型进行成长性的干扰,在训练的各个阶段增加困难经验数据的采样率,从而达到提升目标模型鲁棒性的效果。
2.根据权利要求1所述的基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,所述步骤S3包括:
步骤S3.1:根据工业相机的内部参数,得到相应的相机内参矩阵K;
Figure FDA0003038287060000011
其中,fx,fy,cx,cy分别表示相机的内部常数;
步骤S3.2:根据拍摄图像的像素坐标(u,v)、像素点对应的深度信息d以及相机的内参矩阵K,计算相机坐标系坐标Pc(x,y,z);
Figure FDA0003038287060000021
Figure FDA0003038287060000022
步骤S3.3:根据相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系坐标Pw(x’,y’,z’);
Pw=T-1Pc (4)
步骤S3.4:根据每个像素点的RGB信息,得到相机视野内物体每个点的位置和色彩x’,y’,z’,r,g,b),所有点的信息组成点云矩阵C;
步骤S3.5:将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效环境点云,表示为一个二维的张量A,对应的维度为<n,3+3>,其中,n为点云中点的数目。
3.根据权利要求1所述的基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,所述步骤S4包括:
步骤S4.1:对获取的有效环境点云使用最远距离采样选取点云中的n1个关键点;根据n1个关键点选取每个关键点周围预设半径内球形区域内的的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
步骤S4.2:将点云分域张量输入特征提取网络,点云分域张量通过T-Net转换网络进行对齐,得到对齐后的三维点云分域张量;
步骤S4.3:将对齐后的三维点云分域张量通过多层感知器对每一区域点云数据进行初步特征提取,得到局部特征提取张量;
步骤S4.4:局部特征提取张量通过在特征的各个维度上执行最大池化操作得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,局部特征提取张量对应的维度为<n1,3+3>;
步骤S4.5:对获取的局部特征使用最远距离采样选取点云中的n3个关键点;根据n3个关键点选取每个关键点周围预设半径内球形区域内的的n4个点作为一个划分,得到一个维度为<n3,n4,3+3>的三维点云分域张量,重复执行步骤S4.2至步骤S4.4,得到全部点云的特征,表示为一维向量D;
步骤S4.6:将得到的全部点云特征通过多层感知器进行聚合,得到点云的状态特征。
4.根据权利要求1所述的基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,所述步骤S5包括:
步骤S5.1:由物理引擎搭建机械臂具体任务的仿真物理环境,所述物理环境包括机械臂P和机械臂A;
步骤S5.2:机械臂P的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂P的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;机械臂A的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂A的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B5.3:机械臂具体任务的奖励函数R:对于机械臂P来说,根据具体任务设定的奖励函数为Rp;那么对于机械臂A来说,奖励函数计算公式如下:
Ra=-Rp (5)
其中,Ra表示机械臂A所采用的奖励函数,且机械臂A和机械臂P的关系是一种对偶的关系;
步骤B5.4:深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:Actor决策网络πθ、Actor目标网络πθ_target、Critic价值网络Qw和Critic目标网络Qw_target
所述Actor决策网络πθ和Actor目标网络πθ_target包括状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数;
所述Critic价值网络Qw和Critic目标网络Qw_target包括状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
5.根据权利要求1所述的基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,所述步骤S6中机械臂与环境交互获取的经验数据包括:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和Da中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s'p、奖励rp和是否终止done,将<sp,ap,rp,s'p,done>这个五元组存入经验回放池Dp
在交互过程中,不断获取机械臂A的状态sa,在Actor决策网络基于当前状态sa得到动作aa=πθ(sa),执行动作aa,得到新状态s'a、奖励ra和是否终止done,将<sa,aa,ra,s'a,done>这个五元组存入经验回放池Da
6.根据权利要求5所述的基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,所述步骤S6包括:
步骤S6.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s'p,done>;
步骤S6.2:根据机械臂P的Actor目标网络,计算a'p,公式如下:
a'p=πθ_target(s'p) (6)
步骤S6.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s'p,a'p) (7)
其中,γ表示时间衰减因子,是调和的权值;
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap) (8)
其中,yp表示计算得到的当前Q值;Qw()表示当前Critic网络,一种从当前状态和动作到一个具体Q值的映射;
步骤S6.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure FDA0003038287060000041
其中,B代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
步骤S6.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure FDA0003038287060000042
其中,B代表采样的一批样本,|B|代表样本B中的样本数量;
步骤B4.7:使用softupdate的更新方法更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是:
w=ρw+(1-ρ)wtarget (11)
其中,ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ'θ+(1-ρ')θtarget (12)
其中,ρ'为一个0到1之间接近1的常量;
步骤S6.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;重复执行步骤S6.1至步骤S6.8训练深度神经网络机械臂P直至收敛,保存机械臂P的决策网络πθ的参数θ。
7.根据权利要求1所述的基于对抗式深度强化学习的高鲁棒性机械臂操作方法,其特征在于,所述步骤S7包括:加载保存的决策网络πθ的参数θ,然后在实际应用环境中获取机械臂当前的状态s作为决策网络πθ的输入,得到πθ的输出a(s)=πθ(s)作为机械臂的预估位置及欧拉角,控制机械臂完成具体任务。
8.一种基于对抗式深度强化学习的高鲁棒性机械臂操作系统,其特征在于,包括:
模块M1:工业相机对机械臂操作环境进行拍摄,获取机械臂操作环境的RGB图像信息和深度信息;
模块M2:传感器对机械臂及工业相机的位姿进行感应,获取相机的位姿信息,得到相机的外参矩阵T;
模块M3:基于获取的环境的RGB图像信息和深度信息,根据相机的外参矩阵和内参矩阵计算得到环境点云;
模块M4:环境点云通过最远距离采样得到三维点云分域张量,将三维点云分域张量输入点云特征提取网络提取环境的点云特征,将环境的点云特征通过多层感知器进行聚合,得到点云的状态特征;
模块M5:构建由物理引擎搭建的仿真物理环境,根据点云的状态特征设定机械臂具体任务的对抗式深度强化学习模型;
模块M6:利用机械臂与环境交互获取的经验数据训练对抗式深度强化学习模型直至收敛,得到训练后的对抗式深度强化学习模型;
模块M7:使用训练后的对抗式深度强化学习模型使机械臂能够完成具体任务;
所述对抗式深度强化学习模型通过施加深度强化学习的对抗模型进行成长性的干扰,在训练的各个阶段增加困难经验数据的采样率,从而达到提升目标模型鲁棒性的效果。
9.根据权利要求8所述的基于对抗式深度强化学习的高鲁棒性机械臂操作系统,其特征在于,所述模块M3包括:
模块M3.1:根据工业相机的内部参数,得到相应的相机内参矩阵K;
Figure FDA0003038287060000061
其中,fx,fy,cx,cy分别表示相机的内部常数;
模块M3.2:根据拍摄图像的像素坐标(u,v)、像素点对应的深度信息d以及相机的内参矩阵K,计算相机坐标系坐标Pc(x,y,z);
Figure FDA0003038287060000062
Figure FDA0003038287060000063
模块M3.3:根据相机外参矩阵T和相机坐标系坐标Pc计算得到世界坐标系坐标Pw(x’,y’,z’);
Pw=T-1Pc (4)
模块M3.4:根据每个像素点的RGB信息,得到相机视野内物体每个点的位置和色彩x’,y’,z’,r,g,b),所有点的信息组成点云矩阵C;
模块M3.5:将两个不同位姿的相机的点云矩阵融合,除去无关的背景点,得到工作范围内有效环境点云,表示为一个二维的张量A,对应的维度为<n,3+3>,其中,n为点云中点的数目;
所述模块M4包括:
模块M4.1:对获取的有效环境点云使用最远距离采样选取点云中的n1个关键点;根据n1个关键点选取每个关键点周围预设半径内球形区域内的的n2个点作为一个划分,得到一个维度为<n1,n2,3+3>的三维点云分域张量;
模块M4.2:将点云分域张量输入特征提取网络,点云分域张量通过T-Net转换网络进行对齐,得到对齐后的三维点云分域张量;
模块M4.3:将对齐后的三维点云分域张量通过多层感知器对每一区域点云数据进行初步特征提取,得到局部特征提取张量;
模块M4.4:局部特征提取张量通过在特征的各个维度上执行最大池化操作得到每个区域以关键点为中心的局部特征,表示为B的局部特征提取张量,局部特征提取张量对应的维度为<n1,3+3>;
模块M4.5:对获取的局部特征使用最远距离采样选取点云中的n3个关键点;根据n3个关键点选取每个关键点周围预设半径内球形区域内的的n4个点作为一个划分,得到一个维度为<n3,n4,3+3>的三维点云分域张量,重复触发模块M4.2至模块M4.4执行,得到全部点云的特征,表示为一维向量D;
模块M4.6:将得到的全部点云特征通过多层感知器进行聚合,得到点云的状态特征;
所述模块M5包括:
模块M5.1:由物理引擎搭建机械臂具体任务的仿真物理环境,所述物理环境包括机械臂P和机械臂A;
模块M5.2:机械臂P的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂P的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;机械臂A的状态空间为点云状态特征及具体任务所需的传感器信息;机械臂A的动作空间为具体任务要求的末端执行器从当前位姿移动到预估位姿所需的坐标位移和角位移;
步骤B5.3:机械臂具体任务的奖励函数R:对于机械臂P来说,根据具体任务设定的奖励函数为Rp;那么对于机械臂A来说,奖励函数计算公式如下:
Ra=-Rp (5)
其中,Ra表示机械臂A所采用的奖励函数,且机械臂A和机械臂P的关系是一种对偶的关系;
步骤B5.4:深度强化学习算法为DDPG算法,对于机械臂P和机械臂A,每个机械臂的深度神经网络结构包括:Actor决策网络πθ、Actor目标网络πθ_target、Critic价值网络Qw和Critic目标网络Qw_target
所述Actor决策网络πθ和Actor目标网络πθ_target包括状态s输入层,两个全连接层,Actor决策网络输出层,各个层之间的激活函数为ReLU函数;
所述Critic价值网络Qw和Critic目标网络Qw_target包括状态s和动作a输入层,Critic价值网络层,值输出层,各个层之间的激活函数为ReLU函数。
10.根据权利要求8所述的基于对抗式深度强化学习的高鲁棒性机械臂操作系统,其特征在于,所述模块M6中机械臂与环境交互获取的经验数据包括:机械臂P和机械臂A不断与仿真物理环境进行交互,然后把与环境交互获得的数据分别存放在经验回放池Dp和Da中;
在交互过程中,不断获取机械臂P的状态sp,在Actor决策网络基于当前状态sp得到动作ap=πθ(sp),执行动作ap,得到新状态s'p、奖励rp和是否终止done,将<sp,ap,rp,s'p,done>这个五元组存入经验回放池Dp
在交互过程中,不断获取机械臂A的状态sa,在Actor决策网络基于当前状态sa得到动作aa=πθ(sa),执行动作aa,得到新状态s'a、奖励ra和是否终止done,将<sa,aa,ra,s'a,done>这个五元组存入经验回放池Da
所述模块M6包括:
模块M6.1:随机从经验回放池Dp中采样一批样本Bp=<sp,ap,rp,s'p,done>;
模块M6.2:根据机械臂P的Actor目标网络,计算a'p,公式如下:
a'p=πθ_target(s'p) (6)
模块M6.3:根据机械臂P的Critic目标网络,计算目标yp_target,公式为:
yp_target=rp+γ(1-done)Qw_target(s'p,a'p) (7)
其中,γ表示时间衰减因子,是调和的权值;
步骤B4.4:计算当前的yp,公式为:
yp=Qw(sp,ap) (8)
其中,yp表示计算得到的当前Q值;Qw()表示当前Critic网络,一种从当前状态和动作到一个具体Q值的映射;
模块M6.5:根据梯度下降法更新Critic价值网络Qw的参数,采用的优化器为Adam,梯度的公式为:
Figure FDA0003038287060000081
其中,B代表采样的一批样本,|Bp|代表样本Bp中的样本数量;
模块M6.6:根据梯度下降法更新决策网络πθ的参数,采用的优化器为Adam,梯度的公式为:
Figure FDA0003038287060000082
其中,B代表采样的一批样本,|B|代表样本B中的样本数量;
步骤B4.7:使用softupdate的更新方法更新机械臂P目标价值网络Qw_target和目标决策网络πθ_target的参数,具体过程为:设置价值网络的网络参数为w,目标价值网络的网络参数为wtarget,更新方法是:
w=ρw+(1-ρ)wtarget (11)
其中,ρ为一个0到1之间接近1的常量;设置决策网络的参数为θ,目标决策网络的网络参数为θtarget,更新方法是
θ=ρ'θ+(1-ρ')θtarget (12)
其中,ρ'为一个0到1之间接近1的常量;
模块M6.8:采用与训练机械臂P相同的深度强化学习训练方法来训练机械臂A,使得机械臂A一直与机械臂P进行对抗,使机械臂P得以探索出更全面、更复杂的经验回放池,训练样本的多样性得以保证;重复触发模块M6.1至模块M6.8执行训练深度神经网络机械臂P直至收敛,保存机械臂P的决策网络πθ的参数θ。
CN202110449963.XA 2021-04-25 2021-04-25 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统 Active CN113076615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110449963.XA CN113076615B (zh) 2021-04-25 2021-04-25 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110449963.XA CN113076615B (zh) 2021-04-25 2021-04-25 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统

Publications (2)

Publication Number Publication Date
CN113076615A true CN113076615A (zh) 2021-07-06
CN113076615B CN113076615B (zh) 2022-07-15

Family

ID=76618804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110449963.XA Active CN113076615B (zh) 2021-04-25 2021-04-25 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统

Country Status (1)

Country Link
CN (1) CN113076615B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113592855A (zh) * 2021-08-19 2021-11-02 山东大学 基于启发式深度强化学习的自主抓取与装箱方法及系统
CN113724260A (zh) * 2021-08-03 2021-11-30 南京邮电大学 一种基于深度强化学习的卫星抓取方法
CN114055781A (zh) * 2021-10-24 2022-02-18 扬州大学 基于点体素相关场的燃油箱焊接机械臂自适应校正方法
CN114155298A (zh) * 2021-12-09 2022-03-08 山东大学 一种基于主动感知的机器人堵漏方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110450153A (zh) * 2019-07-08 2019-11-15 清华大学 一种基于深度强化学习的机械臂物品主动拾取方法
CN110909644A (zh) * 2019-11-14 2020-03-24 南京理工大学 基于强化学习的机械臂末端执行器抓取姿态调整方法及系统
CN111046948A (zh) * 2019-12-10 2020-04-21 浙江大学 点云仿真和深度学习的工件位姿识别及机器人上料方法
CN111179426A (zh) * 2019-12-23 2020-05-19 南京理工大学 基于深度学习的机器人室内环境三维语义地图构建方法
CN111515961A (zh) * 2020-06-02 2020-08-11 南京大学 一种适用于移动机械臂的强化学习奖励方法
CN111899328A (zh) * 2020-07-10 2020-11-06 西北工业大学 一种基于rgb数据与生成对抗网络的点云三维重建方法
CN112313044A (zh) * 2018-06-15 2021-02-02 谷歌有限责任公司 用于机器人操纵的深度强化学习
CN112528552A (zh) * 2020-10-23 2021-03-19 洛阳银杏科技有限公司 一种基于深度强化学习的机械臂控制模型构建方法
CN112605983A (zh) * 2020-12-01 2021-04-06 浙江工业大学 一种适用于密集环境下的机械臂推抓系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112313044A (zh) * 2018-06-15 2021-02-02 谷歌有限责任公司 用于机器人操纵的深度强化学习
CN110450153A (zh) * 2019-07-08 2019-11-15 清华大学 一种基于深度强化学习的机械臂物品主动拾取方法
CN110909644A (zh) * 2019-11-14 2020-03-24 南京理工大学 基于强化学习的机械臂末端执行器抓取姿态调整方法及系统
CN111046948A (zh) * 2019-12-10 2020-04-21 浙江大学 点云仿真和深度学习的工件位姿识别及机器人上料方法
CN111179426A (zh) * 2019-12-23 2020-05-19 南京理工大学 基于深度学习的机器人室内环境三维语义地图构建方法
CN111515961A (zh) * 2020-06-02 2020-08-11 南京大学 一种适用于移动机械臂的强化学习奖励方法
CN111899328A (zh) * 2020-07-10 2020-11-06 西北工业大学 一种基于rgb数据与生成对抗网络的点云三维重建方法
CN112528552A (zh) * 2020-10-23 2021-03-19 洛阳银杏科技有限公司 一种基于深度强化学习的机械臂控制模型构建方法
CN112605983A (zh) * 2020-12-01 2021-04-06 浙江工业大学 一种适用于密集环境下的机械臂推抓系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘雪峰: "《基于深度强化学习的机械臂智能抓取技术研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
白成超等: "结合深度学习的机械臂视觉抓取控制", 《载人航天》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113724260A (zh) * 2021-08-03 2021-11-30 南京邮电大学 一种基于深度强化学习的卫星抓取方法
CN113724260B (zh) * 2021-08-03 2023-10-17 南京邮电大学 一种基于深度强化学习的卫星抓取方法
CN113592855A (zh) * 2021-08-19 2021-11-02 山东大学 基于启发式深度强化学习的自主抓取与装箱方法及系统
CN113592855B (zh) * 2021-08-19 2024-02-13 山东大学 基于启发式深度强化学习的自主抓取与装箱方法及系统
CN114055781A (zh) * 2021-10-24 2022-02-18 扬州大学 基于点体素相关场的燃油箱焊接机械臂自适应校正方法
CN114055781B (zh) * 2021-10-24 2023-12-29 扬州大学 基于点体素相关场的燃油箱焊接机械臂自适应校正方法
CN114155298A (zh) * 2021-12-09 2022-03-08 山东大学 一种基于主动感知的机器人堵漏方法及系统
CN114155298B (zh) * 2021-12-09 2024-05-17 山东大学 一种基于主动感知的机器人堵漏方法及系统

Also Published As

Publication number Publication date
CN113076615B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
Dasari et al. Robonet: Large-scale multi-robot learning
CN113076615B (zh) 基于对抗式深度强化学习的高鲁棒性机械臂操作方法及系统
Zhu et al. Reinforcement and imitation learning for diverse visuomotor skills
CN110000785B (zh) 农业场景无标定机器人运动视觉协同伺服控制方法与设备
CN109948642B (zh) 基于图像输入的多智能体跨模态深度确定性策略梯度训练方法
Riedmiller et al. Reinforcement learning for robot soccer
US9792546B2 (en) Hierarchical robotic controller apparatus and methods
CN110026987A (zh) 一种机械臂抓取轨迹的生成方法、装置、设备及存储介质
Breyer et al. Comparing task simplifications to learn closed-loop object picking using deep reinforcement learning
Sadeghi et al. Sim2real view invariant visual servoing by recurrent control
Strudel et al. Learning to combine primitive skills: A step towards versatile robotic manipulation §
WO2020058669A1 (en) Task embedding for device control
CN110730970A (zh) 使用图像嵌入优化机器人代理的策略控制器
JP2013193202A (ja) 人間援助型タスクデモンストレーションを使用してロボットを訓練するための方法およびシステム
Fu et al. Active learning-based grasp for accurate industrial manipulation
CN113232019A (zh) 机械臂控制方法、装置、电子设备及存储介质
Chang et al. Accuracy improvement of autonomous straight take-off, flying forward, and landing of a drone with deep reinforcement learning
WO2014201422A2 (en) Apparatus and methods for hierarchical robotic control and robotic training
Jauhri et al. Interactive imitation learning in state-space
EP4301557A1 (en) System(s) and method(s) of using imitation learning in training and refining robotic control policies
Liu et al. Sim-and-real reinforcement learning for manipulation: A consensus-based approach
Saxena et al. Multi-resolution sensing for real-time control with vision-language models
CN117798919A (zh) 一种基于动态交互表征的灵巧机械手抓取方法
CN114170454A (zh) 基于关节分组策略的智能体元动作学习方法
Xiao et al. One-shot sim-to-real transfer policy for robotic assembly via reinforcement learning with visual demonstration

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