首页> 中国专利> 基于免疫深度强化学习的移动机器人自主导航方法

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

摘要

本发明提出了基于免疫深度强化学习的移动机器人自主导航方法,该方法基于深度确定性策略梯度(DDPG)算法,并结合移动机器人的运动学分析、信息熵理论以及免疫优化理论来实现移动机器人的自主导航。首先通过Gazebo仿真平台搭建仿真实验环境,然后将移动机器人通过传感器获得的机器人周围环境的特征信息,将其输入到KAI‑DDPG网络,并进行一定次数的训练,就可获得移动机器人的运动策略模型和不同场景下每步的执行动作。然后在真实场景下,将训练好的网络模型导入真实移动机器人中,即可实现移动机器人的自主导航。本发明具有一定的环境适应能力,移动机器人在不用预知环境地图信息下自主实现多种场景下的导航。

著录项

  • 公开/公告号CN113406957B

    专利类型发明专利

  • 公开/公告日2022-07-08

    原文格式PDF

  • 申请/专利权人 成都理工大学;

    申请/专利号CN202110545286.1

  • 发明设计人 陈光柱;严成良;李杨;

    申请日2021-05-19

  • 分类号G05D1/02(2020.01);

  • 代理机构

  • 代理人

  • 地址 610059 四川省成都市成华区二仙桥东三路1号

  • 入库时间 2022-08-23 13:59:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-08

    授权

    发明专利权授予

说明书

技术领域

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

背景技术

随着科技的进步和社会的发展,移动机器人作为提高人们生活质量的载体,在医疗、军事、物流、航天等行业的应用日益广泛。导航技术作为移动机器人的基础能力,有着巨大的发展前景。大量成熟的经典导航技术能够很好地运用于静态的、简单的、已知的环境中。但如今,移动机器人被应用于各个领域中,经常会面临复杂的、动态的、陌生的环境,此时,传统的基于地图的导航方法就很难满足相关要求。为此,无地图自主导航方法应运而生。

在众多无地图自主导航方法中,深度强化学习因为同时具备深度学习的强大表征能力以及强化学习的强大决策能力,使得智能体拥有了更强的适应性,进而能够更好地处理复杂系统的感知和决策问题。近几年,大量国内外学者将深度强化学习算法应用于移动机器人无地图自主导航中,取得了一定的效果。

在众多深度强化学习算法中,DDPG算法能够稳定且高效地处理连续的控制任务,许多研究人员也将其用来解决移动机器人的导航问题,并通过大量的文章和实验证明可知,DDPG算法具有较好的导航效果。本发明在DDPG算法的基础上,提出了一种结合移动机器人的运动学分析、信息熵理论以及免疫优化的移动机器人自主导航方法(KAI-DDPG),取得了更好的导航效果。

KAI-DDPG算法避免了传统的基于地图的导航方法的建图过程,节约了大量的时间成本以及人力成本,并且相较于基于地图的导航方法来说,KAI-DDPG算法还拥有较强的适应现实中多变的动态环境和大型环境的能力。

发明内容

本发明提出了一种基于DDPG算法,并结合移动机器人的运动学分析、信息熵理论以及免疫优化的移动机器人实时、在线自主导航方法(KAI-DDPG)。相较于DDPG算法,KAI-DDPG算法具备更好的环境适应能力以及更高的学习训练效率,并且能够使得移动机器人获得更优秀的导航路径,具有一定的实际应用价值。

第一方面,本发明将DDPG算法应用于移动机器人自主导航时,由于其奖赏函数的设计没有结合移动机器人的运动学分析,进而会导致移动机器人的运动轨迹漂移、甚至陷入局部最优等问题,首先对移动机器人进行了运动学建模分析,并在此基础上结合了相关运动参数,提出了朝向角奖赏因子、线速度奖赏因子和安全性能奖赏因子,进一步将以上三个奖赏因子引入到了DDPG的奖赏函数中,此外,还引入多目标性能指标,将路径规划问题转化为一个多目标优化问题,把朝向角、线速度和安全度作为评价指标,以达到优化移动机器人运动轨迹的目的。

第二方面,本发明在将朝向角奖赏因子、线速度奖赏因子和安全性能奖赏因子引入到DDPG的奖赏函数中的情况下,考虑到各奖赏因子对导航策略的影响程度不同,为了使这三个奖赏因子的值更合理,引入信息熵的相关理论,对各奖赏因子的影响系数进行调整,以使得奖赏函数能适应各种不同的环境,达到增强移动机器人泛化性的目的。

