当前位置: 首页 > article >正文

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

牛耕的整体过程示例

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



http://www.kler.cn/a/316888.html

相关文章:

  • SpringBoot(八)使用AES库对字符串进行加密解密
  • 超市里的货物架调整(算法解析)|豆包MarsCode AI刷题
  • Dial-insight:利用高质量特定领域数据微调大型语言模型防止灾难性遗忘
  • 《AI 使生活更美好》
  • 【MATLAB代码】二维平面上的TDOA,使用加权最小二乘法,不限制锚点数量,代码可复制粘贴
  • go reflect 反射
  • WINDOWS AGENTARENA:EVALUATING MULTI-MODAL OS AGENTS AT SCALE论文学习
  • C++第六节课 - 拷贝构造函数
  • go语言 数组和切片
  • vue 页面常用图表框架
  • C++ std::find函数 容器元素查找
  • 机器学习-梯度下降实验一
  • 探索味蕾新境界,品味嘴尚绝卤味的健康之旅
  • 摩尔-彭罗斯伪逆(pinv)
  • spring 的启动过程
  • Kotlin 智能类型转换与 when 表达式(八)
  • 828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Redis集群
  • 实战19-详情页UI4等分
  • 浅谈C#之SynchronizationContext
  • Fyne ( go跨平台GUI )中文文档- 架构 (八)完结
  • Openpyxl 插入数据添加数据
  • leetcode 437.路径总和III
  • Gitlab runner的简单使用(一)
  • 【Redis】之Geo
  • 红黑树:强大的数据结构之插入详解,附图
  • yolov8多任务模型-目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程