Filter-SQP算法在火炮发射动力学优化设计中的应用

2013-11-21 12:36刘小蒙郁永年鲁玉祥徐保成
火炮发射与控制学报 2013年2期
关键词:炮口火炮角速度

刘小蒙,郁永年,鲁玉祥,徐保成

(西北机电工程研究所,陕西 咸阳 712099)

多体系统动力学优化设计的核心一方面是如何计算目标函数和约束函数对设计变量的灵敏度,常用的方法有:有限差分法、直接微分法、伴随变量法[1];另一方面是如何选择高效、稳定的优化算法,可以保证快速收敛的同时,尽量减少目标函数的计算次数。

火炮是一个十分复杂的机、电、液一体化系统,为了真实地反映火炮发射过程中的运动与受力,目前针对火炮发射动力学的建模多采用刚柔耦合多体动力学方法,对模型的求解采用数值迭代方法,因此需要耗费一定的计算时间。基于火炮发射动力学的优化设计主要采用遗传算法[2]与SQP算法[3]。

遗传算法需要多次计算动力学方程,因此效率较低,SQP算法具有超线性收敛、数值稳定等优点,因此在工程上得到很好的应用。然而,为了保证算法的全局收敛性,SQP算法需要选择一个“效益函数”作为算法下降性的检测,常用的一类“效益函数”为精确罚函数,然而采用精确罚函数时,罚函数因子的选取没有确定的公式,需要根据经验反复地调试[4]。SQP算法在多体动力学优化中的另外一个问题是采用线性搜索计算最佳迭代步长,而线性搜索需要进行多次迭代,每次迭代都要求解一次多体动力学模型,因此会增加计算负担。

实际上即使不用罚函数和线性搜索,SQP算法仍然可能具有全局收敛性,Roger Fletcher和Sven Leyffer提出了不用罚函数的Filter-SQP算法,并且通过大量的数值试验验证了该算法的有效性[5]。Filter-SQP算法在火炮发射动力学的优化设计上也有着明显的优势。本文以某车载火炮为例,采用自主开发的Filter-SQP算法,研究其在火炮发射动力学优化中的应用。

1 Filter-SQP算法

“虑子(Filter)”的概念是由Fletcher和Leyffer提出的用来求解非线性规划问题的一类有效的数值方法,它回避了“价值函数”的概念,而且避免了罚因子的选取问题。

考虑一般的约束优化问题:

(1)

在求解非线性优化问题时,不仅要求目标函数最小,而且还要满足可行域的条件,在罚函数中把这两个条件联合在一起,而在Filter算法中这两个相互冲突的目标可以改写成多目标优化的形式:

(2)

其中:

(3)

这里:

(4)

把(f(x),h(x))作为一个坐标点,有如下两个定义:

定义1(f(k),h(k))控制(f(l),h(l))当且仅当f(k)≤f(l),并且h(k)≤h(l)。

定义2Filter是由一系列的(f(l),h(l))构成,Filter中的每一个点都不相互控制,新点(f(k),h(k))不被Filter中的任何一个点所控制时,就接受这一点,并且把(f(k),h(k))控制的所有点从Filter中除去。

将Filter方法与SQP算法结合,可以得到很好的Filter-SQP算法,算法步骤如下:

1)给定初始值x(0)和ρ置k=0。

2)判断二次规划(QP)子问题是否可行,若不可行,选取新的迭代点x(k)重新计算;若可行,计算QP子问题:

s.t.A(k)Td+c(k)=0

‖d‖∞≤ρ

得到d(k),判断是否满足收敛性条件,若满足,进入步骤 6);否则,把d(k)作为搜索方向,置x(k+1)=x(k)+d(k)。

3)计算f(k+1),h(k+1),判断(f(k+1),h(k+1))是否被Filter接受,若接受进入 4),否则进入 5)。

4)接受x(k+1)并把(f(k+1),h(k+1))加入到Filter中,移除被(f(k+1),h(k+1))控制的点,增大ρ,置k=k+1。

5)拒绝本次迭代,置x(k+1)=x(k),减小ρ,回到步骤 2)。

6)完成迭代,输出最终的x和目标函数值f(x)。

