CN108161934B - 一种利用深度强化学习实现机器人多轴孔装配的方法 - Google Patents

一种利用深度强化学习实现机器人多轴孔装配的方法 Download PDF

Info

Publication number
CN108161934B
CN108161934B CN201711420089.7A CN201711420089A CN108161934B CN 108161934 B CN108161934 B CN 108161934B CN 201711420089 A CN201711420089 A CN 201711420089A CN 108161934 B CN108161934 B CN 108161934B
Authority
CN
China
Prior art keywords
axis
assembly
shaft
reinforcement learning
hole
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
Application number
CN201711420089.7A
Other languages
English (en)
Other versions
CN108161934A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201711420089.7A priority Critical patent/CN108161934B/zh
Publication of CN108161934A publication Critical patent/CN108161934A/zh
Application granted granted Critical
Publication of CN108161934B publication Critical patent/CN108161934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement

Abstract

本发明涉及一种利用深度强化学习实现机器人多轴孔装配的方法,属于机器人装配技术领域。本发明方法在训练过程中,将利用传统模糊力控制方法与深度强化学习网络基于仿真模型产生的专家经验数据和普通经验数据加入经验数据集,从经验数据集中随机抽取经验数据对深度强化学习网络进行训练,使该网络的装配动作能够快速的达到传统模糊控制方法的装配水平并且继续训练可以超过传统模糊控制方法的装配效果。将利用仿真模型训练好的深度强化学习网络直接用于实际机器人多轴孔装配任务,本发明方法利用仿真模型产生的经验数据进行训练,解决了实际装配环境无法提供足够训练数据的难题同时也降低了训练的成本。

Description

