基于点云的自由曲面自适应刀具轨迹规划策略
作者
Mandeep Dhanda1和S.S.Pande2
1 Indian Institute of Technology Bombay, India, mandeepdhanda25@gmail.com
2 Indian Institute of Technology Bombay, India, s.s.pande@iitb.ac.in
摘要
本文报告了一种有效的刀具路径规划策略的开发,该策略可直接从自由曲面的点云表示形式进行加工,而无需进行过渡曲面拟合。
针对球头铣刀三轴数控加工,设计并实现了一种基于网格的自适应平面加工策略。
均匀CL网格点的初始计算采用刀具逆偏移算法。估计可能产生的弦和扇形误差,迭代执行自适应网格细化,直到误差收敛到规定的公差限值以下。随后处理自适应网格(CL)点,以生成ISO格式的最终CNC零件程序。
关键字
点云,自适应刀具轨迹规划,三轴数控加工。
面对的问题
世界各地的研究人员正在尝试开发各种刀具路径规划策略,但是这些研究主要集中在以参数化或者基于网格(STL)格式表示的CAD模型。
近来,文献表明主要研究工作主要集中在从扫描数据点(点云)重建曲面,并且根据使用CAD模型规划刀具路径【14】。但是这一过程计算起来过于复杂,并且失去了准确性。因此需要基于点云来直接生成刀具轨迹规划,并且不需要对曲面进行重建,减少对工具的逆向工程。
国内外现状
基于网格的自适应刀具轨迹规划系统
系统具有数据预处理、刀具轨迹规划生成、后处理三个功能模块。系统从用户端获取四个输入:零件模型的点云数据、允许的弦长步长误差、允许的扇形高度和球头铣刀直径。它可以自动生成ISO格式的三轴数控机床。
数据预处理
系统的输入是零件模型点云数据(xyz坐标),这可能是来源于三维坐标测量机或者激光扫描仪。预处理器执行两项任务和(cl)网格点计算。
均匀网格生成
曲面模型的输入数据点投影到X-Y平面上。通过计算X-Y平面中投影坐标的范围(最小值、最大值),准备点的二维网格(网格)。考虑到正向和横向(侧台阶)方向为X和Y,根据刀具半径计算恒定网格尺寸gx和gy(图1)。试验了基于刀具半径(R)的各种网格间距(gx,gy)。为了测试网格大小(间距)的有效性,使用了工具阴影的概念。E投影刀具直径(圆)中存在多少网格单元。网格间距(gx,gy)在刀具路径规划中称为前进和侧步间距,对于确保加工过程的精度和效率至关重要[9]。前台阶距离控制前(X)方向的局部刨削,而侧台阶间隔距离控制横向(Y)方向的尖点(扇形)。
CL网格点计算
对于均匀网格,CL网格点(z值)使用反向刀具偏移算法(IOM)[9]。以每个网格(x,y)为中心,构造半径等于刀具半径(R)的圆并且在整个网格曲面上连续移动。通过位于圆CC-region (刀具范围)内的网格点,构建平行于刀轴线轴(z轴)的网格线。
刀具的中心位于CC-regien内点云的每一个点上。在工具圆中心选择的网格线与每个反向工具相交生成交点。最高交点(Z高度)被视为每条网格线的有效CL点,其他点被丢弃(图3a)。通过连续移动刀具阴影圆,在每个网格点重复相同的步骤。因此,点云被映射以生成有效的CL点(图3b)。该算法的主要优点是生成无凿痕的偏移点
刀具的路径定义为线性插值的光栅(之字形)平面路径的有效CL点序列。对于由此生成的初始网格的刀具轨迹进行分析,以确保可能的弦误差和扇形误差,并且对其进行自适应的优化和控制误差值,合理选择适合的刀具,生成均匀CL点轨迹。
刀具轨迹生成
Forward and Side Step方向的曲率计算
为了估计X-Z平面上的弦偏差(正向误差)和Y-Z平面上的尖点(扇形)高度(侧步误差),从最初生成的均匀CL网格点计算X和Y方向上的曲率(ρ1,ρ2)。在Matlab[12]中进行了正向和侧向台阶方向的曲率计算。该过程首先将多边形拟合到二维点集,然后使用每条直线/轮廓点的相邻点从多边形计算分析曲率。该算法已通过各种案例研究的分析曲率程序实现和验证。发现错误小于0。01%,因此,被选为该项工作。使用曲率值,计算因前台阶引起的弦偏差和因侧台阶引起的尖点高度。
正向误差和侧向误差的计算
弦误差的计算
当通过直线段连接相邻CL点来近似刀具路径时,轮廓误差是路径与相应CL曲线的偏差。这个误差定义为弦误差图5
顶端高度的计算
横向(侧台阶)方向(Y-Z平面)上连续刀具路径之间未加工的区域称为扇形或尖点,上限称为尖点高度(3.5).给定步长间隔距离(gy)和刀具半径R,尖头高度(3.6)
误差分析与网格分析
- 弦偏差和尖点高度使用等式进行估计。(3. 1-3. 6).
- if Error > 指定的的公差 ,than gx=gx/M,其中M=[1,….10]和gy=gy/N,其中N=[1,….10]
- 通过选择网格大小gx/2、gx/3……,执行分割……。分别在X方向和Y方向上的gx/M(M是一个整数,最大值为10),直到误差在规定公差范围内。将gx和gy值存储在与计算的M和N值相对应的新矩阵中。在分割过程中曲率半径和坡度角保持不变。
- 分段后,在正向存储gx[mxn]的新矩阵(gx_new2)
- 在每个连续的两个侧台阶(Y平面)之间取分段(网格点)的最大值后,存储gy[mxn]的新网格矩阵(gy_new2)。
- 这些新的网格矩阵gx和gy被输入到meshgrid,该meshgrid现在成为自适应meshgrid。
- 重复计算新CL点、刀具轨迹、误差计算和分析(步骤1-6)的整个过程,以生成自适应CL点,直到弦和扇形误差都在限制范围内。
自适应网格细化
在两个方向上确定所有栅格点线段后,将生成自适应栅格,如下所示。
- 首先存储前进方向的新栅格点。查找每两个连续侧台阶(Y)之间的线段(网格点)的最大值,并在Y方向上存储这些新网格点。
- 如图7所示,分别使用步骤1中X和Y方向上的分段数,生成X-Y平面中2D点的自适应网格
生成自适应CL点刀具轨迹生成
这样生成的自适应网格用于使用前面概述的IOM算法生成CL点(第3.1节)。对生成的自适应网格再进行一次迭代,以确保新的自适应CL点提供的刀具轨迹具有有限的估计误差。新的自适应CL点矩阵[mxn]将输入后处理器,以生成最终的CNC程序。图8显示了为基于点的自由曲面模型生成的典型自适应CL点
后处理
将最终生成的CL点连接起来,以创建用于刀具运动的连续之字形图案。在每个刀具路径(斜进/斜出)的起点和终点添加额外的点,以确保刀具顺利进入和退出工件。
实施和测试
该算法是在Windows平台上,使用Intel(R)Core(TM)i7-4790 CPU,3,在MATLAB R2014b中实现的。60GHz处理器和16GB RAM。该系统针对不同复杂度的各种零件模型进行了广泛测试。为了测试算法,通过从STL文件和复杂自由曲面的参数化曲面模型中提取点来创建模拟点数据集。研究了改变初始网格尺寸和点云密度对算法的影响。
网格尺寸变化的影响
网格大小是算法的一个重要的参数,它决定了数控程序的扇形高度、加工时间和内存消耗。为了测试系统,使用初始网格大小等于工具半径,将生成的结果和商业软件(Mastercam X5)进行比较。并且给出两个案例结果
案例研究
图9显示了部分点云模型c1 - 10201点(工作50 x50x10mm)大小,CL点生成的平面meshgrid网格大小等于半径®的工具。所有的案例研究,以下参数设置工具路径和数控程序的生成:允许向前一步错误:0.05毫米;允许扇贝高度:0.05mm;工具直径:6.35mm(0.2英寸);进料:127.28 mmmpm(5英寸/分钟);主轴转速:1591 rpm。用我们的系统生成的CNC程序在Vericut 8.0软件中进行仿真(图10),可视化和估计加工时间、扇贝高度等参数
表1显示了初始网格尺寸从粗(gx =gy =2R)到细(gx =gy =R/3)的变化对所有案例研究的代码长度(尺寸)和估计加工时间(路径长度)的影响,以及用Matercam获得的结果。由此可见,边阶是加工路径规划中的一个重要因素,它决定了加工时间。例如,在C1(表1)中,比较R/2 - (51x67)和R/3 - (51x84)的最终自适应网格尺寸,前向网格尺寸51保持不变,而侧步进网格尺寸67增加到84,从而增加了加工时间,从28:36分钟增加到(R/2)至35:31分钟(R/3)。这是因为每增加一行(Y侧步的网格点)都是一个新的刀具路径,这将增加加工时间。前向步进点的插入只控制了弦误差,对加工时间影响不大。然而,它增加了代码长度。
使用Bezier双三次曲面方程[18]来测试网格大小的最优性和算法的自适应性。
其中Bi,3 (u)和Bj,3 (v)是u和v参数方向上的Bernstein基函数。这个案例研究被设想为一个复杂轮廓(零件-100x100x80mm 1002001点)的耐力测试。图11为点云模型上生成的控制点和CL点。在生成刀具轨迹时,保持所有参数与案例C1相同。系统成功生成了具有3896条线的CNC程序。图12为Vericut模拟的加工表面。病例研究C2(表1)的结果趋势与病例研究C1相似。例如,比较最终网格尺寸2R - (30 × 100)和R - (34 × 108),可以看到加工时间从1:18:53min (2R)增加到1:27:56 min®。因此,边阶决定了加工时间。从案例研究(表1)可知,仅从加工时间考虑,网格尺寸[2R或R]可以选择为最优的起始网格,其值小于Mastercam.
点云密度的影响
为了研究点密度变化的影响,在MeshLab中简化CAD模型并提取点。表4显示了点密度对CNC程序质量的影响,即扇形超过公差的百分比、平均扇形高度和扩展。可以看出,降低点云密度,超过公差极限(50µm)的读数百分比最终会增加。
曲面的复杂性决定了将扇型控制在公差范围内所需的最小点数。对于案例1(表4),大约5000分似乎是最低要求,而对于案例2,大约10000分似乎是最低要求。将点密度增加到这些值之外不会改善零件质量并导致点冗余。稀疏点的效果似乎非常显著。由于目前大多数扫描仪都会产生密集的点云,因此我们的算法生成的CNC程序的质量在扇形控制方面不会受到点云的影响。
加工实验
图14(a)显示了成品金属部件。零件外观与设计的CAD模型(贝塞尔自由曲面)非常相似,具有良好的表面光洁度。精加工刀具轨迹(前进和侧台阶)具有细小的扇形和复杂的形状。在孟买IIT提供的非接触光学表面轮廓仪(Alicona-Infinitefocus G4)的帮助下,对机加工部件进行表面粗糙度(扇形高度)测量。图14(b)示出了Alicona图像部分之一的结果。分析了垂直于铺层方向的粗糙度测量值。结果表明,表面的Rz(峰谷高度粗糙度)值在20µm到46µm之间变化,并且在规定的公差限值(50µm)范围内。这表明所开发系统的适应性。
结论
本文提出的基于网格的自适应刀具路径规划策略不需要曲面重构,直接从点云生成高效的数控程序