[发明专利]一种基于深度相机的托盘检测定位方法在审
| 申请号: | 202010866470.1 | 申请日: | 2020-08-25 |
| 公开(公告)号: | CN111986185A | 公开(公告)日: | 2020-11-24 |
| 发明(设计)人: | 高飞;邱琪;卢书芳;翁立波;张元鸣 | 申请(专利权)人: | 浙江工业大学 |
| 主分类号: | G06T7/00 | 分类号: | G06T7/00;G06K9/46;G06K9/40;G06K9/62;G06T7/11;G06T7/70 |
| 代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 周红芳;朱盈盈 |
| 地址: | 310014 *** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 深度 相机 托盘 检测 定位 方法 | ||
1.一种基于深度相机的托盘检测定位方法,其特征在于,包括如下步骤:
步骤1:根据托盘货架横梁和立柱的宽度,选取直径3-5厘米的圆形红外反光标记粘贴在横梁和立柱外表面;
步骤2:使用深度相机获取包含目标托盘的点云和红外图像,记该点云为原始点云P0,红外图像为I0,并对点云和红外图像进行预处理;
步骤3:采用直通滤波算法去除点云P0中的无效区域,同时剔除离群点;采用基于法向量约束的区域生长算法对点云进行分割,首先使用基于主成分分析的法线估计方法,设置方法中种子点的邻域半径为30毫米,设置区域生长点数下限为50,上限为2000,对点云中任意种子点进行法线估计,将点云聚类为n个点簇集合,其中第j个聚类点集Dj如式(5)所示,j=1,2,…,n,点集Dj被视为一个平面;筛选出点云中待处理的托盘立柱平面点云并构成如式(6)所示的点云集合Pplane,该点云集合对应的平面记为α;
Dj={di||Ai|<5°,i=1,2,…,v} (5)
其中,di表示点云P0中第i个种子点,Ai表示种子点di与其邻域内点的法向量角度差;Ajk表示平面点集Dj与Dk的法向量角度差,表示平面点集Dj的法向量与深度相机z轴正方向向量的角度差,η(Dj)表示平面点集Dj整体的长宽比;
步骤4:将原始点云P0中满足x坐标大于xnp且小于xxp、y坐标大于ynp且小于yxp、z坐标大于znp且小于zxp的w个点构成点云Pseg,其中,xnp和xxp分别表示点云Pplane中x坐标的最小值和最大值,ynp和yxp分别表示点云Pplane中y坐标的最小值和最大值,znp和zxp分别表示点云Pplane中z坐标的最小值和最大值;获取Pseg中属于平面α的切面点云并投影形成如式(7)所示点云集合Ppro;根据式(8)得到Ppro旋转后的切面点云Ptran,该点云中的点的z坐标大小记为ztran;
其中,ds表示点云Pseg中任意点,表示点ds在平面α上的投影点,Dist(α,ds)表示点ds到平面α的距离,单位为毫米,Rproz为点云Ppro到相机z轴正方向的旋转矩阵,(xpro,ypro,zpro)表示点云Ppro中点的坐标,(xtran,ytran,ztran)表示将点(xpro,ypro,zpro)旋转到点云Ptran中对应点的坐标;
步骤5:测量出托盘实物的长为L0,宽为We,单位为毫米,然后将栅格图G的长设置为L0、宽设置为We,将平面点云Ptran转换为栅格图G,具体为:根据式(9)设置栅格图像素坐标的灰度值,然后采用闭运算算法将栅格图稀疏区域的灰度值设置为255,使栅格图中白色区域表示托盘,黑色区域表示背景或叉孔;
其中,(xG,yG)表示栅格图G的像素坐标,G(xG,yG)表示坐标(xG,yG)处的像素的灰度值,xmin、ymin分别为点云Ptran中点的x、y坐标的最小值,xtran、ytran分别表示点云Ptran中任意点的x、y坐标;
步骤6:使用轮廓检测算法,检测出栅格图G中t个无内部轮廓的轮廓并筛选得到如式(10)所示的候选轮廓集合H;获取栅格图G中托盘叉孔轮廓对应的两个外接矩形并得到如式(11)所示的集合Rf,记集合Rf中的两个外接矩形的八个角点的像素坐标为(xre,yre),re=1,2,…,8,角点对应点云Ptran上的坐标为(xmin+xre,ymin+yre,ztran);
H={Ci|i=1,2,…,t,1≤η(Ci)≤4} (10)
Rf={RC|C∈min2(H)} (11)
其中,Ci表示栅格图G中的任意轮廓,η(Ci)表示轮廓Ci的外接矩形的长宽比;式(11)中min2(H)表示候选轮廓集合H中与托盘叉孔实际长宽比差值最小的两个轮廓,RC为轮廓C的外接矩形;
步骤7:根据式(12)将八个角点在点云Ptran上的坐标(xmin+xre,ymin+yre,ztran)旋转回原始点云P0,得到原始点云P0中对应的八个坐标(x0i,y0i,z0i),i=1,2,…,8,再根据式(13)计算两个叉孔中心点对应的原始点云坐标(xcen,ycen,zcen),最终根据式(14)计算叉车与托盘的距离lfork;托盘立柱平面法向量与相机正方向夹角为托盘与叉车夹角,记为angle,由式(15)得到;计算得到lfork和angle,即实现了托盘的精确的定位;
lfork=min(l(dcen1,dfork),l(dcen2,dfork)) (14)
其中,Rtran为点云Ptran到点云P0的旋转矩阵,式(13)中s取1、k取4和s取5、k取8时,分别计算两个叉孔中心点的坐标并记为dcen1和dcen2;式(14)中,dfork表示叉车上预先标定点的坐标,l(dcen1,dfork)、l(dcen2,dfork)分别为两个叉孔中心点与预先标定点的距离,min()取两者最小值;表示托盘立柱平面点云方向向量,表示相机正方向向量,表示与的方位角,×表示向量叉乘,为的向量范数,·表示向量点乘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010866470.1/1.html,转载请声明来源钻瓜专利网。





