4.3.c BFS代码解析

type
status
slug
date
summary
tags
category
password
icon
生活就像一盒巧克力,你永远不知道下一颗是什么味道。
—《阿甘正传》
🏰代码及环境配置:请参考0.2 环境配置和代码运行 | 动手学运动规划!

本节提供了BFS(广度优先搜索)的代码测试:

4.3.c.1 构图的代码实现

基于图搜的运动规划中最重要的一步是构图,构建的图比较简单,主要包含map border和obstacles,读者也可根据需求修改构图方式。

4.3.c.2 BFS的代码实现

BFS的实现较为简单,按照理论部分一步步实现即可。首先定义了Node ,这是图的基础元素,代表节点,然后实现BFS的核心代码-planning ,其中:
sx:起始点的x坐标的值
sy:起始点的y坐标的值
gx:目标点的x坐标的值
gy:目标点的y坐标的值
最终返回一条路径:rx, ry

4.3.c.3 BFS的代码测试

main 函数中设置起始点,目标点,grid的分辨率和机器人的半径,在创建grid map之后,并运行BFS算法,即可找到一条路径。如下图所示,红色路径即为最终BFS搜出来的路径。可以看到在无权图中,BFS可以搜索到一条最优路径。
notion image
动手学运动规划(Motion Planning)动手学运动规划(Motion Planning)
Loading...
目录
文章列表