CN115366099A - 基于正向运动学的机械臂深度确定性策略梯度训练方法 - Google Patents

基于正向运动学的机械臂深度确定性策略梯度训练方法 Download PDF

Info

Publication number
CN115366099A
CN115366099A CN202210995615.7A CN202210995615A CN115366099A CN 115366099 A CN115366099 A CN 115366099A CN 202210995615 A CN202210995615 A CN 202210995615A CN 115366099 A CN115366099 A CN 115366099A
Authority
CN
China
Prior art keywords
transition
theta
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.)
Granted
Application number
CN202210995615.7A
Other languages
English (en)
Other versions
CN115366099B (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.)
Jiangsu University of Science and Technology
Original Assignee
Jiangsu University of Science and Technology
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 Jiangsu University of Science and Technology filed Critical Jiangsu University of Science and Technology
Priority to CN202210995615.7A priority Critical patent/CN115366099B/zh
Publication of CN115366099A publication Critical patent/CN115366099A/zh
Application granted granted Critical
Publication of CN115366099B publication Critical patent/CN115366099B/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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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

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);关节的角度范围
Figure BDA0003804633880000021
l=1,2...j,
Figure BDA0003804633880000022
为关节最小角度,
Figure BDA0003804633880000023
为关节最大角度;状态空间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为:
Figure BDA0003804633880000031
其中,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的梯度
Figure BDA0003804633880000032
对其进行梯度下降,得到更新后的θQ
μ的网络参数θμ的更新,遵循确定性策略,其梯度下降公式为:
Figure BDA0003804633880000041
其中,a=μ(Siμ),
Figure BDA0003804633880000048
表示对a求导,
Figure BDA0003804633880000042
表示对θμ求导;
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=a0i,i=1,2...n,εi是指向a0中添加服从高斯分布或OU分布的噪声,从而形成新的动作
Figure BDA0003804633880000043
i=1,2...n,关节的角度如下:
Figure BDA0003804633880000044
S41c.将ai分别输入f(θ1,θ2…θj),得到这些动作之后的末端执行器位姿Pk和transitionk(s0,ak,rk,s′k),k=0,1,2...n;
Figure BDA0003804633880000045
Figure BDA0003804633880000046
Figure BDA0003804633880000047
确定;若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.设定机械臂的控制任务为到达任务,任务描述为在一高度的水平面上随机位置放置物块,智能体需要控制机械臂到达物块的位置;奖惩函数设计如下:
Figure BDA0003804633880000061
Figure BDA0003804633880000062
Figure BDA0003804633880000063
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 α<sub>i-1</sub>(°) a<sub>i-1</sub>(m) d<sub>i</sub>(m) θ<sub>i</sub>(°)
1 0 0 0.0445 θ<sub>1</sub>
2 90 0.0025 0 θ<sub>2</sub>
3 0 0.081 0 θ<sub>3</sub>
4 0 0.0775 0 θ<sub>4</sub>
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=a0i,i=1,2...10,所述εi是指为了让智能体探索到更好的动作而向a0中添加服从某种概率分布的噪声,从而形成新的动作;本实施例εi服从OU分布。添加εi后的
Figure BDA0003804633880000081
i=1,2...10,关节角度
Figure BDA0003804633880000082
如下所示:
Figure BDA0003804633880000083
S41c.此后将ai分别输入f(θ1,θ2,θ3,θ4),得到这些动作之后的末端执行器位置Pk和transitionk(s0,ak,rk,s′k),k=0,1,2...10。所述
Figure BDA0003804633880000089
Figure BDA00038046338800000810
Figure BDA00038046338800000811
和具体机械臂控制任务确定。
Figure BDA0003804633880000084
其中,
Figure BDA0003804633880000085
为动作ak
Figure BDA0003804633880000086
为Pk;由于本机械臂控制任务为到达任务,智能体执行动作ak后并不改变物块的位置,故
Figure BDA0003804633880000087
为s0中物块的位置
Figure BDA0003804633880000088
为物块与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为:
Figure BDA0003804633880000091
其中,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的梯度
Figure BDA0003804633880000092
对其进行梯度下降,得到更新后的θQ
μ的网络参数θμ的更新,遵循确定性策略,其梯度下降公式为:
Figure BDA0003804633880000093
其中,a=μ(Siμ),
Figure BDA0003804633880000094
表示对a求导,
Figure BDA0003804633880000095
表示对θμ求导;
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,
Figure BDA0003804633880000101
如表2所示,总共测试100次,传统ddpg完成任务成功率为92%,本发明训练方法完成任务成功率为100%。由此可以看出本发明的训练方法完成任务的成功率较传统ddpg有显著的提升。
表2
Figure BDA0003804633880000102