一种利用深度强化学习实现机器人多轴孔装配的方法
技术领域
本发明涉及一种利用深度强化学习实现机器人多轴孔装配的方法,属于机器人装配技术领域。
背景技术
智能制造快速发展的趋势下,机器人自动化装配技术具有巨大的市场需求,已经被越来越多的应用在各种装配领域中。针对目前工业中存在的大量多轴孔装配任务,使用最多的是清华大学机械系制造所机器人及其自动化研究室的张贶恩在其论文“Forcecontrol for a rigid dual peg-in-hole assembly”中提出的基于模糊力控制的方法,该方法基于对轴孔的配合接触状态进行详细分析,建立不同状态下的接触力模型,针对每种接触模型可以分别进行使用各种简单控制方法完成。但是这种方法随着由于随着装配模型逐渐复杂比如需要同时完成多轴孔的装配任务时,其接触状态会呈指数速度增长并且其卡阻模型无法得到准确分析,这也就导致目前这种传统模糊控制方法很难实现稳定控制,并且其对不同的装配环境通用性差泛化能力差。对不同多轴孔装配环境通用性强的控制方法一直是机器人自动化装配领域研究的重点,随着人工智能技术在快速发展并且被越来越多应用于在工业中,深度强化学习这种已经在很多机器人控制领域被验证了其强大的决策控制能力的控制方法有望解决这一难题。
发明内容
本发明的目的是提出一种利用深度强化学习实现机器人多轴孔装配的方法,利用基于确定性策略梯度搜索算法实现对机器人的装配动作进行控制,并利用传统模糊力控制方法产生经验训练数据,通过专家数据的训练能够保证强化学习模型快速学习,并且达到传统模糊力控制的水平。本发明还利用深度确定策略梯度搜索的方法继续进行训练,通过不断的与环境的交互逐渐优化装配决策的能力。
本发明提出的利用深度强化学习实现机器人多轴孔装配的方法,包括建立仿真模型,利用建立的仿真模型生成经验数据集,以及利用经验数据集中的数据对深度强化学习网络进行训练,完成机器人的装配任务,
其中仿真模型的建立包括以下步骤:
(1)在待装配轴部件上建立轴三维坐标系X-Y-Z,三维坐标系X-Y-Z的坐标原点O位于待装配轴上表面两轴圆心连线的中点,Z轴正向沿轴的轴线向下,X轴正向是沿左边轴的圆心指向右边,由右手螺旋定则得到Y轴正向;在待装配孔部件上建立孔坐标系X'-Y'-Z',孔坐标系X'-Y'-Z'的坐标原点O'位于待装配孔底座上表面两孔圆心连线的中点,Z'轴的正向沿轴线方向向上,X'轴正向与X轴的正向相同,根据右手螺旋定则其Y'与Y轴正向是相反的;
(2)当待装配轴插入待装配孔中时,形成上接触点和下接触点,记上接触点所在的轴截面向轴坐标系的Z轴方向的投影为上接触面,将下接触点所在的轴截面向孔坐标系的Z'轴方向的投影为下接触面;
分别利用以下公式,计算上接触点在X-Y平面内变形量Δ2xy和上接触点在Z方向的变形量Δ2z
Figure GDA0002407003110000021
Δ2z=Δ2xy·sinθ,
其中,Rp代表待装配轴的半径,x2和y2为上接触点在轴坐标系中的坐标,角度θ为每根轴的轴线与配合的孔轴线之间的夹角;
设下接触点处Z'方向的变形量为零,利用下式,计算下接触点1在X'-Y'平面内的变形量Δ1xy
Figure GDA0002407003110000022
其中,x1和y1为下接触点1在孔坐标系中的坐标,Rp代表待装配轴的半径;
(3)根据上述步骤(2)计算得到的变形量,利用下式计算得到下接触点1处在X'-Y'平面内的接触压力FN1xy
FN1xy=kΔ1xy
其中,k为从材料词典中查得的待装配孔材料的弹性变形系数,
根据下接触点1在孔坐标系中位置坐标(x1,y1),利用下式接触点1在X'-Y'平面内的接触压力FN1xy得到X'向和Y'向的分力F1x和F1y
Figure GDA0002407003110000031
利用公式F1z=F1f=μFN1xy得到下接触点1处Z'方向摩擦力F1f,μ为轴孔材料之间的摩擦系数;
利用以下公式,计算上接触点2处X-Y平面的接触压力FN2xy、Z向接触压力FN2z以及摩擦力F2f
Figure GDA0002407003110000032
利用以下公式,对上接触点的接触压力FN2xy在X-Y平面内进行分解得到FN2xy在X向和Y向的分力F2x和F2y,将Z向所有受力进行合并得到合力F2z
Figure GDA0002407003110000033
(4)遍历每对轴孔,重复上述步骤(2)和(3)计算出每根轴和孔上下两个接触点在轴坐标系X、Y和Z三个方向的分力,利用公式
Figure GDA0002407003110000034
将所有接触点的力进行合并,计算出待装配轴在轴坐标系原点所受的到合力F,式中的Fjx,Fjy和Fjz为第j个接触点处待装配轴受到的三个方向的分力;
利用公式
Figure GDA0002407003110000041
求出待装配轴所受到的合力矩M,其中的rj和Fj分别代表第j个接触点在轴坐标系中的坐标矢量和所受到的合力;
将轴的坐标原点在孔坐标系X'-Y'-Z'中的坐标x,y,z作为轴的当前位置状态,利用式
Figure GDA0002407003110000042
计算得到轴在孔坐标系X'-Y'-Z'中的位姿状态α,β,γ,其中
Figure GDA0002407003110000043
Figure GDA0002407003110000044
代表轴坐标系与孔坐标系所有坐标轴的方向向量;
其中,利用经验数据集中的数据对深度强化学习网络进行训练,完成机器人的装配任务的步骤如下:
(5)根据上述步骤(4)建立的仿真模型计算得到的合力和合力矩以及轴的位置位姿状态,利用策略值函数Qμ(st,atQ)=E[Rt|st,at],计算得到机器人装配过程中,在t时刻采取装配动作at时的预期评估值Qμ(st,atQ),
其中,st代表t时刻深度强化学习网络输入的轴的12维状态向量[Fxt,Fyt,Fzt,Mxt,Myt,Mzt,xt,yt,ztttt],12维状态向量中的[Fxt,Fyt,Fzt,Mxt,Myt,Mzt]代表t时刻从上述步骤(4)建立的仿真模型计算得到的力和力矩,xt,yt,zt代表t时刻由步骤(4)计算得到的轴的位置状态,αttt代表t时刻由步骤(4)计算得到的轴的位姿状态,at代表t时刻深度强化学习网络输出的装配过程中采取的6维装配动作向量[Px,Py,Pz,Rx,Ry,Rz],Rt为时刻t所获得的经折扣后的未来收益之和,
Figure GDA0002407003110000045
其中i为完成一次装配任务过程中的第i次装配动作,γ为折扣因子,γ∈[0,1],rt(st,at)为时刻t获得的及时奖励,T为一次装配任务的结束时刻;
(6)定义一个奖励函数
Figure GDA0002407003110000051
将减小接触力和优化装配时间作为优化机器人多轴孔装配任务中优化的目标,其中ht是t时刻轴在孔中的插入深度,F(t)是t时刻获得的轴的受力状态,c是设定的计算系数用于控制F(t)对rt(st,at)的影响程度,取值为0.01,hT为装配完成时刻T的轴在孔中的完成插入深度,hmax是轴在孔中的要求插入深度,h0是装配初始时轴在孔中的初始插入深度,hT<hmax代表装配任务没有完成,此时奖励值是一个负的惩罚值-rpenalty,t<T表示在装配过程中的奖励值,hT=hmax代表装配任务能够完成,此时的奖励值是一个正向奖励rlarge
(7)利用贝尔曼方程,将上述步骤(5)中的策略值函数Qμ(st,atQ)改写为:
Figure GDA0002407003110000052
其中,μ(st+1)即为深度强化学习网络在st+1状态下输出的轴的装配动作;
(8)利用上述步骤(7)的策略值函数Qμ(st,atQ),定义一个损失函数:
L(θQ)=E[(Qμ(st,atQ)-Nt)2],
其中,Nt代表深度强化学习网络中评估网络要达到的目标策略值函数,Nt=r(st,at)+γQμ(st+1,μ(st+1)),E代表计算括号里的期望即平均值通用符号;
利用公式
Figure GDA0002407003110000053
求解损失函数L(θQ)对网络参数θQ的梯度
Figure GDA0002407003110000054
利用公式
Figure GDA0002407003110000055
更新深度强化学习网络中评估网络的网络参数θQ,其中η为根据训练的数据量和网络的复杂度选择的远远小于1的学习率;
(9)利用上述步骤(7)的策略值函数值Qμ(st,atQ),采用链式求导方式,得到深度强化学习网络中决策网络输出的装配动作μ(s|θμ)对网络参数θμ的策略梯度
Figure GDA0002407003110000056
Figure GDA0002407003110000057
策略梯度
Figure GDA0002407003110000061
利用公式
Figure GDA0002407003110000062
更新深度强化学习中的策略网络的网络参数θμ,其中η为与步骤(8)相同的学习率;
(10)向控制原理如图7所示的模糊力控制方法中输入由步骤(4)计算得到的t时刻轴的状态st,输出得到在状态st时的装配动作at
根据步骤(6)中奖励函数的计算方式,得到在状态st时采取装配动作at获得的奖励函数rt
将上述步骤(4)计算得到t+1时刻轴受到的合力Fx(t+1),Fy(t+1),Fz(t+1)和合力矩Mx(t+1),My(t+1),Mz(t+1)以及轴的位置位姿xt+1,yt+1,zt+1t+1t+1t+1,作为t+1时刻的轴的状态st+1,将上述数据st,at,rt,st+1记为专家数据;
(11)向深度强化学习网络的决策网络中输入上述步骤(4)计算得到的t时刻轴的状态st,输出得到在状态st时的装配动作
Figure GDA0002407003110000063
根据步骤(6)中奖励函数公式,计算得到状态st时采用装配动作
Figure GDA0002407003110000064
的奖励函数
Figure GDA00024070031100000611
根据上述步骤(4)计算得到t+1时刻轴受到的合力
Figure GDA0002407003110000065
和合力矩
Figure GDA0002407003110000066
以及轴的位置位姿
Figure GDA0002407003110000067
作为t+1时刻的轴的状态
Figure GDA0002407003110000068
将上述数据st,
Figure GDA0002407003110000069
记为经验数据;
(12)将上述步骤(10)的专家数据st,at,rt,st+1和步骤(11)的经验数据st,
Figure GDA00024070031100000610
一起添加到经验数据集中,
(13)从上述步骤(12)的经验数据集中随机提取根据经验数据集容量大小设定数目的经验数据,利用上述步骤(8)对深度强化学习中的评估网络的网络参数θQ进行更新,利用上述步骤(9)对深度强化学习中的评估网络的网络参数θμ进行更新;
(14)重复上述步骤(5)-步骤(11)的训练过程,经过设定的万次以上重复后,对深度强化学习网络的网络参数θQ和θμ进行训练更新,将得到的深度强化学习网络用于实际装配过程,若装配过程中在完成时刻T时轴在孔中的完成插入深度hT小于要求插入深度hmax,则增大设定的训练次数,并减小学习率,重复上述步骤(5)-(11)的训练过程,若在完成时刻T轴在孔中的完成插入深度hT等于要求插入深度hmax,则结束训练,并将具有经过训练更新之后的深度强化学习网络用于实际多轴孔装配过程中输出装配动作,将产生的装配动作生成用于控制机器人的控制指令,完成多轴孔装配任务。
本发明提出的利用深度强化学习实现机器人多轴孔装配的方法,其优点是:
1、本发明提出的机器人多轴孔装配的方法中涉及的基于深度强化学习的控制方法,是一种不依赖于模型分析,而且非线性拟合能力强的控制方法,适用于对不同的机器人多轴孔装配任务进行控制。
2、本发明方法利用基于确定性策略梯度搜索的深度强化学习控制方法,其输出的装配动作是确定性的连续动作值,确定性动作波动性小适合于实际控制任务;并且在用于训练的经验数据集中加入传统模糊控制方法产生的专家经验数据,专家经验数据的加入使该深度强化学习控制方法网络在较少次数的训练后学习出传统模糊控制方法的装配技能并且超过它。
3、本发明提出的用于机器人多轴孔装配的控制方法,通过仿真模型产生经验数据进行训练学习,当经过训练后的深度强化学习网络能够完成指定的多轴孔装配任务时,将深度强化学习网络迁移到实际装配环境中用于完成机器人多轴孔装配任务。这种训练方式是利用仿真模型产生的经验数据进行训练,解决了实际装配环境无法提供足够训练数据的难题,同时也降低了训练的成本。
附图说明
图1是本发明方法的流程框图。
图2是本发明方法中涉及的三维轴孔装配模型及其轴、孔坐标系的定义示意图。
图3是图1所示的三维轴孔装配模型简化后的仿真模型示意图。
图4是仿真模型中接触点和接触变形的判断计算示意图。
图5是仿真模型中上接触面中接触点的变形量计算示意图。
图6是仿真模型中下接触面中接触点的变形量计算示意图。
图7是本发明中基于强化学习控制方法的网络具体结构示意图。
图8是传统模糊力控制方法的具体控制框图。
图2-图6中,1是待装配的多轴零件部分,2是待装配的多孔零件部分,3是简化后的轴,4是简化后的孔,5是下接触点,6是上接触点,7是下接触面,8是上接触面,9是孔在上接触面的投影,10是轴在上接触面的投影,11是孔在下接触面的投影,12是轴在下接触面的投影12。
具体实施方式
本发明提出的利用深度强化学习实现机器人多轴孔装配的方法,其流程框图如图1所示,包括建立仿真模型,利用建立的仿真模型生成经验数据集,以及利用经验数据集中的数据对深度强化学习网络进行训练,完成机器人的装配任务,
其中仿真模型的建立包括以下步骤:
(1)在待装配轴部件上建立轴三维坐标系X-Y-Z,三维坐标系X-Y-Z的坐标原点O位于待装配轴上表面两轴圆心连线的中点,Z轴正向沿轴的轴线向下,X轴正向是沿左边轴的圆心指向右边,由右手螺旋定则得到Y轴正向;在待装配孔部件上建立孔坐标系X'-Y'-Z',孔坐标系X'-Y'-Z'的坐标原点O'位于待装配孔底座上表面两孔圆心连线的中点,Z'轴的正向沿轴线方向向上,X'轴正向与X轴的正向相同,根据右手螺旋定则其Y'与Y轴正向是相反的;如图2所示,图2中,1是待装配的多轴零件部分,2是待装配的多孔零件部分。
(2)将图2中的待装配模型进行简化得到图3所示的简化模型示意图,图3中,3是简化后的轴,4是简化后的孔,简化模型示意图中的每一对待装配轴与孔之间的配合都存在如图4所示的上接触点和下接触点。图4中,5是下接触点,6是上接触点,7是下接触面,8是上接触面,当待装配轴插入待装配孔中时,形成上接触点2和下接触点1,记上接触点2所在的轴截面向轴坐标系的Z轴方向的投影为上接触面4,如图5所示,图5中,9是孔在上接触面的投影,10是轴在上接触面的投影。将下接触点所在的轴截面向孔坐标系的Z'轴方向的投影为下接触面,如图6所示,图6中,11是孔在下接触面的投影,12是轴在下接触面的投影12。
分别利用以下公式,计算上接触点2在X-Y平面内变形量Δ2xy和上接触点2在Z方向的变形量Δ2z
Figure GDA0002407003110000081
Δ2z=Δ2xy·sinθ,
其中,Rp代表待装配轴的半径,x2和y2为上接触点2在轴坐标系中的坐标,角度θ为每根轴的轴线与配合的孔轴线之间的夹角;
设下接触点处Z'方向的变形量为零,利用下式,计算下接触点1在X'-Y'平面内的变形量Δ1xy
Figure GDA0002407003110000082
其中,x1和y1为下接触点1在孔坐标系中的坐标,Rp代表待装配轴的半径;
(3)根据上述步骤(2)计算得到的变形量,利用下式计算得到下接触点1处在X'-Y'平面内的接触压力FN1xy
FN1xy=kΔ1xy
其中,k为从材料词典中查得的待装配孔材料的弹性变形系数,
根据下接触点1在孔坐标系中位置坐标(x1,y1),利用下式接触点1在X'-Y'平面内的接触压力FN1xy得到X'向和Y'向的分力F1x和F1y
Figure GDA0002407003110000091
利用公式F1z=F1f=μFN1xy得到下接触点1处Z'方向摩擦力F1f,μ为轴孔材料之间的摩擦系数,可以从《机械设计手册》中查取;
利用以下公式,计算上接触点2处X-Y平面的接触压力FN2xy、Z向接触压力FN2z以及摩擦力F2f
Figure GDA0002407003110000092
利用以下公式,对上接触点的接触压力FN2xy在X-Y平面内进行分解得到FN2xy在X向和Y向的分力F2x和F2y,将Z向所有受力进行合并得到合力F2z
Figure GDA0002407003110000093
(4)遍历每对轴孔,重复上述步骤(2)和(3)计算出每根轴和孔上下两个接触点在轴坐标系X、Y和Z三个方向的分力,利用公式
Figure GDA0002407003110000101
将所有接触点的力进行合并,计算出待装配轴在轴坐标系原点所受的到合力F,式中的Fjx,Fjy和Fjz为第j个接触点处待装配轴受到的三个方向的分力;
利用公式
Figure GDA0002407003110000102
求出待装配轴所受到的合力矩M,其中的rj和Fj分别代表第j个接触点在轴坐标系中的坐标矢量和所受到的合力;
将轴的坐标原点在孔坐标系X'-Y'-Z'中的坐标x,y,z作为轴的当前位置状态,利用式
Figure GDA0002407003110000103
计算得到轴在孔坐标系X'-Y'-Z'中的位姿状态α,β,γ,其中
Figure GDA0002407003110000104
Figure GDA0002407003110000105
代表轴坐标系与孔坐标系所有坐标轴的方向向量;
上述步骤(1)-(4)建立的仿真模型,可以根据轴孔的接触状态计算出此时待装配轴所受到的合力和合力矩以及轴当前的位置位姿状态。
本发明的基于深度强化学习方法的机器人多轴孔装配方法中,对该深度强化学习的评估网络和决策网络具体如图6所示,利用上述步骤建立的仿真模型提供数据进行训练,然后利用训练好的基于深度强化学习网络可以在轴孔装配中通过不断输入从传感器获得的轴的位置位姿和受到的合力以及合力矩,决策网络便可以输出机器人装配需要的采取的装配动作。
其中,利用经验数据集中的数据对深度强化学习网络进行训练,完成机器人的装配任务的步骤如下:
(5)根据上述步骤(4)建立的仿真模型计算得到的合力和合力矩以及轴的位置位姿状态,利用策略值函数Qμ(st,atQ)=E[Rt|st,at],计算得到机器人装配过程中,在t时刻采取装配动作at时的预期评估值Qμ(st,atQ),
其中,st代表t时刻深度强化学习网络输入的轴的12维状态向量[Fxt,Fyt,Fzt,Mxt,Myt,Mzt,xt,yt,ztttt],12维状态向量中的[Fxt,Fyt,Fzt,Mxt,Myt,Mzt]代表t时刻从上述步骤(4)建立的仿真模型计算得到的力和力矩,xt,yt,zt代表t时刻由步骤(4)计算得到的轴的位置状态,αttt代表t时刻由步骤(4)计算得到的轴的位姿状态,at代表t时刻深度强化学习网络输出的装配过程中采取的6维装配动作向量[Px,Py,Pz,Rx,Ry,Rz],Rt为时刻t所获得的经折扣后的未来收益之和,
Figure GDA0002407003110000111
其中i为完成一次装配任务过程中的第i次装配动作,γ为折扣因子,γ∈[0,1],rt(st,at)为时刻t获得的及时奖励,T为一次装配任务的结束时刻;
(6)定义一个奖励函数
Figure GDA0002407003110000112
将减小接触力和优化装配时间作为优化机器人多轴孔装配任务中优化的目标,其中ht是t时刻轴在孔中的插入深度,F(t)是t时刻获得的轴的受力状态,c是设定的计算系数用于控制F(t)对rt(st,at)的影响程度,取值为0.01,hT为装配完成时刻T的轴在孔中的完成插入深度,hmax是轴在孔中的要求插入深度,h0是装配初始时轴在孔中的初始插入深度,hT<hmax代表装配任务没有完成,此时奖励值是一个负的惩罚值-rpenalty,t<T表示在装配过程中的奖励值,hT=hmax代表装配任务能够完成,此时的奖励值是一个正向奖励rlarge
(7)利用贝尔曼方程,将上述步骤(5)中的策略值函数Qμ(st,atQ)改写为:
Figure GDA0002407003110000113
其中,μ(st+1)即为深度强化学习网络在st+1状态下输出的轴的装配动作;
(8)利用上述步骤(7)的策略值函数Qμ(st,atQ),定义一个损失函数:
L(θQ)=E[(Qμ(st,atQ)-Nt)2],
其中,Nt代表深度强化学习网络中评估网络要达到的目标策略值函数,Nt=r(st,at)+γQμ(st+1,μ(st+1)),E代表计算括号里的期望即平均值通用符号;
利用公式
Figure GDA0002407003110000121
求解损失函数L(θQ)对网络参数θQ的梯度
Figure GDA0002407003110000122
利用公式
Figure GDA0002407003110000123
更新深度强化学习网络中评估网络的网络参数θQ,其中η为根据训练的数据量和网络的复杂度选择的远远小于1的学习率;η<<1(远远小于1)的学习率保证了决策网络和评估网络在训练过程中能够不断收敛;
(9)利用上述步骤(7)的策略值函数值Qμ(st,atQ),采用链式求导方式,得到深度强化学习网络中决策网络输出的装配动作μ(s|θμ)对网络参数θμ的策略梯度
Figure GDA0002407003110000124
Figure GDA0002407003110000125
策略梯度
Figure GDA0002407003110000126
利用公式
Figure GDA0002407003110000127
更新深度强化学习中的策略网络的网络参数θμ,其中η为与步骤(8)相同的学习率;
(10)向控制原理如图7所示的模糊力控制方法中输入由步骤(4)计算得到的t时刻轴的状态st,输出得到在状态st时的装配动作at
根据步骤(6)中奖励函数的计算方式,得到在状态st时采取装配动作at获得的奖励函数rt
将上述步骤(4)计算得到t+1时刻轴受到的合力Fx(t+1),Fy(t+1),Fz(t+1)和合力矩Mx(t+1),My(t+1),Mz(t+1)以及轴的位置位姿xt+1,yt+1,zt+1t+1t+1t+1,作为t+1时刻的轴的状态st+1,将上述数据st,at,rt,st+1记为专家数据;
(11)向深度强化学习网络的决策网络中输入上述步骤(4)计算得到的t时刻轴的状态st,输出得到在状态st时的装配动作
Figure GDA0002407003110000128
根据步骤(6)中奖励函数公式,计算得到状态st时采用装配动作
Figure GDA0002407003110000129
的奖励函数
Figure GDA00024070031100001210
根据上述步骤(4)计算得到t+1时刻轴受到的合力
Figure GDA0002407003110000131
和合力矩
Figure GDA0002407003110000132
以及轴的位置位姿
Figure GDA0002407003110000133
作为t+1时刻的轴的状态
Figure GDA0002407003110000134
将上述数据st,
Figure GDA0002407003110000135
记为经验数据;
(12)将上述步骤(10)的专家数据st,at,rt,st+1和步骤(11)的经验数据st,
Figure GDA0002407003110000136
一起添加到如图7所示的经验数据集中,
随着基于深度强化学习网络输出的装配动作不断得到改善,逐步减小模糊力控制方法产生的专家经验数据在经验数据集中的比例,增加深度强化学习网络中决策网络利用探索策略产生的优于模糊力控制方法的装配动作,探索策略选择随机数产生(OU)过程;
(13)从上述步骤(12)的经验数据集中随机提取根据经验数据集容量大小设定数目的经验数据,利用上述步骤(8)对深度强化学习中的评估网络的网络参数θQ进行更新,利用上述步骤(9)对深度强化学习中的评估网络的网络参数θμ进行更新;
(14)重复上述步骤(5)-步骤(11)的训练过程,经过设定的万次以上重复后,对深度强化学习网络的网络参数θQ和θμ进行训练更新,将得到的深度强化学习网络用于实际装配过程,若装配过程中在完成时刻T时轴在孔中的完成插入深度hT小于要求插入深度hmax,则增大设定的训练次数,并减小学习率,重复上述步骤(5)-(11)的训练过程,若在完成时刻T轴在孔中的完成插入深度hT等于要求插入深度hmax,则结束训练,并将具有经过训练更新之后的深度强化学习网络用于实际多轴孔装配过程中输出装配动作,将产生的装配动作生成用于控制机器人的控制指令,完成多轴孔装配任务。

Claims (1)

1.一种利用深度强化学习实现机器人多轴孔装配的方法,其特征在于该方法包括建立仿真模型,利用建立的仿真模型生成经验数据集,以及利用经验数据集中的数据对深度强化学习网络进行训练,完成机器人的装配任务,其中仿真模型的建立包括以下步骤:
(1)在待装配轴部件上建立轴三维坐标系X-Y-Z,三维坐标系X-Y-Z的坐标原点O位于待装配轴上表面两轴圆心连线的中点,Z轴正向沿轴的轴线向下,X轴正向是沿左边轴的圆心指向右边,由右手螺旋定则得到Y轴正向;在待装配孔部件上建立孔坐标系X'-Y'-Z',孔坐标系X'-Y'-Z'的坐标原点O'位于待装配孔底座上表面两孔圆心连线的中点,Z'轴的正向沿轴线方向向上,X'轴正向与X轴的正向相同,根据右手螺旋定则其Y'与Y轴正向是相反的;
(2)当待装配轴插入待装配孔中时,形成上接触点和下接触点,记上接触点所在的轴截面向轴坐标系的Z轴方向的投影为上接触面,将下接触点所在的轴截面向孔坐标系的Z'轴方向的投影为下接触面;
分别利用以下公式,计算上接触点在X-Y平面内变形量Δ2xy和上接触点在Z方向的变形量Δ2z
Figure FDA0002420046720000011
Δ2z=Δ2xy·sinθ,
其中,Rp代表待装配轴的半径,x2和y2为上接触点在轴坐标系中的坐标,角度θ为每根轴的轴线与配合的孔轴线之间的夹角;
设下接触点处Z'方向的变形量为零,利用下式,计算下接触点在X'-Y'平面内的变形量Δ1xy
Figure FDA0002420046720000012
其中,x1和y1为下接触点在孔坐标系中的坐标,Rp代表待装配轴的半径;
(3)根据上述步骤(2)计算得到的变形量,利用下式计算得到下接触点处在X'-Y'平面内的接触压力FN1xy
FN1xy=kΔ1xy
其中,k为从材料词典中查得的待装配孔材料的弹性变形系数,
根据下接触点在孔坐标系中位置坐标(x1,y1),利用下式得到接触点在X'-Y'平面内的接触压力FN1xy 在X'向和Y'向的分力F1x和F1y
Figure FDA0002420046720000021
利用公式F1z=F1f=μFN1xy得到下接触点处Z'方向摩擦力F1f,μ为轴孔材料之间的摩擦系数;利用以下公式,计算上接触点处X-Y平面的接触压力FN2xy、Z向接触压力FN2z以及摩擦力F2f
Figure FDA0002420046720000022
利用以下公式,对上接触点的接触压力FN2xy在X-Y平面内进行分解得到FN2xy在X向和Y向的分力F2x和F2y,将Z向所有受力进行合并得到合力F2z
Figure FDA0002420046720000023
(4)遍历每对轴孔,重复上述步骤(2)和(3)计算出每根轴和孔上下两个接触点在轴坐标系X、Y和Z三个方向的分力,利用公式
Figure FDA0002420046720000024
将所有接触点的力进行合并,计算出待装配轴在轴坐标系原点所受的到合力F,式中的Fjx,Fjy和Fjz为第j个接触点处待装配轴受到的三个方向的分力;
利用公式
Figure FDA0002420046720000031
求出待装配轴所受到的合力矩M,其中的rj和Fj分别代表第j个接触点在轴坐标系中的坐标矢量和所受到的合力;
将轴的坐标原点在孔坐标系X'-Y'-Z'中的坐标x,y,z作为轴的当前位置状态,利用式
Figure FDA0002420046720000032
计算得到轴在孔坐标系X'-Y'-Z'中的位姿状态α,β,γ,其中
Figure FDA0002420046720000033
Figure FDA0002420046720000034
代表轴坐标系与孔坐标系所有坐标轴的方向向量;
其中,利用经验数据集中的数据对深度强化学习网络进行训练,完成机器人的装配任务的步骤如下:
(5)根据上述步骤(4)建立的仿真模型计算得到的合力和合力矩以及轴的位置位姿状态,利用策略值函数Qμ(st,atQ)=E[Rt|st,at],计算得到机器人装配过程中,在t时刻采取装配动作at时的预期评估值Qμ(st,atQ),
其中,st代表t时刻深度强化学习网络输入的轴的12维状态向量[Fxt,Fyt,Fzt,Mxt,Myt,Mzt,xt,yt,ztttt],12维状态向量中的[Fxt,Fyt,Fzt,Mxt,Myt,Mzt]代表t时刻从上述步骤(4)建立的仿真模型计算得到的力和力矩,xt,yt,zt代表t时刻由步骤(4)计算得到的轴的位置状态,αttt代表t时刻由步骤(4)计算得到的轴的位姿状态,at代表t时刻深度强化学习网络输出的装配过程中采取的6维装配动作向量[Px,Py,Pz,Rx,Ry,Rz],Rt为时刻t所获得的经折扣后的未来收益之和,
Figure FDA0002420046720000035
其中i为完成一次装配任务过程中的第i次装配动作,γ为折扣因子,γ∈[0,1],rt(st,at)为时刻t获得的及时奖励,T为一次装配任务的结束时刻;
(6)定义一个奖励函数
Figure FDA0002420046720000041
将减小接触力和优化装配时间作为优化机器人多轴孔装配任务中优化的目标,其中ht是t时刻轴在孔中的插入深度,F(t)是t时刻获得的轴的受力状态,c是设定的计算系数用于控制F(t)对rt(st,at)的影响程度,取值为0.01,hT为装配完成时刻T的轴在孔中的完成插入深度,hmax是轴在孔中的要求插入深度,h0是装配初始时轴在孔中的初始插入深度,hT<hmax代表装配任务没有完成,此时奖励值是一个负的惩罚值-rpenalty,t<T表示在装配过程中的奖励值,hT=hmax代表装配任务能够完成,此时的奖励值是一个正向奖励rLarge
(7)利用贝尔曼方程,将上述步骤(5)中的策略值函数Qμ(st,atQ)改写为:
Qμ(st,atQ)=Est+1~E[rt(st,at)+γQμ(st+1,μ(st+1))],
其中,μ(st+1)即为深度强化学习网络在st+1状态下输出的轴的装配动作;
(8)利用上述步骤(7)的策略值函数Qμ(st,atQ),定义一个损失函数:
L(θQ)=E[(Qμ(st,atQ)-Nt)2],
其中,Nt代表深度强化学习网络中评估网络要达到的目标策略值函数,Nt=r(st,at)+γQμ(st+1,μ(st+1)),E代表计算括号里的期望即平均值通用符号;
利用公式
Figure FDA0002420046720000042
求解损失函数L(θQ)对网络参数θQ的梯度
Figure FDA0002420046720000043
利用公式
Figure FDA0002420046720000044
更新深度强化学习网络中评估网络的网络参数θQ,其中η为根据训练的数据量和网络的复杂度选择的远远小于1的学习率;
(9)利用上述步骤(7)的策略值函数值Qμ(st,atQ),采用链式求导方式,得到深度强化学习网络中决策网络输出的装配动作μ(s|θμ)对网络参数θμ的策略梯度
Figure FDA0002420046720000045
Figure FDA0002420046720000046
策略梯度
Figure FDA0002420046720000051
利用公式
Figure FDA0002420046720000052
更新深度强化学习中的策略网络的网络参数θμ,其中η为与步骤(8)相同的学习率;
(10)向模糊力控制方法中输入由步骤(4)计算得到的t时刻轴的状态st,输出得到在状态st时的装配动作at
根据步骤(6)中奖励函数的计算方式,得到在状态st时采取装配动作at获得的奖励函数rt
将上述步骤(4)计算得到t+1时刻轴受到的合力Fx(t+1),Fy(t+1),Fz(t+1)和合力矩Mx(t+1),My(t+1),Mz(t+1)以及轴的位置位姿xt+1,yt+1,zt+1t+1t+1t+1,作为t+1时刻的轴的状态st+1,将上述数据st,at,rt,st+1记为专家数据;
(11)向深度强化学习网络的决策网络中输入上述步骤(4)计算得到的t时刻轴的状态st,输出得到在状态st时的装配动作
Figure FDA0002420046720000053
根据步骤(6)中奖励函数公式,计算得到状态st时采用装配动作
Figure FDA0002420046720000054
的奖励函数
Figure FDA0002420046720000055
根据上述步骤(4)计算得到t+1时刻轴受到的合力
Figure FDA0002420046720000056
和合力矩
Figure FDA0002420046720000057
以及轴的位置位姿
Figure FDA0002420046720000058
作为t+1时刻的轴的状态
Figure FDA0002420046720000059
将上述数据st,
Figure FDA00024200467200000510
记为经验数据;
(12)将上述步骤(10)的专家数据st,at,rt,st+1和步骤(11)的经验数据st,
Figure FDA00024200467200000511
一起添加到经验数据集中,
(13)从上述步骤(12)的经验数据集中随机提取根据经验数据集容量大小设定数目的经验数据,利用上述步骤(8)对深度强化学习中的评估网络的网络参数θQ进行更新,利用上述步骤(9)对深度强化学习中的评估网络的网络参数θμ进行更新;
(14)重复上述步骤(5)-步骤(11)的训练过程,经过设定的万次以上重复后,对深度强化学习网络的网络参数θQ和θμ进行训练更新,将得到的深度强化学习网络用于实际装配过程,若装配过程中在完成时刻T时轴在孔中的完成插入深度hT小于要求插入深度hmax,则增大设定的训练次数,并减小学习率,重复上述步骤(5)-(11)的训练过程,若在完成时刻T轴在孔中的完成插入深度hT等于要求插入深度hmax,则结束训练,并将具有经过训练更新之后的深度强化学习网络用于实际多轴孔装配过程中输出装配动作,将产生的装配动作生成用于控制机器人的控制指令,完成多轴孔装配任务。
CN201711420089.7A 2017-12-25 2017-12-25 一种利用深度强化学习实现机器人多轴孔装配的方法 Active CN108161934B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711420089.7A CN108161934B (zh) 2017-12-25 2017-12-25 一种利用深度强化学习实现机器人多轴孔装配的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711420089.7A CN108161934B (zh) 2017-12-25 2017-12-25 一种利用深度强化学习实现机器人多轴孔装配的方法

