机械手超声无损检测中被测件装卡偏差的修正方法及系统与流程

文档序号:14255808阅读:149来源:国知局

本发明涉及超声无损检测和工业机器人应用领域,特别涉及一种机械手超声无损检测中被测件装卡偏差的修正方法。



背景技术:

超声无损检测是一种利用超声传播原理检测材料内部缺陷的方法,主要用于新产品质量检测以及在役产品寿命评估。脉冲反射法是超声无损检测中应用较早的一种检测方法,该方法根据超声反射波的时域波形判断材料内部缺陷。将工业机器人应用于超声无损检测系统作为扫查运动装置可以解决人工成本高、效率低、工作单调等问题,特别适合制造领域内对航空发动机叶片、汽车轮毂等复杂构件的自动化无损检测。

根据超声传播原理,超声扫查成像检测必须满足两项要求:(1)超声探头前端始终与被测件表面保持等距;(2)超声探头发射的声束始终沿被测件表面法向入射。采用机械手实现自动化扫查,对复杂构件进行扫查成像检测时,机械手的运动轨迹是根据预先设定的被测件装卡位姿,并考虑上述超声探头与被测件表面间的两项约束要求,然后基于被测件几何模型计算出来的,这一过程称为扫查轨迹规划,生成的扫查轨迹称为编程轨迹。若被测件的实际装卡位姿与轨迹规划时预先设定的装卡位姿一致,则能保证正确的约束关系,获得好的检测效果;相反,若实际装卡位姿与预先设定的装卡位姿之间存在偏差,则无法保证正确的约束关系,难以获得好的检测效果。航空发动机叶片等面型复杂的构件由于缺少装卡定位结构,实际装卡位姿难以与轨迹规划时的设定装卡位姿保持一致,需要进行偏差修正。



技术实现要素:

鉴于上述问题,本发明利用超声测距原理对装卡偏差做修正,可以解决由于实际装卡位姿偏差而影响最终检测效果的问题,提出了一种机械手超声无损检测中被测件装卡偏差的修正方法及系统。

第一方面,本发明实施例提供一种机械手超声无损检测中被测件装卡偏差的修正方法,包括:

获取编程轨迹中被测件在设定装卡位姿下的点云数据,生成模型点云集;

装卡被测件后,通过超声波测量被测件在装卡位姿下的点云数据,生成测量点云集;

将所述模型点云集与所述测量点云集,进行匹配计算,获得被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差;

修正所述被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差。

在一个实施例中,将所述模型点云集与所述测量点云集,进行匹配计算,获得被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差,包括:

分别计算所述模型点云集和所述测量点云集中每个点在其邻域内的法向量;

在所述测量点云集中随机选择m个非边界点,计算所述m个非边界点的邻近法向量角特征描述子;

计算所述模型点云集中所有非边界点的邻近法向量特征描述子;

将所述测量点云集中随机选择的每个非边界点,在所述模型点云集中匹配与之邻近法向量特征描述子相等或接近的点,确定m个邻近法向量特征描述子相等或接近的点对;

根据所述相等或接近的点对,计算获得所述模型点云集与所述测量点云集之间的偏差。

在一个实施例中,所述每个点在其邻域内的法向量,通过以下步骤获得:

设点集s,任一点si属于s;点si在其邻域内的法向量由其邻近的k个点估计;

搜索si周围邻近的k个点,记为称为k邻近点;

利用点si及其k邻近点构建协方差矩阵:

其中,是k邻近点的几何中心;求矩阵e3×3的特征值和特征向量:

e3×3·vl=λl·vl,l∈{1,2,3}(2)

其中,λ1,λ2,λ3(λ1<λ2<λ3)是所构建矩阵的特征值;v1,v2,v3是相应的特征向量;最小特征值λ1对应的特征向量v1是点si在其邻域内的法向量,记为nsi。

在一个实施例中,所述非边界点的识别判别式为:

其中,设点集s,任一点si属于s;点si与其邻近的一个点构成向量点si与其邻近的k个点构成和向量临界值δi是判断点si与其周围k个点偏离程度的阈值。

在一个实施例中,所述邻近法向量角特征描述子的计算,包括:

确定法向量角,计算公式为:

其中,设点集s,任一点si属于s;si点的法向量为nsi;是si的一个邻近点,该点的法向量为nsi与之间的夹角为

