基于深度确定性策略梯度的机械臂路径规划方法及系统

未命名 08-03 阅读:81 评论:0


1.本发明涉及机器人机械臂路径规划技术领域,尤其涉及基于深度确定性策略梯度的机械臂路径规划方法及系统。


背景技术:

2.随着人工智能技术与工程机械需求的不断发展,传统人工神经网络在模式识别、自动控制、信号处理、辅助决策等众多领域取得了广泛成功,《新一代人工智能发展规划》进一步强调了随着工业化进程的推进和信息化时代的到来,智能机器人产业作为衡量一个国家科技创新和高端制造业水平的重要标志,其发展越来越受到世界各国的高度关注。机械臂是工业机器人中最常见的种类,它出现在物流,医疗,建筑等众多领域当中。传统的机械臂操作往往需要人工辅助,依靠人为提供的任务指令和操作方式,这种机械臂有许多的限制,比如无法自动完成任务,对操作人员技术要求高。深度学习和强化学习的发展给机械臂智能化提供了新思路,比如一些研究人员通过建立人工神经网络,让机械臂学习模仿特征,能够帮助机械臂实现复杂的动作。一些研究人员将强化学习算法应用于机械臂,把机械臂当作智能体训练,训练完成后的机械臂能够完成路径规划或者物体抓取等任务。这些研究给机械臂的智能化提供了新的方向,近年来,智能机器人、自动驾驶和人工智能等领域的兴起给人类的生活提供了很大的便利,在这些领域的研究中,路径规划问题一直是研究的热门内容之一,合适的路径规划算法能够提高运动的效率,降低时间复杂度。对于机器人领域,路径规划算法给机器人提供一条可行、高效、安全的运动路线,现有的利用机器视觉的机械臂抓取路径的规划和传统的机械臂路径规划方案的改进虽然在很大程度上提高生产效率,但算法有效性并不高,比较耗时,算法复杂度较高,因此,如何利用有效的视觉线索实现机械臂自主避障与路径规划是亟需解决的问题。


技术实现要素:

3.为了解决上述技术问题,本发明的目的是提供基于深度确定性策略梯度的机械臂路径规划方法及系统,能够在机械臂训练过程中利用多层奖励机制增强奖励函数的指向作用、利用时间差分误差作为经验样本权重和利用二叉堆的数据结构特性运用于经验池置换方法,进一步提高机械臂训练样本的利用率和训练速度。
4.本发明所采用的第一技术方案是:基于深度确定性策略梯度的机械臂路径规划方法,包括以下步骤:
5.考虑机械臂的三维空间运动特点,构建机械臂多任务运动模型,所述机械臂多任务运动包括机械臂的末端循迹、机械臂的推动和机械臂的抓取;
6.基于actor-critic网络结构,建立深度确定性策略梯度算法网络模型;
7.引入预设奖励规则,构建用于机械臂的末端循迹的分层奖励函数;
8.引入优先经验回放机制,积累经验样本池,获取经验样本的权重;
9.基于分层奖励函数和经验样本的权重对深度确定性策略梯度算法网络模型进行
训练,获取训练后的深度确定性策略梯度算法网络模型;
10.将训练后的深度确定性策略梯度算法网络模型部署至机械臂多任务运动模型,对机械臂进行路径规划。
11.进一步,所述考虑机械臂的三维空间运动特点,构建机械臂多任务运动模型这一步骤,其具体包括:
12.绘制机械臂三维运动模型;
13.初始化虚拟环境,设定机械臂三维运动模型基于虚拟环境中的坐标系o-xyz;
14.规定机械臂的动作空间、观测状态信息和动作信息,并设定机械臂的更新步骤。
15.进一步,所述基于actor-critic网络结构,建立深度确定性策略梯度算法网络模型这一步骤,其具体包括:
16.所述深度确定性策略梯度算法网络模型通过最大累计奖励值进行更新确定性策略参数,并输出机械臂动作空间的概率,所述深度确定性策略梯度算法网络模型包括主网络和目标网络,所述主网络包括actor网络和critic网络,所述目标网络包括target actor网络和target critic网络;
17.所述actor网络采用确定性策略,给定输入状态,对输入状态进行求积分,输出一个确定的动作信息,并将确定性策略梯度函数作为更新actor网络参数方法;
18.所述critic网络为评价网络,用于计算q值,以评价actor网络所采用策略的好坏,并将状态-动作值函数作为更新critic网络参数方法;
19.所述目标网络用于计算目标q值,并辅助更新主网络的参数。
20.进一步,所述深度确定性策略梯度算法网络模型的表达式具体如下所示:
[0021][0022]
上式中,μ
ω
表示确定性策略,j(
·
)表示训练目标,通过最大化j(
·
)训练网络,r表示网络通过执行策略μ
ω
后获得的期望值,s表示环境反馈的状态,μ
ω
表示状态的分布函数,表示对进行积分。
[0023]
进一步,所述预设奖励规则,其具体包括:
[0024]
预发动作训练任务至所述机械臂多任务运动模型;
[0025]
考虑机械臂的任务完成情况,对于完成任务的机械臂,进行发送预设目标设定值的奖励,对于未完成任务的机械臂则不发送奖励值;
[0026]
考虑机械臂的完成任务的停留步数,对于停留在目标区域超过预设步数的机械臂,进行发送一次性奖励减去在完成目标之后减去所消耗的步数乘以预设系数的奖励值,对于停留在目标区域小于预设步数的机械臂则不发送奖励值;
[0027]
考虑机械臂的完成任务的步数,计算机械臂完成预发动作训练任务所消耗的步数,发送预设比例值乘以所消耗的步数的负奖励值;
[0028]
考虑机械臂末端与目标之间的距离,若所述机械臂末端与目标之间的距离小于设定值,给予机械臂预设的奖励值。
[0029]
进一步,所述引入优先经验回放机制,积累经验样本池这一步骤,其具体包括:
[0030]
观测当前机械臂的状态,并输入至actor网络得到对应的机械臂动作输出结果,将机械臂动作输出结果存储至经验样本池;
[0031]
机械臂多任务运动模型执行机械臂动作输出结果,更新机械臂的状态得到下一时刻机械臂的观测状态,并计算得到对应的奖励值;
[0032]
将当前机械臂的状态和机械臂动作输出结果输入至critic网络,获取q估计值;
[0033]
将下一时刻机械臂的观测状态输入至target actor网络,获取下一时刻机械臂的动作输出结果;
[0034]
将下一时刻机械臂的观测状态和下一时刻机械臂的动作输出结果输入至target critic网络,获取q目标值;
[0035]
对q估计值和q目标值进行作差计算处理,获取td-error值,其中,td-error值越大代表经验学习的潜力越大,其优先级越高;
[0036]
循环上述主网络与目标网络的执行步骤,积累经验样本池,并将td-error值设定为对应经验样本的权重,所述经验样本池存放的数据形式为五元组(s
t
,a
t
,r
t
,s
t+1
,done),其中,s
t
表示当前机械臂的观测状态,a
t
表示当前机械臂动作输出结果,r
t
表示当前对应的奖励值,s
t+1
表示下一时刻机械臂的观测状态,done表示任务完成情况。
[0037]
进一步,所述td-error的计算表达式为:
[0038][0039]
上式中,r
t+1
表示t+1时刻累积奖励值,表示td-target时序差分目标,δ
t
表示t时刻的时间差分误差,γ表示折扣因子,用于平衡当前和未来奖励的重要性,q(s
t
)表示当前状态的值函数估计值。
[0040]
还包括基于sumtree二叉树并结合经验样本的权重对经验样本池中的数据进行存储处理,具体为:
[0041]
引入最小堆的二叉树数据结构,所述最小堆的二叉树数据结构包括叶子节点和根节点,所述叶子节点用于存储经验样本的五元组数据和对应的td-error值,所述根节点保留其叶子节点的td-error值之和;
[0042]
对最小堆的二叉树数据结构中的节点进行均匀采样处理,预设一个采样值;
[0043]
将采样值与最小堆的二叉树数据结构中的左根节点的左子节点进行比较,若所述采样值大于所述根节点的左子节点,则将采样值与根节点的左子节点的值进行作差计算处理,得到的差值为下一时刻的采样值,并进入右根节点;
[0044]
将下一时刻的采样值与右根节点的左子节点进行比较,直至所述比较结果大于所述根节点对应的叶子结点,将经验样本的五元组数据存储至所述根节点对应的叶子结点中。
[0045]
还包括引入最小堆的二叉树数据结构,基于经验样本的权重对经验样本池中的数据进行置换处理,具体为:
[0046]
当经验池达到最大样本数量,新的经验样本将会对权重最小的经验样本进行替代;
[0047]
通过最小堆对根节点进行删除,将根节点的经验样本用二叉树中最后一个节点的经验样本覆盖,并进行自顶向下递归调整,调整目标为让整个二叉树重新满足最小堆的数据结构;
[0048]
将新的经验样本插入至二叉树最后一个节点后面,通过向上递归,将权重最小的
经验样本移至根节点。
[0049]
本发明所采用的第二技术方案是:基于深度确定性策略梯度的机械臂路径规划系统,包括:
[0050]
构建模块,用于构建机械臂多任务运动模型、深度确定性策略梯度算法网络模型、机械臂的末端循迹的分层奖励函数和经验样本池;
[0051]
训练模块,基于分层奖励函数和经验样本的权重对深度确定性策略梯度算法网络模型进行训练,获取训练后的深度确定性策略梯度算法网络模型;
[0052]
规划模块,用于将训练后的深度确定性策略梯度算法网络模型部署至机械臂多任务运动模型,对机械臂进行路径规划。
[0053]
本发明方法及系统的有益效果是:本发明在机械臂的动作输出训练过程中,通过利用环境奖励值的反馈评估动作的价值,学习动作产生的代价,优化深度确定性策略梯度算法中的策略网络和值函数,调整下次运动方式,实现奖励值最大化,进一步针对机械臂复杂的运动方式和深度确定性策略梯度算法存在奖励稀疏问题,设计多层次奖励函数,从机械臂运动的多个维度进行奖励值的赋予,增强环境的反馈机制,提高机械臂前期的探索能力,加快机械臂的训练速度,进一步针对在奖励值稀疏和探索难度大的仿真环境中机械臂学习到有效运动的机会少和训练效率低的问题,引入了经验回放机制,通过经验池反复采样数据,提高了经验样本利用率,并采用合适的度量衡确定样本的权重,考虑每条经验样本在经验样本池中的权重大小,设计合适的存储方式,提升高权重的经验样本采样概率,最后通过利用二叉堆的数据结构特性运用于经验池置换方法,保留高权重的经验样本,移除低权重的经验样本,提升高权重经验样本的利用率。
附图说明
[0054]
图1是本发明基于深度确定性策略梯度的机械臂路径规划方法的步骤流程图;
[0055]
图2是本发明基于深度确定性策略梯度的机械臂路径规划系统的结构框图;
[0056]
图3是现有的智能机械臂路径规划智能算法的步骤流程示意图;
[0057]
图4是本发明基于深度确定性策略梯度进行机械臂路径规划的算法流程示意图;
[0058]
图5是本发明sumtree二叉树的结构示意图;
[0059]
图6是本发明最小堆的二叉树数据结构的示意图;
[0060]
图7是本发明具体实施例第一轮经验样本替代的流程示意图;
[0061]
图8是本发明具体实施例第二轮经验样本替代的流程示意图;
[0062]
图9是本发明基于二叉堆的per算法与现有的算法进行对比的完成率指标结果示意图;
[0063]
图10是本发明基于二叉堆的per算法与现有的算法进行对比的平均回报指标结果示意图;
[0064]
图11是本发明基于二叉堆的per算法与现有的算法进行对比的平均步数指标结果示意图。
具体实施方式
[0065]
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的
步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0066]
近年来,智能机器人、自动驾驶和人工智能等领域的兴起给人类的生活提供了很大的便利。在这些领域的研究中,路径规划问题一直是研究的热门内容之一,合适的路径规划算法能够提高运动的效率,降低时间复杂度,对于机器人领域,路径规划算法给机器人提供一条可行、高效、安全的运动路线。路径规划问题的算法主要分为两种类别,一是传统的路径规划算法,主要基于图的特点和基于采样的方法,另一种是智能算法,如图3所示,机械臂在实际工作时会经常面对复杂的多障碍物环境,因此一般研究机械臂控制主要从视觉线索下障碍物信息的获取和避障路径规划两方面研究;可靠的视觉线索能够有效引导机械臂运动,使其以沿有效的路径进行高效、安全、稳定的作业;2016年,《使用神经动力学的柔性手术机械手安全增强运动规划》chen公开了一种可以减少柔性手术机械手不必要扫掠运动的方案,该方法是一种新的三维神经动力学模型,在考虑到最小扫描面积下,可得到机械臂工作空间的安全增强轨迹;2017年,《使用鲁棒约束控制的机械臂运动规划》zanchettin公开了一种新的运动分配和反应式执行算法,该种算法将传统轨迹生成的技术与最优策略结合到一个统一的同步运动规划和控制框架中,有效地解决了机械臂的运动轨迹规划问题;2018年,《利用距离计算和离散检测对机械臂进行动态避障》han提出gilbert

