4.2.c DFS代码解析

type
status
slug
date
summary
tags
category
password
icon
如今我努力奔跑,不过是为了追上那个曾经被寄予厚望的自己。
—肖恩·利文斯顿
🏰代码及环境配置:请参考0.2 环境配置和代码运行 | 动手学运动规划!

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

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

基于图搜的运动规划中最重要的一步是构图,本章大部分小节的构图都是按照以下的代码进行创建,构建的图比较简单,主要包含map border和obstacles,读者也可根据需求修改构图方式。

4.2.c.2 DFS的代码实现

DFS的实现较为简单,按照理论部分一步步实现即可,其中:
sx:起始点的x坐标的值
sy:起始点的y坐标的值
gx:目标点的x坐标的值
gy:目标点的y坐标的值
最终返回一条路径:rx, ry

4.2.c.3 DFS的代码测试

main 函数中设置起始点,目标点,grid的分辨率和机器人的半径,在创建grid map之后,并运行DFS算法,即可找到一条路径。如下图所示,红色路径即为最终DFS搜出来的路径。值得注意的是,DFS算法和子节点的存放顺序相关,因此其路径并不是一条最优的路径,只是一条可行路径。
notion image
动手学运动规划(Motion Planning)动手学运动规划(Motion Planning)
Loading...
目录
文章列表