Claims (5)

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。
2.根据权利要求1所述基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,所述步骤S1包括以下步骤:
S11.使用开源仿真平台搭建实验环境,确定物理引擎,将用于完成任务的机械臂导入此仿真平台搭建的实验环境中;
S12.设定机械臂的控制任务;根据机械臂的控制任务设计奖惩函数R;每回合训练步数T是指每回合智能体与环境交互的次数;训练回合数M和训练步数T由实际训练效果决定;
S13.定义机械臂控制任务的动作空间和状态空间;动作空间A中动作a为机械臂的j个关节角度记为a=(θ1,θ2…θj);关节的角度范围
Figure FDA0003804633870000021
l=1,2...j,
Figure FDA0003804633870000022
为关节最小角度,
Figure FDA0003804633870000023
为关节最大角度;状态空间S中状态s由末端执行器位姿p(x,y,z,α,β,γ)和步骤S12所设定的机械臂控制任务决定,记为s=(p,sd),其中(x,y,z)为末端执行器位置,(αβ,γ)为末端执行器姿态,sd为状态s中不包括末端执行器位姿p的部分。
3.根据权利要求2所述基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,所述步骤S3包括以下步骤:
S31.建立智能体的actor模块,将状态s输入actor模块,actor模块输出智能体的下一步动作a;
S32.建立智能体的critic模块,将状态s和动作a作为critic模块的输入,critic模块输出一个评价该次动作a的值Q(s,a);
S33.当前actor网络和critic网络更新后,目标actor网络和critic网络才会开始更新。
4.根据权利要求3所述基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,所述步骤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为:
Figure FDA0003804633870000024
其中,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的梯度
Figure FDA0003804633870000031
对其进行梯度下降,得到更新后的θQ
μ的网络参数θμ的更新,遵循确定性策略,其梯度下降公式为:
Figure FDA0003804633870000032
其中,a=μ(Siμ),
Figure FDA0003804633870000033
表示对a求导,
Figure FDA0003804633870000034
表示对θμ求导;
Q′和μ′采用软更新方式:
θQ′←τθQ+(1-τ)θQ′
θμ′←τθμ+(1-τ)θμ′
其中,τ为平衡因子;
S44.利用步骤S43的公式更新actor和critic模块,如果样本数量达到经验池的最大样本数量,则用最新的样本替换旧的样本。
5.根据权利要求4所述基于正向运动学的机械臂深度确定性策略梯度训练方法,其特征在于,所述步骤S41包括以下步骤:
S41a.从经验池中抽取未完成任务的transition0(s0,a0,r0,s′0),所述未完成任务的transition0是指智能体执行a0并没有完成任务;
S41b.向a0添加n次噪声εi,生成新的探索性动作ai=a0i,i=1,2...n,εi是指向a0中添加服从高斯分布或OU分布的噪声,从而形成新的动作
Figure FDA0003804633870000035
i=1,2...n,关节的角度如下:
Figure FDA0003804633870000036
S41c.将ai分别输入f(θ1,θ2…θj),得到这些动作之后的末端执行器位姿Pk和transitionk(s0,ak,rk,s′k),k=0,1,2...n;
Figure FDA0003804633870000037
Figure FDA0003804633870000038
Figure FDA0003804633870000039
确定;若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)。
CN202210995615.7A 2022-08-18 2022-08-18 基于正向运动学的机械臂深度确定性策略梯度训练方法 Active CN115366099B (zh)

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 true CN115366099A (zh) 2022-11-22
CN115366099B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117863948A (zh) * 2024-01-17 2024-04-12 广东工业大学 一种辅助调频的分散电动汽车充电控制方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180045839A1 (en) * 2016-08-12 2018-02-15 Yaxun Tang Tomographically Enhanced Full Wavefield Inversion
US20180222045A1 (en) * 2017-02-09 2018-08-09 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
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 中山大学 基于图像输入的多智能体跨模态深度确定性策略梯度训练方法
US20190232488A1 (en) * 2016-09-15 2019-08-01 Google Llc Deep reinforcement learning for robotic manipulation
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 同济大学 一种基于深度确定性策略梯度的多用户移动边缘计算卸载方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180045839A1 (en) * 2016-08-12 2018-02-15 Yaxun Tang Tomographically Enhanced Full Wavefield Inversion
US20190232488A1 (en) * 2016-09-15 2019-08-01 Google Llc Deep reinforcement learning for robotic manipulation
US20180222045A1 (en) * 2017-02-09 2018-08-09 X Development Llc Generating a robot control policy from demonstrations collected via kinesthetic teaching of a robot
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)

