【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】Boustrophedon Cellular Decomposition Path Planning
系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理
文章目录
- 系列文章目录
- 前言
- 【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】Boustrophedon Cellular Decomposition Path Planning
- 实现原理
- 实现代码
- 牛耕的整体过程示例
前言
认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对**【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】Boustrophedon Cellular Decomposition Path Planning**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章
提示:以下是本篇文章正文内容
【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】Boustrophedon Cellular Decomposition Path Planning
利用Boustrophedon模式分块,每个块内的路径计算相对独立,减少了全局搜索的复杂度,提高了计算效率。
https://github.com/RicheyHuang/BoustrophedonCellularDecompositionPathPlanning
实现原理
1、通过手动构造多边形,通过多边形使用opencv构造珊格地图(或者通过加载PNG图片构造珊格地图)
2、ExtractContours()在珊格地图中,通过像素值不同分别提取出边界顶点和障碍物顶点,并对顶点进行排序
3、【核心】ConstructCellGraph()输入多边形信息,进行ConstructCellGraph区域分解,得到cell_graph及单位cell的信息
4、【核心】StaticPathPlanning()依次根据cell_graph及单位cell的信息,使用珊格地图生成每个cell的覆盖路径
5、FilterTrajectory()把每个cell的覆盖路径整合到一个容器中
实现代码
(1)整体代码框架
https://blog.csdn.net/qq_35635374/article/details/142417386?sharetype=blogdetail&sharerId=142417386&sharerefer=PC&sharesource=qq_35635374&spm=1011.2480.3001.8118
(2)Boustrophedon Cellular Decomposition 区域分解
https://blog.csdn.net/qq_35635374/article/details/142416475?sharetype=blogdetail&sharerId=142416475&sharerefer=PC&sharesource=qq_35635374&spm=1011.2480.3001.8118(3)用珊格地图生成每个cell的覆盖路径
https://blog.csdn.net/qq_35635374/article/details/142416514?sharetype=blogdetail&sharerId=142416514&sharerefer=PC&sharesource=qq_35635374&spm=1011.2480.3001.8118
牛耕的整体过程示例