基于精密工件光学检测的应用研究

2022-12-01 08:38安麒睿周志峰
农业装备与车辆工程 2022年11期
关键词:扫描仪工件平面

安麒睿,周志峰

(201620 上海市 上海工程技术大学 机械与汽车工程学院)

0 引言

随着我国制造业的快速发展,越来越多的检测技术开始应用在航天、船舶、汽车等领域。国内外相关检测领域的科研人员对三维检测技术给予了极高关注。三维检测技术一般是利用条纹投影的光学方法获得待测物体的三维形貌信息的手段。一般情况下,三维检测技术分为测量时与待测物体有接触的接触式测量和测量时与待测物体无接触的非接触式测量。接触式测量主要以三坐标测量机为代表,精度高,但是测量效率相对较低,而且对环境要求较高,测针容易与待测物体发生干涉;非接触测量技术是以光学为基础,对待测物体进行光学扫描、三维重建,特点是对待测物体无损伤,测量速度快、效率高[1]。本文通过结构光技术,实现了其在距离检测和平面度检测的应用。

1 结构光技术

在三维检测领域中,结构光技术是一种重要的非接触式检测技术,又称非接触式三角法测量技术。其基本原理是通过激光发射器将各种形式的光栅条纹图案投射到待测物体表面,再由相机捕捉拍摄在待测物体表面发生变形的光栅条纹图案,计算光栅条纹图案上像素点的灰度值变化后,即可获得待测物体空间位置坐标,从而生成待测物表面的点云数据。在当前研究成果中,结构光的主要形式分类为:点结构光、线结构光和面结构光[2]。在三维检测技术中采用结构光技术,是因为结构光具有快速采集到待测物体的表面信息,得到点云数据,并且其精度较高的优点。

1.1 线结构光

线结构光是激光器向待测物体投射片状光束,与待测物体表面形成明亮的交叉线,如图1 所示。通常,线结构光只需采用一维机械扫描系统即可完成,将激光器垂直固定于平面试验台,将待测物体置于步进电机上,通过步进电机的滑动实现线结构光的三维扫描。系统结构及扫描成像过程如图2所示。

图1 线结构光的扫描原理Fig.1 Scanning principle of line structured light

图2 线结构光扫描的平台以及扫描成像过程Fig.2 Line structured light scanning platform and scanning imaging process

1.2 面结构光

面结构光是将二维图形投射到待测物体表面,并在物体表面上形成调制图案,如图3 所示。常见的面结构光是几何光栅投影,包括条纹光栅、正交光栅和交叉线等。面结构光的成像采集只需要将待测物体放在一定完成标定的双目相机下,即可完成图像采集[3]。本文将采用面结构光采集点云数据,然后结合MATLAB 和C++进行平面度检测。

图3 面结构光扫描原理Fig.3 Principle of surface structured light scanning

2 激光三角测距原理

无论是线结构光还是面结构光,当被用来测量待测物体的三维形貌时,激光发射器、待测物体以及CCD 相机之间正好形成三角形,当激光扫描仪与感光元件位置固定时,物距、相距、焦距参数也确定,结合空间几何位置推导光点成像位置关系,求得待测零件表面的变化情况,由相似三角形原理求出Z 轴的具体深度信息,这就是激光三角法。

以线结构光成像原理为例,如图4 所示,激光器将结构光投射到待测物体表面A1B1,线段A1A2与B1B2相交于O 点,线激光扫描仪的量程范围为

图4 激光三角测距原理图Fig.4 Principle diagram of laser triangulation ranging

感光元件上对应的距离为

B3、B4为过B1、B2点作A1、A2的垂线所得的交点,根据相似三角形定理可得:

将式(4)代入式(3)可得:

即可得到激光扫描仪、感光元件、感光透镜与线激光扫描仪量程范围的距离关系。

由凸透镜成像公式可得:

式中:u——物距;v——像距;f——焦距。

当光点在A1所在的参考平面时,此时u=h1,v=h2,代入式(6)可得:

将式(7)代入式(5)可得:

当激光扫描仪与感光元件的位置确定时,其物距u,像距v,焦距f 可推导求得,通过感光元件也可获得h3的值,由此代入式(8)可求出Δh 的值,即为激光传感器的量程范围。

已知激光传感器的量程范围为Δh,假设物体表面上的某个点i 处于A1、B1中间的Zi点,其在A2、B2上对应的点为,则由相似三角形原理可得:

以B1所在平面为参考平面,则Δh 为物体表面某点i 的Z 轴深度信息,即所需获取的高精度Z 轴方向的点云数据。以上为激光三角测距原理的数学表达。

3 工件的距离测量

工件的距离测量原理大致分为2 种,第1 种是求得2 条直线的表达式,根据表达式计算2 条直线的距离;第2 种是检测出图像的角点,计算角点之间的距离。检测工件如图5。

图5 待测物体Fig.5 Object to be measured

3.1 部分工件点云数据采集

检测工件的工作台使用的是线阵激光扫描仪(图6 所示),线激光发射器固定在垂直升降台上,将工件放在移动滑台上,移动滑台的移动是通过步进电机控制的。通过步进电机推进控制滑台的移动,由线阵激光扫描仪采集每时每刻的点云数据,形成待测工件的三维表面信息。由于本次试验只是测工件的长度,所以只需要扫工件的一长条点云数据。由于使用线阵激光进行扫描,为了使测量精度尽可能高,所以一长条采集点云数据时间较长,但是测量效率相较于点结构光有很大提升。

