CN112683278B - 一种基于改进a*算法和贝塞尔曲线的全局路径规划方法 - Google Patents
一种基于改进a*算法和贝塞尔曲线的全局路径规划方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000009499 grossing Methods 0.000 claims abstract description 10
- 230000007613 environmental effect Effects 0.000 claims abstract description 4
- 238000005452 bending Methods 0.000 abstract 1
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
Abstract
本发明公开一种基于改进A*算法和贝塞尔曲线的全局路径规划方法,具体包括以下步骤:步骤S1:利用激光雷达传感器采集的环境信息建立栅格地图,每个栅格被标记为可行区域或障碍区域,并给定路径规划的起始点S和目标点G;步骤S2:引入动态调整因子μ优化代价函数f(N);步骤S3:将搜索邻节点范围扩大为24邻域,执行改进的A*算法,找出最优路径;步骤S4:去除路径中的共线节点;步骤S5:利用贝塞尔曲线对路径进行平滑处理。本发明将传统A*算法8邻域搜索范围扩大为24邻域,引入动态调整因子μ优化代价函数,提高了算法搜索效率,利用贝塞尔曲线对路径进行平滑处理,减少了折弯次数,相比传统A*算法,路径更平滑,路径规划效率更高且更可靠。
Description
技术领域
本发明涉及移动机器人路径规划领域,特别是涉及到一种基于改进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间的折线段。
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)
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)
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*算法的全局路径规划方法 |
-
2021
- 2021-01-08 CN CN202110024447.2A patent/CN112683278B/zh active Active
Patent Citations (7)
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)
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 |