johnson

keerthi算法,该算法通过计算最近距离进行改进用以求解机械臂最优路径规划问题,从而避免了机械臂执行制造任务时的动态障碍,实现了机械臂的最优路径规划;2019年,《基于ros循迹识别与控制方法的研究》wang提出基于ros的循迹识别,利用视觉实现机器人自主抓取任务功能的技术让带有机器视觉的机械臂识别并抓取,并完成对物体的分类;2020年,《遥感图像中目标检测的三维位姿估计》liu公开了基于神经网络对物体的多个特征点进行预测,得到物体坐标与图像坐标的同构变换关系,由此得到的三维位姿能够准确地描述物体的三维位置和姿态;《基于改进informedrrt法的路径规划研究》zhang公开为了解决informed-rrt*算法在机器人路径规划中存在的目的性差、收敛速度慢、路径优化效率低的问题,提出一种基于贪心算法和改变搜索对象的方法,对informed-rrt*算法进行优化;《一种基于可达性数据库的无碰撞逆运动学解求解完备方法》xu公开利用一个移动机械臂来有效和稳健地收集存储在不同托盘中的对象,提出了一种基于可达性数据库的无碰撞逆运动学解求解完备方法,从而确定可行基位的求解完备集,该方法近似于一组典型的ik解决方案,当分别处理ik和检查碰撞时特别有用;《基于机器视觉的工业机器人定位系统研究》ma公开研究并构建一套基于机器视觉的工业机器人锂电池载流片定位系统,利用卷积神经网络对多角度的深度图像进行分割,然后将分割的深度图像与预先设置的目标物体图像进行匹配并应用与机械臂的路径规划;2021年,《利用rgb-d图像和改进的局部聚集描述符矢量的室内环境视觉定位》zhang提出了一种基于rgb-d图像的智能移动设备视觉定位方法,通过特征提取和描述、图像配准和位姿地图优化计算训练集中每幅图像的位姿,然后在图像检索阶段,对训练集和查询集进行聚类,生成局部聚合描述向量;《基于gprkrr合模型的机械臂抓取研究》chen等人为了避免机械臂自主抓取方法中普遍存在的运动学求逆耗时和视觉系统标定计算复杂度高的问题,提出一种基于高斯过程回归和核岭回归组合模型的机械臂抓取方法;以上利用机器视觉的机械臂抓取路径的规划和传统的机械臂路径规划方案的改进虽然在很大程度上提高生产效率,但算法有效性并不高,比较耗时,算法复杂度较高;
[0067]
近年来,随着深度学习和强化学习的发展,越来越多的研究者将深度强化学习应用于路径规划。深度强化学习算法主要分为两类,一类是基于值函数的算法,包括dqn(deep q-network)、dueling dqn(dueling deep q-network)、double dqn(double deep q-network),另一类是基于策略的方法,包括dpg(deterministic policy gradient)、ddpg(deep deterministic policy gradient)、a3c(asynchronous advantage actorcritic)、ppo(proximal policy optimization);深度强化学习能够解决常规路径规划算法中存在动态环境适应差的问题,深度强化学习算法是将深度学习和强化学习相结合,深度学习提供感知能力,强化学习提供决策能力,使得智能体能够通过与环境的交互和相应的反馈机制自主学会路径选择,达到避障、路径优化的作用;《基于q-学习网络的机器人探索策略》tai公开了通过实验验证基于深度q网络算法的机器人在迷宫环境下的路径规划能力,实验通过图像作为输入,将机器人的运动方向作为输出,机器人通过寻找奖励值函数最大化完成自动避障和循迹等功能;《无监督辅助任务的强化学习》jaderberg公开了通过添加辅助任务奖励增强a3c算法,然后测试基于该算法的智能体通过在迷宫环境下的轨迹判断其算法的表现,通过实验证明,该算法下的智能体在迷宫环境下能够很好的进行寻路操作;《一天学会自动驾驶》kendall公开了将ddpg算法首次利用到自动驾驶上,通过与周围环境的交互,让其自动实现路径规划,以上利用深度强化学习的路径规划算法虽然能够提升机械臂的自主学习能力,但是强化学习算法普通面临奖励稀疏的问题,针对于此,本发明通过设计强化学习的奖励函数和经验回放策略能够解决奖励值获取难度大的问题;
[0068]
综上所述,本项目以生物菌落智能捕获过程中的机械臂智能算法为研究目的,设计基于深度确定性策略梯度算法的机械臂路径规划算法,通过分析机械臂的运动方式和深度确定性策略梯度算法的基本原理,本项目从深度确定性策略梯度算法的奖励函数和经验回放策略展开研究,具体为:
[0069]
(1)提出了一种基于深度确定性策略梯度算法的分层奖励函数。在训练过程中,机械臂利用环境奖励值的反馈评估动作的价值,学习动作产生的代价,优化深度确定性策略梯度算法中的策略网络和值函数,调整下次运动方式,实现奖励值最大化。针对机械臂复杂的运动方式和深度确定性策略梯度算法存在奖励稀疏问题,本项目通过分析机械臂运动的关节角度和活动方式,结合真实三维空间机械运动特点,构建机械臂的末端循迹、机械臂的推动和机械臂的抓取等多层任务运动模型,设计多层次奖励函数,从机械臂运动的多个维度进行奖励值的赋予,增强环境的反馈机制,提高机械臂前期的探索能力,加快机械臂的训练速度;
[0070]
(2)提出了一种基于深度确定性策略梯度算法的经验回放策略。首先,针对在奖励值稀疏和探索难度大的仿真环境中机械臂学习到有效运动的机会少和训练效率低的问题,本项目引入了经验回放机制,开辟经验样本池,保存单次运动的训练经验样本,通过经验池反复采样数据,提高了经验样本利用率。其次,针对经验回放机制中随机采样策略存在高权重经验样本利用率低的问题,本项目采用合适的度量衡确定样本的权重,考虑每条经验样本在经验样本池中的权重大小,设计合适的存储方式,提升高权重的经验样本采样概率。最后,针对经验样本池存在容量上限和经验样本置换算法效率低的问题,本项目利用二叉堆的数据结构特性运用于经验池置换方法,保留高权重的经验样本,移除低权重的经验样本,提升高权重经验样本的利用率。
[0071]
参照图1和图4,本发明提供了基于深度确定性策略梯度的机械臂路径规划方法,该方法包括以下步骤:
[0072]
s1、构建深度确定性策略梯度算法;
[0073]
具体地,在常规的演员-评论家模型中,采用的策略方式是随机策略。随机策略输出动作空间的概率分布,即为每一个动作的概率,概率的区间从0到1,所以在每次输出时,基于随机策略的方法会对整个动作空间进行采样,对于高维空间来说,随机策略大批次的采样会影响算法的性能,针对以上问题,确定性策略梯度算法被提出。与随机策略不同,确定性策略算法输出动作空间的概率是确定的,所以无需对动作空间求积分,效率得到了提升,通过最大累计奖励值来更新确定性策略参数,确定性策略的目标函数数学表达式如下所示:
[0074][0075]
上式中,μ
ω
表示确定性策略,j(
·
)表示训练目标,通过最大化j(
·
)训练网络,r表示网络通过执行策略μ
ω
后获得的期望值,s表示环境反馈的状态,μ
ω
表示状态的分布函数,表示对进行积分;
[0076]
进一步,通过最大累计奖励值进行更新确定性策略参数,并输出机械臂动作空间的概率,其表达式具体如下所示:
[0077][0078]
上式中,表示策略的概率函数分布,γk表示折扣因子,用于权衡当前和未来奖励的重要性,p表示从状态s0经过k个时间步骤转移到状态s的概率,k表示时间点数量;
[0079]
所以确定性策略梯度的数学表达式如下所示:
[0080][0081]
上式中,表示关于策略参数ω的梯度,表示关于动作a的梯度,μ
ω
(s)表示策略ω在状态s下所采取的行为a,q
μ
(s,a)表示状态-动作值函数,a表示动作;
[0082]
在actor-critic结构中,将状态-动作值函数作为更新critic的神经网络参数方法,将确定性策略梯度函数作为更新actor的神经网络参数方法,这样的结构与与q学习类似,利用值函数的td-error来更新网络参数,但是不同的是q学习动作的输出采用贪婪算法,而这里采用确定性策略梯度对动作进行输出,值函数的td-error数学表达式如下所示:
[0083][0084]
上式中,δ
t
表示t时刻的时间差分误差,r(s,a)表示关于状态s和动作a的奖励函数,q(s


ω
(s

))表示t+1时刻的值函数,q(s,μ
ω
(s))表示t时刻的值函数;
[0085]
actor网络是基于确定性策略设计,所以它的动作输出是确定的。与策略梯度算法相比,确定性策略梯度算法不需要对动作求积分,而只需要对状态求积分,所以减少了对动作的采样,效率得到了提升。actor网络采用的确定性策略梯度数学表达式如下所示:
[0086][0087]
上式中,j
β

