深蓝学院第二章路径规划——ROS图搜索算法(二)

从工作空间->配置空间映射:

将具有一定范围大小的robot映射为质点,让障碍物进行膨胀。

将无人机看成圆盘或者圆球,以半径大小将障碍物进行膨胀,然后将无人机看成质点。

图搜索定义:

图搜索主要逻辑:

深度优先搜索DFS:像堆栈

广度优先搜索BFS:像队列

BFS相比DFS是想找到最优的,而DFS不是为了找最优:

贪婪BFS:

有障碍后不一定最优:

Dijkstra 算法:

A*算法:

算法是否取到最优性:

权重对A*算法的影响:

C++中有利于A*算法的std数据结构参考:

最佳的启发函数:对角启发

Jump Point Search(跳点搜索算法):

当前节点x与父节点到达下一个节点进行比较:

跳跃规则:

[注意]:但是JPS会将没有障碍物的区域全部进行查询,不太节省时间,空旷的地方太多的时候,该算法会比A*算法更慢。

相关推荐
m0_7487080510 分钟前
C++中的观察者模式实战
开发语言·c++·算法
然哥依旧10 分钟前
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)
算法·支持向量机·matlab·cnn
qq_5375626723 分钟前
跨语言调用C++接口
开发语言·c++·算法
Tingjct35 分钟前
【初阶数据结构-二叉树】
c语言·开发语言·数据结构·算法
C雨后彩虹35 分钟前
计算疫情扩散时间
java·数据结构·算法·华为·面试
yyy(十一月限定版)1 小时前
寒假集训4——二分排序
算法
星火开发设计1 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
醉颜凉2 小时前
【LeetCode】打家劫舍III
c语言·算法·leetcode·树 深度优先搜索·动态规划 二叉树
达文汐2 小时前
【困难】力扣算法题解析LeetCode332:重新安排行程
java·数据结构·经验分享·算法·leetcode·力扣
一匹电信狗2 小时前
【LeetCode_21】合并两个有序链表
c语言·开发语言·数据结构·c++·算法·leetcode·stl