目录
1.算法概述
A*算法吸取了Dijkstra 算法中的cost_so_far,为每个边长设置权值,不停的计算每个顶点到起始顶点的距离(G),以获得最短路线,
同时也汲取贪婪最佳优先搜索算法中不断向目标前进优势,并持续计算每个顶点到目标顶点的距离(Heuristic distance),以引导搜索队列不断想目标逼近,从而搜索更少的顶点,保持寻路的高效。
Hybrid A Star和普通的A Star的最大不同可见下图,在普通的A Star中,我们不会考虑运动物体的方向,而且也不考虑物体的运动实际,我们假定物体总能转移到邻近格点中。但在Hybrid A Star中我们需要考虑物体的方向,在下图中我们用带箭头的点来表示一个物体的位置。而且在普通的A Star中物体总是出现在网格的中心,但是由于Hybrid A Star中,我们考虑了物体的实际运动约束,所以它们并不一定出现在格点的中心。由一个特定的位置出发,物体在下一步搜索中只能到达它可能到达的位置,比如在汽车中,受制于汽车转向角的限制。下图中绿色箭头表示车辆前进时候可能到达的几个位置,蓝灰色箭头表示倒退时几个可能的位置。
本文介绍了如何使用MATLAB实现基于A*算法的障碍物规避功能。A*算法结合了Dijkstra算法和贪婪最佳优先搜索算法,提高了寻路效率。文中详细阐述了算法概述,并展示了MATLAB 2022a的仿真效果和源码。
订阅专栏 解锁全文
2427

被折叠的 条评论
为什么被折叠?



