System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于双向动态跳点搜索的路径规划方法、装置及介质制造方法及图纸_技高网

基于双向动态跳点搜索的路径规划方法、装置及介质制造方法及图纸

技术编号:40746267 阅读:2 留言:0更新日期:2024-03-25 20:04
本申请提供一种基于双向动态跳点搜索的路径规划方法、装置及介质,该方法包括:对环境地图进行栅格化处理,得到栅格地图;栅格地图中,用于表示自由行走空间的栅格为第一值,用于表示障碍物的栅格为第二值;在栅格地图中,基于预设代价函数对从初始点到目标点和从目标点到初始点两个方向进行预设扩展搜索,得到规划路径;预设代价函数与初始点到当前节点的距离代价值、当前节点到目标点间的预估距离值、障碍物密度、转弯代价正相关。本申请的方法,有利于提高路径搜索效率。

【技术实现步骤摘要】

本申请涉及路径规划,尤其涉及一种基于双向动态跳点搜索的路径规划方法、装置及介质


技术介绍

1、在自动驾驶和机器人导航领域,路径规划是其关键技术之一。路径规划问题是一个np-hard问题,路径规划被定义为:根据已知环境信息,利用优化算法计算出一条无碰撞路径,该路径连接起始点和目标点,满足时间最少或路径最短等指标。目前常用的路径规划算法有a-star算法、蚁群算法、快速搜索随机树算法等。a-star算法作为全局最优算法在自动驾驶和机器人导航领域应用广泛,但是传统a-star算法复杂度高、搜索效率低。

2、针对a-star算法的缺点,daniel harabor等提出了跳点搜索(jump pointsearch,jps)算法,保留了a-star算法的框架,优化了a-star算法寻找后继节点的操作,提高了搜索效率。但是,当地图环境较大时,jps算法总是会在搜索跳点时耗时;其次在某些特殊环境,比如当起始点附近障碍物密度较低而目标点处于稠密障碍物环境时,jps算法会优先搜索周围的平坦区域,再向目标点方向寻找跳点,此时jps算法的效率甚至低于a-star算法。

3、因此,亟需一种用于路径规划的跳点搜索方法,来缩短路径规划过程中的节点搜索时间,提高效率。


技术实现思路

1、本申请提供一种基于双向动态跳点搜索的路径规划方法、装置及介质,用以提高路径搜索效率。

2、一方面,本申请提供一种基于双向动态跳点搜索的路径规划方法,所述方法包括:

3、对环境地图进行栅格化处理,得到栅格地图;所述栅格地图中,用于表示自由行走空间的栅格为第一值,用于表示障碍物的栅格为第二值;

4、在所述栅格地图中,基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,得到规划路径;所述预设代价函数与所述初始点到所述当前节点的距离代价值、所述当前节点到所述目标点间的预估距离值、障碍物密度、转弯代价正相关。

5、在另一种可能实现的方式中,所述预设代价函数为f(s,g),f(s,g)=αg(s,n)+βh(n,g),其中,s为所述初始点,g为所述目标点,n为所述当前节点,α、β是权重系数,0<α<1,0<β<1,α+β=1,g(s,n)为从所述初始点到所述当前节点实际走过的距离代价值,h(n,g)为从所述当前节点到所述目标点之间的预估代价值,h(n,g)=dn,g+ρn,g+tn,g,其中,dn,g用于表示所述当前节点到所述目标点间的预估距离值,dn,g=|n.x-g.x|+|n.y-g.y|,(n.x,n.y)用于表示所述当前节点的坐标,(g.x,g.y)用于表示所述目标点的坐标;ρn,g用于表示所述障碍物密度,s用于表示所述当前节点和所述目标点组成的矩形区域内障碍物区域的面积大小,(|n.x-g.x|+1)×(|n.y-g.y|+1)用于表示所述矩形区域的面积,其中1用于使所述矩形区域的面积不为0;tn,g用于表示所述转弯代价,tn,g=ln-1,n+1θ,ln-1,n+1为所述当前节点的父节点和所述当前节点的下一节点之间的直线距离,θ为所述父节点与所述当前节点组成的向量,和所述当前节点与所述下一节点组成的向量间的夹角。

6、在另一种可能实现的方式中,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索之前,所述方法还包括:

7、创建第一开列表和第二开列表,并初始化所述第一开列表和所述第二闭列表,使所述第一开列表用于存放正向搜索的起始点、所述第二开列表用于存放反向搜索的起始点。

8、在另一种可能实现的方式中,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,包括:

9、在所述第一开列表不为空时,从所述第一开列表中取出预估代价值最低的当前节点,并以所述当前节点开始进行预设扩展搜索;所述预估代价值是基于所述预设代价函数计算的;

10、在完成所述预设扩展搜索时,将所述当前节点从所述第一开列表中取出,并加入第一闭列表,所述第一闭列表用于存放完成所述预设扩展搜索的当前节点;

11、取出所述第一开列表中所述预估代价值最低的更新节点,并判断所述更新节点是否是所述目标点;

12、若是,则搜索结束,否则,判断反向搜索的最佳路径上是否存在所述更新节点,若存在,则将所述更新节点加入所述第一开列表中。

13、在另一种可能实现的方式中,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,包括:

14、在所述第二开列表不为空时,从所述第二开列表中取出预估代价值最低的当前节点,并以所述当前节点开始进行预设扩展搜索;所述预估代价值是基于所述预设代价函数计算的;

