羊 柳,徐亚栋,顾晓艳,张学飞
(1.南京理工大学 机械工程学院,江苏 南京 210094;2.中科芯集成电路有限公司,江苏 无锡 214035)
火炮是由众多部件组成的结构复杂的武器系统,设计过程繁琐[1]。为提高火炮设计质量与效率,学者们开展了一系列火炮设计方法的研究。传统火炮设计中逐渐融入现代设计方法。如文献[2]将案例推理与人工神经网络相结合,通过案例推理获取相似火炮设计案例,基于神经网络开展火炮设计参数预测,提高了火炮设计问题的求解质量与效率;文献[3,5]将参数化设计引入火炮部件的设计过程,生成可灵活调控的参数化模型,实现了火炮部件设计可视化。
现代设计技术在火炮设计中的应用,改进了火炮设计方法,简化了设计步骤。为进一步缩短设计时间,提高设计效率,将知识重用思想应用于火炮设计中。设计知识重用是将已有设计资源以一定方式在新一轮设计中重新运用,从而简化新设计的过程[6]。将现代设计技术与知识重用同时引入火炮设计,即是以组件、模板等形式对案例推理等设计技术进行封装,通过调用组件、模板实现设计重用。如文献[7-8]开展了基于知识组件的火炮部件快速设计技术研究;文献[9-10]开展了基于模板的火炮部件快速设计技术研究。无论基于组件还是模板进行火炮设计资源的封装重用,均可称为基于知识重用的火炮快速设计技术。
为实现火炮设计技术的集成应用,本文开发了基于知识重用的火炮快速设计原型系统。原型系统的开发分4个阶段:需求分析、软件设计、软件实现、实例测试[11]。在分析基于知识重用的火炮快速设计方法的基础上,通过集成先进的火炮设计技术,促进了火炮设计方法的更新,改变了火炮系统相对分散的设计方式,有利于火炮设计向着集成化、智能化、自动化方向发展。
基于知识重用的火炮快速设计流程如图1所示。火炮设计的关键在于结构尺寸参数的确定,即火炮设计参数的求解。本文依据火炮设计参数求解方式的不同,将参数分为经验型和计算型两类:经验型参数无明确设计规律,仅可参考设计经验进行取值;计算型参数则有明确设计规律,可由公式直接计算求解。
图1 基于知识重用的火炮快速设计流程
原型系统以实现火炮的快速设计为最终目的,必须满足流程配置、设计引导、模型再生的功能要求。
①流程配置。综合运用组件与模板技术,将火炮设计资源以最小单元进行知识组件封装;由组件集成案例推理、神经网络参数预测等流程模板;依次调用火炮设计流程模板,进行火炮设计流程配置,最终实现火炮设计流程的快速构建。
②设计引导。通过模板调用重构火炮设计流程,火炮设计求解时,引导设计人员按照设计步骤,正确进行系统操作,系统须为使用者提供设计引导。即明确当前设计任务,提供流程模板解释说明;同时寻找当前设计任务与其前一、后一设计任务间的切换方式,方便设计人员返回或继续设计。
③模型再生。通过引入参数化设计,创建火炮零部件参数化模型,依据求解所得火炮设计方案修改模型参数,驱动模型再生,最终实现火炮设计结果可视化。火炮参数化模型能够带给设计人员最直观的设计感受,便于问题的发现,有利于设计方案的改进。
在满足核心功能的基础上,从用户使用角度对系统提出可靠性、高效性、易用性的性能要求。原型系统的用户为火炮领域的设计工作人员。
①可靠性。原型系统对火炮设计效率的追求,需以保证火炮设计质量为前提,即需满足功能可靠性。原型系统作为一个设计软件,其能否在自身运行环境下不出错、稳定地工作,决定了系统能否长期有效地被使用,即需满足使用可靠性。
②高效性。利用原型系统进行火炮设计,提高了设计效率,满足了火炮设计的高效性。当设计人员对原型系统进行操作,则对系统本身的运行效率也提出了要求。除系统设计功能的完善外,原型系统需实现自身运行的高效性。
③易用性。原型系统的用户可能是能够迅速掌握系统操作的经验丰富者,也可能是毫无使用经验的设计新手。因此,原型系统的设计应考虑使用者的不同情况,在确保系统功能完整的同时,使系统操作简便,易于学习使用,即保证原型系统的易用性。
如图2所示,火炮快速设计原型系统框架由下至上分为4个层次。数据服务层利用预先建立的火炮设计知识库为系统的功能实现提供数据支撑,即为火炮快速设计提供可重用的设计资源。设计分析层由总体到局部,依据设计要求进行设计求解的分析,为系统的功能实现与模块划分打下基础。功能实现层将火炮设计任务求解过程逐一转化为具体的设计功能,即通过依次调用流程模板,实现火炮设计技术的有序集成,完成设计求解。界面显示层是用户与系统进行交互的途径,依照设计分析层火炮总体到局部的设计思路,系统界面分为总体与部件设计2大模块。
图2 火炮快速设计原型系统框架
原型系统的功能模块划分以系统框架设计为基准,与界面显示层相呼应。如图3所示,原型系统由火炮总体设计模块及火炮部件设计模块两部分组成。总体设计模块通过火炮战技指标分析,选定火炮系统组成;参考相似设计案例,拟定总体设计方案。
图3 火炮快速设计原型系统模块组成
部件设计模块在总体设计基础上,进行火炮部件的结构设计。为确定火炮部件结构设计的尺寸参数,依次开展经验型参数预测,计算型参数求解,得到参数求解结果;通过参数化设计,实现火炮部件的参数化模型再生。
火炮快速设计原型系统在Windows 7操作系统下进行开发。为提高原型系统软件的通用性与包容性,选择Java语言基于Eclipse平台作为原型系统的开发语言和开发环境。利用Matlab的数据处理能力,创建并训练神经网络模型,用于火炮设计中经验型参数预测。机械设计软件中,Creo具备强大的三维参数化建模功能,利用Java进行Creo二次开发,最终实现火炮部件参数化模型再生。
火炮设计案例推理通过确定案例检索方法,从预先建立的设计案例库中获取相似设计案例[12]。在火炮总体设计模块,基于案例推理获取相似设计案例,为火炮总体设计方案提供参考。火炮设计案例推理中通过确定相似度计算方法实现案例检索过程,案例的整体相似度计算由Java编程实现。
人工神经网络是一种通过模拟人脑神经网络结构与功能,实现函数估计或近似的数学模型[13]。在部件设计模块,从获取的火炮相似设计案例中提取用以训练网络模型的样本方案,从而实现基于神经网络的火炮经验型参数预测。神经网络模型的创建与训练在Matlab软件中实现。将训练好的神经网络Matlab程序打包为jar包,进行知识组件的封装,以供后续在Eclipse平台集成调用,从而构建经验型参数预测流程模板。
参数化设计通过创建参数化模型,并建立参数关系,实现修改模型参数,驱动模型再生的效果[14]。参数化设计作为火炮设计的最后一步,便于设计结果的校验。通过Creo软件建立火炮(零)部件参数化模型,创建模型正确的尺寸约束与参数关系,通过Java编程实现模型参数修改再生的功能,即Creo的二次开发。
依照基于知识重用的火炮快速设计流程,利用组件、模板技术依次对案例推理、神经网络参数预测、参数化设计等火炮设计技术进行集成。首先,将火炮设计计算过程进行最小单元划分,封装设计资源,并设置接口与外界交互,开发火炮设计知识组件。接着,依照设计任务求解流程,调取相关火炮设计知识组件依次进行组装,形成设计任务求解方案,封装火炮设计流程模板。即构建案例推理、经验型参数预测、参数化设计流程模板。最后,通过调用流程模板,实现火炮设计技术集成。
依据前文需求分析,系统需满足流程配置、设计引导、模型再生的功能要求。流程配置是核心功能,用以实现火炮的快速设计。以火炮复进机设计为例,进行快速设计流程配置。火炮部件设计参数求解包括经验型参数预测与计算型参数求解两部分。因此,还需编写参数计算程序进行封装,构建计算型参数求解流程模板。图4为复进机快速设计流程配置图。
图4 复进机快速设计流程配置
如图4所示,依次调用案例推理、经验型参数预测、计算型参数求解、参数设计流程模板,即可完成复进机快速设计流程配置。其中,参数化设计流程模板的调用满足了模型再生的系统功能要求。设计引导需求则通过在原型系统的界面中加入相应辅助设计信息来满足。
由于火炮设计过程繁琐,工程浩大,火炮整体快速设计原型系统的开发短期内无法实现。本文在前文复进机快速设计流程配置的基础上,以复进机快速设计原型系统开发为例,验证火炮快速设计原型系统的有效性。
某典型单筒液体气压式复进机的具体设计要求如表1所示。利用原型系统进行复进机设计,通过输入复进机设计任务,依次进行复进机设计案例推理、经验型参数预测、计算型参数求解,最终通过参数化设计,得到可视化的复进机设计结果。其中,原型系统调用案例推理及参数化设计流程模板,实现输入复进机设计要求,输出参数化模型的效果如图5所示。
图5 原型系统流程模板调用实例
表1 某复进机设计任务
如表2所示,基于原型系统的复进机快速设计结果与传统设计基本一致,能够满足复进机的设计要求,验证了火炮快速设计原型系统的可行性与有效性。
表2 快速设计与传统设计结果对比
本文提出了一种基于知识重用的火炮设计技术,实现了火炮快速设计原型系统的设计开发。通过系统需求分析,构建了火炮快速设计原型系统框架,划分了系统软件功能模块。以知识组件、流程模板的形式封装了案例推理、神经网络参数预测、参数化设计等设计技术。通过调用流程模板,以复进机为例进行了快速设计流程配置。在此基础上,开发了复进机快速设计原型系统,作为火炮整体快速设计原型系统开发实例。基于原型系统的复进机快速设计结果与传统设计基本一致,验证了火炮快速设计原型系统的有效性。