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

基于免疫深度强化学习的移动机器人自主导航方法与流程

2021-09-18 02:25:00 来源:中国专利 TAG:机器人 算法 运动学 自主 导航


1.本发明属于移动机器人领域,涉及动态、复杂且无环境地图信息的室内场景下的移动机器人自主导航算法。具体是结合移动机器人运动学分析、信息熵理论以及免疫优化算法对ddpg算法改进的一种自主导航方法(kai

ddpg,ddpg algorithm based on immune optimization and kinematics analysis)。


背景技术:

2.随着科技的进步和社会的发展,移动机器人作为提高人们生活质量的载体,在医疗、军事、物流、航天等行业的应用日益广泛。导航技术作为移动机器人的基础能力,有着巨大的发展前景。大量成熟的经典导航技术能够很好地运用于静态的、简单的、已知的环境中。但如今,移动机器人被应用于各个领域中,经常会面临复杂的、动态的、陌生的环境,此时,传统的基于地图的导航方法就很难满足相关要求。为此,无地图自主导航方法应运而生。
3.在众多无地图自主导航方法中,深度强化学习因为同时具备深度学习的强大表征能力以及强化学习的强大决策能力,使得智能体拥有了更强的适应性,进而能够更好地处理复杂系统的感知和决策问题。近几年,大量国内外学者将深度强化学习算法应用于移动机器人无地图自主导航中,取得了一定的效果。
4.在众多深度强化学习算法中,ddpg算法能够稳定且高效地处理连续的控制任务,许多研究人员也将其用来解决移动机器人的导航问题,并通过大量的文章和实验证明可知,ddpg算法具有较好的导航效果。本发明在ddpg算法的基础上,提出了一种结合移动机器人的运动学分析、信息熵理论以及免疫优化的移动机器人自主导航方法(kai

ddpg),取得了更好的导航效果。
5.kai

ddpg算法避免了传统的基于地图的导航方法的建图过程,节约了大量的时间成本以及人力成本,并且相较于基于地图的导航方法来说,kai

ddpg算法还拥有较强的适应现实中多变的动态环境和大型环境的能力。


技术实现要素:

6.本发明提出了一种基于ddpg算法,并结合移动机器人的运动学分析、信息熵理论以及免疫优化的移动机器人实时、在线自主导航方法(kai

ddpg)。相较于ddpg算法,kai

ddpg算法具备更好的环境适应能力以及更高的学习训练效率,并且能够使得移动机器人获得更优秀的导航路径,具有一定的实际应用价值。
7.第一方面,本发明将ddpg算法应用于移动机器人自主导航时,由于其奖赏函数的设计没有结合移动机器人的运动学分析,进而会导致移动机器人的运动轨迹漂移、甚至陷入局部最优等问题,首先对移动机器人进行了运动学建模分析,并在此基础上结合了相关运动参数,提出了朝向角奖赏因子、线速度奖赏因子和安全性能奖赏因子,进一步将以上三个奖赏因子引入到了ddpg的奖赏函数中,此外,还引入多目标性能指标,将路径规划问题转
化为一个多目标优化问题,把朝向角、线速度和安全度作为评价指标,以达到优化移动机器人运动轨迹的目的。
8.第二方面,本发明在将朝向角奖赏因子、线速度奖赏因子和安全性能奖赏因子引入到ddpg的奖赏函数中的情况下,考虑到各奖赏因子对导航策略的影响程度不同,为了使这三个奖赏因子的值更合理,引入信息熵的相关理论,对各奖赏因子的影响系数进行调整,以使得奖赏函数能适应各种不同的环境,达到增强移动机器人泛化性的目的。
9.第三方面,本发明在结合移动机器人的运动学分析和信息熵理论对ddpg的奖赏函数进行改进的基础上,考虑到ddpg的“软更新”和“经验回放”机制会使得ddpg算法的训练时间变长,且其对优秀经验样本的利用效率不高的问题,进一步运用免疫算法对ddpg经验缓存池中经验组的奖赏值进行优化,以达到加快算法学习训练速度的目的。
10.本发明基于ddpg算法,并结合移动机器人的运动学分析、信息熵理论以及免疫优化,提出了kai

ddpg算法,并在gazebo仿真平台下搭建的简单、动态和复杂三种场景中,对kai

ddpg算法进行网络模型的训练,进一步对训练好的模型进行测试,以验证kai

ddpg算法的导航性能。
11.本发明通过将gazebo仿真环境下训练好的网络模型导入真实移动机器人,并进一步测试真实移动机器人在模仿仿真环境而搭建的真实简单、动态和复杂环境下的导航性能,以验证本发明所提算法的有效性,进一步证明kai

