武瀚文,查启程,梁 燊,张仕会
(1. 中国人民解放军92941部队,辽宁 葫芦岛 125000;2. 江苏自动化研究所,江苏 连云港 222061)
炮兵是现代战争中重要的火力打击力量,火炮对战争的发展起着非常重要的作用[1]。现存大部分火炮采用非制导炮弹,精度较差,需要进行火控修正[2]。利用雷达探测数据,求弹道起点或落点位置称为弹道外推。弹道外推算法是火控计算中极其重要的一环,提高弹道外推算法的精度,可提高火控精度,有利于发挥火炮的威力[3]。
早期的弹道外推算法大多采用多项式近似弹道曲线,而后逐渐发展到使用弹道模型或者一些机器学习诸如支持向量机等技术[4]。由于火炮发射的特殊性,膛内弹载环境高温、高压、高动态、高过载、高速旋转,导致传感器抵抗在火炮身管中运动的弹丸高过载作用的能力差,加上成本的影响,较少在非制导弹丸上安装角度传感器,常采用雷达测量弹丸出炮口后的位置和速度信息,代入弹道算法后外推,从而进行火控计算。现有的传统弹道外推算法[5-17]大多使用各种滤波(卡尔曼,粒子)或平滑算法(最小二乘)处理雷达测量的位置和速度数据后,直接代入质点弹道方程计算落点,然而质点方程无法描述起始扰动的角运动对弹道外推以及对射击精度、落点散布的影响,在长距离大射角情况下可能造成较大外推误差,无法满足现代战争的需要,存在一定的不足。要想使弹道外推算法有较大的提高,并考虑各种随机因素对精度的射击修正,必须采用更精确的数学模型(如六自由度弹道方程)。计算机的高度发展已为采用更精确的数学模型进行弹道外推提供了方便条件。
基于以上分析,本文对现有的传统弹道外推算法进行了改进,以某弹为例,从六自由度弹道方程入手,对只有位置坐标数据的雷达弹道测试信息进行分析处理,利用相邻测试点的弹道连续性,提出使用遗传算法辨识弹丸的实时姿态角,取末端时刻弹丸的“位置速度数据”和“角度角速度辨识数据”为六自由度弹道计算初始值,外推弹道落点。仿真和试验的外推结果验证了本文所提方法的有效性,本文方法具有普适性,可推广于其他弹丸的四自由度或五自由度的弹道模型外推。
为了更加准确地描述弹丸在空中实际运动的情况,本文采用考虑动不平衡、质量偏心、阵风等因素的普通炮弹外弹道六自由度方程组为[1]
(1)
(2)
(3)
(4)
(5)
(6)
sinθrsinδr2)
(7)
(8)
(9)
(10)
My(cosδr1sinδr2cosαr-sinδr1cosαr)]+
(11)
My(cosδr1sinδr2cosαr+sinδr1cosαr)]-
(12)
在榴弹六自由度外弹道方程组中,启动循环计算需要12个独立的起始参量,包括位置、速度、角度、角速度信息,定义为状态矢量
(13)
而雷达测试数据中只有位置速度信息,因此在传统弹道外推算法中,大多数学者直接把滤波(平滑)后的位置速度信息代入质点外弹道方程组中外推落点,然而由于质点弹道模型未考虑姿态角,因此无法分析起始扰动中角信息对射击精度的影响,且长距离计算可能会有较大误差,所以此类外推算法具有较大的局限性。本节为弥补传统弹道外推算法的不足,根据雷达测量弹道上点的连续性和相关性,通过连续的位置与速度信息,使用遗传算法辨识弹丸飞行中的姿态角度信息,进行六自由度弹道外推,在其他参数都较为精确的情况下,可降低传统外推算法中的模型误差。
尽管雷达测试数据滤波后只有每个测试点的位置与速度信息,并无姿态角信息,但是弹丸飞行过程中,其弹道上的各个点都是连续和相关的,任意一点的弹道诸元(位置、速度、角度、角速度)都与其上一点和下一点的弹道诸元有联系。因此,在前面建立的六自由度外弹道飞行动力学方程组中,观察式(10)、(11)、(12)可知自转角和高低、方向摆动角(γ,φa,φ2)未知且互相独立,若已知雷达测试滤波后连续两时刻(ti时刻和ti+1时刻)的位置速度信息(x,y,z,vx,vy,vz)i和(x,y,z,vx,vy,vz)i+1,则以ti时刻的自转角和高低、方向摆动角(γ,φa,φ2)i为设计变量,可将弹丸姿态角辨识归结为以下非线性优化问题:
(14)
遗传算法[18](Genetic Algorithms)是一种模拟生物进化过程中自然选择和遗传变异等生物机制的启发式全局搜索优化算法。其本质上也是一种迭代方法,但又与其他传统的基于导数的解析方法或其他启发搜索方法有很多不同之处,是一种易于实现且效果较好的优化算法。应用本文建立的榴弹飞行动力学数值仿真系统,结合遗传算法,对设计变量进行选择、交叉、变异等遗传操作,即可进行高效全局优化。
本节的遗传算法主要操作过程如下[19]:
1) 编码:将设计变量中每一个实数变量采用二进制编码形式表示为一个{0,1}二进制串。
2) 产生初始种群:初始种群中包含姿态角方案,其余由随机产生的满足式(14)中约束条件的个体组成。由于本节优化属于“高度约束”问题,对后代种群中不满足约束条件的个体进行了拒绝。
3) 计算适应度:构造的最优化问题为最小二乘问题,本文构造适应度函数
(15)
4) 基本操作:遗传算法的三个基本操作为选择、交叉、变异,本节采用赌轮算法进行选择,采用二进制均匀算法进行交叉,采用二进制进行变异,交叉率定为0.8,变异率定为0.02。
5) 结束条件:选取适应度函数值和遗传代数作为优化搜索结束的条件,即Fitness(f(γ,φa,φ2)i)>α或Generation>m满足其一即停止搜索,α的选取体现了对速度误差的预期要求,可根据实际工程需要设置,m为遗传代数。
(16)
因此姿态角辨识的具体计算步骤如下:
1)已知弹丸在雷达测试连续四点,即第ti-1时刻、第t时刻、ti+1时刻、ti+2时刻测试的坐标和速度,(X,V)i-1、(X,V)i、(X,V)i+1和(X,V)i+2;
2)使用(X,V)i-1和(X,V)i通过遗传算法辨识出(γ,φa,φ2)i;
3)使用(X,V)i和(X,V)i+1通过遗传算法辨识出(γ,φa,φ2)i;
4)使用(X,V)i+1和(X,V)i+2通过遗传算法辨识出(γ,φa,φ2)i+1;
为验证本文算法在实际情况下的效果,利用现有的某弹某射角实弹射击试验雷达测量数据进行验证。由于是我方弹丸,其弹重、弹丸气动、风等参数都已知,将某发实弹射击雷达测试上升段的1~2 s的数据滤波后的结果作为初始条件,输入本文建立角度辨识方法,而后进行弹道外推。把外推后的结果和全弹道实测结果进行对比,可得图2~图6。表1为用本法进行弹道外推落点、传统质点外推(质点模型)落点与实际落点对比表。
图1 六自由度弹道外推算法流程图
图2 实际情况下本文方法外推弹道高对比图
图3 实际情况下本文方法外推偏流对比图
图4 实际情况下本文方法外推X方向速度对比图
图5 实际情况下本文方法外推Y方向速度对比图
图6 实际情况下本文方法外推Z方向速度对比图
表1 实际情况下外推弹着点误差分析表
在实际情况下,从图2~图6和表1中可以看出,本文方法外推结果与真实曲线和落点数据吻合较好,表明了本文外推算法的正确性,且外推精度较传统质点外推算法好。本文方法射程X方向的外推结果与传统质点外推的结果相差不大,但偏流Z外推结果好于传统质点外推结果,这是由于质点弹道方程无法计算动力平衡角引起的偏流,常使用经验公式或者修正项来进行偏流的计算,具有局限性。在大口径弹丸长距离射击过程中进行火控修正时,需要特别注意偏流引起的火控方向角的修正误差。
在图6的40~80 s之间,X与Z方向的仿真的速度与实际速度有些许误差,在此批弹其他发弹丸弹道测试数据中也存在此情况,表明此情况不受单发弹丸因素影响。从本次试验的气象条件看,高空风速较大,最大弹道高附近达到70~80 m/s左右,在这种情况下高空风的测量误差可能较大,由此导致外推在X、Z方向有偏差。
在实际弹道试验中,往往仿真结果与实际情况有些许误差,这是由于弹道计算的三大误差,即弹道模型(三或六自由度)误差、模型参数(风、气动)误差和初始条件(起始扰动)误差的共同影响。风作为一种气象环境的主要因素,对弹丸飞行过程有重要影响,尤其是对于常规无控弹药和弹道修正弹的无控飞行段,风速的变化是引起射击修正的重要因素。然而现有的风辨识方法未能考虑起始扰动的精确计算,不得不人为假定弹丸起始扰动值或对起始扰动进行补偿[20-21]。本文只考虑了弹道模型对外推的影响,未来的工作是进行基于起始扰动的模型参数(比如风)的辨识,而后对弹道外推的影响。
本文在只有雷达测量的位置和速度数据的基础上,将遗传算法应用于弹丸的实时姿态角辨识,提出了基于遗传算法的六自由度弹道外推算法,并在仿真和试验条件下验证了本文方法的有效性。本文方法也可扩展到四自由度、五自由度等其他模型的弹道外推,为客观评价火炮动态性能和提高火控精度提供了新的技术支持。