基于姿态更新算法的仿真实体行为建模*

2016-08-10 05:32张昀申
计算机与数字工程 2016年7期

张昀申

(92941部队 葫芦岛 125001)



基于姿态更新算法的仿真实体行为建模*

张昀申

(92941部队葫芦岛125001)

摘要根据捷联惯导姿态更新算法,利用组件思想及工厂机制对仿真实体的行为模型进行了工程实现,实现了对仿真实体的行为模拟,为创建具有一定智能性的虚拟兵力实体提供了一种解决方案,满足了虚拟战场建设的需要。

关键词捷联惯导; 姿态更新; 仿真实体; 行为建模

Class NumberTN967.2

1引言

姿态更新算法是捷联惯导系统解算的核心,也是影响捷联惯导系统精度的主要因素之一[1],主要有欧拉角法、方向余弦法、四元数法、等效旋转矢量法等。

计算机生成兵力[2](Computer Generated Forces,CGF)技术是作战仿真的重要环节,它具有不受时空限制的优点,为参与者提供可以交互的作战对手或友军支援,提升虚拟战场环境的复杂性与对抗性。

本文根据组件思想及工厂机制,利用捷联惯导姿态更新算法对仿真实体的行为模型进行了工程实现,实现了对仿真实体的行为模拟,为创建具有一定智能性的虚拟兵力实体提供了一种解决方案,满足了虚拟战场建设的需要。

2姿态更新算法

Miller R B[3]提出了三子样优化算法,大大改进了锥运动环境中算法的性能。Lee J G等[4]提出四子样算法,在高频锥运动中的性能优于三子样算法。Yeon F J[5]提出了改进的捷联惯导姿态更新算法,该方法的估计误差至少减少两个数量级,同时降低了计算量。Savage P G[6~7]给出了现今捷联惯导系统中所使用的综合设计方法。Limanovich Y A[8]提出了与Savage P G给出的速度和位置算法不同的两种捷联导航算法。

四元数法和等效旋转矢量法为目前常用的姿态更新算法。但四元数算法对有限转动引起的不可交换误差的补偿程度不够,所以只适用于低动态运载体的姿态解算。对于高动态运载体,四元数姿态解算中的算法漂移十分严重。等效旋转矢量算法可以采用多子样算法来实现对不可交换误差的有效补偿,并且可通过对系数的优化处理使算法漂移在相同子样算法中达到最小,因而特别适用于用于飞机等高动态、大机动载体的姿态更新。

由文献[1]推导的旋转矢量与姿态四元数的关系,可得:

Q(tk+1)=Qtk⊗q(h)

(1)

式中,⊗表示四元数乘法运算。

(2)

Φ为等效旋转矢量,|Φ|为Φ的模;q(h)称为[tk,tk+1]时间段内的姿态变化四元数。工程上常用的等效旋转矢量Φ近似的微分方程为[1]

(3)

将运载体的角速度用抛物线进行拟合,得出旋转矢量的三子样算法[1]:

(4)

(5)

(6)

由式(5)、式(6)得

(7)

其中,θ∈(-90°,90°),γ=(-180°,180°),ψ∈(360°,360°)。

航向角和横滚角的真值如表1、表2。

表1 航向角ψ的真值表

表2横滚角γ的真值表

γ主T33γ++γ主-+-γ主-180°--γ主+180°

(8)

3仿真实体行为模型的实现

3.1基于参数数据库的实体模型

实体模型的描述采用基于实体参数数据库(Entity Parameters Database,EPD)的形式,如图1所示[2]。EPD由实体参数表(Entity Parameters Table,EPT)构成,EPT以结构化的语言描述实体的实例化信息,对实体的组成构件、内部交互关系、外部接口等进行定制。静态类库(Class Library)提供创建实体及其构件的模版。实体及其构件的构造基于抽象工厂模式(Abstract Factory),一种对象类型相当于一种“产品”,对应有一种“工厂”提供创建服务[10]。在实体的构造过程中,剧情给出需求、静态类库提供资源、实体参数数据库提出要求、工厂负责具体实施。

图1 基于参数数据库的实体构造模型

3.2行为模型组件的类结构

将仿真行为模型对应的控制器组件命名为DecisionMaking,在态势生成软件中所有与固定翼飞机机动相关的控制器均由DtFixedWingPilotController派生,因此新创建DtDecisionMaking类也将该类作为父类。

决策行为控制器类的结构定义为:

class DtDecisionMaking : public DtFixedWingPilotController

