一种混合启发式函数的改进制造技术

技术编号:39514991 阅读:11 留言:0更新日期:2023-11-25 18:52
本发明专利技术涉及一种混合启发式函数的改进

【技术实现步骤摘要】
一种混合启发式函数的改进A*算法及装置


[0001]本专利技术涉及路径规划领域,特别是涉及一种混合启发式函数的改进
A*
算法及装置


技术介绍

[0002]近年来,随着移动机器人技术的快速发展和劳动力成本的提高,移动机器人越来越多地被应用到各个领域

其中,室内清洁机器人以其相对较低的生产成本和贴近人们日常生活的优势,成为产量最大

市场普及率最高的几种移动机器人产品之一

室内清洁机器人可以在家庭环境中自主完成地图构建

路径规划

垃圾收集

充电等功能

随着清洁机器人的普及和应用,对其性能提出了越来越高的要求

其中,路径规划是清洁机器人领域的一项核心技术,也是提高用户体验的关键技术

同步定位与测绘
(SLAM)
技术融合了多传感器信息以获得环境地图,移动机器人在此基础上进行路径规划

路径规划的核心目标是找到一条从起点到目标点的安全且成本最低的路径

[0003]全局路径规划是一种静态规划,在已知的全局地图上规划出一条最佳路径

经典的全局路径规划算法包括
A

star(A*)
算法
、D

star
算法
、Rapidly

exploring Randon Tree(RRT)、Genetic Algorithm(GA)

Ant Colony algorithm Optimization(ACO)
,等等

其中,
A

star
算法由于其高规划效率,被认为是解决静态地图中最短路径的最有效的算法之一

[0004]当
A*
算法用于复杂的室内环境中的路径规划时,需要更多的搜索节点,并产生多线路径,这降低了路径规划的效率


技术实现思路

[0005]因此,本专利技术提出一种混合启发式函数的改进
A*
算法,通过将当前节点
P
n
(x,y)
到过起点与目标点连成直线的距离和当前节点到目标节点的欧式距离作为新的启发函数
h(n)
,加强了将下一探索节点拉向终点的力,从而导致参与路径规划的搜索节点数量减少,提高了探索效率

[0006]本申请是通过如下技术方案实现的:
[0007]一方面,本申请提供一种混合启发式函数的改进
A*
算法,其包括:
[0008]获取目标场景的地图信息,所述地图信息包括多个位置节点
P(n)
,并设置一位置节点作为起点
P(0)
和设置一位置节点作为目标点
P(end)

[0009]创建开放列表和闭合列表;
[0010]将起点和与起点相邻的位置节点放入开放列表中,从开放列表中选择起点作为当前节点,并将当前节点添加到闭合列表中;
[0011]计算当前节点与每一相邻节点的成本函数之差,并于一阈值比较,若当前节点与某一相邻节点的成本函数的差值小于所述阈值,则将与该相邻节点相邻的位置节点添加至开放列表中

成本函数包括位置节点
P(n)
的实际路径值和混合启发式函数得到的启发数
值,混合启发式函数将当前节点到过起点与目标点连成直线的距离和当前节点到目标节点的欧式距离进行组合运算;
[0012]将开放列表中与当前节点的成本函数差值最小的位置节点的作为新节点,将当前节点设置为新节点的父节点,并添加至闭合列表中;
[0013]判断目标点
P(end)
是否被添加至闭合列表,若没有被添加至闭合列表,则重复前三个步骤,若目标点
P(end)
已经被添加至闭合列表则根据父节点和子节点之间的关系,得到一个从起点到目标点的路径

[0014]进一步地,所述成本函数具体为:
[0015]f(n)

g(n)+h(n)
[0016]其中,
f(n)
是节点
P(n)
的成本值,
g(n)
是节点
P(n)
的实际路径值,而
h(n)
是启发式数值;
[0017]h(n)
的具体计算公式如下:
[0018][0019]其中
h1(n)
是当前节点
P
n
(x,y)
到过起点与目标点连成直线的距离,
h2(n)
是当前节点到目标节点的欧式距离

[0020]进一步地,将起点和与起点相邻的位置节点放入开放列表中,从开放列表中选择起点作为当前节点,并将当前节点添加到闭合列表中的同时;
[0021]对已经放入开放列表中的位置节点标注为已访问状态,对已经放入闭合列表中的位置节点标注为已结算状态

