張昀申
(92941部隊(duì) 葫蘆島 125001)
?
基于姿態(tài)更新算法的仿真實(shí)體行為建模*
張昀申
(92941部隊(duì)葫蘆島125001)
摘要根據(jù)捷聯(lián)慣導(dǎo)姿態(tài)更新算法,利用組件思想及工廠機(jī)制對(duì)仿真實(shí)體的行為模型進(jìn)行了工程實(shí)現(xiàn),實(shí)現(xiàn)了對(duì)仿真實(shí)體的行為模擬,為創(chuàng)建具有一定智能性的虛擬兵力實(shí)體提供了一種解決方案,滿足了虛擬戰(zhàn)場(chǎng)建設(shè)的需要。
關(guān)鍵詞捷聯(lián)慣導(dǎo); 姿態(tài)更新; 仿真實(shí)體; 行為建模
Class NumberTN967.2
1引言
姿態(tài)更新算法是捷聯(lián)慣導(dǎo)系統(tǒng)解算的核心,也是影響捷聯(lián)慣導(dǎo)系統(tǒng)精度的主要因素之一[1],主要有歐拉角法、方向余弦法、四元數(shù)法、等效旋轉(zhuǎn)矢量法等。
計(jì)算機(jī)生成兵力[2](Computer Generated Forces,CGF)技術(shù)是作戰(zhàn)仿真的重要環(huán)節(jié),它具有不受時(shí)空限制的優(yōu)點(diǎn),為參與者提供可以交互的作戰(zhàn)對(duì)手或友軍支援,提升虛擬戰(zhàn)場(chǎng)環(huán)境的復(fù)雜性與對(duì)抗性。
本文根據(jù)組件思想及工廠機(jī)制,利用捷聯(lián)慣導(dǎo)姿態(tài)更新算法對(duì)仿真實(shí)體的行為模型進(jìn)行了工程實(shí)現(xiàn),實(shí)現(xiàn)了對(duì)仿真實(shí)體的行為模擬,為創(chuàng)建具有一定智能性的虛擬兵力實(shí)體提供了一種解決方案,滿足了虛擬戰(zhàn)場(chǎng)建設(shè)的需要。
2姿態(tài)更新算法
Miller R B[3]提出了三子樣優(yōu)化算法,大大改進(jìn)了錐運(yùn)動(dòng)環(huán)境中算法的性能。Lee J G等[4]提出四子樣算法,在高頻錐運(yùn)動(dòng)中的性能優(yōu)于三子樣算法。Yeon F J[5]提出了改進(jìn)的捷聯(lián)慣導(dǎo)姿態(tài)更新算法,該方法的估計(jì)誤差至少減少兩個(gè)數(shù)量級(jí),同時(shí)降低了計(jì)算量。Savage P G[6~7]給出了現(xiàn)今捷聯(lián)慣導(dǎo)系統(tǒng)中所使用的綜合設(shè)計(jì)方法。Limanovich Y A[8]提出了與Savage P G給出的速度和位置算法不同的兩種捷聯(lián)導(dǎo)航算法。
四元數(shù)法和等效旋轉(zhuǎn)矢量法為目前常用的姿態(tài)更新算法。但四元數(shù)算法對(duì)有限轉(zhuǎn)動(dòng)引起的不可交換誤差的補(bǔ)償程度不夠,所以只適用于低動(dòng)態(tài)運(yùn)載體的姿態(tài)解算。對(duì)于高動(dòng)態(tài)運(yùn)載體,四元數(shù)姿態(tài)解算中的算法漂移十分嚴(yán)重。等效旋轉(zhuǎn)矢量算法可以采用多子樣算法來(lái)實(shí)現(xiàn)對(duì)不可交換誤差的有效補(bǔ)償,并且可通過(guò)對(duì)系數(shù)的優(yōu)化處理使算法漂移在相同子樣算法中達(dá)到最小,因而特別適用于用于飛機(jī)等高動(dòng)態(tài)、大機(jī)動(dòng)載體的姿態(tài)更新。
由文獻(xiàn)[1]推導(dǎo)的旋轉(zhuǎn)矢量與姿態(tài)四元數(shù)的關(guān)系,可得:
Q(tk+1)=Qtk?q(h)
(1)
式中,?表示四元數(shù)乘法運(yùn)算。
(2)
Φ為等效旋轉(zhuǎn)矢量,|Φ|為Φ的模;q(h)稱(chēng)為[tk,tk+1]時(shí)間段內(nèi)的姿態(tài)變化四元數(shù)。工程上常用的等效旋轉(zhuǎn)矢量Φ近似的微分方程為[1]
(3)
將運(yùn)載體的角速度用拋物線進(jìn)行擬合,得出旋轉(zhuǎn)矢量的三子樣算法[1]:
(4)
(5)
(6)
由式(5)、式(6)得
(7)
其中,θ∈(-90°,90°),γ=(-180°,180°),ψ∈(360°,360°)。
航向角和橫滾角的真值如表1、表2。
表1 航向角ψ的真值表
表2橫滾角γ的真值表
γ主T33γ++γ主-+-γ主-180°--γ主+180°
(8)
3仿真實(shí)體行為模型的實(shí)現(xiàn)
3.1基于參數(shù)數(shù)據(jù)庫(kù)的實(shí)體模型
實(shí)體模型的描述采用基于實(shí)體參數(shù)數(shù)據(jù)庫(kù)(Entity Parameters Database,EPD)的形式,如圖1所示[2]。EPD由實(shí)體參數(shù)表(Entity Parameters Table,EPT)構(gòu)成,EPT以結(jié)構(gòu)化的語(yǔ)言描述實(shí)體的實(shí)例化信息,對(duì)實(shí)體的組成構(gòu)件、內(nèi)部交互關(guān)系、外部接口等進(jìn)行定制。靜態(tài)類(lèi)庫(kù)(Class Library)提供創(chuàng)建實(shí)體及其構(gòu)件的模版。實(shí)體及其構(gòu)件的構(gòu)造基于抽象工廠模式(Abstract Factory),一種對(duì)象類(lèi)型相當(dāng)于一種“產(chǎn)品”,對(duì)應(yīng)有一種“工廠”提供創(chuàng)建服務(wù)[10]。在實(shí)體的構(gòu)造過(guò)程中,劇情給出需求、靜態(tài)類(lèi)庫(kù)提供資源、實(shí)體參數(shù)數(shù)據(jù)庫(kù)提出要求、工廠負(fù)責(zé)具體實(shí)施。
圖1 基于參數(shù)數(shù)據(jù)庫(kù)的實(shí)體構(gòu)造模型
3.2行為模型組件的類(lèi)結(jié)構(gòu)
將仿真行為模型對(duì)應(yīng)的控制器組件命名為DecisionMaking,在態(tài)勢(shì)生成軟件中所有與固定翼飛機(jī)機(jī)動(dòng)相關(guān)的控制器均由DtFixedWingPilotController派生,因此新創(chuàng)建DtDecisionMaking類(lèi)也將該類(lèi)作為父類(lèi)。
決策行為控制器類(lèi)的結(jié)構(gòu)定義為:
class DtDecisionMaking : public DtFixedWingPilotController
{public:
//構(gòu)造函數(shù)
DtDtDecisionMaking(constDtString&name,DtVrfObject*owner,DtSimManager*simManager,DtComponentDescriptor*desc=NULL,DtReaderWriterRegistry* const parentRegistry = 0);
//析構(gòu)函數(shù)
virtual ~ DtDtDecisionMaking ();
//仿真推進(jìn)
virtual void tick();
//在creator()成員函數(shù)中返回派生組件的新的實(shí)例,并用組件工廠注冊(cè)
static DtSimComponent* creator(const DtString& name, DtVrfObject*
owner,DtSimManager*simManager,DtComponentDescriptor*desc,DtReaderWriterRegistry* parentRegistry);
protected:
//創(chuàng)建端口
virtual bool createPorts();
};
DtDecisionMaking類(lèi)中的成員函數(shù)type()返回"decision-making-controller"作為標(biāo)識(shí)。creator()成員函數(shù)返回派生組件的新實(shí)例,并用組件工廠注冊(cè)。成員函數(shù)setComponentDescriptor()重載基類(lèi)成員函數(shù),檢查組件設(shè)置的描述符類(lèi)型,并緩存指向新派生類(lèi)型的指針。
創(chuàng)建組件描述符和"decision-making-descriptor",需要為組件描述符實(shí)現(xiàn)與組件類(lèi)似的type()和creator()成員函數(shù),它指定了要?jiǎng)?chuàng)建的組件類(lèi)型,并提供設(shè)置參數(shù)的方式,組件通過(guò)描述符中指定的端口和端口實(shí)現(xiàn)相互連接。
3.3行為組件的加載
創(chuàng)建行為組件完畢,后端驅(qū)動(dòng)引擎將在初始化后對(duì)組件進(jìn)行加載。由只含一個(gè)主線程VRSim的仿真引擎進(jìn)行調(diào)度運(yùn)行,運(yùn)行流程如圖2所示。
圖2 VRSim運(yùn)行流程
4結(jié)語(yǔ)
本文根據(jù)慣導(dǎo)姿態(tài)更新算法和組件復(fù)用思想,利用態(tài)勢(shì)生成軟件創(chuàng)建了仿真實(shí)體行為模型,以封裝的方式進(jìn)行工程應(yīng)用,為創(chuàng)建具有一定智能性的虛擬兵力實(shí)體為建立虛擬戰(zhàn)場(chǎng)環(huán)境提供了一種解決方案。
參 考 文 獻(xiàn)
[1] 秦永元.慣性導(dǎo)航[M].北京:科學(xué)出版社,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] 王勃,潘長(zhǎng)鵬,張昀申,等.VR-Force開(kāi)發(fā)[M].北京:國(guó)防工業(yè)出版社,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] 戴邵武,徐勝紅,史賢俊,等.慣性技術(shù)與組合導(dǎo)航[M].北京:兵器工業(yè)出版社,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] 溫瑋,何友,李牧.基于參數(shù)數(shù)據(jù)庫(kù)的CGF實(shí)體框架結(jié)構(gòu)研究[J].系統(tǒng)仿真學(xué)報(bào),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日
作者簡(jiǎn)介:張昀申,男,碩士,工程師,研究方向:組合導(dǎo)航。
中圖分類(lèi)號(hào)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