ω
)表示表示策略μ
ω
的性能指标,用于衡量策略的好坏,并作为优化目
标来调整策略参数;
[0088]
上述求解公式让智能体动作空间的输出不需要动作-值函数的更新,并且能保证算法达到局部收敛。
[0089]
s2、基于深度确定性策略梯度算法的分层奖励函数;
[0090]
具体地,在强化学习算法中,智能体总是利用环境奖励值的反馈来判断动作的优劣性,以此来不断对强化学习中的策略网络或者值函数进行优化,一个合适优秀的奖励函数能够极大的提高智能体的训练速度和强化学习算法的效果程度,在智能体训练之初,由于缺乏先验知识,只能通过不断探索获取奖励值,强化学习算法输出的动作作用于环境中,环境中反馈此次动作的价值评估,让智能体通过学习到这种动作的价值输出下一次的动作,从而实现智能体朝着奖励值最大化的方向去运动,所以,在强化学习算法中,合适的奖励值函数尤为重要;
[0091]
对于使用深度强化学习算法来训练机械臂的运动控制,首先需要设定一个合适的奖励函数,在训练过程中通过获取奖励函数的奖励值,对环境进行观测从而调整机械臂下一次运动的关节角度和方式,用于获取最大的奖励值,直至达到预期训练目的,机械臂的运动相较于普通的智能体更加复杂,首先机械臂是一种多关节控制的机器人,在搭建机械臂训练的仿真环境时需要考虑到机械臂的运动方式,其次,机械臂在实际的应用中,它的运动是一个三维空间的运动,设置奖励函数的同时需要考虑其三维运动的特点,最后,机械臂在实际的运用中可能分为多层任务,包括机械臂的末端循迹、机械臂的推动和机械臂的抓取等,对于不同的任务其奖励函数应该不同;
[0092]
在强化学习算法奖励函数设定中,一般会根据智能体是否完成任务作为条件设定,比如智能体完成一集任务赋予一个正向的奖励值,为了提高智能体的效率,往往会对智能体的运动步数提供一个负向的奖励值,这种奖励函数的形式在简单的仿真环境和单一的任务目标是比较常用且有效的,但是对于用于机械臂的深度强化学习算法的奖励函数,这种形式无法达到很好的训练效果,这是由于在机械臂是在三维空间运动,如果只是对任务完成状态赋予奖励会导致稀疏反馈,而稀疏反馈是目前强化学习相对棘手的问题,针对以上问题,本发明充分考虑机械臂的运动方式和特点,提出了用于机械臂末端循迹运动的分层奖励函数,分层奖励函数主要是将奖励函数分为多个层次,在多层次的奖励函数的激励下,使得机械臂末端能够在尽可能少的步数下完成任务;
[0093]
s21、奖励规则;
[0094]
具体地,首先针对任务完成度需要给定一个奖励值,当任务完成时会给予值为1的奖励,未完成就不奖励值,其表达式具体如下所示:
[0095][0096]
上式中,target表示任务完成情况;
[0097]
同时为了确保机械臂能够意识到目标,当机械臂的末端停留在目标区域超过50步,算法将一次性给予值为200的奖励,为了提高机械臂在前期的训练中完成目标的概率,会在完成目标之后减去所消耗的步数,同时乘以0.5的系数,其奖励值表示如下所示:
[0098]
[0099]
上式中,steps表示机械臂完成目标所需要的步数,goal表示机械臂的末端停留在目标区域超过的步数;
[0100]
上述为了确保机械臂能够意识到目标能够防止机械臂可能在训练过程中会误碰到目标区域而完成任务,但是这时候其实机械臂其实是不能意识到任务的内容,所以本发明设置一个预设停留步数,只有当停留超过预定步数,才能算机械臂完成任务,这能有效的避免机械臂因为误碰造成的任务完成情况;
[0101]
其次为了激发机械臂的训练效率,机械臂的运动代价将会被体现,当机械臂运动的步数每增加一步,将会给予一定的负奖励值,当越接近于最大步数,其惩罚值越大,保证机械臂在最少的步数内实现目标,其中系数-0.01是根据仿真环境中机械臂每一集的最大步数和完成任务后的奖励值所确定,其奖励值表达式如下所示:
[0102]
r3=-0.01
×
steps
[0103]
最后为了提高机械臂的训练速度,奖励函数需要对机械臂的运动设定正向的奖励值。在二维空间中,目标的坐标信息是不变的,对于机械臂的运动来说,它的坐标(xb,yb)只需要达到目标的xo坐标或者yo坐标就应该给其正向奖励,让机械臂学习到目标的方位信息,其数学表达式如下所示:
[0104][0105]
上式中,r4奖励函数中充分考虑了机械臂末端与目标之间的距离、机械臂末端抵达目标的xo轴方向和机械臂末端抵达目标的yi轴方向的奖励值。这样的奖励函数设定既能保证机械臂末端朝着目标运动,又能通过在目标xo轴和yo轴的奖励给机械臂传导一个正确的引向。其中0.5是根据达到目标给予1的奖励所设定,保证达到目标区域后,机械臂会获得两个方向的奖励,总值和目标完成奖励一致;
[0106]
最终深度强化学习算法的奖励函数将上述各层次的奖励函数复合而得,其数学表达式如下所示:
[0107]
r=r1+r2+r3+r4[0108]
上式中,r表示总的奖励函数,r1、r2、r3和r4分别表示不同的奖励函数的条件规则。
[0109]
s3、基于深度确定性策略梯度算法的经验回放策略。
[0110]
具体地,在基于强化学习的仿真环境中,智能体主要是通过获取每一步动作的奖励值对策略进行训练,对于场景简单或者奖励值设计合理的仿真环境,智能体能够快速的学习到目标和任务,但是对于奖励值稀疏和探索难度大的仿真环境,智能体学习到正确的操作的机会少,训练的效率低,如果在一些极端的仿真环境下,智能体只有在最终状态有一个正确的操作才会得到奖励,这对训练是极其不利的,针对这种问题,基于off-policy的强化学习算法引入了经验回放机制,经验回放机制会把每次的训练经验存入到经验池中,再在经验池中反复采用数据,对其进行训练,提高了样本利用率,本发明利用经验回放能够解决稀疏奖励的问题,对于权重较大的经验增大采样几率,加强智能体对重要样本的反复训练,提高对过往经验的利用频率;
[0111]
其中,所述基于off-policy的强化学习算法是一种学习过程,可以通过学习来改进某个策略,而不是在现有策略的基础之上进行改进,在off-policy算法中,代理学习如何评估一组不同策略,并且可以随着时间的推移自动调整策略,与on-policy算法不同,off-policy算法不需要在其学习过程中保持应用于问题的特定策略,常见的off-policy强化学习算法有q-learning和深度强化学习中的actor-critic方法;
[0112]
最初的经验池存入的数据是一致的,没有权重大小和优先级,使用随机采用的方式去获取回放经验样本,这种等概率回放方式只是对经验进行了重复训练,无法体现影响力大的经验样本的作用,这使得网络训练效率低,对策略网络的训练影响弱,针对这种问题,优先经验回放(per)采用了合适的度量衡确定经验样本的权重,在经验池中考虑每条经验的权重大小,使得权重更大的经验被采用的概率得到了提高;
[0113]
per算法最主要的核心是定义了每条经验的权重,它认为经验权重的大小应该是智能体能够从这条经验学习到的东西的多少所决定,这种虽然不能直观的表示出来,但是在值函数的强化学习中常常用td-error去更新价值函数,td-error用于下一状态的预测估计当前状态,它的大小能够表示当前价值函数与目标价值函数的差距,对于一条经验来说,td-error越大代表这条经验学习的潜力越大,其优先级越高,如果td-error越小代表这条经验越普通,则存入经验池时它的优先级应该降低,对于本发明的仿真环境,经验样本被定义为五元组(s
t
,a
t
,r
t
,s
t+1
,done),其中,s
t
表示当前机械臂的观测状态,a
t
表示当前机械臂动作输出结果,r
t
表示当前对应的奖励值,s
t+1
表示下一时刻机械臂的观测状态,done表示任务完成情况;
[0114]
其中,所述td-error指的是temporal difference error(时序差分误差),是强化学习td(temporal difference)算法中一项重要的衡量指标,它表示当前时间步中真实回报与预测回报的差值,td算法通过不断地更新价值函数的估计值来逐步逼近真实的价值函数。在每个时间步,td算法会根据当前状态和估计值函数的值来估算当前的回报,然后与真实的回报进行比较,计算出td-error;
[0115]
进一步,td-error的数学表达式如下所示:
[0116][0117]
上式中,r
t+1
表示t+1时刻累积奖励值,表示td-target时序差分目标,δ
t
表示t时刻的时间差分误差,γ表示折扣因子,用于平衡当前和未来奖励的重要性,q(s
t
)表示当前状态的值函数估计值。
[0118]
其中,所述td-target指的是temporal difference target(时序差分目标),也是强化学习td算法中的一个重要概念,td算法通过不断地更新价值函数的估计值来逐步逼近真实的价值函数。在每个时间步,td算法会根据当前状态和估计值函数的值来估算当前的回报,然后与真实的回报进行比较,计算出td-error,然后再使用td-error来更新估计值函数的值,td-target是td算法在更新估计值函数时需要用到的目标值,通常被定义为当前时间步的回报加上折扣因子乘以下一个状态的价值函数估计值。
[0119]
s31、基于sumtree二叉树并结合经验样本的权重对经验样本池中的数据进行存储处理;
[0120]
具体地,经验样本的权重计算方法确定后,per算法利用sumtree二叉树的形式存
储样本,sumtree二叉树如图5所示,在sumtree二叉树中,叶子节点存储经验样本,叶子节点除了需要保存经验样本的五元组外,还需要携带其优先级如图5中灰色节点里面的值,而其他节点不用存储经验样本,只保留其子节点的数值之和;
[0121]
per算法采用过程以图5为例,首先per会通过对(0,38)做均匀采样,如果采样值为25,会从根节点出发先对左子节点进行比较,因为25大于15,则会进入到右子节点,然后减去跳过的左子树总和15,这时候采样值剩余10,根节点变为23,以23为根节点,继续比较左子节点与采样值的大小,因为10大于5,则选择右子节点18作为下一轮的根节点,采样值为5,最后因为18为叶子节点,此时叶子节点上了存储经验样本的五元组,就会将该五元组作为最后的训练样本,这种存储方式能够保证权重越大的经验样本,在对经验池进行采样时被选择的概率越大,这是因为经验样本的权重越大,它所代表的选择区间越大。对于均匀采样的经验池每个数值被选择概率是相同的,经验样本代表的区间大小表示数值选择的范围,而范围越大的经验样本,被选择的概率越大。
[0122]
s32、引入最小堆的二叉树数据结构,基于经验样本的权重对经验样本池中的数据进行置换处理;
[0123]
具体地,最小堆的数据结构是二叉树的形式,排序方式只需要满足头结点是最小值就行,所以它的插入和删除操作的时间复杂度都为o(log n),比一般的排序方式效果好,在sumtree进行经验样本置换时,如果采用先进先出的方式,可能会导致权重大的经验样本被置换。而二叉堆的方式保证每次置换的都是权重较小的经验样本,更有利于网络的训练;
[0124]
per算法虽然通过利用td-error权重计算方式和sumtree二叉树样本存储方式实现了对经验池权重较大的经验样本的优先回放,但是却没有对经验池的大小做限制,采取的是全保留的形式,虽然保证了经验的多样性,但是对于大量训练样本来说,无疑会对内存和计算效率产生影响。传统的解决方法是对经验池设置一个上限,对于达到上限的经验池需要对经验样本进行置换,将新的经验样本替代旧的经验样本,置换方法一般是采用先进先出(first-in-first-out,fifo)的思想,按照进入经验池的时间先后顺序依次进行替代,这种方式能够将最新的经验样本存储在经验池中,保证了每个经验样本得到相同的存储时间,但是每个经验样本的权重是不同的,权重大学习效果好的经验样本可能会因为先进先出算法而被替换,这其实是对训练不利的,对于权重大学习效果好的经验样本应该尽可能保留在经验池中,反而权重小的经验样本应该被最新的经验样本所替代,让经验池中的经验样本更加优秀,针对于这类问题,本发明引入了最小堆的数据结构,利用数组维系一个依据权重大小的最小堆,最小堆是一颗完全二叉树,其根节点的值小于左右子节点的值,并且维持根节点是整个样本空间的最小值,其二叉树如图6所示;
[0125]
参照图7和图8,每个节点代表经验样本的权重,同时存储了经验样本的索引,根节点为样本空间中最小值,当经验池达到了最大样本数量之后,新的经验样本将会对权重最小的经验样本进行替代,首先利用最小堆对根节点进行删除,将根节点的经验样本用二叉树中最后一个节点的经验样本覆盖,然后再自顶向下递归调整,让整个二叉树重新满足最小堆的数据结构。经过调整,最终移除了权重最低的经验样本,下一步将新的经验样本插入到二叉树最后一个节点后面,通过向上递归,将权重最小的经验样本移到根节点,其中灰色的节点为新插入的经验样本,图7和图8展示了一轮经验样本替换过程,结合最小堆的特点,其替换效率相较于普通的排序方法计算效率更高,同时替换过程中保留了权重大的经验样
本数据,将权重小的样本用最新的经验样本代替。
[0126]
进一步,本发明基于二叉堆的per算法在三组不同的指标下同现有的算法进行仿真实验对比分析,如图9、图10和图11所示,很明显表明在三组不同的指标下基于二叉堆的per算法都明显优于其他两种方法,基于二叉堆的per算法在经验池满容量的情况下,对经验样本进行置换时能够保留更大权重的经验样本,使得深度确定性策略算法在从经验池中采用样本更新actor网络和critic网络参数时能够有更大的几率采样到权重大的经验样本,而对于网络训练作用小权重小的经验样本则通过置换方法将其从经验池中被新的经验样本所代替,这种方式能够做到最大化提升高权重的经验样本利用率,基于fifo的per算法训练效果也明显要优于随机采样算法,这也能证明采用td-error作为权重标准的经验回放策略采样得到的经验样本更加利于网络的训练,其中对于2000集到3000集这段区间内基于fifo的per算法平均奖励值波动大且高于基于二叉堆的per算法,经过步骤三对per算法原理介绍可知,per算法虽然对经验样本按照td-error标准进行了分类并且以sumtree二叉树对样本进行了存储,但是在采样过程中,依然存在着采样到权重较小的经验样本的概率,这会实验产生一定的随机性,这是属于正常情况,从图9、图10和图11几组实验可见,本发明提出的基于二叉堆的优先经验回放策略对深度确定性策略算法有着很好的效果,能够提高机械臂训练样本的利用率,提高训练速度。
[0127]
参照图2,基于深度确定性策略梯度的机械臂路径规划系统,包括:
[0128]
构建模块,用于构建机械臂多任务运动模型、深度确定性策略梯度算法网络模型、机械臂的末端循迹的分层奖励函数和经验样本池;
[0129]
训练模块,基于分层奖励函数和经验样本的权重对深度确定性策略梯度算法网络模型进行训练,获取训练后的深度确定性策略梯度算法网络模型;
[0130]
规划模块,用于将训练后的深度确定性策略梯度算法网络模型部署至机械臂多任务运动模型,对机械臂进行路径规划。
[0131]
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0132]
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。