[0022]进一步地,将起点和与起点相邻的位置节点放入开放列表中时,将同一位置节点的相邻位置节点存储在在同一数组内

[0023]另一方面,本申请还提供了一种基于混合启发式函数的改进
A*
算法的路径规划装置,其包括:
[0024]地图初始化模块:用于获取目标场景的地图信息,所述地图信息包括多个位置节点
P(n)
,并设置一位置节点作为起点
P(0)
和设置一位置节点作为目标点
P(end)

[0025]列表初始化模块:用于创建开放列表和闭合列表;
[0026]节点初始化模块:用于将起点和与起点相邻的位置节点放入开放列表中,从开放列表中选择起点作为当前节点,并将当前节点添加到闭合列表中;
[0027]节点选择模块:用于计算当前节点与每一相邻节点的成本函数之差,并于一阈值比较,若当前节点与某一相邻节点的成本函数的差值小于所述阈值,则将与该相邻节点相邻的位置节点添加至开放列表中

成本函数包括位置节点
P(n)
的实际路径值和混合启发式函数得到的启发数值,混合启发式函数将当前节点到过起点与目标点连成直线的距离和当前节点到目标节点的欧式距离进行组合运算;
[0028]节点链接模块:用于将开放列表中与当前节点的成本函数差值最小的位置节点的作为新节点,将当前节点设置为新节点的父节点,并添加至闭合列表中;
[0029]路径生成模块:用于判断目标点
P(end)
是否被添加至闭合列表,若没有被添加至闭合列表,则重复前三个步骤,若目标点
P(end)
已经被添加至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种混合启发式函数的改进
A*
算法,其特征在于,包括:获取目标场景的地图信息,所述地图信息包括多个位置节点
P(n)
,并设置一位置节点作为起点
P(0)
和设置一位置节点作为目标点
P(end)
;创建开放列表和闭合列表;将起点和与起点相邻的位置节点放入开放列表中,从开放列表中选择起点作为当前节点,并将当前节点添加到闭合列表中;计算当前节点与每一相邻节点的成本函数之差,并于一阈值比较,若当前节点与某一相邻节点的成本函数的差值小于所述阈值,则将与该相邻节点相邻的位置节点添加至开放列表中;成本函数包括位置节点
P(n)
的实际路径值和混合启发式函数得到的启发数值,混合启发式函数将当前节点到过起点与目标点连成直线的距离和当前节点到目标节点的欧式距离进行组合运算;将开放列表中与当前节点的成本函数差值最小的位置节点的作为新节点,将当前节点设置为新节点的父节点,并添加至闭合列表中;判断目标点
P(end)
是否被添加至闭合列表,若没有被添加至闭合列表,则重复前三个步骤,若目标点
P(end)
已经被添加至闭合列表则根据父节点和子节点之间的关系,得到一个从起点到目标点的路径
。2.
根据权利要求1所述的一种混合启发式函数的改进
A*
算法,其特征在于,所述成本函数具体为:
f(n)

g(n)+h(n)
其中,
f(n)
是节点
P(n)
的成本值,
g(n)
是节点
P(n)
的实际路径值,而
h(n)
是启发式数值;
h(n)
的具体计算公式如下:其中
h1(n)
是当前节点
P
n
(x,y)
到过起点与目标点连成直线的距离,
h2(n)
是当前节点到目标节点的欧式距离
。3.
根据权利要求2所述的一种混合启发式函数的改进
A*
算法,其特征在于,将起点和与起点相邻的位置节点放入开放列表中,从开放列表中选择起点作为当前节点,并将当前节点添加到闭合列表中的同时;对已经放入开放列表中的位置节点标注为已访问状态,对已经放入闭合列表中的位置节点标注为已结算状态
。4.
根据权利要求3所述的一种混合启发式函数的改进
A*
算法,其特征在于:将起点和与起点相邻的位置节点放入开放列表中时,将同一位置节点的相邻位置节点存储在在同一数组内
。5.

【专利技术属性】
技术研发人员:曹一波杨正东刘好新赵佳恒范敬文
申请(专利权)人:华南师范大学
类型:发明
国别省市:

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

1