[发明专利]一种基于改进二维码的AGV定位及导航方法有效
申请号: | 202011359423.4 | 申请日: | 2020-11-27 |
公开(公告)号: | CN112686070B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 邢科新;吴昊;林叶贵;权欣文 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06K7/14 | 分类号: | G06K7/14;G06T7/12;G06T7/168;G06T7/62;G01C21/00 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 周红芳;朱盈盈 |
地址: | 310014 *** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 二维码 agv 定位 导航 方法 | ||
1.一种基于改进二维码的AGV定位及导航方法,其特征在于,包括如下步骤:
步骤1)对二维码进行改进,在二维码的四周加上三角形标志用于确定二维码的大体位置,并将二维码放到仓库顶部且到地面距离固定不变;
步骤1)中二维码的具体改进方法是在二维码的四周加上顶点朝向二维码的小三角形标志;
步骤2)通过AGV的相机识别三角形标志,确定二维码的大体位置,根据三角形标志移动车体使得整个二维码进入到相机镜头的内部;
步骤2)的具体方法步骤如下:
2.1)对二维码的图像进行预处理,将图像转成灰度图像并且二值化;
2.2)通过边缘检测找到图像中的所有轮廓并计算轮廓面积;
2.3)绘制轮廓的外接矩形并计算出轮廓外接矩形的面积;
2.4)用该轮廓面积与外接矩形轮廓面积作比,比值等于1/2,则认为找到三角形;
2.5)对三角形轮廓进行霍夫变换找到顶点坐标,然后利用点到直线的距离找到正对着二维码的点;
2.6)根据三角形顶点移动车体使得整个二维码进入到AGV的相机镜头内;
步骤3)通过AGV的相机识别二维码中所有的轮廓,由于二维码高度固定,根据面积大小删除不符合标准的轮廓,根据二维码的层级关系再次进行筛选,获取二维码的三个位置探测图形;
所述步骤3)具体步骤如下:
3.1)检测轮廓边界的像素:
为了在一幅图像f的(x,y)位置处寻找边缘的强度和方向,所选择的工具就是梯度,梯度用▽f来表示,并用向量来定义:
该向量指出了f在位置(x,y)处的最大变化率的方向;
向量▽f的大小表示为M(x,y),即
梯度向量的方向由下列对于x轴度量的角度给出:
任一点(x,y)处一个边缘的方向与该点处梯度向量的方向α(x,y)正交,通过该方法可以根据像素间的差异检测出轮廓边界的像素;其中,gx、gy、M(x,y)都是与原图像大小相同的图像;是x和y在f中的所有像素位置上变化产生的;α(x,y)是与由gy除以gx的阵列创建的尺寸相同的图像;
3.2)将边缘像素合成轮廓:
对输入的图像使用光栅扫描法进行扫描,当扫描某个像素点(i,j)的灰度值fij≠0时执行下面的步骤;其中光栅扫描是指从左往右,从上往下,先扫描完一行,再移至下一行起始位置继续扫描,
3.2.1)从下列情况选一种:
i)如果fi,j=1并且fi,j-1=0,则(i,j)是外边界开始点,NBD+=1,(i2,j2)←(i,j-1);其中fi,j是指像素点(i,j)的灰度值;NBD+=1是指NBD=NBD+1,编号NBD的值加1;NBD是指从边界开始点(i,j)以边界跟踪算法可以得到一条边界,为每条新找到的边界赋予一个新的唯一的编号,即NBD表示当前跟踪的边界的编号;(i,j)表示图片中第i行第j列的像素点;(i2,j2)为了方便区分不同像素点而起的编号;(i2,j2)←(i,j-1)是指将(i,j-1)的坐标值传给(i2,j2);
ii)如果fij≥1并且fi,j+1=0,则(i,j)是孔边界开始点,NBD+=1,(i2,j2)←(i,j+1);如果fij1,则LNBD←fij;其中LNBD是指在光栅扫描过程中,保存上一个的边界的编号,记为LNBD;
iii)其它情况到第(3.2.4)步;
3.2.2)根据上一个边界和当前边界的类型,得到当前边界的父边界;
3.2.3)从边界开始点(i,j)开始按如下步骤进行边界跟踪;
a)以(i,j)为中心,(i2,j2)为起始点,按顺时针方向查找(i,j)的4(8)邻域是否存在非0像素点,令(i1,j1)是顺时针方向的第一个非0像素点;否则令,转到(3.2.4);其中4(8)邻域中4邻域是指坐标(x,y)处的像素P由4个水平和垂直的相邻像素,其坐标为(x+1,y)(x-1,y)(x,y+1)(x,y-1),这组像素称为P的4邻域;4邻域与对角坐标点(x+1,y+1)(x+1,y-1)(x-1,y+1)(x-1,y-1)共同构成8邻域;
b)(i2,j2)←(i1,j1),(i3,j3)←(i,j);
c)以(i3,j3)为中心,按逆时针方向,(i2,j2)的下一个点为起始点查找(i3,j3)的4(8)邻域是否存在非0像素点,令(i4,j4)是逆时针方向的第一个非0像素点;
d)如果(i3,j3+1)是(c)中已经检查过的限速点且是0像素点,则fi3,j3←-NBD;如果(i3,j3+1)不是(c)中已经检查过的0像素点,并且,则fi3,j3←NBD,其它情况,不改变;
e)如果(i4,j4)=(i,j)且(i3,j3)=(i1,j1)(回到边界开始点),则转到(3.2.4);否则令(i2,j2)←(i3,j3),(i3,j3)←(i4,j4)转到(c);
3.2.4)如果fij≠1,则LNBD←|fij|,从点(i,j+1)继续光栅扫描,当扫描到图片的右下角顶点是结束;
3.3)对提取到的轮廓进行筛选:
3.3.1)面积筛选,二维码到镜头的垂直距离不变,三个位置探测图形的外轮廓大小面积会在一定范围之内,把不在面积范围之内的轮廓删除掉;
3.3.2)轮廓层级筛选,因为二维码中的位置探测图形的层级为三层,因此把大于等于三层等级的轮廓留下,如果留下的轮廓数量少于三个,把三层改为两层,不符合要求的删除;
3.4)对获取的二维码中的位置探测图形进行位置判断并进行编号;
步骤4)根据二维码的探测图形移动车体让相机对准二维码的中心;
所述步骤4)的具体方法步骤如下:
4.1)找到位置探测图行然后得到三个位置探测图形的中心a1,a2,a3的中心坐标分别为(x1,y1),(x2,y2),(x3,y3);并将二维码左上角的定位点定义为第1点,右上角的定位点定义为第2点,左下角的定位点定义为第3点;计算a1,a2两点的距离d1:
同理计算出a1,a3两点的距离d2;a2,a3两点的距离d3;
4.2)比较d1,d2,d3的大小,最大的就是斜边,假设斜边为d1,剩余的点a3就是二维码的左上角的点;
4.2.1)当x2-x1≠0时计算斜边的斜率:
f=0时,斜边是水平状态,y3y1并且y3y2,此时x1x2则a1为第3点,a2为第2点;反之a1为第2点,a2为第3点;y3y1并且y3y2时,此时x1x2则a1为第2点,a2为第3点;反之a1为第3点,a2为第2点;
f0时,根据顶点坐标计算出斜边直线方程为ax+by+c=0,将a1带入到直线方程小于0时,此时x1x2则a1为第3点,a2为第2点;反之a1为第2点,a2为第3点;
将a1带入直线方程大于0时,此时x1x2则a1为第2点,a2为第3点;反之a1为第3点,a2为第2点;
f0时,根据顶点坐标计算出斜边直线方程为ax+by+c=0,将a1带入到直线方程大于0时,此时x1x2则a1为第3点,a2为第2点;反之a1为第2点,a2为第3点;
将a1带入直线方程小于0时,此时x1x2则a1为第2点,a2为第3点;反之a1为第3点,a2为第2点;
通过以上方法即可计算出二维码的方向;
4.2.2)当x2-x1=0时:
此时最长的边处于竖直状态,只需要比较点的x坐标即可;
4.3)根据二维码的方向以及中心坐标点就可以使得AGV相机中心与二维码相机中心重合,方向对着二维码前方;
步骤5)识别二维码信息,获取车体在仓库内部坐标信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011359423.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:FBAR滤波器电路
- 下一篇:一种换流阀电容检测装置和检测方法