一种模拟环境中的导弹灰盒仿真器弹道配准方法与流程
admin
2021-01-14 19:40:17
0

一种模拟环境中的导弹灰盒仿真器弹道配准方法与流程

本发明属于参数辨识与计算机仿真技术领域,尤其涉及一种模拟环境中的导弹弹道配准方法。

背景技术:

弹道配准是指利用现有导弹仿真系统,在相同输入条件下,依照某种算法,从待辨识参数初始值出发,根据导弹模型计算弹道曲线,并与同类型但参数未知的其它导弹仿真系统所输出的弹道曲线进行误差比较,再依照算法逐步调整参数值,使弹道曲线误差达到最小的过程,属于参数辨识下的最值优化问题。需要辨识的整个导弹仿真系统可以看做是一个“灰盒”,该系统遵守基本物理定律,如牛顿第二定律和刚体动力学原理等,即整个系统在已知动力学、运动学方程和其它数学模型及规律的情况下,辨识导弹特定参数。弹道配准的一个典型应用是:空战模拟类游戏往往需要涉及多种导弹的弹道仿真与解算问题,其通常会为每种导弹分别建立弹道模型。在保证一定解算精度的前提下,可以通过设置不同的输入参数来复用某一弹道仿真解算模型,以支持多种导弹的弹道仿真功能并降低软件复杂性。

在导弹参数辨识中得到广泛应用的newton-raphson及其改进算法的最大似然法,这类方法具有收敛速度较快,计算量较小的优点。但也有相当的局限性,如当系统存在非线性或时滞时,无法求取梯度值。同时也存在对待辨识参数初值敏感问题,这些方法在优化设计中都始于一组特定参数,使得优化结果极易陷入在起始点附近,形成局部最优解,从而给优化时的参数初值选取造成较大困难。而且在求解灵敏度时,也会带来一些数值问题,从而对参数辨识结果的准确性产生较大的影响,严重时甚至会引起辨识过程的发散,而得不到有效结果。

技术实现要素:

为了克服现有技术的不足,本发明提供一种模拟环境中的导弹灰盒仿真器弹道配准方法,采用遗传算法解决参数辨识问题,其辨识思想和方法简单易行,不但避免了繁琐的灵敏度求解,也避免了可能出现的数值问题,而且能使辨识准确性明显增强,从而能够有效地提高参数辨识的可靠性和准确性。

本发明解决其技术问题所采用的技术方案包括以下步骤:

步骤1,采集发射时刻的导弹与敌方飞机初始位置作为一组典型设计点,重复该过程n次,得到n组典型设计点;

步骤2,将待辨识的导弹仿真系统作为灰盒仿真器,采集灰盒仿真器的弹道数据,在第k个典型设计点下的灰盒仿真器所输出的导弹轨迹位置集合

式中:

—灰盒仿真器在第k个典型设计点下所输出的的导弹第i个位置坐标;

n—典型设计点个数;

tk—在输入的第k个典型设计点下,灰盒仿真器所输出的弹道仿真时间;

t—仿真步长;

步骤3,将已知的导弹模型视为白盒仿真器,将步骤2中的相同输入传入该仿真模型,采集其输出的弹道数据,在第k个典型设计点下的白盒仿真器所输出的导弹轨迹位置集合

其中:

——白盒仿真器在第k个典型设计点下所输出的的导弹第i个位置坐标;

—在输入的第k个典型设计点下,白盒模型所输出的弹道仿真时间;

步骤4,设灰盒仿真器中的待辨识参数np为待辨识参数个数,表示第i个待辨识参数θi的寻优范围,pis表示该参数的搜索间隔,满足mod(pimax-pimin,pis)=0,mod(·)表示取余运算符;对每个待辨识参数采用随机方式进行初始化,染色体编码方式为实数编码,种群生成采用随机初始化方法;

步骤5,利用灰盒仿真器所生成的弹道轨迹数据,对每条染色体下的白盒仿真器的输出进行评估,分别设计因弹道轨迹和弹道时间无法配准而产生的惩罚项,在第i条染色体的第j个典型设计点下,分别为:

式中:

—因弹道轨迹无法配准而产生的惩罚项;

