周 康,游有鹏
(南京航空航天大学机电学院,南京 210016 )
钣金折弯是一种典型的金属薄板冷加工工艺,广泛应用在汽车工业、造船、航空等领域[1]。传统的钣金加工依靠人工进行工艺分析,制定折弯工序,对工艺人员经验要求高,特别是面对结构复杂的钣金件,折弯干涉计算难度大,往往需要通过试折检查干涉情况,重新制定加工工序,效率很低。因此,钣金折弯仿真与自动编程软件应运而生并得到快速发展,如以色列的Metalix公司研发了三维钣金折弯软件Mbend,能够实现钣金件的多种模型导入、工艺分析并配置模具,计算工序规划等功能,但其面对较为复杂的钣金工件,计算过程较慢;英国Planit公司也推出了专用的三维钣金折弯编程软件Radan,可满足各种典型钣金折弯的模具配置、工序规划与参数计算,但价格昂贵[2];国际著名的折弯控制系统供应商Delem公司在其控制系统中也提供了二维钣金折弯工序系统。在国内,华中科技大学与黄石锻压机床股份有限公司早在上世纪九十年代就开始了钣金折弯工艺规划系统相关技术的研究[3];周强等开展了二维钣金折弯的计算机工艺规划软件的研发[4]。本课题组于2010年就开展了包含二维折弯仿真编程的折弯机控制系统的研究[5],并开展了基于三维CAD模型的三维折弯仿真与自动编程技术研究,取得阶段性成果[6]。由此可见,国外已经研发推出了成熟的三维工序规划编程系统;相比之下国内折弯编程系统仍以二维为主,三维编程研究仍处于起步阶段。
相对二维折弯编程,三维钣金折弯往往涉及多套模具协同加工,工序规划更加灵活,干涉计算更加复杂,生成无干涉的可行折弯工序或最优折弯工序的难度更大。其中,三维环境下的钣金折弯干涉的快速而准确检测是开展三维钣金折弯工序规划的必要前提。目前,关于钣金折弯过程中的干涉检测研究主要以二维为主,如王飞等的几何算法干涉检测[5],柳守宽等基于反转法分析二维钣金加工干涉情况[7]。而面对更加复杂的三维工件和多套模具及机床、机器人夹具等之间干涉检测研究未见报道。
本文针对目前国内快速发展的机器人钣金折弯的应用需求[8],面向复杂三维钣金折弯的工序规划,开展三维环境下的钣金折弯过程中三维工件与多套模具及机床、机器人夹具等加工环境之间的干涉检测算法研究,通过分析钣金折弯件及其加工环境的三维模型具体特点,提出一种兼具快速性和准确性的干涉检测算法,为三维折弯自动编程的工序规划与加工仿真奠定基础。
三维环境下的干涉检测是个较为复杂的问题,常用空间中的线面相交做干涉检测,如SolidWorks提供的碰撞检测接口,但这种干涉算法计算复杂、速度较慢,难以满足钣金折弯工序规划中大量频繁的三维干涉检测需求。为此,本文将包围盒与投影相结合,先通过包围盒干涉检测,快速判断有无钣金块与加工环境发生干涉;当检测到可能发生干涉的钣金块后,再使用高精度的几何算法,计算干涉位置和干涉深度,为后续操作提供依据。检测方案的流程如图1所示。
图1 三维碰撞检测流程
折弯加工环境模型,包括模具、夹具、折弯机滑块等部件包围盒的构建以各部件的三维CAD模型为依据,提取出其三维轮廓顶点,并构建其整体最小包围盒,以提高快速干涉检测的有效性。
包围盒通常有包围球、AABB、OBB等多种类型,如图2所示。包围球构建方便,相交检测简单,但包覆性较差,碰撞筛选效率低。AABB包围盒的建立与相交检测也相对简单,但更适合空间中不发生旋转的物体。OBB包围盒类似于AABB也是一个长方体,但它具有一套自身的坐标系,在空间中可以任意旋转,不会对包围盒的紧密性产生影响,非常适用于经常需要旋转的图元。折弯过程中,钣金件的各板块会以折弯为中心发生旋转,因此本文选择方向包围盒(OBB)作为三维钣金折弯件及其加工环境的快速干涉检测包围盒。
图2 包围盒方案对比图
OBB包围盒的表示形式有多种,本文采用中心点、自身坐标系、三个半边长的表示形式。构建该形式的最小包围盒,可使用Gottschalk等提出的基于模型顶点坐标构建方法[9],基本步骤包括:计算当前模型所有顶点的坐标平均值,使用平均值和顶点构建出协方差矩阵,利用雅克比迭代法计算协方差矩阵的特征向量[10]。特征向量即是最小包围盒自身的坐标轴,再将顶点坐标变换到最小包围盒坐标系下,计算最小包围盒的中心点和三个半边长。
依据上述方法,可方便构造出折弯机床工作区、上/下模具、夹具等折弯加工区待检测部件的整体最小包围盒,其中上模、机器人吸盘抓手的最小包围盒的生成结果如图3所示。
(a) 模具包围盒 (b) 夹持器包围盒
与加工环境部件不同,钣金件的各个板块在加工过程中以折弯边为中心旋转,因此上述的整体包围盒并不适用于钣金件,更适合采用分割法。但单纯的分割方法会使整个钣金块变得分散,丢失钣金块与钣金块之间的相关信息,不利于后续相交测试结果与钣金件信息相关联。因此结合钣金件的特殊情况,本文将采用以折弯边为中心,对折弯边两侧的钣金块分别生成最小包围盒,再以折弯边为核心将两边的包围盒串成一个双向链式结构,以方便后续相交的检测分析。如图4a所示,其中圆节点代表折弯边,方块代表与对应折弯相连接的钣金块。图4b、图4c分别为对应的钣金件及包围盒。
(a) 钣金包围盒双向链式结构
OBB包围盒的相交测试相对于球形和AABB包围盒更复杂。本文采用基于分离轴测试的检测方法[11],并结合钣金工艺的特殊性加以简化,以提高测试效率。
分离轴测试是一种十分有效的包围盒相交测试工具,基本原理源于凸体分析(分离超平面定理[12])。该理论证明,给定两个凸体A和B,若两个凸体不相交,则必然存在一个分离超平面,使得A和B分别位于其两侧。
利用分离轴方法进行相交检测具体做法以二维平面举例,判断这两个包围盒是否存在分离轴,需分别在两个包围盒的两个平行边方向投影,如图5所示。分离轴可通过式(1)判断:
图5 二维包围盒相交测试
|T·L|>RA+RB
(1)
式中,T表示两个OBB包围盒中心点中间的距离,|T·L|代表T在分离轴L上的投影,RA和RB分别是A包围盒与B包围盒的半边长在分离轴L上的投影长度之和。若式(1)成立,则L即为分离轴,即存在与分离轴相垂直的分离超平面将包围盒A与B分隔开,即A与B不相交。
三维环境下相交的情况比二维更加复杂。一般的空间相交检测,两个凸体必须在以下三种情况下进行投影,才能判断这两个包围盒是否存在相交的部分:
(1)包围盒A自身的3个坐标轴;
(2)包围盒B自身的3个坐标轴;
(3)包围盒A与包围盒B的轴分别再做叉积生成的9个轴。
鉴于钣金折弯工艺的特殊性,大多数钣金工件都是规则图形且折弯过程中钣金块的运动都与机床的X轴平行或垂直,如图6所示。
图6 钣金三维加工环境图
因此,针对钣金折弯加工环境OBB包围盒的相交测试,只需要在条件(1)和(2)的6个轴上进行投影判断,只要任意一根轴上不相交就足以判断这两个包围盒是不相交的,如式(1)所示:
RA=project(L,Ax)+project(L,Ay)+project(L,Az)
(2)
RB=project(L,Bx)+project(L,By)+project(L,Bz)
(3)
式(2)与式(3)中,L表示分离轴,Ax、Ay、Az分别表示A包围盒自身坐标系下X、Y、Z轴方向的半边长,project(L,Ax)、project(L,Ay)、project(L,Az)表示Ax、Ay、Az在分离轴L上的投影,RA即为投影长度之和。同样RB表示B包围盒的半边长在分离轴上的投影和。
为实现钣金折弯过程与加工环境的快速干涉检测,对每一步折弯将钣金的所有板块分别与加工环境包围盒进行相交检测。若包围盒相交,它们对应的钣金块与加工环境模块之间可能存在干涉。
通过包围盒相交测试,可快速筛选出存在疑似干涉的钣金块与加工环境模块,但它们是否确实存在干涉以及干涉的准确位置与深度还需进一步依靠其三维模型进行精准的相交检测。
鉴于折弯模具、抓手等加工环境模型往往存在部分空间柱面或圆柱面,直接在三维空间中计算准确的干涉位置与干涉深度,难度较大且效率较低。本文通过分析折弯件及其加工环境三维模型与折弯运动的具体特点,提出通过将三维模型投影降维快速计算准确干涉信息的方法。即分别将包围盒检测出的疑似干涉钣金块和加工环境部件模型,向机床坐标系X-Y平面和Y-Z平面投影,并对投影后平面图形做二维相交性检测,即可分别计算出它们是否确实存在干涉。若模型在两方向的投影都相交,则它们之间存在干涉,并进一步计算其准确的干涉位置及干涉深度,如图7所示。这种将三维模型投影降维后做二维相交性检测的方法,不仅计算精度高,复杂度低,而且检测速度快。
图7 将可能干涉钣金块与加工环境投影
利用简单的平面线段相交计算方法,判断线段是否相交,如图8所示。若图中的线段相交,则求出交点。
图8 线段相交判断
首先写出两线段的参数表达式:
LAB=A+t(B-A)
LCD=C+u(D-C)
(4)
如果两直线相交,则两直线在交点处相等。
[A+t(B-A)]=[C+u(D-C)]
(5)
整理可得两直线在交点处的参数:
(6)
若交点参数满足不等式(7),两线段存在交点。反之则线段不相交。
(7)
若存在交点,将交点参数代入直线方程即可计算出交点,结合钣金块在工件链上的位置与当前折弯号,即可知钣金件的干涉位置与干涉深度。
当加工模具带有圆弧面时,需进行线段与圆弧的相交测试,但由于篇幅限制,此处不再展开叙述。
综上可知,可整理出钣金折弯三维仿真干涉检测流程,如图9所示。
图9 钣金折弯三维仿真干涉检测流程图
以实际的钣金折弯件为例,验证该检测方法的可行性。工件折弯宽度为1000 mm,折弯半径为2 mm,钣金厚度为1 mm,将其导入三维仿真折弯环境,并进行仿真加工,如图10所示。
图10 三维折弯仿真加工环境
从图10中可以看出当前折弯与模具存在一定程度的干涉。以折弯机下夹具上平面的中心为原点,通过钣金折弯三维仿真的干涉检测方法,可以检测出二维干涉位置坐标为(-0.06,95.03),结合线段表达式,即可计算出钣金的干涉深度为17.42 mm。
本文针对三维钣金折弯的工序规划与自动编程需求,提出一种将包围盒快速检测与几何法准确检测相结合的钣金折弯三维仿真干涉检测方案:首先分别建立折弯件和模具、夹具、机器人抓手等折弯环境的OBB最小包围盒,结合钣金折弯加工环境特点,简化空间包围盒的相交算法,实现钣金加工过程中干涉钣金块的快速筛选;将筛选出的可能干涉的钣金块与加工环境进行投影,应用二维几何算法快速计算出准确的干涉位置与干涉深度,并结合实际钣金折弯件验证了方法的可行性,为后续工序规划奠定了基础。