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

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

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

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

图搜索定义:

图搜索主要逻辑:

深度优先搜索DFS:像堆栈

广度优先搜索BFS:像队列

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

贪婪BFS:

有障碍后不一定最优:

Dijkstra 算法:

A*算法:

算法是否取到最优性:

权重对A*算法的影响:

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

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

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

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

跳跃规则:

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

相关推荐
展览会——12 分钟前
2025第9届中国重庆机器人展8月举办
机器人
序属秋秋秋31 分钟前
《数据结构初阶》【二叉树 精选9道OJ练习】
c语言·数据结构·c++·算法·leetcode
Tiny番茄33 分钟前
LeetCode 235. 二叉搜索树的最近公共祖先 LeetCode 701.二叉搜索树中的插入操作 LeetCode 450.删除二叉搜索树中的节点
数据结构·算法·leetcode
S01d13r7 小时前
LeetCode 解题思路 48(编辑距离、只出现一次的数字)
算法·leetcode·职场和发展
C_Liu_7 小时前
C语言:深入理解指针(5)
java·c语言·算法
small_wh1te_coder7 小时前
从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
c语言·数据结构·c++·stm32·算法·leetcode·深度优先
枫景Maple7 小时前
LeetCode 45. 跳跃游戏 II(中等)
算法·leetcode
এ᭄画画的北北7 小时前
力扣-236.二叉树的最近公共祖先
算法·leetcode
z人间防沉迷k9 小时前
堆(Heap)
开发语言·数据结构·笔记·python·算法
不二狗9 小时前
每日算法 -【Swift 算法】Two Sum 问题:从暴力解法到最优解法的演进
开发语言·算法·swift