—在第i条染色体的第j个典型设计点下,因白盒与灰盒仿真器所输出的弹道轨迹长度在时间序列上无法配准而产生的惩罚项,为当灰盒仿真器所输出的弹道长度大于白盒仿真器时,需要计算的惩罚项,为当白盒仿真器所输出的弹道长度大于灰盒仿真器时,需要计算的惩罚项;

ts—弹道数据采样间隔;

—两组弹道在时间序列上经过弹道数据采样ts后重合部分的轨迹数量;

—两组弹道在时间序列上经过弹道数据采样ts后的非重合部分;

式中:

tj—输入的第j个典型设计点下,灰盒仿真器的弹道仿真时间;

—在第i条染色体的第j个典型设计点下,白盒仿真器的弹道仿真时间;

—在第i条染色体的第j个典型设计点下,白盒模型和灰盒模型的输出轨迹在时间序列上经过仿真步长t采样后所重合部分的轨迹数量;

—在第i条染色体的第j个典型设计点下,白盒模型和灰盒模型的输出轨迹在时间序列上经过仿真步长t采样后,取两条轨迹中的最大轨迹数量;

fix()—向下取整操作;

第i条染色体在第j个典型设计点下的适应度函数为:

式中:

α1—惩罚项系数;

α2—惩罚项系数;

第i条染色体的最终适应度函数为

步骤6,判断当前迭代次数step是否等于设定的最大迭代次数maxstep,若step=maxstep则停止算法,输出当前优势染色体;若step≠maxstep,则继续执行下面的步骤;

步骤7,对第g代种群θ(g)进行进化,具体进化方法如下:

设为第g代种群第i条染色体的解,所对应的适应度函数为fi,计算概率用于选择第i条染色体,是第g代种群所有染色体中的最大适应度值;

设交叉概率pic,根据上述在选择策略中所计算的第g代种群各染色体被选择概率pi(g),使用轮盘赌方法选择染色体c1和c2,对应的适应度值为fc1和fc2,对第i个待辨识参数按交叉概率pic进行交叉操作,产生两个新个体c′1和c’2,新个体的适应度值f′c1和f′c2通过步骤5进行计算,若f′c1>fc1,则接受c′1;若f′c2>fc2,则接受c’2;

设变异概率pim,根据上述在选择策略中所计算的第g代种群各染色体被选择概率pi(g),使用轮盘赌方法选择染色体m1,其适应度值为fm1,对第i个待辨识参数按变异概率pim进行变异操作,产生新个体m′1,新个体的适应度值f′m1通过步骤5进行计算,若f′m1>fm1,则接受m′1,否则接受m1;

步骤8,计算当前进化后新种群的最优解,并令迭代次数step加1,返回步骤6。

所述的步骤1中,n取[5,10]范围内的整数。

所述的步骤2中,仿真步长t取值范围为[0.02,0.5]。

所述的步骤5中,弹道数据采样间隔ts取[1,5]之间的整数;惩罚项系数α1取2;惩罚项系数α2取2。

所述的步骤6中,maxstep取50。

所述的步骤7中,交叉概率pic=0.66,变异概率pim=0.34。

本发明的有益效果是:采用遗传算法解决参数辨识问题,其辨识思想和方法简单易行,不但避免了繁琐的灵敏度求解,也避免了可能出现的数值问题,而且能使辨识准确性明显增强,从而能够有效地提高参数辨识的可靠性和准确性。基于遗传算法的参数辨识,对初值问题不敏感,同时也不要求目标函数具有连续性和可导性,不存在传统优化方法对搜索空间的苛刻要求,因而具有极强的鲁棒性。此外,作为一种随机性优化方法,遗传算法在每一代可以同时搜索待辨识参数空间的不同区域,并将搜索方向指向具有较高概率找到更优解的区域,因此具有良好的全局优化特性,它可以同时处理搜索空间中的多个点,增加了收敛到全局最优解的可能性,因此特别适合处理参数辨识问题。

附图说明

图1是本发明的系统结构框图;

图2是本发明的方法流程图。

具体实施方式

本发明提供了一种基于改进遗传算法的弹道配准方法以对导弹特定参数进行辨识,将空战模拟类游戏里需要被复用的导弹模型视为灰盒仿真器,将游戏中的通用导弹模型视为白盒仿真器,通过确定白盒仿真器中的待辨识参数来对灰盒仿真器所生成的弹道轨迹进行拟合的过程,从而实现弹道配准。辨识系统结构框图如图1所示。

