基于点云的球铣加工动态仿真
2022-07-23张晴宇章义来
张晴宇,章义来,李 超,聂 宇
(景德镇陶瓷大学信息工程学院,景德镇 333403)
0 引言
加工仿真技术的基本原理是模拟数控加工环境建立计算机仿真模型,在该模型下运行加工程序以检验产品是否正确合格。在进行切削仿真时,对坯件建模的常用方式有表面网格法和体素填充。体素是描述三维物体的最小单元,每个体素都可设置位置、质量、颜色等属性,加工仿真研究中常用点云形式、八叉树结构等表示及处理体素模型,有利于快速进行质量体积等几何运算。刀具经过工件体素模型时,进行碰撞检测、反馈力计算等,进而删除刀具与工件干涉的点,模拟切削加工过程,在精度要求较高时需要消耗大量的计算机内存。表面网格模型是使用计算机对工件进行CAD建模时的常用保存方式,由顶点和顶点间线段近似表示工件表面,存储数据量小,常用于应力分析、虚拟装配等,缺点是能表示的表面质量较低,易产生扁平单元,降低稳定性。
本文将坯件表面采样为点云模型、球头铣刀简化为球面,对切削加工过程进行仿真,建立加工过程中的坯件-刀具的动态模型并将其可视化,有以下改进创新:
(1)仅对坯件表面进行点采样,相比填充体素节省内存及减少计算量;
(2)引入法线计算新形成的表面,同时提高计算效率和计算精度;
(3)使用Python语言,Open3D库实现了动态仿真,方法不依赖特定软件平台。
1 相关研究
点云用于描述三维空间物体表面信息,每个点都包含三维坐标,也可能包含深度、密度、颜色信息等,相比于二维图像数据,特征准确,更接近人类的视觉,更容易理解三维场景,但存在无序性、密度不一致、信息不完整等特点,对点云数据处理比较复杂和困难。三维点云采集技术日渐成熟,利用先进设备可以在短时间内采集物理表面海量点云数据,受技术、环实物本身等因素影响,采集到的点云模型会有孔洞、噪点、密度不均等现象,因此产生点云孔洞修补、滤波、压缩等技术研究热点。点云逆向工程是将测量得到的点云数据进行预处理、重构以及检测来生成原产品的CAD模型,能够缩短产品设计周期、保持原有产品的成熟传承特性,广泛应用于产品的改型设计、艺术品和文物等的仿制修复和工业地理信息测量等领域。
现有加工制造仿真研究多注重于有限元分析、表面形貌仿真,得益于高性能计算机技术和软件技术的发展,为研究切屑形成机理、切削力和加工表面微组织演变提供了支持。文献[17]研究加工尺度上的仿真算法,提高仿真效率;Altintas等提出任意立铣刀或插刀几何的通用建模方法,并设计虚拟铣削仿真系统,以改进工业中的刀具设计或工艺规划。
2 球铣仿真模型
铣削加工形式多样,一般由数控装置、伺服装置、机床主体等组成,工件由夹具固定,与固定在刀柄上的刀具相对运动。机械臂具有灵活性高、占用空间小、可协同加工等特点,普遍应用于现代化生产。本研究中仅取工件与刀具的模型,将坯件表面点采样为点云模型,控制其在相应加工坐标系中运动,模拟加工时的位置变化。铣刀在加工过程中高速旋转,其切削刃近似为球面,当坯件模型上的点在铣刀球面内时,即认为该位置被铣削。
2.1 坯件点云采样
工件的建模常用格式为网格模型,通过对网格进行细化再进行点采样,转化为点云模型。本文在采样之前,根据精度要求对网格进行中点细分,得到三角形网格的网格模型。中点细分即通过计算三角形每条边的中点,将其分为四个较小的三角形,细分之后计算网格顶点的法线。将所有网格顶点作为点云模型的点,同时保留其对应法线,得到包含法线的坯件表面点云模型。
2.2 球头铣刀模型
一般精加工时,球头铣刀只有底部参与切削,底刃在高速旋转过程中,可以近似为半球面。如图1所示,将两刃的6 mm球头铣刀建模为一个半径为3 mm的半球,在每个仿真步进后距离球心小于半径的点将被切削,同时铣刀球面上生成新的',即将点云模型中点重置为'位置,同时'的法线设置为指向铣刀球面球心。
图1 球头铣刀模型
2.3 坯件表面点的移动
由于坯件是表面点云模型,被铣削时可以近似看作是一个被“挤压”的过程,如图2所示,在一个最小仿真计算步骤中,铣刀移动Δ,球心移动到,坯件表面将被“挤压”向铣刀移动方向缩进Δ深度。联系实际铣削时新表面的形成过程并且不考虑侧滑、切削瘤等因素,“挤压”坯件表面,点在其法线与Δ所在平面内,随铣刀球面向外侧和其法线负方向移动。
图2 坯件“挤压”过程
如图2所示,在状态0时,点在铣刀球面外侧;在状态0和下一个状态1之间,点被“挤压”到'附近,'为铣刀球面上距较近的一点。
由于每一步的仿真间隔Δ小于精度要求,单个仿真步时,置点于'附近若干个Δ距离内位置都不会影响单次仿真结果。但连续步进时,会造成误差积累。在铣刀内取点法线和Δ所在平面,点被“挤压”时,仅此平面内“滑动”。如图3(a)所示,在平面内,为点法线,被“挤压”时,点沿法线方向移动到球面上'点上。由于一个仿真步进内点移动距离不应超过Δ,当'长度大于Δ时,在负方向上取″,″长度等于Δ,'为″方向上与球面的交点,如图3(b)所示。
图3 点沿法线负方向移动
按照上述方法铣削边界位置时,点的法线方向与被“挤压”移动方向相同,点将被“挤压”到边界之外,产生“外偏”情况,不符合铣削实际,如图4所示。因此做以下处理,查找点附近Δ长度距离内所有点,若存在一点,使得'与的法线方向相同,则点被“铣削”,从表面点云模型中删除。
图4 点“外偏”情况
3 动态仿真过程
Open3D是一个用于处理3D数据的开源库,可以快速进行点云表面重建、曲面对齐等操作,支持C++及Python语言,本文使用Open3D的点云类表示坯件模型,使用其KDTreeFlann方法查找判断坯件模型上的点是否在铣刀球面内,用其visualization模块进行动态可视化。
3.1 场景模型
本文将铣削模型简化在一个固定的坐标系中,保留坯件的点云模型和铣刀的近似球面网格模型,铣刀球面是有方向的。导入CAD模型发现,Open3D默认单位长度为1 mm。导入坯件点云模型和铣刀球面到Open3D场景中,其中球头铣刀的半径为3 mm,坯件尺寸为30 mm×50 mm×10 mm。坯件是网格模型经过7次中点划分之后,取所有顶点得到约有98000个点的点云模型。
3.2 铣削过程设计
在坯件上沿轴和轴各走刀一次,铣削半径3 mm、深度1 mm的弧形槽,其中轴走刀长度为40 mm、轴走刀长度60 mm,单次仿真步进Δ长度为0.2 mm。根据刀具半径、仿真步进和坯件点云密度,测试发现取图4中'与的法线余弦值大于0.1作为方向相同判断依据时,在点不发生“外偏”的情况下被删除的点较少,得到更高的精度。
3.3 结果分析
在坯件上两次走刀后,得到图5所示的点云模型,弧槽的走刀起始位置和结束位置没有点发生外偏,两次走刀的相交区域没有错位点产生,符合铣削实际。分离出坯件上被铣削到的弧槽面上点云a(图6a),并将cad建模得到的网格模型中弧槽部分进行表面采样得到点云b(图6b)。计算得到点云a与点云b之间的最大距离为0.32 mm,均方根误差为0.015,仿真精度较高。
图5 坯件仿真结果
图6 仿真点云与CAD建模点云
4结语
本文建立的仿真模型动态地模拟了工件表面球铣时的变化过程,每次步进都产生准确结果,模型可视化且精度高。下一步工作将在此模型的基础上,研究使用深度学习方法进行复杂工件的铣削工艺设计。