{public:

//构造函数

DtDtDecisionMaking(constDtString&name,DtVrfObject*owner,DtSimManager*simManager,DtComponentDescriptor*desc=NULL,DtReaderWriterRegistry* const parentRegistry = 0);

//析构函数

virtual ~ DtDtDecisionMaking ();

//仿真推进

virtual void tick();

//在creator()成员函数中返回派生组件的新的实例,并用组件工厂注册

static DtSimComponent* creator(const DtString& name, DtVrfObject*

owner,DtSimManager*simManager,DtComponentDescriptor*desc,DtReaderWriterRegistry* parentRegistry);

protected:

//创建端口

virtual bool createPorts();

};

DtDecisionMaking类中的成员函数type()返回"decision-making-controller"作为标识。creator()成员函数返回派生组件的新实例,并用组件工厂注册。成员函数setComponentDescriptor()重载基类成员函数,检查组件设置的描述符类型,并缓存指向新派生类型的指针。

创建组件描述符和"decision-making-descriptor",需要为组件描述符实现与组件类似的type()和creator()成员函数,它指定了要创建的组件类型,并提供设置参数的方式,组件通过描述符中指定的端口和端口实现相互连接。

3.3行为组件的加载

创建行为组件完毕,后端驱动引擎将在初始化后对组件进行加载。由只含一个主线程VRSim的仿真引擎进行调度运行,运行流程如图2所示。

图2 VRSim运行流程

4结语

本文根据惯导姿态更新算法和组件复用思想,利用态势生成软件创建了仿真实体行为模型,以封装的方式进行工程应用,为创建具有一定智能性的虚拟兵力实体为建立虚拟战场环境提供了一种解决方案。

参 考 文 献

[1] 秦永元.惯性导航[M].北京:科学出版社,2006:287;298-299;306-311;311-315;331-333;334-336;340-341;346-350.

QIN Yongyuan. Inertial Navigation[M]. Beijing: Science Press,2006:287;298-299;306-311;311-315;331-333;334-336;340-341;346-350.

[2] 王勃,潘长鹏,张昀申,等.VR-Force开发[M].北京:国防工业出版社,2011:15-16.

WANG Bo, PAN Changpeng, ZHANG Junshen, et al. Development of VR-Force[M]. Beijing: National Defend Industry Press,2011:15-16.

[3] Miller R B. A new strapdown attitude algorithm[J]. AIAA Journal of Guidance, Control and Dynamics,1983,6(4):287-291.

[4] Lee J G,Yoon Y J, Mark J G, et al. Extension of strapdown attitude algorithm for high-frequency base motion[J]. Journal of Guidance,1990,13(4):738-743.

[5] Yeon F J, Yu P L. Improved strapdown coning algorithm[J]. IEEE Transactions on Aerospace and Electronic Systems,1992,28(2):484-490.

[6] Savage P G. strapdown inertial navigation integration algorithm design, Part 1: AIAA Journal of Guidance, Control and Dynamics,1998,21(1):19-28.

[7] Savage P G. strapdown inertial navigation integration algorithm design, Part 2: Velocity and Position algorithm[J]. AIAA Journal of Guidance, Control and Dynamics,1998,21(1):208-221.

[8] Litmanovich Y A, Lesyuchevsky V M, Gusinky V Z. Two new classes of strapdown navigation algorithms[J]. AIAA Journal of Guidance, Control and Dynamics,2000,23(1):34-44.

[9] 戴邵武,徐胜红,史贤俊,等.惯性技术与组合导航[M].北京:兵器工业出版社,2009:204-213;120-125.

DAI Shaowu, XU Shenghong, SHI Xianjun, et al. Inertial Technology and Integrated Navigation[M]. Beijing: Publishing House of Ordnance Industry,2009:204-213;120-125.

[10] 温玮,何友,李牧.基于参数数据库的CGF实体框架结构研究[J].系统仿真学报,2007,19(6):1231-1237.

WEN Wei, HE You, LI Mu. Research on CGF Entity Framework Based on Parameter Database[J]. Journal of System Simulation,2007,19(6):1231-1237.

收稿日期:2016年1月17日,修回日期:2016年2月22日

作者简介:张昀申,男,硕士,工程师,研究方向:组合导航。

中图分类号TN967.2

DOI:10.3969/j.issn.1672-9722.2016.07.010

Simulation Behaviour Model Based on Strapdown Attitude Algorithm

ZHANG Yunshen

(No. 92941 Troops of PLA, Huludao125001)

AbstractBased on strapdown SINS attitude algorithm, simulation entity behavioral model was realized by using the component theory and the factory mechanism, and simulated entity behavioral. The model provided a new way for creating visual intelligence forces entity in some extent. The requirement of visual battlefield construction suffice was reached.

Key WordsSINS, strapdown, simulation entity, behavioral model