该方法的流程包括:

步骤1:在空战模拟类游戏中,采集导弹在发射时刻的导弹与敌方飞机初始位置作为一组典型设计点,重复该步骤n次;每组典型设计点反应了当前环境中的敌我态势。n的取值大小会影响算法运行时间及轨迹拟合精度,为保证算法性能,n可取[5,10]之间的整数;将这n组典型设计点作为灰盒/白盒仿真器的输入;

步骤2:将待辨识的导弹仿真系统作为灰盒仿真器,采集灰盒仿真器的弹道数据,记为:

式中:

bk—在第k个典型设计点下的灰盒仿真器所输出的导弹轨迹位置集合;

—灰盒仿真器在第k个典型设计点下所输出的的导弹第i个位置坐标;

n—典型设计点个数,取值大小在步骤1中指定;

tk—在输入的第k个典型设计点下,灰盒模型所输出的弹道仿真时间;

t—仿真步长;其取值大小会影响算法运行时间及轨迹拟合精度,为保证算法性能,t可取范围为[0.02,0.5];

步骤3:将游戏中的通用导弹模型视为白盒仿真器,将步骤2中的相同输入传入该仿真模型,采集其输出的弹道数据,,记为

其中:

wk—在第k个典型设计点下的白盒仿真器所输出的导弹轨迹位置集合;

——白盒仿真器在第k个典型设计点下所输出的的导弹第i个位置坐标;

n—典型设计点个数,取值大小在步骤1中指定;

tk—在输入的第k个典型设计点下,白盒模型所输出的弹道仿真时间;

t—仿真步长;其取值大小与步骤2中一致;

步骤4:种群初始化,设灰盒模型中的待辨识参数np为待辨识参数个数,表示第i个待辨识参数θi的寻优范围,pis表示该参数的搜索间隔,满足mod(pimax-pimin,pis)=0,mod(·)表示取余运算符。对每个待辨识参数采用随机方式进行初始化。染色体编码方式为实数编码,种群生成采用随机初始化方法。

步骤5:适应度函数计算,利用灰盒所生成的弹道轨迹数据,对每条染色体下的白盒仿真器的输出进行评估,为提高参数辨识精度,分别设计了因弹道轨迹和弹道时间无法配准而产生的惩罚项,在第i条染色体的第j个典型设计点下,分别为:

式中:

—因弹道轨迹无法配准而产生的惩罚项;其计算方式为白盒与灰盒仿真器在第i条染色体的第j个典型设计点下,二者所输出的弹道轨迹在时间序列上的重合部分所产生的位置误差累加和;

—在第i条染色体的第j个典型设计点下,因白盒与灰盒仿真器所输出的弹道轨迹长度在时间序列上无法配准而产生的惩罚项,为当灰盒仿真器所输出的弹道长度大于白盒仿真器时,需要计算的惩罚项,为当白盒仿真器所输出的弹道长度大于灰盒仿真器时,需要计算的惩罚项;

ts—弹道数据采样间隔,一般取[1,5]之间的整数;

—两组弹道在时间序列上经过弹道数据采样ts后重合部分的轨迹数量。

—两组弹道在时间序列上经过弹道数据采样ts后的非重合部分;

表达式如下:

式中:

tj—输入的第j个典型设计点下,灰盒模型的弹道仿真时间;

—在第i条染色体的第j个典型设计点下,白盒模型的弹道仿真时间;

t—仿真步长;其取值大小与步骤2中一致;

—在第i条染色体的第j个典型设计点下,白盒模型和灰盒模型的输出轨迹在时间序列上经过仿真步长t采样后所重合部分的轨迹数量;

—在第i条染色体的第j个典型设计点下,白盒模型和灰盒模型的输出轨迹在时间序列上经过仿真步长t采样后,取两条轨迹中的最大轨迹数量;

ts—弹道数据采样间隔,一般取[1,5]之间的整数;

fix()—向下取整操作;

第i条染色体在第j个典型设计点下的适应度函数为:

式中:

α1—惩罚项系数,一般取2;

α2—惩罚项系数,一般取2;

