基于线结构光扫描的长圆柱形物体三维识别与定位方法与流程

文档序号:12591092阅读:551来源:国知局
基于线结构光扫描的长圆柱形物体三维识别与定位方法与流程

本发明属于计算机视觉领域,具体的说涉及一种基于线结构光扫描的长圆柱形物体三维识别与定位方法。



背景技术:

随着国民经济的快速发展,自动化已经成为未来的发展方向。利用机器人代替人工实现自动上下料,不仅节约生产成本,提高生产效率,同时提高安全系数,降低工人劳动强度,成为越来越多公司的理想选择。

为了实现机器人自动上下料,需要测量物料的位置,然后传递给机器人,引导机械手进行抓取。而结构光测量方法因设备简单、实时性强而受到高度重视,尤其在对测量设备的体积、重量、功耗要求严格的应用场合,结构光测量更体现了其优势。

结构光测量方法是一种主动式光学测量技术,其基本原理是通过结构光投射器向被测物体表面投射可控制光点、光条或光面结构,并由图像传感器(例如摄像机)获得图像,然后通过系统几何关系,利用三角原理计算得到物体的三维坐标。根据结构光投射器向被测物体表面投射可控制的光点、光条或光面结构,结构光可分为点结构光、线结构光和面结构光。由于点结构光测量方法需要逐点扫描物体进行测量,随着被测物体的增大,图像摄取和图像处理时间会急剧增加,难以实现实时测量;而面结构光得到三维坐标点数据量很大,计算量也会随之增加,因此,线结构光在工程上的应用更为普遍。

由于生产环境恶劣,受噪声污染严重,料箱中长圆柱形物体的半径、长度又随意变化,且摆放杂乱无章,一般的测量方法的精度很难达到实际要求。



技术实现要素:

为解决生产环境内噪声污染严重,料箱中长圆柱形物体半径、长度随意变化,且摆放杂乱随意等情况对测量精度的影响,本发明提供一种测量速度快,精度高,鲁棒性强,实时、自动地实现长圆柱形物体三维识别与定位的方法。

本发明为实现上述目的所采用的技术方案是:一种基于线结构光扫描的长圆柱形物体三维识别与定位方法,用于实现料箱中长圆柱形物体位置的测量,包括以下步骤:

利用线结构光测量传感器对料箱中的长圆柱形物体以固定步长分m次进行轴向扫描,得到m个剖面的结构光测量数据;

对每个剖面的结构光测量数据分别进行数据分割,使得属于同一物体的数据分割在一段圆弧中;

对每段分割数据进行圆弧拟合,得到圆心坐标;

根据同一物体上的圆弧应满足的约束条件,匹配m个剖面的圆弧圆心;

利用线性插值算法计算长圆柱形物体的三维坐标;

确定抓取的物体标号。

所述m的设定个剖面基本能覆盖整个长圆柱形物体的轴向,需要根据实际情况自行确定。

所述线结构光测量传感器所投射的射线是1个。

所述数据分割过程中,同一段圆弧的数据点应该同时满足以下条件:

|xi-xi-1|+|zi-zi-1|<k1 (1)

|zi-zi-5|<k2 (2)

(zi-10-zi≤k3)||(zi+10-zi≤k3) (3)

其中,(xi,zi)为结构光测量数据在第i点处x、z方向上的坐标值,(xi-1,zi-1)为结构光测量数据在第i-1点处x、z方向上的坐标值,zi-5、zi-10、zi+10分为结构光测量数据在第i-5、i-10、i+10点处z方向上的坐标值,k1、k2、k3是预设常数。

所述数据分割后排除满足以下条件的结构光测量数据的干扰:

其中,(xi,zi)为结构光测量数据在第i点处x、z方向上的坐标值,为圆弧 上最后一点的结构光测量数据,k4、k5是预设常数,且存在k4<k5

所述进行圆弧拟合要求同一段圆弧上数据的点数同时满足以下条件:

n>r/Tsample (6)

n<2*r/Tsample (7)

其中,n为同一段圆弧上数据的点数,r为圆弧半径,Tsample为结构光分辨率。

