[发明专利]一种针对机器人导航的虚拟墙自动生成方法有效
申请号: | 201810047468.4 | 申请日: | 2018-01-18 |
公开(公告)号: | CN108334080B | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 庄严;王栎斐;闫飞 | 申请(专利权)人: | 大连理工大学 |
主分类号: | G05D1/02 | 分类号: | G05D1/02 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 李晓亮;潘迅 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 机器人 导航 虚拟 自动 生成 方法 | ||
1.一种针对机器人导航的虚拟墙自动生成方法,其特征在于,该虚拟墙自动生成方法先获取障碍物密集区域的激光点;对激光点进行栅格化处理,并对栅格化后的激光点构建德洛内三角网,生成邻接矩阵;对德洛内三角网进行初始化,生成长度矩阵、属性矩阵和邻接三角形矩阵;基于虚拟墙构建算法与矩阵信息,剔除德洛内三角网中长度大于阈值的边界边,得到虚拟墙的几何图形;具体包括以下步骤:
第一步,移动机器人通过SLAM算法进行360度的全局激光点云扫描,得到以原始激光点云为存储方式的先验地图;
第二步,对先验地图中的障碍物密集区域进行圈选
观察先验地图的密集区域,选取密集区域的中心处的某点为圆心,圆心点与O点的距离为length,夹角为θ,圆的半径为R,其中O点为激光点云原点;
遍历先验地图中的原始激光点云,若当前被遍历的激光点坐标(x,y)位于圈选范围内,满足公式(1),则保留该激光点,并将保留的激光点存入局部激光点云;若当前被遍历的激光点坐标(x,y)不在圈选范围内,则直接舍弃;
(x-length×cosθ)2+(y-length×sinθ)2<=R (1)
第三步,通过栅格化对保留激光点云进行精简,得到栅格点云;
第四步,对栅格点云中的点构建德洛内三角网,德洛内三角网存储采用图的邻接矩阵方式存储,采用两个数组表示图:一个一维数组存储三角网中顶点信息,作为顶点数组;一个二维数组存储图中的边的信息,二维数组称为邻接矩阵;
若德洛内三角网内有n个顶点,则存在两个数组,顶点数组为vertex[n]={v0,v1,v2,...,vn},邻接矩阵arc[n][n]为:
其中,i≤n,j≤n;E为德洛内三角网内中边的集合,(vi,vj)表示顶点vi到顶点vj的边;
第五步,根据第四步得到的德洛内三角网的邻接矩阵,对德洛内三角网进行初始化,求取德洛内三角网的长度矩阵、属性矩阵和邻接三角形矩阵;定义如下:
1)长度矩阵定义
长度矩阵Lth[n][n],用于存储边的长度,定义为:
其中,vi的二维坐标为(xi,yi),vj的二维坐标为(xj,yj);
2)属性矩阵定义
属性矩阵为Pty[n][n],用于存储边的属性;根据邻接矩阵arc[n][n],对属性矩阵进行定义:若arc[i][j]=1,且只存在一个k值,满足arc[i][k]=1且arc[j][k]=1,则Pty[i][j]=1,表示(vi,vj)为边界边;若arc[i][j]=1,且存在两个k值,满足arc[i][k]=1且arc[j][k]=1,则Pty[i][j]=2,表示(vi,vj)为内部边;若arc[i][j]=0,则Pty[i][j]=0;
3)邻接三角形矩阵定义
邻接三角形矩阵为Adj[n][n],用于存储每条边的邻接三角形;根据邻接矩阵arc[n][n],对邻接三角形矩阵进行定义:若arc[i][j]=1,且只存在一个k值,满足arc[i][k]=1且arc[j][k]=1,则Pty[i][j]=vk,表示边(vi,vj)含有一个邻接三角形,且三角形顶点为vi,vj和vk;若arc[i][j]=1,且存在两个k值,满足arc[i][k]=1且arc[j][k]=1,存在的两个k值用m和n表示,则Pty[i][j]=vm,vn,表示边(vi,vj)含有两个邻接三角形,且三角形顶点分别为vi,vj,vm和vi,vj,vn;若arc[i][j]=0,则Pty[i][j]=0;
第六步,从德洛内三角网的最外层边开始向内不断地删去超过长度限制LengthLimit的边,最终得到虚拟墙的几何图形;通过如下步骤进行虚拟墙提取:
1)遍历属性矩阵,查找出德洛内三角网中所有的边界边;
2)初始化队列,从长度矩阵中查找出所有长度大于LengthLimit的边界边,并将其压入队列;
3)若队列为空,则执行步骤8);若队列非空,则执行步骤4);
4)从队列顶部弹出一条边(vi,vj),通过查找邻接三角形矩阵的Adj[i][j]元素,得到边(vi,vj)的邻接三角形T的其他顶点vk,执行步骤5);
5)找到T中另外两条边(vi,vk)和(vj,vk),将属性矩阵中Pty[i][k]和Pty[j][k]置为1,即将他们设定为新的边界边;为了使他们符合边界边只有一个邻接三角形条件,再将邻接三角形矩阵的Adj[i][k]元素中的顶点vj和Adj[j][k]元素中的顶点vi删除,执行步骤6);
6)查找长度矩阵,将(vi,vk)和(vj,vk)中长度大于LengthLimit的边压入队列,执行步骤7);
7)将边(vi,vj)对应的属性矩阵中的元素Pty[i][j]置为0,即剔除边(vi,vj)作为边界边的属性,执行步骤3);
8)遍历属性矩阵,提取所有边界边,形成虚拟墙。
2.根据权利要求1所述的一种针对机器人导航的虚拟墙自动生成方法,其特征在于,第四步中构建德洛内三角的方法为逐点插入法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810047468.4/1.html,转载请声明来源钻瓜专利网。