15、在完成所述预设扩展搜索时,将所述当前节点从所述第二开列表中取出,并加入第二闭列表,所述第二闭列表用于存放完成所述预设扩展搜索的当前节点;

16、取出所述第二开列表中所述预估代价值最低的更新节点,并判断所述更新节点是否是所述目标点;

17、若是,则搜索结束,否则,判断正向搜索的最佳路径上是否存在所述更新节点,若存在,则将所述更新节点加入所述第二开列表中。

18、在另一种可能实现的方式中,所述以所述当前节点开始进行预设扩展搜索,包括:

19、在直线方向展开搜索,当水平方向或竖直方向遇到障碍物或边界时,在对角线方向展开搜索;

20、在搜索到的跳点不在开列表时,将所述跳点加入所述开列表中,并计算所述跳点的预估代价值,确定所述当前节点为所述跳点的父节点;所述开列表为所述第一开列表或所述第二开列表;

21、在搜索到的跳点在所述开列表时,则更新所述跳点的预估代价值,并确定所述当前节点为所述跳点的父节点。

22、在另一种可能实现的方式中,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,得到规划路径,包括:

23、当所述正向搜索和所述反向搜索同时以同一节点为目标点,或者所述正向搜索中的当前节点与所述方向搜索中的当前节点为同一节点时,基于所述第一闭列表和所述第二闭列表,得到所述规划路径。

24、第二方面,本申请提供一种基于双向动态跳点搜索的路径规划装置,包括:

25、处理模块,用于对环境地图进行栅格化处理,得到栅格地图;所述栅格地图中,用于表示自由行走空间的栅格为第一值,用于表示障碍物的栅格为第二值;

26、搜索模块,用于在所述栅格地图中,基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,得到规划路径;所述预设代价函数与所述初始点到所述当前节点的距离代价值、所述当前节点到所述目标点间的预估距离值、障碍物密度、转弯代价正相关。

27、在另一种可能实现的方式中,所述预设代价函数本文档来自技高网...

【技术保护点】

1.一种基于双向动态跳点搜索的路径规划方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述预设代价函数为f(s,g),f(s,g)=αG(s,n)+βH(n,g),其中,s为所述初始点,g为所述目标点,n为所述当前节点,α、β是权重系数,0<α<1,0<β<1,α+β=1,G(s,n)为从所述初始点到所述当前节点实际走过的距离代价值,H(n,g)为从所述当前节点到所述目标点之间的预估代价值,H(n,g)=dn,g+ρn,g+tn,g,其中,dn,g用于表示所述当前节点到所述目标点间的预估距离值,dn,g=|n.x-g.x|+|n.y-g.y|,(n.x,n.y)用于表示所述当前节点的坐标,(g.x,g.y)用于表示所述目标点的坐标;ρn,g用于表示所述障碍物密度,s用于表示所述当前节点和所述目标点组成的矩形区域内障碍物区域的面积大小,(|n.x-g.x|+1)×(|n.y-g.y|+1)用于表示所述矩形区域的面积,其中1用于使所述矩形区域的面积不为0;tn,g用于表示所述转弯代价,tn,g=ln-1,n+1θ,ln-1,n+1为所述当前节点的父节点和所述当前节点的下一节点之间的直线距离,θ为所述父节点与所述当前节点组成的向量,和所述当前节点与所述下一节点组成的向量间的夹角。

3.根据权利要求1或2所述的方法,其特征在于,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,包括:

6.根据权利要求5所述的方法,其特征在于,所述以所述当前节点开始进行预设扩展搜索,包括:

7.根据权利要求5所述的方法,其特征在于,所述基于预设代价函数对从初始点到目标点和从所述目标点到所述初始点两个方向进行预设扩展搜索,得到规划路径,包括:

8.一种基于双向动态跳点搜索的路径规划装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括处理器,以及与所述处理器通信连接的存储器;

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一项所述的方法。

...

【技术特征摘要】

1.一种基于双向动态跳点搜索的路径规划方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述预设代价函数为f(s,g),f(s,g)=αg(s,n)+βh(n,g),其中,s为所述初始点,g为所述目标点,n为所述当前节点,α、β是权重系数,0<α<1,0<β<1,α+β=1,g(s,n)为从所述初始点到所述当前节点实际走过的距离代价值,h(n,g)为从所述当前节点到所述目标点之间的预估代价值,h(n,g)=dn,g+ρn,g+tn,g,其中,dn,g用于表示所述当前节点到所述目标点间的预估距离值,dn,g=|n.x-g.x|+|n.y-g.y|,(n.x,n.y)用于表示所述当前节点的坐标,(g.x,g.y)用于表示所述目标点的坐标;ρn,g用于表示所述障碍物密度,s用于表示所述当前节点和所述目标点组成的矩形区域内障碍物区域的面积大小,(|n.x-g.x|+1)×(|n.y-g.y|+1)用于表示所述矩形区域的面积,其中1用于使所述矩形区域的面积不为0;tn,g用于表示所述转弯代价,tn,g=ln-1,n+1θ,ln-1,n+1为所述当前节点的父节点和所述当前节点的下一节点之间的直线距离,θ为所述父节点与所述当前节点组成的向...

【专利技术属性】
技术研发人员:秦齐杨孟田磊李明辉李志杰赵玉超
申请(专利权)人:中国重汽集团济南动力有限公司
类型:发明
国别省市:

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

1