ddpg算法具有一定的实际应用价值。
附图说明
12.构成本发明创造的一部分的附图用来提供对本发明创造的进一步理解,本发明创造的示意性实施例及其说明用于解释本发明创造,并不构成对本发明创造的不当限定。在附图中:
13.图1为本发明创造实施例所述的深度强化学习基本架构示意图;
14.图2为本发明创造实施例所述的ddpg算法流程示意图;
15.图3为本发明创造实施例所述的基于ddpg算法的自主导航框架图;
16.图4为本发明创造实施例所述的移动机器人运动特性图;
17.图5为本发明创造实施例所述的移动机器人运动学模型simulink仿真图;
18.图6为本发明创造实施例所述的kai

ddpg算法框架图;
19.图7为本发明创造实施例所述的简单仿真场景下基于各导航算法的移动机器人运动轨迹图;
20.图8为本发明创造实施例所述的简单仿真场景下随迭代步数变化的ddpg和ka

ddpg的导航成功率曲线图;
21.图9为本发明创造实施例所述的简单仿真场景下随迭代步数变化的ka

ddpg和kai

ddpg的平均奖赏值曲线图;
22.图10为本发明创造实施例所述的动态仿真场景下基于ka

ddpg算法的移动机器人运动轨迹图;
23.图11为本发明创造实施例所述的复杂仿真场景下基于各导航算法的移动机器人运动轨迹图;
24.图12为本发明创造实施例所述的复杂仿真场景下随迭代步数变化的ddpg和ka

ddpg的导航成功率曲线图;
25.图13为本发明创造实施例所述的复杂仿真场景下随迭代步数变化的ka

ddpg和kai

ddpg的平均奖赏值曲线图;
26.图14为本发明创造实施例所述的简单真实场景下基于kai

ddpg算法的移动机器人运动轨迹图;
27.图15为本发明创造实施例所述的动态真实场景下基于kai

ddpg算法的移动机器人运动轨迹图;
28.图16为本发明创造实施例所述的复杂真实场景下基于kai

ddpg算法的移动机器人运动轨迹图;
具体实施方式
29.需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。
30.下面将参考附图并结合实施例来详细说明本发明创造。
31.深度强化学习综合了强化学习与深度学习的优点,集感知与决策能力于一体,可用来解决复杂系统的感知与决策问题,近年来被广泛地应用于工程实际当中,如移动机器人的导航。
32.深度强化学习的基本架构如图1所示,智能体使用深度神经网络表示价值函数、策略函数或者模型,而深度学习的输出即智能体选择的动作a。接下来,环境通过执行该动作a得到反馈奖励r,并把r作为损失函数的参数。随后,基于随机梯度算法对损失函数进行求导。最后,通过网络模型的训练,优化深度神经网络中的权值参数。
33.大量文章和实验证明在众多深度强化学习算法中,ddpg算法不仅能稳定地解决连续的控制任务,而且其求解速度快,获得的解较优。
34.ddpg算法有着诸多优点,但在将其运用于移动机器人的导航时,效果仍然有待提高,其在gazebo仿真环境中可勉强进行导航,但在将该算法运用于真实移动机器人上时,效果则非常不好。
35.针对ddpg算法难以使得移动机器人运动轨迹达到最优、适应能力差等问题,本发明基于ddpg算法,结合了移动机器人的运动学分析、信息熵理论提出了ka

ddpg算法(ddpg based on kinematic analysis),解决了以上问题。
36.针对ka

ddpg算法仍然存在的学习训练效率低的问题,本发明基于ka

ddpg算法,通过引入免疫算法对其经验缓存池中的经验样本进行优化,提出了kai

ddpg算法(ka

ddpg based on immune optimization),解决了ka

ddpg算法学习训练时间长的问题。
37.最后通过在gazebo仿真平台上进行仿真实验与在真实环境中进行实际应用,验证算法的可行性与泛化能力。ddpg算法
38.lillicrap et al.(2015)将dqn算法与dpg算法(silver et al.,2014)相结合,提出了ddpg算法,该算法可直接用于解决空间维数很大的连续动作空间问题,如移动机器人的导航,其算法流程如图2所示。
39.ddpg算法引入了actor

critic机制,该机制使用两个独立的网络分别近似演员和
评论家,其中演员网络和评论家网络都采用2层隐藏层的全连接神经网络。
40.演员和评论家网络又分为在线演员和评论家网络与目标演员和评论家网络,在在线演员网络中,以状态s作为输入,用权重参数θ
μ
估计演员网络μ(s|θ
μ
),输出动作a。
41.在在线评论家网络中,以状态s和动作a作为输入,用权重参数θ
q
估计评论家网络q(s,a|θ
q
),输出q值。
42.目标演员网络μ

