基于Matiplotlib的可视化栅格图路径规划项目(A*、JPS、DA*、Dijkstra、BFS、DFS等)

**

Path_planning_of_animation

**

TODO(刚开始的思路):

迷宫生成器(mazeGenerator.py):
func1: 制作一个n*m的矩阵
func2: 阔以通过鼠标设置起点和终点
func3: 阔以通过鼠标来设置和清除障碍物
寻路测试器(pathAnalyzer.py):
func1: 包含迷宫生成器
func2: 阔以设置寻路算法
func3: 根据算法模拟寻路过程,并且进行算法分析
路径规划算法集合(ppa.py):
contains:
Dijkstra
BFS(Best First Search)
BFS
DFS
A-Star
DA-Star
Faa(No Barriers)
JPS(Jump Search)
python库:
GUI: tkinter, matplotlib
Logic: math, bisect, numpy
Image: PIL
Task: threading, multiprocessing
Others: time, win32api, ctypes, inspect
思路:
​ top1: 使用tkinter 与 matplotlib 配合完成迷宫的绘制(包含障碍物的设置和清除,起点和终点的设置),路径规划动画化的推演 ✔

top2: 对灰度图片的推演 ✔
top3: 一些自创算法(目前只有faa这一个,

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
A*算法是一种常用于路径规划的算法,它基于启发式搜索,通过评估节点的代价函数来选择下一个移动的方向。巡检机器人的路径规划可以通过Matlab进行仿真。 在Matlab中,可以通过建立一个二维地图的数据结构来表示机器人的环境。使用A*算法,需要定义起点和终点,并将其作为搜索的初始节点和目标节点。 首先,在Matlab中创建一个二维数组表示机器人的地图,每个元素代表不同的区域。使用0表示可行的区域,1表示障碍物或不可行区域。接着,初始化起点和终点的坐标。 然后,创建一个优先级队列(Priority Queue)来存储待搜索的节点,并将起点加入队列。同时,创建一个二维数组用于存储每个节点的代价函数值,初值为无穷大。 接下来,循环执行以下步骤直到找到终点或队列为空: 1. 从队列中取出具有最小代价函数值的节点。 2. 如果该节点为终点,则搜索结束,找到了路径。 3. 否则,根据A*算法的原则,计算该节点的所有可行邻居节点的代价函数值。 4. 如果相邻节点的代价函数值更小且未被访问过,则更新节点的代价函数值,并将邻居节点添加到队列中。 最后,根据节点的代价函数值数组,可以恢复出从起点到终点的最佳路径。在Matlab中可以使用plot函数将路径画出来,以便进行可视化。 总之,使用Matlab进行A*算法的巡检机器人路径规划仿真可通过构建二维地图、实现A*算法的主要步骤,并使用plot函数进行可视化来完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值