第三方面,本发明在结合移动机器人的运动学分析和信息熵理论对DDPG的奖赏函数进行改进的基础上,考虑到DDPG的“软更新”和“经验回放”机制会使得DDPG算法的训练时间变长,且其对优秀经验样本的利用效率不高的问题,进一步运用免疫算法对DDPG经验缓存池中经验组的奖赏值进行优化,以达到加快算法学习训练速度的目的。

本发明基于DDPG算法,并结合移动机器人的运动学分析、信息熵理论以及免疫优化,提出了KAI-DDPG算法,并在Gazebo仿真平台下搭建的简单、动态和复杂三种场景中,对KAI-DDPG算法进行网络模型的训练,进一步对训练好的模型进行测试,以验证KAI-DDPG算法的导航性能。

本发明通过将Gazebo仿真环境下训练好的网络模型导入真实移动机器人,并进一步测试真实移动机器人在模仿仿真环境而搭建的真实简单、动态和复杂环境下的导航性能,以验证本发明所提算法的有效性,进一步证明KAI-DDPG算法具有一定的实际应用价值。

附图说明

构成本发明创造的一部分的附图用来提供对本发明创造的进一步理解,本发明创造的示意性实施例及其说明用于解释本发明创造,并不构成对本发明创造的不当限定。在附图中:

图1为本发明创造实施例所述的深度强化学习基本架构示意图;

图2为本发明创造实施例所述的DDPG算法流程示意图;

图3为本发明创造实施例所述的基于DDPG算法的自主导航框架图;

图4为本发明创造实施例所述的移动机器人运动特性图;

图5为本发明创造实施例所述的移动机器人运动学模型Simulink仿真图;

图6为本发明创造实施例所述的KAI-DDPG算法框架图;

图7为本发明创造实施例所述的简单仿真场景下基于各导航算法的移动机器人运动轨迹图;

图8为本发明创造实施例所述的简单仿真场景下随迭代步数变化的DDPG和KA-DDPG的导航成功率曲线图;

图9为本发明创造实施例所述的简单仿真场景下随迭代步数变化的KA-DDPG和KAI-DDPG的平均奖赏值曲线图;

图10为本发明创造实施例所述的动态仿真场景下基于KA-DDPG算法的移动机器人运动轨迹图;

图11为本发明创造实施例所述的复杂仿真场景下基于各导航算法的移动机器人运动轨迹图;

图12为本发明创造实施例所述的复杂仿真场景下随迭代步数变化的DDPG和KA-DDPG的导航成功率曲线图;

图13为本发明创造实施例所述的复杂仿真场景下随迭代步数变化的KA-DDPG和KAI-DDPG的平均奖赏值曲线图;

图14为本发明创造实施例所述的简单真实场景下基于KAI-DDPG算法的移动机器人运动轨迹图;

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

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

具体实施方式

需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。

下面将参考附图并结合实施例来详细说明本发明创造。

深度强化学习综合了强化学习与深度学习的优点,集感知与决策能力于一体,可用来解决复杂系统的感知与决策问题,近年来被广泛地应用于工程实际当中,如移动机器人的导航。

深度强化学习的基本架构如图1所示,智能体使用深度神经网络表示价值函数、策略函数或者模型,而深度学习的输出即智能体选择的动作a。接下来,环境通过执行该动作a得到反馈奖励r,并把r作为损失函数的参数。随后,基于随机梯度算法对损失函数进行求导。最后,通过网络模型的训练,优化深度神经网络中的权值参数。

大量文章和实验证明在众多深度强化学习算法中,DDPG算法不仅能稳定地解决连续的控制任务,而且其求解速度快,获得的解较优。

DDPG算法有着诸多优点,但在将其运用于移动机器人的导航时,效果仍然有待提高,其在Gazebo仿真环境中可勉强进行导航,但在将该算法运用于真实移动机器人上时,效果则非常不好。

针对DDPG算法难以使得移动机器人运动轨迹达到最优、适应能力差等问题,本发明基于DDPG算法,结合了移动机器人的运动学分析、信息熵理论提出了KA-DDPG算法(DDPGBased on Kinematic Analysis),解决了以上问题。

针对KA-DDPG算法仍然存在的学习训练效率低的问题,本发明基于KA-DDPG算法,通过引入免疫算法对其经验缓存池中的经验样本进行优化,提出了KAI-DDPG算法(KA-DDPGBased on Immune Optimization),解决了KA-DDPG算法学习训练时间长的问题。

最后通过在Gazebo仿真平台上进行仿真实验与在真实环境中进行实际应用,验证算法的可行性与泛化能力。

DDPG算法

