CN115366099B - 基于正向运动学的机械臂深度确定性策略梯度训练方法 - Google Patents
基于正向运动学的机械臂深度确定性策略梯度训练方法 Download PDFInfo
- Publication number
- CN115366099B CN115366099B CN202210995615.7A CN202210995615A CN115366099B CN 115366099 B CN115366099 B CN 115366099B CN 202210995615 A CN202210995615 A CN 202210995615A CN 115366099 B CN115366099 B CN 115366099B
- Authority
- CN
- China
- Prior art keywords
- transition
- actor
- max
- mechanical arm
- training
- 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 35
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 230000007704 transition Effects 0.000 claims description 75
- 230000009471 action Effects 0.000 claims description 64
- 239000003795 chemical substances by application Substances 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 20
- 239000012636 effector Substances 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 13
- 238000004088 simulation Methods 0.000 claims description 10
- 238000009795 derivation Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 2
- 230000002787 reinforcement Effects 0.000 abstract description 13
- 230000007547 defect Effects 0.000 abstract 1
- 230000007613 environmental effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
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
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于正向运动学的机械臂深度确定性策略梯度训练方法,通过在所建立机械臂正向运动学模型中动态规划,减少了智能体与环境交互的次数,克服了无模型强化学习需要消耗大量时间和资源不断与环境交互的缺点,除此之外本发明还使经验池中的数据更具更新价值。本发明缩短了网络收敛的时间,完成任务的成功率较传统深度确定性策略梯度算法有显著的提升。
Description
技术领域
本发明涉及人工智能与机器人领域的强化学习算法,尤其涉及一种基于正向运动学的机械臂深度确定性策略梯度训练方法。
背景技术
强化学习是机器学习领域的一种范式,近年来引起了学者的很大研究兴趣。然而,强化学习在现实世界中的应用非常稀缺且具有挑战性,机器人领域使研究人员能够相对容易的定义训练环境,因此强化学习在该领域上获得了很多成功的应用。
强化学习又分为基于模型的强化学习和无模型的强化学习。基于模型的强化学习是指智能体已知环境模型,然后智能体与这个环境模型进行交互并学习策略;无模型的强化学习是指智能体事先不知道环境模型仅根据与环境交互来直接学习策略。无模型强化学习虽然不用已知环境模型,但需要从环境中采样(sample)数据用以更新网络,此过程需要消耗大量时间和资源导致了样本效率很低;而基于模型的强化学习,有效的解决了样本效率低下的问题,但面临着当环境模型很复杂的时候,所建立的模型不准确,导致训练完成后的策略无法适用于真实环境中。
在现有的结合深度确定性策略梯度方法的一些技术,他们都是利用智能体与环境交互所产生的数据训练actor与critic模块。对于CN202010202667.5、CN202010646146.9和CN201910049650.8都是利用无模型的ddpg算法训练智能体完成机械臂控制任务,智能体需要花费大量的时间和资源去探索,这就导致了样本效率低下,训练好一个网络模型需要经过很长的时间。
发明内容
发明目的:本发明旨在提供一种减少智能体与环境交互的次数并提高样本效率的基于正向运动学的机械臂深度确定性策略梯度训练方法。
技术方案:本发明所述的基于正向运动学的机械臂深度确定性策略梯度训练方法,包括以下步骤:
S1.搭建仿真环境中的机械臂训练环境,确定每回合训练步数T和训练回合数M;
S2.根据机械臂类型建立机械臂正向运动学模型:
输入机械臂j个关节角度为(θ1,θ2…θj)得到末端执行器位姿P=f(θ1,θ2…θj);
S3.建立actor模块和critic模块;建立一个经验池,每次智能体与环境交互产生的经验称为一个transition(s,a,r,s′)并将此次transition存入经验池,其中,s为当前状态,a为当前动作由机械臂j个关节角度表示a=(θ1,θ2…θj),s′为下一状态,r为观察s′后根据奖惩函数R得到的奖励值;
S4.达到训练步数T后从经验池中抽取经验更新actor和critic模块,进行动态规划:
从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),并向transition0中的a0添加n次噪声,生成n个不同的动作a1,a2...an,此后将a0,a1,a2...an分别输入f(θ1,θ2…θj),得到transitionk(sk,ak,rk,s′k),k=0,1,2...n,将最大奖励值rk所在的transitionk记为transitionmax(smax,amax,rmax,s′max),并将transitionmax替换经验池中transitiono,之后将transitionmax中的s′max作为动态规划中一回合的初始状态输入actor网络,将actor网络输出的动作再输入f(θ1,θ2…θj),得到此动作之后的transition,并存储在经验池中;重复此过程直至达到每回合训练步数T,从经验池中抽取经验再次更新actor和critic模块;
S5.重复步骤S4,直到达到训练回合数M。
进一步地,所述步骤S1包括以下步骤:
S11.使用开源仿真平台搭建实验环境,确定物理引擎,将用于完成任务的机械臂导入此仿真平台搭建的实验环境中;
S12.设定机械臂的控制任务;根据机械臂的控制任务设计奖惩函数R;每回合训练步数T是指每回合智能体与环境交互的次数;训练回合数M和训练步数T由实际训练效果决定;
S13.定义机械臂控制任务的动作空间和状态空间;动作空间A中动作a为机械臂的j个关节角度记为a=(θ1,θ2…θj);关节的角度范围l=1,2...j,/>为关节最小角度,/>为关节最大角度;状态空间S中状态s由末端执行器位姿p(x,y,z,α,β,γ)和步骤S12所设定的机械臂控制任务决定,记为s=(p,sd),其中(x,y,z)为末端执行器位置,(α,β,γ)为末端执行器姿态,sd为状态s中不包括末端执行器位姿p的部分。
进一步地,所述步骤S3包括以下步骤:
S31.建立智能体的actor模块,将状态s输入actor模块,actor模块输出智能体的下一步动作a;
S32.建立智能体的critic模块,将状态s和动作a作为critic模块的输入,critic模块输出一个评价该次动作a的值Q(s,a);
S33.为了使训练稳定,当前actor网络和critic网络更新后,目标actor网络和critic网络才会开始更新。
进一步地,所述步骤S4包括以下步骤:
S41.智能体与环境交互达到每回合训练步数T后,从经验池中抽取经验更新actor与critic模块后,进行动态规划;
S42.critic模块包含了两个结构完全相同的网络模型:当前critic网络Q(s,a|θQ)和目标critic网络Q′(s,a|θQ′);actor模块包含了两个结构完全相同的网络模型:当前actor网络μ(s|θμ)和目标actor网络μ′(s|θμ′);其中θQ和θQ′分别为Q和Q′的参数,θμ和θμ′分别为μ和μ′参数,Q和Q′的输入为状态s和动作a,输出为评价该次动作a的值,μ和μ′的输入为状态s,输出为智能体的下一步动作;
S43.采用TD-error方式,对参数θQ的更新,损失函数L为:
其中,i=1,2...N,N为批量抽取经验的数目,Yi=Ri+Q′(Si+1,μ′(Si+1|θμ′)|θQ′),Yi为损失函数L中的目标值;从经验池中抽取的transition(s,a,r,s′)和transitionm(sm,am,rm,s′m),Si为状态s和sm组成的集合,Ai为动作a和am组成的集合,Ri为奖励值r和rm组成的集合,Si+1为状态s′和s′m组成的集合;
求得损失函数L针对θQ的梯度对其进行梯度下降,得到更新后的θQ;
μ的网络参数θμ的更新,遵循确定性策略,其梯度下降公式为:
其中,a=μ(Si|θμ),表示对a求导,/>表示对θμ求导;
Q′和μ′采用软更新方式:
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′
其中,τ为平衡因子;
S44.利用步骤S43的公式更新actor和critic模块,如果样本数量达到经验池的最大样本数量,则用最新的样本替换旧的样本。
进一步地,所述步骤S41包括以下步骤:
S41a.从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),所述未完成任务的transition0是指智能体执行a0并没有完成任务;
S41b.向a0添加n次噪声εi,生成新的探索性动作ai=a0+εi,i=1,2...n,εi是指向a0中添加服从高斯分布或OU分布的噪声,从而形成新的动作i=1,2...n,关节的角度如下:
S41c.将ai分别输入f(θ1,θ2…θj),得到这些动作之后的末端执行器位姿Pk和transitionk(s0,ak,rk,s′k),k=0,1,2...n;中/>由/>确定;若Pk超出机械臂控制任务的工作空间,则剔除此transitionk;
S41d.将最大rk所在的transitionk记为transitionmax(smax,amax,rmax,s′max),并将transitionmax替换经验池中transition0,此过程使经验池中的经验更具更新网络的价值;
S41e.将transitionmax中的s′max作为动态规划中一回合的初始状态输入actor网络,将actor网络输出的动作再输入f(θ1,θ2…θj),得到此动作之后的transition,并存储在经验池中;重复此过程直至达到每回合训练步数T,从经验池中抽取经验再次更新actor和critic模块,动态规划过程中的transition记为transitionm(sm,am,rm,s′m)。
有益效果:本发明与现有技术相比,其显著优点是:1、本发明通过在机械臂正向运动学模型中使用动态规划,减少了智能体与环境交互的次数,解决了无模型强化学习需要消耗大量时间和资源不断与环境交互的问题,提高了样本效率;2、本发明缩短了网络收敛的时间,提升了完成任务的成功率。
附图说明
图1为实施例中所用的机械臂的结构示意图;
图2为本发明的训练方法数据流程图;
图3为本发明的训练方法训练流程图;
图4为动态规划流程图;
图5为本发明的训练方法的收敛曲线图;
图6为传统ddpg的收敛曲线图。
具体实施方式
下面结合附图对本发明作进一步说明。
一种基于正向运动学的机械臂深度确定性策略梯度训练方法包括以下步骤:
S1.搭建仿真环境中的机械臂训练环境;定义交互物体与机械臂类型、机械臂控制任务的最终目标;设计智能体一次动作之后的奖惩函数;明确动作空间A和状态空间S;确定训练的回合数M=46350和智能体每回合的训练步数T=16。
其具体步骤包括:
S11.用开源仿真平台V-rep搭建实验环境,使用物理引擎为ODE,将用于完成任务的机械臂导入此仿真平台搭建的实验环境中,如图1所示。所示机械臂关节为4,其中关节1为绕世界坐标系Z轴旋转的旋转关节,关节2、3、4均为旋转关节,将末端执行器视为固定关节5。
S12.设定机械臂的控制任务为到达任务,任务描述为在一高度的水平面上随机位置放置物块,智能体需要控制机械臂到达物块的位置;奖惩函数设计如下:
R=R1+R2+R3
其中,R1定义了一个与机械臂末端位置坐标(xe,ye,ze)和物块笛卡尔坐标(xg,yg,zg)之间距离成负相关的回报值;R2定义了一个方向奖励函数,并且R2是R1的泛化版本,d表示当前机械臂末端与物体的距离,d′表示上一步时机械臂末端与物体的距离,R2表示了机械臂末端若比起上一步更接近物体,则可获得1的奖励值,反之则得到0的奖励值,R3表示了当前机械臂末端与物体的距离若大于0.01m则得到0的奖励值,若小于0.01m则视为任务完成并得到10的奖励值。总奖励值R为R1、R2、R3之和。
S13.动作空间A中动作a为机械臂的4个关节角度记为a=(θ1,θ2,θ3,θ4),关节角度的范围均为[-90°,90°];状态空间S中s为:
s=(θ1,θ2,θ3,θ4,xe,ye,ze,xr,yr,zr,xg,yg,zg)
其中,(xe,ye,ze)为末端执行器位置p、(xr,yr,zr)为物块与末端执行器的相对位置、(xg,yg,zg)为物块的位置。
S14.所述的仿真平台V-rep构建的智能体的动作、状态空间与奖励函数共同构建了智能体与环境交互的规则。
S2.根据机械臂类型建立机械臂正向运动学模型。
所述机械臂是串联机械臂如图3所示,根据该机械臂D-H参数(如表1所示)建立该机械臂正向运动学模型。即输入机械臂4个关节角度(θ1,θ2,θ3,θ4)得到末端执行器位置P=f(θ1,θ2,θ3,θ4)。
表1
l | αi-1(°) | ai-1(m) | di(m) | θi(°) |
1 | 0 | 0 | 0.0445 | θ1 |
2 | 90 | 0.0025 | 0 | θ2 |
3 | 0 | 0.081 | 0 | θ3 |
4 | 0 | 0.0775 | 0 | θ4 |
5 | 0 | 0.126 | 0 | 0 |
S3.建立actor模块和critic模块;建立一个经验池存储智能体与环境交互产生的经验,每次与环境交互产生的经验称为一个transition(s,a,r,s′)并将此次transition存入经验池,具体包括:当前状态s,当前动作a,下一状态s′和观察s′后根据R得到的奖励值r。
S31.建立包括当前actor网络和目标actor网络的actor模块,actor模块由4层全连接神经网络组成,每一层的神经元个数均为256,每层全连接层后面使用ReLU层作为激活函数,actor模块的输出层采用tanh激活函数使得输出值均在区间[-1,1]内,即机械臂的各个关节角度在每一步最多在某一方向上只能转动1°,若需要较大的转动角度,可以将策略网络的输出按比例放大。在进行实际角度控制时,本实施例乘以一个比例系数90,即每个关节在进行转动时的角度范围为[-90°,90°]。将状态s输入actor模块,actor模块输出智能体的下一步动作a。
S32.建立包括当前critic网络和目标critic网络的critic模块,critic模块由4层全连接神经网络组成,每一层的神经元个数均为256,每层全连接层后面使用ReLU层作为激活函数。将状态s和动作a作为critic模块的输入,critic模块输出一个评价该次动作a的值Q(s,a)。
S33.为了使训练稳定,在当前actor网络和当前critic网络更新后,目标actor网络和目标critic网络才会开始更新。
S4.将智能体与环境交互的经验存入经验池,达到每回合训练步数T后从经验池中抽取经验更新actor和critic模块,之后进行动态规划:从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),并向a0添加10次噪声,每次噪声形成一个新的动作,生成10个不同的新的探索性动作(a1,a2...a10),此后将(a1,a2...a10)动作分别输入f(θ1,θ2,θ3,θ4),得到transitionk(sk,ak,rk,s′k),k=0,1,2...10,将最大rk所在的transitionk记为transitionmax(smax,amax,rmax,s′max),并将transitionmax替换经验池中transitiono,之后将transitionmax中的s′max作为动态规划中一回合的初始状态输入actor网络,将actor网络输出的动作再输入f(θ1,θ2,θ3,θ4),得到此动作之后的transition,并存储在经验池中;重复此过程直至达到每回合训练步数T,从经验池中抽取经验再次更新actor和critic模块。
如图2、图3所示S4具体步骤包括:
S41.智能体与环境交互达到每回合训练步数T后从经验池中抽取经验更新actor与critic模块。之后进行动态规划:
如图4所示动态规划具体步骤包括:
S41a.从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),所述未完成任务的transition0是指智能体执行a0末端执行器并没有到达物块位置。
S41b.向a0添加10次噪声,生成新的探索性动作ai=a0+εi,i=1,2...10,所述εi是指为了让智能体探索到更好的动作而向a0中添加服从某种概率分布的噪声,从而形成新的动作;本实施例εi服从OU分布。添加εi后的i=1,2...10,关节角度/>如下所示:
S41c.此后将ai分别输入f(θ1,θ2,θ3,θ4),得到这些动作之后的末端执行器位置Pk和transitionk(s0,ak,rk,s′k),k=0,1,2...10。所述中/>由/>和具体机械臂控制任务确定。
其中,为动作ak;/>为Pk;由于本机械臂控制任务为到达任务,智能体执行动作ak后并不改变物块的位置,故/>为s0中物块的位置为物块与Pk的相对位置。若Pk超出本实施例机械臂到达任务的工作空间,则剔除此transitionk。
S41d.将最大rk所在的transitionk记为transitionmax(smax,amax,rmax,s′max),并将transitionmax替换经验池中transition0。此过程使经验池中的经验更具更新网络的价值。
S41e.之后将transitinmax中的s′max作为动态规划中一回合的初始状态输入actor网络,将actor网络输出的动作再输入f(θ1,θ2,θ3,θ4),得到此动作之后的transition,并存储在经验池中;重复此过程直至达到每回合训练步数T,从经验池中抽取经验再次更新actor和critic模块。动态规划过程中的transition记为transitionm(sm,am,rm,s′m)。
S42.critic模块包含了两个结构完全相同的网络模型:当前critic网络Q(s,a|θQ)和目标critic网络Q′(s,a|θQ′);actor模块包含了两个结构完全相同的网络模型:当前actor网络μ(s|θμ)和目标actor网络μ′(s|θμ′);其中θQ和θQ′分别为Q和Q′的参数,θμ和θμ′分别为μ和μ′参数,Q和Q′的输入为状态s和动作a,输出为评价该次动作a的值,μ和μ′的输入为状态s,输出为智能体的下一步动作。
S43.采用TD-error方式,对参数θQ的更新,损失函数L为:
其中,i=1,2...N,N为批量抽取经验的数目,本实施例取值为16,Yi=Ri+Q′(Si+1,μ′(Si+1|θμ′)|θQ′),Yi为损失函数L中的目标值;从经验池中抽取的transition(s,a,r,s′)和transitionm(sm,am,rm,s′m),Si为状态s和sm组成的集合,Ai为动作a和am组成的集合,Ri为奖励值r和rm组成的集合,Si+1为状态s′和s′m组成的集合;求得损失函数L针对θQ的梯度对其进行梯度下降,得到更新后的θQ;
μ的网络参数θμ的更新,遵循确定性策略,其梯度下降公式为:
其中,a=μ(Si|θμ),表示对a求导,/>表示对θμ求导;
Q′和μ′采用软更新方式:
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′
其中,τ为平衡因子,本实施例中取值为0.005。
S44.利用步骤S43的公式更新actor和critic模块,如果样本数量达到经验池的最大样本数量,则用最新的样本替换旧的样本;
S5.重复步骤S4,直到达到训练回合数M。
本发明的训练方法与传统ddpg的收敛曲线图如图5、图6所示,横坐标为训练的回合数,纵坐标为平均奖励,所述平均奖励是指当前所有回合的累计奖励除以当前回合数。从图6可以看出,传统ddpg在第26465回合时平均奖励值达到4左右,开始收敛,但达到最大训练回合M时平均奖励值仅为6左右,也未完成收敛,并且训练过程中很不稳定,在2369、11580、25230回合时出现平均奖励值下降的现象;从图5可以看出,本发明训练方法在5980回合时平均奖励值达到5左右,开始逐步收敛,并在30000回合以后完成收敛,平均奖励值稳定在9左右,并且训练稳定。由此可以看出本训练方法较传统ddpg收敛更快、训练更稳定。
本发明的训练方法与传统ddpg训练完成后完成任务成功率如表2所示。所述完成任务成功率是指:总计测试n次,每次测试随机初始化物块位置,在规定T=16个步长内到达物块位置的次数m除以n,如表2所示,总共测试100次,传统ddpg完成任务成功率为92%,本发明训练方法完成任务成功率为100%。由此可以看出本发明的训练方法完成任务的成功率较传统ddpg有显著的提升。
表2
Claims (3)
1.一种基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,包括以下步骤:
S1.搭建仿真环境中的机械臂训练环境,确定每回合训练步数T和训练回合数M;
S2.根据机械臂类型建立机械臂正向运动学模型:
输入机械臂j个关节角度为(θ1,θ2…θj)得到末端执行器位姿P=f(θ1,θ2…θj);
S3.建立actor模块和critic模块;建立一个经验池,每次智能体与环境交互产生的经验称为一个transition(s,a,r,s′)并将此次transition存入经验池,其中,s为当前状态,a为当前动作,由机械臂j个关节角度表示a=(θ1,θ2…θj),s′为下一状态,r为观察s′后根据奖惩函数R得到的奖励值;
S4.达到训练步数T后从经验池中抽取经验更新actor和critic模块,进行动态规划:
从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),并向transition0中的a0添加n次噪声,生成n个不同的动作a1,a2…an,此后将a0,a1,a2…an分别输入f(θ1,θ2…θj),得到transitionk(sk,ak,rk,s′k),k=0,1,2…n,将最大奖励值rk所在的transitionk记为transitionmax(smax,amax,rmax,s′max),并将transitionmax替换经验池中transitiono,之后将transitionmax中的s′max作为动态规划中一回合的初始状态输入actor网络,将actor网络输出的动作再输入f(θ1,θ2…θj),得到此动作之后的transition,并存储在经验池中;重复此过程直至达到每回合训练步数T,从经验池中抽取经验再次更新actor和critic模块;
S5.重复步骤S4,直到达到训练回合数M;
所述步骤S1包括以下步骤:
S11.使用开源仿真平台搭建实验环境,确定物理引擎,将用于完成任务的机械臂导入此仿真平台搭建的实验环境中;
S12.设定机械臂的控制任务;根据机械臂的控制任务设计奖惩函数R;每回合训练步数T是指每回合智能体与环境交互的次数;训练回合数M和训练步数T由实际训练效果决定;
S13.定义机械臂控制任务的动作空间和状态空间;动作空间A中动作a为机械臂的j个关节角度记为a=(θ1,θ2…θj);关节的角度范围l=1,2…j,/>为关节最小角度,/>为关节最大角度;状态空间S中状态s由末端执行器位姿p(x,y,z,α,β,γ)和步骤S12所设定的机械臂控制任务决定,记为s=(p,sd),其中(x,y,z)为末端执行器位置,(α,β,γ)为末端执行器姿态,sd为状态s中不包括末端执行器位姿p的部分;
所述步骤S4包括以下步骤:
S41.智能体与环境交互达到每回合训练步数T后,从经验池中抽取经验更新actor与critic模块后,进行动态规划;
所述步骤S41包括以下步骤:
S41a.从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),所述未完成任务的transition0是指智能体执行a0并没有完成任务;
S41b.向a0添加n次噪声εi,生成新的探索性动作ai=a0+εi,i=1,2…n,εi是指向a0中添加服从高斯分布或OU分布的噪声,从而形成新的动作 关节的角度如下:
S41c.将ai分别输入f(θ1,θ2…θj),得到这些动作之后的末端执行器位姿Pk和transitionk(s0,ak,rk,s′k),k=0,1,2…n;中/>由/>确定;若Pk超出机械臂控制任务的工作空间,则剔除此transitionk;
S41d.将最大rk所在的transitionk记为transitionmax(smax,amax,rmax,s′max),并将transitionmax替换经验池中transition0,此过程使经验池中的经验更具更新网络的价值;
S41e.将transitionmax中的s′max作为动态规划中一回合的初始状态输入actor网络,将actor网络输出的动作再输入f(θ1,θ2…θj),得到此动作之后的transition,并存储在经验池中;重复此过程直至达到每回合训练步数T,从经验池中抽取经验再次更新actor和critic模块,动态规划过程中的transition记为transitionm(sm,am,rm,s′m)。
2.根据权利要求1所述基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,所述步骤S3包括以下步骤:
S31.建立智能体的actor模块,将状态s输入actor模块,actor模块输出智能体的下一步动作a;
S32.建立智能体的critic模块,将状态s和动作a作为critic模块的输入,critic模块输出一个评价该次动作a的值Q(s,a);
S33.当前actor网络和critic网络更新后,目标actor网络和critic网络才会开始更新。
3.根据权利要求2所述基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,所述步骤S4还包括以下步骤:
S42.critic模块包含了两个结构完全相同的网络模型:当前critic网络Q(s,a|θQ)和目标critic网络Q'(s,a|θQ');actor模块包含了两个结构完全相同的网络模型:当前actor网络μ(s|θμ)和目标actor网络μ'(s|θμ');其中θQ和θQ'分别为Q和Q'的参数,θμ和θμ'分别为μ和μ'参数,Q和Q'的输入为状态s和动作a,输出为评价该次动作a的值,μ和μ'的输入为状态s,输出为智能体的下一步动作;
S43.采用TD-error方式,对参数θQ的更新,损失函数L为:
其中,i=1,2…N,N为批量抽取经验的数目,Yi=Ri+Q'(Si+1,μ'(Si+1|θμ')|θQ'),Yi为损失函数L中的目标值;从经验池中抽取的transition(s,a,r,s')和transitionm(sm,am,rm,s'm),Si为状态s和sm组成的集合,Ai为动作a和am组成的集合,Ri为奖励值r和rm组成的集合,Si+1为状态s'和s'm组成的集合;
求得损失函数L针对θQ的梯度对其进行梯度下降,得到更新后的θQ;
μ的网络参数θμ的更新,遵循确定性策略,其梯度下降公式为:
其中,a=μ(Si|θμ),表示对a求导,/>表示对θμ求导;
Q'和μ'采用软更新方式:
θQ'←τθQ+(1-τ)θQ'
θμ'←τθμ+(1-τ)θμ'
其中,τ为平衡因子;
S44.利用步骤S43的公式更新actor和critic模块,如果样本数量达到经验池的最大样本数量,则用最新的样本替换旧的样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210995615.7A CN115366099B (zh) | 2022-08-18 | 2022-08-18 | 基于正向运动学的机械臂深度确定性策略梯度训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210995615.7A CN115366099B (zh) | 2022-08-18 | 2022-08-18 | 基于正向运动学的机械臂深度确定性策略梯度训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115366099A CN115366099A (zh) | 2022-11-22 |
CN115366099B true CN115366099B (zh) | 2024-05-28 |
Family
ID=84064796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210995615.7A Active CN115366099B (zh) | 2022-08-18 | 2022-08-18 | 基于正向运动学的机械臂深度确定性策略梯度训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115366099B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115972203A (zh) * | 2022-12-14 | 2023-04-18 | 中联重科股份有限公司 | 基于ddpg算法的臂架动作模型训练方法、臂架动作推荐方法 |
CN117863948B (zh) * | 2024-01-17 | 2024-06-11 | 广东工业大学 | 一种辅助调频的分散电动汽车充电控制方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600379A (zh) * | 2018-04-28 | 2018-09-28 | 中国科学院软件研究所 | 一种基于深度确定性策略梯度的异构多智能体协同决策方法 |
CN108803321A (zh) * | 2018-05-30 | 2018-11-13 | 清华大学 | 基于深度强化学习的自主水下航行器轨迹跟踪控制方法 |
CN108983804A (zh) * | 2018-08-27 | 2018-12-11 | 燕山大学 | 一种基于深度强化学习的双足机器人步态规划方法 |
CN109948642A (zh) * | 2019-01-18 | 2019-06-28 | 中山大学 | 基于图像输入的多智能体跨模态深度确定性策略梯度训练方法 |
CN112338921A (zh) * | 2020-11-16 | 2021-02-09 | 西华师范大学 | 一种基于深度强化学习的机械臂智能控制快速训练方法 |
CN113843802A (zh) * | 2021-10-18 | 2021-12-28 | 南京理工大学 | 一种基于深度强化学习td3算法的机械臂运动控制方法 |
WO2022083029A1 (zh) * | 2020-10-19 | 2022-04-28 | 深圳大学 | 一种基于深度强化学习的决策方法 |
CN114828018A (zh) * | 2022-03-30 | 2022-07-29 | 同济大学 | 一种基于深度确定性策略梯度的多用户移动边缘计算卸载方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018031113A1 (en) * | 2016-08-12 | 2018-02-15 | Exxonmobil Upstream Research Company | Tomographically enhanced full wavefield inversion |
CN115338859A (zh) * | 2016-09-15 | 2022-11-15 | 谷歌有限责任公司 | 机器人操纵的深度强化学习 |
US10207404B2 (en) * | 2017-02-09 | 2019-02-19 | X Development Llc | Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot |
-
2022
- 2022-08-18 CN CN202210995615.7A patent/CN115366099B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600379A (zh) * | 2018-04-28 | 2018-09-28 | 中国科学院软件研究所 | 一种基于深度确定性策略梯度的异构多智能体协同决策方法 |
CN108803321A (zh) * | 2018-05-30 | 2018-11-13 | 清华大学 | 基于深度强化学习的自主水下航行器轨迹跟踪控制方法 |
CN108983804A (zh) * | 2018-08-27 | 2018-12-11 | 燕山大学 | 一种基于深度强化学习的双足机器人步态规划方法 |
CN109948642A (zh) * | 2019-01-18 | 2019-06-28 | 中山大学 | 基于图像输入的多智能体跨模态深度确定性策略梯度训练方法 |
WO2022083029A1 (zh) * | 2020-10-19 | 2022-04-28 | 深圳大学 | 一种基于深度强化学习的决策方法 |
CN112338921A (zh) * | 2020-11-16 | 2021-02-09 | 西华师范大学 | 一种基于深度强化学习的机械臂智能控制快速训练方法 |
CN113843802A (zh) * | 2021-10-18 | 2021-12-28 | 南京理工大学 | 一种基于深度强化学习td3算法的机械臂运动控制方法 |
CN114828018A (zh) * | 2022-03-30 | 2022-07-29 | 同济大学 | 一种基于深度确定性策略梯度的多用户移动边缘计算卸载方法 |
Non-Patent Citations (1)
Title |
---|
基于深度确定性策略梯度算法的双轮机器人平衡控制研究;刘胜祥;林群煦;杨智才;吴月玉;翟玉江;;机械工程师;20200310(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115366099A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115366099B (zh) | 基于正向运动学的机械臂深度确定性策略梯度训练方法 | |
CN108161934B (zh) | 一种利用深度强化学习实现机器人多轴孔装配的方法 | |
CN111515961B (zh) | 一种适用于移动机械臂的强化学习奖励方法 | |
CN108052004B (zh) | 基于深度增强学习的工业机械臂自动控制方法 | |
CN110238839B (zh) | 一种利用环境预测优化非模型机器人多轴孔装配控制方法 | |
Köker et al. | A study of neural network based inverse kinematics solution for a three-joint robot | |
Chen et al. | Deep reinforcement learning to acquire navigation skills for wheel-legged robots in complex environments | |
CN112362066A (zh) | 一种基于改进的深度强化学习的路径规划方法 | |
CN113510704A (zh) | 一种基于强化学习算法的工业机械臂运动规划方法 | |
CN109782600A (zh) | 一种通过虚拟环境建立自主移动机器人导航系统的方法 | |
CN110108292A (zh) | 车辆导航路径规划方法、系统、设备及介质 | |
CN113524186B (zh) | 基于演示示例的深度强化学习双臂机器人控制方法及系统 | |
CN112183188B (zh) | 一种基于任务嵌入网络的机械臂模仿学习的方法 | |
CN110716575A (zh) | 基于深度双q网络强化学习的uuv实时避碰规划方法 | |
CN116700327A (zh) | 一种基于连续动作优势函数学习的无人机轨迹规划方法 | |
Kim et al. | Learning and generalization of dynamic movement primitives by hierarchical deep reinforcement learning from demonstration | |
CN117103282A (zh) | 一种基于matd3算法的双臂机器人协同运动控制方法 | |
CN114415507A (zh) | 基于深度神经网络的灵巧手抓持过程动力学模型搭建及训练方法 | |
Park et al. | Zero-shot transfer learning of a throwing task via domain randomization | |
CN116749194A (zh) | 一种基于模型的机器人操作技能参数学习方法 | |
CN113759929B (zh) | 基于强化学习和模型预测控制的多智能体路径规划方法 | |
Kim et al. | Explaining the decisions of deep policy networks for robotic manipulations | |
US11921492B2 (en) | Transfer between tasks in different domains | |
CN109784400A (zh) | 智能体行为训练方法、装置、系统、存储介质及设备 | |
CN112264995B (zh) | 一种基于层级强化学习的机器人双轴孔装配方法 |
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 |