法向量nsi和其周围的n个法向量组成邻近法向量角特征描述子

在一个实施例中,根据所述相等或接近的点对,计算获得所述模型点云集与所述测量点云集之间的偏差,包括:

设所述模型点云集为点集s,所述测量点云集为点集g,计算点集s和g的几何中心:

利用m个邻近法向量特征描述子相等或接近的点对构建协方差矩阵:

对m3×3进行奇异值分解m3×3=uλvt;λ是由m3×3的特征值构成的对角阵;由此可得旋转矩阵r和平移矩阵t:

r=uvt

t=cg-rcs(7)

其中,r反映所述模型点云集和测量点云集之间的角度偏差,转化为欧拉角δrx,δry,δrz;t反映位置偏差δx,δy,δz。

在一个实施例中,修正所述被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差,包括:

根据计算得到的所述被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差值,通过调整机械手的夹具或修正规划的编程轨迹中被测件装卡位姿设定值,重新生成编程轨迹。

第二方面,本发明实施例还提供一种机械手超声无损检测中被测件装卡偏差的修正系统,使用任一上述实施例提供的一种机械手超声无损检测中被测件装卡偏差的修正方法。

本发明实施例提供的上述技术方案的有益效果至少包括:

本发明实施例提供的机械手超声无损检测中被测件装卡偏差的修正方法,基于超声测距原理,获取编程轨迹中被测件在设定装卡位姿下的点云数据,生成模型点云集;装卡被测件后,通过超声波测量被测件在装卡位姿下的点云数据,生成测量点云集;将所述模型点云集与所述测量点云集,进行匹配计算,获得被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差;即得到实际装卡位姿与设定装卡位姿之间的偏差,进而修正偏差,可以解决由于实际装卡位姿偏差而影响最终检测效果的问题,使扫查轨迹符合实际检测要求,保证好的检测效果。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例提供的机械手超声无损检测中被测件装卡偏差的修正方法的流程图;

图2为本发明实施例提供的机械手超声无损检测中被测件装卡偏差的修正过程示意图;

图3为本发明实施例提供的步骤s3的流程图;

图4a为本发明实施例提供的边界点示意图;

图4b为本发明实施例提供的又一边界点示意图;

图4c为本发明实施例提供的非边界点示意图;

图5为本发明实施例提供的si点的法向量为nsi的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供的一种机械手超声无损检测中被测件装卡偏差的修正方法,参照图1所示,包括:

s1、获取编程轨迹中被测件在设定装卡位姿下的点云数据,生成模型点云集;

s2、装卡被测件后,通过超声波测量被测件在装卡位姿下的点云数据,生成测量点云集;

s3、将所述模型点云集与所述测量点云集,进行匹配计算,获得被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差;

s4、修正所述被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差。

本实施例中,步骤s1中,比如将被测件的几何模型导入数控编程软件。在软件中设定几何模型与机械手之间的空间位姿坐标,将其定义为设定坐标,即被测件的设定装卡位姿。根据超声检测的约束要求、扫查间隔、步进距离设计机械手运动轨迹,生成编程轨迹,导入机械手控制器。

按照设定坐标固定实际被测件,此时被测件的实际装卡位姿与设定坐标之间往往存在偏差,将实际装卡位姿的坐标定义为实际坐标,即被测件的实际装卡位姿。步骤s2中机械手按照上述步骤s1的编程轨迹扫查被测件。

如图2所示,实际被测件装卡位姿与数控编程软件中设定的几何模型装卡位姿之间存在偏差。在机械手运动过程中,测量脉冲超声波从超声探头到被测件表面的传播时间,根据介质声速计算出超声波探头到被测件型面点之间的距离,再利用机械手的控制系统得到超声波探头在机械手坐标系中的位姿,综合得到被测件型面点在机械手坐标系中的点位坐标,按照轨迹规划的扫查轨迹自动测量,机械手每运动一段距离采集一次位置坐标,形成一组能反映被测件实际装卡位姿的点云,即测量点云集。

在数控编程软件比如mastercam、ug、catia中生成的编程轨迹包含一系列约束点,以保证机械手按照设置的约束要求、扫查间隔和步进距离运动,这些约束点以表格的形式呈现。将该表格导入数学处理软件例如matlab,即可获得被测件面型在设定装卡位姿下的点云,即模型点云集。

本实施例中,在扫查轨迹规划时,从数控编程软件的扫查轨迹数据中抽取一组被测件面型在设定装卡位姿下的点云数据,称为模型点云集;当被测件在检测设备比如机械手内装卡后,利用超声波测量一组被测件面型在实际装卡位姿下的点云数据,称为测量点云集。然后对两组面型点云数据进行匹配计算,得到被测件实际装卡位姿和轨迹规划时设定装卡位姿之间的偏差,进而修正偏差。

上述修正方法基于超声测距原理。通过编程轨迹获取被测件在设定装卡位姿下的点云数据,生成模型点云集;装卡被测件后,通过超声波测量被测件在装卡位姿下的点云数据,生成测量点云集;将所述模型点云集与所述测量点云集,进行匹配计算,获得被测件装卡位姿与所述编程轨迹中设定装卡位姿之间的偏差;即得到实际装卡位姿与设定装卡位姿之间的偏差,进而修正偏差,可以解决由于实际装卡位姿偏差而影响最终检测效果的问题,使扫查轨迹符合实际检测要求,保证好的检测效果。

在一个实施例中,上述步骤s3,参照图3,包括:

s301、分别计算所述模型点云集和所述测量点云集中每个点在其邻域内的法向量;

s302、在所述测量点云集中随机选择m个非边界点,计算所述m个非边界点的邻近法向量角特征描述子;

s303、计算所述模型点云集中所有非边界点的邻近法向量特征描述子;

s304、将所述测量点云集中随机选择的每个非边界点,在所述模型点云集中匹配与之邻近法向量特征描述子相等或接近的点,确定m个邻近法向量特征描述子相等或接近的点对;

s305、根据所述相等或接近的点对,计算获得所述模型点云集与所述测量点云集之间的偏差。

下面对本发明提供的机械手超声无损检测中被测件装卡偏差的修正方法举例进行说明:

模型点云中ns个点{si},组成点集s;测量点云中ng个点{gi},组成点集g。将两组点集导入数学计算软件,例如matlab。

步骤1:在数控编程软件中根据预先设定的被测件装卡位姿,并考虑约束关系,然后基于几何模型规划运动轨迹,生成编程轨迹。提取运动轨迹中的约束点组成模型点云,其中包含ns个点{si},记为点集s;实际检测过程中,提取被测工件表面上的入射点组成测量点云,其中包含ng个点{gi},记为点集g。模型点云和测量点云之间的位置偏差表示为(δx,δy,δz),角度偏差以欧拉角形式表示为(δrx,δry,δrz),整体表示为(δx,δy,δz,δrx,δry,δrz)。

步骤2:将两组点集导入数学计算软件,例如matlab。计算点集s和g中每个点在其邻域内的法向量。对于任一点si∈s,其法向量记为nsi;对于任一点gi∈g,其法向量记为ngi。

步骤3:在点集g中随机选择m个非边界点,计算这些点的邻近法向量角特征描述子。

在点集g中随机选点,每选一个点,就按照非边界点识别方法做判断,丢弃边界点,最终确定m个非边界点,记为gi(i∈[1,m])。按照邻近法向量角特征描述子计算方法计算gi(i∈[1,m])的邻近法向量角特征描述子,记为

步骤4:计算点集s中所有非边界点的邻近法向量角特征描述子。与上述步骤3类似,按照非边界点识别方法识别点集s中所有的非边界点,假定有n个非边界点,记为si(i∈[1,n])。计算非边界点si(i∈[1,n])的邻近法向量角特征描述子,记为

步骤5:对于点集g中每个随机选择的非边界点,在点集s搜索邻近法向量角特征描述子相等或最接近的点。将步骤3中的每个邻近法向量角特征描述子在点集s中搜索邻近法向量角特征描述子相等或最接近的点。由此确定m个有相同特征关系的点对。

步骤6:利用这组点对,计算模型点云和测量点云之间的偏差,记为(δx,δy,δz,δrx,δry,δrz)。

步骤7:根据所得偏差调整机械手检测系统的夹具,或通过修改轨迹规划中被测件装卡位姿设定值,重新生成编程轨迹,使扫查轨迹符合实际检测要求。

假定在数控编程软件中设定的坐标为(x,y,z,rx,ry,rz),根据计算所得偏差调整机械手检测系统的夹具,或通过修改轨迹规划中被测件装卡位姿设定值为(x+δx,y+δy,z+δz,rx+δrx,ry+δry,rz+δrz),重新生成编程轨迹,即可使扫查轨迹符合实际检测要求。

本发明涉及的具体计算方法如下:

1、步骤s301中的邻域内法向量的计算:

以点集s为例,假设任一点si属于s。点si在其邻域内的法向量可以由其邻近的k个点估计。用kd-tree方法搜索si周围距离最近的k个点,记为sin(n∈[1,k]),称为k邻近点。利用点si及其k邻近点sin(n∈[1,k])构建协方差矩阵:

其中,是k最邻近点的几何中心,求矩阵e3×3的特征值和特征向量:

e3×3·vl=λl·vl,l∈{1,2,3}(2)

其中,λ1,λ2,λ3(λ1<λ2<λ3)是所构建矩阵的特征值。v1,v2,v3是相应的特征向量。最小特征值λ1对应的特征向量v1是点si在其邻域内的法向量,记为nsi。

2、步骤s302~步骤s303中非边界点的识别:

还是以点集s为例,假设任一点si属于s,则边界点有其自身特点。如图4a所示,假定si是边界点,则边界点一侧应该不包含数据点。点si与其邻近的一个点构成向量类似的,点si与其邻近的k个点可以构成和向量因为点si为边界点,所以和向量的模会大于一临界值δi,该临界值是判断点si与其周围k个点偏离程度的阈值。如图4a所示,若si与其周围点的偏离程度明显,则和向量的模数值较大;如图4b所示,若si与其周围点的偏离程度较小,则和向量的模数值较小。因此,通过实验确定一个临界值δi用于识别边界点,δi取值越小则识别到的边界点越多。相反的,如图4c所示,假定si是非边界点,则该点与其邻近的k个点组成的和向量的模会小于一临界值δi。因此,非边界点si的识别可以用判别式表示为:

3、步骤s302~步骤s303中邻近法向量角特征描述子的计算:

曲面上任一点的法向量会随着曲面位姿的变化而改变。然而,曲面上任一点的法向量与其邻近点的法向量之间的夹角不会随曲面位姿的变化而改变。这一特性可以作为计算两组点云之间空间位置和角度关系的依据。如图5所示,si是点集s中的任一点,该点的法向量为nsi。是si的一个邻近点,该点的法向量为nsi与之间的夹角为即为法向量角:

类似的,法向量nsi和其周围的n个法向量组成邻近法向量角特征描述子θsi不会随曲面位姿的变化而改变。

4、步骤s305中点云偏差计算:

计算点集s和g的几何中心:

利用m个有相同特征关系的点对构建协方差矩阵:

对m3×3进行奇异值分解m3×3=uλvt;λ是由m3×3的特征值构成的对角阵;由此可得旋转矩阵r和平移矩阵t:

r=uvt

t=cg-rcs(7)

其中,r反映模型点云和测量点云之间的角度偏差,它可以转化为欧拉角(δrx,δry,δrz);t反映位置偏差(δx,δy,δz)。

再比如以曲面构件为被测件为例:

利用机械手对曲面构件进行超声无损检测,机械手的编程轨迹是通过数控编程软件mastercam生成的。然而,由于实际装卡曲面构件存在偏差,若机械手仍按照原编程轨迹运动,便无法满足检测要求。因此,本发明在现有检测基础上,对曲面构件的装卡偏差实施修正。具体实施如下:

a:数控编程软件mastercam中设定装卡位姿,如表1所示。按照该位姿生成编程轨迹,导入机械手控制器。

b:将曲面构件装卡到检测系统中,机械手按照步骤a中的编程轨迹运动,运动期间采集曲面构件上的入射点(即测量点云),将这些点导入matlab。

c:在数控编程软件中提取运动轨迹中的约束点(即模型点云),导入matlab。

d:在matlab中计算曲面构件的装卡偏差,结果如表1所示。

e:修改数控编程软件中的设定装卡位姿,重新生成编程轨迹。

表1修正前后的位姿坐标比较:

表1

第二方面,本发明实施例还提供一种机械手超声无损检测中被测件装卡偏差的修正系统,使用任一上述实施例提供的一种机械手超声无损检测中被测件装卡偏差的修正方法。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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