火炮自动机仿真优化平台开发技术研究
2012-11-22沈冠军曹红松白友平刘恒著陈明刚
沈冠军,曹红松,白友平,刘恒著,陈明刚
(1.中北大学 机电工程学院,山西 太原 030051;2.重庆望江工业有限公司,重庆 404100)
1 动力学仿真平台总体设计
1.1 系统总体规划
该平台包含后坐式自动机、导气式自动机、转膛式自动机、转管式自动机、链式自动机、双管联动式自动机等型自动机的动力学仿真及优化,通过分析其拓扑关系、建立通用模板,针对关键零部件结构、力学特征、载荷约束等进行参数化、再对软件进行二次开发交互界面,这样用户可通过菜单选择待分析自动机的类型,修改相关结构参数得到动力学仿真模型[2]。平台包含自动机常见机构的运动学、动力学分析,针对一些重要构件设计了刚柔耦合接口。同时提供仿真结果优化。仿真与优化结果按指定格式输出,方便用户进行结果查看与分析。
1.2 仿真优化流程
用户选择模板建立仿真模型,模型包含了相应的接触、运动副、载荷等关系,针对不同的仿真内容程序选择相应的仿真脚本,仿真得到结果与实际指标进行对比决定是否进行重新仿真和结果优化,满足用户指标后进行结果输出,如图1所示。
2 虚拟样机模板创建
虚拟样机模型的创建是事先建立通用的模板,新的模型调取该模板,通过参数设置,对力、运动副等相关设计变量进行修改,产生新的仿真模型。在建立模板时,针对不同种类的自动机,详细分析其拓扑关系、主被动件、力的传递特征,然后调用修改三维模型建立通用的模板,方便用户自动快捷建立虚拟样机模型。
在该平台中,针对不同类型的自动机,其动力学模板文件主要由两个cmd文件组成,一个文件包含每型自动机的三维实体信息,用来在动力学仿真软件中构建自动机的实体模型,另一个文件包含了针对每型自动机存在的所有运动副约束及力等关系。
2.1 自动机拓扑关系及模型建立
在建立自动机动力学模型之前需对自动机的拓扑关系进行分析,常见的自动机的拓扑关系分析方法具有类似的特征。以某型转膛自动机为例,其主要包含驱动机构、进弹机构、推弹机构等。自动机主动力来源于导气室压力,从身管内膛导出的火药气体通过导气装置作用于活塞上,活塞推动滑板,滑板的往复直线运动通过转膛滑板上的曲线槽,转换成转膛体的转动,转膛轴与拨弹机轴相连,转膛体的转动和拨弹机的转动同步[2]。
转膛自动机是以内能源为动力进行运动的,结构复杂,射速快。完全用仿真环境来模拟实际环境是很困难的,需将实际模型结构和受力进行相应的简化[3]。
炮箱作为机架固定于大地上,拨弹机箱体固定于炮箱上。
主动滑板以移动副在炮箱上移动,转膛滑板、左右输弹簧筒和连接筒通过固定副和主动滑板相连。连接筒与推弹滑座固连,推弹滑座上固连击针等击发构件。
转膛体通过固连于转膛体上的滚轮与转膛滑板的人字曲线槽以接触的形式相连。
转膛体和转膛轴固连,转膛轴与拨弹机轴固连,拨弹机轴固连齿轮,通过齿轮副带动拨弹轮工作。
对于自动机中存在的摩擦只考虑典型构件间的摩擦。
按以上分析,其拓扑关系如图2所示,由此建立转膛自动机的动力学模型。
动力学模型所包含的三维实体模型由三维制图软件生成,通过parasolid格式将实体模型导入到动力学仿真模型ADAMS中,建立运动副及约束关系,针对关键构件碰撞传力特征,大量采用了接触副。平台提供针对一个或多个零件的修改及替代功能,通过平台,用户可对指定动力学模型中的零件进行修改。
2.2 载荷处理方法
1)膛底合力
膛底合力为:
F=pS
(1)
式中:p为瞬时膛压;S为膛底面积。
2)导气室合力
导气室合力采用布拉文经验公式法:
(2)
式中:t为气室压力工作时间;pd为弹丸过导气孔膛压;ss为活塞面积;a为导气装置结构参数;b为时间参数。
表达式中t、pd、ss可以由内弹道和机构结构参数计算得到,a、b两个参数由结构参数查表得到。
导气室压力可由两种方式生成:通过外部导气室压力计算软件或实验测试得到的导气室压力曲线;通过内弹道和气室参数,利用布拉温经验公式计算得到导气室压力曲线。在ADAMS中,导气室压力的表达式为:
If(time-t0:0,0,P·S·exp(-(time-t0)/b)·
(1-exp(-a·(time-t0)/b)))
(3)
式中,t0为弹丸过导气孔的时间。膛底压力F由外部内弹道计算软件计算,通过导入曲线的形式导入到平台。
3) 抽筒力
抽筒力Fch的计算采用工程算法:
(4)
式中:f为摩擦因数;p1为药筒与炮膛之间的径向压力;d1为药筒的外径;l为药筒的工作长度;d为药筒的内径;pct为抽筒时膛压。
2.3 复杂弹簧的处理方法
1)复进簧。在诸多的自动机中存在复进簧在复进和后坐的过程中存在变刚度的情形,在建立模型的过程中,采用多股弹簧模拟实际弹簧。为实现弹簧变刚度,创建传感器用以判断弹簧处于复进过程还是后坐过程,进而确定哪几根弹簧失效还是参与运动。
2)浮动机簧。对包含浮动机的自动机,通过添加浮动簧来模拟浮动机产生的作用,在自动机质心处添加弹簧,对弹簧进行刚度、阻尼的设置,同时针对现有的浮动曲线,通过导入spline曲线对浮动簧进行初始化设置。对于采用液压的浮动机,需要添加阻尼器,将相关液压参数进行初始化设置[4]。
3 通用仿真平台的交互
该仿真平台在ADAMS/View的环境下进行二次开发,利用Dialog-Box Builder、Menu Builder和Macro Builder等工具进行对话框、界面及专用程序的开发。开发生成的界面对象以层次结构存储在模型数据库中。用户使用时调取数据库中相应的数据文件[5]。
3.1 软件的引导与定制
为实现火炮自动机动力学仿真优化平台的自动加载,编写引导文件,运行该引导文件即进入该仿真平台。该引导文件包含了程序初始化所有的菜单、对话框和宏命令的全部信息。
3.2 可视化界面的开发
1) 菜单和对话框。菜单和对话框的创建是基于ADAMS自带的Menu和Dialog box工具。菜单的创建是利用Menu编辑工具,根据ADAMS相应的语法,编写该平台的菜单项,包括模型的创建、存储;动力学仿真环境的设置、动力学仿真结果的优化、零部件的修改替换;仿真与优化结果的查看等。
2)功能实现。模型的建立、关键参数的修改设置、模型部分零件的修改替换是利用对话框功能实现。
模型的建立是基于导入模板的形式,关键参数的修改是基于设计变量的修改,对关键参数建立对应的设计变量,可通过对话框进行修改。
三维模型的生成是在平台下通过平台调用包含三维模型信息的cmd模板文件,在模型生成后用户可指定需要更新或替换的某些部件,调用运动副等信息的文件,程序将自动实现运动副、力等的加载和更新,从而实现动力学仿真模型的自动生成。实现该过程的部分代码如下:
……
file command read file=" G:Dynamics emplet
emplet_revolution.cmd"!导入模板文件
……
!用于确定运动副的点的更新
marker modify marker_name = .(eval(XTMC)).
zthb.cm
orientation = ( ORI_GLOBAL( eval(XTMC).
zthb.T_px__zthb_M_I.orientation,
eval(XTMC).ground.M_QJ ) )
marker modify marker_name = .(eval(XTMC)).
zthb.T_px__zthb_M_I
location = ( LOC_GLOBAL( {0,0,0} ,
eval(XTMC).zthb.cm ) )
orientation=( ORI_GLOBAL(eval(XTMC).
zthb.cm.orientation,
eval(XTMC).ground.M_QJ ) )
marker modify marker_name = .(eval(XTMC)).
px.T_px__zthb_M_J
location = ( LOC_GLOBAL( {0,0,0} ,
eval(XTMC). zthb.cm ) ) orientation = ( ORI_GLOBAL(eval(XTMC).
zthb.cm.orientation,
eval(XTMC).ground.M_QJ ) )
……
平台提供对部分零件的修改及替换,常见的修改包含零件质量,质心、转动惯量等的修改,同时支持对零件尺寸的修改,由于在ADAMS的环境建立复杂模型的局限性,所以用户可以通过CAD建模软件在平台外部建立该零件并保存为parasolid格式,通过编制程序将指定零件进行修改替换,同时替换功能为刚柔耦合的计算提供了方法,用户只需在相关有限元软件生成柔性体文件,将该柔性体文件和之前的刚体文件进行替换即能实现。该程序部分代码如下:
!制定需要修改的零件的part名
part delete &
part_name = $field_part_name
!选择需要修改零件的存放路径
file parasolid read &
file_name = $field_temp &
type = ascii &
part_name = $field_part_name
part modify rigid mass_properties &
part_name = $field_part_name &
density = $field_density
3.3 模型仿真优化参数的传递
平台具有仿真优化的功能,针对仿真结果,用户选择优化变量,设置变量的变化范围和目标函数,采用DOE方法进行优化,用户可对多方案进行对比分析及决策。
4 应用示例
进入系统后,以转膛自动机动力学仿真为例,选择自动机动力学仿真项,同时选择模板、修改参数生成自动机动力学模型如图3所示,在Adjust选项中,用户可导入膛压曲线、修改导气室参数等载荷参量。平台中部分界面如图4所示。
在Simulation选项中设置仿真工况名称,自动机循环次数等参数,对该自动机进行动力学仿真计算,可得到该自动机各个构件之间的相互作用特性。同时用户可选择相应的脚本文件,对相应的机构进行仿真查看。仿真得到主动滑板速度和加速度曲线如图5和图6所示。
5 结 论
通过该平台,用户能够快速实现火炮自动机的动力学虚拟样机的建模与修改,进行多种工况的仿真及优化,尤其在设计的初始阶段,进行多次的修改仿真,分析力学特性、运动学特性,更能促进设计方案的合理选择。同时,动力学仿真得到的结果可为有限元分析、关键件疲劳寿命分析提供力学参数,利用平台的优化功能,能对自动机运动过程中各种传动面的碰撞现象进行优化。利用二次开发实现了平台的通用性。
参考文献(References)
[1] 杨国来,陈运生,曾庆春,等.火炮虚拟样机的总体框架及初步应用[J].弹道学报,2006,18(1):51-54.
YANG Guo-lai,CHEN Yun-sheng,ZENG Qing-chun,et al.Overall framework and preliminary application of artillery virtual prototyping[J].Journal of Ballistics,2006,18(1):51-54.(in Chinese)
[2] 闫彬,姚忠,王瑞,等.某火炮自动机转膛机构运动特性分析[J].火炮发射与控制学报,2010(2):66-69.
YAN Bin,YAO Zhong,WANG Rui,et al.Movement characteristics analysis of rotary chamber mechanism of a gun automatic mechanism[J].Journal of Gun Launch & Control,2010(2):66-69.(in Chinese)
[3] 赵俊严,毛保全,杨明华,等.基于虚拟样机的火炮系统建模仿真与优化研究[J].系统仿真学报,2009,21(21):6901-6909.
ZHAO Jun-yan,MAO Bao-quan,YANG Ming-hua,et al.Research on modeling simulation and optimization of cannon system based on virtual prototype[J].Journal of System Simulation,2009,21(21):6901-6909.(in Chinese)
[4] 苑海威,薄玉成,王惠源,等.身管短后坐式浮动自动机动力学仿真[J].火炮发射与控制学报,2010(1):52-55.
YUAN Hai-wei,BO Yu-cheng,Wang Hui-yuan,et al.Dynamics simulation of floating automatic mechanism applied in short recoil barrel weapon[J].Journal of Gun Launch & Control,2010(1):52-55.(in Chinese)
[5] 王亚平,王永娟,徐诚,等.自动武器动力学仿真平台ADAMS/GUN的设计与实现[J].兵工学报,2007,28(9):1041-1045.
WANG Ya-ping,WANG Yong-juan,XU Cheng,et al.The Design and realization in the special dynamical simulation system ADAMS/GUN for automatic weapon[J].ACTA Armamentaria,2007,28(9):1041-1045.(in Chinese)