所述圆弧拟合采用高斯-牛顿迭代法进行,目标函数为:

f(x0,z0)=(x-x0)2+(z-z0)2-r2 (8)

其中,x、z为圆弧上的数据点坐标,x0、z0为圆弧圆心坐标,即为待求参数,其求解过程如下:

第一步:设置x0、z0的初始值

其中,xk为圆弧上x方向上的第k个数据,n为圆弧上的数据量,zk为圆弧上数据z方向上的最大值,r为圆弧半径;

第二步:对函数f(x0,z0)求二阶偏导数,即

同时令

b11Δ1+b12Δ2=B1 (16)

b21Δ1+b22Δ2=B2 (17)

其中,fk为圆弧上第k个数据的目标函数值,Δ1、Δ2分别为圆心坐标的增量,根据式(16)、(17),可得:

第三步:更新x0、z0,即:

其中,分别为第i-1次迭代时的圆弧圆心坐标,分别为第i次迭代时的圆弧圆心坐标;

第四步:计算均方误差:

如果MS<T,T为最大均方误差值,停止迭代,得到圆弧圆心坐标x0、z0;否则转到第二步。

所述同一物体上的圆弧应满足的约束条件为:

其中,(xq,zq)为最后匹配的圆弧圆心坐标,为未匹配剖面的圆弧圆心坐标,k6、k7是预设常数。

所述匹配m个剖面的圆弧圆心后,该段圆弧对应的物体即为候选抓取物体。

所述利用线性插值算法计算长圆柱形物体的三维坐标,具体为:

已知物体抓取位置处的y值,计算离该值最近的两个剖面,得到相应剖面物 体对应圆弧的圆心坐标(x1,z1)、(x2,z2),利用线性插值方法计算得到y值对应的x、z值分别为:

其中,y1、y2分别为两个剖面对应的y值。

所述确定抓取的物体标号,具体为:

随机选择最上层可以抓取的物体,如果以下不等式成立:

那么标号为s的物体即为待抓取的物体;其中,rand()为随机数,分别为标号为s的物体两个抓取位置处对应的z值,分别为标号为k的物体两个抓取位置处对应的z值,m为候选抓取物体数目。

本发明具有以下优点及有益效果:

1.采用结构光测量传感器和PC机实现长圆柱形物体的三维识别与定位,具有设备简单、测量精度高、实时性强的特点。

2.虽然结构光测量数据受噪声污染严重,且有直线干扰,数据本身又存在连弧的情况,但仍旧能够准确分割弧段,具有良好的抗干扰性能。

3.对长圆柱形物体自身的约束小,其半径和长度可以随意变化。

4.在料箱中的长圆柱形物体存在多层、跨层以及交叉等各种摆放情况下,能够准确地定位待抓取的物体,具有较好的鲁棒性。

附图说明

图1为本发明的整体流程图;

图2为某个剖面扫描得到的线结构光数据示意图;

图3为弧段分割结果示意图;

图4为圆弧拟合结果示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

本发明的一种基于线结构光扫描的长圆柱形物体三维识别与定位方法,利用结构光测量传感器轴向扫描物体表面得到结构光测量数据,对数据进行分割、圆拟合,得到圆心坐标,并进行匹配,计算物体的三维坐标。如图1所示,具体包括如下步骤:

1.结构光测量数据获取

利用结构光测量传感器对料箱中的长圆柱形物体以固定步长分m次进行轴向扫描,得到m个剖面的结构光测量数据,其中一个剖面的数据如图2所示,横坐标和纵坐标分别为X方向和Z方向的长度数据;所述的结构光测量传感器所投射的射线是1个。

2.数据分割

通过分析结构光测量数据中同一段圆弧上的数据特点,发现它们应该同时满足以下条件:

|xi-xi-1|+|zi-zi-1|<k1 (1)

|zi-zi-5|<k2 (2)

(zi-10-zi≤k3)||(zi+10-zi≤k3) (3)

其中,(xi,zi)为结构光测量数据在第i点处x、z方向上的坐标值,k1、k2、k3是常数,可以根据对样本数据进行分析,并通过大量实际情况下的实验进行验证,确保同一段圆弧上的数据分割正确。如图3所示为一剖面上弧段分割结果示意图,图中+号表示各分割弧段的起点和终点。

