一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进DDPG算法的高效路径规划方法、装置及介质

2022-07-30 22:34:34 来源:中国专利 TAG:

一种基于改进ddpg算法的高效路径规划方法、装置及介质
技术领域
1.本发明涉及机器人路径规划技术领域,尤其涉及一种基于改进ddpg算法的高效路径规划方法、装置及介质。


背景技术:

2.随着机器人技术的兴起与不断发展,机器人的应用越来越广泛,在越来越多的领域都发挥着重要作用。路径规划作为机器人应用的关键技术之一,已经成为机器人趋向人工智能化不可或缺的组成部分。理想的路径规划方法可以大大节省机器人在路上的运动时间,帮助机器人高效、准确完成任务,为机器人在各行业中的应用提供有利保障。
3.近年来,随着人工智能的兴起,基于深度强化学习的路径规划方法应运而生。q-learning是一种用于路径规划的典型强化学习算法,其利用q值表对状态-动作值进行存储和更新,根据机器人所学习的经验知识对q值表进行更新,收敛后根据q值求出最优路径。但当环境复杂时,由于状态-动作过多,需要维护的q值表过大,导致消耗的内存空间剧增,且维数过大时还会导致维数灾难。2013年,google deepmind将深度学习与q-learning相结合,使用神经网络来近似值函数,首次提出了深度q学习(dqn),实现了从感知到动作的端到端的革命性算法,解决了q-learning中的维数灾难问题。但是,该方法仅仅适用于离散动作空间,无法应用到连续动作空间。google deepmind在2015年将dqn纳入actor-critic框架,提出了深度确定性策略梯度(ddpg),解决了连续动作空间问题,使用ddpg进行机器人路径规划时,就可以输出连续的动作。但是当环境比较复杂时,ddpg算法容易陷入局部最优,存在成功率低、学习速度慢等问题。lei tai等人提出了一种基于学习的无地图运动规划器,以稀疏的10维范围和目标相对于机器人坐标系的位置作为输入,以连续转向命令作为输出,将ddpg扩展到异步版本,以提高采样效率,结果证明该规划器能够在不与任何障碍物碰撞的情况下,将机器人导航到期望的目标位置。但该方法既没有先前观测的记忆,也没有长期预测能力,所规划的路径较为曲折,且不是最优路径。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供一种基于改进ddpg算法的高效路径规划方法、装置及介质。
5.第一方面,本发明提供一种基于改进ddpg算法的高效路径规划方法,包括:
6.构造并初始化改进的ddpg神经网络;
7.其中,改进的ddpg神经网络的actor当前网络和actor目标网络结构相同,均包括用于输入状态矩阵的第一输入层,第一输入层连接第一lstm网络,第一lstm网络经batch normalization连接第一全连接层,第一全连接层经batch normalization连接第二全连接层,第二全连接层经batch normalization连接输出动作的第一输出层,第一输出层输出动作添加高斯和ou混合噪声;
8.改进的ddpg神经网络的critic当前网络和critic目标网络结构相同,均包括输入
状态矩阵的第二输入层和输入机器人动作的第三输入层,第二输入层连接第二lstm网络,第三输入层连接第四全连接层,第二lstm网络和第四全连接层均连接第五全连接层,第五全连接层连接第二输出层;
9.改进的ddpg神经网络的经验池存储包括状态矩阵、动作、奖励和下一时刻的状态矩阵的经验数据;
10.依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵;
11.将当前的状态矩阵输入到改进的ddpg神经网络获取规划动作,执行规划动作进而获取下一时刻的状态矩阵并计算规划动作的对应的奖励,形成经验数据并存储于经验池;
12.经验池的经验数据达到预设量时,从经验池中随机采样经验数据作为样本数据,利用样本数据对改进的ddpg神经网络进行训练获取路径规划模型;通过路径规划模型规划路线。
13.更进一步地,第一全连接层、第二全连接层、第三全连接层、第四全连接层和第五全连接层均采用relu函数作为激活函数。
14.更进一步地,按如下公式为第一输出层输出动作添加高斯和ou混合噪声:
15.其中,θ为随机过程的学习率,a
t
为t时刻的动作,为动作采样数据的平均值,δ为ou随机权值,w
t
为维纳过程,var为高斯方差,var值随着训练次数的增加,对环境的适应而降低,var值更新的公式为var=var*α,α为小于1的衰减系数。
16.更进一步地,经验数据中奖励的计算方法如下:机器人到达目标点时奖励为预设的第一分值,机器人碰到障碍物时奖励为预设的第二分值,机器人未达目标点且未碰障碍物奖励为机器人到起点距离与机器人到目标点距离之差,其中预设的第一分值为正常数,预设的第二分值为负常数。
17.更进一步地,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵中采集的环境信息包括:通过激光传感器采集机器人在相对正前方-90
°
至90
°
范围的十个方向上与障碍物之间的十个距离,其中十个方向包括相对正前方的
±
10
°

