專利名稱:一種同步控制多架飛機(jī)的仿真方法
技術(shù)領(lǐng)域:
本發(fā)明屬于軍用仿真技術(shù)領(lǐng)域,來源于“計(jì)算機(jī)生成兵力”的工程實(shí)踐。
背景技術(shù):
本發(fā)明可以實(shí)現(xiàn)多個(gè)飛機(jī)模型在計(jì)算機(jī)中進(jìn)行“同步”解算和仿真,其技術(shù)既可以 應(yīng)用于軍用仿真領(lǐng)域,也可應(yīng)用于民用仿真領(lǐng)域。傳統(tǒng)的飛機(jī)同步控制方法只是讓多個(gè)飛機(jī)模型在計(jì)算機(jī)中和用戶程序“依次”進(jìn) 行交互,然而,在飛機(jī)模型的每個(gè)解算周期內(nèi)并不能保證這種“依次性”。因?yàn)槊總€(gè)飛機(jī)模型在計(jì)算機(jī)中以“進(jìn)程”的形式出現(xiàn),進(jìn)程的執(zhí)行要被操作系統(tǒng)多 次調(diào)用、多次分配“時(shí)間片”,尤其是基于飛機(jī)模型的這種復(fù)雜的操作系統(tǒng)進(jìn)程。我們把飛機(jī) 模型被操作系統(tǒng)多次調(diào)用、多次分配“時(shí)間片”的特性稱為“飛機(jī)模型的逐步迭代解算”。飛 機(jī)模型被操作系統(tǒng)調(diào)度后,都要進(jìn)行一次迭代解算,并且飛機(jī)模型每一次迭代解算的結(jié)果 都要和用戶程序進(jìn)行交互。然而,多個(gè)“飛機(jī)模型進(jìn)程”在計(jì)算機(jī)中被操作系統(tǒng)調(diào)度的時(shí)機(jī) 并不是確定的,它們的調(diào)度要根據(jù)系統(tǒng)資源的使用情況由操作系統(tǒng)“臨時(shí)決定”。這樣,多個(gè) “飛機(jī)模型進(jìn)程”被操作系統(tǒng)調(diào)度的這種特性就不能保證飛機(jī)模型執(zhí)行的“依次性”。因此,傳統(tǒng)的飛機(jī)同步控制方法就存在飛機(jī)運(yùn)動(dòng)軌跡的來回顛簸、仿真顯示系統(tǒng) 的反復(fù)“抖動(dòng)”,進(jìn)而出現(xiàn)違反常理的飛行行為表現(xiàn)等。本發(fā)明來源于計(jì)算機(jī)生成兵力的工程實(shí)踐,涉及到飛機(jī)的“編隊(duì)飛行”仿真。提出 了一種同步控制多架飛機(jī)的仿真方法,有效地解決了飛機(jī)模型在計(jì)算機(jī)中執(zhí)行的顛簸問題 和違反常理的飛行行為表現(xiàn)問題?!熬庩?duì)飛行”仿真,例如雙機(jī)“編隊(duì)飛行”仿真,是指用計(jì)算機(jī)模擬兩架或兩架以上 的飛機(jī)組成一定的隊(duì)形進(jìn)行飛行。每一架飛機(jī)用一個(gè)動(dòng)力學(xué)方程來表示,稱為飛機(jī)模型。飛 機(jī)模型在計(jì)算機(jī)中以進(jìn)程的形式存在,因此,多架飛機(jī)的“編隊(duì)飛行”就是一個(gè)“多進(jìn)程同步 運(yùn)行并相互通信”的問題。編隊(duì)飛行的隊(duì)形包括楔形隊(duì)形、梯形隊(duì)形、縱隊(duì)、橫隊(duì)、箭形隊(duì)形、蛇形隊(duì)形等。另 外,根據(jù)各機(jī)之間間隔和距離的大小,這些隊(duì)形還可以分為疏開隊(duì)形和密集隊(duì)形。在編隊(duì)飛行中,各架飛機(jī)之間必須保持規(guī)定的距離、間隔和高度差,并且每個(gè)編隊(duì) 必須指定編隊(duì)長機(jī)和僚機(jī)。長機(jī)是編隊(duì)飛行中擔(dān)當(dāng)率領(lǐng)和指揮機(jī)群任務(wù)的飛機(jī),也叫主機(jī)。 僚機(jī)是編隊(duì)飛行中跟隨長機(jī)、接受和執(zhí)行長機(jī)指令的飛機(jī)。長機(jī)一般由有經(jīng)驗(yàn)的飛行員擔(dān) 當(dāng),僚機(jī)通常由普通的飛行員駕駛。長機(jī)主動(dòng)發(fā)起攻擊,僚機(jī)負(fù)責(zé)掩護(hù)長機(jī)并進(jìn)行側(cè)攻。編隊(duì)飛行仿真的基本問題是如何保持規(guī)定的隊(duì)形并充分發(fā)揮飛機(jī)的整體性能。在 編隊(duì)飛行仿真中,每架飛機(jī)用一個(gè)動(dòng)力學(xué)方程來表示。這是因?yàn)?,飛機(jī)是一個(gè)復(fù)雜系統(tǒng),該 系統(tǒng)的各個(gè)輸入、輸出變量之間緊密地偶合在一起,所以,為了處理的方便就用一個(gè)動(dòng)力學(xué) 系統(tǒng)來表示。多架飛機(jī)的編隊(duì)飛行仿真是一個(gè)在計(jì)算機(jī)中解算多個(gè)動(dòng)力學(xué)方程的過程。為 了便于處理,把每個(gè)飛機(jī)代表的動(dòng)力學(xué)系統(tǒng)看成一個(gè)飛機(jī)模型,并使飛機(jī)模型在計(jì)算機(jī)中 以操作系統(tǒng)進(jìn)程的形式運(yùn)行。這樣一來,編隊(duì)飛行仿真就變成了一個(gè)執(zhí)行多個(gè)操作系統(tǒng)進(jìn)程并使之同步和協(xié)調(diào)的問題。需要注意的是,這種飛機(jī)模型進(jìn)程不同于一般意義上的操作系統(tǒng)進(jìn)程(1)每一 個(gè)飛機(jī)模型進(jìn)程都很復(fù)雜,而一般的操作系統(tǒng)進(jìn)程既可以很簡單也可以很復(fù)雜;(2)飛機(jī) 模型進(jìn)程的執(zhí)行時(shí)間都較長,它們一般不會(huì)在一個(gè)或幾個(gè)時(shí)間片內(nèi)執(zhí)行完;C3)飛機(jī)模型 進(jìn)程具有明顯的物理意義,代表著一個(gè)飛機(jī);(4)飛機(jī)模型進(jìn)程的輸入和輸出變量往往緊 密耦合在一起,使得它們的解算是一個(gè)相當(dāng)復(fù)雜的過程。飛機(jī)模型進(jìn)程的這種特殊性使得我們不能完全照搬操作系統(tǒng)進(jìn)程的處理方法來 控制它們。舉例說明,現(xiàn)有A、B兩個(gè)飛機(jī)模型進(jìn)程。A、B兩個(gè)進(jìn)程在計(jì)算機(jī)中的執(zhí)行過程是 (1)首先,觸發(fā)A、B進(jìn)程運(yùn)行;(2)然后,操作系統(tǒng)根據(jù)系統(tǒng)資源的使用情況,可以“掛起”或 “中斷”A、B進(jìn)程的運(yùn)行;(3)在系統(tǒng)資源充分的情況下,操作系統(tǒng)可以重新“喚醒”或“激 活”A、B進(jìn)程的運(yùn)行;(4)A、B進(jìn)程執(zhí)行完畢,操作系統(tǒng)收回所有分配給A、B進(jìn)程的資源。因 此,只要進(jìn)程沒有執(zhí)行完就無法準(zhǔn)確知道它被調(diào)度的時(shí)機(jī)。這樣就無法保證多個(gè)飛機(jī)模型 執(zhí)行的“同步性”。也就是說,我們不能完全照搬操作系統(tǒng)進(jìn)程的處理方法來控制飛機(jī)進(jìn)程 使它們同步。進(jìn)而,在雙機(jī)編隊(duì)飛行仿真中,當(dāng)我們要控制兩架飛機(jī)模型進(jìn)行編隊(duì)仿真時(shí),如果 飛機(jī)模型進(jìn)程的解算結(jié)果不同步就會(huì)給我們的反饋控制系統(tǒng)帶來極大的“干擾”,會(huì)造成受 控對象輸出的不穩(wěn)定、受控對象運(yùn)行軌跡的顛簸,并造成仿真顯示系統(tǒng)產(chǎn)生“抖動(dòng)”和違反 常理的行為表現(xiàn)。因此,我們提出了一種同步控制多架飛機(jī)的仿真方法來解決這個(gè)問題。本方法主 要用于飛機(jī)的編隊(duì)飛行仿真中。本方法具有以下優(yōu)點(diǎn)(1)可以較好地保證飛機(jī)模型進(jìn)程 在計(jì)算機(jī)中執(zhí)行的同步性;(2)具有較高的仿真精度;C3)仿真的實(shí)時(shí)性強(qiáng)。(4)本方法符 合“高層體系結(jié)構(gòu)仿真規(guī)范”具有較好的可擴(kuò)展性。本方法對于飛行員模擬訓(xùn)練、大規(guī)模電 力系統(tǒng)仿真、大規(guī)模軍用實(shí)時(shí)仿真、大規(guī)模人群運(yùn)動(dòng)仿真具有重要的意義。
發(fā)明內(nèi)容
本發(fā)明公開了一種同步控制多架飛機(jī)的仿真方法,來源于“計(jì)算機(jī)生成兵力”的工 程實(shí)踐。該方法對于飛行員模擬訓(xùn)練、大規(guī)模電力系統(tǒng)仿真、大規(guī)模軍用實(shí)時(shí)仿真、大規(guī)模 人群運(yùn)動(dòng)仿真等具有重要的參考價(jià)值。在本發(fā)明中“飛機(jī)模型”是指飛機(jī)的動(dòng)力學(xué)模型。它是在分析“某型號(hào)飛機(jī)”動(dòng)力學(xué)和運(yùn)動(dòng)學(xué) 特性的基礎(chǔ)上,結(jié)合飛機(jī)的質(zhì)量、慣量和重心計(jì)算公式、發(fā)動(dòng)機(jī)模型、大氣環(huán)境和風(fēng)模型、多 普勒雷達(dá)模型、簡化的空空導(dǎo)彈模型等得到的?!巴娇刂啤笔侵笇ⅰ帮w機(jī)模型”以“特殊的操作系統(tǒng)進(jìn)程”的形式表達(dá)以后,對它 們進(jìn)行的管理和操作。這種管理和操作要滿足基于該“飛機(jī)模型”的軍用仿真的需要。本發(fā)明的實(shí)質(zhì)就是針對現(xiàn)有的軍用仿真方法不支持“特殊的操作系統(tǒng)進(jìn)程”在計(jì) 算機(jī)中的“同步運(yùn)行”,提出了改進(jìn)的方法。改進(jìn)的方法比原有的方法有顯著的提高。下面具體介紹本發(fā)明的內(nèi)容。本方法涉及的飛機(jī)模型由三部分組成,即“輸入向量組”、“輸出向量組”和“解算主體”。其中,“輸入向量組”是指飛機(jī)模型所涉及到的所有輸入向量。例如,升降舵偏角度數(shù)、飛 機(jī)副翼偏角度數(shù)、方向舵偏角度數(shù)、油門桿開度、剎車手柄狀態(tài)、飛機(jī)起落架收放開關(guān)狀態(tài)、 減速板收放開關(guān)狀態(tài)、飛機(jī)襟翼收放開關(guān)狀態(tài)等?!拜敵鱿蛄拷M”是指飛機(jī)模型所涉及到的所有輸出向量。例如,飛機(jī)的位置(x、y和 ζ坐標(biāo))、飛機(jī)的姿態(tài)(俯仰、滾轉(zhuǎn)和偏航)、飛機(jī)的迎角量、飛機(jī)的側(cè)滑量、飛機(jī)的速度、飛機(jī) 的加速度、飛機(jī)發(fā)動(dòng)機(jī)的轉(zhuǎn)速等?!敖馑阒黧w”是指飛機(jī)模型的解算結(jié)構(gòu)。它由一組微分方程組成,反映了飛機(jī)的動(dòng) 力學(xué)特性。“解算主體”的運(yùn)行是一個(gè)微分方程的解算過程,同時(shí)也是一個(gè)反饋迭代的動(dòng)態(tài) 過程,它根據(jù)飛機(jī)當(dāng)前的狀態(tài),用“輸入向量組”的值去控制飛機(jī),使之產(chǎn)生的“輸出向量組” 的值達(dá)到預(yù)定的飛行效果。同步控制多架飛機(jī)的方法涉及到如前所述的“特殊的操作系統(tǒng)進(jìn)程”。在我們的方法中,把飛機(jī)模型被看作一種“特殊的操作系統(tǒng)進(jìn)程”。這樣,飛機(jī)模型 的輸入就對應(yīng)著操作系統(tǒng)進(jìn)程的輸入,飛機(jī)模型的輸出就對應(yīng)著操作系統(tǒng)進(jìn)程的輸出,飛 機(jī)模型的解算就對應(yīng)著操作系統(tǒng)進(jìn)程的運(yùn)行。但是,這種特殊的操作系統(tǒng)進(jìn)程卻有別于通常意義上的操作系統(tǒng)進(jìn)程。這是因?yàn)椋?我們這里構(gòu)建的操作系統(tǒng)進(jìn)程是基于飛機(jī)模型的“操作系統(tǒng)進(jìn)程”。具體說來,(1)基于飛 機(jī)模型的“操作系統(tǒng)進(jìn)程”復(fù)雜性更大;(2)基于飛機(jī)模型的“操作系統(tǒng)進(jìn)程”執(zhí)行時(shí)間較 長,它們一般不會(huì)在一個(gè)或有限的幾個(gè)“時(shí)間片”內(nèi)執(zhí)行完;⑶基于飛機(jī)模型的“操作系統(tǒng) 進(jìn)程”具有較明顯的物理意義,它們代表著一個(gè)飛機(jī)“實(shí)體”;(4)基于飛機(jī)模型的“操作系 統(tǒng)進(jìn)程”的輸入和輸出向量往往緊密地耦合在一起,使得它們的解算過程是一個(gè)逐步迭代 的過程。下面進(jìn)一步列表比較“基于飛機(jī)模型的操作系統(tǒng)進(jìn)程”和“普通操作系統(tǒng)進(jìn)程”的 區(qū)別。表1 “基于飛機(jī)模型的操作系統(tǒng)進(jìn)程”和“普通操作系統(tǒng)進(jìn)程”的比較
權(quán)利要求
1.一種同步控制多架飛機(jī)的仿真方法,改進(jìn)了傳統(tǒng)的“飛機(jī)同步控制”仿真方法,其特 征在于利用RTX信號(hào)量對多個(gè)飛機(jī)模型進(jìn)行“互斥”操作,利用RTX定時(shí)器對仿真步長進(jìn) 行控制,利用RTX體系結(jié)構(gòu)對仿真系統(tǒng)進(jìn)行部署;該方法由飛機(jī)模型[1]、RTX信號(hào)量[2]、 共享內(nèi)存[3]和用戶程序[4]共計(jì)四個(gè)部分組成,對各部分具體描述如下飛機(jī)模型[1]它包括“輸入向量組” [5]、“輸出向量組” [6]和“解算主體” [7];其功 能為,從用戶程序[4]獲得“輸入向量組” [5]的最新值,再通過“解算主體” [7]的解算,最 后產(chǎn)生“輸出向量組” [6]的當(dāng)前值;RTX信號(hào)量[2]是保障進(jìn)程之間同步執(zhí)行的一種機(jī)制;在本發(fā)明中用于多個(gè)飛機(jī)模型 之間進(jìn)行同步控制;共享內(nèi)存[3]是在計(jì)算機(jī)中開辟的一段“特殊的內(nèi)存”,用于在飛機(jī)模型[1]和用戶程 序[4]之間進(jìn)行實(shí)時(shí)通信;用戶程序[4]是“同步控制多架飛機(jī)仿真”的總控制臺(tái);用戶程序[4]通過共享內(nèi)存[3]從飛機(jī)模型[1]獲得飛機(jī)的當(dāng)前狀態(tài),同理,通過共享內(nèi)存[3]向飛機(jī)模型[1]傳送控 制向量。
2.根據(jù)權(quán)利要求1所述的一種同步控制多架飛機(jī)的仿真方法,其特征在于飛機(jī)模 型[1]依照RTX體系結(jié)構(gòu)進(jìn)行構(gòu)建,包括“輸入向量組” [5]、“輸出向量組” [6]和“解算主 體” [7];它描述了一個(gè)飛機(jī)的所有特征,包括質(zhì)量和慣量計(jì)算系統(tǒng)、發(fā)動(dòng)機(jī)系統(tǒng)、多普勒雷 達(dá)系統(tǒng)、武器系統(tǒng)、燃油系統(tǒng)等;它是一個(gè)基于“飛行動(dòng)力學(xué)”的仿真系統(tǒng),在每一個(gè)仿真周 期中都能夠自行進(jìn)行一次解算;其中,各組成部分的特征如下“輸入向量組”[5]是飛機(jī)模型[1]涉及到的所有輸入量的組合,包括升降舵偏角度數(shù)、 飛機(jī)副翼偏角度數(shù)、方向舵偏角度數(shù)、油門桿開度、剎車手柄狀態(tài)、飛機(jī)起落架收放開關(guān)狀 態(tài)、減速板收放開關(guān)狀態(tài)、飛機(jī)襟翼收放開關(guān)狀態(tài)等;“輸出向量組”[6]是飛機(jī)模型[1]涉及到的所有輸出量的組合,包括飛機(jī)的位置、飛機(jī) 的姿態(tài)、飛機(jī)的迎角量、飛機(jī)的側(cè)滑量、飛機(jī)的速度、飛機(jī)的加速度、飛機(jī)發(fā)動(dòng)機(jī)的轉(zhuǎn)速等;“解算主體”[7]是飛機(jī)模型[1]的解算結(jié)構(gòu),由一組微分方程組成;它根據(jù)飛機(jī)當(dāng)前的 狀態(tài),用“輸入向量組”的值[5]去控制飛機(jī),使之產(chǎn)生“輸出向量組” [6]的值,以期達(dá)到預(yù) 定的飛行效果;它反映了飛機(jī)的動(dòng)力學(xué)特性,是一個(gè)反饋迭代的動(dòng)態(tài)過程。
3.根據(jù)權(quán)利要求1所述的一種同步控制多架飛機(jī)的仿真方法,其特征在于利用RTX 信號(hào)量[2]對多個(gè)飛機(jī)模型[1]進(jìn)行“互斥”;RTX信號(hào)量[2]克服了微軟Windows平臺(tái)“線 程模型”和“線程調(diào)度機(jī)制”帶來的“進(jìn)程可侵占”問題;飛機(jī)模型[1]作為一種“特殊的操 作系統(tǒng)進(jìn)程”通過RTX信號(hào)量機(jī)制使它們嚴(yán)格地按順序“依次”被響應(yīng),從而保證了飛機(jī)模 型[1]的同步。
4.根據(jù)權(quán)利要求1所述的一種同步控制多架飛機(jī)的仿真方法,其特征在于利用了共 享內(nèi)存[3],在操作系統(tǒng)進(jìn)程之間快速交換數(shù)據(jù);共享內(nèi)存[3]是在計(jì)算機(jī)中開辟的一段 “特殊的內(nèi)存”,用于在飛機(jī)模型[1]和用戶程序[4]之間進(jìn)行數(shù)據(jù)交換;共享內(nèi)存[3]保證 了飛機(jī)模型[1]和用戶程序[4]之間通信的實(shí)時(shí)性。
5.根據(jù)權(quán)利要求1所述的一種同步控制多架飛機(jī)的仿真方法,其特征在于用戶程序[4]負(fù)責(zé)通過共享內(nèi)存[3]從飛機(jī)模型[1]獲得飛行狀態(tài),同時(shí)通過共享內(nèi)存[3]向飛機(jī)模 型[1]輸送控制向量;用戶程序[4]是整個(gè)系統(tǒng)的總控制臺(tái);用戶程序[4]還要負(fù)責(zé)“同步控制多架飛機(jī)仿真”的可視化顯示和實(shí)驗(yàn)結(jié)果的收集。
6.根據(jù)權(quán)利要求1所述的一種同步控制多架飛機(jī)的仿真方法,其特征在于利用了 RTX 定時(shí)器[8],其仿真效果符合實(shí)時(shí)仿真的要求;RTX定時(shí)器[8]的分辨率為100納秒,最低定 時(shí)器周期為100微秒,計(jì)時(shí)誤差小于10微秒。
全文摘要
本發(fā)明公開了一種同步控制多架飛機(jī)的仿真方法,屬于軍用仿真技術(shù)領(lǐng)域。該方法改進(jìn)了傳統(tǒng)的“飛機(jī)同步控制”仿真方法,提出了基于“RTX信號(hào)量的多架飛機(jī)同步控制”方法,使得多架飛機(jī)在計(jì)算機(jī)中同步仿真的精度得到了提高。該方法具有實(shí)時(shí)性強(qiáng)、仿真精度高、擴(kuò)展性好等優(yōu)點(diǎn)。該方法涉及飛機(jī)模型、RTX信號(hào)量、共享內(nèi)存和用戶程序四個(gè)部分的交互。該方法主要應(yīng)用于工業(yè)仿真領(lǐng)域,對于飛行員模擬訓(xùn)練、大規(guī)模電力系統(tǒng)仿真、大規(guī)模軍用實(shí)時(shí)仿真、大規(guī)模人群運(yùn)動(dòng)仿真等具有重要的意義。
文檔編號(hào)G05B17/02GK102122136SQ20101060558
公開日2011年7月13日 申請日期2010年12月23日 優(yōu)先權(quán)日2010年12月23日
發(fā)明者尹云飛 申請人:重慶大學(xué)