和目标评论家网络q

,可用于保证在线评论家网络q在学习过程中更稳定、更易收敛。
43.目标演员网络μ

(s
i 1

μ

)和目标评论家网络q

(s
i 1


(s
i 1

μ

)|θ
θ

)的权重分别通过“软更新”方法从在线演员网络和在线评论家网络中获得,如公式(1)和公式(2)所示:θ
μ


τθ
μ
(1

τ)θ
μ

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)θ
q


τθ
q
(1

τ)θ
q

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,θ
μ

代表目标演员网络的权重参数,τ代表软更新的效率,θ
q

代表目标评论家网络的权重参数。
44.ddpg算法运行时,首先需要将当前状态s作为输入,然后通过对在线演员网络中参数θ
μ
进行更新,最终就可输出最优动作a。在ddpg算法中,对θ
μ
的更新主要采用梯度策略算法,如公式(3)所示:其中,n代表经验样本的数量,j代表在线演员网络θ
μ
的梯度。
45.在线演员网络输出的动作好坏由在线评论家网络判定,而在线评论家网络中的θ
q
参数使用最小化损失函数来更新,目的是使评论家网络中的q值和y
i
趋近,在线评论家网络损失函数l的设置如公式(4)所示:其中,y
i
为目标q值,由人为设定的奖赏函数r计算所得到的奖赏值r
i
和目标评论家网络中的q值组成。
46.y
i
的值可由公式(5)求出:y
i
=r
i
γq

(s
i 1


(s
i 1
;θ
μ

);θ
q

)
ꢀꢀꢀꢀꢀꢀꢀ
(5)其中,γ为学习率,可动态调整网络的更新速度。
47.由于在线演员网络的θ
μ
的梯度更新受在线评论家网络的θ
q
的梯度更新影响,所以在在线评论家网络中,θ
q
参数更新的总体质量间接影响演员网络中输出动作的好坏。综上所述,在演员网络中运动决策的好坏,取决于在线评论家网络中奖赏函数的设定规则。ka

ddpg算法
48.ka

ddpg算法基于ddpg算法,并结合了移动机器人的运动学分析、信息熵理论,解决了ddpg算法难以使得移动机器人运动轨迹达到最优、适应能力差等问题。
49.如图3所示,基于ddpg算法的自主导航框架的输入信息为平均分布于移动机器人正前方的10束激光距离信息d(d1,d2,

,d10)、从里程计信息中获得的当前移动机器人的姿态角θ、相对目标点的朝向角θ
orientation
和与目标点的距离d等16维数据,其中θ
orientation

影响ddpg算法奖赏函数的取值大小。
50.本发明的应用载体为turtlebot3 waffle pi移动机器人,其运动特性如图4所示,通过结合相关参数,可对ddpg算法的奖赏函数进行设计,以适应于移动机器人的导航。
51.奖赏函数的合理设置对于ddpg算法的有效执行至关重要,为了让智能体更好地与环境进行交互,就需要所设置的奖赏函数一方面既能够“鼓励”智能体根据环境的反馈做出我们想要的下一步动作,另一方面,也要让智能体保持学习,以适应不同的环境。
52.在图四所示信息的基础上,可对移动机器人进行simulink仿真,如图5所示。由仿真结果可知,turtlebot3 waffle pi移动机器人有着较好的稳定性,可用作本发明的载体。此外,还可知道移动机器人由最大速度减速到静止,需行驶约0.25m,此距离l可用作确定移动机器人的安全半径r
s

53.移动机器人的安全半径r
s
可减小移动机器人的碰撞概率,其可由公式(6)求出:r
s
=l r
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中,r为移动机器人的外接圆半径,l即为移动机器人的最大安全距离,前面求得其值为0.25m。
54.将朝向角奖赏因子r
orientation
、安全性能奖赏因子r
safe
和线速度奖赏因子r
velocity
等作为奖赏函数的奖赏因子。此外,设置两个动态奖赏因子r
collide
和r
goal
,r
collide
主要用来衡量移动机器人是否与障碍物发生碰撞的情况、r
goal
主要用来衡量移动机器人是否成功到达目标点的情况。
55.奖赏函数re由以上五个奖赏因子组成,其表达式如公式(7)所示。re=σ(αr
orientation
β(r
safe
r
velocity
)) r
collide
r
goal
ꢀꢀꢀꢀ
(7)其中,σ为缩放因子,其值可根据实验效果动态调整。主要用于避免某些奖赏因子在一些特定环境下,对奖赏函数的值影响过大。
56.r
orientation
可用于判定移动机器人是否朝着目标点运动,即朝向角为0时,移动机器人正对目标点做直线运动,此时朝向角奖赏因子的值最大,其可由公式(8)求出。其中θ
orientation
代表朝向角的大小。
57.r
safe
可用于判定移动机器人的运动轨迹是否安全,移动机器人与障碍物的距离越远,则安全性能奖赏因子的值也越大,其可由公式(9)求出。r
safe
=d
obstacle