±
30
°

±
50
°

±
70
°

±
90
°

18.更进一步地,机器人与障碍物距离小于激光传感器最小探测距离时,判断机器人与障碍物碰撞。
19.更进一步地,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵中归一化处理的机器人与目标点的相对位置关系包括:归一化处理的机器人与目标点的相对距离、相对角度、归一化处理的机器人偏航角和归一化处理的机器人与目标点的差角;
20.其中,机器人与目标点的相对距离除以环境地图的对角线长度获取归一化处理的相对距离,机器人与目标点的相对角度除以360获取归一化处理的相对角度,机器人的偏航角除以360获取归一化处理的偏航角,机器人与目标点的差角除以180获取归一化处理的差角,机器人与目标点的差角等于机器人与目标点的相对角度减去机器人偏航角。
21.更进一步地,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上
一规划动作和采集的环境信息得到机器人当前的状态矩阵中机器人上一规划动作包括机器人上一时刻的线速度、机器人上一时刻的角速度。
22.第二方面,本发明提供一种执行基于改进ddpg算法的高效路径规划方法的装置,包括:处理单元,存储单元,状态采集单元,动作执行单元,所述处理单元、所述存储单元、所述状态采集单元和动作执行单元通过总线连接,所述存储单元存储至少一条指令,所述处理单元读取并执行所述指令实现所述的基于改进ddpg算法的高效路径规划方法。
23.第三方面,本发明提供一种实现基于改进ddpg算法的高效路径规划方法的存储介质,所述实现基于改进ddpg算法的高效路径规划方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的基于改进ddpg算法的高效路径规划方法。
24.本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
25.传统ddpg算法用于机器人路径规划时,由于采用确定性策略,且机器人可观测的环境范围有限,导致路径规划模型训练效率低、收敛速度慢。本发明在ddpg神经网络actor中引入第一lstm网络,在critic中引入第二lstm网络,利用lstm网络具有“记忆”的特点,综合机器人的以往状态矩阵和当前状态矩阵共同来决定机器人的规划动作,保证机器人前后动作之间的相关性,并在actor中增加batch normalization,提高算法的稳定性,提高算法的收敛速度。同时,优化设计奖励的计算方式,引导机器人更快地朝目标点方向运动。采用不同归一化方法对机器人与目标点的相对位置关系的各个参数进行归一化处理,提高学习效率。改进的ddpg神经网络在输出机器人下一步动作时,添加高斯和ou混合噪声,进一步提高机器人的探索性,使机器人能够以最优路径快速到达目标点。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1为传统的ddpg神经网络的整体架构示意图;
29.图2为本发明实施例提供的改进的ddpg神经网络的整体架构示意图;
30.图3为本发明实施例提供的改进的ddpg神经网络的actor当前网络和actor目标网络的示意图;
31.图4为本发明实施例提供的改进的ddpg神经网络的critic当前网络和critic目标网络的示意图;
32.图5为本发明实施例提供的用于采集环境信息的十个方向示意图;
33.图6为本发明实施例提供的一种执行基于改进ddpg算法的高效路径规划方法的装置的示意图。
具体实施方式
34.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
35.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
36.ddpg算法基于actor-critic架构并借鉴了dqn的经验重放机制和目标网络思想,用于解决连续动作问题。ddpg算法神经网络结构由actor当前网络和actor目标网络、critic当前网络和actor目标网络四部分组成。经验重放机制的作用是将样本收集起来,每次训练时从经验池中随机分批采样,以减少样本之间的相关性。目标网络会在一定时间内固定网络中的参数,从而消除当前网络和目标网络因参数相同而引起模型震荡。在路径规划过程中,机器人通过与环境交互得到状态s,actor当前网络则根据状态s输出机器人的动作a,机器人执行动作a后,基于执行a后的环境信息得到奖励r。critic当前网络根据机器人的状态s和动作a,输出q值作为对动作的评价。actor目标网络和critic目标网络主要用于后续的更新过程。传统ddpg算法神经网络结构如图1所示。
37.传统ddpg算法神经网络训练的过程如下:
38.(1)初始化actor当前网络μ(s|θ
μ
)和critic当前网络q(s,a|θq),以及actor目标网络θ
μ
'

