周永江 古娜 李顶根 祝成都
(1.武昌船舶重工集团有限公司 湖北省武汉市 430226 2.华中科技大学能源与动力工程学院 湖北省武汉市 430074)
虚拟装配以产品的实际三维模型为基础,借助虚拟现实技术来仿真装配的全过程,通过对装配操作及其相关特性的分析来实现对产品装配的分析和评价,并制定相应的合理方案[1]。
运用虚拟装配技术的前提是能够获取精度足够的三维点云数据,且由于是对真实装配情景进行模拟,获取的三维点云数据要能够反映加工后的形状、误差等,所以要对实物进行高精度扫描,一般来说,三维激光扫描技术能快速得到目标海量、高精度的三维点云数据,是获取零件三维信息的较优选择[2]。激光扫描是一种非接触主动式快速获取物体表面三维密集点云的技术,该技术可直接获取具有三维坐标(X,Y,Z)和一定属性(反射强度等)的海量、不规则空间分布的三维点云[3-6]。
本文采用三维激光扫描技术测量球形蘑菇头及其配套零件数据,获取实测三维点云,应用双边滤波算法对点云数据进行降噪滤波处理,提高数据的精度,点云数据在完成降噪后即可进行基于ICP 算法配准拼接,将多站测量数据拼接成完整点云。然后实现基于Geomagic Studio 软件的三维重构,以及数字化装配。
用f(Xi,Yi,Zi)来表示通过扫描得到的数据点,一般来说,实测数据都可以分解为真实数据与误差之和,即:
上式中g(Xi,Yi,Zi)表示数据点的真实值,e(Xi,Yi,Zi)表示误差。
根据Wold 分解定理的思想,任何数据序列都可以分解为确定性部分与随机性部分之和,则g(Xi,Yi,Zi)可以被分解为确定性部分gc(Xi,Yi,Zi)和随机性部分gr(Xi,Yi,Zi),e(Xi,Yi,Zi)也可以被分解为确定性误差ec(Xi,Yi,Zi)和随机误差er(Xi,Yi,Zi),即:
上式中gc(Xi,Yi,Zi)表示数据点的理想值;gr(Xi,Yi,Zi)表示由于被测物体由于存在一些波纹或缺陷等而与其本身的理想值的偏差;ec(Xi,Yi,Zi)表示确定性误差,即系统误差,表示由测量仪器、方法、环境等的测量系统本身的缺陷导致的误差;er(Xi,Yi,Zi)表示由于各种因素引起的随机误差。对数据进行降噪的目的,就是最终达到f(Xi,Yi,Zi)→gc(Xi,Yi,Zi),尽量减少gr(Xi,Yi,Zi)和er(Xi,Yi,Zi),至于系统误差ec(Xi,Yi,Zi)只能在数据采集前尽量减少,在降噪阶段无法去除。
由于本文采用的三维激光扫描技术的特点,获得的零件的点云数据是散乱点云,决定不对其进行网格化而是直接进行降噪,双边滤波算法作为基于局部的降噪算法,不仅可以直接作用于散乱点云,且具有实现快,效率高的优点。双边滤波算法是一种局部非线性各向异性的非迭代方法,利用在邻域内引入双边滤波算子的方法实现点云数据的光顺去噪。
利用双边滤波算法降噪的迭代方程如下:
上式中q'表示降噪后的点,q 表示目标点,n 代表q 的法向量,其中α 为双边滤波算子[7]:
上式中,N(qi)代表数据点qi的邻域点集,分别为光顺滤波函数和特征保持权重函数,都是高斯滤波函数,形式分别为:
由于三维激光扫描设备一次只能获取一个侧面的数据点云,所以需要进行多角度多站式测量,这些不同侧面的数据坐标系不同,要想进行三维重构,必须把这些数据拼接起来,统一坐标系。ICP算法是目前主流的用于三维模型精准配准的算法,其本质是最小二乘迭代,比较简单直观[8]。本文首先根据曲率相似度约束构造一个有效的初始匹配点对数组,接下来利用这些匹配点对训练变换矩阵R 和t,用R 和t 将两片点云中的一片变换到另一片的坐标系下,对变换后的点云与位于该坐标系下的点云坐标之间的误差进行评估,若无法通过,则返回重新训练变换矩阵参数。
在实际操作过程中,控制相邻两个侧面,使其存在一部分公共点,即两个侧面至少会各有一个点相互对应,这两个点就称为匹配点对,匹配点对的选择一定程度上决定了点云配准的精度和配准时间。开始阶段,如何选取这些公共点是重中之重,考虑到对于零件曲面的描述方式是因人而异的,而曲率只取决于曲面的几何特征,具有刚体不变特性,所以选择曲率作为建立联系的“标尺”。
假设Q1={qi1|qi1∈R3,i=1,2,…,N1}和Q2={qj2|qj2∈R3,j=1,2,…,N2}是在不同视角下采集到的两片点云数据,目标是把这两片点云进行配准拼接,且两片点云有一定公共点,那么第一步就是要找出公共点集。计算Q1、Q2的法向量和曲率,并把大于曲率阈值的点设定为特征点[7],则对于两片点云中的互为匹配点的特征点,根据文献[9]求得高斯曲率K 和平均曲率H,其高斯曲率K 和平均曲率H 应满足:
上式εK和εH分别表示给定点的高斯曲率误差和平均曲率误差,根据文献[9]两个点之间的最大/最小曲率满足:
上式中ε1、ε2表示给定点的最大曲率误差和最小曲率误差,k1、k2是根据高斯曲率和平均曲率求得的主曲率:
式(1)和式(2)即在上文中说的曲率约束条件,只有当两点满足这两个限制条件时才有可能是匹配点对,否则一定不是匹配点对。在实际工程中,对于点云Q1中的某定点,在点云Q2中寻找所有满足(1)和(2)式的点,不过仅仅上面这些曲率约束条件还是容易出现差错,对于这些点形成的集合,还需要进一步筛选。
对于满足(1)和(2)式的点,还需计算定点与其中每个点的归一化互相关系数,即Zncc,选择Zncc 值最大的点与定点组成匹配点对。Zncc 原本是图像领域用来衡量两幅图像中两个像素点的邻域灰度相似度的匹配准则,值越大,表明邻域相似度越高。在三维点云空间中,点对应像素点,曲率对应像素点的灰度,从而将Zncc 引入三维点对的邻域曲率相似度度量中。计算方法为:
上式中∑k()表示在qi1、qj2的邻域内求和,邻域内的k1均值,同理。接下来就可以用得到的匹配点对数组Q={(qi1,qi2)|qi1∈Q1,qi2∈Q2,i=1,…,n}进行接下来的初始配准了,本文将用这些点来训练初始坐标变换矩阵R 和t.,其中R 是旋转矩阵,t 是平移向量,根据最小二乘法思想,求出这两个参数的最优值,其最优值即时使下列误差函数最小的实值:
其中n 为匹配点对的个数,(qi1,qi2)为匹配点对数组中的元素,qi1、qi2分别为要进行拼接的两片点云Q1、Q2中的点。
将球形零件的其中两个侧面的扫描数据根据上述流程处理后得到了(R,T)的估计值(R*,t*),接下来对来自点云Q1的点qi1进行变换得到{q'i1|q'i1=R*qi1+t*,qi1∈Q1}。这样Q1的点就转移到了Q2所在坐标系,然后计算Q2上的点与q'i1的平均距离,一般采用欧氏距离,即
若d 小于设定的阈值,则停止迭代,(R*,t*)就是最终的变换矩阵,若d 大于阈值,按照ICP 算法的理念,则返回求匹配点集的步骤开头迭代。
如图1 所示为凸球软件重构曲面。点云中的离群点基本被消除,拟合曲面整体较为光滑,这正是双边滤波器的特点,通过双边滤波器处理的点云拟合出的曲面非常光滑,但在局部地区会出现过于光滑而失真的现象。针对本文中的虚拟装配问题,图1 中残余的部分噪点在可接受范围内,并不会对最终规划装配方案和检测装配干涉造成太大影响。经过基于ICP 算法的配准算法后,扫描得到的点云数据完全转化为统一坐标系下的点,统一后的坐标系原点和三维方向如图1 中坐标系图标所示。数据导入后即可建立曲面的三角网格曲面,针对由于数据残缺而出现的局部孔洞,可利用Geomagic Studio 软件自带算法进行残缺数据补全(拟合),得到较好的封闭曲面。之后需要对曲面进行网格划分与调整,当曲面片网格调整均匀后,通过构造“栅格”在每一片曲面内自动生成U 型、V 型控制线,最后软件就可以拟合出NURBS 曲面。
图1
利用Geomagic Studio 软件生成3D 立体干涉热度图和2D 截面干涉热度图对干涉部位进行诊断,如图2 和图3 所示。该二维截面是对凸球形零件与凹球形零件模拟装配后的整体,沿底面圆形某条直径截取得到的。热度图中颜色越深代表干涉越严重,颜色为绿色的部分代表误差在可以接受范围内,在实际装配中不会造成阻碍;红色和蓝色区域代表误差超过了可接受范围,在实际装配中会造成阻碍。
图2
图3
在零件的三维立体干涉热度图中随机选取8 个点,在二维截面干涉热度图中随机选取11 个点,表1 和表2 中详细列出了这些点的测试位置坐标、理论位置坐标和偏差大小。抽样点位置均已在图2 和图3 中标出。
表1
表2
三维立体干涉热度图中抽样偏差检测结果显示,最大偏差为0.3857,达到最大偏差的点的坐标为(-200.3072,-20.0288,-147.9383),理论上该点坐标应为(-200,-20,-147.707),次大的偏差为0.3223,该点坐标为(110.1415,-180.2323,-133.3841),理论上该点坐标应为(110,-180,-133.2112)。在图中找出这两点对应的位置,发现在这两个偏差较大的点附近的点的偏差也比较大,即高偏差点在模型里呈现出一定的聚集性。
二维立体干涉热度图中抽样偏差检测结果显示,最大偏差为0.3048,该点在二维平面上的坐标为(190.4097,-161.7203),其理论坐标为(190.1764,-161.524),位于截面右侧;次大偏差为0.2766,实际坐标为(-189.0985,-163.2408),理论坐标为(-188.8881,-163.0613)。同样的,二维热度图中高偏差点也在球体的两侧聚集,与三维热度图进行对比后发现二维热度图中的高偏差聚集点与三维图中的两处聚集点是基本重合的。
通过干涉热度图与抽样偏差检测相结合的研究方法发现了模拟装配模型中的两处干涉较为严重的区域,这两处区域分别以(-200.3072,-20.0288,-147.9383)和(110,-180,-133.2112)为中心,分布在半球体的两侧,在实际装配之前应着重检测这两篇区域,或排除误差,或进行调整。整体来说,干涉检测的结果显示,目前零件存在的干涉都在可接受范围内,可以顺利进行装配。
本文利用三维激光扫描仪获取了球形配套零件的实测点云,运用双边滤波算法对原始数据进行了降噪,得到了较光滑的数据,然后对数据进行了精简以便降低点云密度,提高后续点云配准和三维重构的速度和效率。之后进行了基于ICP 算法的点云数据配准,接下来运用RANSC 算法实现了原球形零件的曲面重构,最后在Geomagic Studio 软件中实现了曲面重构和虚拟装配,并进行了干涉检测,检测出了会出现干涉的具体部位。
本文提出的点云数据处理方案实现速度快,效率高,虚拟装配方案精度高、检测效果良好,能够检测出零件装配过程中将会出现干涉的部位,一定程度上提高了施工的精度与效率。当然,由于三维激光扫描仪价格昂贵,暂时不具备大规模推广的条件,且本文中的一些算法,如点云配准中用到的ICP 算法,只是较为经典的算法,并不一定适用于所有场景,针对不同类型的零件装配,需按实际情况调整算法。