r
s
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)其中d
obstacle
代表移动机器人几何中心与障碍物的距离,r
s
代表移动机器人的安全半径。
58.r
velocity
可用于判定移动机器人的运动速度,运动速度越大,则线速度奖赏因子的值也随之增大,其可由公式(10)求出。r
velocity
=v
current
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)其中v
current
代表移动机器人线速度的大小。
59.考虑到r
orientation
、r
safe
以及r
velocity
对导航策略影响极大,为了使这三个奖赏因子
的值更合理,引入α作为r
orientation
的影响因子、β作为r
safe
和r
velocity
的影响因子,以使得奖赏函数能适应各种不同的环境,达到增强移动机器人泛化性的目的。
60.α、β影响因子具有很大的不确定性,为评估其不确定性,引入信息熵的相关理论,h(x)代表信息熵,它是消除不确定性所需信息量的度量,如果某一事件的发生需要引入很多信息量才能消除其不确定性,则说明信息熵较高,相反则较低。信息熵h(x)可由公式(11)求得:其中,x代表某个未知事件,p
i
代表x事件发生的概率。
61.将移动机器人上一次碰撞(或到达目标点)到下一次碰撞(或到达目标点)看作是一个回合,计算每10000时间步中,每个到达目标点的回合中r
orientation
的信息熵h(orientation)和r
safe
与r
velocity
之和的信息熵h(sv)。如公式(12)和公式(13)所示。之和的信息熵h(sv)。如公式(12)和公式(13)所示。其中,r
orientation
为正值的概率,记作为负值的概率,记作r
safe
r
velocity
为正值的概率,记作为负值的概率,记作
62.α与β的值可分别由公式(14)和公式(15)确定。β=1

α
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)kai

ddpg算法
63.kai

ddpg算法基于ka

ddpg算法,通过引入免疫算法对其经验缓存池中的经验样本进行优化,解决了ka

ddpg算法学习训练时间长的问题。
64.kai

ddpg算法的框架如图6所示,其首先从经验缓存池中抽取m组经验样本,然后把平均奖赏值r
average
看作分类标准对这m组经验样本进行分类,并将奖赏值高于平均奖赏值的经验组放入good组、低于平均奖赏值的经验组放入bad组。其中,r
average
可由公式(16)求出:
65.将good组中每组经验样本中的r
t
看作待优化初始种群,种群的大小为m/2。把good组中经验样本的平均奖赏值r
ga
看作是r
t
的评判标准,如公式(17)所示,将达到评判标准的经验样本加入到免疫优化池中,没有达到评判标准的经验样本进行免疫操作。
其中,g为good组中每组经验样本的序列号。
66.将good组中没有达到评判标准的经验样本克隆十组,记作克隆组。
67.根据奖赏函数re,将克隆组中的奖赏值r
g
分别进行解析,得出r
orientation
、r
safe
和r
velocity
的大小,如果r
orientation
为负值,对a
g
中的角速度进行变异操作;r
velocity
太小,则对a
g
中的线速度进行变异操作;r
safe
为负值,就对角速度和线速度同时进行变异操作。其中,变异操作符合标准的正态分布,如公式(18)和公式(19)所示。a
g
~n(μ,σ2)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(18)其中,μ=0,σ=1。
68.根据变异后的a
g

重新计算得到r
g

,组成新的经验组(s
g
,a
g

,r
g

,s
g 1
),计算并对比被克隆组和克隆组的奖赏值,保留奖赏值最高的经验组。
69.在克隆抑制操作之后的经验组中,用奖赏值较高的经验样本替换初始种群中奖赏值较低的经验样本,得到新种群。接下来,根据评判标准,判断新种群是被放入免疫优化池还是继续进行免疫操作。最后,将good组中的经验样本替换为免疫优化池中的经验样本,以达到高效利用样本数据,进一步增加算法学习训练效率的目的。
70.本发明还进一步优化了经验放回机制,即从good组中抽取大量经验组放回,这样可加速训练过程;同时从bad组中抽取少量经验组放回,可避免算法陷入过拟合和局部最优的问题。仿真实验
71.为了验证kai

