CN112683278B - 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法 - Google Patents

一种基于改进a*算法和贝塞尔曲线的全局路径规划方法 Download PDF

Info

Publication number
CN112683278B
CN112683278B CN202110024447.2A CN202110024447A CN112683278B CN 112683278 B CN112683278 B CN 112683278B CN 202110024447 A CN202110024447 A CN 202110024447A CN 112683278 B CN112683278 B CN 112683278B
Authority
CN
China
Prior art keywords
node
algorithm
path
current node
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110024447.2A
Other languages
English (en)
Other versions
CN112683278A (zh
Inventor
金世俊
柴引引
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN202110024447.2A priority Critical patent/CN112683278B/zh
Publication of CN112683278A publication Critical patent/CN112683278A/zh
Application granted granted Critical
Publication of CN112683278B publication Critical patent/CN112683278B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Numerical Control (AREA)

Abstract

本发明公开一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,具体包括以下步骤:步骤S1:利用激光雷达传感器采集的环境信息建立栅格地图,每个栅格被标记为可行区域或障碍区域,并给定路径规划的起始点S和目标点G;步骤S2:引入动态调整因子μ优化代价函数f(N);步骤S3:将搜索邻节点范围扩大为24邻域,执行改进的A*算法,找出最优路径;步骤S4:去除路径中的共线节点;步骤S5:利用贝塞尔曲线对路径进行平滑处理。本发明将传统A*算法8邻域搜索范围扩大为24邻域,引入动态调整因子μ优化代价函数,提高了算法搜索效率,利用贝塞尔曲线对路径进行平滑处理,减少了折弯次数,相比传统A*算法,路径更平滑,路径规划效率更高且更可靠。

Description

一种基于改进A*算法和贝塞尔曲线的全局路径规划方法
技术领域
本发明涉及移动机器人路径规划领域,特别是涉及到一种基于改进A*算法和贝塞尔曲线的全局路径规划方法。
背景技术
根据外部环境信息是否已知,路径规划算法分为全局路径规划算法和局部路径规划算法;根据算法的搜索方式,可分为盲目式搜索和启发式搜索算法。A*算法是一种具有启发式特征的全局路径搜索算法,集中了Dijkstra算法和最佳优先搜索算法的优点,具有简单高效、灵活性强和准确性高的特点,被广泛应用于全局路径规划当中。但传统A*算法8邻域搜索的方法,限制了节点的运动方向只能为0.25π整数倍,容易出现不是最短路径且存在冗余节点和路径拐点过多的问题。启发函数h(N)的选择,直接影响路径搜索结果,当靠近终点时,启发函数h(N)在代价函数f(N)中所占比例减小,算法搜索效率就会降低,但是h(N)比重过高时,又会造成在路径搜索初期的搜索空间过小,难以找到最优解。
发明内容
为了解决上述存在问题。本发明提供一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,该方法将传统A*算法8邻域搜索范围扩大为24邻域,引入动态调整因子μ优化代价函数,提高了算法搜索效率,同时利用贝塞尔曲线进行路径平滑处理,进一步减少了多余的路径节点。
本发明提供一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,具体包括以下步骤:
步骤S1:利用激光雷达传感器采集的环境信息建立栅格地图,每个栅格被标记为可行区域或障碍区域,并给定路径规划的起始点S和目标点G;
步骤S2:引入动态调整因子μ优化代价函数f(N);
步骤S3:将搜索邻节点范围扩大为24邻域,执行改进的A*算法,找出最优路径;
步骤S4:去除路径中的共线节点;
步骤S5:利用贝塞尔曲线对路径进行平滑处理。
进一步,所述步骤S2具体包括以下过程:
引入动态调整因子μ优化代价函数f(N):
f(N)=g(N)+μ·h(N)
其中,(xS,yS)为起始点S坐标,(xN,yN)为当前节点N坐标,(xG,yG)为目标点G坐标;g(N)表示起始点S到当前节点N的实际移动代价函数;h(N)表示当前节点N到目标点G的估计移动代价,通常将h(N)称为启发函数;随着路径搜索向目标点靠近,动态调整因子μ值越来越大,启发函数h(N)所占比重就越大,增加了算法的快速收敛性,提高了搜索效率。
进一步,所述步骤S3具体包括以下过程:
S3.1分别构建开放列表OPEN表和关闭列表CLOSE表,其中OPEN表存放待检测节点,CLOSE表存放检测过或者不需要检测的节点,并将起始节点放入OPEN表;
S3.2遍历OPEN表,查找代价函数f值最小的节点作为要处理的当前节点N,并将当前节点N从OPEN表删除,添加到CLOSE表;
S3.3对当前节点N的24邻域搜索可行邻节点,跳过已在CLOSE表中的节点。当前节点N的24邻域即当前节点N的下一个可到达节点的区域,可表示为(x±2,y±2),x为当前节点在栅格地图中的横坐标,y为当前节点在栅格地图中的纵坐标;
S3.4判断当前节点N的邻节点是否为目标点G,若是,从目标点开始逐步追踪父节点,直至达到起始点,连线这些节点即为找到的路径,若否,则进行以下步骤;
S3.5若邻节点在OPEN表中,判断经由当前的节点的实际移动代价函数g值是否更小,若是,则将当前节点设为其父节点,并更新代价函数f值;若邻节点不在OPEN表中,则将其加入OPEN表,并将当前节点设为其父节点;
S3.6循环步骤S3.2至S3.5,直到找到最优路径。
进一步,所述步骤S4具体包括以下过程:
对于路径中相邻的三个节点Ni-1,Ni,Ni+1的坐标分别为(xi-1,yi-1),(xi,yi)和(xi+1,yi+1),节点Ni-1到节点Ni的斜率K1为(yi-yi-1)/(xi-xi-1),节点Ni到节点Ni+1的斜率K2为(yi+1-yi)/(xi+1-xi),若K1与K2相等,则三个节点共线,去掉共线节点Ni,否则不做处理。
进一步,所述步骤S5具体包括以下过程:
S5.1对于路径中相邻的三个节点Nj-1,Nj,Nj+1,分别在线段Nj-1Nj和NjNj+1上找出点A和点B,使得Nj-1A/Nj-1Nj=NjB/NjNj+1
S5.2连接点A和点B,并在线段AB上找出一点C,使得AC/AB=Nj-1A/Nj-1Nj=NjB/NjNj+1
S5.3让选取的点A在线段Nj-1Nj上从起点Nj-1,移动到终点Nj,找出所有满足条件的点C,并将它们连起来,即得到贝塞尔曲线,从而平滑了节点Nj-1,Nj,Nj+1间的折线段。
与现有方法相比,本发明具有如下优点和有益效果:
(1)本发明将传统A*算法的8邻域节点搜索扩大为24邻域节点搜索。消除了移动机器人只可变换0.25π整数倍移动方向的约束,使得节点搜索的移动方向也增加到16个方向,提高了最短路径搜索精度和效率,且有效减少了转折点的个数。
(2)本发明引入动态调整因子优化了代价函数,随着路径搜索向目标点靠近,启发函数所占比重增大,增加了算法的快速收敛性,提高了搜索效率。
(3)本发明利用贝塞尔曲线方法有效平滑转折点,同时减少了路径长度,整体路径更加平滑,有效避免机器人在转弯处出现急加减速的状况,使得运动更加连贯。
附图说明
图1为本发明基于A*算法改进的全局路径规划方法的原理图;
图2是本发明消除共线节点的原理图;
图3是本发明贝塞尔曲线平滑路径的原理图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
本发明提供一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,该方法将传统A*算法8邻域搜索范围扩大为24邻域,引入动态调整因子μ优化代价函数,提高了算法搜索效率,同时利用贝塞尔曲线进行路径平滑处理,进一步减少了多余的路径节点。
本发明所提供的一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,实现原理如图1所示。在一个具体实施例中,其具体包括以下步骤:
步骤S1:利用激光雷达传感器采集的环境信息建立栅格地图,每个栅格被标记为可行区域或障碍区域,并给定路径规划的起始点S和目标点G;
步骤S2:引入动态调整因子μ优化代价函数f(N)。具体包括以下过程:
引入动态调整因子μ优化代价函数f(N):
f(N)=g(N)+μ·h(N)
其中,(xS,yS)为起始点S坐标,(xN,yN)为当前节点N坐标,(xG,yG)为目标点G坐标;g(N)表示起始点S到当前节点N的实际移动代价函数;h(N)表示当前节点N到目标点G的估计移动代价,通常将h(N)称为启发函数;随着路径搜索向目标点靠近,动态调整因子μ值越来越大,启发函数h(N)所占比重就越大,增加了算法的快速收敛性,提高了搜索效率。
步骤S3:将搜索邻节点范围扩大为24邻域,执行改进的A*算法,找出最优路径。具体包括以下过程:
S3.1分别构建开放列表OPEN表和关闭列表CLOSE表,其中OPEN表存放待检测节点,CLOSE表存放检测过或者不需要检测的节点,并将起始节点放入OPEN表;
S3.2遍历OPEN表,查找代价函数f值最小的节点作为要处理的当前节点N,并将当前节点N从OPEN表删除,添加到CLOSE表;
S3.3对当前节点N的24邻域搜索可行邻节点,跳过已在CLOSE表中的节点。当前节点N的24邻域即当前节点N的下一个可到达节点的区域,可表示为(x±2,y±2),x为当前节点在栅格地图中的横坐标,y为当前节点在栅格地图中的纵坐标;
S3.4判断当前节点N的邻节点是否为目标点G,若是,从目标点开始逐步追踪父节点,直至达到起始点,连线这些节点即为找到的路径,若否,则进行以下步骤;
S3.5若邻节点在OPEN表中,判断经由当前的节点的实际移动代价函数g值是否更小,若是,则将当前节点设为其父节点,并更新代价函数f值;若邻节点不在OPEN表中,则将其加入OPEN表,并将当前节点设为其父节点;
S3.6循环步骤S3.2至S3.5,直到找到最优路径。
步骤S4:参照图2,去除路径中的共线节点。具体包括以下过程:
对于路径中相邻的三个节点Ni-1,Ni,Ni+1的坐标分别为(xi-1,yi-1),(xi,yi)和(xi+1,yi+1),节点Ni-1到节点Ni的斜率K1为(yi-yi-1)/(xi-xi-1),节点Ni到节点Ni+1的斜率K2为(yi+1-yi)/(xi+1-xi),若K1与K2相等,则三个节点共线,去掉共线节点Ni,否则不做处理。
步骤S5:参照图3,进一步,利用贝塞尔曲线对路径进行平滑处理。具体包括以下过程:
S5.1对于路径中相邻的三个节点Nj-1,Nj,Nj+1,分别在线段Nj-1Nj和NjNj+1上找出点A和点B,使得Nj-1A/Nj-1Nj=NjB/NjNj+1
S5.2连接点A和点B,并在线段AB上找出一点C,使得AC/AB=Nj-1A/Nj-1Nj=NjB/NjNj+1
S5.3让选取的点A在线段Nj-1Nj上从起点Nj-1,移动到终点Nj,找出所有满足条件的点C,并将它们连起来,即得到贝塞尔曲线,从而平滑了节点Nj-1,Nj,Nj+1间的折线段。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。

Claims (4)

1.一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,其特征在于,具体包括以下步骤:
步骤S1:利用激光雷达传感器采集的环境信息建立栅格地图,每个栅格被标记为可行区域或障碍区域,并给定路径规划的起始点S和目标点G;
步骤S2:引入动态调整因子μ优化代价函数f(N);
所述步骤S2具体包括以下过程:
引入动态调整因子μ优化代价函数f(N):
f(N)=g(N)+μ·h(N)
其中,(xS,yS)为起始点S坐标,(xN,yN)为当前节点N坐标,(xG,yG)为目标点G坐标;g(N)表示起始点S到当前节点N的实际移动代价函数;h(N)表示当前节点N到目标点G的估计移动代价,通常将h(N)称为启发函数;
步骤S3:将搜索邻节点范围扩大为24邻域,执行改进的A*算法,找出最优路径;
步骤S4:去除路径中的共线节点;
步骤S5:利用贝塞尔曲线对路径进行平滑处理。
2.根据权利要求1所述的一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,其特征在于:所述步骤S3具体包括以下过程:
S3.1分别构建开放列表OPEN表和关闭列表CLOSE表,其中OPEN表存放待检测节点,CLOSE表存放检测过或者不需要检测的节点,并将起始节点放入OPEN表;
S3.2遍历OPEN表,查找代价函数f值最小的节点作为要处理的当前节点N,并将当前节点N从OPEN表删除,添加到CLOSE表;
S3.3对当前节点N的24邻域搜索可行邻节点,跳过已在CLOSE表中的节点,当前节点N的24邻域即当前节点N的下一个可到达节点的区域,可表示为(x±2,y±2),x为当前节点在栅格地图中的横坐标,y为当前节点在栅格地图中的纵坐标;
S3.4判断当前节点N的邻节点是否为目标点G,若是,从目标点开始逐步追踪父节点,直至达到起始点,连线这些节点即为找到的路径,若否,则进行以下步骤;
S3.5若邻节点在OPEN表中,判断经由当前的节点的实际移动代价函数g值是否更小,若是,则将当前节点设为其父节点,并更新代价函数f值;若邻节点不在OPEN表中,则将其加入OPEN表,并将当前节点设为其父节点;
S3.6循环步骤S3.2至S3.5,直到找到最优路径。
3.根据权利要求1所述的一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,其特征在于:所述步骤S4具体包括以下过程:
对于路径中相邻的三个节点Ni-1,Ni,Ni+1的坐标分别为(xi-1,yi-1),(xi,yi)和(xi+1,yi+1),节点Ni-1到节点Ni的斜率K1为(yi-yi-1)/(xi-xi-1),节点Ni到节点Ni+1的斜率K2为(yi+1-yi)/(xi+1-xi),若K1与K2相等,则三个节点共线,去掉共线节点Ni,否则不做处理。
4.根据权利要求3所述的一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,其特征在于,所述步骤S5具体包括以下过程:
S5.1对于路径中相邻的三个节点Nj-1,Nj,Nj+1,分别在线段Nj-1Nj和NjNj+1上找出点A和点B,使得Nj-1A/Nj-1Nj=NjB/NjNj+1
S5.2连接点A和点B,并在线段AB上找出一点C,使得AC/AB=Nj-1A/Nj-1Nj=NjB/NjNj+1
S5.3让选取的点A在线段Nj-1Nj上从起点Nj-1,移动到终点Nj,找出所有满足条件的点C,并将它们连起来,即得到贝塞尔曲线,从而平滑了节点Nj-1,Nj,Nj+1间的折线段。
CN202110024447.2A 2021-01-08 2021-01-08 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法 Active CN112683278B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110024447.2A CN112683278B (zh) 2021-01-08 2021-01-08 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110024447.2A CN112683278B (zh) 2021-01-08 2021-01-08 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法

Publications (2)

Publication Number Publication Date
CN112683278A CN112683278A (zh) 2021-04-20
CN112683278B true CN112683278B (zh) 2024-01-30

Family

ID=75456523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110024447.2A Active CN112683278B (zh) 2021-01-08 2021-01-08 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法

Country Status (1)

Country Link
CN (1) CN112683278B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296504A (zh) * 2021-05-14 2021-08-24 江苏师范大学 基于rgbd深度相机的移动机器人建图与路径规划方法
CN115808918A (zh) * 2021-09-13 2023-03-17 灵动科技(北京)有限公司 全局路径规划方法、运动控制方法及计算机程序产品
CN113985892B (zh) * 2021-11-17 2023-09-22 江苏科技大学 一种基于改进a*算法的智能船舶路径规划方法
CN114200939B (zh) * 2021-12-10 2024-02-27 江苏集萃智能制造技术研究所有限公司 一种机器人防碰撞路径规划方法
CN114526750B (zh) * 2022-01-10 2024-02-27 深圳市灵星雨科技开发有限公司 一种路径优化方法及装置
CN115164907B (zh) * 2022-09-06 2022-12-02 南京理工大学 基于动态权重的a*算法的森林作业机器人路径规划方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173990A1 (zh) * 2016-04-07 2017-10-12 北京进化者机器人科技有限公司 一种机器人避障中的最短路径规划方法
WO2018064819A1 (zh) * 2016-10-08 2018-04-12 浙江国自机器人技术有限公司 一种移动机器人的路线规划方法
CN108469827A (zh) * 2018-05-16 2018-08-31 江苏华章物流科技股份有限公司 一种适用于物流仓储系统的自动导引车全局路径规划方法
CN110567477A (zh) * 2019-09-27 2019-12-13 五邑大学 基于改进a*算法的路径规划方法、装置及机器人
CN110928295A (zh) * 2019-10-16 2020-03-27 重庆邮电大学 一种融合人工势场与对数蚁群算法的机器人路径规划方法
CN111060109A (zh) * 2020-01-03 2020-04-24 东南大学 一种基于改进a星算法的无人艇全局路径规划方法
CN111504325A (zh) * 2020-04-29 2020-08-07 南京大学 一种基于扩大搜索邻域的加权a*算法的全局路径规划方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173990A1 (zh) * 2016-04-07 2017-10-12 北京进化者机器人科技有限公司 一种机器人避障中的最短路径规划方法
WO2018064819A1 (zh) * 2016-10-08 2018-04-12 浙江国自机器人技术有限公司 一种移动机器人的路线规划方法
CN108469827A (zh) * 2018-05-16 2018-08-31 江苏华章物流科技股份有限公司 一种适用于物流仓储系统的自动导引车全局路径规划方法
CN110567477A (zh) * 2019-09-27 2019-12-13 五邑大学 基于改进a*算法的路径规划方法、装置及机器人
CN110928295A (zh) * 2019-10-16 2020-03-27 重庆邮电大学 一种融合人工势场与对数蚁群算法的机器人路径规划方法
CN111060109A (zh) * 2020-01-03 2020-04-24 东南大学 一种基于改进a星算法的无人艇全局路径规划方法
CN111504325A (zh) * 2020-04-29 2020-08-07 南京大学 一种基于扩大搜索邻域的加权a*算法的全局路径规划方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
城市居民自行车出行行为路径导向优化;何少辰;;计算机仿真(第07期);全文 *
基于A~*算法的移动机器人路径规划;顾新艳;金世俊;;科技信息(科学教研)(第34期);全文 *
基于可搜索24邻域的A~*算法路径规划;崔宝侠;王淼弛;段勇;;沈阳工业大学学报(第02期);全文 *
基于改进A*的移动机器人路径规划算法;石征锦;宿一凡;卜春光;范晓亮;;单片机与嵌入式系统应用(第06期);全文 *

Also Published As

Publication number Publication date
CN112683278A (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN112683278B (zh) 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法
CN111504325B (zh) 一种基于扩大搜索邻域的加权a*算法的全局路径规划方法
CN110509279B (zh) 一种仿人机械臂的运动路径规划方法及系统
US11919170B2 (en) Fast method for robot path planning with obstacle avoidance
CN108444490B (zh) 基于可视图和a*算法深度融合的机器人路径规划方法
EP1335315A2 (en) Dual Dijkstra search for planning multiple paths
CN109579854B (zh) 基于快速扩展随机树的无人车避障方法
JP2014073550A (ja) 経路探索方法、経路探索装置、ロボット制御装置、ロボット及びプログラム
CN110702133B (zh) 路径规划方法、机器人以及具有存储功能的装置
CN110275528B (zh) 针对rrt算法改进的路径优化方法
CN107276896B (zh) 改进迪杰斯特拉算法的两点间最短路径搜索方法
CN115167474A (zh) 一种移动机器人路径规划优化方法
CN110705803B (zh) 基于三角形内心引导rrt算法的路径规划方法
KR100994075B1 (ko) 보행로봇의 최적경로 계획방법
JP2009056554A (ja) 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム
CN112393739B (zh) 大面积环境中的改进型快速搜索随机树路径规划方法
JPWO2015186338A1 (ja) 非線形計画問題処理装置および非線形計画問題処理方法
CN115454106B (zh) 一种基于双向搜索rrt*的auv回坞路径规划方法
CN117990107A (zh) 一种多目标点路径规划方法
CN113671969B (zh) 二维静态环境下的路径规划方法、系统、介质及存储设备
CN117451057B (zh) 基于改进a*算法无人机三维路径规划方法、设备和介质
CN111263418B (zh) 无线自组织网络中节点的移动路径规划系统及其方法
CN107356258B (zh) 点移动机器人在概率路线图中路径规划的神经网络方法
CN116501031A (zh) 基于变搜索领域的改进Astar路径规划方法
CN115437400A (zh) 基于两种优化算法的无人机路径规划方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant