本发明涉及参数辨识技术领域,特别是一种基于扩展卡尔曼滤波的高速旋转弹气动参数辨识方法。
背景技术:
火炮武器在战场中反应迅速,能够提供强大且持续的火力支援,是未来部队联合作战的重要组成单元。获取传统高速旋转稳定弹丸准确的气动参数,对于提高火炮射表精度、减小落点散布、增强打击精度具有重要的意义。获取弹丸气动参数的方法主要有三种:第一种方法通过理论计算得出气动参数,第二种方法采用风洞吹风法,第三种方法利用弹丸的自由飞行数据对弹丸的气动参数进行离线辨识。其中,理论计算方法虽然简单,但由于模型中的未建模因素和不确定因素导致计算结果存在一定的误差;风洞吹风法作用于弹丸模型,结果较为准确但由于其成本较高,不能够精准地模拟高速旋转等状态,因而该方法也有缺陷;利用弹丸自由飞行数据辨识弹丸的气动参数,不仅符合实际情况,还能根据辨识结果,及时对弹丸进行调整,从而提高炮弹的打击精度。
用于参数辨识的方法通常有递推最小二乘法、递推极大似然法、卡尔曼滤波法等。史继刚基于粒子群初值选取的牛顿迭代优化算法辨识弹丸的零升阻力系数,该方法基于最大似然准则,相比于卡尔曼滤波法实现更加困难;管军等提出一种新的自适应混沌变异粒子群算法来求解该准则下的气动参数最优解,进而得到弹丸的气动参数,但是其在工程上比较难以实现;rogers等提出了一种基于证据理论的参数估计方法,偏于理论计算;史金光等利用扩展卡尔曼滤波法对弹道修正弹的阻力和升力符合系数进行了辨识,并且由此对后续弹道进行了修正,然而该方法要求较高,难以在实际应用中实现。
技术实现要素:
本发明提出了一种基于扩展卡尔曼滤波的高速旋转弹气动参数辨识方法。
实现本发明的技术解决方案为:一种基于扩展卡尔曼滤波的高速旋转弹气动参数辨识方法,具体步骤为:
步骤1、建立高速旋转弹四自由度动力学模型;
步骤2、根据高速旋转弹四自由度动力学模型,利用扩展卡尔曼滤波辨识气动参数,具体为:
步骤2-1、将待辨识参数加入状态变量中形成增广状态向量,得到增广之后的状态方程和量测方程;
步骤2-2、根据实际工程的初始值以及增广之后的状态方程和量测方程进行滤波计算,得到每一时刻的增广状态变量的估计值以及待辨识参数估计值。
进一步地,建立的高速旋转弹四自由度动力学模型具体为:
式中,vx、vy、vz分别为弹丸在x、y、z方向的速度,x、y、z为弹丸的位置坐标;γ为滚转角,
进一步地,步骤2-1中得到的增广之后的状态方程和量测方程为:
y(t)=ga[xa(t),u(t)]
z(k)=y(k)+gv(k)
式中,f为系统噪声转移矩阵,g为量测噪声转移矩阵,w(t)为系统噪声,v(k)为量测噪声,xa(t)为增广状态变量,u(t)为外部输入,β为待辨识参数,y(t)为连续时间下的观测向量,z(k)为量测向量。
进一步地,步骤2-2中得到每一时刻的增广状态变量的估计值以及待辨识参数估计值的具体步骤为:
步骤2-2-1、确定初始时刻的增广状态变量估计值及增广状态变量误差协方差矩阵估计值;
步骤2-2-2、根据k-1时刻的增广状态变量估计值及增广状态变量误差协方差矩阵估计值得到k时刻的增广状态变量预测值及增广状态变量误差协方差矩阵的预测值;
优选地,k时刻的增广状态变量预测值及增广状态变量误差协方差矩阵的预测值具体为:
步骤2-2-3、根据求得的k时刻的增广状态变量误差协方差矩阵预测值以及k时刻的增广状态变量的预测值得到k时刻的增广状态变量误差协方差矩阵估计值以及k时刻的增广状态变量的估计值;
优选地,k时刻的增广状态变量误差协方差矩阵估计值以及k时刻的增广状态变量的估计值具体为:
增广状态变量误差协方差矩阵估计值:
k时刻的增广状态变量的估计值:
式中,u(k)为外部输入,i为单位矩阵,z(k)为k时刻的量测向量,ka(k)为k时刻的滤波增益矩阵,ca(k)为ga对xa的雅克比矩阵,
步骤2-2-4、返回步骤2-2-2,直至量测向量完结。
在实际运用中,根据实际情况选定初始条件,进行参数辨识,运用本方法时,要先确定炮弹发射时的气象条件,对应不同型号的高速旋转弹,具有不同的物理参数。确定高速旋转弹发射的初速度、射角、初始滚转角速度,确定观测值和量测方程,选择计算机语言进行编程实现。
本发明与现有技术相比,其显著优点为:本发明采用扩展卡尔曼滤波进行参数辨识,基于实际项目测得的数据,具有实际性能;同时,用扩展卡尔曼滤波辨识的成本较低,精度更高;扩展卡尔曼滤波法适合于各种各样的弹道模型,对于不同控制系统的炮弹还能做出及时调整;本发明根据炮弹前半段的飞行数据辨识出气动参数,然后根据辨识结果对炮弹进行及时调整以提高射击精度,具有实时性;本发明适用于非线性系统,其算法简单、实用性强、精度高,在已经获得观测值的情况下,通过弹丸的运动方程和滤波算法就可以获得相应的气动参数。
下面结合说明书附图对本发明做进一步说明。
附图说明
图1为本发明的流程图。
图2为实施例1中辨识零升阻力系数的结果示意图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
如图1所示,一种基于扩展卡尔曼滤波的辨识高速旋转弹气动参数滤波方法,包括以下步骤:
步骤1、建立高速旋转弹四自由度动力学模型,四自由度动力学模型建立在地面坐标系下。
进一步的实施例中,所述高速旋转弹四自由度动力学模型具体为:
弹丸相对于空气的速度为:
动力平衡角αe的直接计算公式为:
直接计算公式中的参数为:
式中,vx、vy、vz分别为弹丸在x、y、z方向的速度;x、y、z为弹丸的位置坐标;γ为滚转角,
步骤2、根据高速旋转弹四自由度动力学模型,利用扩展卡尔曼滤波辨识气动参数,具体为:
步骤2-1、将待辨识参数加入状态变量中形成增广状态向量,得到增广之后的状态方程和量测方程;
根据步骤1中所列出的动力学模型,有8个状态变量,状态向量为:
本发明是根据系统测量量间接估计系统状态量,所以把系统建模过程中的未知参数(气动参数)当做状态变量处理,建立增广式状态方程。方程(1-8)可以写成
由于在实际工程中,不能得到所有的状态变量,只能得到部分状态变量或者和状态变量有关的变量作为观测值,所以量测方程是状态向量x(t)与观测值z(k)之间的关系方程。式中,x(t)为状态向量,x(t0)为初始状态向量,u(t)为外部输入,y(t)为连续时间下的观测向量,y(k)为离散时间下的观测向量,β为未知的参数向量,z(k)为量测向量,f为系统噪声转移矩阵,g为量测噪声转移矩阵,w(t)为系统噪声,v(k)为量测噪声。
设待辨识参数为β,在小范围内可视为常量,因此有如下方程:
将其加入状态方程之中,将β加入状态变量之中,形成增广状态变量:
进一步的实施例中,增广之后的状态方程和量测方程为:
y(t)=ga[xa(t),u(t)]
z(k)=y(k)+gv(k)
步骤2-2、根据实际工程的初始值以及增广之后的状态方程和量测方程,得到每一时刻的增广状态变量的估计值以及待辨识参数估计值,具体步骤为:
步骤2-2-1、确定初始时刻的增广状态变量估计值及增广状态变量误差协方差矩阵估计值。
根据实际工程中可以得到的初始数据,得到初始增广状态变量:
根据以往的统计数据得到初始状态误差协方差矩阵:
式中,
设连续时间条件下t=t0时刻,对应着离散时间k=1时刻,t0时刻(初始时刻)的增广状态变量估计值及增广状态变量误差协方差矩阵估计值分别等于
用
步骤2-2-2、从步骤2-2-1确定的初始时刻的增广状态变量估计值及增广状态变量误差协方差矩阵估计值开始,根据k-1时刻的增广状态变量估计值及增广状态变量误差协方差矩阵估计值得到k时刻的增广状态变量预测值及增广状态变量误差协方差矩阵预测值。
将增广后的状态方程线性化,用增广后的状态函数fa对k-1时刻的增广状态变量估计值
从而得到状态转移矩阵φa(k):
δt为k-1时刻到k时刻的时间间隔。
由k-1时刻的估计值得到k时刻的预测值:
步骤2-2-3、根据步骤2-2-2求得的k时刻的增广状态变量误差协方差矩阵预测值以及k时刻的增广状态变量的预测值得到k时刻的增广状态变量误差协方差矩阵估计值以及k时刻的增广状态变量的估计值。
将增广后的量测方程线性化,用增广后的量测函数ga对k时刻的增广状态变量预测值
k时刻的滤波增益矩阵为:
k时刻的观测向量为:
k时刻的增广状态变量误差协方差矩阵的估计值为:
k时刻的增广状态变量的估计值为:
u(k)为外部输入,i为单位矩阵,z(k)为k时刻的量测向量。在实际工程项目中,z(k)为仪器设备能够测得的数据。从k-1时刻到k时刻,滤波得到的最终结果为
步骤2-2-4、返回步骤2-2-2,用k时刻的估计值得到k+1时刻的估计值,直到量测向量完结。这样就得到每一时刻的增广状态变量估计值,也就得到了每一时刻的待辨识参数估计值。
下面结合实施例对本发明做进一步说明。
实施例1
下面结合实施例进行更详细的描述。
某型号炮弹的参数设置如下表所示:
表1高速旋转弹的参数值
在表2的初始条件下,对零升阻力系数cx0进行参数辨识:
表2高速旋转弹的初始条件
待辨识参数β为cx0,则增广状态向量为:
增广后的状态方程和量测方程为:
y(t)=ga[xa(t),u(t)]
z(k)=y(k)+gv(k)
忽略外部输入u(t),将f和g视为单位矩阵。
实际情况下,只有三个速度和位置坐标可以测得,所以量测值为:
z=[vxvyvzxyz]t
本例中的
零升阻力系数cx0随马赫数变化,马赫数在高速旋转弹运动过程中不断变化。最终辨识cx0的结果如图2所示,其中ekf为扩展卡尔曼滤波的英文缩写。可以看出,该方法将高速旋转弹运动过程的零升阻力系数辨识了出来。