用于测量具有圆形弧面的柱状物体的位姿的方法与流程

文档序号:11944312阅读:377来源:国知局
用于测量具有圆形弧面的柱状物体的位姿的方法与流程

本发明涉及物体测量领域,更具体地,涉及一种用于测量具有圆形弧面的柱状物体的位姿的方法。



背景技术:

具有圆形弧面的柱状物体(例如圆柱形物体)是工业生产中最基本的、出现频率最高的零部件之一,在生产生活中被大量应用。传统上圆柱形物体生产加工时的装夹定位均采用夹具夹持或模具定位的方式,位姿的精度能够保证。但对于某些圆柱度与直线度较差的圆柱形物体,通过夹具夹持或模具定位的方式并不能保证其各个截面的位姿精度;由于圆柱形物体细长状的形状特殊性,在承受诸如单侧焊接、单侧打孔等加工工艺时也易产生翘曲等热变形,此时单纯靠夹具的定位就很难保证圆柱形物体的定位精度,给生产加工带来困难。因而,传统上对于细长圆柱形物体的高精度要求的加工工艺与易变形的加工工艺均由工人手工完成。例如,锅炉膜式水冷壁管排的螺柱焊加工,其生产的过程极为繁琐,效率低下,且工人工作环境恶劣,劳动强度大,人身安全得不到保障。

近年来,随着中国科技的进步和经济的迅猛发展,机器人技术不断进步,工业机器人的应用领域越来越广泛,使得在细长圆柱形物体的易变形性加工中应用机器人代替工人变成了可能,而机器人能够实时获取圆柱形物体的位姿是使用工业机器人代替工人进行生产的先决条件。目前,机器人测量物体多采用视觉传感器,这种方式虽然能够保证测量的精度,可成本较高,识别算法的时间复杂度较高,而且对于圆柱形物体来说,利用复杂的视觉传感器来识别位姿是没有必要的。为保证机器人能够正确可靠的进行圆柱形物体的生产加工,如何在最大限度降低成本的条件下研究出简单快速、实用可靠的圆柱形物体位姿测量方法也就变得尤为重要。



技术实现要素:

本发明提出了一种快速准确地识别具有圆形弧面的柱状物体的空间位姿的方法,并且该方法的实现成本低,仅需线性激光二维测量传感器即可实现。

根据本发明的一方面,提出了一种用于测量具有圆形弧面的柱状物体的位姿的方法,该方法包括:

步骤101,采用线性激光二维测量传感器测量得到多个轮廓数据点,其中,以激光束发射的截面为xoy平面,所述圆形弧面的轴线不平行于所述xoy平面;

步骤102,基于所述多个轮廓数据点进行椭圆拟合,识别出至少一个椭圆弧;

步骤103,针对识别出的每个椭圆弧,对位于该椭圆弧中部的轮廓数据点进行椭圆拟合,基于位于该椭圆弧前部和后部的轮廓数据点与拟合得到的椭圆周间的绝对欧式距离来筛除位于该椭圆弧前部和后部的轮廓数据点中的误差点;

步骤104,针对识别出的每个椭圆弧,对筛除误差点后剩余的轮廓数据点进行椭圆拟合,以确定相应椭圆的特征参数,所述特征参数包括椭圆中心在所述xoy平面中的位置、椭圆的长半轴长度a、椭圆的短半轴长度b、椭圆的倾斜方向;

步骤105,基于所述特征参数,得到与识别出的每个椭圆弧对应的柱状物体段的位姿。

可选的,所述步骤102包括:

设在步骤101中测量得到number个轮廓数据点,依次为p(x1,y1)、p(x2,y2)、…、p(xnumber,ynumber);

步骤A1,令i=1,vertex=1,flag=0,进入步骤B1;

步骤B1,对i至i+num-1共num个轮廓数据点进行椭圆拟合,进入步骤C1;

步骤C1,得到当前参与椭圆拟合的num个轮廓数据点中每一者与相应椭圆周间的绝对欧式距离errorj,j=i,i+1,...,i+num-1,进入步骤D1;

步骤D1,如果当前参与椭圆拟合的num个轮廓数据点与相应椭圆周间的绝对欧式距离errorj,j=i,i+1,...,i+num-1均不超过测量误差阈值error_measure,则进入步骤E1,否则进入步骤F1;

步骤E1,认为该num个轮廓数据点均位于同一椭圆弧上,并且如果flag=0,则进一步记录p(xi,yi)为该椭圆弧的起点即start(vertex)=i并且设置flag=1,进入步骤G1;

步骤F1,认为该num个轮廓数据点不位于同一椭圆弧上,并且如果flag=1,则进一步记录p(xi+num-2,yi+num-2)为该椭圆弧的终点即finish(vertex)=i+num-2并且设置vertex=vertex+1以及flag=0,进入步骤G1;

步骤G1,如果i+num-1=number,则结束;否则设置i=i+1,回到步骤B1,对下一组num个轮廓数据点进行识别,直至i+num-1=number。

可选地,r是所述圆形弧面对应的半径,line_width是每束激光的线宽,width为总测量宽度,distance是所述传感器的激光源点到所述xoy平面与圆形弧面的轴线的交点间的距离,Slope是所述传感器发射的激光束最外轮廓的斜率。

可选地,对任意n个轮廓数据点进行椭圆拟合包括:

采用最小二乘法(例如非线性最小二乘)、基于使下列目标函数J最小得到椭圆在所述xoy平面上的圆心坐标(x0_n,y0_n)、长半轴长度an、短半轴长度bn、长轴与x轴的夹角θn

<mrow> <mi>J</mi> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <msqrt> <mrow> <mfrac> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中将x0_n的初值赋为n个轮廓数据点中具有最大y坐标值的数据点的x坐标值,将y0_n的初值赋为n个轮廓数据点中具有最大y坐标值的数据点的y坐标值减去所述圆形弧面对应的半径r,将an和bn的初值均赋为r,将θn的初值赋为0。

可选地,基于下式得到任意轮廓数据点p(xk,yk)与相应椭圆周间的绝对欧式距离errork

<mrow> <msub> <mi>error</mi> <mi>k</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <msqrt> <mrow> <mfrac> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中,(x0_n,y0_n)为椭圆在所述xoy平面上的圆心坐标,an为长半轴长度,bn为短半轴长度,θn为长轴与x轴的夹角。

可选地,椭圆弧前部为从该椭圆弧起点到该椭圆弧的15%~25%处,椭圆弧后部为从该椭圆弧的75%~85%处至该椭圆弧的终点。

可选地,在步骤104中,先对筛除误差点后剩余的轮廓数据点进行平滑化和均匀化处理,再对经平滑化和均匀化处理的数据点进行椭圆拟合,以确定相应椭圆的特征参数。

可选地,所述平滑化包括:选取滤波窗宽为该椭圆弧的剩余的轮廓数据点的30%,根据局部回归方法,依次选取滤波窗宽大小数据量的数据点,采用最小二乘法(例如加权线性最小二乘)得到使轮廓数据点靠近滤波窗宽内点集最优解的二阶多项式曲线。

可选地,所述均匀化包括:计算平滑化处理后的轮廓数据点的x坐标值的最大值xmax和最小值xmin,在xmax和最小值xmin间以预定间隔均匀设置新的x坐标值,采用样条插值得到新的x坐标值对应的y坐标值。

可选地,该方法还包括:沿与所述xoy平面垂直的z轴方向移动所述传感器再次执行步骤101~105,直至完成对整个所述具有圆形弧面的柱状物体的测量。

本发明的优点在于:简单利用低成本的线性激光二维测量传感器,通过二维的测量数据,可以快速识别出测量截面内柱状物体(例如柱状零件)的圆形弧面的轮廓,并根据该轮廓的椭圆特征参数得到对应的柱状物体段的空间位姿。应用本发明可测量任意尺寸的具有圆形弧面的柱状物体的空间位姿,例如,可同时测量多跟圆柱形物体的空间位姿。本发明还具有重复性好、抗干扰性强的优点,能够排除测量数据的缺失、跳变对测量结果造成的影响,且能够排出测量范围内其他形状物体对测量造成的影响。

附图说明

通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本发明的一个示例性实施例的用于测量具有圆形弧面的柱状物体的位姿的方法流程图。

图2示出了根据本发明的一个示例性实施例的数据点粗略筛查示意图。

图3示出了根据本发明的一个示例性实施例的圆形弧面的轴线的位姿示意图。

具体实施方式

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

本发明公开了一种用于测量具有圆形弧面的柱状物体的位姿的方法,该方法包括:

步骤101,采用线性激光二维测量传感器测量得到多个轮廓数据点,其中,以激光束发射的截面为xoy平面,所述圆形弧面的轴线不平行于所述xoy平面;

步骤102,基于所述多个轮廓数据点进行椭圆拟合,识别出至少一个椭圆弧;

步骤103,针对识别出的每个椭圆弧,对位于该椭圆弧中部的轮廓数据点进行椭圆拟合,基于位于该椭圆弧前部和后部的轮廓数据点与拟合得到的椭圆周间的绝对欧式距离来筛除位于该椭圆弧前部和后部的轮廓数据点中的误差点;

步骤104,针对识别出的每个椭圆弧,对筛除误差点后剩余的轮廓数据点进行椭圆拟合,以确定相应椭圆的特征参数,所述特征参数包括椭圆中心在所述xoy平面中的位置、椭圆的长半轴长度a、椭圆的短半轴长度b、椭圆的倾斜方向;

步骤105,基于所述特征参数,得到与识别出的每个椭圆弧对应的柱状物体段的位姿。

图1示出了根据本发明的一个示例性实施例的用于测量具有圆形弧面的柱状物体的位姿的方法的流程图。

步骤1:建立二维坐标系

可以以激光束发射的截面为xoy平面,其中,可以以线性激光二维传感器的激光源点为坐标原点,可以以激光束正中央射线发射的方向为y轴负方向,建立左手直角坐标系。图2中示出了xoy平面。

步骤2:采用线性激光二维测量传感器进行实时测量

可以通过向传感器发送刷新与测量命令,以获得实时测量数据。此外,还可输入圆形弧面的尺寸和测量距离,以及计算激光线宽与单次识别数据量。

输入数据可以包括柱状物体的圆形弧面对应的半径r以及传感器的激光源点到所述xoy平面与圆形弧面的轴线的交点间的距离distance。

可以设当前测量得到的轮廓数据点的总数量为number,其在xoy平面上的坐标依次为p(x1,y1)、p(x2,y2)、…、p(xnumber,ynumber)。可以根据下式得到传感器投影到物体上的线性激光的范围,即总测量宽度width:

其中Slope是所述传感器发射的激光束最外轮廓的斜率,本示例性实施例中Slope=2.6。

进一步得到每束激光的线宽line_width:

<mrow> <mi>l</mi> <mi>i</mi> <mi>n</mi> <mi>e</mi> <mo>_</mo> <mi>w</mi> <mi>i</mi> <mi>d</mi> <mi>t</mi> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>w</mi> <mi>i</mi> <mi>d</mi> <mi>t</mi> <mi>h</mi> </mrow> <mrow> <mi>n</mi> <mi>u</mi> <mi>m</mi> <mi>b</mi> <mi>e</mi> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>.</mo> </mrow>

计算单次识别数据量num:

需要注意的是,如果的结果不为整数,可根据需要对其取整,例如向上或向下或四舍五入取整。

步骤3:粗略识别出位于椭圆弧上的轮廓数据点

步骤A1,可以令i=1,vertex=1,flag=0,进入步骤B1。

步骤B1,可以对i至i+num-1共num个轮廓数据点进行椭圆拟合。具体地,可以采用非线性最小二乘法、基于使下列目标函数J最小得到椭圆在所述xoy平面上的圆心坐标(x0_num,y0_num)、长半轴长度anum、短半轴长度bnum、长轴与x轴的夹角θnum