技术特征:
1.基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,包括以下步骤:考虑机械臂的三维空间运动特点,构建机械臂多任务运动模型,所述机械臂多任务运动包括机械臂的末端循迹、机械臂的推动和机械臂的抓取;基于actor-critic网络结构,建立深度确定性策略梯度算法网络模型;引入预设奖励规则,构建用于机械臂的末端循迹的分层奖励函数;引入优先经验回放机制,积累经验样本池,获取经验样本的权重;基于分层奖励函数和经验样本的权重对深度确定性策略梯度算法网络模型进行训练,获取训练后的深度确定性策略梯度算法网络模型;将训练后的深度确定性策略梯度算法网络模型部署至机械臂多任务运动模型,对机械臂进行路径规划。2.根据权利要求1所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,所述考虑机械臂的三维空间运动特点,构建机械臂多任务运动模型这一步骤,其具体包括:绘制机械臂三维运动模型;初始化虚拟环境,设定机械臂三维运动模型基于虚拟环境中的坐标系o-xyz;规定机械臂的动作空间、观测状态信息和动作信息,并设定机械臂的更新步骤。3.根据权利要求2所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,所述基于actor-critic网络结构,建立深度确定性策略梯度算法网络模型这一步骤,其具体包括:所述深度确定性策略梯度算法网络模型通过最大累计奖励值进行更新确定性策略参数,并输出机械臂动作空间的概率,所述深度确定性策略梯度算法网络模型包括主网络和目标网络,所述主网络包括actor网络和critic网络,所述目标网络包括target actor网络和target critic网络;所述actor网络采用确定性策略,给定输入状态,对输入状态进行求积分,输出一个确定的动作信息,并将确定性策略梯度函数作为更新actor网络参数方法;所述critic网络为评价网络,用于计算q值,以评价actor网络所采用策略的好坏,并将状态-动作值函数作为更新critic网络参数方法;所述目标网络用于计算目标q值,并辅助更新主网络的参数。4.根据权利要求3所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,所述深度确定性策略梯度算法网络模型的表达式具体如下所示:上式中,μ
ω
表示确定性策略,j(
·
)表示训练目标,通过最大化j(
·
)训练网络,r表示网络通过执行策略μ
ω
后获得的期望值,s表示环境反馈的状态,μ
ω
表示状态的分布函数,表示对进行积分。5.根据权利要求4所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,所述预设奖励规则,其具体包括:预发动作训练任务至所述机械臂多任务运动模型;考虑机械臂的任务完成情况,对于完成任务的机械臂,进行发送预设目标设定值的奖励,对于未完成任务的机械臂则不发送奖励值;
考虑机械臂的完成任务的停留步数,对于停留在目标区域超过预设步数的机械臂,进行发送一次性奖励减去在完成目标之后减去所消耗的步数乘以预设系数的奖励值,对于停留在目标区域小于预设步数的机械臂则不发送奖励值;考虑机械臂的完成任务的步数,计算机械臂完成预发动作训练任务所消耗的步数,发送预设比例值乘以所消耗的步数的负奖励值;考虑机械臂末端与目标之间的距离,若所述机械臂末端与目标之间的距离小于设定值,给予机械臂预设的奖励值。6.根据权利要求5所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,所述引入优先经验回放机制,积累经验样本池这一步骤,其具体包括:观测当前机械臂的状态,并输入至actor网络得到对应的机械臂动作输出结果,将机械臂动作输出结果存储至经验样本池;机械臂多任务运动模型执行机械臂动作输出结果,更新机械臂的状态得到下一时刻机械臂的观测状态,并计算得到对应的奖励值;将当前机械臂的状态和机械臂动作输出结果输入至critic网络,获取q估计值;将下一时刻机械臂的观测状态输入至target actor网络,获取下一时刻机械臂的动作输出结果;将下一时刻机械臂的观测状态和下一时刻机械臂的动作输出结果输入至target critic网络,获取q目标值;对q估计值和q目标值进行作差计算处理,获取td-error值,其中,td-error值越大代表经验学习的潜力越大,其优先级越高;循环上述主网络与目标网络的执行步骤,积累经验样本池,并将td-error值设定为对应经验样本的权重,所述经验样本池存放的数据形式为五元组(s
t
,a
t
,r
t
,s
t+1
,done),其中,s
t
表示当前机械臂的观测状态,a
t
表示当前机械臂动作输出结果,r
t
表示当前对应的奖励值,s
t+1
表示下一时刻机械臂的观测状态,done表示任务完成情况。7.根据权利要求6所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,所述td-error的计算表达式为:上式中,r
t+1
表示t+1时刻累积奖励值,表示td-target时序差分目标,δ
t
表示t时刻的时间差分误差,γ表示折扣因子,用于平衡当前和未来奖励的重要性,q(s
t
)表示当前状态的值函数估计值。8.根据权利要求7所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,还包括基于sumtree二叉树并结合经验样本的权重对经验样本池中的数据进行存储处理,具体为:引入最小堆的二叉树数据结构,所述最小堆的二叉树数据结构包括叶子节点和根节点,所述叶子节点用于存储经验样本的五元组数据和对应的td-error值,所述根节点保留其叶子节点的td-error值之和;对最小堆的二叉树数据结构中的节点进行均匀采样处理,预设一个采样值;将采样值与最小堆的二叉树数据结构中的左根节点的左子节点进行比较,若所述采样
值大于所述根节点的左子节点,则将采样值与根节点的左子节点的值进行作差计算处理,得到的差值为下一时刻的采样值,并进入右根节点;将下一时刻的采样值与右根节点的左子节点进行比较,直至所述比较结果大于所述根节点对应的叶子结点,将经验样本的五元组数据存储至所述根节点对应的叶子结点中。9.根据权利要求8所述基于深度确定性策略梯度的机械臂路径规划方法,其特征在于,还包括引入最小堆的二叉树数据结构,基于经验样本的权重对经验样本池中的数据进行置换处理,具体为:当经验池达到最大样本数量,新的经验样本将会对权重最小的经验样本进行替代;通过最小堆对根节点进行删除,将根节点的经验样本用二叉树中最后一个节点的经验样本覆盖,并进行自顶向下递归调整,调整目标为让整个二叉树重新满足最小堆的数据结构;将新的经验样本插入至二叉树最后一个节点后面,通过向上递归,将权重最小的经验样本移至根节点。10.基于深度确定性策略梯度的机械臂路径规划系统,其特征在于,包括以下模块:构建模块,用于构建机械臂多任务运动模型、深度确定性策略梯度算法网络模型、机械臂的末端循迹的分层奖励函数和经验样本池;训练模块,基于分层奖励函数和经验样本的权重对深度确定性策略梯度算法网络模型进行训练,获取训练后的深度确定性策略梯度算法网络模型;规划模块,用于将训练后的深度确定性策略梯度算法网络模型部署至机械臂多任务运动模型,对机械臂进行路径规划。

技术总结
本发明公开了基于深度确定性策略梯度的机械臂路径规划方法及系统,该方法包括:构建机械臂多任务运动模型、深度确定性策略梯度算法网络模型、机械臂的末端循迹的分层奖励函数和经验样本池;基于分层奖励函数和经验样本的权重对深度确定性策略梯度算法网络模型进行训练,获取训练后的深度确定性策略梯度算法网络模型;将训练后的深度确定性策略梯度算法网络模型部署至机械臂多任务运动模型,对机械臂进行路径规划。通过使用本发明,能够提高机械臂训练样本的利用率和训练速度。本发明作为基于深度确定性策略梯度的机械臂路径规划方法及系统,可广泛应用于机器人机械臂路径规划技术领域。术领域。术领域。


技术研发人员:安玲玲 谢振 万波 张慧锋 罗贤涛
受保护的技术使用者:西安电子科技大学 深圳瑞德林生物技术有限公司
技术研发日:2023.06.14
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