Publications (2)

Publication Number Publication Date
CN108161934A CN108161934A (zh) 2018-06-15
CN108161934B true CN108161934B (zh) 2020-06-09

Family

ID=62520173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711420089.7A Active CN108161934B (zh) 2017-12-25 2017-12-25 一种利用深度强化学习实现机器人多轴孔装配的方法

Country Status (1)

Country Link
CN (1) CN108161934B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242098A (zh) * 2018-07-25 2019-01-18 深圳先进技术研究院 限定代价下神经网络结构搜索方法及相关产品
CN109543823B (zh) * 2018-11-30 2020-09-25 山东大学 一种基于多模信息描述的柔性装配系统及方法
CN109960259B (zh) * 2019-02-15 2021-09-24 青岛大学 一种基于梯度势的多智能体强化学习的无人导引车路径规划方法
CN111752231A (zh) * 2019-03-28 2020-10-09 华南理工大学 基于自适应力和姿态控制的自动化端子装配方法
CN110238839B (zh) * 2019-04-11 2020-10-20 清华大学 一种利用环境预测优化非模型机器人多轴孔装配控制方法
CN110238840B (zh) * 2019-04-24 2021-01-29 中山大学 一种基于视觉的机械臂自主抓取方法
CN110195660B (zh) * 2019-06-19 2020-04-21 南京航空航天大学 基于深度q学习的航空发动机控制装置
CN110328668B (zh) * 2019-07-27 2022-03-22 南京理工大学 基于速度平滑确定性策略梯度的机械臂路径规划方法
CN110394804B (zh) * 2019-08-26 2022-08-12 山东大学 一种基于分层线程框架的机器人控制方法、控制器及系统
CN110666793B (zh) * 2019-09-11 2020-11-03 大连理工大学 基于深度强化学习实现机器人方形零件装配的方法
CN111444954A (zh) * 2020-03-24 2020-07-24 广东省智能制造研究所 一种基于多模态感知与学习的机器人自主装配方法
CN111552183B (zh) * 2020-05-17 2021-04-23 南京大学 一种基于自适应权重强化学习的六足机器人避障方法
CN112223303B (zh) * 2020-08-27 2022-02-01 西安交通大学 基于平面表面摩擦的机器人自动轴孔轴线对齐方法及系统
CN112247898B (zh) * 2020-09-18 2022-04-08 浙江工业大学 一种基于挠度分析的机器人非刚体装配方法
CN112264995B (zh) * 2020-10-16 2021-11-16 清华大学 一种基于层级强化学习的机器人双轴孔装配方法
CN112518742B (zh) * 2020-11-16 2022-01-25 清华大学深圳国际研究生院 基于动态模型与事后经验回放的多目标机器人控制方法
CN112965372B (zh) * 2021-02-01 2022-04-01 中国科学院自动化研究所 基于强化学习的微零件精密装配方法、装置和系统
CN113134839B (zh) * 2021-04-26 2022-06-10 湘潭大学 一种基于视觉和力位图像学习的机器人精密柔性装配方法
CN114800493B8 (zh) * 2022-04-06 2023-11-14 无锡瑞吉德机械有限公司 基于强化学习的钻孔力矩稳定性控制系统及方法
CN115338610B (zh) * 2022-07-04 2024-02-13 中国科学院自动化研究所 双轴孔装配方法、装置、电子设备和存储介质
CN117140485A (zh) * 2023-09-21 2023-12-01 苏州诺克汽车工程装备有限公司 一种基于数字孪生的协作机器人示教装配方法与系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106112505A (zh) * 2016-07-04 2016-11-16 清华大学 双轴孔装配系统及其控制方法
CN106584090A (zh) * 2016-12-26 2017-04-26 清华大学 基于结构光三维测量系统的工件装配方法
CN106842925A (zh) * 2017-01-20 2017-06-13 清华大学 一种基于深度强化学习的机车智能操纵方法与系统
CN107065881A (zh) * 2017-05-17 2017-08-18 清华大学 一种基于深度强化学习的机器人全局路径规划方法
WO2017156243A1 (en) * 2016-03-11 2017-09-14 Siemens Aktiengesellschaft Deep-learning based feature mining for 2.5d sensing image search
CN107450555A (zh) * 2017-08-30 2017-12-08 唐开强 一种基于深度强化学习的六足机器人实时步态规划方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017156243A1 (en) * 2016-03-11 2017-09-14 Siemens Aktiengesellschaft Deep-learning based feature mining for 2.5d sensing image search
CN106112505A (zh) * 2016-07-04 2016-11-16 清华大学 双轴孔装配系统及其控制方法
CN106584090A (zh) * 2016-12-26 2017-04-26 清华大学 基于结构光三维测量系统的工件装配方法
CN106842925A (zh) * 2017-01-20 2017-06-13 清华大学 一种基于深度强化学习的机车智能操纵方法与系统
CN107065881A (zh) * 2017-05-17 2017-08-18 清华大学 一种基于深度强化学习的机器人全局路径规划方法
CN107450555A (zh) * 2017-08-30 2017-12-08 唐开强 一种基于深度强化学习的六足机器人实时步态规划方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Deep reinforcement learning for high precision assembly tasks;Tadanobu Inoue等;《2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)》;20171214;819-825 *