<mrow> <mi>J</mi> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mi>i</mi> <mrow> <mi>i</mi> <mo>+</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>(</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <msqrt> <mrow> <mfrac> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中可以将x0_num的初值赋为n个轮廓数据点中具有最大y坐标值的数据点的x坐标值,将y0_num的初值赋为n个轮廓数据点中具有最大y坐标值的数据点的y坐标值减去所述圆形弧面对应的半径r,将anum和bnum的初值均赋为r,将θ的初值赋为0。

然后可以进入步骤C1。

步骤C1,可以得到当前参与椭圆拟合的num个轮廓数据点中每一者与相应椭圆周间的绝对欧式距离errorj,j=i,i+1,...,i+num-1。具体地,可以基于下式得到errorj

<mrow> <msub> <mi>error</mi> <mi>j</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <msqrt> <mrow> <mfrac> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> <msup> <mrow> <mo>(</mo> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> <mi>u</mi> <mi>m</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

其中,

然后可以进入步骤D1。

步骤D1,如果当前参与椭圆拟合的num个轮廓数据点与相应椭圆周间的绝对欧式距离errorj,j=i,i+1,...,i+num-1均不超过测量误差阈值error_measure,则进入步骤E1,否则进入步骤F1;

步骤E1,可以认为该num个轮廓数据点均位于同一椭圆弧上,并且如果flag=0,则进一步记录p(xi,yi)为该椭圆弧的起点即start(vertex)=i并且设置flag=1,然后可以进入步骤G1;

步骤F1,可以认为该num个轮廓数据点不位于同一椭圆弧上,并且如果flag=1,则进一步记录p(xi+num-2,yi+num-2)为该椭圆弧的终点即finish(vertex)=i+num-2并且设置vertex=vertex+1以及flag=0,然后可以进入步骤G1;

步骤G1,如果i+num-1=number,则结束;否则设置i=i+1,回到步骤B1,对下一组num个轮廓数据点进行识别,直至i+num-1=number。

图2示出了根据本发明的一个示例性实施例的数据点粗略筛查示意图。。

步骤4:精确筛除每个椭圆弧中的误差点

可以该椭圆弧中部60%的数据点,对其进行椭圆拟合(例如,可参照步骤3中的步骤B1),判断该椭圆弧前20%部分与后20%部分的数据点当中每个点与拟合出椭圆的绝对欧氏距离(例如,可参照步骤3中的步骤C1计算绝对欧式距离)。如果计算出的某个数据点对应的绝对欧式距离超过预设误差阈值,例如error_measure,则将该数据点舍弃,从而实现精确筛除。

步骤5:针对精筛后的每个椭圆弧进行椭圆拟合

在进行椭圆拟合前,可以先对精筛后的数据点进行平滑化和均匀化处理。

所述平滑化可以包括:选取滤波窗宽为该椭圆弧的剩余的轮廓数据点的30%,根据局部回归方法,依次选取滤波窗宽大小数据量的数据点,采用加权线性最小二乘法得到使轮廓数据点靠近滤波窗宽内点集最优解的二阶多项式曲线,从而实现平滑化。

所述均匀化可以包括:计算平滑化处理后的轮廓数据点的x坐标值的最大值xmax和最小值xmin,在xmax和最小值xmin间以预定间隔均匀设置新的x坐标值,采用样条插值得到新的x坐标值对应的y坐标值,从而实现均匀化。

然后对平滑化和均匀化处理后的数据点进行椭圆拟合。具体可参照上述步骤3的步骤B1中的拟合方法,以确定相应椭圆的特征参数。所述特征参数包括椭圆中心在所述xoy平面中的位置(可以用椭圆圆心在所述xoy平面中的坐标(x,y)来表示)、椭圆的长半轴长度a、椭圆的短半轴长度b、椭圆的倾斜方向(可以用椭圆长轴与x轴的夹角θ来表示)。本领域技术人员也可采用其他任意适用的方法实现椭圆拟合。

步骤6:得到与识别出的每个椭圆弧对应的具有圆形弧面的柱状物体段的位姿

根据椭圆短半轴长度b可以得到圆形弧面的实际半径rreal;椭圆长轴倾角θ即为圆形弧面的轴线在xoy平面的投影与x轴的夹角;根据下式可以得到圆形弧面的轴线与z轴的夹角,其中z轴与x轴、y轴构成左手三维直角坐标系:

由于圆形弧面的特性,其绕轴线转动的角度不必考虑,因此求解上述五个特征参数即可确定该圆形弧面段的位姿。圆形弧面在该柱状物体上的位置是固定不变的,因此,可基于该圆形弧面段的位姿推断出对应的柱状物体段的位姿。

步骤7:重复执行步骤1~6,直至完成整个柱状物体的测量

可以沿与所述xoy平面垂直的z轴方向移动所述传感器再次执行上述步骤2~6,直至完成对整个所述具有圆形弧面的柱状物体的测量。设某次移动后的激光源点与初始激光源点间的距离为z,并且计算出圆形弧面的轴线在相应xoy平面上的坐标为(x,y),则相对于初始的三维直角坐标系,该圆形弧面的轴线与相应xoy平面的交点的坐标为(x,y,z)。图3示出了某次测量后得到的圆形弧面的轴线的位姿示意图。

以上已经描述了本发明的实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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