但由于测量数据中存在大量噪声,使得一段圆弧被分为两段或多段,影响接下来的圆弧拟合过程。数据分割过程受到的噪声干扰包括大噪声和小噪声,其中,大噪声是指对于第i点处的结构光测量数据(xi,zi),若其与目前圆弧上最后一点处的结构光测量数据在z方向差值的绝对值大于某数,则认为该处 是大噪声;小噪声是指对于第i点处的结构光测量数据(xi,zi),若其与目前圆弧上最后一点处的结构光测量数据方向差值的绝对值小于某数,则认为该点是小噪声点。因此应该排除满足以下条件的噪声数据的干扰,继续圆弧分割过程,即:

其中,为目前圆弧上最后一点处的结构光测量数据在z方向上的坐标值,k4、k5是常数,可以根据对样本数据进行分析,并通过大量实际情况下的实验进行验证,排除噪声的干扰,从而保证数据分割正确。本文定义满足(4)式的数据为大噪声,满足(5)式的数据为小噪声。

3.圆弧拟合

如果同一段圆弧上数据的点数满足以下条件则进行圆弧拟合:

n>r/Tsample (6)

n<2*r/Tsample (7)

其中,n为同一段圆弧上数据的点数,r为圆弧半径,Tsample为轴向扫描步长。本文采用高斯-牛顿迭代法拟合圆弧圆心。标准圆的表达式为:

(x-x0)2+(z-z0)2=r2 (30)

式中,x、z为圆上的点坐标,x0、z0为圆心坐标。令

f(x0,z0)=(x-x0)2+(z-z0)2 (31)

那么高斯-牛顿迭代法通过使下述表达式取得最小值得到圆心坐标(x0,z0),即

其具体步骤如下:

第一步:设置x0、z0的初始值,其中x0为圆弧上数据x方向上的平均值,z0为圆弧上数据z方向上的最大值减去圆弧半径,即

第二步:对函数f(x0,z0)关于x0、z0求二阶偏导数,

同时令

b11Δ1+b12Δ2=B1 (16)

b21Δ1+b22Δ2=B2 (17)

其中,Δ1、Δ2分别为圆心坐标的增量,根据(16)、(17)两式,可得:

第三步:更新x0、z0,即:

第四步:计算均方误差:

如果MS<T,停止迭代,得到圆弧圆心坐标x0、z0;否则转到第二步。其中, T为最大均方误差值。如图4所示为圆弧拟合结果示意图,图中圆形表示分割弧段拟合得到的圆,+号表示拟合得到的圆的圆心。

4.圆弧匹配

设第一个未匹配剖面的所有圆弧圆心坐标为用于匹配的所有圆弧圆心坐标为(x1,z1),(x2,z2),...,(xq,zq),...,(xm,zm)。因此属于同一物体的两个圆弧应该同时满足以下条件:

其中,k6、k7是常数,可以根据对样本数据进行分析,并通过大量实际情况下的实验进行验证得到。满足上述两式后,更新用于匹配的圆弧圆心坐标,即:

5.计算物体三维坐标

如果某段圆弧匹配次数等于扫描次数m,那么该段圆弧对应的长圆柱形物体即为候选抓取物体。已知物体抓取位置处的y值,计算离该值最近的两个剖面,得到相应剖面物体对应的圆弧的圆心坐标(x1,z1)、(x2,z2),则存在以下线性关系:

最后可得y值对应的x、z值分别为:

其中,y1、y2分别为两个剖面对应的y值。

6.确定抓取物体标号

如果从候选长圆柱形物体中确定待抓取的物体的方式是固定的,而这个物体又由于一些原因无法抓取,那么系统就会重复上述过程,陷入瘫痪。因此本文选择随机的方法确定待抓取的物体。如果以下不等式成立:

那么标号为s的长圆柱形物体即为待抓取的物体。其中,rand()为随机数,z1、z2分别为两个抓取位置处对应的z值,m为候选抓取物体数目。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1