第i条染色体的最终适应度函数为:

步骤6:判断当前迭代次数step是否等于最大迭代次数maxstep,若step=maxstep则停止算法,输出当前优势染色体;若step≠maxstep,则继续执行下面的步骤。为兼顾拟合精度与算法性能,maxstep可以取50。

步骤7:对第g代种群θ(g)进行进化。进化算子共分为两种,第一种为选择算子,第二种为交叉算子,具体进化方法如下:

1选择策略:设为第g代种群第i条染色体的解,所对应的适应度函数为fi,根据概率来选择第i条染色体的计算方法为:

式中:

—第g代种群所有染色体中的最大适应度值;

2交叉算子:设交叉概率pic,一般取pic=0.66,根据上述在选择策略中所计算的第g代种群各染色体被选择概率pi(g),使用轮盘赌方法选择染色体c1和c2,它们的适应度值为fc1和fc2,对第i个待辨识参数按交叉概率pic进行交叉操作,产生两个新个体c′1和c’2,新个体的适应度值f′c1和f′c2通过步骤5进行计算,若f′c1>fc1,则接受c′1;若f′c2>fc2,则接受c’2。

3变异算子:设变异概率pim,一般取pim=0.34,根据上述在选择策略中所计算的第g代种群各染色体被选择概率pi(g),使用轮盘赌方法选择染色体m1,其适应度值为fm1,对第i个待辨识参数按变异概率pim进行变异操作,产生新个体m′1,新个体的适应度值f′m1通过步骤5进行计算,若f′m1>fm1,则接受m′1,否则接受m1。

步骤8:计算当前进化后新种群的最优解,并令迭代次数step加1,返回步骤6。

该流程说明了一种对弹道进行配准的方法。通过多组不同条件下的典型设计点作为该灰盒模型的输入,采集弹道数据;然后将该输入传入另一待调导弹白盒仿真器,利用所采集的弹道数据对其输出结果进行评估,通过改进的遗传算法对白盒模型中的关键参数进行寻优搜索,进行弹道配准。本发明可以得到较为满意的配准结果。

将以上步骤综合起来的本发明方法流程图如图2所示。

下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。

本发明按照图2所示的流程图实施如下步骤:

步骤1:在空战模拟类游戏中,采集导弹在发射时刻的导弹与敌方飞机初始位置作为一组典型设计点,重复该步骤n次;每组典型设计点反应了当前环境中的敌我态势。n的取值大小会影响算法运行时间及轨迹拟合精度,为保证算法性能,n可取[5,10]之间的整数;将这n组典型设计点作为灰盒/白盒仿真器的输入;

步骤2:将待辨识的导弹仿真系统作为灰盒仿真器,通过n组典型设计点作为仿真器的输入来采集弹道数据,记为:

式中:

bk—在第k个典型设计点下的灰盒仿真器所输出的导弹轨迹位置集合;

—灰盒仿真器在第k个典型设计点下所输出的的导弹第i个位置坐标;

n—典型设计点个数,取值大小在步骤1中指定;

tk—在输入的第k个典型设计点下,灰盒模型所输出的弹道仿真时间;

t—仿真步长;其取值大小会影响算法运行时间及轨迹拟合精度,为保证算法性能,t可取范围为[0.02,0.5];

步骤3:将游戏中的通用导弹模型视为白盒仿真器,将步骤2中的相同输入传入该仿真模型,采集其输出的弹道数据,记为:

其中:

wk—在第k个典型设计点下的白盒仿真器所输出的导弹轨迹位置集合;

——白盒仿真器在第k个典型设计点下所输出的的导弹第i个位置坐标;

n—典型设计点个数,取值大小在步骤1中指定;

—在输入的第k个典型设计点下,白盒模型所输出的弹道仿真时间;

t—仿真步长;其取值大小与步骤2中一致;

步骤4:种群初始化,设灰盒模型中的待辨识参数np为待辨识参数个数,表示第i个待辨识参数θi的寻优范围,pis表示该参数的搜索间隔,满足mod(pimax-pimin,pis)=0,mod(·)表示取余运算符。对每个待辨识参数采用随机方式进行初始化。染色体编码方式为实数编码,种群生成采用随机初始化方法。