Also Published As

Publication number Publication date
CN108161934A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108161934B (zh) 一种利用深度强化学习实现机器人多轴孔装配的方法
Zhang et al. Deep interactive reinforcement learning for path following of autonomous underwater vehicle
CN110238839B (zh) 一种利用环境预测优化非模型机器人多轴孔装配控制方法
Leottau et al. Decentralized reinforcement learning of robot behaviors
CN109901403A (zh) 一种自主水下机器人神经网络s面控制方法
JP2018086711A (ja) レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
CN110936382B (zh) 一种数据驱动的工业机器人能耗优化方法
Mehr et al. Maximum-entropy multi-agent dynamic games: Forward and inverse solutions
CN113821045B (zh) 一种腿足机器人强化学习动作生成系统
CN113510704A (zh) 一种基于强化学习算法的工业机械臂运动规划方法
CN111752151A (zh) 一种工业叶片磨抛加工自适应力跟踪与补偿方法及系统
CN113093526B (zh) 一种基于强化学习的无超调pid控制器参数整定方法
CN112847235B (zh) 基于深度强化学习的机器人分阶力引导装配方法及系统
Rastogi et al. Sample-efficient reinforcement learning via difference models
CN116587275A (zh) 基于深度强化学习的机械臂智能阻抗控制方法及系统
CN116604532A (zh) 一种上肢康复机器人智能控制方法
Langsfeld Learning task models for robotic manipulation of nonrigid objects
CN117103282A (zh) 一种基于matd3算法的双臂机器人协同运动控制方法
Khadivar et al. Adaptive fingers coordination for robust grasp and in-hand manipulation under disturbances and unknown dynamics
Hou et al. A hierarchical compliance-based contextual policy search for robotic manipulation tasks with multiple objectives
CN111546035B (zh) 一种基于学习与预测的齿轮在线快速装配方法
CN114952791A (zh) 肌肉骨骼机器人控制方法及装置
Gai et al. Model-driven reinforcement learning and action dimension extension method for efficient asymmetric assembly
Boloka et al. Knowledge transfer using model-based deep reinforcement learning
Xing et al. A brain-inspired approach for probabilistic estimation and efficient planning in precision physical interaction

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