当前位置: 首页 > 专利查询>同济大学专利>正文

一种基于强化学习的移动机器人路径规划方法技术

技术编号:23342126 阅读:40 留言:0更新日期:2020-02-15 03:29
本发明专利技术涉及一种基于强化学习的移动机器人路径规划方法,该方法采用预训练后的改进A*算法,在任意环境中进行路径规划,所述改进A*算法的预训练过程包括以下步骤:S1:获取路径的起点、目标点和路径所在的已知环境,初始化改进A*算法;S2:采用改进A*算法进行路径规划,计算并保存路径规划过程中的搜索点和奖励值;S3:基于每个搜索点及其与目标点间所有搜索点的奖励值,计算每个搜索点对应的长期回报,获取训练数据;S4:基于训练数据,更新强化学习算法,获取每个搜索点的修正值,更新改进A*算法中的引导函数;S5:重复步骤S2至S4,直到满足预设的停止条件。与现有技术相比,本发明专利技术具有路径规划速度快、规划结果更优,且稳定性高的优点。

A path planning method of mobile robot based on Reinforcement Learning

【技术实现步骤摘要】
一种基于强化学习的移动机器人路径规划方法
本专利技术涉及移动机器人路径规划领域,尤其是涉及一种基于强化学习的移动机器人路径规划方法。
技术介绍
在移动机器人领域,路径规划一直是一大研究热点。机器人需要在已知环境的情况下,利用路径规划算法,在两点之间寻找一条可以到达的且最优的路径。其中Dijkstra算法是经典的寻路算法之一,该算法中,每个搜索节点被赋予一个属性g(n),用以表示该节点距离起点的距离,通过不断的搜寻具有最小g(n)值的节点并更新其周围节点g(n)值的方式,Dijkstra算法能够找到两点之间的最短路径。该方法虽被广泛应用,但是该方法以搜索空间为代价,搜索耗费时间,不适合地图较大的场景,存在一定的局限性。如图2所示为Dijkstra算法寻找得到的路径,该搜寻路径是最优的,然而搜索耗费了较大的时间,不能满足机器人应用的实时性。针对Dijkstra算法耗时的缺点,A*算法通过引入引导函数的方式极大的减少了搜索空间,能够更快速的搜索到机器人的可行路径。如公式(1)所示,A*在g(n)的基础上,添加了当前节点到目标节点的引导函数h(n),以二者的和f(n)作为各个节点的属性进行搜索和更新,使得搜索在考虑与起始节点距离的同时兼顾了向目标节点方向的引导。f(n)=g(n)+h(n)(1)A*算法虽然通过引入引导函数的方式缩短了搜索时间,但由于其引导函数往往是人为设定的距离,例如曼哈顿距离,欧式距离等,因此对于两点之间存在障碍物的情况,A*算法往往会产生错误的引导,使得所得到的路径非最优,如图3所示为采用欧式距离的A*算法所得到的路径,对比图2中Dijkstra算法的路径可以发现其有一个向目标节点方向的凹陷,因而产生了不必要的路径。A*算法与Dijkstra算法作为目前最为常见的规划算法,有其各自的优势,但同时也有其局限。Dijkstra算法可获得最优路径,却不适用于大型场景;A*算法在Dijkstra算法的基础上提升了搜索速度,却以路径为代价,使得所得并非最优解。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种兼顾A*算法搜索速度与Dijkstra算法最优路径的基于强化学习的移动机器人路径规划方法。本专利技术的目的可以通过以下技术方案来实现:一种基于强化学习的移动机器人路径规划方法,该方法采用预训练后的改进A*算法,在任意环境中进行路径规划,所述改进A*算法采用预建立的强化学习算法更新引导函数,所述改进A*算法的预训练过程包括以下步骤:S1:获取路径的起点、目标点和路径所在的已知环境,初始化改进A*算法;S2:基于路径的起点、目标点和路径所在的已知环境,采用当前的改进A*算法进行路径规划,计算并保存路径规划过程中每一次的搜索点和该搜索点的奖励值;S3:基于每个搜索点及其与目标点间所有搜索点的奖励值,计算每个搜索点对应的长期回报,获取训练数据;S4:基于训练数据,更新强化学习算法,并通过更新后的强化学习算法,获取每个搜索点对应的修正值,更新改进A*算法中的引导函数;S5:重复步骤S2至S4,直到满足预设的停止条件,获取预训练后的改进A*算法。进一步地,所述改进A*算法中引导函数的表达式为:h(n)*=h(n)+π(n)式中,h(n)*为改进A*算法下搜索点n的引导函数,n=1,2,3,…,N,N为搜索点的总数,h(n)为传统A*算法下搜索点n的引导函数,π(n)为强化学习算法输出的搜索点n的修正值,其初始值通过对强化学习算法初始化设定。通过强化学习算法获取A*算法中引导函数的修正值,将A*算法的搜索能力和强化学习的学习能力进行结合,改善了在搜索点和目标点存在障碍物的情况下A*引导能力不足的情况。进一步地,所述奖励值的计算表达式为:式中,r(n)为搜索点n的奖励值,n=1,2,3,…,N,N为搜索点的总数,path(Djisktra)为采用Dijkstra算法获得的最短路径的长度,path(A*(π))为采用当前的改进A*算法获得的路径长度,const为常数。在搜索到最后的搜索点,即搜索完成时,利用Dijkstra路径规划算法得到的最短路径与本次搜索的结果对比,并加入搜索空间的变化作为强化学习的奖励函数,较好的平衡了搜索能力与搜索空间,使得新算法同时具有A*算法的搜索速度与Dijkstra算法的最优路径。进一步地,所述长期回报的计算表达式为:式中,v(n)为搜索数据中搜索点n对应的长期回报,n=1,2,3,…,N,N为搜索点的总数,goal为目标点,r(m)为节点m对应的奖励值,γ为预设的长期回报衰减系数,保存的每个搜索点均依照搜索顺序进行排序,依照该排序依次计算出每个搜索点的长期回报值。进一步地,所述强化学习算法为基于策略梯度的强化学习算法。由于基于值函数的强化学习算法如DQN等算法无法解决动作空间过大或者连续的情况,因而选取基于策略梯度的强化学习算法,可以采用其策略函数的输出作为修正值。进一步地,所述强化学习算法的更新过程具体为,基于策略价值梯度更新强化学习算法中策略函数的权重参数,所述权重参数的更新表达式为:式中,θ为策略函数的权重参数,权重参数的初始值由预先设定,为权重参数为θ的策略价值梯度,α为策略价值梯度系数。进一步地,所述策略价值梯度的计算表达式为:式中,N为搜索点的总数,π(i)为节点i的修正值,其初始值通过对强化学习算法初始化设定,v(i)为节点i对应的长期回报。进一步地,所述步骤S5中预设的停止条件为循环次数达到预设的循环值,或修正值开始收敛。进一步地,采用神经网络拟合所述强化学习算法,通过训练所述神经网络,获取修正值。当采用基于策略梯度的强化学习算法时,采用神经网络拟合强化学习算法中的策略函数,在每次循环中对该神经网络进行训练,更新策略函数的权重参数,获取修正值。与现有技术相比,本专利技术具有以下优点:(1)本专利技术采用改进A*算法进行路径规划,并通过强化学习算法获取A*算法中引导函数的修正值,通过循环训练,更新改进A*算法中的引导函数,将A*算法的搜索能力和强化学习的学习能力进行结合,改善了在搜索点和目标点存在障碍物的情况下A*引导能力不足的情况。(2)本专利技术在预训练过程中,采用当前改进A*算法获取路径规划结果后,基于采用Dijkstra算法获得的最短路径的长度和本专利技术改进A*算法获得的路径长度计算搜索点的奖励值,从而对强化学习算法输出的修正值进行调整,使得采用本专利技术预训练后的改进A*算法得到的路径尽可能接近最短路径,同时保留了A*算法和Dijkstra算法的优点,较好的平衡了搜索能力与搜索空间,并克服各自的缺点,以达到又快又好的获得路径的目的。(3)本专利技术考虑到基于值函数的强化学习算法如DQN等算法无法解决动作空间过大或者连续的情况,因而选取基于策略梯度的强化学习算法,使用策略函数的输出作为修正值,使得本专利技术路径规划方法具有更高的本文档来自技高网
...

【技术保护点】
1.一种基于强化学习的移动机器人路径规划方法,其特征在于,该方法采用预训练后的改进A*算法,在任意环境中进行路径规划,所述改进A*算法采用预建立的强化学习算法更新引导函数,所述改进A*算法的预训练过程包括以下步骤:/nS1:获取路径的起点、目标点和路径所在的已知环境,初始化改进A*算法;/nS2:基于路径的起点、目标点和路径所在的已知环境,采用当前的改进A*算法进行路径规划,计算并保存路径规划过程中每一次的搜索点和该搜索点的奖励值;/nS3:基于每个搜索点及其与目标点间所有搜索点的奖励值,计算每个搜索点对应的长期回报,获取训练数据;/nS4:基于训练数据,更新强化学习算法,并通过更新后的强化学习算法,获取每个搜索点对应的修正值,更新改进A*算法中的引导函数;/nS5:重复步骤S2至S4,直到满足预设的停止条件,获取预训练后的改进A*算法。/n

【技术特征摘要】
1.一种基于强化学习的移动机器人路径规划方法,其特征在于,该方法采用预训练后的改进A*算法,在任意环境中进行路径规划,所述改进A*算法采用预建立的强化学习算法更新引导函数,所述改进A*算法的预训练过程包括以下步骤:
S1:获取路径的起点、目标点和路径所在的已知环境,初始化改进A*算法;
S2:基于路径的起点、目标点和路径所在的已知环境,采用当前的改进A*算法进行路径规划,计算并保存路径规划过程中每一次的搜索点和该搜索点的奖励值;
S3:基于每个搜索点及其与目标点间所有搜索点的奖励值,计算每个搜索点对应的长期回报,获取训练数据;
S4:基于训练数据,更新强化学习算法,并通过更新后的强化学习算法,获取每个搜索点对应的修正值,更新改进A*算法中的引导函数;
S5:重复步骤S2至S4,直到满足预设的停止条件,获取预训练后的改进A*算法。


2.根据权利要求1所述的一种基于强化学习的移动机器人路径规划方法,其特征在于,所述改进A*算法中引导函数的表达式为:
h(n)*=h(n)+π(n)
式中,h(n)*为改进A*算法下搜索点n的引导函数,n=1,2,3,···,N,N为搜索点的总数,h(n)为传统A*算法下搜索点n的引导函数,π(n)为强化学习算法输出的搜索点n的修正值,其初始值通过对强化学习算法初始化设定。


3.根据权利要求1所述的一种基于强化学习的移动机器人路径规划方法,其特征在于,所述奖励值的计算表达式为:



式中,r(n)为搜索点n的奖励值,n=1,2,3,···,N,N为搜索点的总数,path(Djisktra)为采用Dijkstra算法获得的最短路径的长度,path(A*(π))为采用当前的改进A...

【专利技术属性】
技术研发人员:刘成菊孙晓娴姚陈鹏陈启军
申请(专利权)人:同济大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1