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

牛耕的整体过程示例





相关推荐
大侠归来2 小时前
C 语言 | 在函数中操作数组
c语言·c++·算法
怕浪猫7 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i8 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
Evand J9 小时前
【MATLAB例程】三维RRT+APF避障路径规划与到达角(AOA)定位算法|三维路径优化与定位仿真例程
算法·matlab·路径规划·代码·定位·rrt·aoa
郑同学的笔记10 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
随意起个昵称10 小时前
【背包dp】输出方案路径
c++·动态规划
weixin_3077791310 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i11 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
by2099911 小时前
学会使用std::string类,并理解其内部是如何管理字符串的详细阐述(上)
c++·笔记·字符串·类和对象·string
沙漠之主11 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++