由于Filter-SQP算法没有采用线性搜索策略,因此大大减少目标函数的求解次数。另外,该算法中ρ的值动态调整,因此对初值的依赖比较小。

2 动力学建模与仿真

车载火炮发射过程中,身管与炮尾受到炮膛合力的作用,沿摇架后坐运动。在后坐过程中,连接在炮尾与摇架上的复进机与驻退机对炮膛合力起到缓冲作用,并将复进机力与驻退机力传递给摇架。摇架通过耳轴将力传递给上架,上架与座圈固结,进一步将力传递到车体,最终通过驻锄与车轮传递给地面,完成一次发射过程。

根据车载火炮的发射过程,将其简化为由车体、驻锄、火力部分、反后坐装置构成的机构,其拓扑结构如图1所示。其中,高低机与方向机用阻尼弹簧代替;轮胎与地面、炮尾与摇架为接触/碰撞模型,其余各个构件的连接均为基本的固定副、旋转副和滑移副;身管、摇架与上架是载荷的主要作用受体,在实际发射过程会发生小的变形,进而影响整车的运动特性,因此将身管、摇架与上架当作柔性体处理。

基于上述分析,对全炮动力学做如下假设:

1)车载火炮射击条件为:水平硬地面上射击,高低射角为65°,方位射角为0°。

2)将车载火炮简化为主要构件组成的刚柔耦合多体动力学系统,其中身管、摇架与上架为柔性体。

3)不考虑弹丸在身管中的运动。

4)不考虑地面对发射过程的影响,将驻锄与地面之间的作用力用刚度阻尼弹簧代替。

5)方向机、驻退机和复进机等均为广义坐标、广义速率和结构参数的函数。

在ADAMS中建立车载火炮的刚柔耦合多体系统动力学模型,设置好仿真时间与步长、求解微分-代数方程所用的算法,即可对该模型进行仿真分析。图2和图3分别为仿真得到的炮口垂向与水平振动角速度曲线,图4为身管上某点垂向振动位移的测试与仿真结果对比曲线,可以看出,仿真结果与实际测量结果十分相似,从而验证了该模型的正确性。

3 后坐阻力优化模型

3.1 设计变量的选择

本节主要对驻退机力进行优化分析。将驻退机流液孔的节制杆分为若干段,每两段之间的节制杆截面直径均匀变化,而节制杆面积的变化会引起流液孔面积的变化。驻退机力公式:

(5)

式中:v为后坐运动速度;K1、K2为主流和支流液压阻力系数;A0为后坐时活塞工作面积;Ap为驻退机节制环孔面积;Afj为复进节制器工作面积;A1为支流最小截面积;ρ为液体密度;ax为流液孔面积。

流液孔面积的变化最终会改变驻退机力的大小,因此将各段的流液孔面积取为设计变量。火炮从发射到弹丸出炮口这一过程大概持续0.015 s的时间,在这一段时间内后坐运动的位移大概为0.1 m。因此将后坐位移在0~0.1 m范围的流液孔分成4段共5个截面面积,选取这5个截面面积A1~A5为设计变量[6],如图5所示。

3.2 目标函数与约束函数的定义

由图2和图3可以看出,弹丸出炮口瞬时炮口振动的垂向与水平角速度振动比较剧烈,因此会对炮口扰动产生较大的影响。本文选取弹丸出炮口瞬时的垂向与水平角速度的组合为目标函数,并对其进行归一化处理,根据垂向与水平角速度对炮口扰动的影响大小不同,可以通过加权因子进行调节。目标函数可以表示为:

(6)

式中:ωy0为初始垂向振动角速度;ωz0为初始水平振动角速度;α,β为加权因子,且满足0≤α≤1,0≤β≤1,α+β=1。

由于驻退机结构设计时,已经满足火炮射击时的各种约束条件,而对流液孔面积进行优化时,只是进行局部微调。因此只将各个设计变量在其初始值附近的浮动值作为约束条件,取设计变量的±10%作为上下界,约束函数可以表示为:

Ai-(1+10%)Ai0≤0

(1-10%)Ai0-Ai≤0i=1,2,…,5

式中:Ai0为设计变量的初始值。

4 优化结果分析

由于ADAMS软件自带的优化算法只有SQP与GRG,因此需要对ADAMS软件进行二次开发,把Filter-SQP算法以动态库的形式加载到自定义优化算法中。采用Filter-SQP算法对上节的模型进行优化,并与SQP算法进行对比分析。

采用两种算法得到的目标函数随迭代次数变化的曲线如图6所示,具体的优化结果见表1。两种算法优化后得到的设计变量如表2所示,弹丸出炮口瞬时的水平、垂向角速度如表3所示。

表1 优化结果对比

表2 优化后的设计变量对比

表3 优化后的水平、垂向角速度对比

通过对比可以看出,采用Filter-SQP算法与SQP算法对炮口扰动进行优化均取得一定的效果,两者优化后的结果十分相近。SQP算法迭代6次,共计算模型56次,而Filter-SQP算法迭代10次,共计算模型35次。Filter-SQP算法虽然迭代次数多一些,但是归结到目标函数的计算却大大小于SQP算法,主要原因是SQP算法在每一个迭代步,除了要计算灵敏度,还要进行线性搜索,因此SQP算法下降比较快,而对目标函数的计算次数却大于Filter-SQP算法。

由此可以看出,采用Filter-SQP算法在达到相同的优化效果的同时,显著减少优化所需要的时间。而且,该算法不仅针对车载火炮发射动力学问题,对其他复杂的火炮发射动力学优化问题也同样适用。

5 结 论

本文以某车载火炮为例,采用Filter-SQP算法对火炮发射动力学模型进行优化,并与SQP算法进行了对比分析。结果表明,该算法可以显著降低模型的求解次数,减少优化所需的时间,比较适用于复杂的火炮发射动力学优化问题。

[1] 潘振宽,丁洁玉,高磊,等.多体系统动力学动态最优化设计与灵敏度分析[J].力学学报,2005,37(5):611-618.

PAN Zhen-kuan, DING Jie-yu, GAO Lei,et al. Dynamic optimiziation of multi-body system dynamics and design sensitivity analysis[J]. Chinese Journal of Theoretical and Applied Mechanics, 2005,37(5):611-618.(in Chinese)

[2] 于子平,钱林芳,徐亚东.基于动力学仿真的车载火炮射击稳定性优化[J].火炮发射与控制学报,2006(3):36-40.

YU Zi-ping, QIAN Lin-fang,XU Ya-dong.Firing stability optimization of truck mounted gun system based on dynamic simulation[J].Journal of Gun Launch & Control, 2006(3):36-40.(in Chinese)

[3] 贾长治,郑坚.结构设计参数对火炮炮口振动影响的仿真及基于SQP方法的优化[J].机械工程学报,2006,42(9):130-134.

JIA Chang-zhi, ZHENG Jian. Effect simulation of design parameters on muzzle vibration of guns and optimization with SQP method[J].Chinese Journal of Mechanical Engineering,2006,42(9):130-134.(in Chinese)

[4] 李董辉,童小娇,万中.数值最优化算法与理论[M].北京:科学出版社,2010.

LI Dong-hui,TONG Xiao-jiao,WAN Zhong. Numerical optimization algorithm and theory[M]. Beijing:Science Press, 2010.(in Chinese)

[5] ROGER FLETCHER,SVEN LEYFFER. Nonlinear programming without a penalty function[J].Mathematical Programming, 2002,91(2):239-269.

[6] 高树滋,陈运生,张月林,等.火炮反后坐装置设计[M].北京:兵器工业出版社,1995.

GAO Shu-zi, CHEN Yun-sheng, ZHANG Yue-lin,et al. Design of recoil system for guns[M]. Beijing:The Publishing House of Ordance Industry,1995.(in Chinese)

猜你喜欢
炮口火炮角速度
基于Fluent的某小口径火炮炮口流场仿真及射手防护研究
智能辅助驾驶系统中横摆角速度信号估计方法的研究
大口径线膛炮炮口振动位移测量方法
火炮也减肥
基于电磁感应的炮口测速装置设计与试验研究
高中物理角速度矢量性问题的教学探究
圆周运动角速度测量方法赏析
埋头弹火炮高效低危害炮口制退器的实验研究
乌拉尔车辆厂将建立一条自动化生产线
半捷联雷达导引头视线角速度提取