θ
μ
、critic目标网络θq'

θq和经验池d;
39.(2)将机器人的当前状态s
t
输入到actor当前网络,得到动作a
t
,通过执行动作得到奖励r,并获得下一步的新状态s
t 1

40.(3)将s
t
,a
t
,r,s
t 1
存入经验池d中。当经验池中的样本数达到一定数量时,则从经验池d中随机采样n个样本数据进行网络训练;
41.(4)根据公式(1)计算critic当前网络损失函数;
[0042][0043]
式中,yi=ri γq'(s
i 1
,μ'(s
i 1

μ
')|θq')为目标值,γ为折现系数,i为采样的样本序号。
[0044]
(5)根据公式(2)更新actor当前网络参数;
[0045][0046]
式中,为梯度。
[0047]
(6)根据公式(3)采用软更新策略对actor目标网络参数θ
μ
'和critic目标网络参数θq'进行更新。
[0048][0049]
式中,τ为常数系数,用于调节软更新因子。
[0050]
(7)重复上述步骤,直到ddpg算法神经网络训练完成。
[0051]
ddpg算法作为深度强化学习的主流算法之一,目前广泛应用于机器人路径规划。由于算法采用连续状态空间和动作空间,尤其适用于机器人的实际运动过程,在复杂环境中显示出了巨大的潜力。ddpg算法能够在自主构建的虚拟环境下训练模型,并直接应用于实际环境,算法的泛化能力强。但是由于采用确定性策略,在模型训练初期,会导致机器人探索动作单一,难以获得有效的学习。特别是在复杂的环境中,由于机器人可观测的环境范围有限,ddpg难以获取足够的环境信息,导致算法训练效率低、收敛速度慢。
[0052]
为了解决上述传统ddpg算法的技术问题或者至少部分地解决上述技术问题,本发明提供一种基于改进ddpg算法的高效路径规划方法、装置及介质。
[0053]
实施例1
[0054]
本发明实施例提供一种基于改进ddpg算法的高效路径规划方法,包括:
[0055]
s100,参阅图2所示,构造并初始化改进的ddpg神经网络;
[0056]
其中,改进的ddpg神经网络的actor当前网络和actor目标网络结构相同,参阅图3所示,均包括用于输入状态矩阵的第一输入层,第一输入层连接第一lstm网络,第一lstm网络经batch normalization连接第一全连接层,所述第一全连接层包含400个节点,所述第一全连接层经batch normalization连接第二全连接层,所述第二全连接层包含300个节点,所述第二全连接层经batch normalization连接输出动作的第一输出层,对第一输出层输出动作添加高斯和ou混合噪声,具体实施过程中,按如下公式为第一输出层输出动作添加高斯和ou混合噪声:
[0057]
其中,
[0058]
θ为随机过程的学习率,a
t
为t时刻的动作,为动作采样数据的平均值,δ为ou随机权值,w
t
为维纳过程,var为高斯方差,var值随着训练次数的增加,对环境的适应而降低,var值更新的公式为var=var*α,α为小于1的衰减系数,一种可行的衰减系数选取0.9999。
[0059]
改进的ddpg神经网络的critic当前网络和critic目标网络结构相同,参阅图4所示,均包括输入状态矩阵的第二输入层和输入机器人动作的第三输入层,所述第二输入层连接第二lstm网络,所述第三输入层连接第四全连接层,所述第四全连接层包含400节点,所述第二lstm网络和所述第四全连接层均连接第五全连接层,所述第五全连接层包含300节点,所述第五全连接层连接用于输出q值的第二输出层。由第二lstm网络对状态矩阵进行处理,由第四全连接层对动作进行处理,然后将第二lstm网络的处理结果和第四全连接层的处理结果经第五全连接层处理后由第二输出层输出q值。
[0060]
改进的ddpg神经网络的第一全连接层、第二全连接层、第三全连接层、第四全连接层和第五全连接层均采用relu函数作为激活函数。
[0061]
改进的ddpg神经网络的经验池存储包括状态矩阵、动作、奖励和下一时刻的状态矩阵的经验数据;本技术对奖励的计算方法进行改进,经验数据中奖励的计算方法如下:机器人到达目标点时奖励为预设的第一分值,机器人碰到障碍物时奖励为预设的第二分值,机器人未达目标点且未碰障碍物奖励为机器人到起点距离与机器人到目标点距离之差,其中预设的第一分值为正常数,预设的第二分值为负常数。一种优选地第一分值选用150,一种优选的第二分值选用-100。
[0062]
传统的ddpg算法在进行路径规划时,输出端动作只依赖机器人当前的状态矩阵,
容易导致探测轨迹的混乱,本发明利用lstm网络能够记忆机器人过往状态矩阵的特点,使改进的ddpg神经网络的输出综合考虑过往状态矩阵和当前状态矩阵,使得规划的机器人的动作具有时间相关性,可以有效地避免所规划的路径过于曲折。
[0063]
s200,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵。
[0064]
具体实施过程中,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵中归一化处理的机器人与目标点的相对位置关系包括:归一化处理的机器人与目标点的相对距离、相对角度,归一化处理的机器人偏航角和归一化处理的机器人与目标点的差角;
[0065]
其中,机器人与目标点的相对距离除以环境地图的对角线长度获取归一化处理的相对距离,机器人与目标点的相对角度除以360获取归一化处理的相对角度,机器人的偏航角除以360获取归一化处理的偏航角,机器人与目标点的差角除以180获取归一化处理的差角,机器人与目标点的差角等于机器人与目标点的相对角度减去机器人偏航角。
[0066]
具体实施过程中,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵中机器人上一规划动作包括机器人上一时刻的线速度、机器人上一时刻的角速度。
[0067]
具体实施过程中,依次整合归一化处理的机器人与目标点的相对位置关系、机器人上一规划动作和采集的环境信息得到机器人当前的状态矩阵中采集的环境信息包括:通过激光传感器采集机器人在相对正前方-90
°
至90
°
范围的十个方向上与障碍物之间的十个距离,其中参阅图5所示,十个方向包括相对机器人正前方的
±
10
°

