[发明专利]一种基于拓扑不变性的圈地方法有效
申请号: | 201810488317.2 | 申请日: | 2018-05-21 |
公开(公告)号: | CN108711170B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 贾聪;姜福泉;张志超 | 申请(专利权)人: | 武汉山骁科技有限公司 |
主分类号: | G06T7/62 | 分类号: | G06T7/62 |
代理公司: | 武汉天领众智专利代理事务所(普通合伙) 42300 | 代理人: | 高兰 |
地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 拓扑 不变性 圈地 方法 | ||
1.一种基于拓扑不变性的圈地方法,其特征在于,包括以下步骤:
步骤一、将工作区域按网格划分,所述网格由多个六边形按顺序拼接而成,得到所述工作区域拓扑不变的结构,并将每一个网格定义为一个map结构体;
步骤二、对步骤一中的工作区域内一个闭合路径,以一个网格为单位,生成一个最小的包围盒;
步骤三、对步骤二中的闭合路径作出如下定义,闭合路径所占区域为占领地,其余区域为空地,记占领地的状态为1,空地的状态为0,将状态为0的网格放入集合list中;
步骤四、对步骤三中得到的集合list中的点进行循环遍历,若该点周围的点存在于集合list中,则从集合list中移除,添加到栈stack中,得到新的集合list,即为闭合路径的圈地区域的点;
步骤五、对步骤四中得到的新的集合list中的点的状态设置为1,得到圈地区域的详细数据;
所述步骤四中集合list中的点进行循环遍历具体过程为:
S1、选取包围盒中左下角的点加入到栈Stack中,并记该点为(xmin,ymin),进入步骤S2中执行;
S2、判断Stack是否为空,若为空,则进入步骤S4中执行,若不为空,则进入步骤S3中执行;
S3、将Stack中第一个元素出栈,若该元素在list中,则将该元素从list中移除,并将该元素的上、下、左上、左下、右上、右下的点全部加入到Stack中,进入步骤S2中执行,若该元素不在list中,则进入步骤S4中执行;
S4、终止。
2.根据权利要求1所述的一种基于拓扑不变性的圈地方法,其特征在于:所述步骤一中的map结构体的属性包括拓扑关系对应的坐标(x,y)、状态以及实际坐标(worldX,worldY)。
3.根据权利要求1所述的一种基于拓扑不变性的圈地方法,其特征在于:所述步骤三中得到集合list的具体过程为,遍历最小包围盒内所有的map结构体,若为占领地,则记状态为1,若为空地,则记状态为0,并把这个map结构放入到集合list中。
4.根据权利要求1所述的一种基于拓扑不变性的圈地方法,其特征在于:所述左下角的点为圈地领域外且不属于闭合路径所占区域的点。
5.根据权利要求1所述的一种基于拓扑不变性的圈地方法,其特征在于:所述步骤五中圈地区域的详细数据包括圈地的面积和坐标。
6.根据权利要求1所述的一种基于拓扑不变性的圈地方法,其特征在于:所述每一个网格的边长的大小决定了计算的精确度,边长的取值越小,最后的结果越精确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉山骁科技有限公司,未经武汉山骁科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810488317.2/1.html,转载请声明来源钻瓜专利网。