图6 线阵激光扫描仪Fig.6 Linear laser scanner

本次距离测量主要使用两直线的距离测量方法(直线测量)。采用的方法为最小二乘法。其基本思想是寻找一条直线使得这些求得的数据与实际数据之间的误差的平方和为最小。

总误差的平方:

求函数S(a,b),a与b 取何值时有maxS(a,b),即:

由式(11)可求得a,b的值,然后求得直线方程。获得2 个边缘的直线方程之后,就可以通过2 直线之间的距离计算公式求得待测长度。

通过计算,所测得的工件长度为158.21 mm,而工件为图纸给出的距离为158.10 mm。由此,测量精度可以达到0.1 mm。

3.2 小结

线结构光相较于结构光技术中的点结构光,检测效率有较大的提升,精度也有所上升。但是其缺点也暴露无遗,线结构光激光照射范围较小;提取点云数据后如果有需要,需进行大量的点云拼接,也许会增加不必要的误差。

4 平面度检测

平面度检测主要是指被测实际表面对其理想平面的变动量。传统平面度检测的方法有:平晶干涉法、打表测量法、液平面法、光束平面法[5-6]。了解面结构光技术后,拟采用面结构提取待测物体表面点云信息,再进行有效点的提取。由于做平面度检测需要求得待测工件表面的理想平面,针对这一问题,本文采用SVD 分解求拟合平面,利用MATLAB 进行理想平面的拟合。本文所使用的是由线激光相机、高精度运动滑台、可升降丝杆、运动电机控制模块和光学精密阻尼隔振平台组成的三维点云扫描检测系统。

4.1 工件表面点云数据采集

为了保证测量数据的完整性与准确性,在扫描开始之前,需要对线阵激光扫描仪进行精度标定,标定结果对测量的数据准确性有很大影响。采用平面棋盘标定法,并将待测物体垫高与工作台,方便点云成像后的有效图像提取。

由于待测物体表面比较反光,所以本试验对光线要求比较高,尽量采用自然光。通过反复调试,采集到的点云数据如图7 所示。

图7 采集工件表面点云数据Fig.7 Collected point cloud data on workpiece surface

为了检测整个工件的平面度,需要进行点云数据处理,提取所有的轮廓。利用PCL 库中快速点特征直方图(FPFH)[7],可将整个待测物体表面上筋的点云数据提取出来。之后,在筋上进行点的选取,为了提高精度,取点应尽量多。本试验选取了100 个点,记录了100 个点的三维坐标。取点拟合平面后,还需将偏离理想平面过于远的点作为无效点删除,再进行拟合,以保证理想平面正确拟合。

4.2 理想平面拟合

SVD 分解[8]求拟合平面的原理:已知若干三维点坐标(xi,yi,zi)拟合出的平面方程为

使得该平面到所有点的距离之和最小。

推导过程如下:

理想情况下,所取点都在平面上,式(16)必然成立。实际情况是,部分点都会与理想平面发生偏移,拟合的目的是使得平面距离所有点的距离之和尽量小,所以目标函数为

式中:D——对角矩阵;U,V——酉矩阵。

因为在SVD 分解中,D 的对角元素为奇异值,假设最后一个对角元素为最小奇异值,则当且仅当

所以,目标函数在约束条件下的最优解为

综上所述,协方差矩阵的SVD 变换中,最小奇异值对应的奇异向量就是平面的方向。将所取点的三维坐标储存成矩阵形式,通过MATLAB 编写SVD分解求拟合平面的代码并绘制拟合平面,如图8所示。

图8 SVD 分解拟合平面Fig.8 SVD decomposition fitting plane

将已取点和求得的理想平面求点到平面的距离,即可得到平面度误差。本试验取35 组平面度误差,共有{-0.099,-0.043,0.049,0.031,0.071,0.226,0.141,-0.069,-0.175,0.353,-0.042,-0.046,0.012,0.046,0.336,0.138,-0.167,0.082,0.109,0.066,-0.027,-0.146,-0.014,0.034,0.062,0.006,0.139,-0.007,0.045,-0.130,-0.025,-0.186,0.071,-0.019,0.078}。

5 结论

本试验使用线阵激光扫描仪进行待测物体表面三维扫描,利用MATLAB 和C++进行理想平面拟合和平面度误差计算。此试验使用时间很短,精度达到了0.01 mm,精度较高。本文介绍了结构光的两种分类以及结构光扫描的测量原理:激光三角测距原理。进行了两个检测:线结构光进行的距离检测和面结构光进行的平面度检测。通过应用最小二乘法、SVD 分解拟合平面法,对待测物体进行测量。实现了结构光技术在检测技术方面的一些应用。以结构光技术为基础的检测设备拥有效率高、精度高、不损坏被测物等特点,是未来的非接触式三维精密检测中重要发展方向之一。

猜你喜欢
扫描仪工件平面
带服务器的具有固定序列的平行专用机排序
便携式膀胱扫描仪结合间歇性导尿术在脑卒中合并神经源性膀胱患者中的应用
带冲突约束两台平行专用机排序的一个改进算法
工业机器人视觉引导抓取工件的研究
玩转高考真题——平面解析几何篇
一类带特殊序约束的三台机流水作业排序问题
立体几何基础训练A卷参考答案
三维扫描仪壳体加工工艺研究
参考答案
便携高速文件扫描仪