论文部分内容阅读
摘 要:该文通过对产品协同设计过程的分析,基于Web的产品协同设计原型系统原理,在此框架下探讨了在产品结构优化设计的工作端,采用将人工智能中BP神经网络与遗传优化算法相结合的方式,通过VB语言与Matlab软件混合编程,在产品协同设计过程的前期优化分析阶段,实现齿轮传动的优化设计,从而可以在web平台继续将设计结果传给SolidWorks、Pro/E和UG等制图软件,为后续产品结构强度分析以及虚拟样机实验等提供远程服务支持。
关键词:协同设计 优化设计 MATLAB
中图分类号:TH12 文献标识码:A 文章编号:1674-098X(2016)10(a)-0034-03
网络协同设计是一种先进的联合设计手段,可以将不同的设计主体(专业技术人员)通过共享的网络平台联系起来,设计人员之间可以使用功能各异(异构)的工具设计远程协作,在这个共享平台中阶段性优化已有方案、模块化分析、并行修改,以远超出非协同条件下设计的效率和质量完成产品设计。其使用到的工具可以包括且不仅限于SolidWorks、PRT(Pro/E)、PRT(UG)、DWG、CATIA等,同时在产品的优化设计阶段也会用到各种计算软件工具如MATLAB等,在使用中可采用两种方式实现产品的协同化设计,其一是采用数据格式转换,该方式是实现异构平台条件下同一产品数据集成与共享的主要方式。其所采用的主要数据转化手段包括利用XML技术、IGES标准以及STEP标准。XML(即系统基于可扩展标记语言)技术,IGES标准(即利用图形数据交换标准)和STEP标准(即产品模型数据交换标准),使用商业化或编制数据转换接口,从而实现产品的几何特征提取和数据格式转换。其二是对三维建模软件进行二次开发,在工作端嵌入相应开发模块,以实现对产品设计节点所产生数据的三维建模,基于Web的产品协同设计原型系统原理见图1。
1 产品协同设计
1.1 产品协同设计概述
产品设计包括多种设计项目内容,譬如确定产品规格、技术规范、性能解析、采取多种计算手段分析建模,初步制定制造计划和概算等。通常状况下,这阶段工作必须通过设计方案、确认架构、设计优化、仿真和样机测试性能、效果等过程对方案的可行性、有效性进行最终检验。此阶段工作涉及诸多不同类型资源,譬如产品市场情况和开发此产品相关的理论,譬如文本阐述、图表图形、城市、数据库、仿真设计(数字化)、物理及样机模型实验和实验实施所需诸多设施、装置等[1],不过上述资源多数散布于多处。
利用远程MATLAB优化分析系统与CAD软件融合利用,不仅加速系统研发工作,使得系统更为可靠,并且非常有益于产品设计阶段中MATLAB优化解析方法的推广利用。在特殊条件下,运用MATLAB优化分析方法远程优化设计方案的前提要件是确定模型参数,通过增加产品性能、模型设计和优化的多个参数,辅助改进设计,必然有益于系统功能的扩展,还能够扩大系统运用范畴。此外,把散布的分析和优化工作所需资源有效归集,对于持有此资源的主体来说,能够提升利用此资源的整体效率,提高利润水平,另外利用此资源主体所需费用较少,因此整个研发设计过程中所耗成本也更低,产品在市场上自然具备更强竞争力。
1.2 产品协同设计过程
产品协同设计过程可以简单描述如下。
(1)方案设计。此阶段工作主要包含下述两个内容:第一,企业根据顾客要求设计完产品;第二,企业能够依据市调结果,自主研发推出新产品。两种产品设计方案均需交换许多不同类型数据和资料,最终必然能够确定最优设计方案。
(2)参数优化分析。为确保研发产品性能可靠,满足设计需要,运用MATLAB优化研究软件优化产品,令其更为可靠。
(3)产品结构设计。设计人员根据已经优化确定的产品方案,运用CAD程序完成建模,并协同完成装配过程。
(4)样机实验。在车间内产出样机,对樣机进行性能测试,研究验证产品性能,保证性能满足设计要求。
2 优化设计方法分析
许多机械产品设计中需要进行优化,优化过程可分为3个部分:合成和分析、评价以及更改参数3个部分组成。其中,合成和分析部分的功能主要是建立产品设计参数和设计性能以及设计要求之间的关系,这是对设计产品进行建立数学模型的处理。产品的性能和设计要求的分析,相当于评估目标函数是否改善或达到最佳,即测试数学模型中的约束每一条都满足。选择参数部分是利用不同优化方法,使该目标函数(数学模型)求解,并根据该优化方法来求得最佳设计参数。优化设计的前提是选择最优的设计方法。而哪一种方法最优,主要根据具体设计优化的问题情况、特点和具体设计来定。通常来讲,可以有下述几点评价方案。
(1)可靠性。(2)精度。(3)效率。(4)通用性。(5)稳定。(6)全局收敛方法。(7)初始条件灵敏度。(8)多变量灵敏度。(9)约束灵敏度。
3 齿轮传动系统的优化设计案例
机械层面的设计优化视为协同设计工作平台内节点之一,通过传送输入/出文件,可以在异地完成计算并运用结果,下面以齿轮减速器为案例说明基于Web的协同设计下的优化设计过程,案例中所选择的优化算法为遗传算法(Genetic Algorithm,简称GA)。这是一个模拟达尔文生物遗传进化选择历程检索获取最优结果的方法[2]。在机械层面的设计优化问题中,运用这一方法,能够有效避免产生局部最优解,最终获得对整个系统方案都最优的更好解。该研究运用遗传算法用作齿轮优化方法,再结合Matlab遗传工具箱完成优化,不仅简单而且高效。
优化分析系统一般能够划分成处置数据、设计优化、输入/输出、造型产出4个主体模块。其中第一个模块的主要任务是:完成齿轮设计过程线图、处置数据,根据各种条件、状况,能够灵活选择查表、插值、拟合曲线、数据库和BP神经网络映射等多种手段完成工作。其中第二个模块主要应用Matlab语言,根据从第三个模块获取的转速、传递功率、负载性质以及传动比等数个已经确定的参数数据,运用Matlab神经网络、遗传算法两大工具箱,优化齿轮设计[3]。其中第三个模块主要负责:运用完成VB、Matlab、 SolidWorks API多个软件中数据的流转改用。其中第四个模块的主要任务是,依据前一模块产出结果,在优化设计的协同工作端自动完成齿轮的三维参数化造型。 3.1 建立数学模型
选择目标函数为齿轮减速器体积最小,同时,在选择齿轮强度的影响参数时使用以下4个参数,分别是法向模数mn、小齿轮齿数z1、齿宽系数φd以及螺旋角β,以上4个参数为设计变量建立数学模型。
(1)设计变量。
(2)目标函数。
(3)约束条件。
①模数约束:1.5≤χ1≤20。
②根切约束:g1≤0。
③齿宽系数约束条件:0.2≤χ4≤1.2。
④螺旋角约束:8≤c3≤25。
⑤齿面接触应力约束:g2≤0。
⑥齿根弯曲应力约束:g3≤0,g4≤0。
其中:
斜齿齿轮接触疲劳应力为:。
斜齿齿轮弯曲疲劳应力为:。
3.2 BP神经网络映射程序的实现
神经网络BP(Back Propagation),是目前在多学科领域应用范围最为普及和成熟的人工神经网络,其组成经过主要包含信息正向传播与误差的反向传播两个过程。BP人工神经网络在模式识别、函数逼近和数据压缩方面都显示出较强的映射能力[4]。下面是齿形系数YFa计算关系映射的实现步骤(使用Matlab7.1神经网络工具箱,共4步)。
第一步,读入训练样本数据。
第二步,初始化网络,利用网络初始化函数newff实现。
第三步,训练网络。利用训练函数train实现。
。
第四步,函数逼近。
利用上步训练好的网络代替原有的
函数关系,计算任意齿数zv0时的齿形系数YFa0,通过sim函数实现。
对比样本数据和映射之后产出数据,发现变差的最高值为0.006,证明此人工神经网络辨识精度达到很高水平,满足要求。
3.3 遗传算法程序实现
该文运用遗传算法来计算优化齿轮设计,结合运用Matlab软件中的遗传工具箱完成优化,整个过程不仅简单而且高效,其中遗传算法优化步骤如下。
(1)将数学模型转化成如下适用于Matlab的形式。
①设计变量。
②目标函数。
③约束条件。
(2)建立目标函数的m文件FitnessFcn.m文件内容如下。
(3)建立非线性约束的m文件nonlconfun.m;文件内容如下。
(4)把线性约束所对应的向量与系数矩阵赋予下述变量A、b、Aeq、beq,将边界(上/下)值分别赋予下述变量LB、UB。
(5)调用。
3.4 VB与Matlab混合编程
VB、Matlab结合完成编程过程中,还能够运用动态DLL链接库、DDE数据和ActiveX自动化3种技术手段,具体详见文献[4]。该研究运用ActiveX技术,利用VB编程时调取Matlab优化齿轮设计程序的部分代码如下:
当齿轮优化分析计算完毕,齿轮优化分析结果上传并存储到数据库中,但此时非优化设计客户端用户只能浏览及下載计算数据文本,如果客户端没有安装二次开发模块,仍然无法对数据进行建模处理,所以在优化设计工作端需要对软件进行二次开发,以SolidWorks软件为例,可以运用ActiveX技术和API函数,结合VB语言二次开发SolidWorks,运用优化所得结果实现齿轮的三维参数化造型在所开发的VB程序内增加下述代码,将完成的程序编辑产出*.dll文件,在SolidWorks中打开,在菜单栏中就能够加入“齿轮”“斜齿圆柱齿轮”菜单和下拉菜单选项。
…
4 结语
该文探讨了基于Web的网络协同设计框架下,产品的优化设计部分作为协同设计网络的重要组成部分(工作端)的优化过程,并以齿轮优化分析作为具体案例进行分析,文中融合了编程开发软件:VB、Matlab,结合BP神经网络、遗传算法(人工智能领域),成功完成了存在离散(或连续)设计变量时,设计的优化,使得优化齿轮设计工作效率得到提升,继而实现了整体设计协同作业效率的提升,并获得了最佳方案。下一步可考虑在诸个工作端进行有效的数据转换最终将此优化实现和三维参数化造型结合融于一体,在诸个工作端所用CAD/CAM软件条件下,也能够完成有限元分析并产出NC代码,有效提升设计齿轮工作效率和品质,加快系统制造速度。
参考文献
[1] 周伟.基于网络的协同设计系统数据交换及管理关键技术研究[D].重庆:重庆大学,2007.
[2] 余海威,田福庆,冯昌林.基于遗传算法的火炮齿轮传动优化设计[J].舰船电子工程,2008,28(10):56-59.
[3] 张小芹,刘策,孙磊.基于智能算法的齿轮优化设计软件的开发[J].河北科技师范学院学报,2009,23(4):54-58.
[4] 张小芹,王海芳,孙磊.基于人工智能的齿轮优化CAD软件开发[J].CAD/CAM与制造业信息化,2010(5):44-47.
关键词:协同设计 优化设计 MATLAB
中图分类号:TH12 文献标识码:A 文章编号:1674-098X(2016)10(a)-0034-03
网络协同设计是一种先进的联合设计手段,可以将不同的设计主体(专业技术人员)通过共享的网络平台联系起来,设计人员之间可以使用功能各异(异构)的工具设计远程协作,在这个共享平台中阶段性优化已有方案、模块化分析、并行修改,以远超出非协同条件下设计的效率和质量完成产品设计。其使用到的工具可以包括且不仅限于SolidWorks、PRT(Pro/E)、PRT(UG)、DWG、CATIA等,同时在产品的优化设计阶段也会用到各种计算软件工具如MATLAB等,在使用中可采用两种方式实现产品的协同化设计,其一是采用数据格式转换,该方式是实现异构平台条件下同一产品数据集成与共享的主要方式。其所采用的主要数据转化手段包括利用XML技术、IGES标准以及STEP标准。XML(即系统基于可扩展标记语言)技术,IGES标准(即利用图形数据交换标准)和STEP标准(即产品模型数据交换标准),使用商业化或编制数据转换接口,从而实现产品的几何特征提取和数据格式转换。其二是对三维建模软件进行二次开发,在工作端嵌入相应开发模块,以实现对产品设计节点所产生数据的三维建模,基于Web的产品协同设计原型系统原理见图1。
1 产品协同设计
1.1 产品协同设计概述
产品设计包括多种设计项目内容,譬如确定产品规格、技术规范、性能解析、采取多种计算手段分析建模,初步制定制造计划和概算等。通常状况下,这阶段工作必须通过设计方案、确认架构、设计优化、仿真和样机测试性能、效果等过程对方案的可行性、有效性进行最终检验。此阶段工作涉及诸多不同类型资源,譬如产品市场情况和开发此产品相关的理论,譬如文本阐述、图表图形、城市、数据库、仿真设计(数字化)、物理及样机模型实验和实验实施所需诸多设施、装置等[1],不过上述资源多数散布于多处。
利用远程MATLAB优化分析系统与CAD软件融合利用,不仅加速系统研发工作,使得系统更为可靠,并且非常有益于产品设计阶段中MATLAB优化解析方法的推广利用。在特殊条件下,运用MATLAB优化分析方法远程优化设计方案的前提要件是确定模型参数,通过增加产品性能、模型设计和优化的多个参数,辅助改进设计,必然有益于系统功能的扩展,还能够扩大系统运用范畴。此外,把散布的分析和优化工作所需资源有效归集,对于持有此资源的主体来说,能够提升利用此资源的整体效率,提高利润水平,另外利用此资源主体所需费用较少,因此整个研发设计过程中所耗成本也更低,产品在市场上自然具备更强竞争力。
1.2 产品协同设计过程
产品协同设计过程可以简单描述如下。
(1)方案设计。此阶段工作主要包含下述两个内容:第一,企业根据顾客要求设计完产品;第二,企业能够依据市调结果,自主研发推出新产品。两种产品设计方案均需交换许多不同类型数据和资料,最终必然能够确定最优设计方案。
(2)参数优化分析。为确保研发产品性能可靠,满足设计需要,运用MATLAB优化研究软件优化产品,令其更为可靠。
(3)产品结构设计。设计人员根据已经优化确定的产品方案,运用CAD程序完成建模,并协同完成装配过程。
(4)样机实验。在车间内产出样机,对樣机进行性能测试,研究验证产品性能,保证性能满足设计要求。
2 优化设计方法分析
许多机械产品设计中需要进行优化,优化过程可分为3个部分:合成和分析、评价以及更改参数3个部分组成。其中,合成和分析部分的功能主要是建立产品设计参数和设计性能以及设计要求之间的关系,这是对设计产品进行建立数学模型的处理。产品的性能和设计要求的分析,相当于评估目标函数是否改善或达到最佳,即测试数学模型中的约束每一条都满足。选择参数部分是利用不同优化方法,使该目标函数(数学模型)求解,并根据该优化方法来求得最佳设计参数。优化设计的前提是选择最优的设计方法。而哪一种方法最优,主要根据具体设计优化的问题情况、特点和具体设计来定。通常来讲,可以有下述几点评价方案。
(1)可靠性。(2)精度。(3)效率。(4)通用性。(5)稳定。(6)全局收敛方法。(7)初始条件灵敏度。(8)多变量灵敏度。(9)约束灵敏度。
3 齿轮传动系统的优化设计案例
机械层面的设计优化视为协同设计工作平台内节点之一,通过传送输入/出文件,可以在异地完成计算并运用结果,下面以齿轮减速器为案例说明基于Web的协同设计下的优化设计过程,案例中所选择的优化算法为遗传算法(Genetic Algorithm,简称GA)。这是一个模拟达尔文生物遗传进化选择历程检索获取最优结果的方法[2]。在机械层面的设计优化问题中,运用这一方法,能够有效避免产生局部最优解,最终获得对整个系统方案都最优的更好解。该研究运用遗传算法用作齿轮优化方法,再结合Matlab遗传工具箱完成优化,不仅简单而且高效。
优化分析系统一般能够划分成处置数据、设计优化、输入/输出、造型产出4个主体模块。其中第一个模块的主要任务是:完成齿轮设计过程线图、处置数据,根据各种条件、状况,能够灵活选择查表、插值、拟合曲线、数据库和BP神经网络映射等多种手段完成工作。其中第二个模块主要应用Matlab语言,根据从第三个模块获取的转速、传递功率、负载性质以及传动比等数个已经确定的参数数据,运用Matlab神经网络、遗传算法两大工具箱,优化齿轮设计[3]。其中第三个模块主要负责:运用完成VB、Matlab、 SolidWorks API多个软件中数据的流转改用。其中第四个模块的主要任务是,依据前一模块产出结果,在优化设计的协同工作端自动完成齿轮的三维参数化造型。 3.1 建立数学模型
选择目标函数为齿轮减速器体积最小,同时,在选择齿轮强度的影响参数时使用以下4个参数,分别是法向模数mn、小齿轮齿数z1、齿宽系数φd以及螺旋角β,以上4个参数为设计变量建立数学模型。
(1)设计变量。
(2)目标函数。
(3)约束条件。
①模数约束:1.5≤χ1≤20。
②根切约束:g1≤0。
③齿宽系数约束条件:0.2≤χ4≤1.2。
④螺旋角约束:8≤c3≤25。
⑤齿面接触应力约束:g2≤0。
⑥齿根弯曲应力约束:g3≤0,g4≤0。
其中:
斜齿齿轮接触疲劳应力为:。
斜齿齿轮弯曲疲劳应力为:。
3.2 BP神经网络映射程序的实现
神经网络BP(Back Propagation),是目前在多学科领域应用范围最为普及和成熟的人工神经网络,其组成经过主要包含信息正向传播与误差的反向传播两个过程。BP人工神经网络在模式识别、函数逼近和数据压缩方面都显示出较强的映射能力[4]。下面是齿形系数YFa计算关系映射的实现步骤(使用Matlab7.1神经网络工具箱,共4步)。
第一步,读入训练样本数据。
第二步,初始化网络,利用网络初始化函数newff实现。
第三步,训练网络。利用训练函数train实现。
。
第四步,函数逼近。
利用上步训练好的网络代替原有的
函数关系,计算任意齿数zv0时的齿形系数YFa0,通过sim函数实现。
对比样本数据和映射之后产出数据,发现变差的最高值为0.006,证明此人工神经网络辨识精度达到很高水平,满足要求。
3.3 遗传算法程序实现
该文运用遗传算法来计算优化齿轮设计,结合运用Matlab软件中的遗传工具箱完成优化,整个过程不仅简单而且高效,其中遗传算法优化步骤如下。
(1)将数学模型转化成如下适用于Matlab的形式。
①设计变量。
②目标函数。
③约束条件。
(2)建立目标函数的m文件FitnessFcn.m文件内容如下。
(3)建立非线性约束的m文件nonlconfun.m;文件内容如下。
(4)把线性约束所对应的向量与系数矩阵赋予下述变量A、b、Aeq、beq,将边界(上/下)值分别赋予下述变量LB、UB。
(5)调用。
3.4 VB与Matlab混合编程
VB、Matlab结合完成编程过程中,还能够运用动态DLL链接库、DDE数据和ActiveX自动化3种技术手段,具体详见文献[4]。该研究运用ActiveX技术,利用VB编程时调取Matlab优化齿轮设计程序的部分代码如下:
当齿轮优化分析计算完毕,齿轮优化分析结果上传并存储到数据库中,但此时非优化设计客户端用户只能浏览及下載计算数据文本,如果客户端没有安装二次开发模块,仍然无法对数据进行建模处理,所以在优化设计工作端需要对软件进行二次开发,以SolidWorks软件为例,可以运用ActiveX技术和API函数,结合VB语言二次开发SolidWorks,运用优化所得结果实现齿轮的三维参数化造型在所开发的VB程序内增加下述代码,将完成的程序编辑产出*.dll文件,在SolidWorks中打开,在菜单栏中就能够加入“齿轮”“斜齿圆柱齿轮”菜单和下拉菜单选项。
…
4 结语
该文探讨了基于Web的网络协同设计框架下,产品的优化设计部分作为协同设计网络的重要组成部分(工作端)的优化过程,并以齿轮优化分析作为具体案例进行分析,文中融合了编程开发软件:VB、Matlab,结合BP神经网络、遗传算法(人工智能领域),成功完成了存在离散(或连续)设计变量时,设计的优化,使得优化齿轮设计工作效率得到提升,继而实现了整体设计协同作业效率的提升,并获得了最佳方案。下一步可考虑在诸个工作端进行有效的数据转换最终将此优化实现和三维参数化造型结合融于一体,在诸个工作端所用CAD/CAM软件条件下,也能够完成有限元分析并产出NC代码,有效提升设计齿轮工作效率和品质,加快系统制造速度。
参考文献
[1] 周伟.基于网络的协同设计系统数据交换及管理关键技术研究[D].重庆:重庆大学,2007.
[2] 余海威,田福庆,冯昌林.基于遗传算法的火炮齿轮传动优化设计[J].舰船电子工程,2008,28(10):56-59.
[3] 张小芹,刘策,孙磊.基于智能算法的齿轮优化设计软件的开发[J].河北科技师范学院学报,2009,23(4):54-58.
[4] 张小芹,王海芳,孙磊.基于人工智能的齿轮优化CAD软件开发[J].CAD/CAM与制造业信息化,2010(5):44-47.