2022年CIE SCI2区TOP,双向交替搜索 A* 算法的移动机器人全局路径规划,深度解析+性能实测

目录


1.摘要

针对传统 A* 算法在大规模环境中存在的计算效率低、路径转向角大以及路径不平滑等问题,本文提出了一种改进 A* 路径规划算法,该方法引入双向交替搜索(BAS)策略,通过正向与反向搜索交替进行并在路径相遇时完成规划,有效提升了搜索效率;同时,采用指数衰减加权的启发式函数,进一步优化了搜索性能。为减少路径冗余并降低转向角,算法引入路径节点筛选机制,并利用 Bézier 曲线实现路径平滑处理,以满足移动机器人运动控制的实际需求。

2.改进A*算法

双向交替搜索策略

双向交替搜索(BAS)策略,从起点和终点同时进行路径搜索,通过交替选取正、反向开放列表中的最优节点作为搜索目标,使两条路径自适应地相遇,从而减少无效节点扩展并提高搜索效率。正反向搜索均采用 8 邻域扩展,并以欧氏距离作为启发式函数:
f F ( N F ) = g F ( N F ) + h F ( N F ) f_F(N_F)=g_F(N_F)+h_F(N_F) fF(NF)=gF(NF)+hF(NF)

f B ( N B ) = g B ( N B ) + h B ( N B ) f_B(N_B)=g_B(N_B)+h_B(N_B) fB(NB)=gB(NB)+hB(NB)

h F ( N F ) = ( x N B − x N F ) 2 + ( y N B − y N F ) 2 h_F(N_F)=\sqrt{\left(x_{N_B}-x_{N_F}\right)^2}+\sqrt{\left(y_{N_B}-y_{N_F}\right)^2} hF(NF)=(xNB−xNF)2 +(yNB−yNF)2
h B ( N B ) = ( x N F − x N B ) 2 + ( y N F − y N B ) 2 h_B(N_B)=\sqrt{\left(x_{N_F}-x_{N_B}\right)^2}+\sqrt{\left(y_{N_F}-y_{N_B}\right)^2} hB(NB)=(xNF−xNB)2 +(yNF−yNB)2

改进启发式函数

BAS-A* 算法在部分情况下仍存在绕障能力不足和节点重复搜索的问题,导致计算效率下降。针对评价函数在搜索效率与最优性之间的权衡,本文对启发式函数进行加权改进,使节点距离较远时增强搜索引导、加速路径相遇,距离较近时弱化启发影响以逼近真实代价,从而有效减少冗余搜索并提升整体规划效率。
f ( n ) = g ( n ) + e h ( n ) ⋅ h ( n ) f(n)=g(n)+\mathrm{e}^{h(n)}\cdot h(n) f(n)=g(n)+eh(n)⋅h(n)

3.结果展示

4.参考文献

1 Li C, Huang X, Ding J, et al. Global path planning based on a bidirectional alternating search A* algorithm for mobile robotsJ. Computers & Industrial Engineering, 2022, 168: 108123.

5.代码获取

xx

6.算法辅导·应用定制·读者交流

xx

相关推荐
小欣加油24 分钟前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
lqqjuly34 分钟前
前沿算法深度解析(二)
人工智能·算法·机器学习
徐小夕2 小时前
万字长文!千万级文档 RAG 知识库系统落地实践
前端·算法·github
akunkuntaimei2 小时前
2026年高考数学各省真题及答案(完整版)
算法·高考
Hello:CodeWorld3 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
8Qi84 小时前
LeetCode 516:最长回文子序列
算法·leetcode·职场和发展·动态规划
youngerwang5 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
KaMeidebaby6 小时前
卡梅德生物技术快报|纯化重组蛋白实操详解
人工智能·python·tcp/ip·算法·机器学习
手写码匠6 小时前
从零实现 Prompt 工程引擎:结构化提示、自动优化与多轮自省体系
人工智能·深度学习·算法·aigc
无限码力7 小时前
阿里算法岗 0530笔试真题 - 多约束条件下的元素匹配统计
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试