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

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

技术特征:

1.一种用于测量具有圆形弧面的柱状物体的位姿的方法,该方法包括:

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

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

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

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

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

2.根据权利要求1所述的方法,其中,所述步骤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。

3.根据权利要求2所述的方法,其中,r是所述圆形弧面对应的半径,line_width是每束激光的线宽,width为总测量宽度,distance是所述传感器的激光源点到所述xoy平面与圆形弧面的轴线的交点间的距离,Slope是所述传感器发射的激光束最外轮廓的斜率。

4.根据权利要求1或2所述的方法,其中,对任意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> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> </mrow> <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。

5.根据权利要求1或2所述的方法,其中,基于下式得到任意轮廓数据点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> <mrow> <mi>x</mi> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mn>0</mn> <mo>_</mo> <mi>n</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

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

6.根据权利要求1所述的方法,其中,椭圆弧前部为从该椭圆弧起点到该椭圆弧的15%~25%处,椭圆弧后部为从该椭圆弧的75%~85%处至该椭圆弧的终点。

7.根据权利要求1所述的方法,其中,在步骤104中,先对筛除误差点后剩余的轮廓数据点进行平滑化和均匀化处理,再对经平滑化和均匀化处理的数据点进行椭圆拟合,以确定相应椭圆的特征参数。

8.根据权利要求7所述的方法,其中,所述平滑化包括:

选取滤波窗宽为该椭圆弧的剩余的轮廓数据点的30%,根据局部回归方法,依次选取滤波窗宽大小数据量的数据点,采用最小二乘法得到使轮廓数据点靠近滤波窗宽内点集最优解的二阶多项式曲线。

9.根据权利要求7所述的方法,其中,所述均匀化包括:

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

10.根据权利要求1所述的方法,其中,该方法还包括:

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

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