±
30
°

±
50
°

±
70
°

±
90
°
。具体实施过程中,机器人与障碍物距离小于激光传感器最小探测距离时,判断机器人与障碍物碰撞,根据是否与障碍物碰撞进行奖励计算。
[0068]
s300,进行经验数据的积累。具体的,将机器人当前的状态矩阵输入到改进的ddpg神经网络获取规划动作,机器人执行规划动作进而获取下一时刻的状态矩阵,并计算规划动作的对应的奖励,将当前状态矩阵、规划动作、规划动作的奖励和下一时刻的状态矩阵形成经验数据并存储于经验池。
[0069]
s400,经验池的经验数据达到预设量时,从经验池中随机采样经验数据作为样本数据,利用样本数据对改进的ddpg神经网络进行训练获取路径规划模型,利用路径规划模型规划路径。
[0070]
实施例2
[0071]
参阅图6所示,本发明实施例提供一种执行基于改进ddpg算法的高效路径规划方法的装置,包括:处理单元,存储单元,状态采集单元,动作执行单元,所述处理单元、所述存储单元、所述状态采集单元和动作执行单元通过总线连接,所述存储单元存储至少一条指令,所述处理单元读取并执行所述指令实现所述的基于改进ddpg算法的高效路径规划方法。具体的,所述动作执行单元为机器人驱动电路,处理单元通过控制总线连接机器人驱动电路,控制机器人按规划动作执行的线速度和角速度。所述状态采集单元包括但不限于用于测距的激光传感器和用于感应机器人姿态的三轴加速度传感器。
[0072]
实施例3
[0073]
本发明实施例提供一种实现基于改进ddpg算法的高效路径规划方法的存储介质,
所述实现基于改进ddpg算法的高效路径规划方法的存储介质存储至少一条指令,读取并执行所述指令实现所述的基于改进ddpg算法的高效路径规划方法。
[0074]
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0075]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0076]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0077]
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献