ddpg算法的有效性,在ros/gazebo中搭建移动机器人导航仿真场景(模拟真实5米
×
6米室内环境),并建立移动机器人的动力学和运动学模型。导航仿真场景包括简单仿真场景、动态仿真场景和复杂仿真场景,简单仿真场景是障碍物稀少的室内环境,动态仿真场景是模拟障碍物动态变化的室内环境,复杂仿真场景是障碍物比较密集的室内环境。
72.由图7可以明显看出,在简单仿真场景下,基于ka

ddpg算法的导航轨迹相较基于ddpg算法、dqn算法和dwa算法的导航轨迹而言,更短、更平滑;而且与基于a*算法的有地图导航相比,基于ka

ddpg算法的导航轨迹更安全,且转弯角度更符合移动机器人的运动特性。
73.在训练过程中,ddpg算法和ka

ddpg算法在简单仿真场景下的导航成功率随着时间步变化的曲线图如图8所示。通过对比ddpg算法和ka

ddpg算法的导航成功率曲线,经过计算可知,ddpg算法在210000时间步左右趋于收敛,在此之后的平均导航成功率约为89.14%。ka

ddpg算法在180000时间步左右趋于收敛,在此之后的平均导航成功率约为94.93%,相较ddpg算法,其导航成功率提高了5.79%。
74.在训练过程中,ka

ddpg算法与kai

ddpg算法在简单仿真场景下的平均奖赏值随着时间步变化的曲线图如图9所示。由图可知,kai

ddpg的平均奖赏曲线在180000时间步左右就达到了一个比较高的稳定值,而反观ka

ddpg算法,则需要到210000时间步左右才能达到一个比较高的稳定值。经过计算可知,kai

ddpg算法的学习训练速度比ka

ddpg算法快了
近16.67%。
75.在动态仿真场景下,ka

ddpg算法的导航轨迹如图10所示,由图可知,当引入动态障碍物后,移动机器人能够以平滑的路径绕开障碍物,且反应速度快、导航路径短,说明ka

ddpg算法能够较好地适应动态环境,完成动态环境下的各种导航任务。
76.由图11所示,在复杂仿真场景下,基于ka

ddpg算法的导航轨迹最优,其轨迹相较于其他算法的导航轨迹更短、更平滑;a*算法和ddpg算法的导航效果略差于ka

ddpg算法,但都能使得移动机器人顺利到达目标点,其中又以a*算法的导航轨迹略优于ddpg算法;基于dwa算法和dqn算法的无地图导航方法虽然也能使得移动机器人顺利到达目标点,但它们的导航轨迹较差,耗时较长,其中又以dqn算法的导航轨迹最差。
77.在训练过程中,ddpg算法和ka

ddpg算法在复杂仿真场景下的导航成功率随着时间步变化的曲线图如图12所示。通过对比ddpg算法和ka

ddpg算法的导航成功率曲线,经过计算可知,ddpg算法在210000时间步左右趋于收敛,在此之后的平均导航成功率约为76.18%。ka

ddpg算法在200000时间步左右趋于收敛,在此之后的平均导航成功率约为81.97%,相较ddpg算法,其导航成功率提高了5.79%。
78.在训练过程中,ka

ddpg算法与kai

ddpg算法在复杂仿真场景下的平均奖赏值随着时间步变化的曲线图如图13所示。由图可知,kai

ddpg算法的平均奖赏曲线在200000时间步左右就达到了一个比较高的稳定值,且曲线平滑,波动较小;而反观ka

ddpg算法,则需要到210000时间步左右才能达到一个比较高的稳定值。证明了kai

ddpg算法更稳定,更容易收敛,且经过计算可知,kai

ddpg算法的学习训练速度比ka

ddpg算法快了近5%。实际应用
79.如图14所示,在简单真实场景下,kai

ddpg算法成功使得移动机器人避开障碍物,并以较优的路径到达目标点。
80.如图15所示,在动态真实场景下,kai

ddpg算法成功使得移动机器人避开静态障碍物和动态障碍物,并以较优的路径到达目标点。
81.如图16所示,在复杂真实场景下,kai

ddpg算法未能使得移动机器人避开所有的障碍物,发生了碰撞。
82.本发明进一步作了推断,认为是真实环境和仿真环境差异大、传感器精度低和网络存在延迟等原因,导致了kai

ddpg算法的实际导航效果不如在仿真环境中的导航效果。
83.本发明所提的kai

ddpg算法的导航性能相较于一般的深度强化学习算法,如dqn算法、ddpg算法等,有了很大提高,具有一定的实际应用价值。
84.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