1. 引言
通过构建高保真的虚拟仿真实训系统,既能突破时空限制,又能确保教学安全,已成为机械专业教学改革的重要方向。近年来,虚拟仿真技术在机械实训教学中的应用已取得一系列积极进展,雷文等人[1]开发了集成虚拟农场漫游、农机设备交互式拆装、工作原理动态演示及维修保养模拟的仿真教学系统,提升了教学直观性与操作实践性;王灵利等人[2]以西北工业大学“VR虚拟装配综合实训课程”为例,通过教学流程设计和效果分析验证了VR技术在提升教学质量、降低操作风险及促进学生创新能力培养方面的应用价值;张博凯[3]基于Unity3D和VR技术,开发了包含场景漫游、设备认知、理论知识及操作模拟四大模块的虚拟仿真实训系统,实现了车床运动和切削仿真,有效提升了机加工学习的沉浸感与安全性;王进峰等人[4]设计并实现了一套数控机床数字孪生系统,该系统集成了车间漫游、数据可视化、切削仿真、碰撞预警及数据查询等功能,为数控机床虚实交互与操作培训提供了集成化解决方案。
作为机床切削几何仿真的核心,材料去除算法一直是学术界和工业界的研究热点,三角网格模型在诸多算法中因其良好的通用性而广受青睐。罗堃[5]通过将毛坯上表面离散成均匀点阵并连接成三角片矩阵来简化模型,在仿真过程中,刀具路径被用来动态修改点阵的高度值,从而实现材料切削的模拟;吴悦明等人[6]针对虚拟数控仿真系统中复杂工件模型的实时切削处理问题,提出一种基于包围盒和空间分割的切削算法,通过动态局部化处理,改善了复杂几何模型下的实时交互能力;与Z-MAP法[7] [8]类似,这种对工件网格进行特定方向上的细分方法通过降维简化来满足特定机床的加工需求,但无法处理如垂直侧壁、内部空腔这类复杂的几何形状。
针对机床切削几何仿真,本文基于此类特定方向网格细分的算法思路,提出基于八叉树的自适应网格细分算法以实现任意方向的材料去除仿真,并在此算法的基础上,选取CA6140型卧式车床,借助Unity引擎开发了一套集材料去除仿真、运动逻辑仿真和装配训练于一体的虚拟加工实训系统,实现了车床加工全流程的沉浸式模拟。本研究为机械加工虚拟实训教学提供了切实可行的技术方案,对提升学生实践能力、缓解高校实训设备压力具有重要的现实意义。
2. 仿真训练系统总体设计
本文仿真实训系统总体设计方案立足于车床加工教学的实际需求,系统用例图如图1(a)所示,基本用例包括车床加工仿真和车床装配仿真。系统采用模块化设计思想,构建了集场景漫游、加工过程动态展示、部件拆装仿真、人机交互操作于一体的虚拟车床仿真实训平台,其功能模块图如图1(b)所示,主要包括工件材料去除仿真、运动逻辑与装配仿真、系统UI与交互三个模块。
Figure 1. Overall design of the simulation system
图1. 仿真系统总体设计
3. 仿真训练系统关键技术
虚拟加工仿真实训系统的关键工作包括材料去除仿真算法、车床运动逻辑与拆装仿真及系统UI与交互设计,本研究对上述关键技术在系统中的实现进行阐述。
3.1. 材料去除仿真算法
在大多特定方向上的网格细分思路[5]-[8]中,细分圆柱棒料的思路如图2所示,当网格划分足够密集时,端面就会由多边形变为光滑的圆端面,圆柱侧面也可模拟出光滑的加工痕迹,侧面细分800份、端面细分400份的外圆车削加工模拟如图3所示;立方体工件的细分思路如图4所示,将工件上表面细分为16 × 16时,网格图如图4(a)所示,当上表面细分为400 × 400时,铣削加工模拟如图4(b)所示。
(a) 侧面细分 (b) 端面细分
Figure 2. Principles of oriented mesh subdivision for cylindrical bar stock
图2. 圆柱棒料定向网格细分原理
Figure 3. Simulation of oriented grid subdivision for external cylindrical turning
图3. 定向网格细分外圆车削模拟
(a) 细分原理 (b) 铣削模拟
Figure 4. Oriented mesh subdivision for cubic workpieces
图4. 立方体工件定向网格细分
为实现任意方向加工仿真的目标,本文提出采用基于动态八叉树网格自适应细分的材料去除算法实现机床的加工仿真过程,算法具体流程如图5所示,具体实现步骤如下:
Figure 5. Material removal simulation algorithm flowchart
图5. 材料去除仿真算法流程图
1) 碰撞检测与网格自适应细分
当检测到刀具包围盒与工件包围盒发生碰撞时,首先通过八叉树空间索引快速定位工件被碰撞的叶子节点区域;为提高加工仿真精度,系统自动调用网格细分函数对碰撞区域的三角面片进行自适应细分,其中细分执行条件设定为三角形最长边超过预设阈值。
2) 材料去除计算
该过程通过几何求交算法实现,遍历被刀具碰撞的叶子节点区域内部的顶点,若顶点坐标位于刀具刀头内部,计算顶点与刀具几何中心的方向向量,将顶点的位置坐标沿单位方向向量修改至刀具表面。
3) 动态数据结构更新
因加工后顶点位置发生变化,在八叉树叶子节点中动态更新位置改变了顶点与三角面的存储。当刀具位移导致新的碰撞发生时,对新碰撞区域重复执行步骤1)~3)的迭代计算,直到刀具运动停止则终止计算循环。
在本算法中,因网格细分由刀具运动实时触发,所以能平滑高曲率被加工区域在顶点位置更新后的网格曲面,确保工件网格密度与加工精度相匹配。考虑到算法的通用性,初始构建时采用球形刀具与立方体工件作为示例,加工效果如图6(a)所示,图中绿色网格框线为八叉树所划分的节点区域,任意方向加工网格示例图如图6(b)所示。在将算法集成至系统时,选取CA6140车床加工圆柱形棒料至阶梯轴的典型工况进行仿真,采用外圆车刀加工工件,如图7所示,结果表明:
1) 算法能准确呈现阶梯轴的车削成形过程。
2) 自适应网格细分有效保持了工件表面的几何特征。
3) 动态八叉树管理确保了大规模网格的计算效率。
(a) 工件着色图 (b) 任意方向加工
Figure 6. Algorithm processing example
图6. 算法加工示例
Figure 7. Machining stepped shaft
图7. 加工阶梯轴
3.2. 车床运动与装配仿真
在虚拟车床加工仿真系统中,车床的运动逻辑与操作流程应与实际加工过程保持一致。以阶梯轴加工为例,工件选用圆柱棒料,采用三爪卡盘夹持棒料,在不使用顶尖的情况下,工件装夹深度应≥1/3棒料长度,以保证加工稳定性。用户在装夹工件面板中输入装夹长度后,动态获取圆柱棒料半径尺寸及装夹长度数据,并相应调整三爪卡盘卡爪位置坐标,即可实现夹紧工件的效果;刀具选用外圆车刀,安装时需满足水平对齐、中心等高,防止切削干涉,车刀伸出刀架的长度通常为刀体高度的1.5倍,以平衡刚性与可操作性。
在操作零部件运动时,对于较复杂且随机的操作如设置主轴转速,通过脚本设置Transfrom组件的属性实现,对于较为简单且固定的操作如操作主轴启停手柄,可借助Unity的动画实现。加工前需要进行对刀,若车刀与棒料距离较远可使用机动进给手柄靠近工件,速度由进给量决定,随后可切换至手动模式,通过大/中滑板手轮改变刀具位置。在实际手动模式加工时通过缓慢匀速转动手轮可以得到光滑的加工表面,仿真系统中通过将移动过程改为逐帧移动实现这一过程。车床三个滑板的运动建模如下:
大滑板(Z轴):控制床鞍与溜板箱部分运动,手轮每格对应1 mm纵向移动;
中滑板(X轴):控制中滑板运动,手轮每格对应0.05 mm横向移动;
小滑板(辅助Z轴):控制小滑板短距离运动,用于更精密的加工,每格对应0.05 mm位移。
本系统还设计了完整的车床装配仿真流程,在装配场景中,系统提供以下核心交互功能:
1) 部件识别与可视化
当用户进行场景漫游时,可查看包含部件名称的标签UI,该标签采用跟随式设计以确保可视性。
2) 拆解/装配模式切换
拆解模式:如图8(a)所示,车床部件以爆炸视图呈现,通过动态调整相应部件Transform组件的Position参数实现。
装配模式:如图8(b)所示,系统按预设装配序列逐步高亮待装配部件,用户点击当前高亮部件后执行以下流程:
① 取消当前部件高亮状态;
② 启用该部件的Animator组件并触发相应装配动画;
③ 启动协程(Coroutine)异步监测动画状态(避免Update循环的性能开销);
④ 检测动画完成后激活下一部件的高亮提示。
(a) 拆解模式 (b) 装配模式
Figure 8. Disassembly and assembly
图8. 拆解与装配
通过分阶段可视化引导,能有效强化用户对CA6140车床结构的认知,拆解后的爆炸视图展示整体部件分布,序列化的装配过程能让用户理解部件间拓扑关系。
3.4. 系统UI与交互
为实现高效、可扩展的用户交互与场景管理,本文设计并实现了一套基于资源复用与状态机的UI框架。该框架围绕抽象基类BasePanel和BaseScene展开;BasePanel定义了标准化的生命周期方法,具体面板通过继承BasePanel类并重写相应方法实现特定的界面逻辑,借助对象池机制有效减少高频操作中的垃圾回收压力。场景管理方面,通过抽象化的状态转换机制实现了场景间的切换,其类图如图9所示。BaseScene抽象类定义了OnEnter()和OnExit()接口,将每个场景封装为独立状态对象,SceneContext作为上下文维护当前状态,SetScene()方法在状态切换时自动执行退出和进入逻辑,具体状态类AssembleScene和ProcessingScene分别实现特定场景行为。
Figure 9. Scene management class diagram
图9. 场景管理类图
(a) 主轴转速面板 (b) 安装车刀面板
(c) 装夹工件面板 (d) 机动进给手柄面板
Figure 10. UI panel
图10. UI面板
与传统UnityUI的实现方式相比,本框架强调生命周期规范化、资源复用与状态机驱动,在保持高性能的同时,为大型仿真项目的界面扩展提供可靠支撑,适用于多场景、多状态、高交互性的仿真训练系统。为实现高拟真的仿真效果,通过采用RenderTexture的动态渲染技术确保UI面板操作与场景中零部件运动状态严格同步,同时对实训室场景中可交互的物体在鼠标悬停时做高亮处理,提升系统交互的直观性,系统的部分面板如图10所示。
4. 结语
综上所述,本研究基于Unity平台开发的车床虚拟加工装配仿真训练系统,通过动态材料去除算法、实时界面交互及装配仿真的有机整合,成功构建了一个高度拟真、功能完备的虚拟实训环境,系统能够准确还原CA6140车床加工的实际过程与结果,具备教学实用性。该研究为机械制造及相关专业提供了一套低成本、可复用、安全可靠的虚拟实训解决方案,未来应集成更多机床类型与加工工艺来拓展系统功能,如开发五轴机床仿真验证本算法的通用性,并优化系统实时性能,探索与Web端、VR/AR设备的深度融合,持续推动虚拟仿真教学模式的创新与发展,为培养高素质智能制造人才提供持续助力。
NOTES
*通讯作者。