来源丨古月居
我们在这里通过Python编程 matplotlib在这里,我们主要实现路径规划算法的数据可视化A Star算法、D Star算法、Dijkstra算法、RRT算法在2D空间下3D在空间下实现。
Astar在潜在的搜索图中有一个大区域。Dijkstra一样,Astar可用于搜索最短路径。BFS一样,Astar可以用启发函数引导自己。在简单的情况下,它和BFS一样快。
在程序入口部分,我们通过调用定义来指定起点和目标点Astar类别规划路径录,最后通过plot如图所示,可视化绘制显示。

类的初始化内容如下,主要介绍参数plot点坐标和算法类型。dict存储方式,plot如图所示,通过关键字搜索数据。
通过A Star如图所示,算法搜索路径点并添加显示。
如图所示,最终路径求解如下。
在A Star算法的3D在空间路径搜索部分,我们添加了所有向点Direction,这里所有的求解方向,如图所示。
其余部分和2D A Star与求解相同,这是增加求解实现描述显示,求解效果如图所示。
D Star算法对移动环境中的道路搜索也更有效。当迁移到当前节点时,只能检查最近路线上的结点和相邻节点的变化,包括机器人搜索。
通过调用,我们仍然指定起点和目标点DStar实现算法的验证和分析,如图所示。
类结构函数部分,调用Plotting类实现图表的初始结构,并声明相关阈值变量存储区,如图所示。
这部分是算法实现的核心,主要是贪婪策略迭代寻找更好的解决方案。如果发现路径比现在短,可以在这里向前或向后迭代。D Star如图所示
Dstar算法对2D如图所示:
D Star算法对3D如图所示,
Dijkstra算法也可以看作是贪婪的想法,首先保留从起点到每个节点之间的距离,找到v,然后放松找到v,所谓的放松方式是,第一次发现更近的距离作为中转站会更近,如果更近调整距离,所以当所有节点,从起点到其他节点之间保存并留下最短的距离。
和前两个一样,在指定起点和目标点后,调用定义Dijkstra类实现路径的搜索规划,最终通过plot可视化显示类。图可函数如图所示。
Dijkstra算法相对简单,这是基于数据结构的基本结构,核心代码如图所示。
Dijkstra算法2D路径规划如如图所示。
Dijkstra算法3D路径规划效果如图所示:
RRT(快速寻找随机树)是一种非常常见的方法,可以使用任何机器人类型、自由度和约束的复杂性。
它的基本原理非常简单,这是其在机器人应用领域流行的主要因素之一。但它的缺陷也非常突出,它得到的道路通常质量不是很好,比如棱角,不光滑,通常远离最佳路线。
RRT算法是基于抽样路径规划的D空间下的路径规划效果较好。核心功能函数如图所示。
RRT算法在3D规划效果如图所示。
本文仅做学术分享,如有侵权,请联系删文。
1.自动驾驶领域的多传感器数据集成技术
2.自动驾驶领域3D点云目标检测全栈学习路线!(单模态 多模态/数据 代码)3.彻底了解视觉三维重建:原理分析、代码解释、优化和改进4.中国第一门面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码解释6.彻底理解视觉-惯性-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底了解基础LOAM框架的3D激光SLAM: 从源代码分析到算法优化8.室内外激光彻底分析SLAM关键算法原理、代码和实战(cartographer LOAM LIO-SAM)
9.从零开始建造一套结构光3D重建系统[理论 源码 实践]
10.单目深度估计方法:算法梳理和代码实现
11.在自动驾驶中部署深度学习模型
12.相机模型及标定(单目) 双目 鱼眼)
13.重磅!四旋翼飞机:算法与实战
14.ROS2从入门到精通:理论与实战:
15.国内首个3D缺陷检测教程:理论、源代码和实战
16.基于Open3D点云处理入门及实战教程
扫码添加小助手微信,可
注:
▲长按加微信群或投稿
▲长按关注微信官方账号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈子里有高质量的教程资料,回答问题,帮助你有效地解决问题