Lillicrap et al.(2015)将DQN算法与DPG算法(Silver et al.,2014)相结合,提出了DDPG算法,该算法可直接用于解决空间维数很大的连续动作空间问题,如移动机器人的导航,其算法流程如图2所示。

DDPG算法引入了Actor-Critic机制,该机制使用两个独立的网络分别近似演员和评论家,其中演员网络和评论家网络都采用2层隐藏层的全连接神经网络。

演员和评论家网络又分为在线演员和评论家网络与目标演员和评论家网络,在在线演员网络中,以状态s作为输入,用权重参数θ

在在线评论家网络中,以状态s和动作a作为输入,用权重参数θ

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

目标演员网络μ′(s

θ

θ

其中,θ

DDPG算法运行时,首先需要将当前状态s作为输入,然后通过对在线演员网络中参数θ

其中,N代表经验样本的数量,J代表在线演员网络θ

在线演员网络输出的动作好坏由在线评论家网络判定,而在线评论家网络中的θ

其中,y

y

y

其中,γ为学习率,可动态调整网络的更新速度。

由于在线演员网络的θ

KA-DDPG算法

KA-DDPG算法基于DDPG算法,并结合了移动机器人的运动学分析、信息熵理论,解决了DDPG算法难以使得移动机器人运动轨迹达到最优、适应能力差等问题。

如图3所示,基于DDPG算法的自主导航框架的输入信息为平均分布于移动机器人正前方的10束激光距离信息d(d1,d2,…,d10)、从里程计信息中获得的当前移动机器人的姿态角θ、相对目标点的朝向角θ

本发明的应用载体为TurtleBot3 waffle Pi移动机器人,其运动特性如图4所示,通过结合相关参数,可对DDPG算法的奖赏函数进行设计,以适应于移动机器人的导航。

奖赏函数的合理设置对于DDPG算法的有效执行至关重要,为了让智能体更好地与环境进行交互,就需要所设置的奖赏函数一方面既能够“鼓励”智能体根据环境的反馈做出我们想要的下一步动作,另一方面,也要让智能体保持学习,以适应不同的环境。

在图四所示信息的基础上,可对移动机器人进行Simulink仿真,如图5所示。由仿真结果可知,TurtleBot3 waffle Pi移动机器人有着较好的稳定性,可用作本发明的载体。此外,还可知道移动机器人由最大速度减速到静止,需行驶约0.25m,此距离L可用作确定移动机器人的安全半径r

移动机器人的安全半径r

r

其中,R为移动机器人的外接圆半径,L即为移动机器人的最大安全距离,前面求得其值为0.25m。

将朝向角奖赏因子r

奖赏函数Re由以上五个奖赏因子组成,其表达式如公式(7)所示。

Re=σ(αr

其中,σ为缩放因子,其值可根据实验效果动态调整。主要用于避免某些奖赏因子在一些特定环境下,对奖赏函数的值影响过大。

r

其中θ

r

r

其中d

r

r

其中v

考虑到r

α、β影响因子具有很大的不确定性,为评估其不确定性,引入信息熵的相关理论,H(X)代表信息熵,它是消除不确定性所需信息量的度量,如果某一事件的发生需要引入很多信息量才能消除其不确定性,则说明信息熵较高,相反则较低。信息熵H(X)可由公式(11)求得:

其中,X代表某个未知事件,p

将移动机器人上一次碰撞(或到达目标点)到下一次碰撞(或到达目标点)看作是一个回合,计算每10000时间步中,每个到达目标点的回合中r

其中,r

α与β的值可分别由公式(14)和公式(15)确定。

β=1-α (15)

KAI-DDPG算法

KAI-DDPG算法基于KA-DDPG算法,通过引入免疫算法对其经验缓存池中的经验样本进行优化,解决了KA-DDPG算法学习训练时间长的问题。

KAI-DDPG算法的框架如图6所示,其首先从经验缓存池中抽取M组经验样本,然后把平均奖赏值r

将Good组中每组经验样本中的奖赏值看作待优化初始种群,种群的大小为M/2。把Good组中经验样本的平均奖赏值r

其中,g为Good组中每组经验样本的序列号。

将Good组中没有达到评判标准的经验样本克隆十组,记作克隆组。

根据奖赏函数Re,将克隆组中的奖赏值r

a

其中,μ=0,σ=1。

根据变异后的a

在克隆抑制操作之后的经验组中,用奖赏值较高的经验样本替换初始种群中奖赏值较低的经验样本,得到新种群。接下来,根据评判标准,判断新种群是被放入免疫优化池还是继续进行免疫操作。最后,将Good组中的经验样本替换为免疫优化池中的经验样本,以达到高效利用样本数据,进一步增加算法学习训练效率的目的。

本发明还进一步优化了经验放回机制,即从Good组中抽取大量经验组放回,这样可加速训练过程;同时从Bad组中抽取少量经验组放回,可避免算法陷入过拟合和局部最优的问题。

仿真实验

为了验证KAI-DDPG算法的有效性,在ROS/Gazebo中搭建移动机器人导航仿真场景(模拟真实5米×6米室内环境),并建立移动机器人的动力学和运动学模型。导航仿真场景包括简单仿真场景、动态仿真场景和复杂仿真场景,简单仿真场景是障碍物稀少的室内环境,动态仿真场景是模拟障碍物动态变化的室内环境,复杂仿真场景是障碍物比较密集的室内环境。

由图7可以明显看出,在简单仿真场景下,基于KA-DDPG算法的导航轨迹相较基于DDPG算法、DQN算法和DWA算法的导航轨迹而言,更短、更平滑;而且与基于A*算法的有地图导航相比,基于KA-DDPG算法的导航轨迹更安全,且转弯角度更符合移动机器人的运动特性。

在训练过程中,DDPG算法和KA-DDPG算法在简单仿真场景下的导航成功率随着时间步变化的曲线图如图8所示。通过对比DDPG算法和KA-DDPG算法的导航成功率曲线,经过计算可知,DDPG算法在210000时间步左右趋于收敛,在此之后的平均导航成功率约为89.14%。KA-DDPG算法在180000时间步左右趋于收敛,在此之后的平均导航成功率约为94.93%,相较DDPG算法,其导航成功率提高了5.79%。

在训练过程中,KA-DDPG算法与KAI-DDPG算法在简单仿真场景下的平均奖赏值随着时间步变化的曲线图如图9所示。由图可知,KAI-DDPG的平均奖赏曲线在180000时间步左右就达到了一个比较高的稳定值,而反观KA-DDPG算法,则需要到210000时间步左右才能达到一个比较高的稳定值。经过计算可知,KAI-DDPG算法的学习训练速度比KA-DDPG算法快了近16.67%。

在动态仿真场景下,KA-DDPG算法的导航轨迹如图10所示,由图可知,当引入动态障碍物后,移动机器人能够以平滑的路径绕开障碍物,且反应速度快、导航路径短,说明KA-DDPG算法能够较好地适应动态环境,完成动态环境下的各种导航任务。

由图11所示,在复杂仿真场景下,基于KA-DDPG算法的导航轨迹最优,其轨迹相较于其他算法的导航轨迹更短、更平滑;A*算法和DDPG算法的导航效果略差于KA-DDPG算法,但都能使得移动机器人顺利到达目标点,其中又以A*算法的导航轨迹略优于DDPG算法;基于DWA算法和DQN算法的无地图导航方法虽然也能使得移动机器人顺利到达目标点,但它们的导航轨迹较差,耗时较长,其中又以DQN算法的导航轨迹最差。

在训练过程中,DDPG算法和KA-DDPG算法在复杂仿真场景下的导航成功率随着时间步变化的曲线图如图12所示。通过对比DDPG算法和KA-DDPG算法的导航成功率曲线,经过计算可知,DDPG算法在210000时间步左右趋于收敛,在此之后的平均导航成功率约为76.18%。KA-DDPG算法在200000时间步左右趋于收敛,在此之后的平均导航成功率约为81.97%,相较DDPG算法,其导航成功率提高了5.79%。

在训练过程中,KA-DDPG算法与KAI-DDPG算法在复杂仿真场景下的平均奖赏值随着时间步变化的曲线图如图13所示。由图可知,KAI-DDPG算法的平均奖赏曲线在200000时间步左右就达到了一个比较高的稳定值,且曲线平滑,波动较小;而反观KA-DDPG算法,则需要到210000时间步左右才能达到一个比较高的稳定值。证明了KAI-DDPG算法更稳定,更容易收敛,且经过计算可知,KAI-DDPG算法的学习训练速度比KA-DDPG算法快了近5%。

实际应用

如图14所示,在简单真实场景下,KAI-DDPG算法成功使得移动机器人避开障碍物,并以较优的路径到达目标点。

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

如图16所示,在复杂真实场景下,KAI-DDPG算法未能使得移动机器人避开所有的障碍物,发生了碰撞。

本发明进一步作了推断,认为是真实环境和仿真环境差异大、传感器精度低和网络存在延迟等原因,导致了KAI-DDPG算法的实际导航效果不如在仿真环境中的导航效果。

本发明所提的KAI-DDPG算法的导航性能相较于一般的深度强化学习算法,如DQN算法、DDPG算法等,有了很大提高,具有一定的实际应用价值。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号