【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】Boustrophedon Cellular Decomposition Path Planning

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理

文章目录


前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对**【栅格地图实现布氏单元分解算法+栅格地图实现牛耕】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

牛耕的整体过程示例





相关推荐
故事和你914 分钟前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯7 分钟前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
零号全栈寒江独钓13 分钟前
c++跨平台实现日志重定向
linux·c++·windows
小成2023032026523 分钟前
从C到C++
开发语言·c++
葱卤山猪1 小时前
C++17 联合体
开发语言·c++
weixin_468466851 小时前
图像滤波算法新手实战指南
图像处理·人工智能·算法·计算机视觉·ai·机器视觉·滤波
Ulyanov1 小时前
深入QML-Python通信 构建响应式交互界面的桥梁设计:QML+PySide6现代开发入门(五)
开发语言·python·算法·交互·qml·系统仿真
不会C语言的男孩1 小时前
C++ Primer Plus 第9章:内存模型和名称空间
开发语言·c++
重生之我是Java开发战士1 小时前
【贪心算法】加油站,单调递增的数字,坏了的计算器,合并区间,用最少数量的箭引爆气球
算法·贪心算法
愿天垂怜1 小时前
【C++脚手架】gtest 单元测试库的介绍与使用
linux·服务器·c++·gitee·前端框架·gtest