CN110322457B - 一种2d与3d视觉结合的拆垛方法 - Google Patents
一种2d与3d视觉结合的拆垛方法 Download PDFInfo
- Publication number
- CN110322457B CN110322457B CN201910613517.0A CN201910613517A CN110322457B CN 110322457 B CN110322457 B CN 110322457B CN 201910613517 A CN201910613517 A CN 201910613517A CN 110322457 B CN110322457 B CN 110322457B
- Authority
- CN
- China
- Prior art keywords
- edge line
- height
- point
- image
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000010586 diagram Methods 0.000 claims abstract description 19
- 230000000007 visual effect Effects 0.000 claims abstract description 11
- 238000003708 edge detection Methods 0.000 claims abstract description 9
- 230000009191 jumping Effects 0.000 claims description 14
- 238000005286 illumination Methods 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种2D与3D视觉结合的拆垛方法,适用于视觉系统引导机械手将堆垛中的物体进行拆垛,视觉系统包括立体视觉装置和中间相机,拆垛方法包括:步骤1,利用立体视觉装置,获取堆垛的3D点云数据,并根据3D点云数据,确定堆垛的高度分布图;步骤2,利用中间相机,获取堆垛上表面的2D图像,利用边缘检测算法,确定物体在2D图像中的边缘线;步骤3,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,并根据中心坐标、中心坐标在高度分布图中的纵向高度以及3D点云数据,生成机械手抓取物体的抓取信息。通过本申请中的技术方案,克服了立体视觉装置无法识别紧密排列的多个等高度物体的缺点,提高了机械手拆垛的可靠性和工作效率。
Description
技术领域
本申请涉及机器视觉的技术领域,具体而言,涉及一种2D与3D视觉结合的拆垛方法。
背景技术
拆垛是仓储物流和电商领域常见的操作过程,其目的将整齐堆放的纸箱、储物篮等物体逐个搬运,放置到传送带或其它装置上。机械手代替人工进行拆垛,不仅能够提高工作效率,还能够减少出错概率。立体视觉装置逐渐被用于引导机械手进行拆垛作业,以进一步提高拆垛的工作效率,立体视觉装置获取堆垛的图像信息,确定各像素点在XYZ坐标系下的位置坐标,即3D(三维)点云数据,再由机械手控制器根据相应坐标进行拆垛作业。
而现有技术中,立体视觉装置通常采用激光三角原理或者双目立体视觉原理获取堆垛的3D点云数据,一方面,在激光三角原理中,堆垛尺寸的大小,影响激光三角原理的精度,且受到扫描速度的限制,生成堆垛的3D点云需要较长时间,影响工作效率。
另一方面,虽然双目立体视觉原理只需1次拍摄即可生成堆垛的3D点云,但是其在高度方向的测量精度与工作距离的平方成反比。考虑到堆垛的尺寸和立体视觉装置的视野范围,其在高度方向的测量精度约位于1~10mm的量级。这样会导致当堆垛由外形整齐且密集摆放的物体(如电子产品包装盒)组成时,堆垛表面物体之间缝隙的凹陷深度或高度差可能小于立体视觉装置高度方向的测量精度,导致反映物体高度的Z坐标分布图上不易识别这些缝隙,存在密集摆放的多个物体被识别为一个整体的可能,此时进行拆垛,则会对这个整体进行抓取,引起重心不均衡,甚至物体脱落。
发明内容
本申请的目的在于:在立体视觉系统中增加1台中间相机,根据2D图像的像素灰度差异,分隔出单个物体,在结合3D点云数据中物体顶面中心位置的3D坐标,进行坐标变换,以供机械手进行拆垛作业,克服了立体视觉装置无法识别紧密排列的多个等高度物体的缺点,提高了机械手拆垛的可靠性和工作效率。
本申请第一方面的技术方案是:提供了一种2D与3D视觉结合的拆垛方法,适用于视觉系统引导机械手将堆垛中的物体进行拆垛,其特征在于,视觉系统包括立体视觉装置和中间相机,拆垛方法包括:步骤1,利用立体视觉装置,获取堆垛的3D点云数据,并根据3D点云数据,确定堆垛的高度分布图;步骤2,利用中间相机,获取堆垛上表面的2D图像,利用边缘检测算法,确定物体在2D图像中的边缘线;步骤3,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,并根据中心坐标、中心坐标在高度分布图中的纵向高度以及3D点云数据,生成机械手抓取物体的抓取信息。
上述任一项技术方案中,进一步地,步骤2中,利用边缘检测算法,确定物体在2D图像中的边缘线,具体包括:步骤21,计算高度分布图中每个独立区域的平均高度,选取平均高度最大的区域记作顶面区域,并计算顶面区域的最小外接矩形,根据最小外接矩形,确定2D图像中的扫描区域、以及扫描区域的左边线、上边线、右边线以及下边线,并将左边线记作物体的左边缘线,将上边线记作物体的上边缘线;步骤22,将左边线和上边线的交点记作基准点,并沿扫描区域的宽度方向和高度方向构建横向搜索框和纵向搜索框;步骤23,根据基准点和预设高度,确定第一起始点,并根据横向搜索框,搜索2D图像中横向像素点灰度值的第一个跳变点,记作待定纵向边缘点;步骤24,根据基准点和预设宽度,确定第二起始点,并根据纵向搜索框,搜索2D图像中纵向像素点灰度值的第一个跳变点,记作待定横向边缘点;步骤25,根据待定纵向边缘点和待定横向边缘点,采用最小二乘法,拟合生成纵向边缘直线和横向边缘直线,并将纵向边缘直线记作物体的右边缘线,将横向边缘直线记作物体的下边缘线。
上述任一项技术方案中,进一步地,步骤3中,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,具体包括:步骤31,当判定拟合生成下边缘线和右边缘线时,根据右边缘线与下边缘线,确定物体的右下顶点;步骤32,将基准点记作物体的左上顶点,并结合右下顶点,确定物体的对角线,选取对角线的中心,记作中心坐标。
上述任一项技术方案中,进一步地,步骤3中,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,具体还包括:步骤33,当判定拟合生成下边缘线、但未拟合生成右边缘线时,将左边线与下边缘线的交点记作基准点,重新执行步骤22;步骤34,当判定未拟合生成下边缘线、但拟合生成右边缘线时,将右边缘线与上边线的交点记作基准点,重新执行步骤22;步骤35,当判定未拟合生成下边缘线和右边缘线时,重新执行步骤1。
上述任一项技术方案中,进一步地,步骤3中,根据中心坐标、中心坐标在高度分布图中的纵向高度以及3D点云数据,生成机械手抓取物体的抓取信息,具体包括:步骤36,根据中心坐标,读取中心坐标在高度分布图中的高度数据,记作纵向高度;步骤37,将扫描区域与高度分布图相关联,计算扫描区域对应的高度均值,并将扫描区域中、对应于高度分布图位置处的计数数据置为1,并将其余位置处的计数数据置为0,并根据计数数据,生成临时图像数据;步骤38,判断纵向高度与高度均值的差值是否小于或等于预设阈值,若是,执行步骤39,若否,执行步骤311;步骤39,根据临时图像数据,判断中心坐标在扫描区域中相应位置处的计数数据是否为1,若是,执行步骤310,若否,执行步骤311;步骤310,确定中心坐标在3D点云数据中的位置坐标,根据位置坐标进行手眼标定,生成抓取信息;步骤311,判断下边缘线与下边线之间的距离是否小于或等于第一预设距离,若是,执行步骤312,若否,将左边线与下边缘线的交点记作基准点,重新执行步骤22;步骤312,判断右边缘线与右边线之间的距离是否小于第二预设距离,若是,重新执行步骤1,若否,将右边缘线与上边线的交点记作基准点,重新执行步骤22。
上述任一项技术方案中,进一步地,步骤3还包括:生成抓取信息后,根据左上顶点和右下顶点,确定扫描区域中置零区域,根据置零区域,更新临时图像数据。
本申请第二方面的技术方案是:提供了一种拆垛装置,拆垛装置设置有控制单元、抓取单元和图像获取单元,拆垛装置用于根据如第一方面技术方案中任一项2D与3D视觉结合的拆垛方法,对堆垛进行拆垛作业。
本申请的有益效果是:
在多个相等高度的物体密集摆放、且物体之间缝隙的凹陷深度或高度差小于立体视觉装置高度方向测量精度情况下,利用物体缝隙和边缘部位的图像亮度特性,在中间相机拍摄的2D图像上搜索单个物体的边缘,分割出单个物体,并读取其中心位置的3D坐标,以引导机械手抓取物体,无需事先测量物体尺寸、建立3D模型和匹配运算,适用于尺寸未知的物体拆垛工作,提高了拆垛作业的可靠性和工作效率。
在本申请中,搜索物体边缘时,设置搜索框、并采用加权最小二乘法,将搜索得到的灰度跳变点拟合为边缘所在的直线,有助于减少图像噪声和物体表面图案的干扰。使用3D点云生成的物体高度分布图检查物体之间空缺的位置,避免对空缺位置抓取,提高拆垛工作效率。
附图说明
本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请的一个实施例的拆垛装置的示意图;
图2是根据本申请的一个实施例的2D与3D视觉结合的拆垛方法的示意流程图;
图3是根据本申请的一个实施例的物体搜索顺序的示意图;
图4是根据本申请的一个实施例的首次搜索物体右边缘的示意图;
图5是根据本申请的一个实施例的首次搜索物体下边缘的示意图;
图6是根据本申请的一个实施例的成功抓取物体之后继续搜索物体右边缘的示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
实施例一:
如图1所示,本发明所述的视觉系统由立体视觉装置和中间相机6共同组成,视觉系统1通过支架8安装在拆垛区域的正上方,垂直向下拍摄,由机械手2抓取堆垛3中的物体。视觉系统1的立体视觉装置由左相机4、散斑激光器5、右相机7组成,其中,左相机4、散斑激光器5、右相机7的光心位于同一水平线上;中间相机6安装在散斑激光器5附近。视觉系统1的坐标系原点位于中间相机6的光心,其中,XV轴沿水平方向指向右相机7的光心,ZV轴沿垂直方向指向下方,YV轴垂直于XV轴和ZV轴、指向于XV轴正方向的右侧。支架8上安装照明光源9,对堆垛2提供来自侧上方的照明,增强图像亮度以及缝隙部位的对比度。
视觉系统1安装在支架8之前,采用现有的视觉标定方法,以获得其内部所有相机的内部参数、以及各个相机之间的相对姿态参数,此过程不再赘述,并以中间相机6的坐标系作为视觉系统1的坐标系(即视觉系统坐标系)。根据立体视觉装置所属的相机与中间相机6的相对姿态参数,可以将立体视觉装置生成的3D点云数据变换至中间相机6的视角,便于在同一坐标系内处理2D图像与3D点云数据。
视觉系统1安装后,采用现有手眼标定方法,使用若干标志点进行视觉系统1与机械手2的手眼标定,并进行坐标系变换运算,此过程不再赘述,获得视觉系统坐标系与机械手坐标系的坐标变换关系。
拆垛之前,立体视觉装置拍摄没有堆垛的基准面(地面或传送带表面),获得基准面的3D点云,根据左右相机与中间相机6的相对姿态参数,变换为中间相机6坐标系下的3D点云数据,并保存其Z坐标分布图Zbase,作为计算堆垛高度的基准。
如图2所示,本实施例提供了一种2D与3D视觉结合的拆垛方法,该方法适用于上述的视觉系统1引导机械手2将堆垛3中的物体进行拆垛,该拆垛方法包括:
步骤1,利用立体视觉装置,获取堆垛的3D点云数据,并根据3D点云数据,确定堆垛的高度分布图;
具体地,开启散斑激光器5,立体视觉系统的左相机4和右相机7同时拍摄1次,获取第一2D图像和第二2D图像,根据左右相机的相对姿态参数,使用通用的双目立体视觉算法,计算出第一2D图像和第二2D图像中所有像素点的X、Y、Z坐标,组成原始3D点云。原始3D点云根据左右相机与中间相机6的相对姿态参数,变换为中间相机6坐标系下的3D点云数据,其中,每个像素点(m,n)都包含X、Y、Z坐标值。基准面的Z坐标分布图Zbase与堆垛5的Z坐标分布图Zobj相减,得到堆垛高度分布图Hobj=Zbase-Zobj。
优选地,在得到堆垛高度分布图Hobj后,该步骤1之后还包括:
步骤11,根据预设堆垛最大高度,对高度分布图进行切割。
具体地,由于作业现场中各种支架、电线、传感器之类的装置均可能出现在立体视觉装置的视野内,因此,需要的将高度分布图中,高度大于或等于预设堆垛最大高度Hmax的部分进行切割,仅保留高度值Hobj∈[0,Hmax]的部分图像,作为有效高度分布图。
步骤12,利用开运算,对切割后保留的高度分布图(有效高度分布图),进行噪声处理,并利用连通域算法和预设最小图像面积Smin,对噪声处理后的高度分布图进行筛选,保留图像面积大于或等于预设最小图像面积Smin的图像区域,记作降噪高度分布图,即滤除有效高度分布图中,面积较小的噪声区域。
步骤13,依次计算经过切割、降噪筛选后的高度分布图中每个独立区域的平均高度,选取平均高度最大值Htop对应的区域作为顶面区域,并将顶面区域的最小外接矩形记作中间相机的扫描区域,以便中间相机获取堆垛上表面的2D图像。
具体地,由于堆垛上表面的高度存在不统一的情况,如有一摞高的堆垛与一摞低的堆垛挨在一起,此时,得到一个较高的顶面和一个较低的顶面,需要选取较高的顶面作为顶面区域。
在计算出顶面区域的最小外接矩形后,保存其对应的图像高度H0、图像宽度W0、4个顶点的图像坐标,以及4条边缘所在的直线方程。4条边缘所在直线,按照位置关系,依次被定义为顶面区域的上、下、左、右边缘线。
步骤2,利用中间相机,获取堆垛上表面的2D图像,利用边缘检测算法,确定物体在2D图像中的边缘线;
具体地,步骤2的目的是搜索单个物体的边缘线,包括左、右边缘线和上、下边缘线,考虑到本实施例中的拆垛方法是以堆垛中每一层为一个拆垛单元,逐层进行拆垛,如图3所示,堆垛表层物体的列号记为i,行号记为j,在2D图像上开始搜索时,以扫描区域的左上顶点作为第1列第1行物体的左上顶点A1,1,即i=1,j=1,无论该处是否真实存在物体。搜索顺序是先从上到下搜索第1列物体,再从左到右搜索其它列的物体。
因此,需要搜索出物体的边缘线,将堆垛5的表面进行物体分割,并获得单个物体的中心位置,再读取对应的3D坐标,变换至机械手坐标系的3D坐标后,供机械手抓取。立体视觉系统拍摄之后,随即关闭散斑激光器5、开启照明光源9,延迟一个较小的时间间隔待照明光源9稳定之后,面阵相机(中间相机6)拍摄2D图像。
进一步地,在步骤2中,利用边缘检测算法,确定物体在2D图像中的边缘线,具体包括:
步骤21,计算高度分布图中每个独立区域的平均高度,选取平均高度最大的区域记作顶面区域,并计算顶面区域的最小外接矩形,根据最小外接矩形,确定2D图像中的扫描区域、以及扫描区域的左边线、上边线、右边线以及下边线,并将左边线记作物体的左边缘线,将上边线记作物体的上边缘线;
具体地,实际情况下,堆垛的顶面不会非常平坦,所以高度值有一些波动,因此,需要计算堆垛高度的均值。同时考虑到顶面区域可能不太规则,难以确定顶点和边线,而矩形则很容易得到其顶点和边线,因此,把顶面区域的最小外接矩形作为2D图像中的扫描区域。
对高度分布图进行切割、降噪筛选处理后,选取顶面区域的最小外接矩形作为扫描区域,确定2D图像(中间相机)中的扫描区域后,保存其图像高度H0、图像宽度W0、4个顶点的图像坐标,以及4条边线所在的直线方程,并将4条边线所在直线定义为扫描区域的上、下、左、右边线。
在第一次拆垛之前,可以将扫描区域的左边线记作物体的左边缘线,将上边线记作物体的上边缘线,因此,在本实施例中,只需要确定物体的右边缘线和下边缘线,再通过对边缘线的相关判断,用右边缘线替换左边缘线,用下边缘线替换上边缘线。
步骤22,将左边线和上边线的交点记作基准点,并沿扫描区域的宽度方向和高度方向构建横向搜索框和纵向搜索框;
具体地,在每次搜索过程中,均以其左上顶点Ai,j(i=1,2,…,j=1,2,…)为搜索基准点,如图4和图5所示,在第一次搜索时,以点A11为基准点,在横向与纵向各设置一组n个矩形搜索框(n≥20),设定2D图像的高度为H0、图像宽度为W0,则横向搜索框的长度M1=W0,宽度N1=H0/n,且从上到下紧密排列,从左向右搜索,纵向搜索框的长度M2=H0,宽度N2=W0/n,从左到右紧密排列,从上到下搜索。
步骤23,根据基准点和预设高度,确定第一起始点,并根据横向搜索框,搜索2D图像中横向像素点灰度值的第一个跳变点,记作待定纵向边缘点;
步骤24,根据基准点和预设宽度,确定第二起始点,并根据纵向搜索框,搜索2D图像中纵向像素点灰度值的第一个跳变点,记作待定横向边缘点;
具体地,在进行搜索时,为了避免横向(纵向)搜索框和扫描区域的上边线(左边线)重合,设置一个较小的偏移量,再结合基准点,确定第一(第二)起始点,在起始点位置处进行像素点搜索,利用边缘检测算法对搜索框中的像素值进行搜索。当横向(纵向)搜索框搜索到第一个像素值跳变点时,记录该跳变点的坐标,并将该跳变点按照搜索框的顺序进行编号,依次为1,2,…。
步骤25,根据待定纵向边缘点和待定横向边缘点,采用最小二乘法,拟合生成纵向边缘直线和横向边缘直线,并将纵向边缘直线记作物体的右边缘线,将横向边缘直线记作物体的下边缘线。
具体地,该步骤25中,还包括:步骤251,判断待定纵向边缘点的数量是否大于或等于预设点数,若是,拟合生成纵向边缘直线,若否,重新执行步骤1;步骤252,判断待定横向边缘点的数量是否大于或等于预设点数,若是,拟合生成横向边缘直线,若否,重新执行步骤1。
步骤3,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,并根据中心坐标、中心坐标在高度分布图中的纵向高度以及3D点云数据,生成机械手抓取物体的抓取信息。
具体地,在确定物体的右边缘线和下边缘线后,如图6所示,将其连线的交点设为物体的右下顶点Bi,j,其与左上顶点Ai,j连线的中点为Ci,j,由于2D图像和3D点云数据的坐标系相同,因此,可以得出中点Ci,j在点云数据中的坐标值,确定对应的纵向高度,再根据手眼标定得到的坐标变换关系,转换为机械手坐标系的3D坐标,生成抓取信息,发送给机械手控制器进行抓取。
结合上述过程,本实施例给出一种确定中心坐标和生成抓取信息的方法,步骤3中,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,具体包括:
步骤31,当判定拟合生成下边缘线和右边缘线时,根据右边缘线与下边缘线,确定物体的右下顶点Bi,j;
步骤32,将基准点记作物体的左上顶点,并结合右下顶点,确定物体的对角线,选取对角线的中心Ci,j,记作中心坐标。
进一步地,根据中心坐标、中心坐标在高度分布图中的纵向高度以及3D点云数据,生成机械手抓取物体的抓取信息,具体包括:
步骤36,根据中心坐标,读取中心坐标在高度分布图中的高度数据,记作纵向高度;
步骤37,将扫描区域与高度分布图相关联,计算扫描区域对应的高度均值,并将扫描区域中、对应于高度分布图位置处的计数数据置为1,并将其余位置处的计数数据置为0,并根据计数数据,生成临时图像数据T;
具体地,以3D点云数据中的顶面区域,在2D图像上划分待处理范围,确定扫描区域,将扫描区域范围之外的搜索结果舍弃。设置1个临时图像数据T,其范围大小与2D图像相同,将扫描区域内的计数数据的值设为非零值(如设为1),其余区域计数数据的值设为0,用于检查扫描区域某位置的物体是否已被抓取或者始终不存在。
步骤38,判断纵向高度与高度均值的差值是否小于或等于预设阈值,若是,执行步骤39,若否,执行步骤311;其中,预设阈值的大小右视觉系统1的精度决定。
步骤39,根据临时图像数据T,判断中心坐标在扫描区域中相应位置处的计数数据是否为1,若是,则表明该处存在物体,可以进行拆垛,执行步骤310,若否,则表明该处不存在物体,执行步骤311;
步骤310,确定中心坐标在3D点云数据中的位置坐标,根据位置坐标进行手眼标定,生成抓取信息;
具体地,首次成功抓取物体之后,根据物体左上与右下顶点坐标计算物体近似长度 为首次成功抓取物体右下顶点Bi,j的列坐标,为物体左上顶点Ai.j的行坐标;以及物体近似高度 为首次成功抓取物体右下顶点Bi,j的行坐标,为物体左上顶点Ai.j的列坐标;如图6所示,后续搜索时减小搜索范围,横向搜索框的长度均设为M=max(W1,H1),宽度均设为N=M/n。纵向搜索框的长度与宽度与横向搜索框相同,只是方向不同。
步骤311,判断下边缘线与下边线之间的距离是否小于或等于第一预设距离,即物体的下边缘线是否接近堆垛扫描区域的下边线,若是,执行步骤312,若否,将左边线与下边缘线的交点记作下次搜索的基准点Ai,j+1,重新执行步骤22,以新确定的基准点对扫描区域再次搜索2D图像中横向像素点灰度值的第一个跳变点;
步骤312,判断右边缘线与右边线之间的距离是否小于第二预设距离,即物体的右边缘线是否接近堆垛扫描区域的右边线,若是,重新执行步骤1,表明该层物体均已被抓取完毕,进入下一个工作循环。若否,将右边缘线与上边线的交点记作下次搜索的基准点Ai+1,1,重新执行步骤22。
需要注意的是,若第一次搜索未找到实际物体,即物体中心点的高度值与Htop差别较大、或者物体中心点的临时数据值为0,后续搜索时,搜索范围根据步骤311和步骤312中新的左上顶点,重新确定基准点Ai,j+1或Ai+1,1,横向搜索框的长度M不变;宽度 为新的左上顶点Ai,j的行坐标,为区域原左上顶点A1,1的行坐标。
优选地,步骤3还包括:生成抓取信息后,根据左上顶点和右下顶点,确定扫描区域中置零区域,根据置零区域,更新临时图像数据。
在拟合生成下边缘线和右边缘线时,还包括如下情况,即步骤3中,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,具体还包括:
步骤33,当判定拟合生成下边缘线、但未拟合生成右边缘线时,即扫描区域中的该位置处于最后一列中的空缺位置,将左边线与下边缘线的交点记作基准点Ai,j+1,重新执行步骤22;
步骤34,当判定未拟合生成下边缘线、但拟合生成右边缘线时,即扫描区域中的该位置处于最后一行且非最后一列的空缺位置,将右边缘线与上边线的交点记作基准点Ai+1,1,重新执行步骤22;
步骤35,当判定未拟合生成下边缘线和右边缘线时,即扫描区域中的该位置处于扫描区域右下角的空缺位置,重新执行步骤1,进入下一个工作循环。
实施例二:
如图1所示,本实施例提供了一种拆垛装置,设置有控制单元、抓取单元和图像获取单元,拆垛装置用于根据如上述实施例一中的2D与3D视觉结合的拆垛方法,对堆垛进行拆垛作业。
以上结合附图详细说明了本申请的技术方案,本申请提出了一种2D与3D视觉结合的拆垛方法,适用于视觉系统引导机械手将堆垛中的物体进行拆垛,视觉系统包括立体视觉装置和中间相机,拆垛方法包括:步骤1,利用立体视觉装置,获取堆垛的3D点云数据,并根据3D点云数据,确定堆垛的高度分布图;步骤2,利用中间相机,获取堆垛上表面的2D图像,利用边缘检测算法,确定物体在2D图像中的边缘线;步骤3,根据边缘线在2D图像中的位置关系,确定物体的中心坐标,并根据中心坐标、中心坐标在高度分布图中的纵向高度以及3D点云数据,生成机械手抓取物体的抓取信息。通过本申请中的技术方案,克服了立体视觉装置无法识别紧密排列的多个等高度物体的缺点,提高了机械手拆垛的可靠性和工作效率。
本申请中的步骤可根据实际需求进行顺序调整、合并和删减。
本申请装置中的单元可根据实际需求进行合并、划分和删减。
尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
Claims (7)
1.一种2D与3D视觉结合的拆垛方法,适用于视觉系统引导机械手将堆垛中的物体进行拆垛,其特征在于,所述视觉系统包括立体视觉装置和中间相机,所述拆垛方法包括:
步骤1,利用所述立体视觉装置,获取所述堆垛的3D点云数据,并根据所述3D点云数据,确定所述堆垛的高度分布图;
步骤2,利用所述中间相机,获取所述堆垛上表面的2D图像,利用边缘检测算法,确定所述物体在所述2D图像中的边缘线;
步骤3,根据所述边缘线在所述2D图像中的位置关系,确定所述物体的中心坐标,并根据所述中心坐标、所述中心坐标在所述高度分布图中的纵向高度以及所述3D点云数据,生成所述机械手抓取所述物体的抓取信息,
其中,生成所述机械手抓取所述物体的抓取信息,具体包括:
步骤36,根据所述中心坐标,读取所述中心坐标在所述高度分布图中的高度数据,记作所述纵向高度;
步骤37,将所述2D图像中的扫描区域与所述高度分布图相关联,计算所述扫描区域对应的高度均值,并将所述扫描区域中、对应于所述高度分布图位置处的计数数据置为1,并将其余位置处的计数数据置为0,并根据所述计数数据,生成临时图像数据;
步骤38,判断所述纵向高度与所述高度均值的差值是否小于或等于预设阈值,若是,执行步骤39;
步骤39,根据所述临时图像数据,判断所述中心坐标在所述扫描区域中相应位置处的计数数据是否为1,若是,执行步骤310;
步骤310,确定所述中心坐标在所述3D点云数据中的位置坐标,根据所述位置坐标进行手眼标定,生成所述抓取信息。
2.如权利要求1所述的2D与3D视觉结合的拆垛方法,其特征在于,所述步骤2中,利用边缘检测算法,确定所述物体在所述2D图像中的边缘线,具体包括:
步骤21,计算所述高度分布图中每个独立区域的平均高度,选取所述平均高度最大的区域记作顶面区域,并计算所述顶面区域的最小外接矩形,根据所述最小外接矩形,确定所述2D图像中的扫描区域、以及所述扫描区域的左边线、上边线、右边线以及下边线,并将所述左边线记作所述物体的左边缘线,将所述上边线记作所述物体的上边缘线;
步骤22,将所述左边线和所述上边线的交点记作基准点,并沿所述扫描区域的宽度方向和高度方向构建横向搜索框和纵向搜索框;
步骤23,根据所述基准点和预设高度,确定第一起始点,并根据所述横向搜索框,搜索所述2D图像中横向像素点灰度值的第一个跳变点,记作待定纵向边缘点;
步骤24,根据所述基准点和预设宽度,确定第二起始点,并根据所述纵向搜索框,搜索所述2D图像中纵向像素点灰度值的第一个跳变点,记作待定横向边缘点;
步骤25,根据所述待定纵向边缘点和所述待定横向边缘点,采用最小二乘法,拟合生成纵向边缘直线和横向边缘直线,并将所述纵向边缘直线记作所述物体的右边缘线,将所述横向边缘直线记作所述物体的下边缘线。
3.如权利要求2所述的2D与3D视觉结合的拆垛方法,其特征在于,所述步骤3中,根据所述边缘线在所述2D图像中的位置关系,确定所述物体的中心坐标,具体包括:
步骤31,当判定拟合生成所述下边缘线和所述右边缘线时,根据所述右边缘线与所述下边缘线,确定所述物体的右下顶点;
步骤32,将所述基准点记作所述物体的左上顶点,并结合所述右下顶点,确定所述物体的对角线,选取所述对角线的中心,记作所述中心坐标。
4.如权利要求3所述的2D与3D视觉结合的拆垛方法,其特征在于,所述步骤3中,根据所述边缘线在所述2D图像中的位置关系,确定所述物体的中心坐标,具体还包括:
步骤33,当判定拟合生成所述下边缘线、但未拟合生成所述右边缘线时,将所述左边线与所述下边缘线的交点记作所述基准点,重新执行所述步骤22;
步骤34,当判定未拟合生成所述下边缘线、但拟合生成所述右边缘线时,将所述右边缘线与所述上边线的交点记作所述基准点,重新执行所述步骤22;
步骤35,当判定未拟合生成所述下边缘线和所述右边缘线时,重新执行所述步骤1。
5.如权利要求3所述的2D与3D视觉结合的拆垛方法,其特征在于,
所述步骤38中,所述判断所述纵向高度与所述高度均值的差值是否小于或等于预设阈值,还包括:若否,执行步骤311;
步骤311,判断所述下边缘线与所述下边线之间的距离是否小于或等于第一预设距离,若是,执行步骤312,若否,将所述左边线与所述下边缘线的交点记作所述基准点,重新执行所述步骤22;
步骤312,判断所述右边缘线与所述右边线之间的距离是否小于第二预设距离,若是,重新执行所述步骤1,若否,将所述右边缘线与所述上边线的交点记作所述基准点,重新执行所述步骤22;
所述步骤39中,所述判断所述中心坐标在所述扫描区域中相应位置处的计数数据是否为1,还包括:若否,执行所述步骤311。
6.如权利要求5所述的2D与3D视觉结合的拆垛方法,其特征在于,所述步骤3还包括:
生成所述抓取信息后,根据所述左上顶点和所述右下顶点,确定所述扫描区域中置零区域,根据所述置零区域,更新所述临时图像数据。
7.一种拆垛装置,所述拆垛装置设置有控制单元、抓取单元和图像获取单元,所述拆垛装置用于根据如权利要求1至6中任一项所述2D与3D视觉结合的拆垛方法,对堆垛进行拆垛作业。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910613517.0A CN110322457B (zh) | 2019-07-09 | 2019-07-09 | 一种2d与3d视觉结合的拆垛方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910613517.0A CN110322457B (zh) | 2019-07-09 | 2019-07-09 | 一种2d与3d视觉结合的拆垛方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110322457A CN110322457A (zh) | 2019-10-11 |
CN110322457B true CN110322457B (zh) | 2021-05-14 |
Family
ID=68121645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910613517.0A Active CN110322457B (zh) | 2019-07-09 | 2019-07-09 | 一种2d与3d视觉结合的拆垛方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110322457B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563871B (zh) * | 2019-10-23 | 2024-04-12 | 深圳市今天国际物流技术股份有限公司 | 图像处理方法、装置、设备和视觉引导拆垛方法、系统 |
TWI709725B (zh) * | 2019-12-03 | 2020-11-11 | 阿丹電子企業股份有限公司 | 箱體的體積量測裝置及體積量測方法 |
CN112975943B (zh) * | 2019-12-13 | 2022-06-28 | 广东弓叶科技有限公司 | 判断机器人夹爪最佳抓取高度的处理方法及系统 |
US20210246636A1 (en) * | 2020-02-07 | 2021-08-12 | Caterpillar Inc. | System and Method of Autonomously Clearing a Windrow |
US11403764B2 (en) * | 2020-02-14 | 2022-08-02 | Mujin, Inc. | Method and computing system for processing candidate edges |
CN111696124A (zh) * | 2020-02-14 | 2020-09-22 | 牧今科技 | 用于处理候选边缘的方法和计算系统 |
CN111598033B (zh) * | 2020-05-21 | 2023-05-30 | 北京阿丘机器人科技有限公司 | 货物的定位方法、装置、系统及计算机可读存储介质 |
CN111606060A (zh) * | 2020-05-28 | 2020-09-01 | 广西我的科技有限公司 | 一种板材发板系统及方法 |
JP7118382B2 (ja) * | 2020-06-04 | 2022-08-16 | 株式会社Mujin | 物理的エッジ検出を実行または促進するための方法および計算システム |
CN113658205B (zh) * | 2020-06-04 | 2022-08-12 | 牧今科技 | 用于执行或促进物理边缘检测的方法和计算系统 |
CN111523739B (zh) * | 2020-07-01 | 2020-10-16 | 杭州灵西机器人智能科技有限公司 | 用于拆垛的控制方法、装置、电子设备及介质 |
CN112818930B (zh) * | 2021-02-26 | 2023-12-05 | 梅卡曼德(北京)机器人科技有限公司 | 一种堆垛箱体的识别方法及抓取位姿的确定方法 |
CN112818992B (zh) * | 2021-02-26 | 2024-02-09 | 梅卡曼德(北京)机器人科技有限公司 | 一种堆垛箱体的识别方法 |
CN113800270B (zh) * | 2021-09-17 | 2023-04-28 | 知行高科(北京)科技有限公司 | 一种用于物流拆垛的机器人控制方法及系统 |
CN114148596A (zh) * | 2021-11-12 | 2022-03-08 | 湖北中烟工业有限责任公司 | 一种基于视觉引导的全自动拆膜机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107962549A (zh) * | 2016-10-20 | 2018-04-27 | 因特利格雷特总部有限责任公司 | 用于机器人纸箱卸载的3d-2d视觉系统 |
CN109297433A (zh) * | 2018-11-15 | 2019-02-01 | 青岛星晖昌达智能自动化装备有限公司 | 3d视觉引导拆垛测量系统及其控制方法 |
CN109740532A (zh) * | 2018-12-29 | 2019-05-10 | 河海大学常州校区 | 一种基于圆环道路的路径识别及中线优化方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122457B (zh) * | 2006-08-09 | 2010-09-29 | 鸿富锦精密工业(深圳)有限公司 | 影像边界扫描系统及方法 |
CN104331894A (zh) * | 2014-11-19 | 2015-02-04 | 山东省科学院自动化研究所 | 一种基于双目立体视觉的机器人拆垛方法 |
CN106530297B (zh) * | 2016-11-11 | 2019-06-07 | 北京睿思奥图智能科技有限公司 | 基于点云配准的物体抓取区域定位方法 |
CN106985161B (zh) * | 2016-12-22 | 2019-09-20 | 天津京东深拓机器人科技有限公司 | 物品抓取系统和方法 |
-
2019
- 2019-07-09 CN CN201910613517.0A patent/CN110322457B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107962549A (zh) * | 2016-10-20 | 2018-04-27 | 因特利格雷特总部有限责任公司 | 用于机器人纸箱卸载的3d-2d视觉系统 |
CN109297433A (zh) * | 2018-11-15 | 2019-02-01 | 青岛星晖昌达智能自动化装备有限公司 | 3d视觉引导拆垛测量系统及其控制方法 |
CN109740532A (zh) * | 2018-12-29 | 2019-05-10 | 河海大学常州校区 | 一种基于圆环道路的路径识别及中线优化方法 |
Non-Patent Citations (1)
Title |
---|
基于三维机器视觉的工业机器人定位系统设计;温秀兰 等;《组合机床与自动化加工技术》;20180930(第9期);第49-52页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110322457A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322457B (zh) | 一种2d与3d视觉结合的拆垛方法 | |
JP6704154B2 (ja) | 自動パッケージ登録システム、デバイス、および方法 | |
US9205562B1 (en) | Integration of depth points into a height map | |
JP5788460B2 (ja) | バラ積みされた物品をロボットで取出す装置及び方法 | |
US9630320B1 (en) | Detection and reconstruction of an environment to facilitate robotic interaction with the environment | |
JP5295828B2 (ja) | 対象物の把持システム及び同システムにおける干渉検出方法 | |
US9327406B1 (en) | Object segmentation based on detected object-specific visual cues | |
JP5429614B2 (ja) | 箱状ワーク認識装置および方法 | |
CN106573381B (zh) | 卡车卸载机可视化 | |
JP6879238B2 (ja) | ワークピッキング装置及びワークピッキング方法 | |
CN102735166B (zh) | 三维扫描仪和机器人系统 | |
JP7065632B2 (ja) | 箱状物ピッキング装置及びその方法 | |
US20110251717A1 (en) | Method for picking up work pieces | |
CN112070759A (zh) | 一种叉车托盘检测与定位方法及系统 | |
JP5544464B2 (ja) | 対象物の3次元位置・姿勢認識装置及びその方法 | |
CN110941462A (zh) | 自动学习产品操纵的系统和方法 | |
JP2022160363A (ja) | ロボットシステム、制御方法、画像処理装置、画像処理方法、物品の製造方法、プログラム、及び記録媒体 | |
CN114396875A (zh) | 一种基于深度相机垂直拍摄的长方形包裹体积测量方法 | |
JPH0430991A (ja) | 視覚装置付ロボット | |
CN106276285B (zh) | 组料垛位自动检测方法 | |
JP7261597B2 (ja) | 移載対象ワーク記憶システム | |
CN115003613A (zh) | 用于分离计件货物的设备和方法 | |
JP6512852B2 (ja) | 情報処理装置、情報処理方法 | |
CN105513040B (zh) | 不定形体位置推定方法、不定形体位置推定装置以及程序 | |
JP7201189B2 (ja) | 物体サイズ検出のためのロボットシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |