一种面向叶片的机器人抛磨轨迹规划方法

2022-06-28 09:38杨胜强郝晓伟
机械设计与制造 2022年6期
关键词:面片交点切片

屈 展,刘 佳,杨胜强,郝晓伟

(1.太原理工大学机械与运载工程学院,山西 太原 030024;2.精密加工山西省重点实验室,山西 太原 030024)

1 引言

随着叶片类零件在工业中的需求不断增加,现有的加工方式难以满足其生产需求。工业机器人由于其多自由度且灵活多变的特点,逐渐被应用到叶片类零件的抛磨加工中。在机器人自动化抛磨叶片的过程中,抛磨轨迹的精度是影响叶片抛磨质量的重要因素。因此,高精度的抛磨轨迹至关重要。

传统的机器人抛磨运动轨迹是通过在线示教编程得到的,对于叶片类零件来说,这种方法生成轨迹难度大、耗时长且满足不了精度要求。目前大多采用离线编程的方式得到抛磨轨迹,通过处理CAD 模型生成抛磨轨迹,效率以及轨迹精度会大大提高[1-2]。文献[3]提出了一种基于包围盒思想的抛磨轨迹生成方法,采用包围盒思想,引入机床表面铣削行切法,根据待加工模具的基本轮廓形象生成轨迹。文献[4]通过基于CAD系统数据的自动规划和编程系统规划了机器人抛光路径。通过Roboguide软件在虚拟环境中对整个抛光系统实现在线控制。文献[5]提出了一种基于Hilbert曲线的路径生成算法,生成的路径可以从多个方向通过自由曲面上的点且覆盖密度是可调节的。文献[6]等借鉴铣削加工中刀轨生成方法,提出一种机器人抛光自由曲面的轨迹规划方法,利用等残留高度算法生成抛光轨迹。

以上文献中所采用的轨迹生成方法,均存在程序复杂,生成轨迹效率低的缺点。提出了一种机器人抛磨叶片的轨迹生成方法,采用基于三角网格模型的分层切片处理方法得到抛磨叶片的轨迹。并在传统的分层切片算法的基础上改进了交点追踪方式,使生成的轨迹更加完善,效果更好。三角网格模型方法因其快速灵活、拓扑适应能力强,而经常被使用。基于STL数据模型的快速切片[7-9]算法,广泛应用于复杂零件的快速成型系统。该算法亦可应用于工业机器人离线编程系统。

2 基于STL的分层切片算法

分层切片算法是采用一组平行平面,与工件的STL三维网格模型相交,根据分层平面与三角网格的相交情况,求取交点。根据三角网格间的邻接关系,将所求交点依次连线,得到一条封闭的轮廓环,即抛磨路径轨迹。轨迹生成原理,如图1所示。

图1 轨迹生成原理图Fig.1 Schematic of Trajectory Generation

2.1 三角网格模型的建立

通过UG12.0建立叶片三维模型,提取叶片的STL文件数据,由STL文件数据生成三角网格模型。叶片的三维数据模型和三角网格模型,如图2所示。

图2 叶片模型Fig.2 Leaf Model

STL文件为一系列无序的空间三角面片的点数据集合。在读取STL文件时,首先需要建立三角面片间的邻接关系,并去除冗余点,具体的数据结构采用三角形网格邻接表的形式。

三角形面片邻接表主要记录三角形号码、毗邻边以及网格间的毗邻关系。每个三角形面片都会相邻有三个三角形面片,每一条边都是由两个三角形共享,称为邻接网格。找出文件中共享同一边的每对邻接网格,这样就能建立邻接表了。邻接网格,如图3所示。三角形网格邻接表,如表1所示。

图3 网格1、2的邻接网格Fig.3 Adjacent Grids of Grids 1,2

表1 三角形网格邻接表Tab.1 Triangle Mesh Adjacency List

2.2 分层平面与三角网格相交的判别与交点计算

按曲率变化方向对三角网格模型进行切片处理,如图4 所示。用一系列平行的分层平面与三角网格相交(分层平面的分层方向沿垂直于叶片型面曲率变化大的方向),并进行求交计算。将分层平面与该层所有网格棱边的交点进行连线,得到截面轮廓线,所有轮廓线构成的封闭图形的集合,为抛磨叶片的轨迹。

图4 一组平行平面与叶片三角网格模型相交Fig.4 A Set of Parallel Planes Intersect with the TriangularMesh Model of the Blade

由于分层平面不能同时与一个三角面片的三条棱边都相交,需要对三条棱边中与该平面相交的两条边进行判别,如图5所示。分层平面Z=mi与三角面(Z1,Z2,Z3)相交。

图5 三角面片与分层平面相交的判别Fig.5 Discrimination of Intersection of Triangular Patch and Layered Plane

若mi≥mid(Z1,Z2,Z3),则与max(Z1,Z2,Z3)点连接的两条棱边与该平面相交;若mi≤mid(Z1,Z2,Z3),则与min(Z1,Z2,Z3)点连接的两条棱边与该平面相交。

其中max(Z1,Z2,Z3),mid(Z1,Z2,Z3),min(Z1,Z2,Z3)为三角面片三个顶点Z1,Z2,Z3的最大值、中间值与最小值。若分层平面与三角面片棱边Z1,Z2相交,设Z1,Z2的坐标分别为(x1,y1,z1),(x2,y2,z2),则交点坐标可由直线方程确定。

求得分层平面与棱边的交点坐标为:

同理,求出所有的相交点。

2.3 分层切片算法求加工轨迹

分层切片算法实际上是采用一组平行平面,与工件的STL三维网格模型相交,根据平行平面与三角面片的相交情况求取交点,然后根据三角面片间的邻接关系,将交点连线,得到一条封闭的轮廓环,即抛磨路径轨迹。

对叶片工件进行分层切片处理,需要确定分层的方向以及分层的间距△Z,然后以一系列间距为△Z的分层平面与三角面片相交并求取交点。分层方向沿垂直于叶片曲率变化大的方向,分层间距要小于三角叶片沿分层方向最大坐标值与最小坐标值的差值的最小值。假设三角面片沿分层方向的最大和最小坐标值分别为Zmax和Zmin。则分层厚度△Z<min(Zmax-Zmin)。

每个分层平面与三角面片相交得到交点的集合,即{p1,p2,p3,…,pm,pn}。分层平面与同一个三角面片相交,一般情况下会有两个交点(分层平面与三角面片的一个顶点相交时只有一个交点)点pm和pn。在求交过程中,对于一个分层平面Zi,首先计算第一个与该平面相交的三角面片,求出交点坐标。然后根据三角网格的邻接关系找出相邻的三角面片,沿垂直于分层方向正向追踪交点(分层方向为Z向,垂直分层方向的正向为X正向),并将交点连线。访问过的三角网格,通过标志label=1识别。直至搜索完所有的交点并连成线,形成一条封闭的轮廓环。得到这条轨迹后,标志重新改为label=0。如交点为三角面片的顶点,则按照点表搜索该顶点的三角网格邻域,找到其他的交点并连线。然后将新找到的有交点的三角面片作为下一个起始的三角面片,按照前面的方法重新追踪。

假如三角面片分布,如图6所示。

图6 分层平面与三角面片相交的轮廓线示意图Fig.6 Schematic Drawing of the Contour Line Where the Layered Plane Intersects the Triangle

计算过程首先根据三角面片数据文件的点拓扑邻接关系计算与分层平面关联的三角面片fk,然后通过对应三角形的顶点v1,v2,v3确定交线方程。得到交点集合{p1,p2,p3,…,pn-1,pn}。假如计算的第一个与分层平面相交的三角面片为fk。交点为p1和p2。沿垂直于分层方向正向追踪交点并连线。假如三角面片分布,如图7所示。

图7 分层平面与三角面片顶点相交的轮廓线示意图Fig.7 Schematic Drawing of the Contour Line Where the Layered Plane Intersects the Vertices of the Triangle

当前被处理的三角面片为fi,交点与三角面片的顶点重合,按照前面的方法找不到下一个待访问的毗邻三角形,此时交点为p4。通过点表,找到以v3为顶点的所有三角形面片,在这些三角形面片构成的邻域内,除了正在处理的三角形面片fi上的两个交点p3和p4外,只剩下一个交点p5,将p4和p5连线。并将三角面片fj作为起始三角面片,依次向后追踪连线。

综上所述,该切片求交算法求加工轨迹的完整流程图,如图8所示。

图8 切片求交算法求加工轨迹流程图Fig.8 Flowchart Flow Chart of Slice Intersection Algorith

3 机器人抛磨运动

3.1 机器人抛磨姿态的确定

在叶片的抛磨加工过程中,保证抛磨轮在抛磨点处始终与叶片型面保持最大接触能够有效的提高抛磨效果。当抛磨轮支撑轴方向沿接触点的法向量方向,轴向沿最小主曲率方向,即抛磨轮轴向沿着与叶片工件最贴合方向,可实现工具与叶片工件的最大接触[10]。叶片型面的主曲率与主方向可以做如下推导。叶片的STL文件中任一顶点vi的三角网格模型,如图9所示。

图9 叶片的STL文件中任一顶点vi的三角网格模型Fig.9 Triangular Mesh Model of any Vertex vi in the STL File of the Blade

三角面片fk的法矢Nfk的计算公式:

式中:ei—由顶点vi指向顶点vj的边矢量;ei+1—由顶点vj+1指向顶点vi的边矢量;顶点vi的法矢Nvi的计算公式:

式中:Ak—三角片fk的面积;rk—三角片fk在顶点vi处的内角。

对于当前点vi每个1-环邻点vj,定义单位向量Tij是向量vj-vi在切平面‹Nvi›⊥上的投影:

则,

是vi点处沿Tij的方向曲率。

除法向量Nvi为该矩阵特征值为0的特征向量外,另两个特征向量T1,T2为主方向,特征值不是主曲率。主曲率为该矩阵的非零特征值函数。

主曲率方向抛磨姿态,如图10所示。抛磨轮与叶片接触于O点,调整抛磨轮以该姿态与叶片工件接触,即抛磨轮支撑轴方向Zo沿O点的法向量方向,轴向方向Yo与T2平行,Xo与T1重合。

图10 主曲率方向抛磨姿态图Fig.10 Grinding Attitude Diagram of Principal Curvature Direction

3.2 抛磨机器人运动学逆解

机器人按轨迹抛磨,需知道机器人末端位姿以及各关节运动转角。这就涉及到了机器人运动学正逆向求解的问题。建立机器人坐标系,通过建立机器人各个关节运动变换矩阵便可以实现正运动学位置和逆运动学求解计算,进而对机器人运动和姿态进行控制。 在机器人各关节建立的笛卡尔空间坐标系,如图11所示。

图11 机器人各关节坐标系Fig.11 Coordinate System of Each Joint of the Robot

机器人在笛卡尔空间坐标系中末端位姿信息可通过机器人运动学方程表示:

当已知机器人末端连杆位姿时,通过运动学逆向求解,得到各关节转动的角度值,进而控制机器人末端到达指定位置和姿态。若末端连杆位姿已经给定,即n,o,a和p为已知,则求关节变量θ1,θ2,θ3的值称为运动逆解。计算方法就是用转换矩阵的逆矩阵左乘机器人运动学方程两边,根据矩阵元素对应相等,把关节变量分离出来,从而求解。

求得各关节角的值如下:

由以上求得的各关节角可知,对于机器人在同一个位姿处时,所求关节角会有多组解,并不是所有的解都能满足机器人连续抛磨运动的条件,因此,需要在满足机器人各关节在允许的运动范围内,以各关节转过的最小角度为标准,求出最优解。

4 机器人MATLAB运动仿真

为验证所给参数的正确性,并得到机器人运动过程中各关节的运动位移,运动速度以及运动加速度,保证机器人运动平稳性,现基于Matlab Robotic Toolbox对机器人进行关节空间轨迹仿真。建立的机器人仿真模型,如图12所示。

机器人在2s时间内,关节1到关节6的运动位移、运动速度、运动加速度变化图,如图13所示。

由图13(a)中可以看出,关节1、3、4、6位移从零逐渐向正向变化,关节2、5位移从零逐渐向负向变化;由图13(b)可以看出,关节1、3、4、6的运动速度是先增大后减小,关节2、5与之相反;由图13(c)可以看出,各关节初、末加速度均为零,运动中出现两次极值,且为一正一负。

图13 各关节在2s内的运动变化Fig.13 Movement Changes of Each Joint in 2s

从图中可以看出,该机器人的位移曲线平滑,速度和加速度曲线连续,说明在此工作过程中机器人运动比较平稳,无干涉现象发生,验证了参数的准确性。

5 实验验证

为了验证此抛磨轨迹规划方法的有效性,对叶片进行抛磨试验。由于叶片型面最大主曲率为0.0726,选择抛磨轮半径为10mm,抛磨轮转速为1500r/min,机器人抛磨进给速度为低速,抛磨深度为0.5mm,采用基于STL分层切片算法生成轨迹,切片分层厚度为2mm,所对应的抛磨轨迹图,如图14所示。

图14 基于STL切片算法的抛磨轨迹图Fig.14 Grinding Trajectory Map Based on STL Slice Algorithm

抛磨前后分别选取叶片表面12个点,使用粗糙度仪分别进行粗糙度(Ra)检测。抛磨叶片效果,如图15所示。

图15 叶片抛磨效果对比图Fig.15 Comparison of Blade Grinding Effect

其中图15(a)为抛磨前,平均粗糙度为2.017μm;图15(b)为抛磨后,平均粗糙度为0.936μm;结果表明采用STL 分层切片算法生成抛磨轨迹。

6 结论

(1)采用基于三角网格模型的分层切片处理方法得到叶片抛磨的轨迹。通过CAD/CAM技术建立叶片的三维模型,生成叶片的STL三角网格模型。

对该模型进行分层切片处理,根据三角面片沿分层方向的最大和最小坐标值,确定分层厚度。推导分层平面与三角面片相交判别以及交点计算公式,将所求交点依次连线,最后得到抛磨运动轨迹。

(2)对机器人末端进行姿态的调整,保证抛磨轮在抛磨点处始终与叶片型面保持最大接触。对机器人抛磨叶片进行了运动学逆向求解,确定了机器人各关节转动角度,保证了机器人抛磨运动的准确性。

基于Matlab Robotic Toolbox对机器人进行关节空间轨迹仿真,可以看出机器人运动平稳,无干涉现象发生。按此抛磨轨迹进行实验,抛磨效果明显,表明了此轨迹规划方法的可行性。

猜你喜欢
面片交点切片
三维模型有向三角面片链码压缩方法
新局势下5G网络切片技术的强化思考
5G网络切片技术增强研究
初次来压期间不同顶板对工作面片帮影响研究
网络切片标准分析与发展现状
阅读理解
浅析5G网络切片安全
借助函数图像讨论含参数方程解的情况
试析高中数学中椭圆与双曲线交点的问题
甜面片里的人生