* Cited by examiner, † Cited by third party
Title
刘胜祥;林群煦;杨智才;吴月玉;翟玉江;: "基于深度确定性策略梯度算法的双轮机器人平衡控制研究", 机械工程师, no. 03, 10 March 2020 (2020-03-10) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117863948A (zh) * 2024-01-17 2024-04-12 广东工业大学 一种辅助调频的分散电动汽车充电控制方法及装置
CN117863948B (zh) * 2024-01-17 2024-06-11 广东工业大学 一种辅助调频的分散电动汽车充电控制方法及装置

Also Published As

Publication number Publication date
CN115366099B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN108161934B (zh) 一种利用深度强化学习实现机器人多轴孔装配的方法
CN111515961B (zh) 一种适用于移动机械臂的强化学习奖励方法
Leottau et al. Decentralized reinforcement learning of robot behaviors
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
CN110238839B (zh) 一种利用环境预测优化非模型机器人多轴孔装配控制方法
CN112362066A (zh) 一种基于改进的深度强化学习的路径规划方法
CN110716575A (zh) 基于深度双q网络强化学习的uuv实时避碰规划方法
CN113524186B (zh) 基于演示示例的深度强化学习双臂机器人控制方法及***
CN117103282B (zh) 一种基于matd3算法的双臂机器人协同运动控制方法
CN116679719A (zh) 基于动态窗口法与近端策略的无人车自适应路径规划方法
CN115366099B (zh) 基于正向运动学的机械臂深度确定性策略梯度训练方法
Kim et al. Learning and generalization of dynamic movement primitives by hierarchical deep reinforcement learning from demonstration
CN116700327A (zh) 一种基于连续动作优势函数学习的无人机轨迹规划方法
CN114415507B (zh) 基于深度神经网络的灵巧手抓持过程动力学模型搭建及训练方法
CN115890670A (zh) 基于强化深度学习训练七自由度冗余机械臂运动轨迹的方法
CN116352715A (zh) 一种基于深度强化学习的双臂机器人协同运动控制方法
Xu et al. Learning strategy for continuous robot visual control: A multi-objective perspective
Ranjbar et al. Residual feedback learning for contact-rich manipulation tasks with uncertainty
CN113759929B (zh) 基于强化学习和模型预测控制的多智能体路径规划方法
CN109784400A (zh) 智能体行为训练方法、装置、***、存储介质及设备
CN113268859B (zh) 航天器在轨博弈的仿真模拟方法、***及存储介质
CN114967472A (zh) 一种无人机轨迹跟踪状态补偿深度确定性策略梯度控制方法
CN114454160A (zh) 基于核最小二乘软贝尔曼残差强化学习的机械臂抓取控制方法及***
CN113096153A (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