计算机视觉二维刀具预调仪的研究
<H1><FONT size=2>1 概述</FONT></H1><DD>对刀仪是数控机床及加工中心的必要设备,它的作用是迅速而准确地确定数控机床及加工中心刀库中每把刀具的几何参量,以便在加工过程中用程序控制刀具的进给量。现有的对刀仪产品大部分是机械光学式的,依靠人眼通过影屏对刀具进行瞄准测量,从而带来主观误差,使对刀精度受到影响。目前国产的一些对刀仪只能测出刀形两个坐标方向上轮廓顶点的坐标值,仅能用于切削圆柱面和端面的程序编制。在某些曲面的加工中,刀具与工件的接触点并非上述轮廓顶点(如锥面加工),且接触点可能随时变化(如球面加工)。刀尖轮廓具有一定的尺寸,只有已知刀形的中心坐标及随切点角度变化的刀具圆弧半径,才能由程序对刀具半径进行补偿,从而给出理想的切点运动轨迹,这样对刀具刀尖部分轮廓的测量就是十分必要的。
<DD>国外的某些对刀仪产品已经能够进行准确的刀形测量。根据对刀具半径的补偿,可以精确加工出任意形状的回转面。它采用计算机视觉检测系统,以面阵CCD摄像机摄取刀形,通过通用图像板将刀形图像转换成每个像元有256个灰度级的灰度矩阵送入计算机,利用软件进行刀形轮廓提取。这种方法运算量大,成本相应较高,测量速度相对较慢。
<DD>本文所研究的计算机视觉二维刀形检测系统与一般的计算机视觉检测系统不同。它没有采用通用的图像板,而是针对刀形轮廓成像时具有很强的黑白对比特性,由自行研制的硬件解调板采用硬件方法直接提取刀形轮廓。该系统同时实现了刀形的自动测量及刀具预调工作。在刀形测量数据处理方面,本系统采用分段圆弧拟合的方法给出刀形曲线的圆心及分段圆弧半径,便于程控加工中调用。本系统具有测量速度快,精度高,重量轻,结构简单的特点,刀形测试及刀具调整的精度为3µm(3<FONT face=symbol>s</FONT>)。利用该方法设计的刀形检测系统已成功用于天津机床光学仪器厂的对刀仪产品。<BR>
<TABLE align=right>
<TBODY>
<TR>
<TD align=middle width=400><FONT size=2><IMG src="http://www.chmcw.com/upload/news/RCL/13220_qik26x200833111849.gif"><BR><B>图1 视频信号处理电路框图</B></FONT></TD></TR></TBODY></TABLE>
<H1><FONT size=2>2 边缘提取硬件电路</FONT></H1>
<DD>为了减小像敏元间距给测量带来的影响,提高系统分辨率,本系统根据Purll D.C.提出的解调测量思想,以硬件的方法从视频信号中解调出图像轮廓边缘特征点,从而将空间尺寸量转换成时间方波。利用插入高频稳定的晶振时钟脉冲,方便地实现了尺寸细分。硬件视频信号处理电路框图如图1所示。
<DD>电路应该解决三个主要问题:(1)将CCD摄像机输出的视频采样信号恢复成连续的视频信号:(2)在连续的视频信号中确定拐点的位置作为边缘特征点:(3)与PC机的时序相匹配。<BR>
<TABLE align=right>
<TBODY>
<TR>
<TD align=middle width=300><FONT size=2><IMG src="http://www.chmcw.com/upload/news/RCL/13220_ftlfbi200833135422.gif"><BR><B>图2 处理电路各部的输出波形</B></FONT></TD></TR></TBODY></TABLE>
<DD>根据刀具边缘成像具有很强的黑白对比度的特性,我们选用具有线性相移的低通滤波器作为对视频信号进行解调的网络。其输出波形是已恢复的连续信号,如图2a所示。为确定该连续信号的拐点(该点对应被测件的轮廓点),对连续信号进行二次微分。一次微分电路、绝对值电路、二次微分电路的输出波形如图2b、c、d所示。二次微分电路输出波形中前4个波形分别对应视频信号的行消隐前沿、行同步前沿、行同步后沿和行消隐后沿。后面波形的过零点对应图2a中的拐点。通过过零比较器和脉冲选择逻辑电路,得到与轮廓点对应的脉冲,如图2e所示。选择行消隐信号的后沿作为每一扫描行的起始点,如图2f所示。起始点信号与轮廓点信号通过方波形成电路得到系列方波,如图2g所示。在方波中插入高频稳定的脉冲并由计数器记录该脉冲数,则每一行的边缘轮廓点的X坐标值得以确定。Y 坐标值由扫描行序数确定。<BR>
<TABLE>
<TBODY>
<TR>
<TD align=middle width=300><FONT size=2><IMG src="http://www.chmcw.com/upload/news/RCL/13220_ljgriq200833135812.gif"><BR><B>图3 与PC机的时序匹配</B></FONT></TD></TR></TBODY></TABLE>
<DD>图3表明了扫描行时序与PC机的匹配情况。计数器的清零应在测量起始点之前,因此选择行同步信号后沿作为计数器清零信号。行消隐信号的前沿作为向PC机申请中断的信号。在中断服务程序中完成数据采集工作。在中断申请信号与计数器清零信号之间要有足够的时间,以保证中断服务程序执行过程中数据采集可靠。场信号作为向PC机申请中断的另一信号,用以区分奇偶场并将奇偶两场合并为一幅完整的图像。<BR>
<TABLE align=right>
<TBODY>
<TR>
<TD align=middle width=300><FONT size=2><IMG src="http://www.chmcw.com/upload/news/RCL/13220_bhqql7200833135822.gif"><BR><B>图4 对刀仪零点棒</B></FONT></TD></TR>
<TR>
<TD align=middle width=300><FONT size=2><IMG src="http://www.chmcw.com/upload/news/RCL/13220_gq955r200833135832.gif"><BR><B>图5 各个坐标系之间的关系</B></FONT></TD></TR></TBODY></TABLE>
<H1><FONT size=2>3 对刀仪定标及坐标系统变换</FONT></H1>
<DD>在测量正式进行之前,需要对测量系统定标,即确定在X方向上每个脉冲数所代表的量值及在Y 方向上相邻两行扫描线之间的距离。
<DD>本测量系统借用对刀仪中的零点棒作为定标中的标准件。与普通对刀仪不同之处在于采用端点中心处有标准圆球的阶梯轴作为零点棒,如图4所示。将视觉系统的行扫描线水平安装。通过视觉系统读出阶梯轴上阶梯所对应的脉冲数,用阶梯的标准值除以该脉冲数,得到脉冲当量即X标值。将视觉系统精确旋转45°(此时为视觉系统的工作位置),对标准棒母线进行测量,然后对测点进行直线拟合,选相距较远的两拟合点,其坐标值为(X<SUB>1</SUB>,Y<SUB>1</SUB>)、(X<SUB>2</SUB>,Y<SUB>2</SUB>)。由:(Y<SUB>2</SUB>-Y<SUB>1</SUB>)/(X<SUB>2</SUB>-X<SUB>1</SUB>)=∆Y/∆X=cos45°=1,Y<SUB>2</SUB>-Y<SUB>1</SUB>=n·∆Y,得出Y方向的标值,即行距∆Y。其中:n为二采样点的行间隔数,∆Y为行间距。
<DD>在刀形检测系统中有4个坐标系:机床坐标系(X,Y),由安装在机床X,Y方向导轨上的光栅尺输出读数:视觉检测系统中与(X,Y)平行的坐标系(x,y):视觉检测系统坐标系(I,J),其横轴与CCD摄像机的行扫描方向平行:被测刀具的极坐标系(R,<FONT face=symbol>q</FONT>),极点选择在刀尖圆弧的圆心处,<FONT face=symbol>q</FONT>=0°时极径的方向与视觉检测系统的轴重合。为使测量能够正确进行,需将各个坐标系统一。视觉检测系统的测量值最终要统一到机床坐标系中。图5给出各个坐标系之间的关系。
<DD>面阵CCD相对机床坐标系呈45°安装,以避免刀形受检部位与CCD扫描线平行而无清晰的交点,因此视觉坐标系首先要旋转45°,使之与机床坐标系平行。x=I·cos<FONT face=symbol>q</FONT>-J·sin<FONT face=symbol>q</FONT>:y=I·sin<FONT face=symbol>q</FONT>-J·cos<FONT face=symbol>q</FONT>。旋转后视觉系统的坐标值转换到参考坐标系中,若(x,y)坐标系的坐标原点在(X,Y)坐标系中的坐标为(x<SUB>0</SUB>,y<SUB>0</SUB>),则(x,y)在(X,Y)中的坐标为:X=x+x<SUB>0</SUB>:Y=y+y<SUB>0</SUB>。视觉系统坐标值通过参考坐标系转换到机床坐标系中可用下式表示:
<TABLE align=center>
<TBODY>
<TR align=middle>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>[</FONT></TD>
<TD><FONT size=2>X</FONT></TD>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>]</FONT></TD>
<TD rowSpan=2><FONT size=2>=</FONT></TD>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>[</FONT></TD>
<TD><FONT size=2>cos<FONT face=symbol>q</FONT> -sin<FONT face=symbol>q</FONT></FONT></TD>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>][</FONT></TD>
<TD><FONT size=2>I</FONT></TD>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>]</FONT></TD>
<TD rowSpan=2><FONT size=2>+</FONT></TD>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>[</FONT></TD>
<TD><FONT size=2>x<SUB>0</SUB></FONT></TD>
<TD style="FONT-SIZE: 20pt" rowSpan=2><FONT size=2>]</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>Y</FONT></TD>
<TD><FONT size=2>sin<FONT face=symbol>q</FONT> cos<FONT face=symbol>q</FONT></FONT></TD>
<TD><FONT size=2>J</FONT></TD>
<TD><FONT size=2>y<SUB>0</SUB></FONT></TD></TR></TBODY></TABLE>式中,<FONT face=symbol>q</FONT>=45°。这里并没有考虑参考坐标系与机床坐标系的小夹角<FONT face=symbol>a</FONT>,在测量进行之前应预先测量出夹角<FONT face=symbol>a</FONT>的大小,而上式中的<FONT face=symbol>q</FONT>应为45°-<FONT face=symbol>a</FONT>。<BR>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 align=right bgColor=#e5ebba borderColorLight=#006600 border=1>
<CAPTION><FONT size=2><STRONG>表1 (单位:µm)</STRONG></FONT></CAPTION>
<TBODY>
<TR>
<TH><FONT size=2>测序</FONT></TH>
<TH><FONT size=2>圆心坐标(X,Y)</FONT></TH>
<TH><FONT size=2>圆弧半径</FONT></TH>
<TH><FONT size=2>X<SUB>top</SUB></FONT></TH>
<TH><FONT size=2>Y<SUB>top</SUB></FONT></TH></TR>
<TR align=middle>
<TD><FONT size=2>1</FONT></TD>
<TD><FONT size=2>1110.1,770.2</FONT></TD>
<TD><FONT size=2>502.3</FONT></TD>
<TD><FONT size=2>249</FONT></TD>
<TD><FONT size=2>860</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>2</FONT></TD>
<TD><FONT size=2>1109.2,768.6</FONT></TD>
<TD><FONT size=2>503.4</FONT></TD>
<TD><FONT size=2>251</FONT></TD>
<TD><FONT size=2>859</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>3</FONT></TD>
<TD><FONT size=2>1110.3,769.9</FONT></TD>
<TD><FONT size=2>502.8</FONT></TD>
<TD><FONT size=2>248</FONT></TD>
<TD><FONT size=2>859</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>4</FONT></TD>
<TD><FONT size=2>1110.1,769.7</FONT></TD>
<TD><FONT size=2>503.0</FONT></TD>
<TD><FONT size=2>251</FONT></TD>
<TD><FONT size=2>859</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>5</FONT></TD>
<TD><FONT size=2>1109.1,769.7</FONT></TD>
<TD><FONT size=2>502.5</FONT></TD>
<TD><FONT size=2>251</FONT></TD>
<TD><FONT size=2>860</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>6</FONT></TD>
<TD><FONT size=2>1110.6,770.5</FONT></TD>
<TD><FONT size=2>503.7</FONT></TD>
<TD><FONT size=2>248</FONT></TD>
<TD><FONT size=2>859</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>7</FONT></TD>
<TD><FONT size=2>1109.7,768.4</FONT></TD>
<TD><FONT size=2>502.4</FONT></TD>
<TD><FONT size=2>250</FONT></TD>
<TD><FONT size=2>861</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>8</FONT></TD>
<TD><FONT size=2>1110.0,770.3</FONT></TD>
<TD><FONT size=2>502.4</FONT></TD>
<TD><FONT size=2>249</FONT></TD>
<TD><FONT size=2>860</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>9</FONT></TD>
<TD><FONT size=2>1110.5,769.4</FONT></TD>
<TD><FONT size=2>501.8</FONT></TD>
<TD><FONT size=2>248</FONT></TD>
<TD><FONT size=2>859</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>10</FONT></TD>
<TD><FONT size=2>1110.0,770.4</FONT></TD>
<TD><FONT size=2>502.3</FONT></TD>
<TD><FONT size=2>251</FONT></TD>
<TD><FONT size=2>860</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>3<FONT face=symbol>s</FONT></FONT></TD>
<TD><FONT size=2>X:1.5 Y:2.2</FONT></TD>
<TD><FONT size=2>1.7</FONT></TD>
<TD><FONT size=2>3</FONT></TD>
<TD><FONT size=2>2</FONT></TD></TR></TBODY></TABLE>
<H1><FONT size=2>4 测量软件</FONT></H1>
<DD>本系统涉及的测量软件包括数据采集程序与数据处理程序两部分。数据采集程序完成将被测刀具的边缘轮廓点坐标采入计算机的任务。数据处理程序完成被测刀具的各分段圆弧半径的计算及X,Y方向的顶点和加工初始点的计算,依据采入计算机的刀具边缘轮廓点坐标,用最小二乘法进行分段圆弧拟合及计算X,Y方向各轮廓点坐标的极值,具体算法从略。
<H1><FONT size=2>5 实验结果</FONT></H1>
<DD>采用公称直径为1mm的标准钢球作为测量对象,来模拟对被测刀具的刀尖圆弧测量。取中心角为120°圆弧上的轮廓点坐标进行最小二乘拟合计算,每隔一段时间测量一次。表1中第2、3列为该圆弧圆心坐标和半径的10次测量数据,第4、5列为被测球在X方向与Y方向上两个顶点坐标的测量数据,其精度可代表对刀仪的对刀精度。<BR clear=all>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width=600 align=center bgColor=#e5ebba borderColorLight=#006600 border=1>
<CAPTION><FONT size=2><STRONG>表2 (单位:µm)</STRONG></FONT></CAPTION>
<TBODY>
<TR>
<TH><FONT size=2>测序</FONT></TH>
<TH><FONT size=2>10°</FONT></TH>
<TH><FONT size=2>20°</FONT></TH>
<TH><FONT size=2>30°</FONT></TH>
<TH><FONT size=2>40°</FONT></TH>
<TH><FONT size=2>50°</FONT></TH>
<TH><FONT size=2>60°</FONT></TH>
<TH><FONT size=2>70°</FONT></TH>
<TH><FONT size=2>80°</FONT></TH>
<TH><FONT size=2>90°</FONT></TH>
<TH><FONT size=2>100°</FONT></TH>
<TH><FONT size=2>110°</FONT></TH>
<TH><FONT size=2>120°</FONT></TH></TR>
<TR align=middle>
<TD><FONT size=2>1</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>503.4</FONT></TD>
<TD><FONT size=2>503.3</FONT></TD>
<TD><FONT size=2>503.4</FONT></TD>
<TD><FONT size=2>503.7</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>504.2</FONT></TD>
<TD><FONT size=2>504.6</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>503.9</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>2</FONT></TD>
<TD><FONT size=2>504.7</FONT></TD>
<TD><FONT size=2>504.6</FONT></TD>
<TD><FONT size=2>503.8</FONT></TD>
<TD><FONT size=2>503.8</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>504.2</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.8</FONT></TD>
<TD><FONT size=2>505.1</FONT></TD>
<TD><FONT size=2>504.9</FONT></TD>
<TD><FONT size=2>504.2</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>3</FONT></TD>
<TD><FONT size=2>505.1</FONT></TD>
<TD><FONT size=2>505.2</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>504.4</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.7</FONT></TD>
<TD><FONT size=2>505.0</FONT></TD>
<TD><FONT size=2>505.3</FONT></TD>
<TD><FONT size=2>505.6</FONT></TD>
<TD><FONT size=2>505.4</FONT></TD>
<TD><FONT size=2>504.7</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>4</FONT></TD>
<TD><FONT size=2>505.0</FONT></TD>
<TD><FONT size=2>505.1</FONT></TD>
<TD><FONT size=2>504.4</FONT></TD>
<TD><FONT size=2>504.4</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.7</FONT></TD>
<TD><FONT size=2>505.0</FONT></TD>
<TD><FONT size=2>505.3</FONT></TD>
<TD><FONT size=2>505.6</FONT></TD>
<TD><FONT size=2>505.4</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>5</FONT></TD>
<TD><FONT size=2>504.7</FONT></TD>
<TD><FONT size=2>504.6</FONT></TD>
<TD><FONT size=2>503.9</FONT></TD>
<TD><FONT size=2>503.9</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.8</FONT></TD>
<TD><FONT size=2>505.1</FONT></TD>
<TD><FONT size=2>504.9</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>6</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>503.1</FONT></TD>
<TD><FONT size=2>503.1</FONT></TD>
<TD><FONT size=2>503.2</FONT></TD>
<TD><FONT size=2>503.5</FONT></TD>
<TD><FONT size=2>503.8</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>504.4</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>503.7</FONT></TD>
<TD><FONT size=2>503.6</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>7</FONT></TD>
<TD><FONT size=2>504.8</FONT></TD>
<TD><FONT size=2>504.9</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>504.0</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>504.6</FONT></TD>
<TD><FONT size=2>504.9</FONT></TD>
<TD><FONT size=2>505.2</FONT></TD>
<TD><FONT size=2>505.0</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>8</FONT></TD>
<TD><FONT size=2>505.0</FONT></TD>
<TD><FONT size=2>505.0</FONT></TD>
<TD><FONT size=2>504.2</FONT></TD>
<TD><FONT size=2>504.1</FONT></TD>
<TD><FONT size=2>504.3</FONT></TD>
<TD><FONT size=2>504.5</FONT></TD>
<TD><FONT size=2>504.8</FONT></TD>
<TD><FONT size=2>505.1</FONT></TD>
<TD><FONT size=2>505.4</FONT></TD>
<TD><FONT size=2>505.2</FONT></TD>
<TD><FONT size=2>504.4</FONT></TD>
<TD><FONT size=2>504.2</FONT></TD></TR>
<TR align=middle>
<TD><FONT size=2>3<FONT face=symbol>s</FONT></FONT></TD>
<TD><FONT size=2>1.1</FONT></TD>
<TD><FONT size=2>1.2</FONT></TD>
<TD><FONT size=2>1.3</FONT></TD>
<TD><FONT size=2>1.3</FONT></TD>
<TD><FONT size=2>1.2</FONT></TD>
<TD><FONT size=2>1.2</FONT></TD>
<TD><FONT size=2>1.2</FONT></TD>
<TD><FONT size=2>1.3</FONT></TD>
<TD><FONT size=2>1.2</FONT></TD>
<TD><FONT size=2>1.1</FONT></TD>
<TD><FONT size=2>1.0</FONT></TD>
<TD><FONT size=2>0.9</FONT></TD></TR></TBODY></TABLE>
<DD>对分段圆弧半径的测量,将120°中心角的范围平均分成12段,每段取8次测量结果做统计分析。计算仍采用最小二乘法拟合,但计算时应加上圆心固定的约束条件。表2给出其测量数据,取各段中最大误差作为刀形测量误差,经计算±3<FONT face=symbol>s</FONT>max=2.6µm。
<H1><FONT size=2>5 结论</FONT></H1>
<DD>该视觉检测系统应用解调测量方法对视频信号进行处理,用硬件方法直接提取轮廓特征点,测量精度高,速度快。应用在国产对刀仪上可方便地进行刀具预调工作和对刀具的刀形参数进行高精度测量。通过对被测刀具刀尖半径的实时补偿,能够提高数控加工的精度。该系统结构简单,重量轻,可方便地进行机上对刀。</DD>
页:
[1]