步骤5:适应度函数计算,利用灰盒所输出的弹道轨迹数据,对每条染色体下的白盒仿真器所输出的弹道轨迹进行评估,为提高参数辨识精度,分别设计了因弹道轨迹和弹道时间无法配准而产生的惩罚项,在第i条染色体的第j个典型设计点下,分别为:

式中:

—因弹道轨迹无法配准而产生的惩罚项;其计算方式为白盒与灰盒仿真器在第i条染色体的第j个典型设计点下,二者所输出的弹道轨迹在时间序列上的重合部分所产生的位置误差累加和;

—在第i条染色体的第j个典型设计点下,因白盒与灰盒仿真器所输出的弹道轨迹长度在时间序列上无法配准而产生的惩罚项,为当灰盒仿真器所输出的弹道长度大于白盒仿真器时,需要计算的惩罚项,为当白盒仿真器所输出的弹道长度大于灰盒仿真器时,需要计算的惩罚项;

ts—弹道数据采样间隔,一般取[1,5]之间的整数;

—两组弹道在时间序列上经过弹道数据采样ts后重合部分的轨迹数量。

—两组弹道在时间序列上经过弹道数据采样ts后的非重合部分;

表达式如下:

式中:

tj—输入的第j个典型设计点下,灰盒模型的弹道仿真时间;

—在第i条染色体的第j个典型设计点下,白盒模型的弹道仿真时间;

t—仿真步长;其取值大小与步骤2中一致;

—在第i条染色体的第j个典型设计点下,白盒模型和灰盒模型的输出轨迹在时间序列上经过仿真步长t采样后所重合部分的轨迹数量;

—在第i条染色体的第j个典型设计点下,白盒模型和灰盒模型的输出轨迹在时间序列上经过仿真步长t采样后,取两条轨迹中的最大轨迹数量;

ts—弹道数据采样间隔,一般取[1,5]之间的整数;

fix()—向下取整操作;

第i条染色体在第j个典型设计点下的适应度函数为:

式中:

α1—惩罚项系数,一般取2;

α2—惩罚项系数,一般取2;

第i条染色体的最终适应度函数为:

步骤6:判断当前迭代次数step是否等于最大迭代次数maxstep,若step=maxstep则停止算法,输出当前优势染色体;若step≠maxstep,则继续执行下面的步骤。为兼顾拟合精度与算法性能,maxstep可以取50。

步骤7:对第g代种群θ(g)进行进化。进化算子共分为两种,第一种为选择算子,第二种为交叉算子,具体进化方法如下:

4选择策略:设为第g代种群第i条染色体的解,所对应的适应度函数为fi,根据概率pi(g)来选择第i条染色体的计算方法为:

式中:

—第g代种群所有染色体中的最大适应度值;

5交叉算子:设交叉概率为pic,一般取pic=0.66,根据上述在选择策略中所计算的第g代种群各染色体被选择概率pi(g),使用轮盘赌方法选择染色体c1和c2,它们的适应度值为fc1和fc2,对第i个待辨识参数按交叉概率pic进行交叉操作,产生两个新个体c′1和c’2,新个体的适应度值f′c1和f′c2通过步骤5进行计算,若f′c1>fc1,则接受c′1;若f′c2>fc2,则接受c’2。

6变异算子:设变异概率pim,一般取pim=0.34,根据上述在选择策略中所计算的第g代种群各染色体被选择概率pi(g),使用轮盘赌方法选择染色体m1,其适应度值为fm1,对第i个待辨识参数按变异概率pim进行变异操作,产生新个体m′1,新个体的适应度值f′m1通过步骤5进行计算,若f′m1>fm1,则接受m′1,否则接受m1。

步骤8:计算当前进化后新种群的最优解,并令迭代次数step加1,返回步骤6。

该流程说明了一种对弹道进行配准的方法。通过多组不同条件下的典型设计点作为该灰盒模型的输入,采集弹道数据;然后将该输入传入另一待调导弹白盒仿真器,利用所采集的弹道数据对其输出结果进行评估,通过改进的遗传算法对白盒模型中的关键参数进行寻优搜索,进行弹道配准。本发明可以得到较为满意的配准结果。

将以上步骤综合起来的本发明方法流程图如图2所示。

相关内容